1bdea1422SSibi Sankar# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2bdea1422SSibi Sankar%YAML 1.2 3bdea1422SSibi Sankar--- 4bdea1422SSibi Sankar$id: http://devicetree.org/schemas/remoteproc/qcom,msm8996-mss-pil.yaml# 5bdea1422SSibi Sankar$schema: http://devicetree.org/meta-schemas/core.yaml# 6bdea1422SSibi Sankar 7bdea1422SSibi Sankartitle: Qualcomm MSM8996 MSS Peripheral Image Loader (and similar) 8bdea1422SSibi Sankar 9bdea1422SSibi Sankarmaintainers: 10bdea1422SSibi Sankar - Bjorn Andersson <andersson@kernel.org> 11bdea1422SSibi Sankar - Sibi Sankar <quic_sibis@quicinc.com> 12bdea1422SSibi Sankar 13bdea1422SSibi Sankardescription: 14bdea1422SSibi Sankar MSS Peripheral Image Loader loads and boots firmware on the 15bdea1422SSibi Sankar Qualcomm Technology Inc. MSM8996 Modem Hexagon Core (and similar). 16bdea1422SSibi Sankar 17bdea1422SSibi Sankarproperties: 18bdea1422SSibi Sankar compatible: 19bdea1422SSibi Sankar enum: 20bdea1422SSibi Sankar - qcom,msm8996-mss-pil 21bdea1422SSibi Sankar - qcom,msm8998-mss-pil 22ed50ac26SAlexey Minnekhanov - qcom,sdm660-mss-pil 23bdea1422SSibi Sankar - qcom,sdm845-mss-pil 24bdea1422SSibi Sankar 25bdea1422SSibi Sankar reg: 26bdea1422SSibi Sankar items: 27bdea1422SSibi Sankar - description: MSS QDSP6 registers 28bdea1422SSibi Sankar - description: RMB registers 29bdea1422SSibi Sankar 30bdea1422SSibi Sankar reg-names: 31bdea1422SSibi Sankar items: 32bdea1422SSibi Sankar - const: qdsp6 33bdea1422SSibi Sankar - const: rmb 34bdea1422SSibi Sankar 35bdea1422SSibi Sankar iommus: 36bdea1422SSibi Sankar items: 37bdea1422SSibi Sankar - description: MSA Stream 1 38bdea1422SSibi Sankar - description: MSA Stream 2 39bdea1422SSibi Sankar 40bdea1422SSibi Sankar interrupts: 41bdea1422SSibi Sankar items: 42bdea1422SSibi Sankar - description: Watchdog interrupt 43bdea1422SSibi Sankar - description: Fatal interrupt 44bdea1422SSibi Sankar - description: Ready interrupt 45bdea1422SSibi Sankar - description: Handover interrupt 46bdea1422SSibi Sankar - description: Stop acknowledge interrupt 47bdea1422SSibi Sankar - description: Shutdown acknowledge interrupt 48bdea1422SSibi Sankar 49bdea1422SSibi Sankar interrupt-names: 50bdea1422SSibi Sankar items: 51bdea1422SSibi Sankar - const: wdog 52bdea1422SSibi Sankar - const: fatal 53bdea1422SSibi Sankar - const: ready 54bdea1422SSibi Sankar - const: handover 55bdea1422SSibi Sankar - const: stop-ack 56bdea1422SSibi Sankar - const: shutdown-ack 57bdea1422SSibi Sankar 58bdea1422SSibi Sankar clocks: 59bdea1422SSibi Sankar minItems: 8 60bdea1422SSibi Sankar maxItems: 9 61bdea1422SSibi Sankar 62bdea1422SSibi Sankar clock-names: 63bdea1422SSibi Sankar minItems: 8 64bdea1422SSibi Sankar maxItems: 9 65bdea1422SSibi Sankar 66bdea1422SSibi Sankar power-domains: 67bdea1422SSibi Sankar items: 68bdea1422SSibi Sankar - description: CX power domain 69bdea1422SSibi Sankar - description: MX power domain 70bdea1422SSibi Sankar - description: MSS power domain (only valid for qcom,sdm845-mss-pil) 71bdea1422SSibi Sankar minItems: 2 72bdea1422SSibi Sankar 73bdea1422SSibi Sankar power-domain-names: 74bdea1422SSibi Sankar items: 75bdea1422SSibi Sankar - const: cx 76bdea1422SSibi Sankar - const: mx 77bdea1422SSibi Sankar - const: mss # only valid for qcom,sdm845-mss-pil 78bdea1422SSibi Sankar minItems: 2 79bdea1422SSibi Sankar 80bdea1422SSibi Sankar pll-supply: 81bdea1422SSibi Sankar description: PLL supply 82bdea1422SSibi Sankar 83bdea1422SSibi Sankar resets: 84bdea1422SSibi Sankar items: 85bdea1422SSibi Sankar - description: AOSS restart 86bdea1422SSibi Sankar - description: PDC reset (only valid for qcom,sdm845-mss-pil) 87bdea1422SSibi Sankar minItems: 1 88bdea1422SSibi Sankar 89bdea1422SSibi Sankar reset-names: 90bdea1422SSibi Sankar items: 91bdea1422SSibi Sankar - const: mss_restart 92bdea1422SSibi Sankar - const: pdc_reset # only valid for qcom,sdm845-mss-pil 93bdea1422SSibi Sankar minItems: 1 94bdea1422SSibi Sankar 95bdea1422SSibi Sankar qcom,qmp: 96bdea1422SSibi Sankar $ref: /schemas/types.yaml#/definitions/phandle 97bdea1422SSibi Sankar description: Reference to the AOSS side-channel message RAM. 98bdea1422SSibi Sankar 99bdea1422SSibi Sankar qcom,smem-states: 100bdea1422SSibi Sankar $ref: /schemas/types.yaml#/definitions/phandle-array 101bdea1422SSibi Sankar description: States used by the AP to signal the Hexagon core 102bdea1422SSibi Sankar items: 103bdea1422SSibi Sankar - description: Stop modem 104bdea1422SSibi Sankar 105bdea1422SSibi Sankar qcom,smem-state-names: 106bdea1422SSibi Sankar description: Names of the states used by the AP to signal the Hexagon core 107bdea1422SSibi Sankar items: 108bdea1422SSibi Sankar - const: stop 109bdea1422SSibi Sankar 110bdea1422SSibi Sankar qcom,halt-regs: 111bdea1422SSibi Sankar $ref: /schemas/types.yaml#/definitions/phandle-array 112bdea1422SSibi Sankar description: 113bdea1422SSibi Sankar Halt registers are used to halt transactions of various sub-components 114bdea1422SSibi Sankar within MSS. 115bdea1422SSibi Sankar items: 116bdea1422SSibi Sankar - items: 117bdea1422SSibi Sankar - description: phandle to TCSR syscon region 118bdea1422SSibi Sankar - description: offset to the Q6 halt register 119bdea1422SSibi Sankar - description: offset to the modem halt register 120bdea1422SSibi Sankar - description: offset to the nc halt register 121bdea1422SSibi Sankar 122bdea1422SSibi Sankar memory-region: 123bdea1422SSibi Sankar items: 124bdea1422SSibi Sankar - description: MBA reserved region 125bdea1422SSibi Sankar - description: Modem reserved region 1269b302424SSibi Sankar - description: Metadata reserved region 127bdea1422SSibi Sankar 128bdea1422SSibi Sankar firmware-name: 129bdea1422SSibi Sankar $ref: /schemas/types.yaml#/definitions/string-array 130bdea1422SSibi Sankar items: 131bdea1422SSibi Sankar - description: Name of MBA firmware 132bdea1422SSibi Sankar - description: Name of modem firmware 133bdea1422SSibi Sankar 134bdea1422SSibi Sankar smd-edge: 135bdea1422SSibi Sankar $ref: /schemas/remoteproc/qcom,smd-edge.yaml# 136bdea1422SSibi Sankar description: 137bdea1422SSibi Sankar Qualcomm Shared Memory subnode which represents communication edge, 138bdea1422SSibi Sankar channels and devices related to the Modem. 139bdea1422SSibi Sankar unevaluatedProperties: false 140bdea1422SSibi Sankar 141bdea1422SSibi Sankar glink-edge: 142bdea1422SSibi Sankar $ref: /schemas/remoteproc/qcom,glink-edge.yaml# 143bdea1422SSibi Sankar description: 144bdea1422SSibi Sankar Qualcomm G-Link subnode which represents communication edge, channels 145bdea1422SSibi Sankar and devices related to the Modem. 146bdea1422SSibi Sankar unevaluatedProperties: false 147bdea1422SSibi Sankar 148bdea1422SSibi Sankar # Deprecated properties 149bdea1422SSibi Sankar mba: 150bdea1422SSibi Sankar type: object 151bdea1422SSibi Sankar description: 152bdea1422SSibi Sankar MBA reserved region 153bdea1422SSibi Sankar 154bdea1422SSibi Sankar properties: 155bdea1422SSibi Sankar memory-region: true 156bdea1422SSibi Sankar 157bdea1422SSibi Sankar required: 158bdea1422SSibi Sankar - memory-region 159bdea1422SSibi Sankar 160bdea1422SSibi Sankar additionalProperties: false 161bdea1422SSibi Sankar deprecated: true 162bdea1422SSibi Sankar 163bdea1422SSibi Sankar mpss: 164bdea1422SSibi Sankar type: object 165bdea1422SSibi Sankar description: 166bdea1422SSibi Sankar MPSS reserved region 167bdea1422SSibi Sankar 168bdea1422SSibi Sankar properties: 169bdea1422SSibi Sankar memory-region: true 170bdea1422SSibi Sankar 171bdea1422SSibi Sankar required: 172bdea1422SSibi Sankar - memory-region 173bdea1422SSibi Sankar 174bdea1422SSibi Sankar additionalProperties: false 175bdea1422SSibi Sankar deprecated: true 176bdea1422SSibi Sankar 1779b302424SSibi Sankar metadata: 1789b302424SSibi Sankar type: object 1799b302424SSibi Sankar description: 1809b302424SSibi Sankar Metadata reserved region 1819b302424SSibi Sankar 1829b302424SSibi Sankar properties: 1839b302424SSibi Sankar memory-region: true 1849b302424SSibi Sankar 1859b302424SSibi Sankar required: 1869b302424SSibi Sankar - memory-region 1879b302424SSibi Sankar 1889b302424SSibi Sankar additionalProperties: false 1899b302424SSibi Sankar deprecated: true 1909b302424SSibi Sankar 191bdea1422SSibi Sankarrequired: 192bdea1422SSibi Sankar - compatible 193bdea1422SSibi Sankar - reg 194bdea1422SSibi Sankar - reg-names 195bdea1422SSibi Sankar - interrupts 196bdea1422SSibi Sankar - interrupt-names 197bdea1422SSibi Sankar - clocks 198bdea1422SSibi Sankar - clock-names 199bdea1422SSibi Sankar - power-domains 200bdea1422SSibi Sankar - power-domain-names 201bdea1422SSibi Sankar - resets 202bdea1422SSibi Sankar - reset-names 203bdea1422SSibi Sankar - qcom,halt-regs 204bdea1422SSibi Sankar - qcom,smem-states 205bdea1422SSibi Sankar - qcom,smem-state-names 206bdea1422SSibi Sankar 207bdea1422SSibi SankarallOf: 208bdea1422SSibi Sankar - if: 209bdea1422SSibi Sankar properties: 210bdea1422SSibi Sankar compatible: 211bdea1422SSibi Sankar const: qcom,msm8996-mss-pil 212bdea1422SSibi Sankar then: 213bdea1422SSibi Sankar properties: 214bdea1422SSibi Sankar clocks: 215bdea1422SSibi Sankar items: 216bdea1422SSibi Sankar - description: GCC MSS IFACE clock 217bdea1422SSibi Sankar - description: GCC MSS BUS clock 218bdea1422SSibi Sankar - description: GCC MSS MEM clock 219*7784311cSKonrad Dybcio - description: RPM XO clock 220bdea1422SSibi Sankar - description: GCC MSS GPLL0 clock 221bdea1422SSibi Sankar - description: GCC MSS SNOC_AXI clock 222bdea1422SSibi Sankar - description: GCC MSS MNOC_AXI clock 223*7784311cSKonrad Dybcio - description: RPM QDSS clock 224bdea1422SSibi Sankar clock-names: 225bdea1422SSibi Sankar items: 226bdea1422SSibi Sankar - const: iface 227bdea1422SSibi Sankar - const: bus 228bdea1422SSibi Sankar - const: mem 229bdea1422SSibi Sankar - const: xo 230bdea1422SSibi Sankar - const: gpll0_mss 231bdea1422SSibi Sankar - const: snoc_axi 232bdea1422SSibi Sankar - const: mnoc_axi 233bdea1422SSibi Sankar - const: qdss 234bdea1422SSibi Sankar required: 235bdea1422SSibi Sankar - pll-supply 236bdea1422SSibi Sankar - smd-edge 237bdea1422SSibi Sankar else: 238bdea1422SSibi Sankar properties: 239bdea1422SSibi Sankar pll-supply: false 240bdea1422SSibi Sankar smd-edge: false 241bdea1422SSibi Sankar 242bdea1422SSibi Sankar - if: 243bdea1422SSibi Sankar properties: 244bdea1422SSibi Sankar compatible: 245ed50ac26SAlexey Minnekhanov enum: 246ed50ac26SAlexey Minnekhanov - qcom,msm8998-mss-pil 247ed50ac26SAlexey Minnekhanov - qcom,sdm660-mss-pil 248bdea1422SSibi Sankar then: 249bdea1422SSibi Sankar properties: 250bdea1422SSibi Sankar clocks: 251bdea1422SSibi Sankar items: 252bdea1422SSibi Sankar - description: GCC MSS IFACE clock 253bdea1422SSibi Sankar - description: GCC MSS BUS clock 254bdea1422SSibi Sankar - description: GCC MSS MEM clock 255bdea1422SSibi Sankar - description: GCC MSS GPLL0 clock 256bdea1422SSibi Sankar - description: GCC MSS SNOC_AXI clock 257bdea1422SSibi Sankar - description: GCC MSS MNOC_AXI clock 258bdea1422SSibi Sankar - description: RPMH QDSS clock 259bdea1422SSibi Sankar - description: RPMH XO clock 260bdea1422SSibi Sankar clock-names: 261bdea1422SSibi Sankar items: 262bdea1422SSibi Sankar - const: iface 263bdea1422SSibi Sankar - const: bus 264bdea1422SSibi Sankar - const: mem 265bdea1422SSibi Sankar - const: gpll0_mss 266bdea1422SSibi Sankar - const: snoc_axi 267bdea1422SSibi Sankar - const: mnoc_axi 268bdea1422SSibi Sankar - const: qdss 269bdea1422SSibi Sankar - const: xo 270bdea1422SSibi Sankar required: 271bdea1422SSibi Sankar - glink-edge 272bdea1422SSibi Sankar 273bdea1422SSibi Sankar - if: 274bdea1422SSibi Sankar properties: 275bdea1422SSibi Sankar compatible: 276bdea1422SSibi Sankar const: qcom,sdm845-mss-pil 277bdea1422SSibi Sankar then: 278bdea1422SSibi Sankar properties: 279bdea1422SSibi Sankar power-domains: 280bdea1422SSibi Sankar minItems: 3 281bdea1422SSibi Sankar power-domain-names: 282bdea1422SSibi Sankar minItems: 3 283bdea1422SSibi Sankar resets: 284bdea1422SSibi Sankar minItems: 2 285bdea1422SSibi Sankar reset-names: 286bdea1422SSibi Sankar minItems: 2 287bdea1422SSibi Sankar clocks: 288bdea1422SSibi Sankar items: 289bdea1422SSibi Sankar - description: GCC MSS IFACE clock 290bdea1422SSibi Sankar - description: GCC MSS BUS clock 291bdea1422SSibi Sankar - description: GCC MSS MEM clock 292bdea1422SSibi Sankar - description: GCC MSS GPLL0 clock 293bdea1422SSibi Sankar - description: GCC MSS SNOC_AXI clock 294bdea1422SSibi Sankar - description: GCC MSS MNOC_AXI clock 295bdea1422SSibi Sankar - description: GCC MSS PRNG clock 296bdea1422SSibi Sankar - description: RPMH XO clock 297bdea1422SSibi Sankar clock-names: 298bdea1422SSibi Sankar items: 299bdea1422SSibi Sankar - const: iface 300bdea1422SSibi Sankar - const: bus 301bdea1422SSibi Sankar - const: mem 302bdea1422SSibi Sankar - const: gpll0_mss 303bdea1422SSibi Sankar - const: snoc_axi 304bdea1422SSibi Sankar - const: mnoc_axi 305bdea1422SSibi Sankar - const: prng 306bdea1422SSibi Sankar - const: xo 307bdea1422SSibi Sankar required: 308bdea1422SSibi Sankar - qcom,qmp 309bdea1422SSibi Sankar - glink-edge 310bdea1422SSibi Sankar else: 311bdea1422SSibi Sankar properties: 312bdea1422SSibi Sankar iommus: false 313bdea1422SSibi Sankar power-domains: 314bdea1422SSibi Sankar maxItems: 2 315bdea1422SSibi Sankar power-domain-names: 316bdea1422SSibi Sankar maxItems: 2 317bdea1422SSibi Sankar resets: 318bdea1422SSibi Sankar maxItems: 1 319bdea1422SSibi Sankar reset-names: 320bdea1422SSibi Sankar maxItems: 1 321bdea1422SSibi Sankar qcom,qmp: false 322bdea1422SSibi Sankar 323bdea1422SSibi Sankar # Fallbacks for deprecated properties 324bdea1422SSibi Sankar - oneOf: 325bdea1422SSibi Sankar - required: 326bdea1422SSibi Sankar - memory-region 327bdea1422SSibi Sankar - required: 328bdea1422SSibi Sankar - mba 329bdea1422SSibi Sankar - mpss 3309b302424SSibi Sankar - metadata 331bdea1422SSibi Sankar 332bdea1422SSibi SankaradditionalProperties: false 333bdea1422SSibi Sankar 334bdea1422SSibi Sankarexamples: 335bdea1422SSibi Sankar - | 336bdea1422SSibi Sankar #include <dt-bindings/clock/qcom,gcc-sdm845.h> 337bdea1422SSibi Sankar #include <dt-bindings/clock/qcom,rpmh.h> 338bdea1422SSibi Sankar #include <dt-bindings/interrupt-controller/arm-gic.h> 339bdea1422SSibi Sankar #include <dt-bindings/power/qcom-rpmpd.h> 340bdea1422SSibi Sankar #include <dt-bindings/reset/qcom,sdm845-aoss.h> 341bdea1422SSibi Sankar #include <dt-bindings/reset/qcom,sdm845-pdc.h> 342bdea1422SSibi Sankar 343bdea1422SSibi Sankar remoteproc@4080000 { 344bdea1422SSibi Sankar compatible = "qcom,sdm845-mss-pil"; 345bdea1422SSibi Sankar reg = <0x04080000 0x408>, <0x04180000 0x48>; 346bdea1422SSibi Sankar reg-names = "qdsp6", "rmb"; 347bdea1422SSibi Sankar 348bdea1422SSibi Sankar interrupts-extended = <&intc GIC_SPI 266 IRQ_TYPE_EDGE_RISING>, 349bdea1422SSibi Sankar <&modem_smp2p_in 0 IRQ_TYPE_EDGE_RISING>, 350bdea1422SSibi Sankar <&modem_smp2p_in 1 IRQ_TYPE_EDGE_RISING>, 351bdea1422SSibi Sankar <&modem_smp2p_in 2 IRQ_TYPE_EDGE_RISING>, 352bdea1422SSibi Sankar <&modem_smp2p_in 3 IRQ_TYPE_EDGE_RISING>, 353bdea1422SSibi Sankar <&modem_smp2p_in 7 IRQ_TYPE_EDGE_RISING>; 354bdea1422SSibi Sankar interrupt-names = "wdog", "fatal", "ready", "handover", "stop-ack", 355bdea1422SSibi Sankar "shutdown-ack"; 356bdea1422SSibi Sankar 357bdea1422SSibi Sankar clocks = <&gcc GCC_MSS_CFG_AHB_CLK>, 358bdea1422SSibi Sankar <&gcc GCC_MSS_Q6_MEMNOC_AXI_CLK>, 359bdea1422SSibi Sankar <&gcc GCC_BOOT_ROM_AHB_CLK>, 360bdea1422SSibi Sankar <&gcc GCC_MSS_GPLL0_DIV_CLK_SRC>, 361bdea1422SSibi Sankar <&gcc GCC_MSS_SNOC_AXI_CLK>, 362bdea1422SSibi Sankar <&gcc GCC_MSS_MFAB_AXIS_CLK>, 363bdea1422SSibi Sankar <&gcc GCC_PRNG_AHB_CLK>, 364bdea1422SSibi Sankar <&rpmhcc RPMH_CXO_CLK>; 365bdea1422SSibi Sankar clock-names = "iface", "bus", "mem", "gpll0_mss", 366bdea1422SSibi Sankar "snoc_axi", "mnoc_axi", "prng", "xo"; 367bdea1422SSibi Sankar 368bdea1422SSibi Sankar power-domains = <&rpmhpd SDM845_CX>, 369bdea1422SSibi Sankar <&rpmhpd SDM845_MX>, 370bdea1422SSibi Sankar <&rpmhpd SDM845_MSS>; 371bdea1422SSibi Sankar power-domain-names = "cx", "mx", "mss"; 372bdea1422SSibi Sankar 3739b302424SSibi Sankar memory-region = <&mba_mem>, <&mpss_mem>, <&mdata_mem>; 374bdea1422SSibi Sankar 375bdea1422SSibi Sankar resets = <&aoss_reset AOSS_CC_MSS_RESTART>, 376bdea1422SSibi Sankar <&pdc_reset PDC_MODEM_SYNC_RESET>; 377bdea1422SSibi Sankar reset-names = "mss_restart", "pdc_reset"; 378bdea1422SSibi Sankar 379bdea1422SSibi Sankar qcom,halt-regs = <&tcsr_regs_1 0x3000 0x5000 0x4000>; 380bdea1422SSibi Sankar 381bdea1422SSibi Sankar qcom,qmp = <&aoss_qmp>; 382bdea1422SSibi Sankar 383bdea1422SSibi Sankar qcom,smem-states = <&modem_smp2p_out 0>; 384bdea1422SSibi Sankar qcom,smem-state-names = "stop"; 385bdea1422SSibi Sankar 386bdea1422SSibi Sankar glink-edge { 387bdea1422SSibi Sankar interrupts = <GIC_SPI 449 IRQ_TYPE_EDGE_RISING>; 388bdea1422SSibi Sankar label = "modem"; 389bdea1422SSibi Sankar qcom,remote-pid = <1>; 390bdea1422SSibi Sankar mboxes = <&apss_shared 12>; 391bdea1422SSibi Sankar }; 392bdea1422SSibi Sankar }; 393