15eb1c7deSSibi Sankar# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 25eb1c7deSSibi Sankar%YAML 1.2 35eb1c7deSSibi Sankar--- 45eb1c7deSSibi Sankar$id: http://devicetree.org/schemas/remoteproc/qcom,sc7180-mss-pil.yaml# 55eb1c7deSSibi Sankar$schema: http://devicetree.org/meta-schemas/core.yaml# 65eb1c7deSSibi Sankar 75eb1c7deSSibi Sankartitle: Qualcomm SC7180 MSS Peripheral Image Loader 85eb1c7deSSibi Sankar 95eb1c7deSSibi Sankarmaintainers: 105eb1c7deSSibi Sankar - Sibi Sankar <quic_sibis@quicinc.com> 115eb1c7deSSibi Sankar 125eb1c7deSSibi Sankardescription: 135eb1c7deSSibi Sankar This document describes the hardware for a component that loads and boots firmware 145eb1c7deSSibi Sankar on the Qualcomm Technology Inc. SC7180 Modem Hexagon Core. 155eb1c7deSSibi Sankar 165eb1c7deSSibi Sankarproperties: 175eb1c7deSSibi Sankar compatible: 185eb1c7deSSibi Sankar enum: 195eb1c7deSSibi Sankar - qcom,sc7180-mss-pil 205eb1c7deSSibi Sankar 215eb1c7deSSibi Sankar reg: 225eb1c7deSSibi Sankar items: 235eb1c7deSSibi Sankar - description: MSS QDSP6 registers 245eb1c7deSSibi Sankar - description: RMB registers 255eb1c7deSSibi Sankar 265eb1c7deSSibi Sankar reg-names: 275eb1c7deSSibi Sankar items: 285eb1c7deSSibi Sankar - const: qdsp6 295eb1c7deSSibi Sankar - const: rmb 305eb1c7deSSibi Sankar 315eb1c7deSSibi Sankar iommus: 325eb1c7deSSibi Sankar items: 335eb1c7deSSibi Sankar - description: MSA Stream 1 345eb1c7deSSibi Sankar - description: MSA Stream 2 355eb1c7deSSibi Sankar 365eb1c7deSSibi Sankar interrupts: 375eb1c7deSSibi Sankar items: 385eb1c7deSSibi Sankar - description: Watchdog interrupt 395eb1c7deSSibi Sankar - description: Fatal interrupt 405eb1c7deSSibi Sankar - description: Ready interrupt 415eb1c7deSSibi Sankar - description: Handover interrupt 425eb1c7deSSibi Sankar - description: Stop acknowledge interrupt 435eb1c7deSSibi Sankar - description: Shutdown acknowledge interrupt 445eb1c7deSSibi Sankar 455eb1c7deSSibi Sankar interrupt-names: 465eb1c7deSSibi Sankar items: 475eb1c7deSSibi Sankar - const: wdog 485eb1c7deSSibi Sankar - const: fatal 495eb1c7deSSibi Sankar - const: ready 505eb1c7deSSibi Sankar - const: handover 515eb1c7deSSibi Sankar - const: stop-ack 525eb1c7deSSibi Sankar - const: shutdown-ack 535eb1c7deSSibi Sankar 545eb1c7deSSibi Sankar clocks: 555eb1c7deSSibi Sankar items: 565eb1c7deSSibi Sankar - description: GCC MSS IFACE clock 575eb1c7deSSibi Sankar - description: GCC MSS BUS clock 585eb1c7deSSibi Sankar - description: GCC MSS NAV clock 595eb1c7deSSibi Sankar - description: GCC MSS SNOC_AXI clock 605eb1c7deSSibi Sankar - description: GCC MSS MFAB_AXIS clock 615eb1c7deSSibi Sankar - description: RPMH XO clock 625eb1c7deSSibi Sankar 635eb1c7deSSibi Sankar clock-names: 645eb1c7deSSibi Sankar items: 655eb1c7deSSibi Sankar - const: iface 665eb1c7deSSibi Sankar - const: bus 675eb1c7deSSibi Sankar - const: nav 685eb1c7deSSibi Sankar - const: snoc_axi 695eb1c7deSSibi Sankar - const: mnoc_axi 705eb1c7deSSibi Sankar - const: xo 715eb1c7deSSibi Sankar 725eb1c7deSSibi Sankar power-domains: 735eb1c7deSSibi Sankar items: 745eb1c7deSSibi Sankar - description: CX power domain 755eb1c7deSSibi Sankar - description: MX power domain 765eb1c7deSSibi Sankar - description: MSS power domain 775eb1c7deSSibi Sankar 785eb1c7deSSibi Sankar power-domain-names: 795eb1c7deSSibi Sankar items: 805eb1c7deSSibi Sankar - const: cx 815eb1c7deSSibi Sankar - const: mx 825eb1c7deSSibi Sankar - const: mss 835eb1c7deSSibi Sankar 845eb1c7deSSibi Sankar resets: 855eb1c7deSSibi Sankar items: 865eb1c7deSSibi Sankar - description: AOSS restart 875eb1c7deSSibi Sankar - description: PDC reset 885eb1c7deSSibi Sankar 895eb1c7deSSibi Sankar reset-names: 905eb1c7deSSibi Sankar items: 915eb1c7deSSibi Sankar - const: mss_restart 925eb1c7deSSibi Sankar - const: pdc_reset 935eb1c7deSSibi Sankar 945eb1c7deSSibi Sankar memory-region: 955eb1c7deSSibi Sankar items: 965eb1c7deSSibi Sankar - description: MBA reserved region 975eb1c7deSSibi Sankar - description: modem reserved region 98*95864f27SSibi Sankar - description: metadata reserved region 995eb1c7deSSibi Sankar 1005eb1c7deSSibi Sankar firmware-name: 1015eb1c7deSSibi Sankar $ref: /schemas/types.yaml#/definitions/string-array 1025eb1c7deSSibi Sankar items: 1035eb1c7deSSibi Sankar - description: Name of MBA firmware 1045eb1c7deSSibi Sankar - description: Name of modem firmware 1055eb1c7deSSibi Sankar 1065eb1c7deSSibi Sankar qcom,halt-regs: 1075eb1c7deSSibi Sankar $ref: /schemas/types.yaml#/definitions/phandle-array 1085eb1c7deSSibi Sankar description: 1095eb1c7deSSibi Sankar Halt registers are used to halt transactions of various sub-components 1105eb1c7deSSibi Sankar within MSS. 1115eb1c7deSSibi Sankar items: 1125eb1c7deSSibi Sankar - items: 1135eb1c7deSSibi Sankar - description: phandle to TCSR_MUTEX registers 1145eb1c7deSSibi Sankar - description: offset to the Q6 halt register 1155eb1c7deSSibi Sankar - description: offset to the modem halt register 1165eb1c7deSSibi Sankar - description: offset to the nc halt register 1175eb1c7deSSibi Sankar 1185eb1c7deSSibi Sankar qcom,spare-regs: 1195eb1c7deSSibi Sankar $ref: /schemas/types.yaml#/definitions/phandle-array 1205eb1c7deSSibi Sankar description: 1215eb1c7deSSibi Sankar Spare registers are multipurpose registers used for errata 1225eb1c7deSSibi Sankar handling. 1235eb1c7deSSibi Sankar items: 1245eb1c7deSSibi Sankar - items: 1255eb1c7deSSibi Sankar - description: phandle to TCSR_MUTEX registers 1265eb1c7deSSibi Sankar - description: offset to the conn_box_spare0 register 1275eb1c7deSSibi Sankar 1285eb1c7deSSibi Sankar qcom,qmp: 1295eb1c7deSSibi Sankar $ref: /schemas/types.yaml#/definitions/phandle 1305eb1c7deSSibi Sankar description: Reference to the AOSS side-channel message RAM. 1315eb1c7deSSibi Sankar 1325eb1c7deSSibi Sankar qcom,smem-states: 1335eb1c7deSSibi Sankar $ref: /schemas/types.yaml#/definitions/phandle-array 1345eb1c7deSSibi Sankar description: States used by the AP to signal the Hexagon core 1355eb1c7deSSibi Sankar items: 1365eb1c7deSSibi Sankar - description: Stop the modem 1375eb1c7deSSibi Sankar 1385eb1c7deSSibi Sankar qcom,smem-state-names: 1395eb1c7deSSibi Sankar description: The names of the state bits used for SMP2P output 1405eb1c7deSSibi Sankar const: stop 1415eb1c7deSSibi Sankar 1425eb1c7deSSibi Sankar glink-edge: 1435eb1c7deSSibi Sankar $ref: qcom,glink-edge.yaml# 1447470d2bfSRob Herring unevaluatedProperties: false 1455eb1c7deSSibi Sankar description: 1465eb1c7deSSibi Sankar Qualcomm G-Link subnode which represents communication edge, channels 1475eb1c7deSSibi Sankar and devices related to the DSP. 1485eb1c7deSSibi Sankar 1495eb1c7deSSibi Sankar properties: 1505eb1c7deSSibi Sankar interrupts: 1515eb1c7deSSibi Sankar items: 1525eb1c7deSSibi Sankar - description: IRQ from MSS to GLINK 1535eb1c7deSSibi Sankar 1545eb1c7deSSibi Sankar mboxes: 1555eb1c7deSSibi Sankar items: 1565eb1c7deSSibi Sankar - description: Mailbox for communication between APPS and MSS 1575eb1c7deSSibi Sankar 1585eb1c7deSSibi Sankar label: 1595eb1c7deSSibi Sankar const: modem 1605eb1c7deSSibi Sankar 1615eb1c7deSSibi Sankar apr: false 1625eb1c7deSSibi Sankar fastrpc: false 1635eb1c7deSSibi Sankar 1645eb1c7deSSibi Sankarrequired: 1655eb1c7deSSibi Sankar - compatible 1665eb1c7deSSibi Sankar - reg 1675eb1c7deSSibi Sankar - reg-names 1685eb1c7deSSibi Sankar - iommus 1695eb1c7deSSibi Sankar - interrupts 1705eb1c7deSSibi Sankar - interrupt-names 1715eb1c7deSSibi Sankar - clocks 1725eb1c7deSSibi Sankar - clock-names 1735eb1c7deSSibi Sankar - power-domains 1745eb1c7deSSibi Sankar - power-domain-names 1755eb1c7deSSibi Sankar - resets 1765eb1c7deSSibi Sankar - reset-names 1775eb1c7deSSibi Sankar - qcom,halt-regs 1785eb1c7deSSibi Sankar - qcom,spare-regs 1795eb1c7deSSibi Sankar - memory-region 1805eb1c7deSSibi Sankar - qcom,qmp 1815eb1c7deSSibi Sankar - qcom,smem-states 1825eb1c7deSSibi Sankar - qcom,smem-state-names 1835eb1c7deSSibi Sankar - glink-edge 1845eb1c7deSSibi Sankar 1855eb1c7deSSibi SankaradditionalProperties: false 1865eb1c7deSSibi Sankar 1875eb1c7deSSibi Sankarexamples: 1885eb1c7deSSibi Sankar - | 1895eb1c7deSSibi Sankar #include <dt-bindings/clock/qcom,gcc-sc7180.h> 1905eb1c7deSSibi Sankar #include <dt-bindings/clock/qcom,rpmh.h> 1915eb1c7deSSibi Sankar #include <dt-bindings/interrupt-controller/arm-gic.h> 1925eb1c7deSSibi Sankar #include <dt-bindings/power/qcom-rpmpd.h> 1935eb1c7deSSibi Sankar #include <dt-bindings/reset/qcom,sdm845-aoss.h> 1945eb1c7deSSibi Sankar #include <dt-bindings/reset/qcom,sdm845-pdc.h> 1955eb1c7deSSibi Sankar 1965eb1c7deSSibi Sankar remoteproc_mpss: remoteproc@4080000 { 1975eb1c7deSSibi Sankar compatible = "qcom,sc7180-mss-pil"; 1985eb1c7deSSibi Sankar reg = <0x04080000 0x10000>, <0x04180000 0x48>; 1995eb1c7deSSibi Sankar reg-names = "qdsp6", "rmb"; 2005eb1c7deSSibi Sankar 2015eb1c7deSSibi Sankar iommus = <&apps_smmu 0x461 0x0>, <&apps_smmu 0x444 0x3>; 2025eb1c7deSSibi Sankar 2035eb1c7deSSibi Sankar interrupts-extended = <&intc GIC_SPI 264 IRQ_TYPE_EDGE_RISING>, 2045eb1c7deSSibi Sankar <&modem_smp2p_in 0 IRQ_TYPE_EDGE_RISING>, 2055eb1c7deSSibi Sankar <&modem_smp2p_in 1 IRQ_TYPE_EDGE_RISING>, 2065eb1c7deSSibi Sankar <&modem_smp2p_in 2 IRQ_TYPE_EDGE_RISING>, 2075eb1c7deSSibi Sankar <&modem_smp2p_in 3 IRQ_TYPE_EDGE_RISING>, 2085eb1c7deSSibi Sankar <&modem_smp2p_in 7 IRQ_TYPE_EDGE_RISING>; 2095eb1c7deSSibi Sankar 2105eb1c7deSSibi Sankar interrupt-names = "wdog", "fatal", "ready", "handover", 2115eb1c7deSSibi Sankar "stop-ack", "shutdown-ack"; 2125eb1c7deSSibi Sankar 2135eb1c7deSSibi Sankar clocks = <&gcc GCC_MSS_CFG_AHB_CLK>, 2145eb1c7deSSibi Sankar <&gcc GCC_MSS_Q6_MEMNOC_AXI_CLK>, 2155eb1c7deSSibi Sankar <&gcc GCC_MSS_NAV_AXI_CLK>, 2165eb1c7deSSibi Sankar <&gcc GCC_MSS_SNOC_AXI_CLK>, 2175eb1c7deSSibi Sankar <&gcc GCC_MSS_MFAB_AXIS_CLK>, 2185eb1c7deSSibi Sankar <&rpmhcc RPMH_CXO_CLK>; 2195eb1c7deSSibi Sankar clock-names = "iface", "bus", "nav", "snoc_axi", 2205eb1c7deSSibi Sankar "mnoc_axi", "xo"; 2215eb1c7deSSibi Sankar 2225eb1c7deSSibi Sankar power-domains = <&rpmhpd SC7180_CX>, 2235eb1c7deSSibi Sankar <&rpmhpd SC7180_MX>, 2245eb1c7deSSibi Sankar <&rpmhpd SC7180_MSS>; 2255eb1c7deSSibi Sankar power-domain-names = "cx", "mx", "mss"; 2265eb1c7deSSibi Sankar 227*95864f27SSibi Sankar memory-region = <&mba_mem>, <&mpss_mem>, <&mdata_mem>; 2285eb1c7deSSibi Sankar 2295eb1c7deSSibi Sankar qcom,qmp = <&aoss_qmp>; 2305eb1c7deSSibi Sankar 2315eb1c7deSSibi Sankar qcom,smem-states = <&modem_smp2p_out 0>; 2325eb1c7deSSibi Sankar qcom,smem-state-names = "stop"; 2335eb1c7deSSibi Sankar 2345eb1c7deSSibi Sankar resets = <&aoss_reset AOSS_CC_MSS_RESTART>, 2355eb1c7deSSibi Sankar <&pdc_reset PDC_MODEM_SYNC_RESET>; 2365eb1c7deSSibi Sankar reset-names = "mss_restart", "pdc_reset"; 2375eb1c7deSSibi Sankar 2385eb1c7deSSibi Sankar qcom,halt-regs = <&tcsr_mutex_regs 0x23000 0x25000 0x24000>; 2395eb1c7deSSibi Sankar qcom,spare-regs = <&tcsr_regs 0xb3e4>; 2405eb1c7deSSibi Sankar 2415eb1c7deSSibi Sankar glink-edge { 2425eb1c7deSSibi Sankar interrupts = <GIC_SPI 449 IRQ_TYPE_EDGE_RISING>; 2435eb1c7deSSibi Sankar mboxes = <&apss_shared 12>; 2445eb1c7deSSibi Sankar qcom,remote-pid = <1>; 2455eb1c7deSSibi Sankar label = "modem"; 2465eb1c7deSSibi Sankar }; 2475eb1c7deSSibi Sankar }; 248