On 02/01/2021 21:59, Martin Blumenstingl wrote: > The 32-bit Amlogic Meson SoCs embed an ARC processor in the Always-On > power domain which is typically used for managing system suspend. The > memory for this ARC core is taken from the AHB SRAM area. Depending on > the actual SoC a different ARC core is used: > - Meson6 and earlier: some ARCv1 ISA based core (probably an ARC625) > - Meson8 and later: an ARC EM4 (ARCv2 ISA) based core > > Add the device-tree node for this remote-processor along with the > required SRAM sections, clocks and reset-lines. Also use the > SoC-specific compatible string to manage any differences (should > they exist). > > On Meson8, Meson8b and Meson8m2 the "secbus2" IO region is needed as > some bits need to be programmed there. Add this IO region for those > SoCs as well. > > Signed-off-by: Martin Blumenstingl <martin.blumenstingl@xxxxxxxxxxxxxx> > --- > arch/arm/boot/dts/meson.dtsi | 7 +++++++ > arch/arm/boot/dts/meson8.dtsi | 21 +++++++++++++++++++++ > arch/arm/boot/dts/meson8b.dtsi | 21 +++++++++++++++++++++ > 3 files changed, 49 insertions(+) > > diff --git a/arch/arm/boot/dts/meson.dtsi b/arch/arm/boot/dts/meson.dtsi > index e0ca5f08d07d..8bae6ed0abb2 100644 > --- a/arch/arm/boot/dts/meson.dtsi > +++ b/arch/arm/boot/dts/meson.dtsi > @@ -200,6 +200,13 @@ aobus: aobus@c8100000 { > #size-cells = <1>; > ranges = <0x0 0xc8100000 0x100000>; > > + ao_arc_rproc: remoteproc@1c { > + compatible= "amlogic,meson-mx-ao-arc"; > + reg = <0x1c 0x8>, <0x38 0x8>; > + reg-names = "remap", "cpu"; > + status = "disabled"; > + }; > + > ir_receiver: ir-receiver@480 { > compatible= "amlogic,meson6-ir"; > reg = <0x480 0x20>; > diff --git a/arch/arm/boot/dts/meson8.dtsi b/arch/arm/boot/dts/meson8.dtsi > index 420324ea2ad7..157a950a55d3 100644 > --- a/arch/arm/boot/dts/meson8.dtsi > +++ b/arch/arm/boot/dts/meson8.dtsi > @@ -369,6 +369,14 @@ mux { > }; > }; > > +&ao_arc_rproc { > + compatible= "amlogic,meson8-ao-arc", "amlogic,meson-mx-ao-arc"; > + amlogic,secbus2 = <&secbus2>; > + sram = <&ao_arc_sram>; > + resets = <&reset RESET_MEDIA_CPU>; > + clocks = <&clkc CLKID_AO_MEDIA_CPU>; > +}; > + > &cbus { > reset: reset-controller@4404 { > compatible = "amlogic,meson8b-reset"; > @@ -496,6 +504,12 @@ mux { > }; > > &ahb_sram { > + ao_arc_sram: ao-arc-sram@0 { > + compatible = "amlogic,meson8-ao-arc-sram"; > + reg = <0x0 0x8000>; > + pool; > + }; > + > smp-sram@1ff80 { > compatible = "amlogic,meson8-smp-sram"; > reg = <0x1ff80 0x8>; > @@ -631,6 +645,13 @@ &sdhc { > clock-names = "clkin0", "clkin1", "clkin2", "clkin3", "pclk"; > }; > > +&secbus { > + secbus2: system-controller@4000 { > + compatible = "amlogic,meson8-secbus2", "syscon"; > + reg = <0x4000 0x2000>; > + }; > +}; > + > &sdio { > compatible = "amlogic,meson8-sdio", "amlogic,meson-mx-sdio"; > clocks = <&clkc CLKID_SDIO>, <&clkc CLKID_CLK81>; > diff --git a/arch/arm/boot/dts/meson8b.dtsi b/arch/arm/boot/dts/meson8b.dtsi > index dbf7963b6c87..c02b03cbcdf4 100644 > --- a/arch/arm/boot/dts/meson8b.dtsi > +++ b/arch/arm/boot/dts/meson8b.dtsi > @@ -320,6 +320,14 @@ mux { > }; > }; > > +&ao_arc_rproc { > + compatible= "amlogic,meson8b-ao-arc", "amlogic,meson-mx-ao-arc"; > + amlogic,secbus2 = <&secbus2>; > + sram = <&ao_arc_sram>; > + resets = <&reset RESET_MEDIA_CPU>; > + clocks = <&clkc CLKID_AO_MEDIA_CPU>; > +}; > + > &cbus { > reset: reset-controller@4404 { > compatible = "amlogic,meson8b-reset"; > @@ -464,6 +472,12 @@ mux { > }; > > &ahb_sram { > + ao_arc_sram: ao-arc-sram@0 { > + compatible = "amlogic,meson8b-ao-arc-sram"; > + reg = <0x0 0x8000>; > + pool; > + }; > + > smp-sram@1ff80 { > compatible = "amlogic,meson8b-smp-sram"; > reg = <0x1ff80 0x8>; > @@ -628,6 +642,13 @@ &sdhc { > clock-names = "clkin0", "clkin1", "clkin2", "clkin3", "pclk"; > }; > > +&secbus { > + secbus2: system-controller@4000 { > + compatible = "amlogic,meson8b-secbus2", "syscon"; > + reg = <0x4000 0x2000>; > + }; > +}; > + > &sdio { > compatible = "amlogic,meson8b-sdio", "amlogic,meson-mx-sdio"; > clocks = <&clkc CLKID_SDIO>, <&clkc CLKID_CLK81>; > Reviewed-by: Neil Armstrong <narmstrong@xxxxxxxxxxxx>