From patchwork Sat Jul 28 06:58:42 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Haojian Zhuang X-Patchwork-Id: 1251401 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 6C590E006E for ; Sat, 28 Jul 2012 07:10:29 +0000 (UTC) Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.76 #1 (Red Hat Linux)) id 1Sv16Q-0000F9-3z; Sat, 28 Jul 2012 07:06:18 +0000 Received: from mail-pb0-f49.google.com ([209.85.160.49]) by merlin.infradead.org with esmtps (Exim 4.76 #1 (Red Hat Linux)) id 1Sv10R-0007di-K1 for linux-arm-kernel@lists.infradead.org; Sat, 28 Jul 2012 07:00:09 +0000 Received: by mail-pb0-f49.google.com with SMTP id rq13so6832454pbb.36 for ; Sat, 28 Jul 2012 00:00:05 -0700 (PDT) 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:in-reply-to:references; bh=pyUByj3RCaM1G2+q2ZM10FkY4ocwU23B+OSZ3j0KxyM=; b=PiEMkfbVm/ZXcsrtaIVuUMlcdTx+2Yu3kkNXB6CsE6tt+ApHki49IMMYHNmnAvlZg0 w9wT5UOrNElu08aW5xID8uXtmFK1xrU0DQ3+mGDV1YPOV4GfrSHsyP3g6g3Fd6gOi5Q6 hfkUJBQg7FeV5l96b0FuZ22HcVAMd/KuGjMCWGUjBQJnLdlJ/YbYZy4PouRu28T7KSXR HsdD7J4gCqxR+NVdyJaYR+OIeRMJLjhRTSG0jNS741RCA2B5AyMQPVI0Kzdizu8K/9No oRc1sKC35iP+g5iep/m6jBgBDqB8Q6oWYHPP8lzb5Qra0uvFD6WgdcnQ66/eSVvgVex5 zoKw== Received: by 10.66.89.170 with SMTP id bp10mr10613563pab.12.1343458805492; Sat, 28 Jul 2012 00:00:05 -0700 (PDT) Received: from localhost ([221.239.195.16]) by mx.google.com with ESMTPS id op10sm3442724pbc.75.2012.07.28.00.00.00 (version=TLSv1/SSLv3 cipher=OTHER); Sat, 28 Jul 2012 00:00:04 -0700 (PDT) From: Haojian Zhuang To: linux-arm-kernel@lists.infradead.org, grant.likely@secretlab.ca, linus.walleij@stericsson.com, arnd@arndb.de Subject: [PATCH 6/6] ARM: dts: add pinctrl in PXA DT files Date: Sat, 28 Jul 2012 14:58:42 +0800 Message-Id: <1343458722-17127-7-git-send-email-haojian.zhuang@gmail.com> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: <1343458722-17127-1-git-send-email-haojian.zhuang@gmail.com> References: <1343458722-17127-1-git-send-email-haojian.zhuang@gmail.com> X-Spam-Note: CRM114 invocation failed X-Spam-Note: SpamAssassin invocation failed 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 Signed-off-by: Haojian Zhuang --- .../bindings/pinctrl/mrvl,pxa3xx-pinctrl.txt | 35 ++++++++++++++ arch/arm/boot/dts/mmp2-brownstone.dts | 51 ++++++++++++++++++++ arch/arm/boot/dts/mmp2.dtsi | 5 ++ arch/arm/boot/dts/pxa168.dtsi | 5 ++ arch/arm/boot/dts/pxa910-dkb.dts | 47 ++++++++++++++++++ arch/arm/boot/dts/pxa910.dtsi | 5 ++ 6 files changed, 148 insertions(+) create mode 100644 Documentation/devicetree/bindings/pinctrl/mrvl,pxa3xx-pinctrl.txt diff --git a/Documentation/devicetree/bindings/pinctrl/mrvl,pxa3xx-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/mrvl,pxa3xx-pinctrl.txt new file mode 100644 index 0000000..1f516e4 --- /dev/null +++ b/Documentation/devicetree/bindings/pinctrl/mrvl,pxa3xx-pinctrl.txt @@ -0,0 +1,35 @@ +Marvell Technology Group, PXA3XX pinmux controller + +Required properties: +- compatible : "marvell,pxa910-pinmux" + : "marvell,pxa168-pinmux" + : "marvell,mmp2-pinmux" +- reg : Address range of the pinctrl registers + +PXA3xx's pinmux nodes act as a container for an abitrary number of subnodes. +Each of these subnodes represents muxing for a pin, a group, or a list of +pins or groups. + +The name of each subnode is not important; all subnodes should be enumerated +and processed purely based on their content. + +Required subnode-properties: +- marvell,pins : An array of strings. Each string contains the name of a pin + or group. +- marvell,function : A string containing the name of the function to mux to the + pin or group. +- marvell,drive-strength : An integer value that means the drive strength of a + pin. +- marvell,pull-up : The property means a pin is pull up for input. +- marvell,pull-down : The property means a pin is pull down for input. +- marvell,lowpower-pull-up : The property means a pin is pull up for input in + sleep state. +- marvell,lowpower-pull-down : The property means a pin is pull down for input + in sleep state. +- marvell,lowpower-drive-high : The property means a pin is driving high for + output in sleep state. +- marvell,lowpower-drive-low : The property means a pin is driving low for + output in sleep state. +- marvell,lowpower-float : The property means a pin is float in sleep state. +- marvell,lowpower-zero : The property means a pin is not configured in sleep + state. diff --git a/arch/arm/boot/dts/mmp2-brownstone.dts b/arch/arm/boot/dts/mmp2-brownstone.dts index c9b4f27..2ae37df 100644 --- a/arch/arm/boot/dts/mmp2-brownstone.dts +++ b/arch/arm/boot/dts/mmp2-brownstone.dts @@ -24,6 +24,57 @@ soc { apb@d4000000 { + pinmux@d401e000 { + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinmux { + uart1 { + marvell,pins = "uart1 2p4"; + marvell,function = "uart1"; + }; + uart2 { + marvell,pins = "uart2 2p7"; + marvell,function = "uart2"; + }; + uart3 { + marvell,pins = "uart3 2p6"; + marvell,function = "uart3"; + }; + twsi2 { + marvell,pins = "twsi2-3"; + marvell,function = "twsi2"; + }; + twsi3 { + marvell,pins = "twsi3-1"; + marvell,function = "twsi3"; + }; + twsi4 { + marvell,pins = "twsi4"; + marvell,function = "twsi4"; + }; + twsi5 { + marvell,pins = "twsi5-3"; + marvell,function = "twsi5"; + }; + twsi6 { + marvell,pins = "twsi6-3"; + marvell,function = "twsi6"; + }; + mmc1 { + marvell,pins = "mmc1 8p1"; + marvell,function = "mmc1"; + }; + mmc2 { + marvell,pins = "mmc2 6p1"; + marvell,function = "mmc2"; + }; + mmc3 { + marvell,pins = "mmc3 10p1"; + marvell,function = "mmc3"; + }; + }; + }; uart3: uart@d4018000 { status = "okay"; }; diff --git a/arch/arm/boot/dts/mmp2.dtsi b/arch/arm/boot/dts/mmp2.dtsi index 80f74e2..cb4ecaf 100644 --- a/arch/arm/boot/dts/mmp2.dtsi +++ b/arch/arm/boot/dts/mmp2.dtsi @@ -120,6 +120,11 @@ reg = <0xd4000000 0x00200000>; ranges; + pinmux@d401e000 { + compatible = "marvell,mmp2-pinmux"; + reg = <0xd401e000 0x4000>; + }; + timer0: timer@d4014000 { compatible = "mrvl,mmp-timer"; reg = <0xd4014000 0x100>; diff --git a/arch/arm/boot/dts/pxa168.dtsi b/arch/arm/boot/dts/pxa168.dtsi index 31a7186..f15491d 100644 --- a/arch/arm/boot/dts/pxa168.dtsi +++ b/arch/arm/boot/dts/pxa168.dtsi @@ -49,6 +49,11 @@ reg = <0xd4000000 0x00200000>; ranges; + pinmux@d401e000 { + compatible = "marvell,pxa168-pinmux"; + reg = <0xd401e000 0x4000>; + }; + timer0: timer@d4014000 { compatible = "mrvl,mmp-timer"; reg = <0xd4014000 0x100>; diff --git a/arch/arm/boot/dts/pxa910-dkb.dts b/arch/arm/boot/dts/pxa910-dkb.dts index e92be5a..d3ba948 100644 --- a/arch/arm/boot/dts/pxa910-dkb.dts +++ b/arch/arm/boot/dts/pxa910-dkb.dts @@ -24,6 +24,53 @@ soc { apb@d4000000 { + pinmux@d401e000 { + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinmux { + uart0 { /* BT UART */ + marvell,pins = "uart0 4p"; + marvell,function = "uart0"; + }; + uart1 { /* Serial UART */ + marvell,pins = "uart1 2p1"; + marvell,function = "uart1"; + }; + uart2 { /* GPS UART */ + marvell,pins = "uart2 2p1"; + marvell,function = "uart2"; + }; + nand { + marvell,pins = "nand"; + marvell,function = "nand"; + }; + twsi1 { + marvell,pins = "twsi 2p2"; + marvell,function = "twsi"; + }; + mmc1 { + marvell,pins = "mmc1 12p"; + marvell,function = "mmc1"; + }; + mmc2 { + marvell,pins = "mmc2 6p"; + marvell,function = "mmc2"; + }; + w1 { + marvell,pins = "w1-4"; + marvell,function = "w1"; + }; + ssp1 { + marvell,pins = "ssp1 4p1"; + marvell,function = "ssp1"; + }; + gssp { + marvell,pins = "gssp"; + marvell,function = "gssp"; + }; + }; + }; uart1: uart@d4017000 { status = "okay"; }; diff --git a/arch/arm/boot/dts/pxa910.dtsi b/arch/arm/boot/dts/pxa910.dtsi index aebf32d..187041d 100644 --- a/arch/arm/boot/dts/pxa910.dtsi +++ b/arch/arm/boot/dts/pxa910.dtsi @@ -49,6 +49,11 @@ reg = <0xd4000000 0x00200000>; ranges; + pinmux@d401e000 { + compatible = "marvell,pxa910-pinmux"; + reg = <0xd401e000 0x4000>; + }; + timer0: timer@d4014000 { compatible = "mrvl,mmp-timer"; reg = <0xd4014000 0x100>;