13abe6d65SSibi Sankar# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 23abe6d65SSibi Sankar%YAML 1.2 33abe6d65SSibi Sankar--- 43abe6d65SSibi Sankar$id: http://devicetree.org/schemas/remoteproc/qcom,sc7280-mss-pil.yaml# 53abe6d65SSibi Sankar$schema: http://devicetree.org/meta-schemas/core.yaml# 63abe6d65SSibi Sankar 73abe6d65SSibi Sankartitle: Qualcomm SC7280 MSS Peripheral Image Loader 83abe6d65SSibi Sankar 93abe6d65SSibi Sankarmaintainers: 103abe6d65SSibi Sankar - Sibi Sankar <quic_sibis@quicinc.com> 113abe6d65SSibi Sankar 123abe6d65SSibi Sankardescription: 133abe6d65SSibi Sankar This document describes the hardware for a component that loads and boots firmware 143abe6d65SSibi Sankar on the Qualcomm Technology Inc. SC7280 Modem Hexagon Core. 153abe6d65SSibi Sankar 163abe6d65SSibi Sankarproperties: 173abe6d65SSibi Sankar compatible: 183abe6d65SSibi Sankar enum: 193abe6d65SSibi Sankar - qcom,sc7280-mss-pil 203abe6d65SSibi Sankar 213abe6d65SSibi Sankar reg: 223abe6d65SSibi Sankar items: 233abe6d65SSibi Sankar - description: MSS QDSP6 registers 243abe6d65SSibi Sankar - description: RMB registers 253abe6d65SSibi Sankar 263abe6d65SSibi Sankar reg-names: 273abe6d65SSibi Sankar items: 283abe6d65SSibi Sankar - const: qdsp6 293abe6d65SSibi Sankar - const: rmb 303abe6d65SSibi Sankar 313abe6d65SSibi Sankar iommus: 323abe6d65SSibi Sankar items: 333abe6d65SSibi Sankar - description: MSA Stream 1 343abe6d65SSibi Sankar - description: MSA Stream 2 353abe6d65SSibi Sankar 363abe6d65SSibi Sankar interconnects: 373abe6d65SSibi Sankar items: 383abe6d65SSibi Sankar - description: Path leading to system memory 393abe6d65SSibi Sankar 403abe6d65SSibi Sankar interrupts: 413abe6d65SSibi Sankar items: 423abe6d65SSibi Sankar - description: Watchdog interrupt 433abe6d65SSibi Sankar - description: Fatal interrupt 443abe6d65SSibi Sankar - description: Ready interrupt 453abe6d65SSibi Sankar - description: Handover interrupt 463abe6d65SSibi Sankar - description: Stop acknowledge interrupt 473abe6d65SSibi Sankar - description: Shutdown acknowledge interrupt 483abe6d65SSibi Sankar 493abe6d65SSibi Sankar interrupt-names: 503abe6d65SSibi Sankar items: 513abe6d65SSibi Sankar - const: wdog 523abe6d65SSibi Sankar - const: fatal 533abe6d65SSibi Sankar - const: ready 543abe6d65SSibi Sankar - const: handover 553abe6d65SSibi Sankar - const: stop-ack 563abe6d65SSibi Sankar - const: shutdown-ack 573abe6d65SSibi Sankar 583abe6d65SSibi Sankar clocks: 593abe6d65SSibi Sankar items: 603abe6d65SSibi Sankar - description: GCC MSS IFACE clock 613abe6d65SSibi Sankar - description: GCC MSS OFFLINE clock 623abe6d65SSibi Sankar - description: GCC MSS SNOC_AXI clock 633abe6d65SSibi Sankar - description: RPMH PKA clock 643abe6d65SSibi Sankar - description: RPMH XO clock 653abe6d65SSibi Sankar 663abe6d65SSibi Sankar clock-names: 673abe6d65SSibi Sankar items: 683abe6d65SSibi Sankar - const: iface 693abe6d65SSibi Sankar - const: offline 703abe6d65SSibi Sankar - const: snoc_axi 713abe6d65SSibi Sankar - const: pka 723abe6d65SSibi Sankar - const: xo 733abe6d65SSibi Sankar 743abe6d65SSibi Sankar power-domains: 753abe6d65SSibi Sankar items: 763abe6d65SSibi Sankar - description: CX power domain 773abe6d65SSibi Sankar - description: MSS power domain 783abe6d65SSibi Sankar 793abe6d65SSibi Sankar power-domain-names: 803abe6d65SSibi Sankar items: 813abe6d65SSibi Sankar - const: cx 823abe6d65SSibi Sankar - const: mss 833abe6d65SSibi Sankar 843abe6d65SSibi Sankar resets: 853abe6d65SSibi Sankar items: 863abe6d65SSibi Sankar - description: AOSS restart 873abe6d65SSibi Sankar - description: PDC reset 883abe6d65SSibi Sankar 893abe6d65SSibi Sankar reset-names: 903abe6d65SSibi Sankar items: 913abe6d65SSibi Sankar - const: mss_restart 923abe6d65SSibi Sankar - const: pdc_reset 933abe6d65SSibi Sankar 943abe6d65SSibi Sankar memory-region: 953abe6d65SSibi Sankar items: 963abe6d65SSibi Sankar - description: MBA reserved region 973abe6d65SSibi Sankar - description: modem reserved region 98*eb48137dSSibi Sankar - description: metadata reserved region 993abe6d65SSibi Sankar 1003abe6d65SSibi Sankar firmware-name: 1013abe6d65SSibi Sankar $ref: /schemas/types.yaml#/definitions/string-array 1023abe6d65SSibi Sankar items: 1033abe6d65SSibi Sankar - description: Name of MBA firmware 1043abe6d65SSibi Sankar - description: Name of modem firmware 1053abe6d65SSibi Sankar 1063abe6d65SSibi Sankar qcom,halt-regs: 1073abe6d65SSibi Sankar $ref: /schemas/types.yaml#/definitions/phandle-array 1083abe6d65SSibi Sankar description: 1093abe6d65SSibi Sankar Halt registers are used to halt transactions of various sub-components 1103abe6d65SSibi Sankar within MSS. 1113abe6d65SSibi Sankar items: 1123abe6d65SSibi Sankar - items: 1133abe6d65SSibi Sankar - description: phandle to TCSR_MUTEX registers 1143abe6d65SSibi Sankar - description: offset to the Q6 halt register 1153abe6d65SSibi Sankar - description: offset to the modem halt register 1163abe6d65SSibi Sankar - description: offset to the nc halt register 1173abe6d65SSibi Sankar - description: offset to the vq6 halt register 1183abe6d65SSibi Sankar 1193abe6d65SSibi Sankar qcom,ext-regs: 1203abe6d65SSibi Sankar $ref: /schemas/types.yaml#/definitions/phandle-array 1213abe6d65SSibi Sankar description: EXT registers are used for various power related functionality 1223abe6d65SSibi Sankar items: 1233abe6d65SSibi Sankar - items: 1243abe6d65SSibi Sankar - description: phandle to TCSR_REG registers 1253abe6d65SSibi Sankar - description: offset to the force_clk_en register 1263abe6d65SSibi Sankar - description: offset to the rscc_disable register 1273abe6d65SSibi Sankar - items: 1283abe6d65SSibi Sankar - description: phandle to TCSR_MUTEX registers 1293abe6d65SSibi Sankar - description: offset to the axim1_clk_off register 1303abe6d65SSibi Sankar - description: offset to the crypto_clk_off register 1313abe6d65SSibi Sankar 1323abe6d65SSibi Sankar qcom,qaccept-regs: 1333abe6d65SSibi Sankar $ref: /schemas/types.yaml#/definitions/phandle-array 1343abe6d65SSibi Sankar description: QACCEPT registers are used to bring up/down Q-channels 1353abe6d65SSibi Sankar items: 1363abe6d65SSibi Sankar - items: 1373abe6d65SSibi Sankar - description: phandle to TCSR_MUTEX registers 1383abe6d65SSibi Sankar - description: offset to the mdm qaccept register 1393abe6d65SSibi Sankar - description: offset to the cx qaccept register 1403abe6d65SSibi Sankar - description: offset to the axi qaccept register 1413abe6d65SSibi Sankar 1423abe6d65SSibi Sankar qcom,qmp: 1433abe6d65SSibi Sankar $ref: /schemas/types.yaml#/definitions/phandle 1443abe6d65SSibi Sankar description: Reference to the AOSS side-channel message RAM. 1453abe6d65SSibi Sankar 1463abe6d65SSibi Sankar qcom,smem-states: 1473abe6d65SSibi Sankar $ref: /schemas/types.yaml#/definitions/phandle-array 1483abe6d65SSibi Sankar description: States used by the AP to signal the Hexagon core 1493abe6d65SSibi Sankar items: 1503abe6d65SSibi Sankar - description: Stop the modem 1513abe6d65SSibi Sankar 1523abe6d65SSibi Sankar qcom,smem-state-names: 1533abe6d65SSibi Sankar description: The names of the state bits used for SMP2P output 1543abe6d65SSibi Sankar const: stop 1553abe6d65SSibi Sankar 1563abe6d65SSibi Sankar glink-edge: 1573abe6d65SSibi Sankar $ref: qcom,glink-edge.yaml# 1587470d2bfSRob Herring unevaluatedProperties: false 1593abe6d65SSibi Sankar description: 1603abe6d65SSibi Sankar Qualcomm G-Link subnode which represents communication edge, channels 1613abe6d65SSibi Sankar and devices related to the DSP. 1623abe6d65SSibi Sankar 1633abe6d65SSibi Sankar properties: 1643abe6d65SSibi Sankar interrupts: 1653abe6d65SSibi Sankar items: 1663abe6d65SSibi Sankar - description: IRQ from MSS to GLINK 1673abe6d65SSibi Sankar 1683abe6d65SSibi Sankar mboxes: 1693abe6d65SSibi Sankar items: 1703abe6d65SSibi Sankar - description: Mailbox for communication between APPS and MSS 1713abe6d65SSibi Sankar 1723abe6d65SSibi Sankar label: 1733abe6d65SSibi Sankar const: modem 1743abe6d65SSibi Sankar 1753abe6d65SSibi Sankar apr: false 1763abe6d65SSibi Sankar fastrpc: false 1773abe6d65SSibi Sankar 1783abe6d65SSibi Sankarrequired: 1793abe6d65SSibi Sankar - compatible 1803abe6d65SSibi Sankar - reg 1813abe6d65SSibi Sankar - reg-names 1823abe6d65SSibi Sankar - iommus 1833abe6d65SSibi Sankar - interconnects 1843abe6d65SSibi Sankar - interrupts 1853abe6d65SSibi Sankar - interrupt-names 1863abe6d65SSibi Sankar - clocks 1873abe6d65SSibi Sankar - clock-names 1883abe6d65SSibi Sankar - power-domains 1893abe6d65SSibi Sankar - power-domain-names 1903abe6d65SSibi Sankar - resets 1913abe6d65SSibi Sankar - reset-names 1923abe6d65SSibi Sankar - qcom,halt-regs 1933abe6d65SSibi Sankar - qcom,ext-regs 1943abe6d65SSibi Sankar - qcom,qaccept-regs 1953abe6d65SSibi Sankar - memory-region 1963abe6d65SSibi Sankar - qcom,qmp 1973abe6d65SSibi Sankar - qcom,smem-states 1983abe6d65SSibi Sankar - qcom,smem-state-names 1993abe6d65SSibi Sankar - glink-edge 2003abe6d65SSibi Sankar 2013abe6d65SSibi SankaradditionalProperties: false 2023abe6d65SSibi Sankar 2033abe6d65SSibi Sankarexamples: 2043abe6d65SSibi Sankar - | 2053abe6d65SSibi Sankar #include <dt-bindings/clock/qcom,gcc-sc7280.h> 2063abe6d65SSibi Sankar #include <dt-bindings/clock/qcom,rpmh.h> 2073abe6d65SSibi Sankar #include <dt-bindings/interconnect/qcom,sc7280.h> 2083abe6d65SSibi Sankar #include <dt-bindings/interrupt-controller/arm-gic.h> 2093abe6d65SSibi Sankar #include <dt-bindings/mailbox/qcom-ipcc.h> 2103abe6d65SSibi Sankar #include <dt-bindings/power/qcom-rpmpd.h> 2113abe6d65SSibi Sankar #include <dt-bindings/reset/qcom,sdm845-aoss.h> 2123abe6d65SSibi Sankar #include <dt-bindings/reset/qcom,sdm845-pdc.h> 2133abe6d65SSibi Sankar 2143abe6d65SSibi Sankar remoteproc_mpss: remoteproc@4080000 { 2153abe6d65SSibi Sankar compatible = "qcom,sc7280-mss-pil"; 2163abe6d65SSibi Sankar reg = <0x04080000 0x10000>, <0x04180000 0x48>; 2173abe6d65SSibi Sankar reg-names = "qdsp6", "rmb"; 2183abe6d65SSibi Sankar 2193abe6d65SSibi Sankar iommus = <&apps_smmu 0x124 0x0>, <&apps_smmu 0x488 0x7>; 2203abe6d65SSibi Sankar 2213abe6d65SSibi Sankar interconnects = <&mc_virt MASTER_LLCC 0 &mc_virt SLAVE_EBI1 0>; 2223abe6d65SSibi Sankar 2233abe6d65SSibi Sankar interrupts-extended = <&intc GIC_SPI 264 IRQ_TYPE_EDGE_RISING>, 2243abe6d65SSibi Sankar <&modem_smp2p_in 0 IRQ_TYPE_EDGE_RISING>, 2253abe6d65SSibi Sankar <&modem_smp2p_in 1 IRQ_TYPE_EDGE_RISING>, 2263abe6d65SSibi Sankar <&modem_smp2p_in 2 IRQ_TYPE_EDGE_RISING>, 2273abe6d65SSibi Sankar <&modem_smp2p_in 3 IRQ_TYPE_EDGE_RISING>, 2283abe6d65SSibi Sankar <&modem_smp2p_in 7 IRQ_TYPE_EDGE_RISING>; 2293abe6d65SSibi Sankar 2303abe6d65SSibi Sankar interrupt-names = "wdog", "fatal", "ready", "handover", 2313abe6d65SSibi Sankar "stop-ack", "shutdown-ack"; 2323abe6d65SSibi Sankar 2333abe6d65SSibi Sankar clocks = <&gcc GCC_MSS_CFG_AHB_CLK>, 2343abe6d65SSibi Sankar <&gcc GCC_MSS_OFFLINE_AXI_CLK>, 2353abe6d65SSibi Sankar <&gcc GCC_MSS_SNOC_AXI_CLK>, 2363abe6d65SSibi Sankar <&rpmhcc RPMH_PKA_CLK>, 2373abe6d65SSibi Sankar <&rpmhcc RPMH_CXO_CLK>; 2383abe6d65SSibi Sankar clock-names = "iface", "offline", "snoc_axi", "pka", "xo"; 2393abe6d65SSibi Sankar 2403abe6d65SSibi Sankar power-domains = <&rpmhpd SC7280_CX>, 2413abe6d65SSibi Sankar <&rpmhpd SC7280_MSS>; 2423abe6d65SSibi Sankar power-domain-names = "cx", "mss"; 2433abe6d65SSibi Sankar 244*eb48137dSSibi Sankar memory-region = <&mba_mem>, <&mpss_mem>, <&mdata_mem>; 2453abe6d65SSibi Sankar 2463abe6d65SSibi Sankar qcom,qmp = <&aoss_qmp>; 2473abe6d65SSibi Sankar 2483abe6d65SSibi Sankar qcom,smem-states = <&modem_smp2p_out 0>; 2493abe6d65SSibi Sankar qcom,smem-state-names = "stop"; 2503abe6d65SSibi Sankar 2513abe6d65SSibi Sankar resets = <&aoss_reset AOSS_CC_MSS_RESTART>, 2523abe6d65SSibi Sankar <&pdc_reset PDC_MODEM_SYNC_RESET>; 2533abe6d65SSibi Sankar reset-names = "mss_restart", "pdc_reset"; 2543abe6d65SSibi Sankar 2553abe6d65SSibi Sankar qcom,halt-regs = <&tcsr_mutex 0x23000 0x25000 0x28000 0x33000>; 2563abe6d65SSibi Sankar qcom,ext-regs = <&tcsr 0x10000 0x10004>, <&tcsr_mutex 0x26004 0x26008>; 2573abe6d65SSibi Sankar qcom,qaccept-regs = <&tcsr_mutex 0x23030 0x23040 0x23020>; 2583abe6d65SSibi Sankar 2593abe6d65SSibi Sankar glink-edge { 2603abe6d65SSibi Sankar interrupts-extended = <&ipcc IPCC_CLIENT_MPSS 2613abe6d65SSibi Sankar IPCC_MPROC_SIGNAL_GLINK_QMP 2623abe6d65SSibi Sankar IRQ_TYPE_EDGE_RISING>; 2633abe6d65SSibi Sankar mboxes = <&ipcc IPCC_CLIENT_MPSS 2643abe6d65SSibi Sankar IPCC_MPROC_SIGNAL_GLINK_QMP>; 2653abe6d65SSibi Sankar label = "modem"; 2663abe6d65SSibi Sankar qcom,remote-pid = <1>; 2673abe6d65SSibi Sankar }; 2683abe6d65SSibi Sankar }; 269