Skip to contentSkip to conversation

ARM: dts: hummingboard: Setup pwm lines

PATCH New Russell King 5 participants 6 messages Mar 2, 2015 – Mar 30, 2015

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 2/2 ARM: dts: hummingboard: Setup pwm lines

From: Rabeeh Khoury <[email protected]>

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

[tweaked alias for pwm pinctrl group --rmk]

---
For acks please.

 arch/arm/boot/dts/imx6qdl-hummingboard.dtsi | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)
arch/arm/boot/dts/imx6qdl-hummingboard.dtsi +23 -0
index 93588c987d2c..c0dc5948fa3c 100644
@@ -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>;
Signature · 1 line
1.8.3.1
#1 lore raw

PATCH 2/2 ARM: dts: hummingboard: Setup pwm lines

Am Montag, den 02.03.2015, 20:03 +0000 schrieb Russell King:

Quoted 49 lines

From: Rabeeh Khoury <[email protected]>

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

[tweaked alias for pwm pinctrl group --rmk]

---
For acks please.

 arch/arm/boot/dts/imx6qdl-hummingboard.dtsi | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)
arch/arm/boot/dts/imx6qdl-hummingboard.dtsi +12 -0
index 93588c987d2c..c0dc5948fa3c 100644
@@ -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";

arch/arm/boot/dts/imx6qdl-hummingboard.dtsi line 227

Quoted 10 lines
arch/arm/boot/dts/imx6qdl-hummingboard.dtsi +10 -0
+	 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

#2 lore raw

PATCH 2/2 ARM: dts: hummingboard: Setup pwm lines

Quoted 5 lines · Philipp Zabel

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).

Signature · 2 lines
FTTC broadband for 0.8mile line: currently at 10.5Mbps down 400kbps up
according to speedtest.net.
#3 lore raw

PATCH 2/2 ARM: dts: hummingboard: Setup pwm lines

Am Montag, den 09.03.2015, 15:40 +0000 schrieb Russell King - ARM Linux:

Quoted 10 lines · Philipp Zabel
Quoted 5 lines

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

#4 lore raw

PATCH 2/2 ARM: dts: hummingboard: Setup pwm lines

In reply to Philipp Zabel
Quoted 11 lines · Philipp Zabel

arch/arm/boot/dts/imx6qdl-hummingboard.dtsi line 227

Quoted 7 lines

+&pwm3 {

arch/arm/boot/dts/imx6qdl-hummingboard.dtsi +6 -0
+	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.

Quoted 2 lines

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

#5 lore raw

PATCH 2/2 ARM: dts: hummingboard: Setup pwm lines

In reply to Russell King
Quoted 13 lines · Russell King

From: Rabeeh Khoury <[email protected]>

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

Quoted 5 lines
[tweaked alias for pwm pinctrl group --rmk]

---
For acks please.

Ack.

Quoted 45 lines
  arch/arm/boot/dts/imx6qdl-hummingboard.dtsi | 23 +++++++++++++++++++++++
  1 file changed, 23 insertions(+)
arch/arm/boot/dts/imx6qdl-hummingboard.dtsi +23 -0
index 93588c987d2c..c0dc5948fa3c 100644
@@ -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>;