mbox series

[v3,0/8] Add RZ/G3E GPT support

Message ID 20250923144524.191892-1-biju.das.jz@bp.renesas.com
Headers show
Series Add RZ/G3E GPT support | expand

Message

Biju Sept. 23, 2025, 2:45 p.m. UTC
From: Biju Das <biju.das.jz@bp.renesas.com>

Add RZ/G3E GPT support. It has multiple clocks and resets compared to
RZ/G2L. Also prescale field width and factor for calculating prescale
are different.

This patch series depend upon[1]

[1]
https://lore.kernel.org/all/20250915163637.3572-1-biju.das.jz@bp.renesas.com/

v2->v3:
 * Added Rb tag from Rob for bindings patch
 * Dropped wave form callback conversion from this patch series as
   it is covered in another series[1]
 * Added suspend/resume support.
v1->v2:
 * Created separate document for RZ/G3E GPT.
 * Updated commit header and description for binding patch.
 * Added waveform callback conversion to this series.
 * Collected tag.
 * Added link to hardware manual
 * Updated limitation section in driver patch.

Biju Das (8):
  dt-bindings: pwm: Document RZ/G3E GPT support
  pwm: rzg2l-gpt: Add info variable to struct rzg2l_gpt_chip
  pwm: rzg2l-gpt: Add prescale_pow_of_two_mult_factor variable to struct
    rzg2l_gpt_info
  pwm: rzg2l-gpt: Add calculate_prescale() callback to struct
    rzg2l_gpt_info
  pwm: rzg2l-gpt: Add RZ/G3E support
  pwm: rzg2l-gpt: Add suspend/resume support
  arm64: dts: renesas: r9a09g047: Add GPT nodes
  arm64: dts: renesas: r9a09g047e57-smarc: Enable GPT on carrier board

 .../bindings/pwm/renesas,rzg3e-gpt.yaml       | 323 ++++++++++++++++++
 arch/arm64/boot/dts/renesas/r9a09g047.dtsi    | 184 ++++++++++
 .../boot/dts/renesas/r9a09g047e57-smarc.dts   |  13 +
 drivers/pwm/pwm-rzg2l-gpt.c                   | 209 ++++++++++--
 4 files changed, 704 insertions(+), 25 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/pwm/renesas,rzg3e-gpt.yaml


base-commit: bf2602a3cb2381fb1a04bf1c39a290518d2538d1

Comments

Uwe Kleine-König Dec. 1, 2025, 3:20 p.m. UTC | #1
Hello Biju,

On Tue, Sep 23, 2025 at 03:45:04PM +0100, Biju wrote:
> From: Biju Das <biju.das.jz@bp.renesas.com>
> 
> Add RZ/G3E GPT support. It has multiple clocks and resets compared to
> RZ/G2L. Also prescale field width and factor for calculating prescale
> are different.
> 
> This patch series depend upon[1]
> 
> [1]
> https://lore.kernel.org/all/20250915163637.3572-1-biju.das.jz@bp.renesas.com/
> 
> v2->v3:
>  * Added Rb tag from Rob for bindings patch
>  * Dropped wave form callback conversion from this patch series as
>    it is covered in another series[1]
>  * Added suspend/resume support.
> v1->v2:
>  * Created separate document for RZ/G3E GPT.
>  * Updated commit header and description for binding patch.
>  * Added waveform callback conversion to this series.
>  * Collected tag.
>  * Added link to hardware manual
>  * Updated limitation section in driver patch.
> 
> Biju Das (8):
>   dt-bindings: pwm: Document RZ/G3E GPT support
>   pwm: rzg2l-gpt: Add info variable to struct rzg2l_gpt_chip
>   pwm: rzg2l-gpt: Add prescale_pow_of_two_mult_factor variable to struct
>     rzg2l_gpt_info
>   pwm: rzg2l-gpt: Add calculate_prescale() callback to struct
>     rzg2l_gpt_info
>   pwm: rzg2l-gpt: Add RZ/G3E support
>   pwm: rzg2l-gpt: Add suspend/resume support
>   arm64: dts: renesas: r9a09g047: Add GPT nodes
>   arm64: dts: renesas: r9a09g047e57-smarc: Enable GPT on carrier board
> 
>  .../bindings/pwm/renesas,rzg3e-gpt.yaml       | 323 ++++++++++++++++++
>  arch/arm64/boot/dts/renesas/r9a09g047.dtsi    | 184 ++++++++++
>  .../boot/dts/renesas/r9a09g047e57-smarc.dts   |  13 +
>  drivers/pwm/pwm-rzg2l-gpt.c                   | 209 ++++++++++--
>  4 files changed, 704 insertions(+), 25 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/pwm/renesas,rzg3e-gpt.yaml
> 
> 
> base-commit: bf2602a3cb2381fb1a04bf1c39a290518d2538d1

I don't know what you did here, but applying your series doesn't work:

	uwe@monoceros:~/gsrc/linux$ b4 am -3 20250923144524.191892-1-biju.das.jz@bp.renesas.com
	Analyzing 19 messages in the thread
	Analyzing 27 code-review messages
	Checking attestation on all messages, may take a moment...
	---
	  ✗ [PATCH v3 1/8] dt-bindings: pwm: Document RZ/G3E GPT support
	  ✗ [PATCH v3 2/8] pwm: rzg2l-gpt: Add info variable to struct rzg2l_gpt_chip
	  ✗ [PATCH v3 3/8] pwm: rzg2l-gpt: Add prescale_pow_of_two_mult_factor variable to struct rzg2l_gpt_info
	  ✗ [PATCH v3 4/8] pwm: rzg2l-gpt: Add calculate_prescale() callback to struct rzg2l_gpt_info
	  ✗ [PATCH v3 5/8] pwm: rzg2l-gpt: Add RZ/G3E support
	  ✗ [PATCH v3 6/8] pwm: rzg2l-gpt: Add suspend/resume support
	  ✗ [PATCH v3 7/8] arm64: dts: renesas: r9a09g047: Add GPT nodes
	    + Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
	  ✗ [PATCH v3 8/8] arm64: dts: renesas: r9a09g047e57-smarc: Enable GPT on carrier board
	  ---
	  ✗ BADSIG: DKIM/gmail.com
	---
	Total patches: 8
	Preparing fake-am for v3: Add RZ/G3E GPT support
	ERROR: Could not fake-am version v3
	---
	Cover: ./v3_20250923_biju_das_au_add_rz_g3e_gpt_support.cover
	 Link: https://patch.msgid.link/20250923144524.191892-1-biju.das.jz@bp.renesas.com
	 Base: using specified base-commit bf2602a3cb2381fb1a04bf1c39a290518d2538d1
	       git checkout -b v3_20250923_biju_das_au_gmail_com bf2602a3cb2381fb1a04bf1c39a290518d2538d1
	       git am -3 ./v3_20250923_biju_das_au_add_rz_g3e_gpt_support.mbx

	uwe@monoceros:~/gsrc/linux$ git checkout bf2602a3cb2381fb1a04bf1c39a290518d2538d1
	Previous HEAD position was ...
	HEAD is now at bf2602a3cb23 Add linux-next specific files for 20250922

	uwe@monoceros:~/gsrc/linux$ git am -3 ./v3_20250923_biju_das_au_add_rz_g3e_gpt_support.mbx
	Applying: dt-bindings: pwm: Document RZ/G3E GPT support
	Applying: pwm: rzg2l-gpt: Add info variable to struct rzg2l_gpt_chip
	error: sha1 information is lacking or useless (drivers/pwm/pwm-rzg2l-gpt.c).
	error: could not build fake ancestor
	Patch failed at 0002 pwm: rzg2l-gpt: Add info variable to struct rzg2l_gpt_chip
	hint: Use 'git am --show-current-patch=diff' to see the failed patch
	hint: When you have resolved this problem, run "git am --continue".
	hint: If you prefer to skip this patch, run "git am --skip" instead.
	hint: To restore the original branch and stop patching, run "git am --abort".
	hint: Disable this message with "git config advice.mergeConflict false"

I don't feel like debugging that, which unfortunately means I cannot
provide you a diff on top of your tree to explain my doubts about the
resume callback. :-(

Best regards
Uwe
Biju Das Dec. 1, 2025, 3:51 p.m. UTC | #2
Hi Uwe,

> -----Original Message-----
> From: Uwe Kleine-König <ukleinek@kernel.org>
> Sent: 01 December 2025 15:21
> Subject: Re: [PATCH v3 0/8] Add RZ/G3E GPT support
> 
> Hello Biju,
> 
> On Tue, Sep 23, 2025 at 03:45:04PM +0100, Biju wrote:
> > From: Biju Das <biju.das.jz@bp.renesas.com>
> >
> > Add RZ/G3E GPT support. It has multiple clocks and resets compared to
> > RZ/G2L. Also prescale field width and factor for calculating prescale
> > are different.
> >
> > This patch series depend upon[1]
> >
> > [1]
> > https://lore.kernel.org/all/20250915163637.3572-1-biju.das.jz@bp.renes
> > as.com/
> >
> > v2->v3:
> >  * Added Rb tag from Rob for bindings patch
> >  * Dropped wave form callback conversion from this patch series as
> >    it is covered in another series[1]
> >  * Added suspend/resume support.
> > v1->v2:
> >  * Created separate document for RZ/G3E GPT.
> >  * Updated commit header and description for binding patch.
> >  * Added waveform callback conversion to this series.
> >  * Collected tag.
> >  * Added link to hardware manual
> >  * Updated limitation section in driver patch.
> >
> > Biju Das (8):
> >   dt-bindings: pwm: Document RZ/G3E GPT support
> >   pwm: rzg2l-gpt: Add info variable to struct rzg2l_gpt_chip
> >   pwm: rzg2l-gpt: Add prescale_pow_of_two_mult_factor variable to struct
> >     rzg2l_gpt_info
> >   pwm: rzg2l-gpt: Add calculate_prescale() callback to struct
> >     rzg2l_gpt_info
> >   pwm: rzg2l-gpt: Add RZ/G3E support
> >   pwm: rzg2l-gpt: Add suspend/resume support
> >   arm64: dts: renesas: r9a09g047: Add GPT nodes
> >   arm64: dts: renesas: r9a09g047e57-smarc: Enable GPT on carrier board
> >
> >  .../bindings/pwm/renesas,rzg3e-gpt.yaml       | 323 ++++++++++++++++++
> >  arch/arm64/boot/dts/renesas/r9a09g047.dtsi    | 184 ++++++++++
> >  .../boot/dts/renesas/r9a09g047e57-smarc.dts   |  13 +
> >  drivers/pwm/pwm-rzg2l-gpt.c                   | 209 ++++++++++--
> >  4 files changed, 704 insertions(+), 25 deletions(-)  create mode
> > 100644 Documentation/devicetree/bindings/pwm/renesas,rzg3e-gpt.yaml
> >
> >
> > base-commit: bf2602a3cb2381fb1a04bf1c39a290518d2538d1
> 
> I don't know what you did here, but applying your series doesn't work:
> 
> 	uwe@monoceros:~/gsrc/linux$ b4 am -3 20250923144524.191892-1-biju.das.jz@bp.renesas.com
> 	Analyzing 19 messages in the thread
> 	Analyzing 27 code-review messages
> 	Checking attestation on all messages, may take a moment...
> 	---
> 	  ✗ [PATCH v3 1/8] dt-bindings: pwm: Document RZ/G3E GPT support
> 	  ✗ [PATCH v3 2/8] pwm: rzg2l-gpt: Add info variable to struct rzg2l_gpt_chip
> 	  ✗ [PATCH v3 3/8] pwm: rzg2l-gpt: Add prescale_pow_of_two_mult_factor variable to struct
> rzg2l_gpt_info
> 	  ✗ [PATCH v3 4/8] pwm: rzg2l-gpt: Add calculate_prescale() callback to struct rzg2l_gpt_info
> 	  ✗ [PATCH v3 5/8] pwm: rzg2l-gpt: Add RZ/G3E support
> 	  ✗ [PATCH v3 6/8] pwm: rzg2l-gpt: Add suspend/resume support
> 	  ✗ [PATCH v3 7/8] arm64: dts: renesas: r9a09g047: Add GPT nodes
> 	    + Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
> 	  ✗ [PATCH v3 8/8] arm64: dts: renesas: r9a09g047e57-smarc: Enable GPT on carrier board
> 	  ---
> 	  ✗ BADSIG: DKIM/gmail.com
> 	---
> 	Total patches: 8
> 	Preparing fake-am for v3: Add RZ/G3E GPT support
> 	ERROR: Could not fake-am version v3
> 	---
> 	Cover: ./v3_20250923_biju_das_au_add_rz_g3e_gpt_support.cover
> 	 Link: https://patch.msgid.link/20250923144524.191892-1-biju.das.jz@bp.renesas.com
> 	 Base: using specified base-commit bf2602a3cb2381fb1a04bf1c39a290518d2538d1
> 	       git checkout -b v3_20250923_biju_das_au_gmail_com
> bf2602a3cb2381fb1a04bf1c39a290518d2538d1
> 	       git am -3 ./v3_20250923_biju_das_au_add_rz_g3e_gpt_support.mbx
> 
> 	uwe@monoceros:~/gsrc/linux$ git checkout bf2602a3cb2381fb1a04bf1c39a290518d2538d1
> 	Previous HEAD position was ...
> 	HEAD is now at bf2602a3cb23 Add linux-next specific files for 20250922
> 
> 	uwe@monoceros:~/gsrc/linux$ git am -3 ./v3_20250923_biju_das_au_add_rz_g3e_gpt_support.mbx
> 	Applying: dt-bindings: pwm: Document RZ/G3E GPT support
> 	Applying: pwm: rzg2l-gpt: Add info variable to struct rzg2l_gpt_chip
> 	error: sha1 information is lacking or useless (drivers/pwm/pwm-rzg2l-gpt.c).
> 	error: could not build fake ancestor
> 	Patch failed at 0002 pwm: rzg2l-gpt: Add info variable to struct rzg2l_gpt_chip
> 	hint: Use 'git am --show-current-patch=diff' to see the failed patch
> 	hint: When you have resolved this problem, run "git am --continue".
> 	hint: If you prefer to skip this patch, run "git am --skip" instead.
> 	hint: To restore the original branch and stop patching, run "git am --abort".
> 	hint: Disable this message with "git config advice.mergeConflict false"
> 
> I don't feel like debugging that, which unfortunately means I cannot provide you a diff on top of your
> tree to explain my doubts about the resume callback. :-(


The dependencies of this patch series are changed now due to [1]

Shall I send V4 on top of 

[2]

or  

Merge [2] with this series and send V4??


[1] https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?h=next-20251201&id=fae00ea9f00367771003ace78f29549dead58fc7

[2] https://lore.kernel.org/all/20251128103431.16Merge1591-1-biju.das.jz@bp.renesas.com/

Cheers,
Biju
Biju Das Dec. 1, 2025, 3:54 p.m. UTC | #3
> -----Original Message-----
> From: Biju Das
> Sent: 01 December 2025 15:51
> Subject: RE: [PATCH v3 0/8] Add RZ/G3E GPT support
> 
> Hi Uwe,
> 
> > -----Original Message-----
> > From: Uwe Kleine-König <ukleinek@kernel.org>
> > Sent: 01 December 2025 15:21
> > Subject: Re: [PATCH v3 0/8] Add RZ/G3E GPT support
> >
> > Hello Biju,
> >
> > On Tue, Sep 23, 2025 at 03:45:04PM +0100, Biju wrote:
> > > From: Biju Das <biju.das.jz@bp.renesas.com>
> > >
> > > Add RZ/G3E GPT support. It has multiple clocks and resets compared
> > > to RZ/G2L. Also prescale field width and factor for calculating
> > > prescale are different.
> > >
> > > This patch series depend upon[1]
> > >
> > > [1]
> > > https://lore.kernel.org/all/20250915163637.3572-1-biju.das.jz@bp.ren
> > > es
> > > as.com/
> > >
> > > v2->v3:
> > >  * Added Rb tag from Rob for bindings patch
> > >  * Dropped wave form callback conversion from this patch series as
> > >    it is covered in another series[1]
> > >  * Added suspend/resume support.
> > > v1->v2:
> > >  * Created separate document for RZ/G3E GPT.
> > >  * Updated commit header and description for binding patch.
> > >  * Added waveform callback conversion to this series.
> > >  * Collected tag.
> > >  * Added link to hardware manual
> > >  * Updated limitation section in driver patch.
> > >
> > > Biju Das (8):
> > >   dt-bindings: pwm: Document RZ/G3E GPT support
> > >   pwm: rzg2l-gpt: Add info variable to struct rzg2l_gpt_chip
> > >   pwm: rzg2l-gpt: Add prescale_pow_of_two_mult_factor variable to struct
> > >     rzg2l_gpt_info
> > >   pwm: rzg2l-gpt: Add calculate_prescale() callback to struct
> > >     rzg2l_gpt_info
> > >   pwm: rzg2l-gpt: Add RZ/G3E support
> > >   pwm: rzg2l-gpt: Add suspend/resume support
> > >   arm64: dts: renesas: r9a09g047: Add GPT nodes
> > >   arm64: dts: renesas: r9a09g047e57-smarc: Enable GPT on carrier
> > > board
> > >
> > >  .../bindings/pwm/renesas,rzg3e-gpt.yaml       | 323 ++++++++++++++++++
> > >  arch/arm64/boot/dts/renesas/r9a09g047.dtsi    | 184 ++++++++++
> > >  .../boot/dts/renesas/r9a09g047e57-smarc.dts   |  13 +
> > >  drivers/pwm/pwm-rzg2l-gpt.c                   | 209 ++++++++++--
> > >  4 files changed, 704 insertions(+), 25 deletions(-)  create mode
> > > 100644 Documentation/devicetree/bindings/pwm/renesas,rzg3e-gpt.yaml
> > >
> > >
> > > base-commit: bf2602a3cb2381fb1a04bf1c39a290518d2538d1
> >
> > I don't know what you did here, but applying your series doesn't work:
> >
> > 	uwe@monoceros:~/gsrc/linux$ b4 am -3 20250923144524.191892-1-biju.das.jz@bp.renesas.com
> > 	Analyzing 19 messages in the thread
> > 	Analyzing 27 code-review messages
> > 	Checking attestation on all messages, may take a moment...
> > 	---
> > 	  ✗ [PATCH v3 1/8] dt-bindings: pwm: Document RZ/G3E GPT support
> > 	  ✗ [PATCH v3 2/8] pwm: rzg2l-gpt: Add info variable to struct rzg2l_gpt_chip
> > 	  ✗ [PATCH v3 3/8] pwm: rzg2l-gpt: Add
> > prescale_pow_of_two_mult_factor variable to struct rzg2l_gpt_info
> > 	  ✗ [PATCH v3 4/8] pwm: rzg2l-gpt: Add calculate_prescale() callback to struct rzg2l_gpt_info
> > 	  ✗ [PATCH v3 5/8] pwm: rzg2l-gpt: Add RZ/G3E support
> > 	  ✗ [PATCH v3 6/8] pwm: rzg2l-gpt: Add suspend/resume support
> > 	  ✗ [PATCH v3 7/8] arm64: dts: renesas: r9a09g047: Add GPT nodes
> > 	    + Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
> > 	  ✗ [PATCH v3 8/8] arm64: dts: renesas: r9a09g047e57-smarc: Enable GPT on carrier board
> > 	  ---
> > 	  ✗ BADSIG: DKIM/gmail.com
> > 	---
> > 	Total patches: 8
> > 	Preparing fake-am for v3: Add RZ/G3E GPT support
> > 	ERROR: Could not fake-am version v3
> > 	---
> > 	Cover: ./v3_20250923_biju_das_au_add_rz_g3e_gpt_support.cover
> > 	 Link: https://patch.msgid.link/20250923144524.191892-1-biju.das.jz@bp.renesas.com
> > 	 Base: using specified base-commit bf2602a3cb2381fb1a04bf1c39a290518d2538d1
> > 	       git checkout -b v3_20250923_biju_das_au_gmail_com
> > bf2602a3cb2381fb1a04bf1c39a290518d2538d1
> > 	       git am -3 ./v3_20250923_biju_das_au_add_rz_g3e_gpt_support.mbx
> >
> > 	uwe@monoceros:~/gsrc/linux$ git checkout bf2602a3cb2381fb1a04bf1c39a290518d2538d1
> > 	Previous HEAD position was ...
> > 	HEAD is now at bf2602a3cb23 Add linux-next specific files for
> > 20250922
> >
> > 	uwe@monoceros:~/gsrc/linux$ git am -3 ./v3_20250923_biju_das_au_add_rz_g3e_gpt_support.mbx
> > 	Applying: dt-bindings: pwm: Document RZ/G3E GPT support
> > 	Applying: pwm: rzg2l-gpt: Add info variable to struct rzg2l_gpt_chip
> > 	error: sha1 information is lacking or useless (drivers/pwm/pwm-rzg2l-gpt.c).
> > 	error: could not build fake ancestor
> > 	Patch failed at 0002 pwm: rzg2l-gpt: Add info variable to struct rzg2l_gpt_chip
> > 	hint: Use 'git am --show-current-patch=diff' to see the failed patch
> > 	hint: When you have resolved this problem, run "git am --continue".
> > 	hint: If you prefer to skip this patch, run "git am --skip" instead.
> > 	hint: To restore the original branch and stop patching, run "git am --abort".
> > 	hint: Disable this message with "git config advice.mergeConflict false"
> >
> > I don't feel like debugging that, which unfortunately means I cannot
> > provide you a diff on top of your tree to explain my doubts about the
> > resume callback. :-(
> 
> 
> The dependencies of this patch series are changed now due to [1]
> 
> Shall I send V4 on top of
> 
> [2]
> 
> or
> 
> Merge [2] with this series and send V4??
> 
> 
> [1] https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?h=next-
> 20251201&id=fae00ea9f00367771003ace78f29549dead58fc7
> 
> [2] https://lore.kernel.org/all/20251128103431.16Merge1591-1-biju.das.jz@bp.renesas.com/

Corrected the link.

[2] https://lore.kernel.org/all/20251128103431.161591-1-biju.das.jz@bp.renesas.com/

Cheers,
Biju