diff mbox series

[2/2] pwm: jz4740: Add support for X1000 SoC

Message ID 20220209231141.20184-2-aidanmacdonald.0x0@gmail.com
State Accepted
Headers show
Series [1/2] dt-bindings: timer: Add PWM compatible for X1000 SoC | expand

Commit Message

Aidan MacDonald Feb. 9, 2022, 11:11 p.m. UTC
The X1000 has the same TCU / PWM hardware as other Ingenic SoCs,
but it has only 5 channels.

Signed-off-by: Aidan MacDonald <aidanmacdonald.0x0@gmail.com>
---
 arch/mips/boot/dts/ingenic/x1000.dtsi | 13 +++++++++++++
 drivers/pwm/pwm-jz4740.c              |  5 +++++
 2 files changed, 18 insertions(+)

Comments

Paul Cercueil Feb. 14, 2022, 12:02 p.m. UTC | #1
Hi Aidan,

Le mer., févr. 9 2022 at 23:11:42 +0000, Aidan MacDonald 
<aidanmacdonald.0x0@gmail.com> a écrit :
> The X1000 has the same TCU / PWM hardware as other Ingenic SoCs,
> but it has only 5 channels.
> 
> Signed-off-by: Aidan MacDonald <aidanmacdonald.0x0@gmail.com>
> ---
>  arch/mips/boot/dts/ingenic/x1000.dtsi | 13 +++++++++++++
>  drivers/pwm/pwm-jz4740.c              |  5 +++++

Please put the driver and device tree changes into separate patches.

Cheers,
-Paul

>  2 files changed, 18 insertions(+)
> 
> diff --git a/arch/mips/boot/dts/ingenic/x1000.dtsi 
> b/arch/mips/boot/dts/ingenic/x1000.dtsi
> index 8bd27edef216..0dcf37527c8e 100644
> --- a/arch/mips/boot/dts/ingenic/x1000.dtsi
> +++ b/arch/mips/boot/dts/ingenic/x1000.dtsi
> @@ -127,6 +127,19 @@ wdt: watchdog@0 {
>  			clocks = <&tcu TCU_CLK_WDT>;
>  			clock-names = "wdt";
>  		};
> +
> +		pwm: pwm@40 {
> +			compatible = "ingenic,x1000-pwm";
> +			reg = <0x40 0x80>;
> +
> +			#pwm-cells = <3>;
> +
> +			clocks = <&tcu TCU_CLK_TIMER0>, <&tcu TCU_CLK_TIMER1>,
> +				 <&tcu TCU_CLK_TIMER2>, <&tcu TCU_CLK_TIMER3>,
> +				 <&tcu TCU_CLK_TIMER4>;
> +			clock-names = "timer0", "timer1", "timer2",
> +				      "timer3", "timer4";
> +		};
>  	};
> 
>  	rtc: rtc@10003000 {
> diff --git a/drivers/pwm/pwm-jz4740.c b/drivers/pwm/pwm-jz4740.c
> index 23dc1fb770e2..a5fdf97c0d2e 100644
> --- a/drivers/pwm/pwm-jz4740.c
> +++ b/drivers/pwm/pwm-jz4740.c
> @@ -256,10 +256,15 @@ static const struct soc_info __maybe_unused 
> jz4725b_soc_info = {
>  	.num_pwms = 6,
>  };
> 
> +static const struct soc_info __maybe_unused x1000_soc_info = {
> +	.num_pwms = 5,
> +};
> +
>  #ifdef CONFIG_OF
>  static const struct of_device_id jz4740_pwm_dt_ids[] = {
>  	{ .compatible = "ingenic,jz4740-pwm", .data = &jz4740_soc_info },
>  	{ .compatible = "ingenic,jz4725b-pwm", .data = &jz4725b_soc_info },
> +	{ .compatible = "ingenic,x1000-pwm", .data = &x1000_soc_info },
>  	{},
>  };
>  MODULE_DEVICE_TABLE(of, jz4740_pwm_dt_ids);
> --
> 2.34.1
>
Thierry Reding Feb. 24, 2022, 1:40 p.m. UTC | #2
On Mon, Feb 14, 2022 at 12:02:26PM +0000, Paul Cercueil wrote:
> Hi Aidan,
> 
> Le mer., févr. 9 2022 at 23:11:42 +0000, Aidan MacDonald
> <aidanmacdonald.0x0@gmail.com> a écrit :
> > The X1000 has the same TCU / PWM hardware as other Ingenic SoCs,
> > but it has only 5 channels.
> > 
> > Signed-off-by: Aidan MacDonald <aidanmacdonald.0x0@gmail.com>
> > ---
> >  arch/mips/boot/dts/ingenic/x1000.dtsi | 13 +++++++++++++
> >  drivers/pwm/pwm-jz4740.c              |  5 +++++
> 
> Please put the driver and device tree changes into separate patches.

Seemed a shame not to take this, so I've manually removed the DTS
changes and applied this to the PWM tree.

Aidan, probably best to resend the DTS snippet as a separate patch,
unless Paul also wants to apply this manually.

Thierry
Paul Cercueil Feb. 24, 2022, 3:25 p.m. UTC | #3
Hi,

Le jeu., févr. 24 2022 at 14:40:51 +0100, Thierry Reding 
<thierry.reding@gmail.com> a écrit :
> On Mon, Feb 14, 2022 at 12:02:26PM +0000, Paul Cercueil wrote:
>>  Hi Aidan,
>> 
>>  Le mer., févr. 9 2022 at 23:11:42 +0000, Aidan MacDonald
>>  <aidanmacdonald.0x0@gmail.com> a écrit :
>>  > The X1000 has the same TCU / PWM hardware as other Ingenic SoCs,
>>  > but it has only 5 channels.
>>  >
>>  > Signed-off-by: Aidan MacDonald <aidanmacdonald.0x0@gmail.com>
>>  > ---
>>  >  arch/mips/boot/dts/ingenic/x1000.dtsi | 13 +++++++++++++
>>  >  drivers/pwm/pwm-jz4740.c              |  5 +++++
>> 
>>  Please put the driver and device tree changes into separate patches.
> 
> Seemed a shame not to take this, so I've manually removed the DTS
> changes and applied this to the PWM tree.
> 
> Aidan, probably best to resend the DTS snippet as a separate patch,
> unless Paul also wants to apply this manually.

I am not the arch/mips/ maintainer, so a separate patch would be needed 
anyway, yes.

Cheers,
-Paul
diff mbox series

Patch

diff --git a/arch/mips/boot/dts/ingenic/x1000.dtsi b/arch/mips/boot/dts/ingenic/x1000.dtsi
index 8bd27edef216..0dcf37527c8e 100644
--- a/arch/mips/boot/dts/ingenic/x1000.dtsi
+++ b/arch/mips/boot/dts/ingenic/x1000.dtsi
@@ -127,6 +127,19 @@  wdt: watchdog@0 {
 			clocks = <&tcu TCU_CLK_WDT>;
 			clock-names = "wdt";
 		};
+
+		pwm: pwm@40 {
+			compatible = "ingenic,x1000-pwm";
+			reg = <0x40 0x80>;
+
+			#pwm-cells = <3>;
+
+			clocks = <&tcu TCU_CLK_TIMER0>, <&tcu TCU_CLK_TIMER1>,
+				 <&tcu TCU_CLK_TIMER2>, <&tcu TCU_CLK_TIMER3>,
+				 <&tcu TCU_CLK_TIMER4>;
+			clock-names = "timer0", "timer1", "timer2",
+				      "timer3", "timer4";
+		};
 	};
 
 	rtc: rtc@10003000 {
diff --git a/drivers/pwm/pwm-jz4740.c b/drivers/pwm/pwm-jz4740.c
index 23dc1fb770e2..a5fdf97c0d2e 100644
--- a/drivers/pwm/pwm-jz4740.c
+++ b/drivers/pwm/pwm-jz4740.c
@@ -256,10 +256,15 @@  static const struct soc_info __maybe_unused jz4725b_soc_info = {
 	.num_pwms = 6,
 };
 
+static const struct soc_info __maybe_unused x1000_soc_info = {
+	.num_pwms = 5,
+};
+
 #ifdef CONFIG_OF
 static const struct of_device_id jz4740_pwm_dt_ids[] = {
 	{ .compatible = "ingenic,jz4740-pwm", .data = &jz4740_soc_info },
 	{ .compatible = "ingenic,jz4725b-pwm", .data = &jz4725b_soc_info },
+	{ .compatible = "ingenic,x1000-pwm", .data = &x1000_soc_info },
 	{},
 };
 MODULE_DEVICE_TABLE(of, jz4740_pwm_dt_ids);