diff options
Diffstat (limited to 'firmware/target/mips/ingenic_x1000')
-rw-r--r-- | firmware/target/mips/ingenic_x1000/boot-x1000.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/firmware/target/mips/ingenic_x1000/boot-x1000.c b/firmware/target/mips/ingenic_x1000/boot-x1000.c index c8e97b4d6a..f59ec5c4ea 100644 --- a/firmware/target/mips/ingenic_x1000/boot-x1000.c +++ b/firmware/target/mips/ingenic_x1000/boot-x1000.c | |||
@@ -20,6 +20,7 @@ | |||
20 | ****************************************************************************/ | 20 | ****************************************************************************/ |
21 | 21 | ||
22 | #include "system.h" | 22 | #include "system.h" |
23 | #include "usb.h" | ||
23 | #include "boot-x1000.h" | 24 | #include "boot-x1000.h" |
24 | #include "nand-x1000.h" | 25 | #include "nand-x1000.h" |
25 | #include "gpio-x1000.h" | 26 | #include "gpio-x1000.h" |
@@ -113,6 +114,14 @@ void x1000_boot_linux(const void* source, size_t length, | |||
113 | { | 114 | { |
114 | size_t args_len = strlen(args); | 115 | size_t args_len = strlen(args); |
115 | 116 | ||
117 | /* Shut off USB to avoid "irq 21 nobody cared" error */ | ||
118 | usb_close(); | ||
119 | usb_enable(false); | ||
120 | |||
121 | /* clear USB PHY voodoo bits, not all kernels use them */ | ||
122 | jz_writef(CPM_OPCR, GATE_USBPHY_CLK(0)); | ||
123 | jz_writef(CPM_USBCDR, PHY_GATE(0)); | ||
124 | |||
116 | disable_irq(); | 125 | disable_irq(); |
117 | 126 | ||
118 | /* --- Beyond this point, do not call into DRAM --- */ | 127 | /* --- Beyond this point, do not call into DRAM --- */ |
@@ -151,10 +160,6 @@ void x1000_dualboot_cleanup(void) | |||
151 | jz_writef(LCD_CTRL, BEDN(0), EOFM(0), SOFM(0), IFUM(0), QDM(0)); | 160 | jz_writef(LCD_CTRL, BEDN(0), EOFM(0), SOFM(0), IFUM(0), QDM(0)); |
152 | jz_writef(CPM_CLKGR, LCD(1)); | 161 | jz_writef(CPM_CLKGR, LCD(1)); |
153 | 162 | ||
154 | /* clear USB PHY voodoo bits, not all kernels use them */ | ||
155 | jz_writef(CPM_OPCR, GATE_USBPHY_CLK(0)); | ||
156 | jz_writef(CPM_USBCDR, PHY_GATE(0)); | ||
157 | |||
158 | #if defined(FIIO_M3K) || defined(EROS_QN) | 163 | #if defined(FIIO_M3K) || defined(EROS_QN) |
159 | /* | 164 | /* |
160 | * Need to bring up MPLL before booting Linux | 165 | * Need to bring up MPLL before booting Linux |