2022-09-09 16:03:59

by Sandipan Patra

[permalink] [raw]
Subject: [PATCH] dt-bindings: pwm: tegra: Document Tegra234 pwm binding

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.

Signed-off-by: Sandipan Patra <[email protected]>
---
V4: Mention fallback compatible

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

diff --git a/Documentation/devicetree/bindings/pwm/nvidia,tegra20-pwm.txt b/Documentation/devicetree/bindings/pwm/nvidia,tegra20-pwm.txt
index 74c41e34c3b6..331c1e66e8fa 100644
--- a/Documentation/devicetree/bindings/pwm/nvidia,tegra20-pwm.txt
+++ b/Documentation/devicetree/bindings/pwm/nvidia,tegra20-pwm.txt
@@ -9,7 +9,7 @@ Required properties:
- "nvidia,tegra132-pwm", "nvidia,tegra20-pwm": for Tegra132
- "nvidia,tegra210-pwm", "nvidia,tegra20-pwm": for Tegra210
- "nvidia,tegra186-pwm": for Tegra186
- - "nvidia,tegra194-pwm": for Tegra194
+ - "nvidia,tegra194-pwm": for Tegra194, 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.
--
2.17.1


2022-09-09 16:20:17

by Sandipan Patra

[permalink] [raw]
Subject: [PATCH 2/3] arm64: tegra: Add PWM controllers on Tegra234

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

Signed-off-by: Sandipan Patra <[email protected]>
---
V3: Update binding doc and fix compatible property.

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

diff --git a/arch/arm64/boot/dts/nvidia/tegra234.dtsi b/arch/arm64/boot/dts/nvidia/tegra234.dtsi
index 81a0f599685f..d77ee9d81fb2 100644
--- a/arch/arm64/boot/dts/nvidia/tegra234.dtsi
+++ b/arch/arm64/boot/dts/nvidia/tegra234.dtsi
@@ -829,8 +829,7 @@
};

pwm1: pwm@3280000 {
- compatible = "nvidia,tegra194-pwm",
- "nvidia,tegra186-pwm";
+ compatible = "nvidia,tegra194-pwm";
reg = <0x3280000 0x10000>;
clocks = <&bpmp TEGRA234_CLK_PWM1>;
clock-names = "pwm";
@@ -840,6 +839,83 @@
#pwm-cells = <2>;
};

+ pwm2: pwm@3290000 {
+ compatible = "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,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,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,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,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,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,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>;
--
2.17.1

2022-09-09 16:43:26

by Sandipan Patra

[permalink] [raw]
Subject: [PATCH 3/3] arm64: tegra: Add user PWM support on Jetson Orin

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

Signed-off-by: Sandipan Patra <[email protected]>
---
V2: Overriding by node label instead of node path.

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

diff --git a/arch/arm64/boot/dts/nvidia/tegra234-p3737-0000.dtsi b/arch/arm64/boot/dts/nvidia/tegra234-p3737-0000.dtsi
index a85993c85e45..5108013a18c6 100644
--- a/arch/arm64/boot/dts/nvidia/tegra234-p3737-0000.dtsi
+++ b/arch/arm64/boot/dts/nvidia/tegra234-p3737-0000.dtsi
@@ -3,3 +3,15 @@
/ {
compatible = "nvidia,p3737-0000";
};
+
+&pwm1 {
+ status = "okay";
+};
+
+&pwm5 {
+ status = "okay";
+};
+
+&pwm8 {
+ status = "okay";
+};
--
2.17.1

2022-09-09 16:48:12

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH 2/3] arm64: tegra: Add PWM controllers on Tegra234

On 09/09/2022 18:39, Krzysztof Kozlowski wrote:
> On 09/09/2022 17:52, Sandipan Patra wrote:
>> Tegra234 has eight single-channel PWM controllers, one of them in the
>> AON block.
>>
>> Signed-off-by: Sandipan Patra <[email protected]>
>> ---
>> V3: Update binding doc and fix compatible property.
>>
>> arch/arm64/boot/dts/nvidia/tegra234.dtsi | 80 +++++++++++++++++++++++-
>> 1 file changed, 78 insertions(+), 2 deletions(-)
>>
>> diff --git a/arch/arm64/boot/dts/nvidia/tegra234.dtsi b/arch/arm64/boot/dts/nvidia/tegra234.dtsi
>> index 81a0f599685f..d77ee9d81fb2 100644
>> --- a/arch/arm64/boot/dts/nvidia/tegra234.dtsi
>> +++ b/arch/arm64/boot/dts/nvidia/tegra234.dtsi
>> @@ -829,8 +829,7 @@
>> };
>>
>> pwm1: pwm@3280000 {
>> - compatible = "nvidia,tegra194-pwm",
>> - "nvidia,tegra186-pwm";
>> + compatible = "nvidia,tegra194-pwm";
>
> Where is the fallback?

Wait, other way around. Fallback is here, but where is the Tegra234
compatible?

Best regards,
Krzysztof

2022-09-09 16:49:10

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH 2/3] arm64: tegra: Add PWM controllers on Tegra234

On 09/09/2022 17:52, Sandipan Patra wrote:
> Tegra234 has eight single-channel PWM controllers, one of them in the
> AON block.
>
> Signed-off-by: Sandipan Patra <[email protected]>
> ---
> V3: Update binding doc and fix compatible property.
>
> arch/arm64/boot/dts/nvidia/tegra234.dtsi | 80 +++++++++++++++++++++++-
> 1 file changed, 78 insertions(+), 2 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/nvidia/tegra234.dtsi b/arch/arm64/boot/dts/nvidia/tegra234.dtsi
> index 81a0f599685f..d77ee9d81fb2 100644
> --- a/arch/arm64/boot/dts/nvidia/tegra234.dtsi
> +++ b/arch/arm64/boot/dts/nvidia/tegra234.dtsi
> @@ -829,8 +829,7 @@
> };
>
> pwm1: pwm@3280000 {
> - compatible = "nvidia,tegra194-pwm",
> - "nvidia,tegra186-pwm";
> + compatible = "nvidia,tegra194-pwm";

Where is the fallback?

Best regards,
Krzysztof

2022-09-09 17:03:22

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH] dt-bindings: pwm: tegra: Document Tegra234 pwm binding

On 09/09/2022 17:52, Sandipan Patra wrote:
> 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.
>
> Signed-off-by: Sandipan Patra <[email protected]>
> ---
> V4: Mention fallback compatible

The patch is not titled v4.

>
> Documentation/devicetree/bindings/pwm/nvidia,tegra20-pwm.txt | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/Documentation/devicetree/bindings/pwm/nvidia,tegra20-pwm.txt b/Documentation/devicetree/bindings/pwm/nvidia,tegra20-pwm.txt
> index 74c41e34c3b6..331c1e66e8fa 100644
> --- a/Documentation/devicetree/bindings/pwm/nvidia,tegra20-pwm.txt
> +++ b/Documentation/devicetree/bindings/pwm/nvidia,tegra20-pwm.txt
> @@ -9,7 +9,7 @@ Required properties:
> - "nvidia,tegra132-pwm", "nvidia,tegra20-pwm": for Tegra132
> - "nvidia,tegra210-pwm", "nvidia,tegra20-pwm": for Tegra210
> - "nvidia,tegra186-pwm": for Tegra186
> - - "nvidia,tegra194-pwm": for Tegra194
> + - "nvidia,tegra194-pwm": for Tegra194, Tegra234

No differences here. You sent something old...

Best regards,
Krzysztof

2022-09-13 15:57:17

by Sandipan Patra

[permalink] [raw]
Subject: RE: [PATCH] dt-bindings: pwm: tegra: Document Tegra234 pwm binding



> -----Original Message-----
> From: Krzysztof Kozlowski <[email protected]>
> Sent: Friday, September 9, 2022 10:09 PM
> To: Sandipan Patra <[email protected]>; [email protected];
> Jonathan Hunter <[email protected]>; [email protected];
> [email protected]; [email protected]; linux-
> [email protected]; [email protected]
> Cc: Bibek Basu <[email protected]>; Krishna Yarlagadda
> <[email protected]>
> Subject: Re: [PATCH] dt-bindings: pwm: tegra: Document Tegra234 pwm
> binding
>
> External email: Use caution opening links or attachments
>
>
> On 09/09/2022 17:52, Sandipan Patra wrote:
> > 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.
> >
> > Signed-off-by: Sandipan Patra <[email protected]>
> > ---
> > V4: Mention fallback compatible
>
> The patch is not titled v4.

This was my mistake. Will update in next patch.
>
> >
> > Documentation/devicetree/bindings/pwm/nvidia,tegra20-pwm.txt | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git
> > a/Documentation/devicetree/bindings/pwm/nvidia,tegra20-pwm.txt
> > b/Documentation/devicetree/bindings/pwm/nvidia,tegra20-pwm.txt
> > index 74c41e34c3b6..331c1e66e8fa 100644
> > --- a/Documentation/devicetree/bindings/pwm/nvidia,tegra20-pwm.txt
> > +++ b/Documentation/devicetree/bindings/pwm/nvidia,tegra20-pwm.txt
> > @@ -9,7 +9,7 @@ Required properties:
> > - "nvidia,tegra132-pwm", "nvidia,tegra20-pwm": for Tegra132
> > - "nvidia,tegra210-pwm", "nvidia,tegra20-pwm": for Tegra210
> > - "nvidia,tegra186-pwm": for Tegra186
> > - - "nvidia,tegra194-pwm": for Tegra194
> > + - "nvidia,tegra194-pwm": for Tegra194, Tegra234
>
> No differences here. You sent something old...

My understanding was not aligned. Will update the fix with new patch.

Thanks & Regards,
Sandipan

>
> Best regards,
> Krzysztof