mirror of
https://github.com/Evolution-X-Devices/kernel_xiaomi_sm8450-devicetrees
synced 2026-02-01 08:51:30 +00:00
ARM: dts: qcom: Add SPU related nodes to waipio
Needed for SPU pil on waipio. Change-Id: Ied93685b6987033cfe9a4373680f0af1f56c9562
This commit is contained in:
committed by
Gerrit - the friendly Code Review server
parent
4482341458
commit
52ab54c85b
59
bindings/remoteproc/qcom,spss.txt
Normal file
59
bindings/remoteproc/qcom,spss.txt
Normal file
@@ -0,0 +1,59 @@
|
||||
Qualcomm Technologies, Inc. SPSS Peripheral Image Loader
|
||||
|
||||
This document defines the binding for a component that loads and boots firmware
|
||||
on the QTI Secure Processor.
|
||||
|
||||
- compatible:
|
||||
Usage: required
|
||||
Value type: <string>
|
||||
Definition: must be one of:
|
||||
"qcom,waipio-spss-pas"
|
||||
|
||||
- reg:
|
||||
Usage: required
|
||||
Value type: <prop-encoded>
|
||||
Definition: pairs of physical base addresses and region sizes of memory
|
||||
mapped registers
|
||||
|
||||
- reg-names:
|
||||
Usage: required
|
||||
Value type: <stringlist>
|
||||
Definition: names of the registers defined by the 'reg' property above
|
||||
|
||||
- interrupts:
|
||||
Usage: required
|
||||
Value type: <prop-encoded>
|
||||
Definition: generic interrupt
|
||||
|
||||
- clocks:
|
||||
Usage: required
|
||||
Value type: <prop-encoded-array>
|
||||
Definition: reference to the xo clock and optionally aggre2 clock to be
|
||||
held on behalf of the booting Hexagon core
|
||||
|
||||
- clock-names:
|
||||
Usage: required
|
||||
Value type: <stringlist>
|
||||
Definition: must be "xo" and optionally include "aggre2"
|
||||
|
||||
- cx-supply:
|
||||
Usage: required
|
||||
Value type: <phandle>
|
||||
Definition: reference to the regulator to be held on behalf of the
|
||||
booting Hexagon core
|
||||
|
||||
- px-supply:
|
||||
Usage: required
|
||||
Value type: <phandle>
|
||||
Definition: reference to the px regulator to be held on behalf of the
|
||||
booting Hexagon core
|
||||
|
||||
- memory-region:
|
||||
Usage: required
|
||||
Value type: <phandle>
|
||||
Definition: reference to the reserved-memory for the ADSP
|
||||
|
||||
|
||||
= SUBNODES
|
||||
The adsp node may have an subnode named "glink-edge" that describes the
|
||||
communication edge, channels and devices related to the SPSS.
|
||||
@@ -1138,6 +1138,95 @@
|
||||
};
|
||||
};
|
||||
|
||||
/* PIL spss node - for loading Secure Processor */
|
||||
spss_pas: remoteproc-spss@1880000 {
|
||||
compatible = "qcom,waipio-spss-pas";
|
||||
ranges;
|
||||
reg = <0x188101c 0x4>,
|
||||
<0x1881024 0x4>,
|
||||
<0x1881028 0x4>,
|
||||
<0x188103c 0x4>,
|
||||
<0x1882014 0x4>;
|
||||
reg-names = "sp2soc_irq_status", "sp2soc_irq_clr",
|
||||
"sp2soc_irq_mask", "rmb_err", "rmb_err_spare2";
|
||||
interrupts = <0 352 1>;
|
||||
|
||||
cx-supply = <&VDD_CX_LEVEL>;
|
||||
cx-uV-uA = <RPMH_REGULATOR_LEVEL_TURBO 100000>;
|
||||
px-supply = <&VDD_MXA_LEVEL>;
|
||||
px-uV = <RPMH_REGULATOR_LEVEL_TURBO 100000>;
|
||||
|
||||
clocks = <&clock_rpmh RPMH_CXO_CLK>;
|
||||
clock-names = "xo";
|
||||
qcom,proxy-clock-names = "xo";
|
||||
status = "ok";
|
||||
|
||||
memory-region = <&spss_region_mem>;
|
||||
qcom,spss-scsr-bits = <24 25>;
|
||||
qcom,extra-size = <4096>;
|
||||
|
||||
interconnects = <&aggre2_noc MASTER_CRYPTO &mc_virt SLAVE_EBI1>;
|
||||
interconnect-names = "crypto_ddr";
|
||||
|
||||
glink-edge {
|
||||
qcom,remote-pid = <8>;
|
||||
mboxes = <&ipcc_mproc IPCC_CLIENT_SPSS
|
||||
IPCC_MPROC_SIGNAL_GLINK_QMP>;
|
||||
mbox-names = "spss_spss";
|
||||
interrupt-parent = <&ipcc_mproc>;
|
||||
interrupts = <IPCC_CLIENT_SPSS
|
||||
IPCC_MPROC_SIGNAL_GLINK_QMP
|
||||
IRQ_TYPE_EDGE_RISING>;
|
||||
|
||||
reg = <0x1885008 0x8>,
|
||||
<0x1885010 0x4>;
|
||||
reg-names = "qcom,spss-addr",
|
||||
"qcom,spss-size";
|
||||
|
||||
label = "spss";
|
||||
qcom,glink-label = "spss";
|
||||
};
|
||||
};
|
||||
|
||||
qcom,spcom {
|
||||
compatible = "qcom,spcom";
|
||||
|
||||
qcom,rproc-handle = <&spss_pas>;
|
||||
qcom,boot-enabled;
|
||||
/* predefined channels, remote side is server */
|
||||
qcom,spcom-ch-names = "sp_kernel", "sp_ssr";
|
||||
/* sp2soc rmb shared register physical address and bmsk */
|
||||
qcom,spcom-sp2soc-rmb-reg-addr = <0x01881020>;
|
||||
qcom,spcom-sp2soc-rmb-initdone-bit = <24>;
|
||||
qcom,spcom-sp2soc-rmb-pbldone-bit = <25>;
|
||||
/* soc2sp rmb shared register physical address */
|
||||
qcom,spcom-soc2sp-rmb-reg-addr = <0x01881030>;
|
||||
qcom,spcom-soc2sp-rmb-sp-ssr-bit = <0>;
|
||||
status = "ok";
|
||||
};
|
||||
|
||||
spss_utils: qcom,spss_utils {
|
||||
compatible = "qcom,spss-utils";
|
||||
/* spss fuses physical address */
|
||||
qcom,rproc-handle = <&spss_pas>;
|
||||
qcom,spss-fuse1-addr = <0x221C22EC>;
|
||||
qcom,spss-fuse1-bit = <8>;
|
||||
qcom,spss-fuse2-addr = <0x221C22EC>;
|
||||
qcom,spss-fuse2-bit = <7>;
|
||||
qcom,spss-fuse3-addr = <0x221C2238>; // IAR_FEATURE_ENABLED fuse
|
||||
qcom,spss-fuse3-bit = <10>;
|
||||
qcom,spss-fuse4-addr = <0x221C22EC>; // IAR_STATE fuse
|
||||
qcom,spss-fuse4-bit = <21>; // 0x221C22EC bits 21-23
|
||||
qcom,spss-dev-firmware-name = "spss1d.mdt"; /* 8 chars max */
|
||||
qcom,spss-test-firmware-name = "spss1t.mdt"; /* 8 chars max */
|
||||
qcom,spss-prod-firmware-name = "spss1p.mdt"; /* 8 chars max */
|
||||
qcom,spss-debug-reg-addr = <0x01886020>;
|
||||
qcom,spss-emul-type-reg-addr = <0x01fc8004>;
|
||||
pil-mem = <&spss_region_mem>;
|
||||
qcom,pil-size = <0x0F0000>; // padding to 960KB
|
||||
status = "ok";
|
||||
};
|
||||
|
||||
cache-controller@19200000 {
|
||||
compatible = "qcom,waipio-llcc", "qcom,llcc-v21";
|
||||
reg = <0x19200000 0x580000> , <0x19A00000 0x80000>;
|
||||
|
||||
Reference in New Issue
Block a user