summaryrefslogtreecommitdiff
path: root/firmware/target
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target')
-rw-r--r--firmware/target/mips/ingenic_x1000/boot-x1000.c13
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