[lantiq] bump kernel to 3.2.12
[openwrt.git] / target / linux / lantiq / patches-3.2 / 0032-MIPS-lantiq-convert-falcon-debug-uart-to-clkdev-api.patch
diff --git a/target/linux/lantiq/patches-3.2/0032-MIPS-lantiq-convert-falcon-debug-uart-to-clkdev-api.patch b/target/linux/lantiq/patches-3.2/0032-MIPS-lantiq-convert-falcon-debug-uart-to-clkdev-api.patch
new file mode 100644 (file)
index 0000000..e13f951
--- /dev/null
@@ -0,0 +1,73 @@
+From 005044f41ed9884ee23d756a5950e38679d31cc7 Mon Sep 17 00:00:00 2001
+From: John Crispin <blogic@openwrt.org>
+Date: Tue, 21 Feb 2012 14:25:21 +0100
+Subject: [PATCH 32/70] MIPS: lantiq: convert falcon debug uart to clkdev api
+
+On Falcon SoCs we have a secondary serial port that can be used to help
+debug the voice core. For the port to work several clocking bits need to
+be activated. We convert the code to clkdev api.
+
+Signed-off-by: John Crispin <blogic@openwrt.org>
+---
+ arch/mips/lantiq/falcon/prom.c |    4 +---
+ drivers/tty/serial/lantiq.c    |    7 ++++---
+ 2 files changed, 5 insertions(+), 6 deletions(-)
+
+diff --git a/arch/mips/lantiq/falcon/prom.c b/arch/mips/lantiq/falcon/prom.c
+index f98b389..2a4eea1 100644
+--- a/arch/mips/lantiq/falcon/prom.c
++++ b/arch/mips/lantiq/falcon/prom.c
+@@ -43,10 +43,8 @@ ltq_soc_setup(void)
+       ltq_register_asc(0);
+       ltq_register_wdt();
+       falcon_register_gpio();
+-      if (register_asc1) {
++      if (register_asc1)
+               ltq_register_asc(1);
+-              ltq_sysctl_activate(SYSCTL_SYS1, ACTS_ASC1_ACT);
+-      }
+ }
+ void __init
+diff --git a/drivers/tty/serial/lantiq.c b/drivers/tty/serial/lantiq.c
+index 1542ad6..82956de 100644
+--- a/drivers/tty/serial/lantiq.c
++++ b/drivers/tty/serial/lantiq.c
+@@ -117,6 +117,7 @@ static DEFINE_SPINLOCK(ltq_asc_lock);
+ struct ltq_uart_port {
+       struct uart_port        port;
++      struct clk              *fpiclk;
+       struct clk              *clk;
+       unsigned int            tx_irq;
+       unsigned int            rx_irq;
+@@ -319,7 +320,7 @@ lqasc_startup(struct uart_port *port)
+       struct ltq_uart_port *ltq_port = to_ltq_uart_port(port);
+       int retval;
+-      port->uartclk = clk_get_rate(ltq_port->clk);
++      port->uartclk = clk_get_rate(ltq_port->fpiclk);
+       ltq_w32_mask(ASCCLC_DISS | ASCCLC_RMCMASK, (1 << ASCCLC_RMCOFFSET),
+               port->membase + LTQ_ASC_CLC);
+@@ -646,7 +647,7 @@ lqasc_console_setup(struct console *co, char *options)
+       port = &ltq_port->port;
+-      port->uartclk = clk_get_rate(ltq_port->clk);
++      port->uartclk = clk_get_rate(ltq_port->fpiclk);
+       if (options)
+               uart_parse_options(options, &baud, &parity, &bits, &flow);
+@@ -731,7 +732,7 @@ lqasc_probe(struct platform_device *pdev)
+       port->irq       = tx_irq; /* unused, just to be backward-compatibe */
+       port->mapbase   = mmres->start;
+-      ltq_port->clk   = clk;
++      ltq_port->fpiclk = clk;
+       ltq_port->tx_irq = tx_irq;
+       ltq_port->rx_irq = rx_irq;
+-- 
+1.7.7.1
+
This page took 0.026182 seconds and 4 git commands to generate.