Skip to contentSkip to conversation

dt-bindings: pwm: tegra: Document Tegra234 pwm binding

PATCH Applied Sandipan Patra 3 participants 8 messages Sep 19, 2022 – Nov 3, 2022

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

PATCH v5 1/3 dt-bindings: pwm: tegra: Document Tegra234 pwm binding

Add compatible for nvidia,tegra234-pwm with nvidia,tegra194-pwm as a fallback.
The PWM controller blocks are identical to ones found on the Tegra194 SoC. No driver changes are required and compatible string "nvidia,tegra194-pwm" will be used as a fallback.

---
V3 -> V4: Mention fallback compatible
V4 -> V5: Update Compatible with both Tegra234 and fallback

 Documentation/devicetree/bindings/pwm/nvidia,tegra20-pwm.txt | 1 +
 1 file changed, 1 insertion(+)
Documentation/devicetree/bindings/pwm/nvidia,tegra20-pwm.txt +1 -0
index 74c41e34c3b6..47f1abf20118 100644
@@ -10,6 +10,7 @@ Required properties:
   - "nvidia,tegra210-pwm", "nvidia,tegra20-pwm": for Tegra210
   - "nvidia,tegra186-pwm": for Tegra186
   - "nvidia,tegra194-pwm": for Tegra194
+  - "nvidia,tegra234-pwm", "nvidia,tegra194-pwm": for Tegra234
 - reg: physical base address and length of the controller's registers
 - #pwm-cells: should be 2. See pwm.yaml in this directory for a description of
   the cells format.
Signature · 1 line
2.17.1
#1 lore raw

PATCH v5 2/3 arm64: tegra: Add PWM controllers on Tegra234

Tegra234 has eight single-channel PWM controllers, one of them in the AON block.

---
V4->V5: Update compatable with Tegra234 and fallback

 arch/arm64/boot/dts/nvidia/tegra234.dtsi | 88 +++++++++++++++++++++++-
 1 file changed, 86 insertions(+), 2 deletions(-)
arch/arm64/boot/dts/nvidia/tegra234.dtsi +86 -2
index 0170bfa8a467..b1b29e3c207c 100644
@@ -870,8 +870,8 @@
 		};
 
 		pwm1: pwm@3280000 {
-			compatible = "nvidia,tegra194-pwm",
-				     "nvidia,tegra186-pwm";
+			compatible = "nvidia,tegra234-pwm",
+				     "nvidia,tegra194-pwm";
 			reg = <0x3280000 0x10000>;
 			clocks = <&bpmp TEGRA234_CLK_PWM1>;
 			clock-names = "pwm";
@@ -881,6 +881,90 @@
 			#pwm-cells = <2>;
 		};
 
+		pwm2: pwm@3290000 {
+			compatible = "nvidia,tegra234-pwm",
+				     "nvidia,tegra194-pwm";
+			reg = <0x3290000 0x10000>;
+			clocks = <&bpmp TEGRA234_CLK_PWM2>;
+			clock-names = "pwm";
+			resets = <&bpmp TEGRA234_RESET_PWM2>;
+			reset-names = "pwm";
+			status = "disabled";
+			#pwm-cells = <2>;
+		};
+
+		pwm3: pwm@32a0000 {
+			compatible = "nvidia,tegra234-pwm",
+				     "nvidia,tegra194-pwm";
+			reg = <0x32a0000 0x10000>;
+			clocks = <&bpmp TEGRA234_CLK_PWM3>;
+			clock-names = "pwm";
+			resets = <&bpmp TEGRA234_RESET_PWM3>;
+			reset-names = "pwm";
+			status = "disabled";
+			#pwm-cells = <2>;
+		};
+
+		pwm4: pwm@c340000 {
+			compatible = "nvidia,tegra234-pwm",
+				     "nvidia,tegra194-pwm";
+			reg = <0xc340000 0x10000>;
+			clocks = <&bpmp TEGRA234_CLK_PWM4>;
+			clock-names = "pwm";
+			resets = <&bpmp TEGRA234_RESET_PWM4>;
+			reset-names = "pwm";
+			status = "disabled";
+			#pwm-cells = <2>;
+		};
+
+		pwm5: pwm@32c0000 {
+			compatible = "nvidia,tegra234-pwm",
+				     "nvidia,tegra194-pwm";
+			reg = <0x32c0000 0x10000>;
+			clocks = <&bpmp TEGRA234_CLK_PWM5>;
+			clock-names = "pwm";
+			resets = <&bpmp TEGRA234_RESET_PWM5>;
+			reset-names = "pwm";
+			status = "disabled";
+			#pwm-cells = <2>;
+		};
+
+		pwm6: pwm@32d0000 {
+			compatible = "nvidia,tegra234-pwm",
+				     "nvidia,tegra194-pwm";
+			reg = <0x32d0000 0x10000>;
+			clocks = <&bpmp TEGRA234_CLK_PWM6>;
+			clock-names = "pwm";
+			resets = <&bpmp TEGRA234_RESET_PWM6>;
+			reset-names = "pwm";
+			status = "disabled";
+			#pwm-cells = <2>;
+		};
+
+		pwm7: pwm@32e0000 {
+			compatible = "nvidia,tegra234-pwm",
+				     "nvidia,tegra194-pwm";
+			reg = <0x32e0000 0x10000>;
+			clocks = <&bpmp TEGRA234_CLK_PWM7>;
+			clock-names = "pwm";
+			resets = <&bpmp TEGRA234_RESET_PWM7>;
+			reset-names = "pwm";
+			status = "disabled";
+			#pwm-cells = <2>;
+		};
+
+		pwm8: pwm@32f0000 {
+			compatible = "nvidia,tegra234-pwm",
+				     "nvidia,tegra194-pwm";
+			reg = <0x32f0000 0x10000>;
+			clocks = <&bpmp TEGRA234_CLK_PWM8>;
+			clock-names = "pwm";
+			resets = <&bpmp TEGRA234_RESET_PWM8>;
+			reset-names = "pwm";
+			status = "disabled";
+			#pwm-cells = <2>;
+		};
+
 		spi@3300000 {
 			compatible = "nvidia,tegra234-qspi";
 			reg = <0x3300000 0x1000>;
Signature · 1 line
2.17.1
#3 lore raw

Re: [PATCH v5 2/3] arm64: tegra: Add PWM controllers on Tegra234

In reply to Sandipan Patra
Quoted 9 lines · Sandipan Patra

Tegra234 has eight single-channel PWM controllers, one of them in the AON block.

---
V4->V5: Update compatable with Tegra234 and fallback

 arch/arm64/boot/dts/nvidia/tegra234.dtsi | 88 +++++++++++++++++++++++-
 1 file changed, 86 insertions(+), 2 deletions(-)

I've merged this with Jon's changes that also added these.

Thanks,
Thierry

#4 lore raw

PATCH v5 3/3 arm64: tegra: Add user PWM support on Jetson Orin

In reply to Sandipan Patra

Enable in device tree and use it to drive the PWM controllers on 40 pin header of Orin dev-kit.

---
V1->V2: Overriding by node label instead of node path.

 arch/arm64/boot/dts/nvidia/tegra234-p3737-0000.dtsi | 12 ++++++++++++
 1 file changed, 12 insertions(+)
arch/arm64/boot/dts/nvidia/tegra234-p3737-0000.dtsi +12 -0
index a85993c85e45..5108013a18c6 100644
@@ -3,3 +3,15 @@
 / {
 	compatible = "nvidia,p3737-0000";
 };
+
+&pwm1 {
+	status = "okay";
+};
+
+&pwm5 {
+	status = "okay";
+};
+
+&pwm8 {
+	status = "okay";
+};
Signature · 1 line
2.17.1
#5 lore raw

Re: [PATCH v5 3/3] arm64: tegra: Add user PWM support on Jetson Orin

Quoted 9 lines · Sandipan Patra

Enable in device tree and use it to drive the PWM controllers on 40 pin header of Orin dev-kit.

---
V1->V2: Overriding by node label instead of node path.

 arch/arm64/boot/dts/nvidia/tegra234-p3737-0000.dtsi | 12 ++++++++++++
 1 file changed, 12 insertions(+)

Applied, thanks.

Thierry

Acked-by on v5 1/3
#6 lore raw
In reply to Sandipan Patra
Quoted 7 lines · Sandipan Patra

Add compatible for nvidia,tegra234-pwm with nvidia,tegra194-pwm as a fallback.
The PWM controller blocks are identical to ones found on the Tegra194 SoC. No driver changes are required and compatible string "nvidia,tegra194-pwm" will be used as a fallback.

Best regards,
Krzysztof

#7 lore raw
In reply to Sandipan Patra
Quoted 6 lines · Sandipan Patra

Add compatible for nvidia,tegra234-pwm with nvidia,tegra194-pwm as a fallback.
The PWM controller blocks are identical to ones found on the Tegra194 SoC. No driver changes are required and compatible string "nvidia,tegra194-pwm" will be used as a fallback.

Quoted 7 lines

---
V3 -> V4: Mention fallback compatible
V4 -> V5: Update Compatible with both Tegra234 and fallback

 Documentation/devicetree/bindings/pwm/nvidia,tegra20-pwm.txt | 1 +
 1 file changed, 1 insertion(+)

Applied, thanks.

Thierry