161b8ac9bSSudeep Holla# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 261b8ac9bSSudeep Holla# Copyright 2021 ARM Ltd. 361b8ac9bSSudeep Holla%YAML 1.2 461b8ac9bSSudeep Holla--- 561b8ac9bSSudeep Holla$id: http://devicetree.org/schemas/firmware/arm,scmi.yaml# 661b8ac9bSSudeep Holla$schema: http://devicetree.org/meta-schemas/core.yaml# 761b8ac9bSSudeep Holla 884e85359SKrzysztof Kozlowskititle: System Control and Management Interface (SCMI) Message Protocol 961b8ac9bSSudeep Holla 1061b8ac9bSSudeep Hollamaintainers: 1161b8ac9bSSudeep Holla - Sudeep Holla <sudeep.holla@arm.com> 1261b8ac9bSSudeep Holla 1361b8ac9bSSudeep Holladescription: | 1461b8ac9bSSudeep Holla The SCMI is intended to allow agents such as OSPM to manage various functions 1561b8ac9bSSudeep Holla that are provided by the hardware platform it is running on, including power 1661b8ac9bSSudeep Holla and performance functions. 1761b8ac9bSSudeep Holla 1861b8ac9bSSudeep Holla This binding is intended to define the interface the firmware implementing 1961b8ac9bSSudeep Holla the SCMI as described in ARM document number ARM DEN 0056 ("ARM System Control 2061b8ac9bSSudeep Holla and Management Interface Platform Design Document")[0] provide for OSPM in 2161b8ac9bSSudeep Holla the device tree. 2261b8ac9bSSudeep Holla 2361b8ac9bSSudeep Holla [0] https://developer.arm.com/documentation/den0056/latest 2461b8ac9bSSudeep Holla 257d2b23fdSPeng FananyOf: 267d2b23fdSPeng Fan - $ref: /schemas/firmware/nxp,imx95-scmi.yaml 277d2b23fdSPeng Fan 2861b8ac9bSSudeep Hollaproperties: 2961b8ac9bSSudeep Holla $nodename: 3061b8ac9bSSudeep Holla const: scmi 3161b8ac9bSSudeep Holla 3261b8ac9bSSudeep Holla compatible: 3361b8ac9bSSudeep Holla oneOf: 3461b8ac9bSSudeep Holla - description: SCMI compliant firmware with mailbox transport 3561b8ac9bSSudeep Holla items: 3661b8ac9bSSudeep Holla - const: arm,scmi 3761b8ac9bSSudeep Holla - description: SCMI compliant firmware with ARM SMC/HVC transport 3861b8ac9bSSudeep Holla items: 3961b8ac9bSSudeep Holla - const: arm,scmi-smc 408f9d530cSNikunj Kela - description: SCMI compliant firmware with ARM SMC/HVC transport 418f9d530cSNikunj Kela with shmem address(4KB-page, offset) as parameters 428f9d530cSNikunj Kela items: 438f9d530cSNikunj Kela - const: arm,scmi-smc-param 446979f88fSNikunj Kela - description: SCMI compliant firmware with Qualcomm SMC/HVC transport 456979f88fSNikunj Kela items: 466979f88fSNikunj Kela - const: qcom,scmi-smc 4760625667SIgor Skalkin - description: SCMI compliant firmware with SCMI Virtio transport. 4860625667SIgor Skalkin The virtio transport only supports a single device. 4960625667SIgor Skalkin items: 5060625667SIgor Skalkin - const: arm,scmi-virtio 51b7d2cf7cSEtienne Carriere - description: SCMI compliant firmware with OP-TEE transport 52b7d2cf7cSEtienne Carriere items: 53b7d2cf7cSEtienne Carriere - const: linaro,scmi-optee 5461b8ac9bSSudeep Holla 5561b8ac9bSSudeep Holla interrupts: 5661b8ac9bSSudeep Holla description: 5761b8ac9bSSudeep Holla The interrupt that indicates message completion by the platform 5861b8ac9bSSudeep Holla rather than by the return of the smc call. This should not be used 5961b8ac9bSSudeep Holla except when the platform requires such behavior. 6061b8ac9bSSudeep Holla maxItems: 1 6161b8ac9bSSudeep Holla 6261b8ac9bSSudeep Holla interrupt-names: 6361b8ac9bSSudeep Holla const: a2p 6461b8ac9bSSudeep Holla 6561b8ac9bSSudeep Holla mbox-names: 6661b8ac9bSSudeep Holla description: 6761b8ac9bSSudeep Holla Specifies the mailboxes used to communicate with SCMI compliant 6861b8ac9bSSudeep Holla firmware. 6992ac94f7SCristian Marussi oneOf: 7092ac94f7SCristian Marussi - items: 7161b8ac9bSSudeep Holla - const: tx 7261b8ac9bSSudeep Holla - const: rx 7392ac94f7SCristian Marussi minItems: 1 7492ac94f7SCristian Marussi - items: 7592ac94f7SCristian Marussi - const: tx 7692ac94f7SCristian Marussi - const: tx_reply 7792ac94f7SCristian Marussi - const: rx 78d0398f51SPeng Fan - const: rx_reply 7992ac94f7SCristian Marussi minItems: 2 8061b8ac9bSSudeep Holla 8161b8ac9bSSudeep Holla mboxes: 8261b8ac9bSSudeep Holla description: 8361b8ac9bSSudeep Holla List of phandle and mailbox channel specifiers. It should contain 84d0398f51SPeng Fan exactly one, two, three or four mailboxes; the first one or two for 85d0398f51SPeng Fan transmitting messages ("tx") and another optional ("rx") for receiving 86d0398f51SPeng Fan notifications and delayed responses, if supported by the platform. 87d0398f51SPeng Fan The optional ("rx_reply") is for notifications completion interrupt, 88d0398f51SPeng Fan if supported by the platform. 8992ac94f7SCristian Marussi The number of mailboxes needed for transmitting messages depends on the 9092ac94f7SCristian Marussi type of channels exposed by the specific underlying mailbox controller; 9192ac94f7SCristian Marussi one single channel descriptor is enough if such channel is bidirectional, 9292ac94f7SCristian Marussi while two channel descriptors are needed to represent the SCMI ("tx") 9392ac94f7SCristian Marussi channel if the underlying mailbox channels are of unidirectional type. 9492ac94f7SCristian Marussi The effective combination in numbers of mboxes and shmem descriptors let 9592ac94f7SCristian Marussi the SCMI subsystem determine unambiguosly which type of SCMI channels are 9692ac94f7SCristian Marussi made available by the underlying mailbox controller and how to use them. 9792ac94f7SCristian Marussi 1 mbox / 1 shmem => SCMI TX over 1 mailbox bidirectional channel 9892ac94f7SCristian Marussi 2 mbox / 2 shmem => SCMI TX and RX over 2 mailbox bidirectional channels 9992ac94f7SCristian Marussi 2 mbox / 1 shmem => SCMI TX over 2 mailbox unidirectional channels 10092ac94f7SCristian Marussi 3 mbox / 2 shmem => SCMI TX and RX over 3 mailbox unidirectional channels 101d0398f51SPeng Fan 4 mbox / 2 shmem => SCMI TX and RX over 4 mailbox unidirectional channels 10292ac94f7SCristian Marussi Any other combination of mboxes and shmem is invalid. 10361b8ac9bSSudeep Holla minItems: 1 104d0398f51SPeng Fan maxItems: 4 10561b8ac9bSSudeep Holla 10661b8ac9bSSudeep Holla shmem: 10761b8ac9bSSudeep Holla description: 10861b8ac9bSSudeep Holla List of phandle pointing to the shared memory(SHM) area, for each 10961b8ac9bSSudeep Holla transport channel specified. 11061b8ac9bSSudeep Holla minItems: 1 11161b8ac9bSSudeep Holla maxItems: 2 11261b8ac9bSSudeep Holla 11361b8ac9bSSudeep Holla '#address-cells': 11461b8ac9bSSudeep Holla const: 1 11561b8ac9bSSudeep Holla 11661b8ac9bSSudeep Holla '#size-cells': 11761b8ac9bSSudeep Holla const: 0 11861b8ac9bSSudeep Holla 1190539884cSCristian Marussi atomic-threshold-us: 1200539884cSCristian Marussi description: 1210539884cSCristian Marussi An optional time value, expressed in microseconds, representing, on this 1220539884cSCristian Marussi platform, the threshold above which any SCMI command, advertised to have 1230539884cSCristian Marussi an higher-than-threshold execution latency, should not be considered for 1240539884cSCristian Marussi atomic mode of operation, even if requested. 1250539884cSCristian Marussi default: 0 1260539884cSCristian Marussi 1277bf46ec0SCristian Marussi arm,max-rx-timeout-ms: 1283a5e6ab0SPeng Fan description: 1293a5e6ab0SPeng Fan An optional time value, expressed in milliseconds, representing the 1303a5e6ab0SPeng Fan transport maximum timeout value for the receive channel. The value should 1313a5e6ab0SPeng Fan be a non-zero value if set. 1323a5e6ab0SPeng Fan minimum: 1 1333a5e6ab0SPeng Fan 134*5654d372SCristian Marussi arm,max-msg-size: 135*5654d372SCristian Marussi $ref: /schemas/types.yaml#/definitions/uint32 136*5654d372SCristian Marussi description: 137*5654d372SCristian Marussi An optional value, expressed in bytes, representing the maximum size 138*5654d372SCristian Marussi allowed for the payload of messages transmitted on this transport. 139*5654d372SCristian Marussi 140*5654d372SCristian Marussi arm,max-msg: 141*5654d372SCristian Marussi $ref: /schemas/types.yaml#/definitions/uint32 142*5654d372SCristian Marussi description: 143*5654d372SCristian Marussi An optional value representing the maximum number of concurrent in-flight 144*5654d372SCristian Marussi messages allowed by this transport; this number represents the maximum 145*5654d372SCristian Marussi number of concurrently outstanding messages that the server can handle on 146*5654d372SCristian Marussi this platform. If set, the value should be non-zero. 147*5654d372SCristian Marussi minimum: 1 148*5654d372SCristian Marussi 14961b8ac9bSSudeep Holla arm,smc-id: 15061b8ac9bSSudeep Holla $ref: /schemas/types.yaml#/definitions/uint32 15161b8ac9bSSudeep Holla description: 15261b8ac9bSSudeep Holla SMC id required when using smc or hvc transports 15361b8ac9bSSudeep Holla 154b7d2cf7cSEtienne Carriere linaro,optee-channel-id: 155b7d2cf7cSEtienne Carriere $ref: /schemas/types.yaml#/definitions/uint32 156b7d2cf7cSEtienne Carriere description: 157b7d2cf7cSEtienne Carriere Channel specifier required when using OP-TEE transport. 158b7d2cf7cSEtienne Carriere 15961b8ac9bSSudeep Holla protocol@11: 160df4fdd0dSRob Herring $ref: '#/$defs/protocol-node' 161df4fdd0dSRob Herring unevaluatedProperties: false 162df4fdd0dSRob Herring 16361b8ac9bSSudeep Holla properties: 16461b8ac9bSSudeep Holla reg: 16561b8ac9bSSudeep Holla const: 0x11 16661b8ac9bSSudeep Holla 16761b8ac9bSSudeep Holla '#power-domain-cells': 16861b8ac9bSSudeep Holla const: 1 16961b8ac9bSSudeep Holla 17061b8ac9bSSudeep Holla required: 17161b8ac9bSSudeep Holla - '#power-domain-cells' 17261b8ac9bSSudeep Holla 1734d5921a3SPeng Fan protocol@12: 1744d5921a3SPeng Fan $ref: '#/$defs/protocol-node' 1754d5921a3SPeng Fan unevaluatedProperties: false 1764d5921a3SPeng Fan 1774d5921a3SPeng Fan properties: 1784d5921a3SPeng Fan reg: 1794d5921a3SPeng Fan const: 0x12 1804d5921a3SPeng Fan 18161b8ac9bSSudeep Holla protocol@13: 182df4fdd0dSRob Herring $ref: '#/$defs/protocol-node' 183df4fdd0dSRob Herring unevaluatedProperties: false 184df4fdd0dSRob Herring 18561b8ac9bSSudeep Holla properties: 18661b8ac9bSSudeep Holla reg: 18761b8ac9bSSudeep Holla const: 0x13 18861b8ac9bSSudeep Holla 18961b8ac9bSSudeep Holla '#clock-cells': 19061b8ac9bSSudeep Holla const: 1 19161b8ac9bSSudeep Holla 192e11c480bSUlf Hansson '#power-domain-cells': 193e11c480bSUlf Hansson const: 1 194e11c480bSUlf Hansson 195e11c480bSUlf Hansson oneOf: 196e11c480bSUlf Hansson - required: 19761b8ac9bSSudeep Holla - '#clock-cells' 19861b8ac9bSSudeep Holla 199e11c480bSUlf Hansson - required: 200e11c480bSUlf Hansson - '#power-domain-cells' 201e11c480bSUlf Hansson 20261b8ac9bSSudeep Holla protocol@14: 203df4fdd0dSRob Herring $ref: '#/$defs/protocol-node' 204df4fdd0dSRob Herring unevaluatedProperties: false 205df4fdd0dSRob Herring 20661b8ac9bSSudeep Holla properties: 20761b8ac9bSSudeep Holla reg: 20861b8ac9bSSudeep Holla const: 0x14 20961b8ac9bSSudeep Holla 21061b8ac9bSSudeep Holla '#clock-cells': 21161b8ac9bSSudeep Holla const: 1 21261b8ac9bSSudeep Holla 21361b8ac9bSSudeep Holla required: 21461b8ac9bSSudeep Holla - '#clock-cells' 21561b8ac9bSSudeep Holla 21661b8ac9bSSudeep Holla protocol@15: 217df4fdd0dSRob Herring $ref: '#/$defs/protocol-node' 218df4fdd0dSRob Herring unevaluatedProperties: false 219df4fdd0dSRob Herring 22061b8ac9bSSudeep Holla properties: 22161b8ac9bSSudeep Holla reg: 22261b8ac9bSSudeep Holla const: 0x15 22361b8ac9bSSudeep Holla 22461b8ac9bSSudeep Holla '#thermal-sensor-cells': 22561b8ac9bSSudeep Holla const: 1 22661b8ac9bSSudeep Holla 22761b8ac9bSSudeep Holla required: 22861b8ac9bSSudeep Holla - '#thermal-sensor-cells' 22961b8ac9bSSudeep Holla 23061b8ac9bSSudeep Holla protocol@16: 231df4fdd0dSRob Herring $ref: '#/$defs/protocol-node' 232df4fdd0dSRob Herring unevaluatedProperties: false 233df4fdd0dSRob Herring 23461b8ac9bSSudeep Holla properties: 23561b8ac9bSSudeep Holla reg: 23661b8ac9bSSudeep Holla const: 0x16 23761b8ac9bSSudeep Holla 23861b8ac9bSSudeep Holla '#reset-cells': 23961b8ac9bSSudeep Holla const: 1 24061b8ac9bSSudeep Holla 24161b8ac9bSSudeep Holla required: 24261b8ac9bSSudeep Holla - '#reset-cells' 24361b8ac9bSSudeep Holla 24461b8ac9bSSudeep Holla protocol@17: 245df4fdd0dSRob Herring $ref: '#/$defs/protocol-node' 246df4fdd0dSRob Herring unevaluatedProperties: false 247df4fdd0dSRob Herring 24861b8ac9bSSudeep Holla properties: 24961b8ac9bSSudeep Holla reg: 25061b8ac9bSSudeep Holla const: 0x17 25161b8ac9bSSudeep Holla 25261b8ac9bSSudeep Holla regulators: 25361b8ac9bSSudeep Holla type: object 254df4fdd0dSRob Herring additionalProperties: false 25561b8ac9bSSudeep Holla description: 25661b8ac9bSSudeep Holla The list of all regulators provided by this SCMI controller. 25761b8ac9bSSudeep Holla 258df4fdd0dSRob Herring properties: 259df4fdd0dSRob Herring '#address-cells': 260df4fdd0dSRob Herring const: 1 261df4fdd0dSRob Herring 262df4fdd0dSRob Herring '#size-cells': 263df4fdd0dSRob Herring const: 0 264df4fdd0dSRob Herring 26561b8ac9bSSudeep Holla patternProperties: 266df4fdd0dSRob Herring '^regulator@[0-9a-f]+$': 26761b8ac9bSSudeep Holla type: object 2687123c05cSKrzysztof Kozlowski $ref: /schemas/regulator/regulator.yaml# 269df4fdd0dSRob Herring unevaluatedProperties: false 27061b8ac9bSSudeep Holla 27161b8ac9bSSudeep Holla properties: 27261b8ac9bSSudeep Holla reg: 27361b8ac9bSSudeep Holla maxItems: 1 27461b8ac9bSSudeep Holla description: Identifier for the voltage regulator. 27561b8ac9bSSudeep Holla 27661b8ac9bSSudeep Holla required: 27761b8ac9bSSudeep Holla - reg 27861b8ac9bSSudeep Holla 279451d8457SCristian Marussi protocol@18: 280df4fdd0dSRob Herring $ref: '#/$defs/protocol-node' 281df4fdd0dSRob Herring unevaluatedProperties: false 282df4fdd0dSRob Herring 283451d8457SCristian Marussi properties: 284451d8457SCristian Marussi reg: 285451d8457SCristian Marussi const: 0x18 286451d8457SCristian Marussi 2871b403075SPeng Fan protocol@19: 2881b403075SPeng Fan type: object 2891b403075SPeng Fan allOf: 2901b403075SPeng Fan - $ref: '#/$defs/protocol-node' 291997f2cdeSPeng Fan - anyOf: 2921b403075SPeng Fan - $ref: /schemas/pinctrl/pinctrl.yaml 293997f2cdeSPeng Fan - $ref: /schemas/firmware/nxp,imx95-scmi-pinctrl.yaml 2941b403075SPeng Fan 2951b403075SPeng Fan unevaluatedProperties: false 2961b403075SPeng Fan 2971b403075SPeng Fan properties: 2981b403075SPeng Fan reg: 2991b403075SPeng Fan const: 0x19 3001b403075SPeng Fan 3011b403075SPeng Fan patternProperties: 3021b403075SPeng Fan '-pins$': 3031b403075SPeng Fan type: object 3041b403075SPeng Fan allOf: 3051b403075SPeng Fan - $ref: /schemas/pinctrl/pincfg-node.yaml# 3061b403075SPeng Fan - $ref: /schemas/pinctrl/pinmux-node.yaml# 3071b403075SPeng Fan unevaluatedProperties: false 3081b403075SPeng Fan 3091b403075SPeng Fan description: 3101b403075SPeng Fan A pin multiplexing sub-node describes how to configure a 3111b403075SPeng Fan set of pins in some desired function. 3121b403075SPeng Fan A single sub-node may define several pin configurations. 3131b403075SPeng Fan This sub-node is using the default pinctrl bindings to configure 3141b403075SPeng Fan pin multiplexing and using SCMI protocol to apply a specified 3151b403075SPeng Fan configuration. 3161b403075SPeng Fan 3171b403075SPeng Fan required: 3181b403075SPeng Fan - reg 3191b403075SPeng Fan 3207d2b23fdSPeng FanunevaluatedProperties: false 32161b8ac9bSSudeep Holla 322df4fdd0dSRob Herring$defs: 323df4fdd0dSRob Herring protocol-node: 32461b8ac9bSSudeep Holla type: object 32561b8ac9bSSudeep Holla description: 32661b8ac9bSSudeep Holla Each sub-node represents a protocol supported. If the platform 32761b8ac9bSSudeep Holla supports a dedicated communication channel for a particular protocol, 32861b8ac9bSSudeep Holla then the corresponding transport properties must be present. 32960625667SIgor Skalkin The virtio transport does not support a dedicated communication channel. 33061b8ac9bSSudeep Holla 33161b8ac9bSSudeep Holla properties: 33261b8ac9bSSudeep Holla reg: 33361b8ac9bSSudeep Holla maxItems: 1 33461b8ac9bSSudeep Holla 33561b8ac9bSSudeep Holla mbox-names: 33692ac94f7SCristian Marussi oneOf: 33792ac94f7SCristian Marussi - items: 33861b8ac9bSSudeep Holla - const: tx 33961b8ac9bSSudeep Holla - const: rx 34092ac94f7SCristian Marussi minItems: 1 34192ac94f7SCristian Marussi - items: 34292ac94f7SCristian Marussi - const: tx 34392ac94f7SCristian Marussi - const: tx_reply 34492ac94f7SCristian Marussi - const: rx 34592ac94f7SCristian Marussi minItems: 2 34661b8ac9bSSudeep Holla 34761b8ac9bSSudeep Holla mboxes: 34861b8ac9bSSudeep Holla minItems: 1 34992ac94f7SCristian Marussi maxItems: 3 35061b8ac9bSSudeep Holla 35161b8ac9bSSudeep Holla shmem: 35261b8ac9bSSudeep Holla minItems: 1 35361b8ac9bSSudeep Holla maxItems: 2 35461b8ac9bSSudeep Holla 355b7d2cf7cSEtienne Carriere linaro,optee-channel-id: 356b7d2cf7cSEtienne Carriere $ref: /schemas/types.yaml#/definitions/uint32 357b7d2cf7cSEtienne Carriere description: 358b7d2cf7cSEtienne Carriere Channel specifier required when using OP-TEE transport and 359b7d2cf7cSEtienne Carriere protocol has a dedicated communication channel. 360b7d2cf7cSEtienne Carriere 36161b8ac9bSSudeep Holla required: 36261b8ac9bSSudeep Holla - reg 36361b8ac9bSSudeep Holla 36461b8ac9bSSudeep Hollarequired: 36561b8ac9bSSudeep Holla - compatible 36661b8ac9bSSudeep Holla 36761b8ac9bSSudeep Hollaif: 36861b8ac9bSSudeep Holla properties: 36961b8ac9bSSudeep Holla compatible: 37061b8ac9bSSudeep Holla contains: 37161b8ac9bSSudeep Holla const: arm,scmi 37261b8ac9bSSudeep Hollathen: 37361b8ac9bSSudeep Holla properties: 37461b8ac9bSSudeep Holla interrupts: false 37561b8ac9bSSudeep Holla interrupt-names: false 37661b8ac9bSSudeep Holla 37761b8ac9bSSudeep Holla required: 37861b8ac9bSSudeep Holla - mboxes 37960625667SIgor Skalkin - shmem 38061b8ac9bSSudeep Holla 38161b8ac9bSSudeep Hollaelse: 38261b8ac9bSSudeep Holla if: 38361b8ac9bSSudeep Holla properties: 38461b8ac9bSSudeep Holla compatible: 38561b8ac9bSSudeep Holla contains: 3868f9d530cSNikunj Kela enum: 3878f9d530cSNikunj Kela - arm,scmi-smc 3888f9d530cSNikunj Kela - arm,scmi-smc-param 3896979f88fSNikunj Kela - qcom,scmi-smc 39061b8ac9bSSudeep Holla then: 39161b8ac9bSSudeep Holla required: 39261b8ac9bSSudeep Holla - arm,smc-id 39360625667SIgor Skalkin - shmem 39461b8ac9bSSudeep Holla 395b7d2cf7cSEtienne Carriere else: 396b7d2cf7cSEtienne Carriere if: 397b7d2cf7cSEtienne Carriere properties: 398b7d2cf7cSEtienne Carriere compatible: 399b7d2cf7cSEtienne Carriere contains: 400b7d2cf7cSEtienne Carriere const: linaro,scmi-optee 401b7d2cf7cSEtienne Carriere then: 402b7d2cf7cSEtienne Carriere required: 403b7d2cf7cSEtienne Carriere - linaro,optee-channel-id 404b7d2cf7cSEtienne Carriere 40561b8ac9bSSudeep Hollaexamples: 40661b8ac9bSSudeep Holla - | 40761b8ac9bSSudeep Holla firmware { 40861b8ac9bSSudeep Holla scmi { 40961b8ac9bSSudeep Holla compatible = "arm,scmi"; 41061b8ac9bSSudeep Holla mboxes = <&mhuB 0 0>, 41161b8ac9bSSudeep Holla <&mhuB 0 1>; 41261b8ac9bSSudeep Holla mbox-names = "tx", "rx"; 41361b8ac9bSSudeep Holla shmem = <&cpu_scp_lpri0>, 41461b8ac9bSSudeep Holla <&cpu_scp_lpri1>; 41561b8ac9bSSudeep Holla 41661b8ac9bSSudeep Holla #address-cells = <1>; 41761b8ac9bSSudeep Holla #size-cells = <0>; 41861b8ac9bSSudeep Holla 4190539884cSCristian Marussi atomic-threshold-us = <10000>; 4200539884cSCristian Marussi 42161b8ac9bSSudeep Holla scmi_devpd: protocol@11 { 42261b8ac9bSSudeep Holla reg = <0x11>; 42361b8ac9bSSudeep Holla #power-domain-cells = <1>; 42461b8ac9bSSudeep Holla }; 42561b8ac9bSSudeep Holla 42661b8ac9bSSudeep Holla scmi_dvfs: protocol@13 { 42761b8ac9bSSudeep Holla reg = <0x13>; 42846258103SUlf Hansson #power-domain-cells = <1>; 42961b8ac9bSSudeep Holla 43061b8ac9bSSudeep Holla mboxes = <&mhuB 1 0>, 43161b8ac9bSSudeep Holla <&mhuB 1 1>; 43261b8ac9bSSudeep Holla mbox-names = "tx", "rx"; 43361b8ac9bSSudeep Holla shmem = <&cpu_scp_hpri0>, 43461b8ac9bSSudeep Holla <&cpu_scp_hpri1>; 43561b8ac9bSSudeep Holla }; 43661b8ac9bSSudeep Holla 43761b8ac9bSSudeep Holla scmi_clk: protocol@14 { 43861b8ac9bSSudeep Holla reg = <0x14>; 43961b8ac9bSSudeep Holla #clock-cells = <1>; 44061b8ac9bSSudeep Holla }; 44161b8ac9bSSudeep Holla 44261b8ac9bSSudeep Holla scmi_sensors: protocol@15 { 44361b8ac9bSSudeep Holla reg = <0x15>; 44461b8ac9bSSudeep Holla #thermal-sensor-cells = <1>; 44561b8ac9bSSudeep Holla }; 44661b8ac9bSSudeep Holla 44761b8ac9bSSudeep Holla scmi_reset: protocol@16 { 44861b8ac9bSSudeep Holla reg = <0x16>; 44961b8ac9bSSudeep Holla #reset-cells = <1>; 45061b8ac9bSSudeep Holla }; 45161b8ac9bSSudeep Holla 45261b8ac9bSSudeep Holla scmi_voltage: protocol@17 { 45361b8ac9bSSudeep Holla reg = <0x17>; 45461b8ac9bSSudeep Holla regulators { 45561b8ac9bSSudeep Holla #address-cells = <1>; 45661b8ac9bSSudeep Holla #size-cells = <0>; 45761b8ac9bSSudeep Holla 45861b8ac9bSSudeep Holla regulator_devX: regulator@0 { 45961b8ac9bSSudeep Holla reg = <0x0>; 46061b8ac9bSSudeep Holla regulator-max-microvolt = <3300000>; 46161b8ac9bSSudeep Holla }; 46261b8ac9bSSudeep Holla 46361b8ac9bSSudeep Holla regulator_devY: regulator@9 { 46461b8ac9bSSudeep Holla reg = <0x9>; 46561b8ac9bSSudeep Holla regulator-min-microvolt = <500000>; 46661b8ac9bSSudeep Holla regulator-max-microvolt = <4200000>; 46761b8ac9bSSudeep Holla }; 46861b8ac9bSSudeep Holla }; 46961b8ac9bSSudeep Holla }; 470451d8457SCristian Marussi 471451d8457SCristian Marussi scmi_powercap: protocol@18 { 472451d8457SCristian Marussi reg = <0x18>; 473451d8457SCristian Marussi }; 4741b403075SPeng Fan 4751b403075SPeng Fan scmi_pinctrl: protocol@19 { 4761b403075SPeng Fan reg = <0x19>; 4771b403075SPeng Fan 4781b403075SPeng Fan i2c2-pins { 4791b403075SPeng Fan groups = "g_i2c2_a", "g_i2c2_b"; 4801b403075SPeng Fan function = "f_i2c2"; 4811b403075SPeng Fan }; 4821b403075SPeng Fan 4831b403075SPeng Fan mdio-pins { 4841b403075SPeng Fan groups = "g_avb_mdio"; 4851b403075SPeng Fan drive-strength = <24>; 4861b403075SPeng Fan }; 4871b403075SPeng Fan 4881b403075SPeng Fan keys_pins: keys-pins { 4891b403075SPeng Fan pins = "gpio_5_17", "gpio_5_20", "gpio_5_22", "gpio_2_1"; 4901b403075SPeng Fan bias-pull-up; 4911b403075SPeng Fan }; 4921b403075SPeng Fan }; 49361b8ac9bSSudeep Holla }; 49461b8ac9bSSudeep Holla }; 49561b8ac9bSSudeep Holla 49661b8ac9bSSudeep Holla soc { 49761b8ac9bSSudeep Holla #address-cells = <2>; 49861b8ac9bSSudeep Holla #size-cells = <2>; 49961b8ac9bSSudeep Holla 50061b8ac9bSSudeep Holla sram@50000000 { 50161b8ac9bSSudeep Holla compatible = "mmio-sram"; 50261b8ac9bSSudeep Holla reg = <0x0 0x50000000 0x0 0x10000>; 50361b8ac9bSSudeep Holla 50461b8ac9bSSudeep Holla #address-cells = <1>; 50561b8ac9bSSudeep Holla #size-cells = <1>; 50661b8ac9bSSudeep Holla ranges = <0 0x0 0x50000000 0x10000>; 50761b8ac9bSSudeep Holla 50861b8ac9bSSudeep Holla cpu_scp_lpri0: scp-sram-section@0 { 50961b8ac9bSSudeep Holla compatible = "arm,scmi-shmem"; 51061b8ac9bSSudeep Holla reg = <0x0 0x80>; 51161b8ac9bSSudeep Holla }; 51261b8ac9bSSudeep Holla 51361b8ac9bSSudeep Holla cpu_scp_lpri1: scp-sram-section@80 { 51461b8ac9bSSudeep Holla compatible = "arm,scmi-shmem"; 51561b8ac9bSSudeep Holla reg = <0x80 0x80>; 51661b8ac9bSSudeep Holla }; 51761b8ac9bSSudeep Holla 51861b8ac9bSSudeep Holla cpu_scp_hpri0: scp-sram-section@100 { 51961b8ac9bSSudeep Holla compatible = "arm,scmi-shmem"; 52061b8ac9bSSudeep Holla reg = <0x100 0x80>; 52161b8ac9bSSudeep Holla }; 52261b8ac9bSSudeep Holla 52361b8ac9bSSudeep Holla cpu_scp_hpri2: scp-sram-section@180 { 52461b8ac9bSSudeep Holla compatible = "arm,scmi-shmem"; 52561b8ac9bSSudeep Holla reg = <0x180 0x80>; 52661b8ac9bSSudeep Holla }; 52761b8ac9bSSudeep Holla }; 52861b8ac9bSSudeep Holla }; 52961b8ac9bSSudeep Holla 53061b8ac9bSSudeep Holla - | 53161b8ac9bSSudeep Holla firmware { 53261b8ac9bSSudeep Holla scmi { 53361b8ac9bSSudeep Holla compatible = "arm,scmi-smc"; 53439bd2b6aSRob Herring shmem = <&cpu_scp_lpri0>, <&cpu_scp_lpri1>; 53561b8ac9bSSudeep Holla arm,smc-id = <0xc3000001>; 53661b8ac9bSSudeep Holla 53761b8ac9bSSudeep Holla #address-cells = <1>; 53861b8ac9bSSudeep Holla #size-cells = <0>; 53961b8ac9bSSudeep Holla 54061b8ac9bSSudeep Holla scmi_devpd1: protocol@11 { 54161b8ac9bSSudeep Holla reg = <0x11>; 54261b8ac9bSSudeep Holla #power-domain-cells = <1>; 54361b8ac9bSSudeep Holla }; 544b7d2cf7cSEtienne Carriere }; 545b7d2cf7cSEtienne Carriere }; 54661b8ac9bSSudeep Holla 547b7d2cf7cSEtienne Carriere - | 548b7d2cf7cSEtienne Carriere firmware { 549b7d2cf7cSEtienne Carriere scmi { 550b7d2cf7cSEtienne Carriere compatible = "linaro,scmi-optee"; 551b7d2cf7cSEtienne Carriere linaro,optee-channel-id = <0>; 552b7d2cf7cSEtienne Carriere 553b7d2cf7cSEtienne Carriere #address-cells = <1>; 554b7d2cf7cSEtienne Carriere #size-cells = <0>; 555b7d2cf7cSEtienne Carriere 556b7d2cf7cSEtienne Carriere scmi_dvfs1: protocol@13 { 557b7d2cf7cSEtienne Carriere reg = <0x13>; 558b7d2cf7cSEtienne Carriere linaro,optee-channel-id = <1>; 559b7d2cf7cSEtienne Carriere shmem = <&cpu_optee_lpri0>; 56046258103SUlf Hansson #power-domain-cells = <1>; 561b7d2cf7cSEtienne Carriere }; 562b7d2cf7cSEtienne Carriere 563b7d2cf7cSEtienne Carriere scmi_clk0: protocol@14 { 564b7d2cf7cSEtienne Carriere reg = <0x14>; 565b7d2cf7cSEtienne Carriere #clock-cells = <1>; 566b7d2cf7cSEtienne Carriere }; 567b7d2cf7cSEtienne Carriere }; 568b7d2cf7cSEtienne Carriere }; 569b7d2cf7cSEtienne Carriere 570b7d2cf7cSEtienne Carriere soc { 571b7d2cf7cSEtienne Carriere #address-cells = <2>; 572b7d2cf7cSEtienne Carriere #size-cells = <2>; 573b7d2cf7cSEtienne Carriere 574b7d2cf7cSEtienne Carriere sram@51000000 { 575b7d2cf7cSEtienne Carriere compatible = "mmio-sram"; 576b7d2cf7cSEtienne Carriere reg = <0x0 0x51000000 0x0 0x10000>; 577b7d2cf7cSEtienne Carriere 578b7d2cf7cSEtienne Carriere #address-cells = <1>; 579b7d2cf7cSEtienne Carriere #size-cells = <1>; 580b7d2cf7cSEtienne Carriere ranges = <0 0x0 0x51000000 0x10000>; 581b7d2cf7cSEtienne Carriere 582b7d2cf7cSEtienne Carriere cpu_optee_lpri0: optee-sram-section@0 { 583b7d2cf7cSEtienne Carriere compatible = "arm,scmi-shmem"; 584b7d2cf7cSEtienne Carriere reg = <0x0 0x80>; 585b7d2cf7cSEtienne Carriere }; 58661b8ac9bSSudeep Holla }; 58761b8ac9bSSudeep Holla }; 58861b8ac9bSSudeep Holla 58961b8ac9bSSudeep Holla... 590