[PATCH v3 2/4] arm64: dts: allwinner: a523: add IR receiver nodes

Chen-Yu Tsai wens at kernel.org
Thu Jul 23 10:41:13 PDT 2026


On Thu, Jul 23, 2026 at 7:36 AM Justin Suess <utilityemal77 at gmail.com> wrote:
>
> The A523 has two CIR receivers, both compatible with the A31 CIR: one
> in the CPUX domain, clocked from the main CCU, and one in the RTC
> power domain, clocked from the R-CCU.
>
> Add nodes for both instances, disabled by default. Since the RX signal
> of each instance can be routed to more than one pin, boards with an IR
> receiver are expected to add the pinctrl properties next to where they
> enable the node. Keep the PL11 pin description in the dtsi, as boards
> commonly use that pin for the RTC domain instance.
>
> Reviewed-by: Andre Przywara <andre.przywara at arm.com>
> Signed-off-by: Justin Suess <utilityemal77 at gmail.com>
> ---
>  .../arm64/boot/dts/allwinner/sun55i-a523.dtsi | 28 +++++++++++++++++++
>  1 file changed, 28 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/allwinner/sun55i-a523.dtsi b/arch/arm64/boot/dts/allwinner/sun55i-a523.dtsi
> index ca6a16807049..c2de662140ce 100644
> --- a/arch/arm64/boot/dts/allwinner/sun55i-a523.dtsi
> +++ b/arch/arm64/boot/dts/allwinner/sun55i-a523.dtsi
> @@ -327,6 +327,17 @@ ccu: clock-controller at 2001000 {
>                         #reset-cells = <1>;
>                 };
>
> +               ir: ir at 2005000 {
> +                       compatible = "allwinner,sun55i-a523-ir",
> +                                    "allwinner,sun6i-a31-ir";
> +                       reg = <0x02005000 0x400>;
> +                       interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
> +                       clocks = <&ccu CLK_BUS_IR_RX>, <&ccu CLK_IR_RX>;
> +                       clock-names = "apb", "ir";
> +                       resets = <&ccu RST_BUS_IR_RX>;
> +                       status = "disabled";
> +               };
> +
>                 ledc: led-controller at 2008000 {
>                         compatible = "allwinner,sun55i-a523-ledc",
>                                      "allwinner,sun50i-a100-ledc";
> @@ -927,6 +938,23 @@ r_i2c_pins: r-i2c-pins {
>                                 allwinner,pinmux = <2>;
>                                 function = "r_i2c0";
>                         };
> +

Please add /omit-if-no-ref/.

> +                       r_ir_rx_pin: r-ir-rx-pin {

There are two pin mux possibilities for r-ir-rx. Please name it accordingly,
like "r-ir-rx-pl-pin".

> +                               pins = "PL11";
> +                               allwinner,pinmux = <2>;
> +                               function = "s_cir_rx";
> +                       };
> +               };
> +
> +               r_ir: ir at 7040000 {
> +                       compatible = "allwinner,sun55i-a523-ir",
> +                                    "allwinner,sun6i-a31-ir";
> +                       reg = <0x07040000 0x400>;
> +                       interrupts = <GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>;
> +                       clocks = <&r_ccu CLK_BUS_R_IR_RX>, <&r_ccu CLK_R_IR_RX>;
> +                       clock-names = "apb", "ir";
> +                       resets = <&r_ccu RST_BUS_R_IR_RX>;
> +                       status = "disabled";
>                 };
>
>                 pck600: power-controller at 7060000 {
> --
> 2.54.0
>



More information about the linux-arm-kernel mailing list