From patchwork Fri Dec 21 09:45:13 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Haojian Zhuang X-Patchwork-Id: 1902691 Return-Path: X-Original-To: patchwork-linux-arm@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork1.kernel.org Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) by patchwork1.kernel.org (Postfix) with ESMTP id 3669840076 for ; Fri, 21 Dec 2012 09:49:19 +0000 (UTC) Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.76 #1 (Red Hat Linux)) id 1TlzBK-0005n7-2W; Fri, 21 Dec 2012 09:46:18 +0000 Received: from mail-pa0-f49.google.com ([209.85.220.49]) by merlin.infradead.org with esmtps (Exim 4.76 #1 (Red Hat Linux)) id 1TlzAj-0005gM-2q for linux-arm-kernel@lists.infradead.org; Fri, 21 Dec 2012 09:45:45 +0000 Received: by mail-pa0-f49.google.com with SMTP id bi1so2707627pad.8 for ; Fri, 21 Dec 2012 01:45:39 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=x-received:from:to:cc:subject:date:message-id:x-mailer:in-reply-to :references:x-gm-message-state; bh=9/2cD/6py2wAFI63qA7E1/Lngd84NsYxI0FGmRfMnYs=; b=Aj/066c0CDNCfacbyku4ngZbsWcs389zd9yKSNx9gt2d42qPI4xB4pNhpznItyUhM/ 3sKZET+9oRbpS+CoPA3sDF7IaY4pUL250J3P+n8o/Q+ygLsVPUJDqFgiGfYgcSQYQaN7 10sVdTUdZNxoEi0+7XOW2c263BEE78tx9FVlm6cnNKQuntUh85QGcRwkTRiT1FQvrMy8 JaGK2GYLA+Y7rlaYncXI7kst9V8capIWzBcHKcfCpFRHpsimqgIjI4OsSOk+oTFc5DQp HkxTuviJfp3qQN26Xey4fFaW63NFTkb0i7SwDMCIzg9v9EJgy20bYDwLgHcwntPoOvKq t3Qw== X-Received: by 10.68.225.232 with SMTP id rn8mr38089400pbc.34.1356083139463; Fri, 21 Dec 2012 01:45:39 -0800 (PST) Received: from localhost.localdomain ([116.224.148.148]) by mx.google.com with ESMTPS id t5sm7104258paw.20.2012.12.21.01.45.36 (version=TLSv1/SSLv3 cipher=OTHER); Fri, 21 Dec 2012 01:45:38 -0800 (PST) From: Haojian Zhuang To: linus.walleij@linaro.org, tony@atomide.com, linux-arm-kernel@lists.infradead.org, swarren@nvidia.com Subject: [PATCH v6 3/8] ARM: dts: support pinctrl single in aspenite Date: Fri, 21 Dec 2012 17:45:13 +0800 Message-Id: <1356083118-18857-4-git-send-email-haojian.zhuang@linaro.org> X-Mailer: git-send-email 1.7.10.4 In-Reply-To: <1356083118-18857-1-git-send-email-haojian.zhuang@linaro.org> References: <1356083118-18857-1-git-send-email-haojian.zhuang@linaro.org> X-Gm-Message-State: ALoCoQlfRe3H3cjl/QK3SpqYPcpxUySvmVEIiVb0Sg60q/XiJtPEKsdNHrn9sWi+u3cxMYqh2GvU X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20121221_044541_771400_69E6350B X-CRM114-Status: GOOD ( 10.92 ) X-Spam-Score: -2.6 (--) X-Spam-Report: SpamAssassin version 3.3.2 on merlin.infradead.org summary: Content analysis details: (-2.6 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at http://www.dnswl.org/, low trust [209.85.220.49 listed in list.dnswl.org] -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] 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 From: Haojian Zhuang 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>;