Add new document for APU tinysys. Signed-off-by: Flora Fu <flora.fu@xxxxxxxxxxxx> --- .../soc/mediatek/mediatek,apu-rv.yaml | 140 ++++++++++++++++++ 1 file changed, 140 insertions(+) create mode 100644 Documentation/devicetree/bindings/soc/mediatek/mediatek,apu-rv.yaml diff --git a/Documentation/devicetree/bindings/soc/mediatek/mediatek,apu-rv.yaml b/Documentation/devicetree/bindings/soc/mediatek/mediatek,apu-rv.yaml new file mode 100644 index 000000000000..ee0ff5d656e9 --- /dev/null +++ b/Documentation/devicetree/bindings/soc/mediatek/mediatek,apu-rv.yaml @@ -0,0 +1,140 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +# # Copyright 2021 MediaTek Inc. +%YAML 1.2 +--- +$id: "http://devicetree.org/schemas/soc/mediatek/mediatek,apu-rv.yaml#" +$schema: "http://devicetree.org/meta-schemas/core.yaml#" + +title: Mediatek APU Power + +description: | + APU integrated subsystem having MD32RV33 (MD32) that runs tinysys + The tinsys is running on a micro processor in APU. + Its firmware is load and boot from Kernel side. Kernel and tinysys use + IPI to tx/rx messages. + +maintainers: + - Flora Fu <flora.fu@xxxxxxxxxxxx> + +properties: + compatible: + enum: + - mediatek,mt8192-apusys-rv + + reg: + minItems: 1 + + reg-names: + minItems: 1 + + power-domains: + maxItems: 1 + + iommus: + maxItems: 1 + + interrupts: + description: List of interrupts. + + interrupt-names: + description: Name list of interrupts. + + mediatek,apusys-power: + $ref: /schemas/types.yaml#/definitions/phandle + description: | + phandle to the device containing the apusys-power handle. + + apu_ctrl: + description: handle the ipi state, time sync and deep idle message. + type: object + + properties: + compatible: + const: "mediatek,apu-ctrl-rpmsg" + + required: + - compatible + + additionalProperties: false + + apu_pwr_tx: + description: handle the message trigger from AP side to tinysys. + type: object + + properties: + compatible: + const: "mediatek,apupwr-tx-rpmsg" + + required: + - compatible + + additionalProperties: false + + apu_pwr_rx: + description: handle the message trigger from tinysys to AP side. + type: object + + properties: + compatible: + const: "mediatek,apupwr-rx-rpmsg" + + required: + - compatible + + additionalProperties: false + + apu_mdw_rpmsg: + description: handle the middleware messages. + type: object + + properties: + compatible: + const: "mediatek,apu-mdw-rpmsg" + + required: + - compatible + + additionalProperties: false + +required: + - compatible + - reg + - power-domains + - interrupts + - mediatek,apusys-power + +additionalProperties: false + +examples: + - | + #include <dt-bindings/clock/mt8192-clk.h> + #include <dt-bindings/interrupt-controller/arm-gic.h> + #include <dt-bindings/interrupt-controller/irq.h> + #include <dt-bindings/memory/mt8192-larb-port.h> + + apusys_rv@19001000 { + compatible = "mediatek,mt8192-apusys-rv"; + reg = <0x19000000 0x1000>, + <0x19001000 0x1000>; + reg-names = "apu_mbox", + "md32_sysctrl"; + mediatek,apusys-power = <&apusys_power>; + power-domains = <&apuspm 0>; + iommus = <&iommu_apu IOMMU_PORT_APU_DATA>; + interrupts = <GIC_SPI 393 IRQ_TYPE_LEVEL_HIGH 0>, + <GIC_SPI 404 IRQ_TYPE_LEVEL_HIGH 0>; + interrupt-names = "apu_wdt", + "mbox0_irq"; + apu_ctrl { + compatible = "mediatek,apu-ctrl-rpmsg"; + }; + apu_pwr_tx { + compatible = "mediatek,apupwr-tx-rpmsg"; + }; + apu_pwr_rx { + compatible = "mediatek,apupwr-rx-rpmsg"; + }; + apu_mdw_rpmsg { + compatible = "mediatek,apu-mdw-rpmsg"; + }; + }; -- 2.18.0