From patchwork Fri Nov 16 07:02:24 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Haojian Zhuang X-Patchwork-Id: 1753481 Return-Path: X-Original-To: patchwork-linux-arm@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork2.kernel.org Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) by patchwork2.kernel.org (Postfix) with ESMTP id 9217DDF288 for ; Fri, 16 Nov 2012 07:04:27 +0000 (UTC) Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.76 #1 (Red Hat Linux)) id 1TZFwo-0005eP-Vf; Fri, 16 Nov 2012 07:02:43 +0000 Received: from mail-da0-f49.google.com ([209.85.210.49]) by merlin.infradead.org with esmtps (Exim 4.76 #1 (Red Hat Linux)) id 1TZFwl-0005dh-Ea for linux-arm-kernel@lists.infradead.org; Fri, 16 Nov 2012 07:02:40 +0000 Received: by mail-da0-f49.google.com with SMTP id v40so33352dad.36 for ; Thu, 15 Nov 2012 23:02:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:x-mailer; bh=QjZsTwBrV0DZMy5dUW/9Vb25GcoRMSJ2j60sZLD4OJ8=; b=RzYod8joa3twUs87k2qPdHtIJNYkH9B9xGwPeSIwWdrjwsn7KpPlBuqt161uuOV9vZ 4p7MdHP2IrfPTtlC5gBpyWyJ0gQDRCPFPmEMQCssT9ygDr2e+ZO00F9BEV0yd8BdQvEE G88CF3fGf4EoafXqQbXgbW7RrmaTpUn0+Q+Gi1GHtgRtbTYyealDcKXWs77KONOCYi94 Bqh6pM8SwR0tp+OKe010av7xLBJSU2EKsRNDAHXYKnKAKWWcZRZGV+rPlCgNCxrwYcM2 VXZ1YzdfNsmYd9lSHB+Ao+RXyqsFuc861uRCVl630FFl3PmJjKxzZZSKmzBGVgKO23ru yXUQ== Received: by 10.69.3.161 with SMTP id bx1mr6188606pbd.91.1353049357533; Thu, 15 Nov 2012 23:02:37 -0800 (PST) Received: from localhost.localdomain ([140.206.88.152]) by mx.google.com with ESMTPS id pu4sm755180pbb.72.2012.11.15.23.02.31 (version=TLSv1/SSLv3 cipher=OTHER); Thu, 15 Nov 2012 23:02:36 -0800 (PST) From: Haojian Zhuang To: linus.walleij@linaro.org, tony@atomide.com, swarren@wwwdotorg.org, linux-arm-kernel@lists.infradead.org Subject: [PATCH 1/2] ARM: dts: support pinctrl single in aspenite Date: Fri, 16 Nov 2012 15:02:24 +0800 Message-Id: <1353049345-6954-1-git-send-email-haojian.zhuang@gmail.com> X-Mailer: git-send-email 1.7.10.4 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20121116_020239_673874_A8AAF3AB X-CRM114-Status: GOOD ( 11.53 ) X-Spam-Score: -2.7 (--) X-Spam-Report: SpamAssassin version 3.3.2 on merlin.infradead.org summary: Content analysis details: (-2.7 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at http://www.dnswl.org/, low trust [209.85.210.49 listed in list.dnswl.org] 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (haojian.zhuang[at]gmail.com) -0.0 SPF_PASS SPF: sender matches SPF record -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature Cc: Haojian Zhuang X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: linux-arm-kernel-bounces@lists.infradead.org Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org Support pinctrl-single driver in aspenite DTS file. Signed-off-by: Haojian Zhuang --- arch/arm/boot/dts/pxa168-aspenite.dts | 109 +++++++++++++++++++++++++++++++++ arch/arm/boot/dts/pxa168.dtsi | 109 +++++++++++++++++++++++++++++++++ 2 files changed, 218 insertions(+) diff --git a/arch/arm/boot/dts/pxa168-aspenite.dts b/arch/arm/boot/dts/pxa168-aspenite.dts index e762fac..6955242 100644 --- a/arch/arm/boot/dts/pxa168-aspenite.dts +++ b/arch/arm/boot/dts/pxa168-aspenite.dts @@ -24,7 +24,116 @@ soc { apb@d4000000 { + pmx: pinmux@d401e000 { + pinctrl-names = "default"; + pinctrl-0 = <ðer_pins>; + + ether_pins: pinmux_ether_pins { + pinctrl-single,pins = < + 0x094 0x3 /* GPIO18_SMC_nCS0 */ + 0x0a8 0x0 /* GPIO23_SMC_nLUA */ + 0x0b0 0x0 /* GPIO25_SMC_nLLA */ + 0x0b8 0x0 /* GPIO27_GPIO as irq */ + 0x0bc 0x0 /* GPIO28_SMC_RDY */ + 0x0c0 0x0 /* GPIO29_SMC_SCLK */ + 0x0d4 0x2 /* GPIO34_SMC_nCS1 */ + 0x0d8 0x2 /* GPIO35_SMC_BE1 */ + 0x0dc 0x2 /* GPIO36_SMC_BE2 */ + >; + pinctrl-single,power-source = <0x0c00 0x0c00>; + pinctrl-single,bias = <0 0xe000 0 0xa000 0xc000>; + }; + uart1_pins: pinmux_uart1_pins { + pinctrl-single,pins = < + 0x1ac 0x2 /* GPIO107_UART1_RXD */ + 0x1b0 0x2 /* GPIO108_UART1_TXD */ + >; + pinctrl-single,power-source = <0x0c00 0x0c00>; + pinctrl-single,bias = <0 0xe000 0 0xa000 0xc000>; + }; + nand_pins: pinmux_nand_pins { + pinctrl-single,pins = < + 0x04c 0x0 /* ND_IO15 */ + 0x050 0x0 /* ND_IO14 */ + 0x054 0x0 /* ND_IO13 */ + 0x058 0x0 /* ND_IO12 */ + 0x05c 0x0 /* ND_IO11 */ + 0x060 0x0 /* ND_IO10 */ + 0x064 0x0 /* ND_IO9 */ + 0x068 0x0 /* ND_IO8 */ + 0x06c 0x0 /* ND_IO7 */ + 0x070 0x0 /* ND_IO6 */ + 0x074 0x0 /* ND_IO5 */ + 0x078 0x0 /* ND_IO4 */ + 0x07c 0x0 /* ND_IO3 */ + 0x080 0x0 /* ND_IO2 */ + 0x084 0x0 /* ND_IO1 */ + 0x088 0x0 /* ND_IO0 */ + >; + pinctrl-single,power-source = <0x0800 0x0c00>; + pinctrl-single,bias = <0 0xe000 0 0xa000 0xc000>; + }; + ssp1_pins: pinmux_ssp1_pins { + pinctrl-single,pins = < + 0x1c4 0x6 /* GPIO113_I2S_MCLK */ + 0x1c8 0x1 /* GPIO114_I2S_FRM */ + 0x1cc 0x1 /* GPIO115_I2S_BCLK */ + 0x120 0x2 /* GPIO116_I2S_RXD */ + 0x124 0x2 /* GPIO117_I2S_TXD */ + >; + pinctrl-single,power-source = <0x0800 0x0c00>; + pinctrl-single,bias = <0 0xe000 0 0xa000 0xc000>; + }; + keypad_pins: pinmux_keypad_pins { + pinctrl-single,pins = < + 0x1b4 0x7 /* GPIO109_KP_MKIN1 */ + 0x1b8 0x7 /* GPIO110_KP_MKIN0 */ + 0x1bc 0x7 /* GPIO111_KP_MKOUT7 */ + 0x1c0 0x7 /* GPIO112_KP_MKOUT6 */ + 0x1e4 0x7 /* GPIO121_MK_MKIN4 */ + >; + pinctrl-single,power-source = <0x0800 0x0c00>; + pinctrl-single,bias = <0 0xe000 0 0xa000 0xc000>; + }; + lcd_pins: pinmux_lcd_pins { + pinctrl-single,pins = < + 0x0e0 0x1 /* GPIO56_LCD_FCLK_RD */ + 0x0e4 0x1 /* GPIO57_LCD_LCLK_A0 */ + 0x0e8 0x1 /* GPIO58_LCD_ACLK_WR */ + 0x0ec 0x1 /* GPIO59_LCD_DENA_BIAS */ + 0x0f0 0x1 /* GPIO60_LCD_DD0 */ + 0x0f4 0x1 /* GPIO60_LCD_DD1 */ + 0x0f8 0x1 /* GPIO60_LCD_DD2 */ + 0x0fc 0x1 /* GPIO60_LCD_DD3 */ + 0x100 0x1 /* GPIO60_LCD_DD4 */ + 0x104 0x1 /* GPIO60_LCD_DD5 */ + 0x108 0x1 /* GPIO60_LCD_DD6 */ + 0x10c 0x1 /* GPIO60_LCD_DD7 */ + 0x110 0x1 /* GPIO60_LCD_DD8 */ + 0x114 0x1 /* GPIO60_LCD_DD9 */ + 0x118 0x1 /* GPIO60_LCD_DD10 */ + 0x11c 0x1 /* GPIO60_LCD_DD11 */ + 0x120 0x1 /* GPIO60_LCD_DD12 */ + 0x124 0x1 /* GPIO60_LCD_DD13 */ + 0x128 0x1 /* GPIO60_LCD_DD14 */ + 0x12c 0x1 /* GPIO60_LCD_DD15 */ + 0x130 0x1 /* GPIO60_LCD_DD16 */ + 0x134 0x1 /* GPIO60_LCD_DD17 */ + 0x138 0x1 /* GPIO60_LCD_DD18 */ + 0x13c 0x1 /* GPIO60_LCD_DD19 */ + 0x140 0x1 /* GPIO60_LCD_DD20 */ + 0x144 0x1 /* GPIO60_LCD_DD21 */ + 0x148 0x1 /* GPIO60_LCD_DD22 */ + 0x14c 0x1 /* GPIO60_LCD_DD23 */ + >; + pinctrl-single,power-source = <0x0800 0x0c00>; + pinctrl-single,bias = <0 0xe000 0 0xa000 0xc000>; + }; + }; + uart1: uart@d4017000 { + pinctrl-names = "default"; + pinctrl-0 = <&uart1_pins>; status = "okay"; }; twsi1: i2c@d4011000 { diff --git a/arch/arm/boot/dts/pxa168.dtsi b/arch/arm/boot/dts/pxa168.dtsi index 31a7186..f91c3f3 100644 --- a/arch/arm/boot/dts/pxa168.dtsi +++ b/arch/arm/boot/dts/pxa168.dtsi @@ -49,6 +49,115 @@ reg = <0xd4000000 0x00200000>; ranges; + pmx: pinmux@d401e000 { + compatible = "pinconf-single"; + reg = <0xd401e000 0x020c>; + #address-cells = <1>; + #size-cells = <1>; + ranges; + + pinctrl-single,register-width = <32>; + pinctrl-single,function-mask = <7>; + + range0: range@d401e04c { + /* GPIO0 ~ GPIO15 */ + reg = <0xd401e04c 0x40>; + /* gpio base & gpio func */ + pinctrl-single,gpio = <0 5>; + }; + + range1: range@d401e08c { + /* GPIO16 */ + reg = <0xd401e08c 0x04>; + /* gpio base & gpio func */ + pinctrl-single,gpio = <16 0>; + }; + + range2: range@d401e090 { + /* GPIO17 */ + reg = <0xd401e090 0x04>; + /* gpio base & gpio func */ + pinctrl-single,gpio = <17 5>; + }; + + range3: range@d401e094 { + /* GPIO18 */ + reg = <0xd401e094 0x04>; + /* gpio base & gpio func */ + pinctrl-single,gpio = <18 0>; + }; + + range4: range@d401e098 { + /* GPIO19 */ + reg = <0xd401e098 0x04>; + /* gpio base & gpio func */ + pinctrl-single,gpio = <19 5>; + }; + + range5: range@d401e09c { + /* GPIO20 */ + reg = <0xd401e09c 0x04>; + /* gpio base & gpio func */ + pinctrl-single,gpio = <20 0>; + }; + + range6: range@d401e0a0 { + /* GPIO21 */ + reg = <0xd401e0a0 0x14>; + /* gpio base & gpio func */ + pinctrl-single,gpio = <21 5>; + }; + + range7: range@d401e0b4 { + /* GPIO26 */ + reg = <0xd401e0b4 0x04>; + /* gpio base & gpio func */ + pinctrl-single,gpio = <26 0>; + }; + + range8: range@d401e0b8 { + /* GPIO27 */ + reg = <0xd401e0b8 0x1c>; + /* gpio base & gpio func */ + pinctrl-single,gpio = <27 5>; + }; + + range9: range@d401e0d4 { + /* GPIO34 ~ GPIO36 */ + reg = <0xd401e0d4 0x0c>; + /* gpio base & gpio func */ + pinctrl-single,gpio = <34 0>; + }; + + range10: range@d401e000 { + /* GPIO37 ~ GPIO55 */ + reg = <0xd401e000 0x4c>; + /* gpio base & gpio func */ + pinctrl-single,gpio = <37 0>; + }; + + range11: range@d401e0e0 { + /* GPIO56 ~ GPIO85 */ + reg = <0xd401e0e0 0x78>; + /* gpio base & gpio func */ + pinctrl-single,gpio = <56 0>; + }; + + range12: range@d401e158 { + /* GPIO86 ~ GPIO106 */ + reg = <0xd401e158 0x54>; + /* gpio base & gpio func */ + pinctrl-single,gpio = <86 0>; + }; + + range13: range@d401e1ac { + /* GPIO107 ~ GPIO122 */ + reg = <0xd401e1ac 0x40>; + /* gpio base & gpio func */ + pinctrl-single,gpio = <107 0>; + }; + }; + timer0: timer@d4014000 { compatible = "mrvl,mmp-timer"; reg = <0xd4014000 0x100>;