From 69be25f5d1e83ee279cc286e67ace024a2a30665 Mon Sep 17 00:00:00 2001 From: Petr Stetiar Date: Thu, 6 Sep 2007 08:16:40 +0000 Subject: linux: add ts72xx support to 2.6.22.6 and 2.6.22+2.6.23-rc5 (see version policy for the renaming reason), closes #2918 --- .../ts72xx/ep93xx-serial-clocks.diff | 42 ++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 packages/linux/linux-2.6.22.6/ts72xx/ep93xx-serial-clocks.diff (limited to 'packages/linux/linux-2.6.22.6/ts72xx/ep93xx-serial-clocks.diff') diff --git a/packages/linux/linux-2.6.22.6/ts72xx/ep93xx-serial-clocks.diff b/packages/linux/linux-2.6.22.6/ts72xx/ep93xx-serial-clocks.diff new file mode 100644 index 0000000000..9eb2d9de98 --- /dev/null +++ b/packages/linux/linux-2.6.22.6/ts72xx/ep93xx-serial-clocks.diff @@ -0,0 +1,42 @@ + +Hackishly enable all UART clocks before uncompressing the kernel, +so that using ttyAM1 or ttyAM2 as console can work. + +Signed-off-by: Lennert Buytenhek + +Index: linux-2.6.22/include/asm-arm/arch-ep93xx/uncompress.h +=================================================================== +--- linux-2.6.22.orig/include/asm-arm/arch-ep93xx/uncompress.h ++++ linux-2.6.22/include/asm-arm/arch-ep93xx/uncompress.h +@@ -78,6 +78,23 @@ static void ethernet_reset(void) + + + /* ++ * We don't have clock management for the UARTs (amba-pl010) ++ * yet, so hackily enable all UART clocks here for now. ++ */ ++#define PHYS_SYSCON_DEVICE_CONFIG 0x80930080 ++#define PHYS_SYSCON_SWLOCK 0x809300c0 ++ ++static void enable_all_uart_clocks(void) ++{ ++ unsigned int v; ++ ++ v = __raw_readl(PHYS_SYSCON_DEVICE_CONFIG); ++ __raw_writel(0xaa, PHYS_SYSCON_SWLOCK); ++ __raw_writel(v | 0x01140000, PHYS_SYSCON_DEVICE_CONFIG); ++} ++ ++ ++/* + * Some bootloaders don't turn on the UARTBAUD bit, which means that + * the UARTs will be running off a divided 7.3728 MHz clock instead of + * the 14.7456 MHz peripheral clock when linux boots. +@@ -126,6 +143,7 @@ static void fix_uart_base(void) + static void arch_decomp_setup(void) + { + ethernet_reset(); ++ enable_all_uart_clocks(); + fix_uart_base(); + } + -- cgit v1.2.3