cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

qcom,wcnss-pil.txt (4544B)


      1Qualcomm WCNSS Peripheral Image Loader
      2
      3This document defines the binding for a component that loads and boots firmware
      4on the Qualcomm WCNSS core.
      5
      6- compatible:
      7	Usage: required
      8	Value type: <string>
      9	Definition: must be one of:
     10		    "qcom,riva-pil",
     11		    "qcom,pronto-v1-pil",
     12		    "qcom,pronto-v2-pil"
     13
     14- reg:
     15	Usage: required
     16	Value type: <prop-encoded-array>
     17	Definition: must specify the base address and size of the CCU, DXE and
     18		    PMU register blocks
     19
     20- reg-names:
     21	Usage: required
     22	Value type: <stringlist>
     23	Definition: must be "ccu", "dxe", "pmu"
     24
     25- interrupts-extended:
     26	Usage: required
     27	Value type: <prop-encoded-array>
     28	Definition: must list the watchdog and fatal IRQs and may specify the
     29		    ready, handover and stop-ack IRQs
     30
     31- interrupt-names:
     32	Usage: required
     33	Value type: <stringlist>
     34	Definition: should be "wdog", "fatal", optionally followed by "ready",
     35		    "handover", "stop-ack"
     36
     37- firmware-name:
     38	Usage: optional
     39	Value type: <string>
     40	Definition: must list the relative firmware image path for the
     41		    WCNSS core. Defaults to "wcnss.mdt".
     42
     43- vddmx-supply: (deprecated for qcom,pronto-v1/2-pil)
     44- vddcx-supply: (deprecated for qcom,pronto-v1/2-pil)
     45- vddpx-supply:
     46	Usage: required
     47	Value type: <phandle>
     48	Definition: reference to the regulators to be held on behalf of the
     49		    booting of the WCNSS core
     50
     51- power-domains:
     52	Usage: required (for qcom,pronto-v1/2-pil)
     53	Value type: <phandle>
     54	Definition: reference to the power domains to be held on behalf of the
     55		    booting of the WCNSS core
     56
     57- power-domain-names:
     58	Usage: required (for qcom,pronto-v1/2-pil)
     59	Value type: <stringlist>
     60	Definition: must be "cx", "mx"
     61
     62- qcom,smem-states:
     63	Usage: optional
     64	Value type: <prop-encoded-array>
     65	Definition: reference to the SMEM state used to indicate to WCNSS that
     66		    it should shut down
     67
     68- qcom,smem-state-names:
     69	Usage: optional
     70	Value type: <stringlist>
     71	Definition: should be "stop"
     72
     73- memory-region:
     74	Usage: required
     75	Value type: <prop-encoded-array>
     76	Definition: reference to reserved-memory node for the remote processor
     77		    see ../reserved-memory/reserved-memory.txt
     78
     79= SUBNODES
     80A required subnode of the WCNSS PIL is used to describe the attached rf module
     81and its resource dependencies. It is described by the following properties:
     82
     83- compatible:
     84	Usage: required
     85	Value type: <string>
     86	Definition: must be one of:
     87		    "qcom,wcn3620",
     88		    "qcom,wcn3660",
     89		    "qcom,wcn3660b",
     90		    "qcom,wcn3680"
     91
     92- clocks:
     93	Usage: required
     94	Value type: <prop-encoded-array>
     95	Definition: should specify the xo clock and optionally the rf clock
     96
     97- clock-names:
     98	Usage: required
     99	Value type: <stringlist>
    100	Definition: should be "xo", optionally followed by "rf"
    101
    102- vddxo-supply:
    103- vddrfa-supply:
    104- vddpa-supply:
    105- vdddig-supply:
    106	Usage: required
    107	Value type: <phandle>
    108	Definition: reference to the regulators to be held on behalf of the
    109		    booting of the WCNSS core
    110
    111
    112The wcnss node can also have an subnode named "smd-edge" that describes the SMD
    113edge, channels and devices related to the WCNSS.
    114See ../soc/qcom/qcom,smd.yaml for details on how to describe the SMD edge.
    115
    116= EXAMPLE
    117The following example describes the resources needed to boot control the WCNSS,
    118with attached WCN3680, as it is commonly found on MSM8974 boards.
    119
    120pronto@fb204000 {
    121	compatible = "qcom,pronto-v2-pil";
    122	reg = <0xfb204000 0x2000>, <0xfb202000 0x1000>, <0xfb21b000 0x3000>;
    123	reg-names = "ccu", "dxe", "pmu";
    124
    125	interrupts-extended = <&intc 0 149 1>,
    126			      <&wcnss_smp2p_slave 0 0>,
    127			      <&wcnss_smp2p_slave 1 0>,
    128			      <&wcnss_smp2p_slave 2 0>,
    129			      <&wcnss_smp2p_slave 3 0>;
    130	interrupt-names = "wdog", "fatal", "ready", "handover", "stop-ack";
    131
    132	power-domains = <&rpmpd MSM8974_VDDCX>, <&rpmpd MSM8974_VDDMX>;
    133	power-domain-names = "cx", "mx";
    134
    135	vddpx-supply = <&pm8941_s3>;
    136
    137	qcom,smem-states = <&wcnss_smp2p_out 0>;
    138	qcom,smem-state-names = "stop";
    139
    140	memory-region = <&wcnss_region>;
    141
    142	pinctrl-names = "default";
    143	pinctrl-0 = <&wcnss_pin_a>;
    144
    145	iris {
    146		compatible = "qcom,wcn3680";
    147
    148		clocks = <&rpmcc RPM_CXO_CLK_SRC>, <&rpmcc RPM_CXO_A2>;
    149		clock-names = "xo", "rf";
    150
    151		vddxo-supply = <&pm8941_l6>;
    152		vddrfa-supply = <&pm8941_l11>;
    153		vddpa-supply = <&pm8941_l19>;
    154		vdddig-supply = <&pm8941_s3>;
    155	};
    156
    157	smd-edge {
    158		interrupts = <0 142 1>;
    159
    160		qcom,ipc = <&apcs 8 17>;
    161		qcom,smd-edge = <6>;
    162		qcom,remote-pid = <4>;
    163
    164		label = "pronto";
    165
    166		wcnss {
    167			compatible = "qcom,wcnss";
    168			qcom,smd-channels = "WCNSS_CTRL";
    169
    170			qcom,mmio = <&pronto>;
    171
    172			bt {
    173				compatible = "qcom,wcnss-bt";
    174			};
    175		};
    176	};
    177};