Message ID | 20210102205904.2691120-1-martin.blumenstingl@googlemail.com (mailing list archive) |
---|---|
Headers | show |
Series | Amlogic Meson Always-On ARC remote-processor support | expand |
Martin Blumenstingl <martin.blumenstingl@googlemail.com> writes: > Amlogic Meson6/8/8b/8m2 come with an ARC core in the Always-On (AO) > power-domain. This is typically used for waking up the ARM CPU after > powering it down for system suspend. > > The exact ARC core used on Meson6 and earlier is not known. I believe > it is an ARC625, but I am not sure about this. Meson8/8b/8m2 uses an > ARC EM4 core. > They all have in common that they use a section of the SoCs SRAM for > running code on the ARC core. > > Unfortunately there's no information about the remote-processor control > registers in the public Meson8b (S805) datasheet. All information is > either taken from Amlogic's 3.10 kernel and 2011-03 u-boot or found by > testing (for example the clock input is not mentioned anywhere in the > reference code, but disabling it stops the AO ARC core from working). > > This series consists of five patches: > 1: dt-bindings for the SRAM section > 2: dt-bindings for the SECBUS2 syscon region which contains a few > bits for controlling this remote processor > 3: dt-bindings for the AO ARC remote processor > 4: the driver for booting code on the AO ARC remote processor > 5: (only included for documentation purposes) dts changes (these will > be re-sent separately) > > Patches #3 and #4 should go through the remoteproc tree. Patches #1 > and #2 may go through Rob's (devicetree) tree, Kevin's linux-amlogic > tree or through the remoteproc tree. Personally I have no preference > here. > > To test this series I ported the Amlogic serial driver and added the > board files for the Amlogic AO ARC EM4 to the Zephyr RTOS. The code can > be found here: [0] (the resulting zephyr.elf can then be loaded as > remote-processor firmware from Linux). > > > Changes since v1 at [1]: > - fixed yamllint warnings (after installing the package these now also > show up on my build machine) in patches #2 and #3. Thanks for the > hint Rob > - dropped the explicit "select" statement from the dt-bindings in patch > #2 as suggested by Rob (thanks) > > > [0] https://github.com/xdarklight/zephyr-rtos/commits/amlogic_ao_em4-20201229 > [1] https://patchwork.kernel.org/project/linux-amlogic/list/?series=407349 > > > Martin Blumenstingl (5): > dt-bindings: sram: Add compatible strings for the Meson AO ARC SRAM > dt-bindings: Amlogic: add the documentation for the SECBUS2 registers > dt-bindings: remoteproc: Add the documentation for Meson AO ARC rproc > remoteproc: meson-mx-ao-arc: Add a driver for the AO ARC remote > procesor > ARM: dts: meson: add the AO ARC remote processor Patches 1-2, 5 queued for v5.12 via the amlogic tree. Kevin