diff mbox

[2/2] ARM: dts: hummingboard: Setup pwm lines

Message ID E1YSWZL-0002Aw-B5@rmk-PC.arm.linux.org.uk (mailing list archive)
State New, archived
Headers show

Commit Message

Russell King March 2, 2015, 8:03 p.m. UTC
From: Rabeeh Khoury <rabeeh@solid-run.com>

Setup pwm lines as follows -
pwm1: In case HummingBoard base carrier; this pin drives through a serial
      capacitor the mono out of the audio jack.
      In case HummingBoard pro the this pad can be reached by wiring to
      C8 capacitors on the board.
pwm2: Setup pwm2 on gpio-1 but leave the default function of the iopad as
      a gpio.
      The user can change the io pad mux in user space and therefore use
      this function on gpio-1 (pin number 7 on the 26 pin header).
pwm3,pwm4: unused

Signed-off-by: Rabeeh Khoury <rabeeh@solid-run.com>
[tweaked alias for pwm pinctrl group --rmk]
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
---
For acks please.

 arch/arm/boot/dts/imx6qdl-hummingboard.dtsi | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

Comments

Philipp Zabel March 3, 2015, 10:42 a.m. UTC | #1
Am Montag, den 02.03.2015, 20:03 +0000 schrieb Russell King:
> From: Rabeeh Khoury <rabeeh@solid-run.com>
> 
> Setup pwm lines as follows -
> pwm1: In case HummingBoard base carrier; this pin drives through a serial
>       capacitor the mono out of the audio jack.
>       In case HummingBoard pro the this pad can be reached by wiring to
>       C8 capacitors on the board.
> pwm2: Setup pwm2 on gpio-1 but leave the default function of the iopad as
>       a gpio.
>       The user can change the io pad mux in user space and therefore use
>       this function on gpio-1 (pin number 7 on the 26 pin header).
> pwm3,pwm4: unused
> 
> Signed-off-by: Rabeeh Khoury <rabeeh@solid-run.com>
> [tweaked alias for pwm pinctrl group --rmk]
> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
> ---
> For acks please.
> 
>  arch/arm/boot/dts/imx6qdl-hummingboard.dtsi | 23 +++++++++++++++++++++++
>  1 file changed, 23 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/imx6qdl-hummingboard.dtsi b/arch/arm/boot/dts/imx6qdl-hummingboard.dtsi
> index 93588c987d2c..c0dc5948fa3c 100644
> --- a/arch/arm/boot/dts/imx6qdl-hummingboard.dtsi
> +++ b/arch/arm/boot/dts/imx6qdl-hummingboard.dtsi
> @@ -164,6 +164,10 @@
>  			>;
>  		};
>  
> +		pinctrl_hummingboard_pwm1: pwm1grp {
> +			fsl,pins = <MX6QDL_PAD_DISP0_DAT8__PWM1_OUT 0x1b0b1>;
> +		};
> +
>  		pinctrl_hummingboard_spdif: hummingboard-spdif {
>  			fsl,pins = <MX6QDL_PAD_GPIO_17__SPDIF_OUT 0x13091>;
>  		};
> @@ -203,6 +207,25 @@
>  	};
>  };
>  
> +&pwm1 {
> +	 pinctrl-names = "default";
> +	 pinctrl-0 = <&pinctrl_hummingboard_pwm1>;
> +	 status = "okay";
> +};
> +
> +&pwm2 {
> +	 pinctrl-names = "default";
> +	 status = "okay";
> +};
> +
> +&pwm3 {
> +	status = "disabled";
> +};
> +
> +&pwm4 {
> +	status = "disabled";
> +};

I wanted to point out these two are superfluous since pwm3/4 are
disabled in the dtsi by default, but I just learned they aren't.

Should we add status = "disabled" to unusable (because not externally
connected) PWMs, and if so, shouldn't that be done in the dtsi already?

regards
Philipp
Russell King - ARM Linux March 9, 2015, 3:40 p.m. UTC | #2
On Tue, Mar 03, 2015 at 11:42:16AM +0100, Philipp Zabel wrote:
> I wanted to point out these two are superfluous since pwm3/4 are
> disabled in the dtsi by default, but I just learned they aren't.
> 
> Should we add status = "disabled" to unusable (because not externally
> connected) PWMs, and if so, shouldn't that be done in the dtsi already?

I guess it should, but we'd first need to ensure that none of the
existing platforms would break through changing that (eg, through
a missing status = "okay" entry).
Philipp Zabel March 9, 2015, 4:39 p.m. UTC | #3
Am Montag, den 09.03.2015, 15:40 +0000 schrieb Russell King - ARM Linux:
> On Tue, Mar 03, 2015 at 11:42:16AM +0100, Philipp Zabel wrote:
> > I wanted to point out these two are superfluous since pwm3/4 are
> > disabled in the dtsi by default, but I just learned they aren't.
> > 
> > Should we add status = "disabled" to unusable (because not externally
> > connected) PWMs, and if so, shouldn't that be done in the dtsi already?
> 
> I guess it should, but we'd first need to ensure that none of the
> existing platforms would break through changing that (eg, through
> a missing status = "okay" entry).

A grep \&pwm arch/arm/boot/dts/imx6* yields:

* imx6dl-aristainetos_4.dts - needs pwm1
* imx6dl-aristainetos_7.dts - needs pwm3
  imx6dl-riotboard.dts - already enables pwm1-4
  imx6dl-tx6dl-comtft.dts - already enables pwm2
  imx6dl-tx6u-801x.dts - pwm2 enabled in imx6qdl-tx6.dtsi
  imx6dl-tx6u-811x.dts - already enables pwm1, pwm2 enabled in imx6qdl-tx6.dtsi
* imx6qdl-cubox-i.dtsi - needs pwm1
  imx6qdl-gw52xx.dtsi - already enables pwm4
  imx6qdl-gw53xx.dtsi - already enables pwm4
  imx6qdl-gw54xx.dtsi - already enables pwm4
  imx6qdl-nitrogen6x.dtsi - already enables pwm1, 3, and 4
  imx6qdl-sabreauto.dtsi - already enables pwm3
  imx6qdl-sabrelite.dtsi - already enables pwm1, 3, and 4
  imx6qdl-sabresd.dtsi - already enables pwm1
  imx6q-tx6q-1010-comtft.dts - pwm2 enabled in imx6qdl-tx6.dtsi
  imx6q-tx6q-1010.dts - pwm2 enabled in imx6qdl-tx6.dtsi
  imx6q-tx6q-1020-comtft.dts - pwm2 enabled in imx6qdl-tx6.dtsi
  imx6q-tx6q-1020.dts - pwm2 enabled in imx6qdl-tx6.dtsi
  imx6q-tx6q-1110.dts - enables pwm1, pwm2 enabled in imx6qdl-tx6.dtsi
  imx6sl-evk.dts - enables pwm1
  imx6sx-sdb.dts - enables pwm3

Did I miss anything? I'll send a patch for those three.

regards
Philipp
Rabeeh Khoury March 23, 2015, 6:06 p.m. UTC | #4
On 03/02/2015 10:03 PM, Russell King wrote:
> From: Rabeeh Khoury <rabeeh@solid-run.com>
>
> Setup pwm lines as follows -
> pwm1: In case HummingBoard base carrier; this pin drives through a serial
>        capacitor the mono out of the audio jack.
>        In case HummingBoard pro the this pad can be reached by wiring to
>        C8 capacitors on the board.
> pwm2: Setup pwm2 on gpio-1 but leave the default function of the iopad as
>        a gpio.
>        The user can change the io pad mux in user space and therefore use
>        this function on gpio-1 (pin number 7 on the 26 pin header).
> pwm3,pwm4: unused
>
> Signed-off-by: Rabeeh Khoury <rabeeh@solid-run.com>
> [tweaked alias for pwm pinctrl group --rmk]
> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
> ---
> For acks please.
Ack.
>
>   arch/arm/boot/dts/imx6qdl-hummingboard.dtsi | 23 +++++++++++++++++++++++
>   1 file changed, 23 insertions(+)
>
> diff --git a/arch/arm/boot/dts/imx6qdl-hummingboard.dtsi b/arch/arm/boot/dts/imx6qdl-hummingboard.dtsi
> index 93588c987d2c..c0dc5948fa3c 100644
> --- a/arch/arm/boot/dts/imx6qdl-hummingboard.dtsi
> +++ b/arch/arm/boot/dts/imx6qdl-hummingboard.dtsi
> @@ -164,6 +164,10 @@
>   			>;
>   		};
>   
> +		pinctrl_hummingboard_pwm1: pwm1grp {
> +			fsl,pins = <MX6QDL_PAD_DISP0_DAT8__PWM1_OUT 0x1b0b1>;
> +		};
> +
>   		pinctrl_hummingboard_spdif: hummingboard-spdif {
>   			fsl,pins = <MX6QDL_PAD_GPIO_17__SPDIF_OUT 0x13091>;
>   		};
> @@ -203,6 +207,25 @@
>   	};
>   };
>   
> +&pwm1 {
> +	 pinctrl-names = "default";
> +	 pinctrl-0 = <&pinctrl_hummingboard_pwm1>;
> +	 status = "okay";
> +};
> +
> +&pwm2 {
> +	 pinctrl-names = "default";
> +	 status = "okay";
> +};
> +
> +&pwm3 {
> +	status = "disabled";
> +};
> +
> +&pwm4 {
> +	status = "disabled";
> +};
> +
>   &spdif {
>   	pinctrl-names = "default";
>   	pinctrl-0 = <&pinctrl_hummingboard_spdif>;
Shawn Guo March 30, 2015, 3:54 a.m. UTC | #5
On Tue, Mar 03, 2015 at 11:42:16AM +0100, Philipp Zabel wrote:
> > +&pwm3 {
> > +	status = "disabled";
> > +};
> > +
> > +&pwm4 {
> > +	status = "disabled";
> > +};
> 
> I wanted to point out these two are superfluous since pwm3/4 are
> disabled in the dtsi by default, but I just learned they aren't.
> 
> Should we add status = "disabled" to unusable (because not externally
> connected) PWMs, and if so, shouldn't that be done in the dtsi already?

Thanks Philipp for your patch "ARM: dts: imx6qdl: disable PWMs by
default".  Therefore I dropped pwm3/4 and applied the patch.

Shawn
diff mbox

Patch

diff --git a/arch/arm/boot/dts/imx6qdl-hummingboard.dtsi b/arch/arm/boot/dts/imx6qdl-hummingboard.dtsi
index 93588c987d2c..c0dc5948fa3c 100644
--- a/arch/arm/boot/dts/imx6qdl-hummingboard.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-hummingboard.dtsi
@@ -164,6 +164,10 @@ 
 			>;
 		};
 
+		pinctrl_hummingboard_pwm1: pwm1grp {
+			fsl,pins = <MX6QDL_PAD_DISP0_DAT8__PWM1_OUT 0x1b0b1>;
+		};
+
 		pinctrl_hummingboard_spdif: hummingboard-spdif {
 			fsl,pins = <MX6QDL_PAD_GPIO_17__SPDIF_OUT 0x13091>;
 		};
@@ -203,6 +207,25 @@ 
 	};
 };
 
+&pwm1 {
+	 pinctrl-names = "default";
+	 pinctrl-0 = <&pinctrl_hummingboard_pwm1>;
+	 status = "okay";
+};
+
+&pwm2 {
+	 pinctrl-names = "default";
+	 status = "okay";
+};
+
+&pwm3 {
+	status = "disabled";
+};
+
+&pwm4 {
+	status = "disabled";
+};
+
 &spdif {
 	pinctrl-names = "default";
 	pinctrl-0 = <&pinctrl_hummingboard_spdif>;