All of lore.kernel.org
 help / color / mirror / Atom feed
From: grinberg@compulab.co.il (Igor Grinberg)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 10/10] ARM: dts: support pinmux in pxa910
Date: Wed, 06 Feb 2013 16:12:08 +0200	[thread overview]
Message-ID: <511264B8.6080606@compulab.co.il> (raw)
In-Reply-To: <1359886551-20950-11-git-send-email-haojian.zhuang@linaro.org>


On 02/03/13 12:15, Haojian Zhuang wrote:
> Add gpio range, pinmux settings in pxa910 dkb DTS file.
> 
> Signed-off-by: Haojian Zhuang <haojian.zhuang@linaro.org>
> ---
>  arch/arm/boot/dts/pxa910-dkb.dts |  264 ++++++++++++++++++++++++++++++++++++++
>  arch/arm/boot/dts/pxa910.dtsi    |   29 ++++-
>  2 files changed, 291 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/arm/boot/dts/pxa910-dkb.dts b/arch/arm/boot/dts/pxa910-dkb.dts
> index 595492a..72eb6bc 100644
> --- a/arch/arm/boot/dts/pxa910-dkb.dts
> +++ b/arch/arm/boot/dts/pxa910-dkb.dts
> @@ -170,6 +170,270 @@

[...]

> +			pmx: pinmux at d401e000 {
> +				/* pin base, nr pins & gpio function */
> +				pinctrl-single,gpio-range = <
> +					/*
> +					 * GPIO number is hardcoded for range at here.
> +					 * In gpio chip, GPIO number is not hardcoded for range.
> +					 * Since one gpio pin may be routed to multiple pins,
> +					 * define these gpio range in pxa910-dkb.dts not pxa910.dtsi.
> +					 */
> +						&range 55 55 0	/* GPIO0 ~ GPIO54 */
> +						&range 188 5 1	/* GPIO55 ~ GPIO59 */ 

If this is interesting git am says:
patch:66: trailing whitespace.
                                                &range 188 5 1  /* GPIO55 ~ GPIO59 */ 
warning: 1 line adds whitespace errors.

> +						&range 193 7 0	/* GPIO60 ~ GPIO66 */
> +						&range 110 43 0	/* GPIO67 ~ GPIO109 */
> +						&range 166 7 0	/* GPIO110 ~ GPIO116 */
> +						&range 45 4 0	/* GPIO117 ~ GPIO120 */
> +						&range 50 2 1	/* GPIO122 ~ GPIO123 */
> +						&range 203 1 0	/* GPIO121 */
> +						&range 52 1 0	/* GPIO124 */
> +						&range 53 1 1	/* GPIO125 */
> +						&range 27 2 0	/* GPIO126 ~ GPIO127 */
> +					>;
> +
> +				pinctrl-names = "default";
> +				pinctrl-0 = <&keypad_pmx_func>;
> +
> +				uart1_pmx_func: pinmux_uart1_pins at 0 {
> +					pinctrl-single,pins = <
> +						0x198 0x6	/* GPIO47_UART1_RXD */
> +						0x19c 0x6	/* GPIO48_UART1_TXD */
> +					>;
> +					/* slew rate set value, mask */
> +					pinctrl-single,slew-rate = <0x1000 0x1800>;
> +					/* bias set value, match, mask */
> +					pinctrl-single,bias-disable = <0x8000 0x0 0x8000>;
> +					pinctrl-single,bias-pullup = <0x4000 0x4000 0x4000>;
> +					pinctrl-single,bias-pulldown = <0x0 0x2000 0x2000>;
> +					/* input schmitt set value, mask */
> +					pinctrl-single,input-schmitt = <0x40 0x70>;
> +					/* input schmitt disable value, match, mask */
> +					pinctrl-single,input-schmitt-disable = <0x40 0x40 0x70>;
> +				};
> +				uart2_pmx_func: pinmux_uart2_pins at 0 {
> +					pinctrl-single,pins = <
> +						0x150 0x4	/* GPIO29_UART2_CTS */
> +						0x154 0x4	/* GPIO30_UART2_RTS */
> +						0x158 0x4	/* GPIO31_UART2_TXD */
> +						0x15c 0x4	/* GPIO32_UART2_RXD */
> +					>;
> +					pinctrl-single,slew-rate = <0x1000 0x1800>;
> +					pinctrl-single,bias-disable = <0x0 0x0 0x8000>;
> +					pinctrl-single,bias-pullup = <0x0 0x4000 0x4000>;
> +					pinctrl-single,bias-pulldown = <0x0 0x2000 0x2000>;
> +					pinctrl-single,input-schmitt = <0x40 0x70>;
> +					pinctrl-single,input-schmitt-disable = <0x40 0x40 0x70>;
> +				};
> +				uart3_pmx_func: pinmux_uart3_pins at 0 {
> +					pinctrl-single,pins = <
> +						0x188 0x7	/* GPIO43_UART3_RXD */
> +						0x18c 0x7	/* GPIO44_UART3_TXD */
> +					>;
> +					pinctrl-single,slew-rate = <0x1000 0x1800>;
> +					pinctrl-single,bias-disable = <0x0 0x0 0x8000>;
> +					pinctrl-single,bias-pullup = <0x0 0x4000 0x4000>;
> +					pinctrl-single,bias-pulldown = <0x0 0x2000 0x2000>;
> +					pinctrl-single,input-schmitt = <0x40 0x70>;
> +					pinctrl-single,input-schmitt-disable = <0x40 0x40 0x70>;
> +				};
> +				twsi1_pmx_func: pinmux_twsi1_pins at 0 {
> +					pinctrl-single,pins = <
> +						0x1b0 0x2	/* GPIO53_TWSI_SCL */
> +						0x1b4 0x2	/* GPIO54_TWSI_SDA */
> +					>;
> +					pinctrl-single,slew-rate = <0x1000 0x1800>;
> +					pinctrl-single,bias-disable = <0x0 0x0 0x8000>;
> +					pinctrl-single,bias-pullup = <0x0 0x4000 0x4000>;
> +					pinctrl-single,bias-pulldown = <0x0 0x2000 0x2000>;
> +					pinctrl-single,input-schmitt = <0x40 0x70>;
> +					pinctrl-single,input-schmitt-disable = <0x40 0x40 0x70>;
> +				};
> +				nand_pmx_func: pinmux_nand_pins at 0 {
> +					pinctrl-single,pins = <
> +						0x040 0x0	/* ND_IO0 */
> +						0x03c 0x0	/* ND_IO1 */
> +						0x038 0x0	/* ND_IO2 */
> +						0x034 0x0	/* ND_IO3 */
> +						0x030 0x0	/* ND_IO4 */
> +						0x02c 0x0	/* ND_IO5 */
> +						0x028 0x0	/* ND_IO6 */
> +						0x024 0x0	/* ND_IO7 */
> +						0x020 0x0	/* ND_IO8 */
> +						0x01c 0x0	/* ND_IO9 */
> +						0x018 0x0	/* ND_IO10 */
> +						0x014 0x0	/* ND_IO11 */
> +						0x010 0x0	/* ND_IO12 */
> +						0x00c 0x0	/* ND_IO13 */
> +						0x008 0x0	/* ND_IO14 */
> +						0x004 0x0	/* ND_IO15 */
> +						0x044 0x0	/* ND_nCS0 */
> +						0x060 0x1	/* ND_ALE */
> +						0x05c 0x0	/* ND_CLE */
> +						0x054 0x1	/* ND_nWE */
> +						0x058 0x1	/* ND_nRE */
> +						0x068 0x0	/* ND_RDY0 */
> +					>;
> +					pinctrl-single,slew-rate = <0x1000 0x1800>;
> +					pinctrl-single,bias-disable = <0x0 0x0 0x8000>;
> +					pinctrl-single,bias-pullup = <0x0 0x4000 0x4000>;
> +					pinctrl-single,bias-pulldown = <0x0 0x2000 0x2000>;
> +					pinctrl-single,input-schmitt = <0x40 0x70>;
> +					pinctrl-single,input-schmitt-disable = <0x40 0x40 0x70>;
> +				};
> +				mmc1_pmx_func1: pinmux_mmc1_pins at 0 {
> +					pinctrl-single,pins = <
> +						0x0a0 0x0	/* MMC1_DATA0 */
> +						0x09c 0x0	/* MMC1_DATA1 */
> +						0x098 0x0	/* MMC1_DATA2 */
> +						0x094 0x0	/* MMC1_DATA3 */
> +						0x090 0x0	/* MMC1_DATA4 */
> +						0x08c 0x0	/* MMC1_DATA5 */
> +						0x088 0x0	/* MMC1_DATA6 */
> +						0x084 0x0	/* MMC1_DATA7 */
> +						0x0a4 0x0	/* MMC1_CMD */
> +						0x0a8 0x0	/* MMC1_CLK */
> +					>;
> +					pinctrl-single,slew-rate = <0x1800 0x1800>;
> +					pinctrl-single,bias-disable = <0x0 0x0 0x8000>;
> +					pinctrl-single,bias-pullup = <0x0 0x4000 0x4000>;
> +					pinctrl-single,bias-pulldown = <0x0 0x2000 0x2000>;
> +					pinctrl-single,input-schmitt = <0x40 0x70>;
> +					pinctrl-single,input-schmitt-disable = <0x40 0x40 0x70>;
> +				};
> +				mmc1_pmx_func2: pinmux_mmc1_pins at 1 {
> +					pinctrl-single,pins = <
> +						0x0ac 0x0	/* MMC1_CD */
> +						0x0b0 0x0	/* MMC1_WP */
> +					>;
> +					pinctrl-single,slew-rate = <0x1000 0x1800>;
> +					pinctrl-single,bias-disable = <0x0 0x0 0x8000>;
> +					pinctrl-single,bias-pullup = <0x0 0x4000 0x4000>;
> +					pinctrl-single,bias-pulldown = <0x0 0x2000 0x2000>;
> +					pinctrl-single,input-schmitt = <0x40 0x70>;
> +					pinctrl-single,input-schmitt-disable = <0x40 0x40 0x70>;
> +				};
> +				mmc2_pmx_func: pinmux_mmc2_pins at 0 {
> +					pinctrl-single,pins = <
> +						0x180 0x1	/* MMC2_CMD */
> +						0x184 0x1	/* MMC2_CLK */
> +						0x17c 0x1	/* MMC2_DATA0 */
> +						0x178 0x1	/* MMC2_DATA1 */
> +						0x174 0x1	/* MMC2_DATA2 */
> +						0x170 0x1	/* MMC2_DATA3 */
> +					>;
> +					pinctrl-single,slew-rate = <0x1000 0x1800>;
> +					pinctrl-single,bias-disable = <0x0 0x0 0x8000>;
> +					pinctrl-single,bias-pullup = <0x0 0x4000 0x4000>;
> +					pinctrl-single,bias-pulldown = <0x0 0x2000 0x2000>;
> +					pinctrl-single,input-schmitt = <0x40 0x70>;
> +					pinctrl-single,input-schmitt-disable = <0x40 0x40 0x70>;
> +				};
> +				ssp1_pmx_func: pinmux_ssp1_pins at 0 {
> +					pinctrl-single,pins = <
> +						0x130 0x1	/* GPIO21_SSP1_SCLK */
> +						0x134 0x1	/* GPIO22_SSP1_FRM */
> +						0x138 0x1	/* GPIO23_SSP1_TXD */
> +						0x13c 0x1	/* GPIO24_SSP1_RXD */
> +					>;
> +					pinctrl-single,slew-rate = <0x1000 0x1800>;
> +					pinctrl-single,bias-disable = <0x0 0x0 0x8000>;
> +					pinctrl-single,bias-pullup = <0x0 0x4000 0x4000>;
> +					pinctrl-single,bias-pulldown = <0x0 0x2000 0x2000>;
> +					pinctrl-single,input-schmitt = <0x40 0x70>;
> +					pinctrl-single,input-schmitt-disable = <0x40 0x40 0x70>;
> +				};
> +				keypad_pmx_func: pinmux_keypad_pins at 0 {
> +					pinctrl-single,pins = <
> +						0x0dc 0x1	/* GPIO0_MKIN0 */
> +						0x0e0 0x1	/* GPIO1_MKOUT0 */
> +						0x0e4 0x1	/* GPIO2_MKIN1 */
> +						0x0e8 0x1	/* GPIO3_MKOUT1 */
> +						0x0ec 0x1	/* GPIO4_MKIN2 */
> +						0x0f0 0x1	/* GPIO5_MKOUT2 */
> +						0x0f4 0x1	/* GPIO6_MKIN3 */
> +						0x0f8 0x1	/* GPIO7_MKOUT3 */
> +						0x0fc 0x1	/* GPIO8_MKIN4 */
> +						0x100 0x1	/* GPIO9_MKOUT4 */
> +						0x10c 0x1	/* GPIO12_MKIN6 */
> +					>;
> +					pinctrl-single,slew-rate = <0x1000 0x1800>;
> +					pinctrl-single,bias-disable = <0x8000 0x0 0x8000>;
> +					pinctrl-single,bias-pullup = <0x0 0x4000 0x4000>;
> +					pinctrl-single,bias-pulldown = <0x2000 0x2000 0x2000>;
> +					pinctrl-single,input-schmitt = <0x40 0x70>;
> +					pinctrl-single,input-schmitt-disable = <0x40 0x40 0x70>;
> +				};
> +				nfc_pmx_func: pinmux_nfc_pins at 0 {
> +					pinctrl-single,pins = <
> +						0x120 0x0	/* GPIO17 */
> +					>;
> +					pinctrl-single,slew-rate = <0x1000 0x1800>;
> +					pinctrl-single,bias-disable = <0x0 0x0 0x8000>;
> +					pinctrl-single,bias-pullup = <0x0 0x4000 0x4000>;
> +					pinctrl-single,bias-pulldown = <0x0 0x2000 0x2000>;
> +					pinctrl-single,input-schmitt = <0x40 0x70>;
> +					pinctrl-single,input-schmitt-disable = <0x40 0x40 0x70>;
> +				};
> +				wlan_pmx_func: pinmux_wlan_pins at 0 {
> +					pinctrl-single,pins = <
> +						0x114 0x0	/* GPIO14 */
> +						0x12c 0x0	/* GPIO20 */
> +						0x160 0x0	/* GPIO33 */
> +						0x164 0x0	/* GPIO34 */
> +						0x168 0x0	/* GPIO35 */
> +						0x16c 0x0	/* GPIO36 */
> +					>;
> +					pinctrl-single,slew-rate = <0x1000 0x1800>;
> +					pinctrl-single,bias-disable = <0x0 0x0 0x8000>;
> +					pinctrl-single,bias-pullup = <0x0 0x4000 0x4000>;
> +					pinctrl-single,bias-pulldown = <0x0 0x2000 0x2000>;
> +					pinctrl-single,input-schmitt = <0x40 0x70>;
> +					pinctrl-single,input-schmitt-disable = <0x40 0x40 0x70>;
> +				};
> +			};
>  		};
>  	};
>  };
> diff --git a/arch/arm/boot/dts/pxa910.dtsi b/arch/arm/boot/dts/pxa910.dtsi
> index 825aaca..20a3418 100644
> --- a/arch/arm/boot/dts/pxa910.dtsi
> +++ b/arch/arm/boot/dts/pxa910.dtsi
> @@ -93,28 +93,37 @@
>  				#address-cells = <1>;
>  				#size-cells = <1>;
>  				reg = <0xd4019000 0x1000>;
> -				gpio-controller;
> -				#gpio-cells = <2>;
> +				marvell,gpio-ed-mask = <1>;
> +				marvell,nr-gpios = <128>;
>  				interrupts = <49>;
>  				interrupt-names = "gpio_mux";
>  				interrupt-controller;
>  				#interrupt-cells = <1>;
> +				status = "disabled";
>  				ranges;
>  
>  				gcb0: gpio at d4019000 {
>  					reg = <0xd4019000 0x4>;
> +					gpio-controller;
> +					#gpio-cells = <2>;
>  				};
>  
>  				gcb1: gpio at d4019004 {
>  					reg = <0xd4019004 0x4>;
> +					gpio-controller;
> +					#gpio-cells = <2>;
>  				};
>  
>  				gcb2: gpio at d4019008 {
>  					reg = <0xd4019008 0x4>;
> +					gpio-controller;
> +					#gpio-cells = <2>;
>  				};
>  
>  				gcb3: gpio at d4019100 {
>  					reg = <0xd4019100 0x4>;
> +					gpio-controller;
> +					#gpio-cells = <2>;
>  				};
>  			};
>  
> @@ -144,6 +153,22 @@
>  				interrupt-names = "rtc 1Hz", "rtc alarm";
>  				status = "disabled";
>  			};
> +
> +			pmx: pinmux at d401e000 {
> +				compatible = "pinconf-single";
> +				reg = <0xd401e000 0x330>;
> +				#address-cells = <1>;
> +				#size-cells = <1>;
> +				#gpio-range-cells = <3>;
> +				ranges;
> +
> +				pinctrl-single,register-width = <32>;
> +				pinctrl-single,function-mask = <7>;
> +
> +				range: gpio-range {
> +					#pinctrl-single,gpio-range-cells = <3>;
> +				};
> +			};
>  		};
>  	};
>  };
> 

-- 
Regards,
Igor.

  reply	other threads:[~2013-02-06 14:12 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-02-03 10:15 [PATCH v2 00/10] rework pxa gpio driver for pinctrl Haojian Zhuang
2013-02-03 10:15 ` [PATCH v2 01/10] gpio: pxa: identify ed mask reg with platform data Haojian Zhuang
2013-02-03 10:15 ` [PATCH v2 02/10] gpio: pxa: avoid to use global irq base Haojian Zhuang
2013-02-07 15:17   ` Igor Grinberg
2013-02-13 14:18   ` Igor Grinberg
2013-02-13 14:55     ` Haojian Zhuang
2013-02-14  9:27       ` Igor Grinberg
2013-02-14 12:19         ` Linus Walleij
2013-02-14 12:45           ` Igor Grinberg
2013-02-14 15:34             ` Linus Walleij
2013-02-17 14:54             ` Haojian Zhuang
2013-02-03 10:15 ` [PATCH v2 03/10] gpio: pxa: use platform data for gpio inverted Haojian Zhuang
2013-02-07 15:17   ` Igor Grinberg
2013-02-03 10:15 ` [PATCH v2 04/10] gpio: pxa: remove gpio_type Haojian Zhuang
2013-02-07 15:17   ` Igor Grinberg
2013-02-03 10:15 ` [PATCH v2 05/10] gpio: pxa: define nr gpios in platform data Haojian Zhuang
2013-02-03 13:18   ` Igor Grinberg
2013-02-03 15:00     ` [PATCH v2 05/11] " Haojian Zhuang
2013-02-07 15:17       ` Igor Grinberg
2013-02-03 15:03     ` [PATCH v2 05/10] " Haojian Zhuang
2013-02-03 10:15 ` [PATCH v2 06/10] gpio: pxa: clean code for compatible name Haojian Zhuang
2013-02-07 15:17   ` Igor Grinberg
2013-02-03 10:15 ` [PATCH v2 07/10] gpio: pxa: remove arch related macro Haojian Zhuang
2013-02-07 15:17   ` Igor Grinberg
2013-02-03 10:15 ` [PATCH v2 08/10] gpio: pxa: move gpio properties into child node Haojian Zhuang
2013-02-03 10:15 ` [PATCH v2 09/10] gpio: pxa: bind to pinctrl by request Haojian Zhuang
2013-02-06 14:11   ` Igor Grinberg
2013-02-07 15:17   ` Igor Grinberg
2013-02-03 10:15 ` [PATCH v2 10/10] ARM: dts: support pinmux in pxa910 Haojian Zhuang
2013-02-06 14:12   ` Igor Grinberg [this message]
2013-02-05 16:44 ` [PATCH v2 00/10] rework pxa gpio driver for pinctrl Linus Walleij
2013-02-06  2:08   ` Haojian Zhuang
2013-02-07 15:32     ` Igor Grinberg
2013-02-07 15:52       ` Linus Walleij

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=511264B8.6080606@compulab.co.il \
    --to=grinberg@compulab.co.il \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.