From patchwork Tue Jun 1 22:32:49 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Cory Maccarrone X-Patchwork-Id: 103658 X-Patchwork-Delegate: tony@atomide.com Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter.kernel.org (8.14.3/8.14.3) with ESMTP id o51MXAk1027735 for ; Tue, 1 Jun 2010 22:33:10 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755725Ab0FAWdJ (ORCPT ); Tue, 1 Jun 2010 18:33:09 -0400 Received: from mail-gw0-f46.google.com ([74.125.83.46]:43243 "EHLO mail-gw0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755657Ab0FAWdH (ORCPT ); Tue, 1 Jun 2010 18:33:07 -0400 Received: by gwaa12 with SMTP id a12so4065064gwa.19 for ; Tue, 01 Jun 2010 15:33:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:from:to:cc:subject:date :message-id:x-mailer:in-reply-to:references; bh=m3nYREFyVrEbhQh803NnyBkU//em35wHDqOJiMpR9V0=; b=RvXFmM3EvvyWNAafBSYfrzpPcP3mF12azkk3FVHDSs1ccnyRVeihUJ/tw6CzOq/NqW jL3V51PQ/zRJaavbPBlU1HN2R/LwqdsSio8y2x8s/Z0UdwyAFv2HyN7jYZoVpygd8NOq euZxwWFaiqIZm2kOmzP6tVZ17OUQuuzilk4/A= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:to:cc:subject:date:message-id:x-mailer:in-reply-to:references; b=ESZaq651CUCjUAw+0R7xJT8yj2HCsiF8/JUDiYNiC9/Klo7vwe/7LlEGcSHQ1IrkwU nTtlsZkXG7hHMZRkRw9sLqAoSwS+jkQZpnKqSvvS/1mC0dUfzNfbjCJMxIjvV8swcaNX BJblI2oFOdc4jmvs2m+44SYN2oW6sKtKUAbII= Received: by 10.101.158.39 with SMTP id k39mr7299110ano.203.1275431586590; Tue, 01 Jun 2010 15:33:06 -0700 (PDT) Received: from localhost (97-126-104-191.tukw.qwest.net [97.126.104.191]) by mx.google.com with ESMTPS id t28sm33279028ibg.12.2010.06.01.15.33.05 (version=TLSv1/SSLv3 cipher=RC4-MD5); Tue, 01 Jun 2010 15:33:05 -0700 (PDT) From: Cory Maccarrone To: linux-omap@vger.kernel.org Cc: linwizard-devel@lists.sf.net, Cory Maccarrone Subject: [PATCH] [omap1] omap7xx clocks, mux, serial fixes Date: Tue, 1 Jun 2010 15:32:49 -0700 Message-Id: <1275431571-28547-2-git-send-email-darkstar6262@gmail.com> X-Mailer: git-send-email 1.6.0.4 In-Reply-To: <1275431571-28547-1-git-send-email-darkstar6262@gmail.com> References: <1275431571-28547-1-git-send-email-darkstar6262@gmail.com> Sender: linux-omap-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-omap@vger.kernel.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.3 (demeter.kernel.org [140.211.167.41]); Tue, 01 Jun 2010 22:33:10 +0000 (UTC) diff --git a/arch/arm/mach-omap1/clock_data.c b/arch/arm/mach-omap1/clock_data.c index aa8558a..9240bc1 100644 --- a/arch/arm/mach-omap1/clock_data.c +++ b/arch/arm/mach-omap1/clock_data.c @@ -478,6 +478,24 @@ static struct clk usb_dc_ck7xx = { .enable_bit = 8, }; +static struct clk uart1_7xx = { + .name = "uart1_ck", + .ops = &clkops_generic, + /* Direct from ULPD, no parent */ + .rate = 12000000, + .enable_reg = OMAP1_IO_ADDRESS(SOFT_REQ_REG), + .enable_bit = 9, +}; + +static struct clk uart2_7xx = { + .name = "uart2_ck", + .ops = &clkops_generic, + /* Direct from ULPD, no parent */ + .rate = 12000000, + .enable_reg = OMAP1_IO_ADDRESS(SOFT_REQ_REG), + .enable_bit = 11, +}; + static struct clk mclk_1510 = { .name = "mclk", .ops = &clkops_generic, @@ -620,7 +638,9 @@ static struct omap_clk omap_clks[] = { /* ULPD clocks */ CLK(NULL, "uart1_ck", &uart1_1510, CK_1510 | CK_310), CLK(NULL, "uart1_ck", &uart1_16xx.clk, CK_16XX), + CLK(NULL, "uart1_ck", &uart1_7xx, CK_7XX), CLK(NULL, "uart2_ck", &uart2_ck, CK_16XX | CK_1510 | CK_310), + CLK(NULL, "uart2_ck", &uart2_7xx, CK_7XX), CLK(NULL, "uart3_ck", &uart3_1510, CK_1510 | CK_310), CLK(NULL, "uart3_ck", &uart3_16xx.clk, CK_16XX), CLK(NULL, "usb_clko", &usb_clko, CK_16XX | CK_1510 | CK_310), diff --git a/arch/arm/mach-omap1/mux.c b/arch/arm/mach-omap1/mux.c index 8434137..6a9b42f 100644 --- a/arch/arm/mach-omap1/mux.c +++ b/arch/arm/mach-omap1/mux.c @@ -70,6 +70,10 @@ MUX_CFG_7XX("SPI_7XX_3", 6, 13, 4, 12, 1, 0) MUX_CFG_7XX("SPI_7XX_4", 6, 17, 4, 16, 1, 0) MUX_CFG_7XX("SPI_7XX_5", 8, 25, 0, 24, 0, 0) MUX_CFG_7XX("SPI_7XX_6", 9, 5, 0, 4, 0, 0) + +/* UART pins */ +MUX_CFG_7XX("UART_7XX_1", 3, 21, 0, 20, 0, 0) +MUX_CFG_7XX("UART_7XX_2", 8, 1, 6, 0, 0, 0) }; #define OMAP7XX_PINS_SZ ARRAY_SIZE(omap7xx_pins) #else diff --git a/arch/arm/mach-omap1/serial.c b/arch/arm/mach-omap1/serial.c index 349de90..b78d074 100644 --- a/arch/arm/mach-omap1/serial.c +++ b/arch/arm/mach-omap1/serial.c @@ -122,6 +122,13 @@ void __init omap_serial_init(void) for (i = 0; i < ARRAY_SIZE(serial_platform_data) - 1; i++) { + /* Don't look at UARTs higher than 2 for omap7xx */ + if (cpu_is_omap7xx() && i > 1) { + serial_platform_data[i].membase = NULL; + serial_platform_data[i].mapbase = 0; + continue; + } + /* Static mapping, never released */ serial_platform_data[i].membase = ioremap(serial_platform_data[i].mapbase, SZ_2K); diff --git a/arch/arm/plat-omap/include/plat/mux.h b/arch/arm/plat-omap/include/plat/mux.h index c7472a2..82c374c 100644 --- a/arch/arm/plat-omap/include/plat/mux.h +++ b/arch/arm/plat-omap/include/plat/mux.h @@ -191,6 +191,10 @@ enum omap7xx_index { SPI_7XX_4, SPI_7XX_5, SPI_7XX_6, + + /* UART */ + UART_7XX_1, + UART_7XX_2, }; enum omap1xxx_index {