From patchwork Wed Oct 18 11:22:07 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jiancheng Xue X-Patchwork-Id: 116182 Delivered-To: patch@linaro.org Received: by 10.140.22.163 with SMTP id 32csp5595628qgn; Tue, 17 Oct 2017 20:18:31 -0700 (PDT) X-Google-Smtp-Source: AOwi7QD5MeneTzC0sVsv0Qv/QBMthtB4SGxDvp/2TpGRtNAm3tY85te4eS6UQ+ikEpTx5J6Omlvi X-Received: by 10.101.90.133 with SMTP id c5mr12586665pgt.441.1508296711045; Tue, 17 Oct 2017 20:18:31 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1508296711; cv=none; d=google.com; s=arc-20160816; b=NZkuW5uSM/GWpJh/8/a+e1HWsy8SrLEcKbWvSJBiZ4w1rSm5VfOYpOK2t3txcaEGX+ qUKW0Y2qkoWKMfE0JStNT/yER46ZJSVkvsNO1lKi6SzEYRwdITZgcAlgCOHfUUJcTHKj CYG2gX3auzRYQvGodR4zHkZEugXgHz8bMYw3TlJ3sg+xf0j/UOxK6wf8A5ZZrHf8tLRZ QyIZWhjL6E2N53TBun4+QfBlUfyzqKhQ5u/hkgA+nrJ4aH6LXM3p4UFWptM18MK8QY7+ 7EoGDXnwPqwVN2M5tVQTGU+fDRT1sfsDAAR2XSy21rXzBLf1GlWXPv4xzj9Gnh3/t4Sl cQYw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:arc-authentication-results; bh=sgI2hBru8BktZN5Kq5E7UjiZf3iwedtGv4COpR8J2Tc=; b=wN6DMcohSvIJE5hJNv9F+++2659GYWip8vDhl00RJpSmVyOLsyyz4UAmulQbg7kM6i 3NgLPFIY+eXByLExgRTJdevahZ+sAsSytboaZsTAG4FUvvgJ31WCnVJpud1gxCn9ckT6 7FH7o0a4hQfA4+YCm6xx+G74r/8A2xj5byw51yBVRKC+rVKE/6E8RC2rp2SqyqbIg70V P6BbriX8M1XJhU4af8168TAIcC71zWHwIFclVfYo9RQ75fN5HiMEFYyH8SUoWx9cw5bb SrvX0LpsgiFMYxHaVrORXWCZMcGVNZXp6SA4Mt/8TBa3lcpFFLk2mqu8akgR5G2vbA8L zmTw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of devicetree-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=devicetree-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id v15si5820638pfj.120.2017.10.17.20.18.30; Tue, 17 Oct 2017 20:18:31 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of devicetree-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of devicetree-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=devicetree-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932617AbdJRDS2 (ORCPT + 6 others); Tue, 17 Oct 2017 23:18:28 -0400 Received: from szxga05-in.huawei.com ([45.249.212.191]:8522 "EHLO szxga05-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933672AbdJRDR5 (ORCPT ); Tue, 17 Oct 2017 23:17:57 -0400 Received: from 172.30.72.58 (EHLO DGGEMS408-HUB.china.huawei.com) ([172.30.72.58]) by dggrg05-dlp.huawei.com (MOS 4.4.6-GA FastPath queued) with ESMTP id DJI64661; Wed, 18 Oct 2017 11:17:55 +0800 (CST) Received: from arch-ubuntu.huawei.com (10.69.192.66) by DGGEMS408-HUB.china.huawei.com (10.3.19.208) with Microsoft SMTP Server id 14.3.301.0; Wed, 18 Oct 2017 11:17:44 +0800 From: Jiancheng Xue To: , CC: , , , , , , , Younian Wang Subject: [PATCH 2/3] arm64: dts: hisilicon: add pinctrl nodes for hi3798cv200-poplar board Date: Wed, 18 Oct 2017 07:22:07 -0400 Message-ID: <1508325728-55823-3-git-send-email-xuejiancheng@hisilicon.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1508325728-55823-1-git-send-email-xuejiancheng@hisilicon.com> References: <1508325728-55823-1-git-send-email-xuejiancheng@hisilicon.com> MIME-Version: 1.0 X-Originating-IP: [10.69.192.66] X-CFilter-Loop: Reflected X-Mirapoint-Virus-RAPID-Raw: score=unknown(0), refid=str=0001.0A090205.59E6C7E3.0038, ss=1, re=0.000, recu=0.000, reip=0.000, cl=1, cld=1, fgs=0, ip=0.0.0.0, so=2014-11-16 11:51:01, dmn=2013-03-21 17:37:32 X-Mirapoint-Loop-Id: 4eb486895dbea45bd63d7f822db9da4a Sender: devicetree-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org From: Younian Wang Add pinctrl nodes for hi3798cv200-poplar board Signed-off-by: Younian Wang Signed-off-by: Jiancheng Xue --- .../boot/dts/hisilicon/hi3798cv200-poplar.dts | 1 + arch/arm64/boot/dts/hisilicon/hi3798cv200.dtsi | 71 +++ arch/arm64/boot/dts/hisilicon/poplar-pinctrl.dtsi | 651 +++++++++++++++++++++ 3 files changed, 723 insertions(+) create mode 100644 arch/arm64/boot/dts/hisilicon/poplar-pinctrl.dtsi -- 2.7.4 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/arch/arm64/boot/dts/hisilicon/hi3798cv200-poplar.dts b/arch/arm64/boot/dts/hisilicon/hi3798cv200-poplar.dts index b914287..6a0b7e9 100644 --- a/arch/arm64/boot/dts/hisilicon/hi3798cv200-poplar.dts +++ b/arch/arm64/boot/dts/hisilicon/hi3798cv200-poplar.dts @@ -11,6 +11,7 @@ #include #include "hi3798cv200.dtsi" +#include "poplar-pinctrl.dtsi" / { model = "HiSilicon Poplar Development Board"; diff --git a/arch/arm64/boot/dts/hisilicon/hi3798cv200.dtsi b/arch/arm64/boot/dts/hisilicon/hi3798cv200.dtsi index 0d11dc7..5a73c68 100644 --- a/arch/arm64/boot/dts/hisilicon/hi3798cv200.dtsi +++ b/arch/arm64/boot/dts/hisilicon/hi3798cv200.dtsi @@ -106,6 +106,54 @@ #reset-cells = <2>; }; + pmx0: pinconf@8a21000 { + compatible = "pinconf-single"; + reg = <0x8a21000 0x180>; + pinctrl-single,register-width = <32>; + pinctrl-single,function-mask = <7>; + pinctrl-single,gpio-range = < + &range 0 8 2 /* GPIO 0 */ + &range 8 1 0 /* GPIO 1 */ + &range 9 4 2 + &range 13 1 0 + &range 14 1 1 + &range 15 1 0 + &range 16 5 0 /* GPIO 2 */ + &range 21 3 1 + &range 24 4 1 /* GPIO 3 */ + &range 28 2 2 + &range 86 1 1 + &range 87 1 0 + &range 30 4 2 /* GPIO 4 */ + &range 34 3 0 + &range 37 1 2 + &range 38 3 2 /* GPIO 6 */ + &range 41 5 0 + &range 46 8 1 /* GPIO 7 */ + &range 54 8 1 /* GPIO 8 */ + &range 64 7 1 /* GPIO 9 */ + &range 71 1 0 + &range 72 6 1 /* GPIO 10 */ + &range 78 1 0 + &range 79 1 1 + &range 80 6 1 /* GPIO 11 */ + &range 70 2 1 + &range 88 8 0 /* GPIO 12 */ + >; + + range: gpio-range { + #pinctrl-single,gpio-range-cells = <3>; + }; + }; + + pmx1: pinconf@8000044 { + compatible = "pinctrl-single"; + reg = <0x8000044 4>; + pinctrl-single,register-width = <32>; + pinctrl-single,function-mask = <1>; + pinctrl-single,bit-per-mux; + }; + uart0: serial@8b00000 { compatible = "arm,pl011", "arm,primecell"; reg = <0x8b00000 0x1000>; @@ -209,6 +257,7 @@ #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <2>; + gpio-ranges = <&pmx0 0 0 8>; clocks = <&crg HISTB_APB_CLK>; clock-names = "apb_pclk"; status = "disabled"; @@ -222,6 +271,13 @@ #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <2>; + gpio-ranges = < + &pmx0 0 8 1 + &pmx0 1 9 4 + &pmx0 5 13 1 + &pmx0 6 14 1 + &pmx0 7 15 1 + >; clocks = <&crg HISTB_APB_CLK>; clock-names = "apb_pclk"; status = "disabled"; @@ -235,6 +291,7 @@ #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <2>; + gpio-ranges = <&pmx0 0 16 5 &pmx0 5 21 3>; clocks = <&crg HISTB_APB_CLK>; clock-names = "apb_pclk"; status = "disabled"; @@ -248,6 +305,12 @@ #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <2>; + gpio-ranges = < + &pmx0 0 24 4 + &pmx0 4 28 2 + &pmx0 6 86 1 + &pmx0 7 87 1 + >; clocks = <&crg HISTB_APB_CLK>; clock-names = "apb_pclk"; status = "disabled"; @@ -261,6 +324,7 @@ #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <2>; + gpio-ranges = <&pmx0 0 30 4 &pmx0 4 34 3 &pmx0 7 37 1>; clocks = <&crg HISTB_APB_CLK>; clock-names = "apb_pclk"; status = "disabled"; @@ -287,6 +351,7 @@ #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <2>; + gpio-ranges = <&pmx0 0 38 3 &pmx0 0 41 5>; clocks = <&crg HISTB_APB_CLK>; clock-names = "apb_pclk"; status = "disabled"; @@ -300,6 +365,7 @@ #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <2>; + gpio-ranges = <&pmx0 0 46 8>; clocks = <&crg HISTB_APB_CLK>; clock-names = "apb_pclk"; status = "disabled"; @@ -313,6 +379,7 @@ #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <2>; + gpio-ranges = <&pmx0 0 54 8>; clocks = <&crg HISTB_APB_CLK>; clock-names = "apb_pclk"; status = "disabled"; @@ -326,6 +393,7 @@ #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <2>; + gpio-ranges = <&pmx0 0 64 7 &pmx0 71 1>; clocks = <&crg HISTB_APB_CLK>; clock-names = "apb_pclk"; status = "disabled"; @@ -339,6 +407,7 @@ #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <2>; + gpio-ranges = <&pmx0 0 72 6 &pmx0 6 78 1 &pmx0 7 79 1>; clocks = <&crg HISTB_APB_CLK>; clock-names = "apb_pclk"; status = "disabled"; @@ -352,6 +421,7 @@ #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <2>; + gpio-ranges = <&pmx0 0 80 6 &pmx0 6 70 2>; clocks = <&crg HISTB_APB_CLK>; clock-names = "apb_pclk"; status = "disabled"; @@ -365,6 +435,7 @@ #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <2>; + gpio-ranges = <&pmx0 0 88 8>; clocks = <&crg HISTB_APB_CLK>; clock-names = "apb_pclk"; status = "disabled"; diff --git a/arch/arm64/boot/dts/hisilicon/poplar-pinctrl.dtsi b/arch/arm64/boot/dts/hisilicon/poplar-pinctrl.dtsi new file mode 100644 index 0000000..5a87a0e --- /dev/null +++ b/arch/arm64/boot/dts/hisilicon/poplar-pinctrl.dtsi @@ -0,0 +1,651 @@ +/* + * pinctrl dts file for HiSilicon poplar board + * + * Copyright (c) 2016-2017 HiSilicon Technologies Co., Ltd. + * + * Released under the GPLv2 only. + * SPDX-License-Identifier: GPL-2.0 + */ + +#include + +/* value, enable bits, disable bits, mask */ +#define PINCTRL_PULLDOWN(value, enable, disable, mask) \ + (value << 13) (enable << 13) (disable << 13) (mask << 13) +#define PINCTRL_PULLUP(value, enable, disable, mask) \ + (value << 12) (enable << 12) (disable << 12) (mask << 12) +#define PINCTRL_SLEW_RATE(value, mask) (value << 8) (mask << 8) +#define PINCTRL_DRV_STRENGTH(value, mask) (value << 4) (mask << 4) +#define GPIO5_MUX_CFG(offset, value, bit) (offset) (value << bit) (1 << bit) + +&pmx0 { + pinctrl-names = "default"; + pinctrl-0 = < + &emmc_p1_pmx_cfg + &emmc_p2_pmx_cfg + &emmc_p3_pmx_cfg + &emmc_p4_pmx_cfg + &gpu_pmx_cfg + &sim0_p1_pmx_cfg + &sim0_p2_pmx_cfg + &i2c0_pmx_cfg + &gpio_pmx_cfg + &bt_uart2_p1_pmx_cfg + &bt_uart2_p2_pmx_cfg + &pcm_pmx_cfg + &spi0_p1_pmx_cfg + &spi0_p2_pmx_cfg + &tsi0_p1_pmx_cfg + &tsi0_p2_pmx_cfg + &tsi0_p3_pmx_cfg + &tsi0_p4_pmx_cfg + &i2c2_p1_pmx_cfg + &i2c2_p2_pmx_cfg + &mute_pmx_cfg + &spdif_pmx_cfg + &rgmii1_p1_pmx_cfg + &rgmii1_p2_pmx_cfg + &rgmii1_p3_pmx_cfg + &sdio0_p1_pmx0_cfg + &sdio0_p2_pmx0_cfg + &sdio0_p3_pmx0_cfg + >; + + emmc_p1_pmx_cfg: emmc_p1_pmx_cfg { + pinctrl-single,pins = < + 0x000 MUX_M2 + 0x004 MUX_M2 + 0x008 MUX_M2 + 0x00c MUX_M2 + 0x010 MUX_M2 + 0x014 MUX_M2 + 0x018 MUX_M2 + 0x01c MUX_M2 + 0x024 MUX_M2 + >; + pinctrl-single,bias-pulldown = < + PINCTRL_PULLDOWN(0, 1, 0, 1) + >; + pinctrl-single,bias-pullup = < + PINCTRL_PULLUP(0, 1, 0, 1) + >; + pinctrl-single,slew-rate = < + PINCTRL_SLEW_RATE(1, 1) + >; + pinctrl-single,drive-strength = < + PINCTRL_DRV_STRENGTH(0xb, 0xf) + >; + }; + + emmc_p2_pmx_cfg: emmc_p2_pmx_cfg { + pinctrl-single,pins = < + 0x028 MUX_M2 + >; + pinctrl-single,bias-pulldown = < + PINCTRL_PULLDOWN(0, 1, 0, 1) + >; + pinctrl-single,bias-pullup = < + PINCTRL_PULLUP(0, 1, 0, 1) + >; + pinctrl-single,slew-rate = < + PINCTRL_SLEW_RATE(1, 1) + >; + pinctrl-single,drive-strength = < + PINCTRL_DRV_STRENGTH(0x9, 0xf) + >; + }; + + emmc_p3_pmx_cfg:emmc_p3_pmx_cfg { + pinctrl-single,pins = < + 0x02c MUX_M2 + >; + pinctrl-single,bias-pulldown = < + PINCTRL_PULLDOWN(0, 1, 0, 1) + >; + pinctrl-single,bias-pullup = < + PINCTRL_PULLUP(0, 1, 0, 1) + >; + pinctrl-single,slew-rate = < + PINCTRL_SLEW_RATE(1, 1) + >; + pinctrl-single,drive-strength = < + PINCTRL_DRV_STRENGTH(3, 3) + >; + }; + + emmc_p4_pmx_cfg:emmc_p4_pmx_cfg { + pinctrl-single,pins = < + 0x030 MUX_M2 + >; + pinctrl-single,bias-pulldown = < + PINCTRL_PULLDOWN(1, 1, 0, 1) + >; + pinctrl-single,bias-pullup = < + PINCTRL_PULLUP(0, 1, 0, 1) + >; + pinctrl-single,slew-rate = < + PINCTRL_SLEW_RATE(1, 1) + >; + pinctrl-single,drive-strength = < + PINCTRL_DRV_STRENGTH(3, 3) + >; + }; + + gpu_pmx_cfg: gpu_pmx_cfg { + pinctrl-single,pins = < + 0x038 MUX_M1 + >; + pinctrl-single,bias-pulldown = < + PINCTRL_PULLDOWN(0, 1, 0, 1) + >; + pinctrl-single,bias-pullup = < + PINCTRL_PULLUP(0, 1, 0, 1) + >; + pinctrl-single,slew-rate = < + PINCTRL_SLEW_RATE(1, 1) + >; + pinctrl-single,drive-strength = < + PINCTRL_DRV_STRENGTH(3, 3) + >; + }; + + sim0_p1_pmx_cfg: sim0_p1_pmx_cfg { + pinctrl-single,pins = < + 0x054 MUX_M1 + 0x058 MUX_M1 + 0x05c MUX_M1 + 0x064 MUX_M1 + >; + pinctrl-single,bias-pulldown = < + PINCTRL_PULLDOWN(0, 1, 0, 1) + >; + pinctrl-single,bias-pullup = < + PINCTRL_PULLUP(0, 1, 0, 1) + >; + pinctrl-single,slew-rate = < + PINCTRL_SLEW_RATE(1, 1) + >; + pinctrl-single,drive-strength = < + PINCTRL_DRV_STRENGTH(3, 3) + >; + }; + + sim0_p2_pmx_cfg: sim0_p2_pmx_cfg { + pinctrl-single,pins = < + 0x060 MUX_M1 + >; + pinctrl-single,bias-pulldown = < + PINCTRL_PULLDOWN(0, 1, 0, 1) + >; + pinctrl-single,bias-pullup = < + PINCTRL_PULLUP(0, 1, 0, 1) + >; + pinctrl-single,slew-rate = < + PINCTRL_SLEW_RATE(1, 1) + >; + pinctrl-single,drive-strength = < + PINCTRL_DRV_STRENGTH(2, 3) + >; + }; + + i2c0_pmx_cfg: i2c0_pmx_cfg { + pinctrl-single,pins = < + 0x068 MUX_M1 + 0x06c MUX_M1 + >; + pinctrl-single,bias-pulldown = < + PINCTRL_PULLDOWN(0, 1, 0, 1) + >; + pinctrl-single,bias-pullup = < + PINCTRL_PULLUP(0, 1, 0, 1) + >; + pinctrl-single,slew-rate = < + PINCTRL_SLEW_RATE(1, 1) + >; + pinctrl-single,drive-strength = < + PINCTRL_DRV_STRENGTH(3, 3) + >; + }; + + gpio_pmx_cfg: gpio_pmx_cfg { + pinctrl-single,pins = < + 0x070 MUX_M2 + 0x074 MUX_M2 + >; + pinctrl-single,bias-pulldown = < + PINCTRL_PULLDOWN(0, 1, 0, 1) + >; + pinctrl-single,bias-pullup = < + PINCTRL_PULLUP(0, 1, 0, 1) + >; + pinctrl-single,slew-rate = < + PINCTRL_SLEW_RATE(1, 1) + >; + pinctrl-single,drive-strength = < + PINCTRL_DRV_STRENGTH(3, 3) + >; + }; + + bt_uart2_p1_pmx_cfg: bt_uart2_p1_pmx_cfg { + pinctrl-single,pins = < + 0x078 MUX_M2 + 0x07c MUX_M2 + 0x080 MUX_M2 + >; + pinctrl-single,bias-pulldown = < + PINCTRL_PULLDOWN(0, 1, 0, 1) + >; + pinctrl-single,bias-pullup = < + PINCTRL_PULLUP(0, 1, 0, 1) + >; + pinctrl-single,slew-rate = < + PINCTRL_SLEW_RATE(1, 1) + >; + pinctrl-single,drive-strength = < + PINCTRL_DRV_STRENGTH(3, 3) + >; + }; + + bt_uart2_p2_pmx_cfg: bt_uart2_p2_pmx_cfg { + pinctrl-single,pins = < + 0x084 MUX_M2 + >; + pinctrl-single,bias-pulldown = < + PINCTRL_PULLDOWN(0, 1, 0, 1) + >; + pinctrl-single,bias-pullup = < + PINCTRL_PULLUP(0, 1, 0, 1) + >; + pinctrl-single,slew-rate = < + PINCTRL_SLEW_RATE(1, 1) + >; + pinctrl-single,drive-strength = < + PINCTRL_DRV_STRENGTH(7, 7) + >; + }; + + pcm_pmx_cfg: pcm_pmx_cfg { + pinctrl-single,pins = < + 0x094 MUX_M2 + 0x098 MUX_M2 + 0x09c MUX_M2 + 0x0a0 MUX_M2 + >; + pinctrl-single,bias-pulldown = < + PINCTRL_PULLDOWN(0, 1, 0, 1) + >; + pinctrl-single,bias-pullup = < + PINCTRL_PULLUP(0, 1, 0, 1) + >; + pinctrl-single,slew-rate = < + PINCTRL_SLEW_RATE(1, 1) + >; + pinctrl-single,drive-strength = < + PINCTRL_DRV_STRENGTH(7, 7) + >; + }; + + spi0_p1_pmx_cfg: spi0_p1_pmx_cfg { + pinctrl-single,pins = < + 0x0b8 MUX_M1 + 0x0bc MUX_M1 + 0x0c0 MUX_M1 + >; + pinctrl-single,bias-pulldown = < + PINCTRL_PULLDOWN(0, 1, 0, 1) + >; + pinctrl-single,bias-pullup = < + PINCTRL_PULLUP(0, 1, 0, 1) + >; + pinctrl-single,slew-rate = < + PINCTRL_SLEW_RATE(1, 1) + >; + pinctrl-single,drive-strength = < + PINCTRL_DRV_STRENGTH(7, 7) + >; + }; + + spi0_p2_pmx_cfg: spi0_p2_pmx_cfg { + pinctrl-single,pins = < + 0x0c4 MUX_M1 + >; + pinctrl-single,bias-pulldown = < + PINCTRL_PULLDOWN(0, 1, 0, 1) + >; + pinctrl-single,bias-pullup = < + PINCTRL_PULLUP(0, 1, 0, 1) + >; + pinctrl-single,slew-rate = < + PINCTRL_SLEW_RATE(1, 1) + >; + pinctrl-single,drive-strength = < + PINCTRL_DRV_STRENGTH(3, 3) + >; + }; + + tsi0_p1_pmx_cfg: tsi0_p1_pmx_cfg { + pinctrl-single,pins = < + 0x0c8 MUX_M1 + 0x0cc MUX_M1 + 0x0d0 MUX_M1 + 0x0d8 MUX_M1 + 0x0dc MUX_M1 + 0x0e0 MUX_M1 + 0x0e4 MUX_M1 + 0x0e8 MUX_M1 + >; + pinctrl-single,bias-pulldown = < + PINCTRL_PULLDOWN(0, 1, 0, 1) + >; + pinctrl-single,bias-pullup = < + PINCTRL_PULLUP(0, 1, 0, 1) + >; + pinctrl-single,slew-rate = < + PINCTRL_SLEW_RATE(1, 1) + >; + pinctrl-single,drive-strength = < + PINCTRL_DRV_STRENGTH(3, 3) + >; + }; + + tsi0_p2_pmx_cfg: tsi0_p2_pmx_cfg { + pinctrl-single,pins = < + 0x0d4 MUX_M1 + >; + pinctrl-single,bias-pulldown = < + PINCTRL_PULLDOWN(0, 1, 0, 1) + >; + pinctrl-single,bias-pullup = < + PINCTRL_PULLUP(0, 1, 0, 1) + >; + pinctrl-single,slew-rate = < + PINCTRL_SLEW_RATE(1, 1) + >; + pinctrl-single,drive-strength = < + PINCTRL_DRV_STRENGTH(7, 7) + >; + }; + + tsi0_p3_pmx_cfg: tsi0_p3_pmx_cfg { + pinctrl-single,pins = < + 0x0ec MUX_M1 + >; + pinctrl-single,bias-pulldown = < + PINCTRL_PULLDOWN(1, 1, 0, 1) + >; + pinctrl-single,bias-pullup = < + PINCTRL_PULLUP(0, 1, 0, 1) + >; + pinctrl-single,slew-rate = < + PINCTRL_SLEW_RATE(1, 1) + >; + pinctrl-single,drive-strength = < + PINCTRL_DRV_STRENGTH(3, 3) + >; + }; + + tsi0_p4_pmx_cfg: tsi0_p4_pmx_cfg { + pinctrl-single,pins = < + 0x0f0 MUX_M1 + >; + pinctrl-single,bias-pulldown = < + PINCTRL_PULLDOWN(0, 1, 0, 1) + >; + pinctrl-single,bias-pullup = < + PINCTRL_PULLUP(1, 1, 0, 1) + >; + pinctrl-single,slew-rate = < + PINCTRL_SLEW_RATE(1, 1) + >; + pinctrl-single,drive-strength = < + PINCTRL_DRV_STRENGTH(3, 3) + >; + }; + + i2c2_p1_pmx_cfg: i2c2_p1_pmx_cfg { + pinctrl-single,pins = < + 0x0f4 MUX_M1 + >; + pinctrl-single,bias-pulldown = < + PINCTRL_PULLDOWN(0, 1, 0, 1) + >; + pinctrl-single,bias-pullup = < + PINCTRL_PULLUP(1, 1, 0, 1) + >; + pinctrl-single,slew-rate = < + PINCTRL_SLEW_RATE(1, 1) + >; + pinctrl-single,drive-strength = < + PINCTRL_DRV_STRENGTH(3, 3) + >; + }; + + i2c2_p2_pmx_cfg: i2c2_p2_pmx_cfg { + pinctrl-single,pins = < + 0x0f8 MUX_M1 + >; + pinctrl-single,bias-pulldown = < + PINCTRL_PULLDOWN(1, 1, 0, 1) + >; + pinctrl-single,bias-pullup = < + PINCTRL_PULLUP(0, 1, 0, 1) + >; + pinctrl-single,slew-rate = < + PINCTRL_SLEW_RATE(1, 1) + >; + pinctrl-single,drive-strength = < + PINCTRL_DRV_STRENGTH(3, 3) + >; + }; + + mute_pmx_cfg: mute_pmx_cfg { + pinctrl-single,pins = < + 0x100 MUX_M1 + >; + pinctrl-single,bias-pulldown = < + PINCTRL_PULLDOWN(1, 1, 0, 1) + >; + pinctrl-single,bias-pullup = < + PINCTRL_PULLUP(0, 1, 0, 1) + >; + pinctrl-single,slew-rate = < + PINCTRL_SLEW_RATE(1, 1) + >; + pinctrl-single,drive-strength = < + PINCTRL_DRV_STRENGTH(3, 3) + >; + }; + + spdif_pmx_cfg: spdif_pmx_cfg { + pinctrl-single,pins = < + 0x104 MUX_M1 + >; + pinctrl-single,bias-pulldown = < + PINCTRL_PULLDOWN(0, 1, 0, 1) + >; + pinctrl-single,bias-pullup = < + PINCTRL_PULLUP(0, 1, 0, 1) + >; + pinctrl-single,slew-rate = < + PINCTRL_SLEW_RATE(1, 1) + >; + pinctrl-single,drive-strength = < + PINCTRL_DRV_STRENGTH(3, 3) + >; + }; + + rgmii1_p1_pmx_cfg: rgmii1_p1_pmx_cfg { + pinctrl-single,pins = < + 0x118 MUX_M1 + 0x11c MUX_M1 + 0x120 MUX_M1 + 0x144 MUX_M1 + 0x148 MUX_M1 + 0x14c MUX_M1 + 0x150 MUX_M1 + 0x154 MUX_M1 + >; + pinctrl-single,bias-pulldown = < + PINCTRL_PULLDOWN(0, 1, 0, 1) + >; + pinctrl-single,bias-pullup = < + PINCTRL_PULLUP(0, 1, 0, 1) + >; + pinctrl-single,slew-rate = < + PINCTRL_SLEW_RATE(1, 1) + >; + pinctrl-single,drive-strength = < + PINCTRL_DRV_STRENGTH(3, 3) + >; + }; + + rgmii1_p2_pmx_cfg: rgmii1_p2_pmx_cfg { + pinctrl-single,pins = < + 0x124 MUX_M1 + 0x128 MUX_M1 + 0x12c MUX_M1 + 0x130 MUX_M1 + 0x134 MUX_M1 + 0x13c MUX_M1 + >; + pinctrl-single,bias-pulldown = < + PINCTRL_PULLDOWN(0, 1, 0, 1) + >; + pinctrl-single,bias-pullup = < + PINCTRL_PULLUP(0, 1, 0, 1) + >; + pinctrl-single,slew-rate = < + PINCTRL_SLEW_RATE(1, 1) + >; + pinctrl-single,drive-strength = < + PINCTRL_DRV_STRENGTH(6, 7) + >; + }; + + rgmii1_p3_pmx_cfg: rgmii1_p3_pmx_cfg { + pinctrl-single,pins = < + 0x140 MUX_M1 + >; + pinctrl-single,bias-pulldown = < + PINCTRL_PULLDOWN(0, 1, 0, 1) + >; + pinctrl-single,bias-pullup = < + PINCTRL_PULLUP(0, 1, 0, 1) + >; + pinctrl-single,slew-rate = < + PINCTRL_SLEW_RATE(1, 1) + >; + pinctrl-single,drive-strength = < + PINCTRL_DRV_STRENGTH(7, 7) + >; + }; + + sdio0_p1_pmx0_cfg: sdio0_p1_pmx0_cfg { + pinctrl-single,pins = < + 0x158 MUX_M1 + 0x178 MUX_M1 + >; + pinctrl-single,bias-pulldown = < + PINCTRL_PULLDOWN(0, 1, 0, 1) + >; + pinctrl-single,bias-pullup = < + PINCTRL_PULLUP(0, 1, 0, 1) + >; + pinctrl-single,slew-rate = < + PINCTRL_SLEW_RATE(1, 1) + >; + pinctrl-single,drive-strength = < + PINCTRL_DRV_STRENGTH(3, 3) + >; + }; + + sdio0_p2_pmx0_cfg: sdio0_p2_pmx0_cfg { + pinctrl-single,pins = < + 0x160 MUX_M1 + 0x164 MUX_M1 + 0x16c MUX_M1 + 0x170 MUX_M1 + 0x174 MUX_M1 + >; + pinctrl-single,bias-pulldown = < + PINCTRL_PULLDOWN(0, 1, 0, 1) + >; + pinctrl-single,bias-pullup = < + PINCTRL_PULLUP(0, 1, 0, 1) + >; + pinctrl-single,slew-rate = < + PINCTRL_SLEW_RATE(1, 1) + >; + pinctrl-single,drive-strength = < + PINCTRL_DRV_STRENGTH(5, 7) + >; + }; + + sdio0_p3_pmx0_cfg: sdio0_p3_pmx0_cfg { + pinctrl-single,pins = < + 0x168 MUX_M1 + >; + pinctrl-single,bias-pulldown = < + PINCTRL_PULLDOWN(0, 1, 0, 1) + >; + pinctrl-single,bias-pullup = < + PINCTRL_PULLUP(0, 1, 0, 1) + >; + pinctrl-single,slew-rate = < + PINCTRL_SLEW_RATE(1, 1) + >; + pinctrl-single,drive-strength = < + PINCTRL_DRV_STRENGTH(0xc, 0xf) + >; + }; +}; + +&pmx1{ + pinctrl-names = "default"; + pinctrl-0 = < + &uart0_pmx + &lowspeed_gpio_pmx + &bt_led_pmx + &user_led_pmx + &ir_pmx + &stb_key_pmx + >; + + uart0_pmx: uart0_pmx { + pinctrl-single,bits = < + GPIO5_MUX_CFG(0, 0, 0) + GPIO5_MUX_CFG(0, 0, 1) + >; + }; + + lowspeed_gpio_pmx: lowspeed_gpio_pmx { + pinctrl-single,bits = < + GPIO5_MUX_CFG(0, 0, 4) + >; + }; + + bt_led_pmx: bt_led_pmx { + pinctrl-single,bits = < + GPIO5_MUX_CFG(0, 1, 7) + >; + }; + + user_led_pmx: user_led_pmx { + pinctrl-single,bits = < + GPIO5_MUX_CFG(0, 0, 3) + GPIO5_MUX_CFG(0, 0, 6) + >; + }; + + ir_pmx: ir_pmx { + pinctrl-single,bits = < + GPIO5_MUX_CFG(0, 0, 5) + >; + }; + + stb_key_pmx:stb_key_pmx { + pinctrl-single,bits = < + GPIO5_MUX_CFG(0, 0, 2) + >; + }; +};