From 8dadce5c4cc9564cfeb49f42ec83fd1727c9ccdb Mon Sep 17 00:00:00 2001 From: Solomon Peachy Date: Sun, 30 Aug 2020 21:24:36 -0400 Subject: jz4760: Explicitly disable UARTs at startup (Bootloader uses UART1, and leaves it running when it hands it off to us) Change-Id: Icde1d713574582f18e9f91b5c95f3917fe324b74 --- firmware/target/mips/ingenic_jz47xx/system-jz4760.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'firmware/target/mips/ingenic_jz47xx/system-jz4760.c') diff --git a/firmware/target/mips/ingenic_jz47xx/system-jz4760.c b/firmware/target/mips/ingenic_jz47xx/system-jz4760.c index 4489212ccc..a8e40e4e31 100644 --- a/firmware/target/mips/ingenic_jz47xx/system-jz4760.c +++ b/firmware/target/mips/ingenic_jz47xx/system-jz4760.c @@ -29,6 +29,9 @@ #include "power.h" //#define USE_HW_UDELAY // This is BROKEN. +#ifdef BOOTLOADER +#define WITH_SERIAL +#endif static int irq; static void UIRQ(void) @@ -535,6 +538,7 @@ void pll1_disable(void) REG_CPM_CPPCR1 &= ~CPPCR1_PLL1EN; } +#ifdef WITH_SERIAL static void serial_setbrg(void) { volatile u8 *uart_lcr = (volatile u8 *)(CFG_UART_BASE + OFF_LCR); @@ -589,6 +593,7 @@ int serial_preinit(void) return 0; } +#endif #ifndef HAVE_ADJUSTABLE_CPU_FREQ #define cpu_frequency CPU_FREQ @@ -698,7 +703,14 @@ void ICODE_ATTR system_main(void) pll0_init(CPUFREQ_DEFAULT); // PLL0 drives everything but audio pll1_disable(); // Leave PLL1 disabled until audio needs it + /* Make sure UARTs are off */ + __cpm_stop_uart0(); + __cpm_stop_uart1(); + __cpm_stop_uart2(); +#ifdef WITH_SERIAL serial_preinit(); +#endif + usb_preinit(); dma_preinit(); -- cgit v1.2.3