162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 262306a36Sopenharmony_ci# Copyright 2021 ARM Ltd. 362306a36Sopenharmony_ci%YAML 1.2 462306a36Sopenharmony_ci--- 562306a36Sopenharmony_ci$id: http://devicetree.org/schemas/firmware/arm,scmi.yaml# 662306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 762306a36Sopenharmony_ci 862306a36Sopenharmony_cititle: System Control and Management Interface (SCMI) Message Protocol 962306a36Sopenharmony_ci 1062306a36Sopenharmony_cimaintainers: 1162306a36Sopenharmony_ci - Sudeep Holla <sudeep.holla@arm.com> 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_cidescription: | 1462306a36Sopenharmony_ci The SCMI is intended to allow agents such as OSPM to manage various functions 1562306a36Sopenharmony_ci that are provided by the hardware platform it is running on, including power 1662306a36Sopenharmony_ci and performance functions. 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_ci This binding is intended to define the interface the firmware implementing 1962306a36Sopenharmony_ci the SCMI as described in ARM document number ARM DEN 0056 ("ARM System Control 2062306a36Sopenharmony_ci and Management Interface Platform Design Document")[0] provide for OSPM in 2162306a36Sopenharmony_ci the device tree. 2262306a36Sopenharmony_ci 2362306a36Sopenharmony_ci [0] https://developer.arm.com/documentation/den0056/latest 2462306a36Sopenharmony_ci 2562306a36Sopenharmony_ciproperties: 2662306a36Sopenharmony_ci $nodename: 2762306a36Sopenharmony_ci const: scmi 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ci compatible: 3062306a36Sopenharmony_ci oneOf: 3162306a36Sopenharmony_ci - description: SCMI compliant firmware with mailbox transport 3262306a36Sopenharmony_ci items: 3362306a36Sopenharmony_ci - const: arm,scmi 3462306a36Sopenharmony_ci - description: SCMI compliant firmware with ARM SMC/HVC transport 3562306a36Sopenharmony_ci items: 3662306a36Sopenharmony_ci - const: arm,scmi-smc 3762306a36Sopenharmony_ci - description: SCMI compliant firmware with ARM SMC/HVC transport 3862306a36Sopenharmony_ci with shmem address(4KB-page, offset) as parameters 3962306a36Sopenharmony_ci items: 4062306a36Sopenharmony_ci - const: arm,scmi-smc-param 4162306a36Sopenharmony_ci - description: SCMI compliant firmware with SCMI Virtio transport. 4262306a36Sopenharmony_ci The virtio transport only supports a single device. 4362306a36Sopenharmony_ci items: 4462306a36Sopenharmony_ci - const: arm,scmi-virtio 4562306a36Sopenharmony_ci - description: SCMI compliant firmware with OP-TEE transport 4662306a36Sopenharmony_ci items: 4762306a36Sopenharmony_ci - const: linaro,scmi-optee 4862306a36Sopenharmony_ci 4962306a36Sopenharmony_ci interrupts: 5062306a36Sopenharmony_ci description: 5162306a36Sopenharmony_ci The interrupt that indicates message completion by the platform 5262306a36Sopenharmony_ci rather than by the return of the smc call. This should not be used 5362306a36Sopenharmony_ci except when the platform requires such behavior. 5462306a36Sopenharmony_ci maxItems: 1 5562306a36Sopenharmony_ci 5662306a36Sopenharmony_ci interrupt-names: 5762306a36Sopenharmony_ci const: a2p 5862306a36Sopenharmony_ci 5962306a36Sopenharmony_ci mbox-names: 6062306a36Sopenharmony_ci description: 6162306a36Sopenharmony_ci Specifies the mailboxes used to communicate with SCMI compliant 6262306a36Sopenharmony_ci firmware. 6362306a36Sopenharmony_ci oneOf: 6462306a36Sopenharmony_ci - items: 6562306a36Sopenharmony_ci - const: tx 6662306a36Sopenharmony_ci - const: rx 6762306a36Sopenharmony_ci minItems: 1 6862306a36Sopenharmony_ci - items: 6962306a36Sopenharmony_ci - const: tx 7062306a36Sopenharmony_ci - const: tx_reply 7162306a36Sopenharmony_ci - const: rx 7262306a36Sopenharmony_ci minItems: 2 7362306a36Sopenharmony_ci 7462306a36Sopenharmony_ci mboxes: 7562306a36Sopenharmony_ci description: 7662306a36Sopenharmony_ci List of phandle and mailbox channel specifiers. It should contain 7762306a36Sopenharmony_ci exactly one, two or three mailboxes; the first one or two for transmitting 7862306a36Sopenharmony_ci messages ("tx") and another optional ("rx") for receiving notifications 7962306a36Sopenharmony_ci and delayed responses, if supported by the platform. 8062306a36Sopenharmony_ci The number of mailboxes needed for transmitting messages depends on the 8162306a36Sopenharmony_ci type of channels exposed by the specific underlying mailbox controller; 8262306a36Sopenharmony_ci one single channel descriptor is enough if such channel is bidirectional, 8362306a36Sopenharmony_ci while two channel descriptors are needed to represent the SCMI ("tx") 8462306a36Sopenharmony_ci channel if the underlying mailbox channels are of unidirectional type. 8562306a36Sopenharmony_ci The effective combination in numbers of mboxes and shmem descriptors let 8662306a36Sopenharmony_ci the SCMI subsystem determine unambiguosly which type of SCMI channels are 8762306a36Sopenharmony_ci made available by the underlying mailbox controller and how to use them. 8862306a36Sopenharmony_ci 1 mbox / 1 shmem => SCMI TX over 1 mailbox bidirectional channel 8962306a36Sopenharmony_ci 2 mbox / 2 shmem => SCMI TX and RX over 2 mailbox bidirectional channels 9062306a36Sopenharmony_ci 2 mbox / 1 shmem => SCMI TX over 2 mailbox unidirectional channels 9162306a36Sopenharmony_ci 3 mbox / 2 shmem => SCMI TX and RX over 3 mailbox unidirectional channels 9262306a36Sopenharmony_ci Any other combination of mboxes and shmem is invalid. 9362306a36Sopenharmony_ci minItems: 1 9462306a36Sopenharmony_ci maxItems: 3 9562306a36Sopenharmony_ci 9662306a36Sopenharmony_ci shmem: 9762306a36Sopenharmony_ci description: 9862306a36Sopenharmony_ci List of phandle pointing to the shared memory(SHM) area, for each 9962306a36Sopenharmony_ci transport channel specified. 10062306a36Sopenharmony_ci minItems: 1 10162306a36Sopenharmony_ci maxItems: 2 10262306a36Sopenharmony_ci 10362306a36Sopenharmony_ci '#address-cells': 10462306a36Sopenharmony_ci const: 1 10562306a36Sopenharmony_ci 10662306a36Sopenharmony_ci '#size-cells': 10762306a36Sopenharmony_ci const: 0 10862306a36Sopenharmony_ci 10962306a36Sopenharmony_ci atomic-threshold-us: 11062306a36Sopenharmony_ci description: 11162306a36Sopenharmony_ci An optional time value, expressed in microseconds, representing, on this 11262306a36Sopenharmony_ci platform, the threshold above which any SCMI command, advertised to have 11362306a36Sopenharmony_ci an higher-than-threshold execution latency, should not be considered for 11462306a36Sopenharmony_ci atomic mode of operation, even if requested. 11562306a36Sopenharmony_ci default: 0 11662306a36Sopenharmony_ci 11762306a36Sopenharmony_ci arm,smc-id: 11862306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 11962306a36Sopenharmony_ci description: 12062306a36Sopenharmony_ci SMC id required when using smc or hvc transports 12162306a36Sopenharmony_ci 12262306a36Sopenharmony_ci linaro,optee-channel-id: 12362306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 12462306a36Sopenharmony_ci description: 12562306a36Sopenharmony_ci Channel specifier required when using OP-TEE transport. 12662306a36Sopenharmony_ci 12762306a36Sopenharmony_ci protocol@11: 12862306a36Sopenharmony_ci $ref: '#/$defs/protocol-node' 12962306a36Sopenharmony_ci unevaluatedProperties: false 13062306a36Sopenharmony_ci 13162306a36Sopenharmony_ci properties: 13262306a36Sopenharmony_ci reg: 13362306a36Sopenharmony_ci const: 0x11 13462306a36Sopenharmony_ci 13562306a36Sopenharmony_ci '#power-domain-cells': 13662306a36Sopenharmony_ci const: 1 13762306a36Sopenharmony_ci 13862306a36Sopenharmony_ci required: 13962306a36Sopenharmony_ci - '#power-domain-cells' 14062306a36Sopenharmony_ci 14162306a36Sopenharmony_ci protocol@13: 14262306a36Sopenharmony_ci $ref: '#/$defs/protocol-node' 14362306a36Sopenharmony_ci unevaluatedProperties: false 14462306a36Sopenharmony_ci 14562306a36Sopenharmony_ci properties: 14662306a36Sopenharmony_ci reg: 14762306a36Sopenharmony_ci const: 0x13 14862306a36Sopenharmony_ci 14962306a36Sopenharmony_ci '#clock-cells': 15062306a36Sopenharmony_ci const: 1 15162306a36Sopenharmony_ci 15262306a36Sopenharmony_ci required: 15362306a36Sopenharmony_ci - '#clock-cells' 15462306a36Sopenharmony_ci 15562306a36Sopenharmony_ci protocol@14: 15662306a36Sopenharmony_ci $ref: '#/$defs/protocol-node' 15762306a36Sopenharmony_ci unevaluatedProperties: false 15862306a36Sopenharmony_ci 15962306a36Sopenharmony_ci properties: 16062306a36Sopenharmony_ci reg: 16162306a36Sopenharmony_ci const: 0x14 16262306a36Sopenharmony_ci 16362306a36Sopenharmony_ci '#clock-cells': 16462306a36Sopenharmony_ci const: 1 16562306a36Sopenharmony_ci 16662306a36Sopenharmony_ci required: 16762306a36Sopenharmony_ci - '#clock-cells' 16862306a36Sopenharmony_ci 16962306a36Sopenharmony_ci protocol@15: 17062306a36Sopenharmony_ci $ref: '#/$defs/protocol-node' 17162306a36Sopenharmony_ci unevaluatedProperties: false 17262306a36Sopenharmony_ci 17362306a36Sopenharmony_ci properties: 17462306a36Sopenharmony_ci reg: 17562306a36Sopenharmony_ci const: 0x15 17662306a36Sopenharmony_ci 17762306a36Sopenharmony_ci '#thermal-sensor-cells': 17862306a36Sopenharmony_ci const: 1 17962306a36Sopenharmony_ci 18062306a36Sopenharmony_ci required: 18162306a36Sopenharmony_ci - '#thermal-sensor-cells' 18262306a36Sopenharmony_ci 18362306a36Sopenharmony_ci protocol@16: 18462306a36Sopenharmony_ci $ref: '#/$defs/protocol-node' 18562306a36Sopenharmony_ci unevaluatedProperties: false 18662306a36Sopenharmony_ci 18762306a36Sopenharmony_ci properties: 18862306a36Sopenharmony_ci reg: 18962306a36Sopenharmony_ci const: 0x16 19062306a36Sopenharmony_ci 19162306a36Sopenharmony_ci '#reset-cells': 19262306a36Sopenharmony_ci const: 1 19362306a36Sopenharmony_ci 19462306a36Sopenharmony_ci required: 19562306a36Sopenharmony_ci - '#reset-cells' 19662306a36Sopenharmony_ci 19762306a36Sopenharmony_ci protocol@17: 19862306a36Sopenharmony_ci $ref: '#/$defs/protocol-node' 19962306a36Sopenharmony_ci unevaluatedProperties: false 20062306a36Sopenharmony_ci 20162306a36Sopenharmony_ci properties: 20262306a36Sopenharmony_ci reg: 20362306a36Sopenharmony_ci const: 0x17 20462306a36Sopenharmony_ci 20562306a36Sopenharmony_ci regulators: 20662306a36Sopenharmony_ci type: object 20762306a36Sopenharmony_ci additionalProperties: false 20862306a36Sopenharmony_ci description: 20962306a36Sopenharmony_ci The list of all regulators provided by this SCMI controller. 21062306a36Sopenharmony_ci 21162306a36Sopenharmony_ci properties: 21262306a36Sopenharmony_ci '#address-cells': 21362306a36Sopenharmony_ci const: 1 21462306a36Sopenharmony_ci 21562306a36Sopenharmony_ci '#size-cells': 21662306a36Sopenharmony_ci const: 0 21762306a36Sopenharmony_ci 21862306a36Sopenharmony_ci patternProperties: 21962306a36Sopenharmony_ci '^regulator@[0-9a-f]+$': 22062306a36Sopenharmony_ci type: object 22162306a36Sopenharmony_ci $ref: /schemas/regulator/regulator.yaml# 22262306a36Sopenharmony_ci unevaluatedProperties: false 22362306a36Sopenharmony_ci 22462306a36Sopenharmony_ci properties: 22562306a36Sopenharmony_ci reg: 22662306a36Sopenharmony_ci maxItems: 1 22762306a36Sopenharmony_ci description: Identifier for the voltage regulator. 22862306a36Sopenharmony_ci 22962306a36Sopenharmony_ci required: 23062306a36Sopenharmony_ci - reg 23162306a36Sopenharmony_ci 23262306a36Sopenharmony_ci protocol@18: 23362306a36Sopenharmony_ci $ref: '#/$defs/protocol-node' 23462306a36Sopenharmony_ci unevaluatedProperties: false 23562306a36Sopenharmony_ci 23662306a36Sopenharmony_ci properties: 23762306a36Sopenharmony_ci reg: 23862306a36Sopenharmony_ci const: 0x18 23962306a36Sopenharmony_ci 24062306a36Sopenharmony_ciadditionalProperties: false 24162306a36Sopenharmony_ci 24262306a36Sopenharmony_ci$defs: 24362306a36Sopenharmony_ci protocol-node: 24462306a36Sopenharmony_ci type: object 24562306a36Sopenharmony_ci description: 24662306a36Sopenharmony_ci Each sub-node represents a protocol supported. If the platform 24762306a36Sopenharmony_ci supports a dedicated communication channel for a particular protocol, 24862306a36Sopenharmony_ci then the corresponding transport properties must be present. 24962306a36Sopenharmony_ci The virtio transport does not support a dedicated communication channel. 25062306a36Sopenharmony_ci 25162306a36Sopenharmony_ci properties: 25262306a36Sopenharmony_ci reg: 25362306a36Sopenharmony_ci maxItems: 1 25462306a36Sopenharmony_ci 25562306a36Sopenharmony_ci mbox-names: 25662306a36Sopenharmony_ci oneOf: 25762306a36Sopenharmony_ci - items: 25862306a36Sopenharmony_ci - const: tx 25962306a36Sopenharmony_ci - const: rx 26062306a36Sopenharmony_ci minItems: 1 26162306a36Sopenharmony_ci - items: 26262306a36Sopenharmony_ci - const: tx 26362306a36Sopenharmony_ci - const: tx_reply 26462306a36Sopenharmony_ci - const: rx 26562306a36Sopenharmony_ci minItems: 2 26662306a36Sopenharmony_ci 26762306a36Sopenharmony_ci mboxes: 26862306a36Sopenharmony_ci minItems: 1 26962306a36Sopenharmony_ci maxItems: 3 27062306a36Sopenharmony_ci 27162306a36Sopenharmony_ci shmem: 27262306a36Sopenharmony_ci minItems: 1 27362306a36Sopenharmony_ci maxItems: 2 27462306a36Sopenharmony_ci 27562306a36Sopenharmony_ci linaro,optee-channel-id: 27662306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 27762306a36Sopenharmony_ci description: 27862306a36Sopenharmony_ci Channel specifier required when using OP-TEE transport and 27962306a36Sopenharmony_ci protocol has a dedicated communication channel. 28062306a36Sopenharmony_ci 28162306a36Sopenharmony_ci required: 28262306a36Sopenharmony_ci - reg 28362306a36Sopenharmony_ci 28462306a36Sopenharmony_cirequired: 28562306a36Sopenharmony_ci - compatible 28662306a36Sopenharmony_ci 28762306a36Sopenharmony_ciif: 28862306a36Sopenharmony_ci properties: 28962306a36Sopenharmony_ci compatible: 29062306a36Sopenharmony_ci contains: 29162306a36Sopenharmony_ci const: arm,scmi 29262306a36Sopenharmony_cithen: 29362306a36Sopenharmony_ci properties: 29462306a36Sopenharmony_ci interrupts: false 29562306a36Sopenharmony_ci interrupt-names: false 29662306a36Sopenharmony_ci 29762306a36Sopenharmony_ci required: 29862306a36Sopenharmony_ci - mboxes 29962306a36Sopenharmony_ci - shmem 30062306a36Sopenharmony_ci 30162306a36Sopenharmony_cielse: 30262306a36Sopenharmony_ci if: 30362306a36Sopenharmony_ci properties: 30462306a36Sopenharmony_ci compatible: 30562306a36Sopenharmony_ci contains: 30662306a36Sopenharmony_ci enum: 30762306a36Sopenharmony_ci - arm,scmi-smc 30862306a36Sopenharmony_ci - arm,scmi-smc-param 30962306a36Sopenharmony_ci then: 31062306a36Sopenharmony_ci required: 31162306a36Sopenharmony_ci - arm,smc-id 31262306a36Sopenharmony_ci - shmem 31362306a36Sopenharmony_ci 31462306a36Sopenharmony_ci else: 31562306a36Sopenharmony_ci if: 31662306a36Sopenharmony_ci properties: 31762306a36Sopenharmony_ci compatible: 31862306a36Sopenharmony_ci contains: 31962306a36Sopenharmony_ci const: linaro,scmi-optee 32062306a36Sopenharmony_ci then: 32162306a36Sopenharmony_ci required: 32262306a36Sopenharmony_ci - linaro,optee-channel-id 32362306a36Sopenharmony_ci 32462306a36Sopenharmony_ciexamples: 32562306a36Sopenharmony_ci - | 32662306a36Sopenharmony_ci firmware { 32762306a36Sopenharmony_ci scmi { 32862306a36Sopenharmony_ci compatible = "arm,scmi"; 32962306a36Sopenharmony_ci mboxes = <&mhuB 0 0>, 33062306a36Sopenharmony_ci <&mhuB 0 1>; 33162306a36Sopenharmony_ci mbox-names = "tx", "rx"; 33262306a36Sopenharmony_ci shmem = <&cpu_scp_lpri0>, 33362306a36Sopenharmony_ci <&cpu_scp_lpri1>; 33462306a36Sopenharmony_ci 33562306a36Sopenharmony_ci #address-cells = <1>; 33662306a36Sopenharmony_ci #size-cells = <0>; 33762306a36Sopenharmony_ci 33862306a36Sopenharmony_ci atomic-threshold-us = <10000>; 33962306a36Sopenharmony_ci 34062306a36Sopenharmony_ci scmi_devpd: protocol@11 { 34162306a36Sopenharmony_ci reg = <0x11>; 34262306a36Sopenharmony_ci #power-domain-cells = <1>; 34362306a36Sopenharmony_ci }; 34462306a36Sopenharmony_ci 34562306a36Sopenharmony_ci scmi_dvfs: protocol@13 { 34662306a36Sopenharmony_ci reg = <0x13>; 34762306a36Sopenharmony_ci #clock-cells = <1>; 34862306a36Sopenharmony_ci 34962306a36Sopenharmony_ci mboxes = <&mhuB 1 0>, 35062306a36Sopenharmony_ci <&mhuB 1 1>; 35162306a36Sopenharmony_ci mbox-names = "tx", "rx"; 35262306a36Sopenharmony_ci shmem = <&cpu_scp_hpri0>, 35362306a36Sopenharmony_ci <&cpu_scp_hpri1>; 35462306a36Sopenharmony_ci }; 35562306a36Sopenharmony_ci 35662306a36Sopenharmony_ci scmi_clk: protocol@14 { 35762306a36Sopenharmony_ci reg = <0x14>; 35862306a36Sopenharmony_ci #clock-cells = <1>; 35962306a36Sopenharmony_ci }; 36062306a36Sopenharmony_ci 36162306a36Sopenharmony_ci scmi_sensors: protocol@15 { 36262306a36Sopenharmony_ci reg = <0x15>; 36362306a36Sopenharmony_ci #thermal-sensor-cells = <1>; 36462306a36Sopenharmony_ci }; 36562306a36Sopenharmony_ci 36662306a36Sopenharmony_ci scmi_reset: protocol@16 { 36762306a36Sopenharmony_ci reg = <0x16>; 36862306a36Sopenharmony_ci #reset-cells = <1>; 36962306a36Sopenharmony_ci }; 37062306a36Sopenharmony_ci 37162306a36Sopenharmony_ci scmi_voltage: protocol@17 { 37262306a36Sopenharmony_ci reg = <0x17>; 37362306a36Sopenharmony_ci regulators { 37462306a36Sopenharmony_ci #address-cells = <1>; 37562306a36Sopenharmony_ci #size-cells = <0>; 37662306a36Sopenharmony_ci 37762306a36Sopenharmony_ci regulator_devX: regulator@0 { 37862306a36Sopenharmony_ci reg = <0x0>; 37962306a36Sopenharmony_ci regulator-max-microvolt = <3300000>; 38062306a36Sopenharmony_ci }; 38162306a36Sopenharmony_ci 38262306a36Sopenharmony_ci regulator_devY: regulator@9 { 38362306a36Sopenharmony_ci reg = <0x9>; 38462306a36Sopenharmony_ci regulator-min-microvolt = <500000>; 38562306a36Sopenharmony_ci regulator-max-microvolt = <4200000>; 38662306a36Sopenharmony_ci }; 38762306a36Sopenharmony_ci }; 38862306a36Sopenharmony_ci }; 38962306a36Sopenharmony_ci 39062306a36Sopenharmony_ci scmi_powercap: protocol@18 { 39162306a36Sopenharmony_ci reg = <0x18>; 39262306a36Sopenharmony_ci }; 39362306a36Sopenharmony_ci }; 39462306a36Sopenharmony_ci }; 39562306a36Sopenharmony_ci 39662306a36Sopenharmony_ci soc { 39762306a36Sopenharmony_ci #address-cells = <2>; 39862306a36Sopenharmony_ci #size-cells = <2>; 39962306a36Sopenharmony_ci 40062306a36Sopenharmony_ci sram@50000000 { 40162306a36Sopenharmony_ci compatible = "mmio-sram"; 40262306a36Sopenharmony_ci reg = <0x0 0x50000000 0x0 0x10000>; 40362306a36Sopenharmony_ci 40462306a36Sopenharmony_ci #address-cells = <1>; 40562306a36Sopenharmony_ci #size-cells = <1>; 40662306a36Sopenharmony_ci ranges = <0 0x0 0x50000000 0x10000>; 40762306a36Sopenharmony_ci 40862306a36Sopenharmony_ci cpu_scp_lpri0: scp-sram-section@0 { 40962306a36Sopenharmony_ci compatible = "arm,scmi-shmem"; 41062306a36Sopenharmony_ci reg = <0x0 0x80>; 41162306a36Sopenharmony_ci }; 41262306a36Sopenharmony_ci 41362306a36Sopenharmony_ci cpu_scp_lpri1: scp-sram-section@80 { 41462306a36Sopenharmony_ci compatible = "arm,scmi-shmem"; 41562306a36Sopenharmony_ci reg = <0x80 0x80>; 41662306a36Sopenharmony_ci }; 41762306a36Sopenharmony_ci 41862306a36Sopenharmony_ci cpu_scp_hpri0: scp-sram-section@100 { 41962306a36Sopenharmony_ci compatible = "arm,scmi-shmem"; 42062306a36Sopenharmony_ci reg = <0x100 0x80>; 42162306a36Sopenharmony_ci }; 42262306a36Sopenharmony_ci 42362306a36Sopenharmony_ci cpu_scp_hpri2: scp-sram-section@180 { 42462306a36Sopenharmony_ci compatible = "arm,scmi-shmem"; 42562306a36Sopenharmony_ci reg = <0x180 0x80>; 42662306a36Sopenharmony_ci }; 42762306a36Sopenharmony_ci }; 42862306a36Sopenharmony_ci }; 42962306a36Sopenharmony_ci 43062306a36Sopenharmony_ci - | 43162306a36Sopenharmony_ci firmware { 43262306a36Sopenharmony_ci scmi { 43362306a36Sopenharmony_ci compatible = "arm,scmi-smc"; 43462306a36Sopenharmony_ci shmem = <&cpu_scp_lpri0>, <&cpu_scp_lpri1>; 43562306a36Sopenharmony_ci arm,smc-id = <0xc3000001>; 43662306a36Sopenharmony_ci 43762306a36Sopenharmony_ci #address-cells = <1>; 43862306a36Sopenharmony_ci #size-cells = <0>; 43962306a36Sopenharmony_ci 44062306a36Sopenharmony_ci scmi_devpd1: protocol@11 { 44162306a36Sopenharmony_ci reg = <0x11>; 44262306a36Sopenharmony_ci #power-domain-cells = <1>; 44362306a36Sopenharmony_ci }; 44462306a36Sopenharmony_ci }; 44562306a36Sopenharmony_ci }; 44662306a36Sopenharmony_ci 44762306a36Sopenharmony_ci - | 44862306a36Sopenharmony_ci firmware { 44962306a36Sopenharmony_ci scmi { 45062306a36Sopenharmony_ci compatible = "linaro,scmi-optee"; 45162306a36Sopenharmony_ci linaro,optee-channel-id = <0>; 45262306a36Sopenharmony_ci 45362306a36Sopenharmony_ci #address-cells = <1>; 45462306a36Sopenharmony_ci #size-cells = <0>; 45562306a36Sopenharmony_ci 45662306a36Sopenharmony_ci scmi_dvfs1: protocol@13 { 45762306a36Sopenharmony_ci reg = <0x13>; 45862306a36Sopenharmony_ci linaro,optee-channel-id = <1>; 45962306a36Sopenharmony_ci shmem = <&cpu_optee_lpri0>; 46062306a36Sopenharmony_ci #clock-cells = <1>; 46162306a36Sopenharmony_ci }; 46262306a36Sopenharmony_ci 46362306a36Sopenharmony_ci scmi_clk0: protocol@14 { 46462306a36Sopenharmony_ci reg = <0x14>; 46562306a36Sopenharmony_ci #clock-cells = <1>; 46662306a36Sopenharmony_ci }; 46762306a36Sopenharmony_ci }; 46862306a36Sopenharmony_ci }; 46962306a36Sopenharmony_ci 47062306a36Sopenharmony_ci soc { 47162306a36Sopenharmony_ci #address-cells = <2>; 47262306a36Sopenharmony_ci #size-cells = <2>; 47362306a36Sopenharmony_ci 47462306a36Sopenharmony_ci sram@51000000 { 47562306a36Sopenharmony_ci compatible = "mmio-sram"; 47662306a36Sopenharmony_ci reg = <0x0 0x51000000 0x0 0x10000>; 47762306a36Sopenharmony_ci 47862306a36Sopenharmony_ci #address-cells = <1>; 47962306a36Sopenharmony_ci #size-cells = <1>; 48062306a36Sopenharmony_ci ranges = <0 0x0 0x51000000 0x10000>; 48162306a36Sopenharmony_ci 48262306a36Sopenharmony_ci cpu_optee_lpri0: optee-sram-section@0 { 48362306a36Sopenharmony_ci compatible = "arm,scmi-shmem"; 48462306a36Sopenharmony_ci reg = <0x0 0x80>; 48562306a36Sopenharmony_ci }; 48662306a36Sopenharmony_ci }; 48762306a36Sopenharmony_ci }; 48862306a36Sopenharmony_ci 48962306a36Sopenharmony_ci... 490