[0/4] media: rc: sunxi-cir: support the A523/H728/T527 IR receiver

Message ID 20260702214750.3428694-1-utilityemal77@gmail.com (mailing list archive)
Headers
Series media: rc: sunxi-cir: support the A523/H728/T527 IR receiver |

Message

Justin Suess July 2, 2026, 9:47 p.m. UTC
This series adds support for the CIR receiver found in the Allwinner
A523/T527/H728 family (sun55i). The only board in this family that I
am in possession of that has the IR receiver is the x96qpro+, so it is
just enabled for that board. The Avaota A1 may have it, but I don't have
hardware to test, so it's just enabled on the x96qpro+ for now, but
left in the a523 DTSI for future use.

The sun55i family carries a newer revision of the sunxi CIR IP that is
not backwards-compatible with the prior hardware. So a new pulse
capture mode field in the control register resets to 0 by default,
which captures nothing, and the sample clock divider became selectable
instead of the fixed module clock / 64.

Solve this by adding the two new registers, enabling the setting of the
pulse capture mode register and the selection of the clock speed.

The new compatible is therefore added standalone, without the
usual sun6i-a31-ir fallback (it won't work).

Tested on an X96Q Pro+ (H728) TV box with the Google TV remote that
came in the box (using NEC keymap). Was able to press buttons and
get readings from lirc / ir-keytable.

The series is based on tag v7.2-rc1 on mainline.

Justin Suess (4):
  media: dt-bindings: allwinner,sun4i-a10-ir: add A523 compatible
  media: rc: sunxi-cir: add support for the A523
  arm64: dts: allwinner: a523: add IR receiver node
  arm64: dts: allwinner: a523: enable IR receiver on the X96Q Pro+

 .../media/allwinner,sun4i-a10-ir.yaml         |  1 +
 .../arm64/boot/dts/allwinner/sun55i-a523.dtsi | 19 +++++
 .../dts/allwinner/sun55i-h728-x96qpro+.dts    |  4 +
 drivers/media/rc/sunxi-cir.c                  | 76 +++++++++++++++----
 4 files changed, 87 insertions(+), 13 deletions(-)
  

Comments

Andre Przywara July 20, 2026, 8:53 p.m. UTC | #1
On Thu,  2 Jul 2026 17:47:46 -0400
Justin Suess <utilityemal77@gmail.com> wrote:

Hey Justin,

> This series adds support for the CIR receiver found in the Allwinner
> A523/T527/H728 family (sun55i). The only board in this family that I

will you be able to send a v2 with the fixes we discussed in this
thread? No driver changes, just the binding for the new specific
compatible string, and the DT changes.
I tested this on the X96QPro+, and also managed to enable IR operation
on the Avaota board, where it uses the other IP instance (and another
pin).

Please let us know if you can send a new version this week still, to
possibly allow a v7.3 merge. Happy to review that quickly then.
If not, please drop me a note, I can then take care of that.

Cheers,
Andre

> am in possession of that has the IR receiver is the x96qpro+, so it is
> just enabled for that board. The Avaota A1 may have it, but I don't have
> hardware to test, so it's just enabled on the x96qpro+ for now, but
> left in the a523 DTSI for future use.
> 
> The sun55i family carries a newer revision of the sunxi CIR IP that is
> not backwards-compatible with the prior hardware. So a new pulse
> capture mode field in the control register resets to 0 by default,
> which captures nothing, and the sample clock divider became selectable
> instead of the fixed module clock / 64.
> 
> Solve this by adding the two new registers, enabling the setting of the
> pulse capture mode register and the selection of the clock speed.
> 
> The new compatible is therefore added standalone, without the
> usual sun6i-a31-ir fallback (it won't work).
> 
> Tested on an X96Q Pro+ (H728) TV box with the Google TV remote that
> came in the box (using NEC keymap). Was able to press buttons and
> get readings from lirc / ir-keytable.
> 
> The series is based on tag v7.2-rc1 on mainline.
> 
> Justin Suess (4):
>   media: dt-bindings: allwinner,sun4i-a10-ir: add A523 compatible
>   media: rc: sunxi-cir: add support for the A523
>   arm64: dts: allwinner: a523: add IR receiver node
>   arm64: dts: allwinner: a523: enable IR receiver on the X96Q Pro+
> 
>  .../media/allwinner,sun4i-a10-ir.yaml         |  1 +
>  .../arm64/boot/dts/allwinner/sun55i-a523.dtsi | 19 +++++
>  .../dts/allwinner/sun55i-h728-x96qpro+.dts    |  4 +
>  drivers/media/rc/sunxi-cir.c                  | 76 +++++++++++++++----
>  4 files changed, 87 insertions(+), 13 deletions(-)
>
  
Justin Suess July 20, 2026, 9:33 p.m. UTC | #2
On Mon, Jul 20, 2026 at 10:53:10PM +0200, Andre Przywara wrote:
> On Thu,  2 Jul 2026 17:47:46 -0400
> Justin Suess <utilityemal77@gmail.com> wrote:
> 
> Hey Justin,
> 
> > This series adds support for the CIR receiver found in the Allwinner
> > A523/T527/H728 family (sun55i). The only board in this family that I
> 
> will you be able to send a v2 with the fixes we discussed in this
> thread? No driver changes, just the binding for the new specific
> compatible string, and the DT changes.
> I tested this on the X96QPro+, and also managed to enable IR operation
> on the Avaota board, where it uses the other IP instance (and another
> pin).
> 
> Please let us know if you can send a new version this week still, to
> possibly allow a v7.3 merge. Happy to review that quickly then.
> If not, please drop me a note, I can then take care of that.
>
Gotcha should be no problem! Sorry I was working on some other patches
for a bit and was out of town and didn't have access to the hardware.

I'll get the board out of my closet and do some testing before I send...

Justin
> Cheers,
> Andre
>