lkml.org 
[lkml]   [2020]   [Dec]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Subject[PATCH 0/5] Amlogic Meson Always-On ARC remote-processor support
    Date
    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).


    [0] https://github.com/xdarklight/zephyr-rtos/commits/amlogic_ao_em4-20201229


    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

    .../arm/amlogic/amlogic,meson-mx-secbus2.yaml | 53 ++++
    .../remoteproc/amlogic,meson-mx-ao-arc.yaml | 87 +++++++
    .../devicetree/bindings/sram/sram.yaml | 2 +
    arch/arm/boot/dts/meson.dtsi | 7 +
    arch/arm/boot/dts/meson8.dtsi | 21 ++
    arch/arm/boot/dts/meson8b.dtsi | 21 ++
    drivers/remoteproc/Kconfig | 11 +
    drivers/remoteproc/Makefile | 1 +
    drivers/remoteproc/meson_mx_ao_arc.c | 240 ++++++++++++++++++
    9 files changed, 443 insertions(+)
    create mode 100644 Documentation/devicetree/bindings/arm/amlogic/amlogic,meson-mx-secbus2.yaml
    create mode 100644 Documentation/devicetree/bindings/remoteproc/amlogic,meson-mx-ao-arc.yaml
    create mode 100644 drivers/remoteproc/meson_mx_ao_arc.c

    --
    2.30.0

    \
     
     \ /
      Last update: 2020-12-30 02:29    [W:4.370 / U:0.424 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site