summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Ciubotariu <aciubotariu@google.com>2023-02-07 02:43:10 -0800
committerAndrei Ciubotariu <aciubotariu@google.com>2023-02-07 02:43:10 -0800
commite20f68e5d2ca3b706b66a5f4a5ad78a326da046a (patch)
tree2480ad5d6422769aa26bd01efe85a35e5f641b4e
parent34ec4a888816aff72278296b4e0d59a4c9db6e0a (diff)
parent3298ff4755e59afc85b0476f045dde3c8f91f93c (diff)
downloaddevicetree-e20f68e5d2ca3b706b66a5f4a5ad78a326da046a.tar.gz
sw5100: Integrate LW 2.0 r00040.3
Bug: 268128919 Change-Id: I0002b6c62f3167d4e8e039c5fc71d7e209161b49 Signed-off-by: Andrei Ciubotariu <aciubotariu@google.com>
-rwxr-xr-xbindings/arm/msm/msm.txt5
-rwxr-xr-xbindings/arm/msm/sys-pm-violators.txt1
-rwxr-xr-xbindings/clock/qcom,camcc.txt1
-rwxr-xr-xbindings/clock/qcom,debugcc.txt1
-rwxr-xr-xbindings/clock/qcom,dispcc.txt1
-rwxr-xr-xbindings/clock/qcom,gcc.txt2
-rwxr-xr-xbindings/clock/qcom,gpucc.txt1
-rwxr-xr-xbindings/clock/qcom,npucc.txt1
-rwxr-xr-xbindings/clock/qcom,videocc.txt1
-rwxr-xr-xbindings/firmware/qcom/hwkm.txt28
-rwxr-xr-xbindings/i2c/qcom,i2c-msm-geni.txt2
-rwxr-xr-xbindings/input/qti-haptics.txt209
-rwxr-xr-xbindings/input/touchscreen/raydium_ts.txt58
-rwxr-xr-xbindings/interconnect/qcom,kona.txt32
-rwxr-xr-xbindings/interconnect/qcom,monaco_auto.txt29
-rwxr-xr-xbindings/interconnect/qcom,sdxbaagha.txt8
-rwxr-xr-xbindings/leds/leds-qpnp-flash-v2.txt334
-rwxr-xr-xbindings/pinctrl/qcom,pmic-gpio.txt1
-rwxr-xr-xbindings/power/supply/qcom/qpnp-fg-gen4.txt687
-rwxr-xr-xbindings/regulator/qpnp-lcdb-regulator.txt329
-rwxr-xr-xbindings/sound/qcom,wcd_codec.txt65
-rwxr-xr-xbindings/spi/qcom,spi-msm-geni.txt5
-rwxr-xr-xbindings/thermal/qti-isense-cdsp.txt14
-rwxr-xr-xbindings/thermal/qti-qmi-cdev.txt4
-rwxr-xr-xbindings/thermal/qti-qmi-sensor.txt13
-rwxr-xr-xbindings/virtio/mmio.yaml4
-rwxr-xr-xbindings/virtio/qcom,virtio-mem.yaml4
-rwxr-xr-xqcom/Makefile34
-rwxr-xr-xqcom/bengal-coresight.dtsi5
-rwxr-xr-xqcom/cinder-debug.dtsi746
-rwxr-xr-xqcom/cinder-thermal-modem.dtsi351
-rwxr-xr-xqcom/cinder-thermal.dtsi2
-rwxr-xr-xqcom/cinder.dtsi38
-rwxr-xr-xqcom/direwolf-pinctrl.dtsi3619
-rwxr-xr-xqcom/direwolf-qupv3.dtsi995
-rwxr-xr-xqcom/direwolf-vm-la-overlay.dts3
-rwxr-xr-xqcom/direwolf-vm-la.dtsi21
-rwxr-xr-xqcom/direwolf-vm-lv-overlay.dts2
-rwxr-xr-xqcom/direwolf-vm-lv.dtsi66
-rwxr-xr-xqcom/direwolf-vm-pcie.dtsi1143
-rwxr-xr-xqcom/direwolf-vm-usb.dtsi1008
-rwxr-xr-xqcom/direwolf-vm.dtsi435
-rwxr-xr-xqcom/fg-gen4-batterydata-atl466274-3650mah.dtsi138
-rwxr-xr-xqcom/fg-gen4-batterydata-mlp466274-3650mah.dtsi135
-rwxr-xr-xqcom/kalama-atp-overlay.dts2
-rwxr-xr-xqcom/kalama-cdp-nfc-overlay.dts2
-rwxr-xr-xqcom/kalama-cdp-overlay.dts2
-rwxr-xr-xqcom/kalama-cdp-wsa883x-overlay.dts2
-rwxr-xr-xqcom/kalama-coresight.dtsi36
-rwxr-xr-xqcom/kalama-dma-heaps.dtsi12
-rwxr-xr-xqcom/kalama-mtp-nfc-overlay.dts2
-rwxr-xr-xqcom/kalama-mtp-overlay.dts2
-rwxr-xr-xqcom/kalama-mtp.dtsi205
-rwxr-xr-xqcom/kalama-pcie.dtsi1
-rwxr-xr-xqcom/kalama-qcm.dts9
-rwxr-xr-xqcom/kalama-qcm.dtsi7
-rwxr-xr-xqcom/kalama-qrd.dtsi30
-rwxr-xr-xqcom/kalama-sg-hhg.dtsi31
-rwxr-xr-xqcom/kalama-thermal-modem.dtsi36
-rwxr-xr-xqcom/kalama-vm-dma-heaps.dtsi1
-rwxr-xr-xqcom/kalama-vm-qrd.dtsi4
-rwxr-xr-xqcom/kalama-vm.dtsi5
-rwxr-xr-xqcom/kalama.dtsi18
-rwxr-xr-xqcom/kalamap-hdk-overlay.dts2
-rwxr-xr-xqcom/kalamap-qcs.dts10
-rwxr-xr-xqcom/kalamap-qcs.dtsi7
-rwxr-xr-xqcom/khaje-atp.dtsi2
-rwxr-xr-xqcom/khaje-idp.dtsi2
-rwxr-xr-xqcom/khaje-qrd.dtsi2
-rwxr-xr-xqcom/khaje.dtsi10
-rwxr-xr-xqcom/khajeg.dtsi52
-rwxr-xr-xqcom/kona-7230-iot-cpu.dtsi329
-rwxr-xr-xqcom/kona-7230-iot-v2.1.dts9
-rwxr-xr-xqcom/kona-7230-iot-v2.1.dtsi8
-rwxr-xr-xqcom/kona-dma-heaps.dtsi51
-rwxr-xr-xqcom/kona-iot-v2.1-rb5-overlay.dts10
-rwxr-xr-xqcom/kona-iot-v2.1-rb5.dtsi16
-rwxr-xr-xqcom/kona-iot-vc.dtsi640
-rwxr-xr-xqcom/kona-pcie.dtsi891
-rwxr-xr-xqcom/kona-pmic-overlay.dtsi190
-rwxr-xr-xqcom/kona-qupv3.dtsi1195
-rwxr-xr-xqcom/kona-thermal.dtsi1347
-rwxr-xr-xqcom/kona-usb.dtsi553
-rwxr-xr-xqcom/kona.dtsi1168
-rwxr-xr-xqcom/lemans-4pmic-regulators.dtsi3
-rwxr-xr-xqcom/lemans-adp-air.dtsi4
-rwxr-xr-xqcom/lemans-adp-common.dtsi124
-rwxr-xr-xqcom/lemans-adp-star.dtsi4
-rwxr-xr-xqcom/lemans-coresight.dtsi988
-rwxr-xr-xqcom/lemans-debug.dtsi11
-rwxr-xr-xqcom/lemans-dma-heaps.dtsi5
-rwxr-xr-xqcom/lemans-ivi-adas-adp-star-overlay.dts12
-rwxr-xr-xqcom/lemans-ivi-adas-adp-star.dts10
-rwxr-xr-xqcom/lemans-ivi-adas-qam-star-overlay.dts12
-rwxr-xr-xqcom/lemans-ivi-adas-qam-star.dts10
-rwxr-xr-xqcom/lemans-ivi-adas.dts8
-rwxr-xr-xqcom/lemans-ivi-adas.dtsi7
-rwxr-xr-xqcom/lemans-pcie.dtsi24
-rwxr-xr-xqcom/lemans-pinctrl.dtsi29
-rwxr-xr-xqcom/lemans-pmic-overlay.dtsi16
-rwxr-xr-xqcom/lemans-qam-star.dtsi4
-rwxr-xr-xqcom/lemans-usb.dtsi29
-rwxr-xr-xqcom/lemans-vm-la-overlay.dts10
-rwxr-xr-xqcom/lemans-vm-la.dts10
-rwxr-xr-xqcom/lemans-vm-la.dtsi40
-rwxr-xr-xqcom/lemans-vm-lv-overlay.dts10
-rwxr-xr-xqcom/lemans-vm-lv.dts10
-rwxr-xr-xqcom/lemans-vm-lv.dtsi6
-rwxr-xr-xqcom/lemans-vm-qupv3.dtsi86
-rwxr-xr-xqcom/lemans-vm-usb.dtsi501
-rwxr-xr-xqcom/lemans-vm.dtsi287
-rwxr-xr-xqcom/lemans.dtsi846
-rwxr-xr-xqcom/monaco-coresight.dtsi63
-rwxr-xr-xqcom/monaco-idp-v1.dtsi8
-rwxr-xr-xqcom/monaco-pinctrl.dtsi19
-rwxr-xr-xqcom/monaco-pmic.dtsi19
-rwxr-xr-xqcom/monaco-qupv3.dtsi2
-rwxr-xr-xqcom/monaco-thermal.dtsi11
-rwxr-xr-xqcom/monaco-wdp-v1.dtsi42
-rwxr-xr-xqcom/monaco.dtsi33
-rwxr-xr-xqcom/msm-arm-smmu-kona.dtsi363
-rwxr-xr-xqcom/msm-arm-smmu-lemans.dtsi4
-rwxr-xr-xqcom/pm8009.dtsi51
-rwxr-xr-xqcom/pm8150.dtsi7
-rwxr-xr-xqcom/pm8150b.dtsi768
-rwxr-xr-xqcom/pm8150l.dtsi596
-rwxr-xr-xqcom/pm8195-vm.dtsi58
-rwxr-xr-xqcom/pm8775-vm.dtsi77
-rwxr-xr-xqcom/pm8775.dtsi153
-rwxr-xr-xqcom/pmx35.dtsi39
-rwxr-xr-xqcom/qbg-battery-profile-305mAh.dtsi661
-rwxr-xr-xqcom/qbg-battery-profile-alium-860-89032-0000-3600mAh.dtsi552
-rwxr-xr-xqcom/qbg-battery-profile-qrd-zwd-520mAh.dtsi637
-rwxr-xr-xqcom/qrb5165-iot.dts9
-rwxr-xr-xqcom/qrb5165-iot.dtsi7
-rwxr-xr-xqcom/qrb5165n-iot.dts9
-rwxr-xr-xqcom/qrb5165n-iot.dtsi7
-rwxr-xr-xqcom/quin-vm-common.dtsi31
-rwxr-xr-xqcom/sa410m-pcie.dtsi7
-rwxr-xr-xqcom/sa410m.dtsi49
-rwxr-xr-xqcom/sa8155-pmic-overlay.dtsi88
-rwxr-xr-xqcom/sa8155-vm-la.dtsi119
-rwxr-xr-xqcom/sa8155-vm.dtsi140
-rwxr-xr-xqcom/sa8155.dtsi25
-rwxr-xr-xqcom/sa8195-pmic.dtsi132
-rwxr-xr-xqcom/sa8195-thermal.dtsi32
-rwxr-xr-xqcom/sa8195-vm-la-overlay.dts2
-rwxr-xr-xqcom/sa8195-vm-la.dtsi60
-rwxr-xr-xqcom/sa8195-vm-pcie.dtsi1320
-rwxr-xr-xqcom/sa8195-vm-qupv3.dtsi62
-rwxr-xr-xqcom/sa8195-vm-usb.dtsi167
-rwxr-xr-xqcom/sa8195-vm.dtsi406
-rwxr-xr-xqcom/sa8195p.dtsi1
-rwxr-xr-xqcom/sdmshrike-dma-heaps.dtsi3
-rwxr-xr-xqcom/sdmshrike.dtsi53
-rwxr-xr-xqcom/sdxbaagha-pcie.dtsi7
-rwxr-xr-xqcom/sdxbaagha-pinctrl.dtsi456
-rwxr-xr-xqcom/sdxbaagha-pmic-overlay.dtsi196
-rwxr-xr-xqcom/sdxbaagha-qupv3.dtsi192
-rwxr-xr-xqcom/sdxbaagha-regulators.dtsi3
-rwxr-xr-xqcom/sdxbaagha-rumi.dtsi2
-rwxr-xr-xqcom/sdxbaagha.dtsi118
-rwxr-xr-xqcom/sdxpinn.dtsi37
-rwxr-xr-xqcom/slate.dtsi51
-rwxr-xr-xqcom/sm8150-coresight.dtsi2726
-rwxr-xr-xqcom/sm8150-dma-heaps.dtsi3
-rwxr-xr-xqcom/sm8150-thermal.dtsi33
-rwxr-xr-xqcom/sm8150-usb.dtsi2
-rwxr-xr-xqcom/sm8150.dtsi4
169 files changed, 30842 insertions, 468 deletions
diff --git a/bindings/arm/msm/msm.txt b/bindings/arm/msm/msm.txt
index 57c1943f..bdf8ed7d 100755
--- a/bindings/arm/msm/msm.txt
+++ b/bindings/arm/msm/msm.txt
@@ -251,6 +251,7 @@ compatible = "qcom,kona-mtp"
compatible = "qcom,kona-cdp"
compatible = "qcom,kona-qrd"
compatible = "qcom,kona-iot"
+compatible = "qcom,kona-iot-qrd"
compatible = "qcom,lahaina-rumi"
compatible = "qcom,lahaina-atp"
compatible = "qcom,lahaina-mtp"
@@ -352,8 +353,10 @@ compatible = "qcom,sdxbaagha-cdp"
compatible = "qcom,sa410m-idp"
compatible = "qcom,sa410m-qrd"
compatible = "qcom,sa410m-ccard"
+compatible = "qcom,qam-star"
compatible = "qcom,lemans-rumi"
compatible = "qcom,lemans-ivi"
+compatible = "qcom,lemans-ivi-adas"
compatible = "qcom,lemans-ivi-adp-air"
compatible = "qcom,lemans-ivi-adp-star"
compatible = "qcom,lemans-ivi-qam-star"
@@ -361,3 +364,5 @@ compatible = "qcom,lemans-adas-high"
compatible = "qcom,lemans-adas-high-adp-air"
compatible = "qcom,lemans-adas-high-adp-star"
compatible = "qcom,lemans-adas-high-qam-star"
+compatible = "qcom,lemans-ivi-adas-adp-star"
+compatible = "qcom,lemans-ivi-adas-qam-star"
diff --git a/bindings/arm/msm/sys-pm-violators.txt b/bindings/arm/msm/sys-pm-violators.txt
index 7ed1512c..5ac94862 100755
--- a/bindings/arm/msm/sys-pm-violators.txt
+++ b/bindings/arm/msm/sys-pm-violators.txt
@@ -15,6 +15,7 @@ PROPERTIES
- "qcom,sys-pm-lahaina"
- "qcom,sys-pm-waipio"
- "qcom,sys-pm-kalama"
+ - "qcom,sys-pm-lemans"
- reg:
Usage: required
diff --git a/bindings/clock/qcom,camcc.txt b/bindings/clock/qcom,camcc.txt
index ceac38a6..9cddfbce 100755
--- a/bindings/clock/qcom,camcc.txt
+++ b/bindings/clock/qcom,camcc.txt
@@ -17,6 +17,7 @@ Required properties :
"qcom,sa8155-camcc"
"qcom,sa8155-camcc-v2"
"qcom,sc8180x-camcc"
+ "qcom,sm8250-camcc"
"qcom,lemans-camcc"
- reg : shall contain base register location and length.
diff --git a/bindings/clock/qcom,debugcc.txt b/bindings/clock/qcom,debugcc.txt
index 99c4c24a..cced5fab 100755
--- a/bindings/clock/qcom,debugcc.txt
+++ b/bindings/clock/qcom,debugcc.txt
@@ -21,6 +21,7 @@ Required properties :
"qcom,sdxbaagha-debugcc"
"qcom,lemans-debugcc"
"qcom,sa410m-debugcc"
+ "qcom,sm8250-debugcc"
- qcom,gcc: phandle to the GCC device node.
- qcom,videocc: phandle to the Video CC device node.
diff --git a/bindings/clock/qcom,dispcc.txt b/bindings/clock/qcom,dispcc.txt
index 8c976d26..71a6cc58 100755
--- a/bindings/clock/qcom,dispcc.txt
+++ b/bindings/clock/qcom,dispcc.txt
@@ -28,6 +28,7 @@ Required properties :
"qcom,scuba-dispcc"
"qcom,lemans-dispcc0"
"qcom,lemans-dispcc1"
+ "qcom,sm8250-dispcc"
- reg : shall contain base register location and length.
- #clock-cells : from common clock binding, shall contain 1.
diff --git a/bindings/clock/qcom,gcc.txt b/bindings/clock/qcom,gcc.txt
index 521d86b7..1b13ef77 100755
--- a/bindings/clock/qcom,gcc.txt
+++ b/bindings/clock/qcom,gcc.txt
@@ -25,6 +25,7 @@ Required properties :
"qcom,gcc-sdm845"
"qcom,lahaina-gcc"
"qcom,sm8150-gcc"
+ "qcom,gcc-sm8250"
"qcom,sm8150-gcc-v2"
"qcom,sa8155-gcc"
"qcom,sa8155-gcc-v2"
@@ -44,6 +45,7 @@ Required properties :
"qcom,sdxbaagha-gcc"
"qcom,lemans-gcc"
"qcom,sa410m-gcc"
+ "qcom,direwolf-gcc"
- reg : shall contain base register location and length
- vdd_cx-supply: The vdd_cx logic rail supply.
diff --git a/bindings/clock/qcom,gpucc.txt b/bindings/clock/qcom,gpucc.txt
index dbebb3c1..57af8042 100755
--- a/bindings/clock/qcom,gpucc.txt
+++ b/bindings/clock/qcom,gpucc.txt
@@ -11,6 +11,7 @@ Required properties :
"qcom,diwali-gpucc",
"qcom,kalama-gpucc"
"qcom,sm8150-gpucc",
+ "qcom,sm8250-gpucc",
"qcom,sa8155-gpucc",
"qcom,khaje-gpucc",
"qcom,sc8180x-gpucc".
diff --git a/bindings/clock/qcom,npucc.txt b/bindings/clock/qcom,npucc.txt
index b05c0012..2b21c7ba 100755
--- a/bindings/clock/qcom,npucc.txt
+++ b/bindings/clock/qcom,npucc.txt
@@ -4,6 +4,7 @@ Qualcomm Technologies, Inc. NPU Clock & Reset Controller Binding
Required properties :
- compatible : shall contain only one of the following:
"qcom,sm8150-npucc"
+ "qcom,sm8250-npucc"
"qcom,sm8150-npucc-v2"
"qcom,sa8155-npucc"
"qcom,sa8155-npucc-v2"
diff --git a/bindings/clock/qcom,videocc.txt b/bindings/clock/qcom,videocc.txt
index 020338ca..74772ab8 100755
--- a/bindings/clock/qcom,videocc.txt
+++ b/bindings/clock/qcom,videocc.txt
@@ -12,6 +12,7 @@ Required properties :
"qcom,kalama-videocc"
"qcom,kalama-videocc-v2"
"qcom,sm8150-videocc"
+ "qcom,sm8250-videocc"
"qcom,sm8150-videocc-v2"
"qcom,sa8155-videocc"
"qcom,sa8155-videocc-v2"
diff --git a/bindings/firmware/qcom/hwkm.txt b/bindings/firmware/qcom/hwkm.txt
new file mode 100755
index 00000000..25ddc158
--- /dev/null
+++ b/bindings/firmware/qcom/hwkm.txt
@@ -0,0 +1,28 @@
+HWKM (Hardware Key Manager)
+
+The HWKM driver is a platform device driver that helps
+communicating with both the master and slave blocks of the
+hardware key manager to issue commands to perform key operations
+mainly required for storage encryption.
+
+Required properties:
+- compatible : Should be "qcom,hwkm".
+- reg: Register set for both master and slaves.
+- reg-names : Identifiers for parsing master and slave regs.
+- clocks : clocks needed for operating master and the slave.
+- clock-names : name identifiers corresponding to the clocks.
+- qcom,enable-hwkm-clk: to ensure clocks can be handled by HLOS.
+- qcom,op-freq-hz: Max frequency of the listed clocks.
+
+Example:
+
+ qcom_hwkm: hwkm@10c0000 {
+ compatible = "qcom,hwkm";
+ reg = <0x10c0000 0x9000>, <0x1d90000 0x9000>;
+ reg-names = "km_master", "ice_slave";
+ qcom,enable-hwkm-clk;
+
+ clock-names = "km_clk_src";
+ clocks = <&clock_rpmh RPMH_HWKM_CLK>;
+ qcom,op-freq-hz = <75000000>;
+ };
diff --git a/bindings/i2c/qcom,i2c-msm-geni.txt b/bindings/i2c/qcom,i2c-msm-geni.txt
index a71d7235..2d4dcebb 100755
--- a/bindings/i2c/qcom,i2c-msm-geni.txt
+++ b/bindings/i2c/qcom,i2c-msm-geni.txt
@@ -21,8 +21,6 @@ Optional property:
Needs to be added by client driver node in case of multi-ee usecase.
- qcom,le-vm : Boolean flag to support I2C functionality in trusted VM.
- qcom,i2c-hub : Boolean flag to support I2C hub functionality.
- - qcom,rtl_se : Boolean flag to bypass Cancel for RTL based SE. Applicable
- for QUP version < 3.9.0 .
Child nodes should conform to i2c bus binding.
diff --git a/bindings/input/qti-haptics.txt b/bindings/input/qti-haptics.txt
new file mode 100755
index 00000000..b86bae9a
--- /dev/null
+++ b/bindings/input/qti-haptics.txt
@@ -0,0 +1,209 @@
+Qualcomm Technologies, Inc. Haptics driver
+
+Haptics peripheral in QTI PMICs can support different type of actuators or
+vibrators:
+ 1) Eccentric Rotation Mass (ERM);
+ 2) Linear Resonant Actuator (LRA).
+This binding document describes the properties for this module.
+
+Properties:
+
+- compatible
+ Usage: required
+ Value type: <string>
+ Definition: It can be one of the following:
+ "qcom,haptics",
+ "qcom,pm660-haptics",
+ "qcom,pm8150b-haptics".
+
+- reg
+ Usage: required
+ Value type: <u32>
+ Definition: Base address of haptics peripheral.
+
+- interrupts
+ Usage: required
+ Value type: <prop-encoded-array>
+ Definition: Peripheral interrupt specifier.
+
+- interrupt-names
+ Usage: required
+ Value type: <stringlist>
+ Definition: Interrupt names. This list must match up 1-to-1 with the
+ interrupts specified in the 'interrupts' property. Following
+ interrupts are required: "hap_play_irq", "hap_sc_irq".
+
+- qcom,actuator-type
+ Usage: optional
+ Value type: <string>
+ Definition: Specifies the type of the actuator connected on the output of
+ haptics module. Allowed values: "erm", "lra". If this is
+ not specified, then LRA type will be used by default.
+
+- qcom,vmax-mv
+ Usage: optional
+ Value type: <u32>
+ Definition: Specifies the maximum allowed output voltage in millivolts
+ for the actuator. Value specified here will be rounded
+ off to the closest multiple of 116 mV. Allowed values:
+ 0 to 3596. If this is not specified, then 1800 mV will be
+ used by default.
+
+- qcom,play-rate-us
+ Usage: optional
+ Value type: <u32>
+ Definition: Specifies the period at which each sample of the 8-byte waveform
+ registers is played. For ERM, this period is flexible and it
+ can be chosen based on the desired shape of the pattern.
+ For LRA, it should be set equal to the resonance period
+ specified in the LRA actuator datasheet. Allowed values are:
+ 0 to 20475. If this is not specified, 5715us play rate is used.
+
+- vdd-supply
+ Usage: optional
+ Value type: <phandle>
+ Definition: Specifies the phandle of the regulator device which supplies
+ haptics module through VDD_HAP pin. This is only needed if VDD_HAP
+ is supplied from an external boost regulator instead of VPH_PWR.
+
+Following properties are specific only when LRA actuator is used:
+
+- qcom,lra-resonance-sig-shape
+ Usage: optional
+ Value type: <string>
+ Definition: Specifies the shape of the LRA resonance drive signal. Allowed
+ values: "sine", "square". If this is not specified, sinusoid
+ resonance driver signal is used.
+
+- qcom,lra-allow-variable-play-rate
+ Usage: optional
+ Value type: <empty>
+ Definition: If specified, "qcom,wf-play-rate-us" for LRA defined in each
+ effect could be different with the resonance period of the
+ LRA actuator.
+
+- qcom,lra-auto-resonance-mode
+ Usage: optional
+ Value type: <string>
+ Definition: Specifies the auto resonance technique for LRA. Allowed values are:
+ "zxd": zero crossing based discontinuous method;
+ "qwd": quarter wave drive method;
+
+Following properties could be specified in child nodes for defining vibrating
+waveforms/effects:
+
+- qcom,effect-id
+ Usage: required
+ Value type: <u32>
+ Definition: Specifies the effect ID that the client can request to play the
+ corresponding waveform defined in this child node. The ID is
+ normaly defined and sent from userspace for certain user
+ notification event.
+
+- qcom,wf-pattern
+ Usage: optional
+ Value type: <prop-encoded-array>
+ Definition: Specifies the waveform pattern in a byte array that will be
+ played for the effect-id. The bit fields of each byte are:
+ [7]: drive direction, 0 - forward; 1 - reverse
+ [6]: overdrive, 0 -- 1x drive; 1 -- 2x drive
+ [5:1]: waveform amplitude
+ [0]: reserved.
+
+- qcom,wf-vmax-mv
+ Usage: optional
+ Value type: <u32>
+ Definition: Specifies the maximum allowed output voltage in millivolts
+ for this effect. Value specified here will be rounded
+ off to the closest multiple of 116 mV. Allowed values:
+ 0 to 3596. If this is not specified, the value defined in
+ "qcom,vmax-mv" will be applied.
+
+- qcom,wf-play-rate-us
+ Usage: optional
+ Value type: <u32>
+ Definition: Specifies the play period in microseconds for each byte pattern.
+ Allowed values are: 0 to 20475. For LRA actuator, if
+ "qcom,lra-allow-variable-play-rate" is defined, it could be
+ set to other values not equal to the resonance period of the
+ LRA actuator.
+
+- qcom,wf-repeat-count
+ Usage: optional
+ Value type: <u32>
+ Definition: Specifies the repeat times for the waveform pattern. Allowed
+ values are: 1, 2, 4, 8, 16, 32, 64, 128.
+
+- qcom,wf-s-repeat-count
+ Usage: optional
+ Value type: <u32>
+ Definition: Specifies the repeat times for each sample defined in
+ qcom,wf-pattern. Allowed values are: 1, 2, 4, 8.
+
+- qcom,wf-brake-pattern
+ Usage: optional
+ Value type: <prop-encoded-array>
+ Definition: Specifies the brake pattern with 4 elements used to enable the
+ internal reverse braking. Allowed values for each element are:
+ 0: no brake
+ 1: brake with (Vmax / 2) strength
+ 2: brake with Vmax strength
+ 3: brake with (2 * Vmax) strength
+ If this property is specified with an array of non-zero values,
+ then the brake pattern is applied at the end of the playing
+ waveform.
+
+- qcom,lra-auto-resonance-disable
+ Usage: optional
+ Value type: <empty>
+ Definition: If specified, the hardware feature of LRA auto resonance detection
+ is disabled.
+
+- qcom,wf-line-in-audio
+ Usage: optional
+ Value type: <empty>
+ Definition: Boolean flag to indicate if the effect is playing the audio signal
+ comes into LINE-IN pin. If this is specified, the pattern
+ specified in "qcom,wf-pattern" will be ignored.
+
+- qcom,wf-line-in-pwm
+ Usage: optional
+ Value type: <empty>
+ Definition: Boolean flag to indicate if the effect is playing the PWM signal
+ comes into LINE-IN pin. If this is specified, the pattern
+ specified in "qcom,wf-pattern" will be ignored.
+Example:
+ qcom,haptics@c000 {
+ compatible = "qcom,haptics";
+ reg = <0xc000 0x100>;
+ interrupts = <0x3 0xc0 0x0 IRQ_TYPE_EDGE_BOTH>,
+ <0x3 0xc0 0x1 IRQ_TYPE_EDGE_BOTH>;
+ interrupt-names = "hap-sc-irq", "hap-play-irq";
+ qcom,actuator-type = "lra";
+ qcom,vmax-mv = <1800>;
+ qcom,play-rate-us = <8000>;
+ qcom,lra-resonance-sig-shape = "sine";
+ qcom,lra-auto-resonance-mode = "qwd";
+ qcom,lra-allow-variable-play-rate;
+
+ wf_0 {
+ /* CLICK effect */
+ qcom,effect-id = <0>;
+ qcom,wf-play-rate-us = <6250>;
+ qcom,wf-pattern = [3e 3e 3e];
+ qcom,lra-auto-resonance-disable;
+ };
+
+ wf_5 {
+ /* HEAVY_CLICK effect */
+ qcom,effect-id = <5>;
+ qcom,wf-play-rate-us = <6250>;
+ qcom,wf-pattern = [7e 7e 7e];
+ };
+
+ wf_6 {
+ /* RINGTONE_x effect */
+ qcom,effect-id = <6>;
+ qcom,wf-line-in-audio;
+ };
+ };
diff --git a/bindings/input/touchscreen/raydium_ts.txt b/bindings/input/touchscreen/raydium_ts.txt
new file mode 100755
index 00000000..80123bc5
--- /dev/null
+++ b/bindings/input/touchscreen/raydium_ts.txt
@@ -0,0 +1,58 @@
+Raydium WT030 touch controller
+
+Please add this description here: The Raydium Touch controller is connected to
+the
+host processor via I2C. The controller generates interrupts when the user
+touches
+the panel. The host controller is expected to read the touch coordinates over
+I2C and
+pass the coordinates to the rest of the system.
+
+Required properties:
+
+ - compatible : should be "raydium,raydium-ts".
+ - reg : i2c slave address of the device.
+ - interrupt-parent : parent of interrupt.
+ - raydium,irq-gpio : irq gpio.
+ - raydium,reset-gpio : reset gpio.
+ - vdd_ana-supply : analog voltage power supply needed to
+ power device.
+ - vcc_i2c-supply : i2c voltage power supply needed to power
+ device.
+
+Optional property:
+ - raydium,max-num-touches : addr of ub-i2c.
+ - raydium,display-coords : array of display coordinates.
+ - raydium,x_max : maximal x value of the panel.
+ - raydium,y_max : maximal y value of the panel.
+ - raydium,fw_id : firmware id.
+ - raydium,soft-reset-delay-ms : reset delay for controller (ms), default
+ 100.
+ - raydium,hard-reset-delay-ms : reset delay for controller (ms), default
+ 100.
+
+Example:
+ i2c@78b7000 {
+ status = "ok";
+ raydium_ts@39 {
+ compatible = "raydium,raydium-ts";
+ reg = <0x39>;
+ interrupt-parent = <&msm_gpio>;
+ interrupts = <13 0x2008>;
+ vdd_ana-supply = <&pm8916_l17>;
+ vcc_i2c-supply = <&pm8916_l6>;
+ pinctrl-names ="pmx_ts_active","pmx_ts_suspend","pmx_ts_release";
+ pinctrl-0 = <&ts_int_active &ts_reset_active>;
+ pinctrl-1 = <&ts_int_suspend &ts_reset_suspend>;
+ pinctrl-2 = <&ts_release>;
+ raydium,reset-gpio = <&msm_gpio 12 0x00>;
+ raydium,irq-gpio = <&msm_gpio 13 0x00>;
+ raydium,num-max-touches = <2>;
+ raydium,soft-reset-delay-ms = <50>;
+ raydium,hard-reset-delay-ms = <100>;
+ raydium,x_max = <390>;
+ raydium,y_max = <390>;
+ raydium,display-coords= <0 0 390 390>;
+ raydium,fw_id = <0x2202>
+ };
+ };
diff --git a/bindings/interconnect/qcom,kona.txt b/bindings/interconnect/qcom,kona.txt
new file mode 100755
index 00000000..edec07e4
--- /dev/null
+++ b/bindings/interconnect/qcom,kona.txt
@@ -0,0 +1,32 @@
+Qualcomm Technologies, Inc. Kona Network-On-Chip interconnect driver binding
+------------------------------------------------------------------------------
+
+Kona interconnect providers support system bandwidth requirements through
+RPMh hardware accelerators known as Bus Clock Manager (BCM). The provider is
+able to communicate with the BCM through the Resource State Coordinator (RSC)
+associated with each execution environment. Provider nodes must point to at
+least one RPMh device child node pertaining to their RSC and each provider
+can map to multiple RPMh resources.
+
+Required properties :
+- compatible : shall contain only one of the following:
+ "qcom,kona-aggre1_noc",
+ "qcom,kona-aggre2_noc",
+ "qcom,kona-camnoc_virt",
+ "qcom,kona-compute_noc",
+ "qcom,kona-config_noc",
+ "qcom,kona-dc_noc",
+ "qcom,kona-gem_noc",
+ "qcom,kona-ipa_virt",
+ "qcom,kona-mc_virt",
+ "qcom,kona-mmss_noc",
+ "qcom,kona-system_noc",
+ "qcom,kona-npu_noc",
+- #interconnect-cells : should contain 1
+
+Examples:
+
+aggre1_noc: interconnect@16e0000 {
+ compatible = "qcom,kona-aggre1_noc";
+ interconnect-cells = <1>;
+};
diff --git a/bindings/interconnect/qcom,monaco_auto.txt b/bindings/interconnect/qcom,monaco_auto.txt
new file mode 100755
index 00000000..79d72dc3
--- /dev/null
+++ b/bindings/interconnect/qcom,monaco_auto.txt
@@ -0,0 +1,29 @@
+Qualcomm Technologies, Inc. Monaco_auto Network-On-Chip interconnect driver binding
+------------------------------------------------------------------------------
+Monaco_auto interconnect providers support system bandwidth requirements through
+RPMh hardware accelerators known as Bus Clock Manager (BCM). The provider is
+able to communicate with the BCM through the Resource State Coordinator (RSC)
+associated with each execution environment. Provider nodes must point to at
+least one RPMh device child node pertaining to their RSC and each provider
+can map to multiple RPMh resources.
+
+Required properties :
+- compatible : shall contain only one of the following:
+ "qcom,monaco_auto-aggre1_noc";
+ "qcom,monaco_auto-aggre2_noc";
+ "qcom,monaco_auto-clk_virt";
+ "qcom,monaco_auto-config_noc";
+ "qcom,monaco_auto-gem_noc";
+ "qcom,monaco_auto-mc_virt";
+ "qcom,monaco_auto-mmss_noc";
+ "qcom,monaco_auto-pcie_anoc";
+ "qcom,monaco_auto-system_noc";
+
+- #interconnect-cells : should contain 1
+
+Examples:
+
+aggre1_noc: interconnect@16c0000 {
+ "qcom,monaco_auto-aggre1_noc";
+ interconnect-cells = <1>;
+};
diff --git a/bindings/interconnect/qcom,sdxbaagha.txt b/bindings/interconnect/qcom,sdxbaagha.txt
index 2143431c..71f0e7ba 100755
--- a/bindings/interconnect/qcom,sdxbaagha.txt
+++ b/bindings/interconnect/qcom,sdxbaagha.txt
@@ -12,15 +12,17 @@ Required properties :
- compatible : shall contain only one of the following:
"qcom,sdxbaagha-aggre_noc",
"qcom,sdxbaagha-cnoc_main",
- "qcom,sdxbaagha-dc_noc_dch",
+ "qcom,sdxbaagha-dc_noc",
"qcom,sdxbaagha-mc_virt",
+ "qcom,sdxbaagha-clk_virt",
+ "qcom,sdxbaagha-pcie_anoc",
"qcom,sdxbaagha-mem_noc",
- "qcom,sdxbaagha-snoc",
+ "qcom,sdxbaagha-system_noc",
- #interconnect-cells : should contain 1
Examples:
-snoc: interconnect@15C0000 {
+system_noc: interconnect@15C0000 {
compatible = "qcom,sdxbaagha-snoc";
#interconnect-cells = <1>;
};
diff --git a/bindings/leds/leds-qpnp-flash-v2.txt b/bindings/leds/leds-qpnp-flash-v2.txt
new file mode 100755
index 00000000..08c92c5d
--- /dev/null
+++ b/bindings/leds/leds-qpnp-flash-v2.txt
@@ -0,0 +1,334 @@
+Qualcomm Technologies Inc. PNP v2 Flash LED
+
+QPNP (Qualcomm Technologies Inc. Plug N Play) Flash LED (Light
+Emitting Diode) driver v2 is used to provide illumination to
+camera sensor when background light is dim to capture good
+picture. It can also be used for flashlight/torch application.
+It is part of PMIC on Qualcomm Technologies Inc. reference platforms.
+
+Main node:
+
+Required properties:
+- compatible : Should be "qcom,qpnp-flash-led-v2"
+- reg : Base address and size for flash LED modules
+- qcom,pmic-revid : phandle of PMIC revid module. This is used to
+ identify the PMIC subtype.
+
+Optional properties:
+- interrupts : Specifies the interrupts associated with flash-led.
+- interrupt-names : Specify the interrupt names associated with interrupts.
+- qcom,hdrm-auto-mode : Boolean type to select headroom auto mode enabled or not
+- qcom,isc-delay-us : Integer type to specify short circuit delay. Valid values are 32, 64,
+ 128, 192. Unit is uS.
+- qcom,warmup-delay-us : Integer type to specify warm up delay. Valid values are 32, 64,
+ 128, 192. Unit is uS.
+- qcom,ramp-up-step : Integer property to specify flash current ramp up time
+ step. Unit is in nS. Allowed values are: 200, 400, 800, 1600,
+ 3200, 6400, 12800, 25600.
+- qcom,ramp-down-step : Integer property to specify flash current ramp down
+ time step. Unit is in nS. Allowed values are: 200, 400, 800, 1600,
+ 3200, 6400, 12800, 25600.
+- qcom,torch-realtime-brightness-control : Boolean property which enables torch realtime brightness control
+ which gives option to change brightness from torch node when it is
+ already enabled from switch node.
+- qcom,short-circuit-det : Boolean property which enables short circuit fault detection.
+- qcom,open-circuit-det : Boolean property which enables open circuit fault detection.
+- qcom,vph-droop-det : Boolean property which enables VPH droop detection.
+- qcom,vph-droop-hysteresis-mv : Integer property to specify VPH droop hysteresis. It is only used if
+ qcom,vph-droop-det is specified. Valid values are 0, 25, 50 and 75.
+ Unit is mV.
+- qcom,vph-droop-threshold-mv : Integer property to specify VPH droop threshold. It is only used if
+ qcom,vph-droop-det is specified. Valid values are
+ 2500 to 3200 with step size of 100. Unit is mV.
+- qcom,vph-droop-debounce-us : Integer property to specify VPH droop debounce time. It is only used
+ if qcom,vph-droop-det is specified. Valid values are 0, 8, 16 and 26.
+ Unit is uS.
+- qcom,led1n2-iclamp-low-ma : Integer property to specify current clamp low
+ level for mitigation. Unit is mA. Allowed
+ values are same as under qcom,max-current.
+- qcom,led1n2-iclamp-mid-ma : Integer property to specify current clamp mid
+ level for mitigation. Unit is mA. Allowed
+ values are same as under qcom,max-current.
+- qcom,led3-iclamp-low-ma : Integer property to specify current clamp low
+ level for mitigation. Unit is mA. Allowed
+ values are same as under qcom,max-current.
+- qcom,led3-iclamp-mid-ma : Integer property to specify current clamp mid
+ level for mitigation. Unit is mA. Allowed
+ values are same as under qcom,max-current.
+- qcom,vled-max-uv : Integer property for flash current predictive mitigation.
+ Default value is 3500000 uV.
+- qcom,ibatt-ocp-threshold-ua : Integer property for flash current predictive mitigation.
+ Default value is 4500000 uA.
+- qcom,rparasitic-uohm : Integer property for flash current predictive mitigation indicating
+ parasitic component of battery resistance. Default value is 0 uOhm.
+- qcom,lmh-ocv-threshold-uv : Required property for flash current preemptive LMH mitigation.
+ Default value is 3700000 uV.
+- qcom,lmh-rbatt-threshold-uohm : Required property for flash current preemptive LMH mitigation.
+ Default value is 400000 uOhm.
+- qcom,lmh-mitigation-sel : Optional property to configure flash current preemptive LMH mitigation.
+ Accepted values are:
+ 0: MITIGATION_DISABLED
+ 1: MITIGATION_BY_ILED_THRESHOLD
+ 2: MITIGATION_BY_SW
+ Default value is 2.
+- qcom,chgr-mitigation-sel : Optional property to configure flash current preemptive charger mitigation.
+ Accepted values are:
+ 0: MITIGATION_DISABLED
+ 1: MITIGATION_BY_ILED_THRESHOLD
+ 2: MITIGATION_BY_SW
+ Default value is 2.
+- qcom,lmh-level : Optional property to configure flash current preemptive LMH mitigation.
+ Accepted values are 0, 1, and 3. Default value is 0.
+- qcom,iled-thrsh-ma : Optional property to configure the led current threshold at which HW
+ preemptive mitigation is triggered. Unit is mA. Default value is 1000.
+ Accepted values are in the range 0 - 3100, with steps of 100.
+ 0 disables autonomous HW mitigation.
+- qcom,thermal-derate-en : Boolean property to enable flash current thermal mitigation.
+- qcom,thermal-derate-current : Array of currrent limits for thermal mitigation. Required if
+ qcom,thermal-derate-en is specified. Unit is mA. Format is
+ qcom,thermal-derate-current = <OTST1_LIMIT, OTST2_LIMIT, OTST3_LIMIT>.
+- qcom,otst-ramp-back-up-dis : Boolean property to disable current ramp
+ backup after thermal derate trigger is
+ deasserted.
+- qcom,thermal-derate-slow : Integer property to specify slow ramping
+ down thermal rate. Unit is in uS. Allowed
+ values are: 128, 256, 512, 1024, 2048, 4096,
+ 8192 and 314592.
+- qcom,thermal-derate-fast : Integer property to specify fast ramping
+ down thermal rate. Unit is in uS. Allowed
+ values are: 32, 64, 96, 128, 256, 384 and
+ 512.
+- qcom,thermal-debounce : Integer property to specify thermal debounce
+ time. It is only used if qcom,thermal-derate-en
+ is specified. Unit is in uS. Allowed values
+ are: 0, 16, 32, 64.
+- qcom,thermal-hysteresis : Integer property to specify thermal derating
+ hysteresis. Unit is in deciDegC. It is only
+ used if qcom,thermal-derate-en is specified.
+ Allowed values are:
+ 0, 15, 30, 45 for pmi8998.
+ 0, 20, 40, 60 for pm660l.
+- qcom,thermal-thrsh1 : Integer property to specify OTST1 threshold
+ for thermal mitigation. Unit is in Celsius.
+ Accepted values are:
+ 85, 79, 73, 67, 109, 103, 97, 91.
+- qcom,thermal-thrsh2 : Integer property to specify OTST2 threshold
+ for thermal mitigation. Unit is in Celsius.
+ Accepted values are:
+ 110, 104, 98, 92, 134, 128, 122, 116.
+- qcom,thermal-thrsh3 : Integer property to specify OTST3 threshold
+ for thermal mitigation. Unit is in Celsius.
+ Accepted values are:
+ 125, 119, 113, 107, 149, 143, 137, 131.
+- qcom,hw-strobe-option : Integer type to specify hardware strobe option. Based on the specified
+ value, additional GPIO configuration may be required to provide strobing
+ support. Supported values are:
+ 0: Flash strobe is used for LED1, LED2, LED3
+ 1: Flash strobe is used for LED1, LED2 and GPIO10 is used for LED3
+ 2: Flash strobe is used for LED1; GPIO9 is used for LED2; GPIO10 is used for LED3
+ For PM8150L/A and its derivatives, supported values are:
+ 0: Flash strobe is used for LED1, LED2, LED3
+ 1: Flash strobe is used for LED1, LED2 and GPIO12 is used for LED3
+- switchX-supply : phandle of the regulator that needs to be used
+ as a supply for flash switch_X device.
+- qcom,bst-pwm-ovrhd-uv : Charger flash VPH overhead. Applicable for PMI632 only.
+ Supported values (in mV) are: 300, 400, 500, 600. Default is 300.
+
+Child node: Contains settings for each individual LED. Each LED channel needs a flash node and
+torch node for itself, and an individual switch node to serve as an overall switch.
+
+Required Properties:
+- label : Type of led that will be used, either "flash", "torch", or "switch.
+- qcom,led-name : Name of the LED.
+- qcom,default-led-trigger : Trigger for the camera flash and torch. Accepted values are
+ "flash0_trigger", "flash1_trigger", "flash2_trigger, "torch0_trigger",
+ "torch1_trigger", "torch2_trigger", and "switch_trigger".
+- qcom,id : ID for each physical LED equipped. In order to handle situation when
+ only 1 or 2 LEDs are installed, flash and torch nodes on LED channel 0
+ should be specified with ID 0; nodes on channel 1 be ID 1, etc. This is
+ not required for switch node.
+- qcom,max-current : Maximum current allowed on this LED. Valid values should be
+ integer from 0 to 1500 inclusive. Flash 2 should have maximum current of
+ 750 per hardware requirement. Unit is mA. For torch, the maximum current
+ is clamped at 500 mA. This is not required for the switch node.
+- qcom,duration-ms : Required property for flash nodes but not needed for torch. Integer
+ type specifying flash duration. Values are from 10ms to 1280ms with
+ 10ms resolution. This is not required for switch node.
+- qcom,led-mask : Required property for switch nodes. Bitmask to indicate which leds are
+ controlled by this switch node. Accepted values are in the range 1 to 7,
+ inclusive. Example:
+ qcom,led-mask = <4>; /* This switch node controls the flash2/torch2 led. */
+
+Optional properties:
+- qcom,current-ma : operational current intensity for LED in mA. Accepted values are a
+ positive integer in the range of 0 to qcom,max-current inclusive.
+- qcom,ires-ua : Integer type to specify current resolution. Accepted values should be
+ 12500, 10000, 7500, and 5000. Unit is uA.
+- qcom,hdrm-voltage-mv : Integer type specifying headroom voltage. Values are from 125mV to 500mV
+ with 25mV resolution. Default setting is 325mV
+- qcom,hdrm-vol-hi-lo-win-mv : Integer type to specify headroom voltage swing range. Values are
+ from 0mV to 375mV with 25mV resolution. Default setting is 100mV.
+- pinctrl-names : Name of the pinctrl configuration that will be used when external GPIOs
+ are used for enabling/disabling, HW strobing of flash LEDs. For more
+ information on using pinctrl, please refer
+ Documentation/devicetree/bindings/pinctrl/msm-pinctrl.txt
+ Following are the pinctrl configs that can be specified:
+ "led_enable" : pinctrl config to enable led. This should specify the active
+ configuration defined for each pin or pin group.
+ "led_disable" : pinctrl config to disable led. This should specify the sleep
+ configuration defined for each pin or pin group.
+ "strobe_enable" : pinctrl config to enable hw-strobe. This should specify the
+ active configuration defined for each pin or pin group.
+ "strobe_disable" : pinctrl config to disable hw-strobe. This should specify the
+ sleep configuration defined for each pin or pin group.
+- qcom,hw-strobe-gpio : phandle to specify GPIO for hardware strobing. This is used when there is no
+ pinctrl support or PMIC GPIOs are used.
+- qcom,strobe-sel : Property to select strobe type. If not defined,
+ software strobe will be used. Allowed options are:
+ 0 - SW strobe
+ 1 - HW strobe
+ 2 - LPG strobe
+ LPG strobe is supported only for LED3.
+ If LPG strobe is specified, then strobe control is
+ configured for active high and level triggered. Also
+ qcom,hw-strobe-option should be set to 1 or 2.
+- qcom,hw-strobe-edge-trigger : Boolean property to select trigger type. If defined, hw-strobe is set to
+ be edge triggered. Otherwise, it is level triggered.
+- qcom,hw-strobe-active-low : Boolean property to select strobe signal polarity. If defined, hw-strobe
+ signal polarity is set to active-low, else it is active-high.
+- qcom,symmetry-en : Boolean property to specify if the flash LEDs under a
+ switch node are controlled symmetrically. This needs
+ to be specified if a group of flash LED channels are
+ connected to a single LED.
+Example:
+ qcom,leds@d300 {
+ compatible = "qcom,qpnp-flash-led-v2";
+ status = "okay";
+ reg = <0xd300 0x100>;
+ label = "flash";
+ interrupts = <0x3 0xd3 0x0 IRQ_TYPE_EDGE_BOTH>,
+ <0x3 0xd3 0x1 IRQ_TYPE_EDGE_BOTH>,
+ <0x3 0xd3 0x2 IRQ_TYPE_EDGE_BOTH>,
+ <0x3 0xd3 0x3 IRQ_TYPE_EDGE_BOTH>,
+ <0x3 0xd3 0x4 IRQ_TYPE_EDGE_BOTH>,
+ <0x3 0xd3 0x5 IRQ_TYPE_EDGE_BOTH>,
+ <0x3 0xd3 0x6 IRQ_TYPE_EDGE_BOTH>,
+ <0x3 0xd3 0x7 IRQ_TYPE_EDGE_BOTH>;
+ interrupt-names = "led-fault-irq",
+ "mitigation-irq",
+ "flash-timer-exp-irq",
+ "all-ramp-down-done-irq",
+ "all-ramp-up-done-irq",
+ "led3-ramp-up-done-irq",
+ "led2-ramp-up-done-irq",
+ "led1-ramp-up-done-irq";
+
+ qcom,hdrm-auto-mode;
+ qcom,isc-delay = <192>;
+ switch0-supply = <&pmi8998_bob>;
+
+ pmi8998_flash0: qcom,flash_0 {
+ label = "flash";
+ qcom,led-name = "led:flash_0";
+ qcom,max-current = <1500>;
+ qcom,default-led-trigger =
+ "flash0_trigger";
+ qcom,id = <0>;
+ qcom,current-ma = <1000>;
+ qcom,duration-ms = <1280>;
+ qcom,ires-ua = <12500>;
+ qcom,hdrm-voltage-mv = <325>;
+ qcom,hdrm-vol-hi-lo-win-mv = <100>;
+ };
+
+ pmi8998_flash1: qcom,flash_1 {
+ label = "flash";
+ qcom,led-name = "led:flash_1";
+ qcom,max-current = <1500>;
+ qcom,default-led-trigger =
+ "flash1_trigger";
+ qcom,id = <1>;
+ qcom,current-ma = <1000>;
+ qcom,duration-ms = <1280>;
+ qcom,ires-ua = <12500>;
+ qcom,hdrm-voltage-mv = <325>;
+ qcom,hdrm-vol-hi-lo-win-mv = <100>;
+ };
+
+ pmi8998_flash2: qcom,flash_2 {
+ label = "flash";
+ qcom,led-name = "led:flash_2";
+ qcom,max-current = <750>;
+ qcom,default-led-trigger =
+ "flash2_trigger";
+ qcom,id = <2>;
+ qcom,current-ma = <500>;
+ qcom,duration-ms = <1280>;
+ qcom,ires-ua = <12500>;
+ qcom,hdrm-voltage-mv = <325>;
+ qcom,hdrm-vol-hi-lo-win-mv = <100>;
+ pinctrl-names = "led_enable","led_disable";
+ pinctrl-0 = <&led_enable>;
+ pinctrl-1 = <&led_disable>;
+ };
+
+ pmi8998_torch0: qcom,torch_0 {
+ label = "torch";
+ qcom,led-name = "led:torch_0";
+ qcom,max-current = <500>;
+ qcom,default-led-trigger =
+ "torch0_trigger";
+ qcom,id = <0>;
+ qcom,current-ma = <300>;
+ qcom,ires-ua = <12500>;
+ qcom,hdrm-voltage-mv = <325>;
+ qcom,hdrm-vol-hi-lo-win-mv = <100>;
+ };
+
+ pmi8998_torch1: qcom,torch_1 {
+ label = "torch";
+ qcom,led-name = "led:torch_1";
+ qcom,max-current = <500>;
+ qcom,default-led-trigger =
+ "torch1_trigger";
+ qcom,id = <1>;
+ qcom,current-ma = <300>;
+ qcom,ires-ua = <12500>;
+ qcom,hdrm-voltage-mv = <325>;
+ qcom,hdrm-vol-hi-lo-win-mv = <100>;
+ };
+
+ pmi8998_torch2: qcom,torch_2 {
+ label = "torch";
+ qcom,led-name = "led:torch_2";
+ qcom,max-current = <500>;
+ qcom,default-led-trigger =
+ "torch2_trigger";
+ qcom,id = <2>;
+ qcom,current-ma = <300>;
+ qcom,ires-ua = <12500>;
+ qcom,hdrm-voltage-mv = <325>;
+ qcom,hdrm-vol-hi-lo-win-mv = <100>;
+ pinctrl-names = "led_enable","led_disable";
+ pinctrl-0 = <&led_enable>;
+ pinctrl-1 = <&led_disable>;
+ };
+
+ pmi8998_switch0: qcom,led_switch_0 {
+ label = "switch";
+ qcom,led-name = "led:switch_0";
+ qcom,led-mask = <3>;
+ qcom,default-led-trigger =
+ "switch0_trigger";
+ qcom,symmetry-en;
+ };
+
+ pmi8998_switch1: qcom,led_switch_1 {
+ label = "switch";
+ qcom,led-name = "led:switch_1";
+ qcom,led-mask = <4>;
+ qcom,default-led-trigger =
+ "switch1_trigger";
+ };
+ };
+
diff --git a/bindings/pinctrl/qcom,pmic-gpio.txt b/bindings/pinctrl/qcom,pmic-gpio.txt
index a77827d4..1c6a7002 100755
--- a/bindings/pinctrl/qcom,pmic-gpio.txt
+++ b/bindings/pinctrl/qcom,pmic-gpio.txt
@@ -27,6 +27,7 @@ PMIC's from Qualcomm.
"qcom,pm660l-gpio"
"qcom,pm8150-gpio"
"qcom,pm8150b-gpio"
+ "qcom,pm8150l-gpio"
"qcom,pm8350-gpio"
"qcom,pm8350b-gpio"
"qcom,pm8350c-gpio"
diff --git a/bindings/power/supply/qcom/qpnp-fg-gen4.txt b/bindings/power/supply/qcom/qpnp-fg-gen4.txt
new file mode 100755
index 00000000..8bdbf936
--- /dev/null
+++ b/bindings/power/supply/qcom/qpnp-fg-gen4.txt
@@ -0,0 +1,687 @@
+Qualcomm Technologies, Inc. PMIC Fuel Gauge Gen4 Device
+
+QTI PMIC FG Gen4 device provides interface to the clients to read properties
+related to the battery. Its main function is to retrieve the State of Charge
+(SOC), in percentage scale representing the amount of charge left in the
+battery.
+
+=======================
+Required Node Structure
+=======================
+
+FG Gen4 device must be described in two levels of device nodes. The first
+level describes the FG Gen4 device. The second level describes one or more
+peripherals managed by FG Gen4 driver. All the peripheral specific parameters
+such as base address, interrupts etc., should be under second level node.
+
+====================================
+First Level Node - FG Gen4 device
+====================================
+
+- compatible
+ Usage: required
+ Value type: <string>
+ Definition: Should be "qcom,fg-gen4".
+
+- qcom,pmic-revid
+ Usage: required
+ Value type: <phandle>
+ Definition: Should specify the phandle of PMIC revid module. This is
+ used to identify the PMIC subtype.
+
+- qcom,pmic-pbs
+ Usage: optional
+ Value type: <phandle>
+ Definition: Should specify the phandle of PMIC PBS module. This is
+ used to trigger PBS for certain configurations.
+
+- #thermal-sensor-cells: Should be 0. See thermal.txt for the description.
+
+- nvmem-names:
+ Usage: optional
+ Value type: <string>
+ Definition: Nvmem device name for SDAM to store parameters like cycle
+ counters and learned capacity. It must be defined as
+ "fg_sdam".
+
+- nvmem:
+ Usage: optional
+ Value type: <phandle>
+ Definition: Phandle of the nvmem device name to access SDAM to store
+ parameters.
+
+- io-channels
+- io-channel-names
+ Usage: optional
+ Value type: <phandle>
+ Definition: Specified if battery id is obtained through ADC channel
+ If specified, it should have a name "batt_id".
+ For details about IIO bindings see:
+ Documentation/devicetree/bindings/iio/iio-bindings.txt
+
+- qcom,batt-id-pullup-kohms
+ Usage: optional
+ Value type: <u32>
+ Definition: Battery id pull up resistor value in KOhms. This needs to
+ be specified if battery id is obtained through ADC channel.
+ If not specified, a default value of 100 KOhms is used.
+
+- qcom,fg-cutoff-voltage
+ Usage: optional
+ Value type: <u32>
+ Definition: The voltage (in mV) where the fuel gauge will steer the SOC
+ to be zero. For example, if the cutoff voltage is set to
+ 3400mv, the fuel gauge will try to count SoC so that the
+ battery SOC will be 0 when it is 3400 mV. If this property
+ is not specified, then the default value used will be
+ 3000 mV.
+
+- qcom,fg-empty-voltage
+ Usage: optional
+ Value type: <u32>
+ Definition: The voltage threshold (in mV) based on which the empty soc
+ interrupt will be triggered. When the empty soc interrupt
+ fires, battery soc will be set to 0 and the userspace will
+ be notified via the power supply framework. The userspace
+ will read 0% soc and immediately shutdown. If this property
+ is not specified, then the default value used will be
+ 2812 mV.
+
+- qcom,fg-sys-min-voltage
+ Usage: optional
+ Value type: <u32>
+ Definition: The voltage threshold (in mV) which describes the system
+ minimum voltage as per the hardware recommendation. This
+ is not used for any configuration but only for calculating
+ the available power. If this property is not specified,
+ then the default value used is 2800 mV.
+
+- qcom,fg-sys-term-current
+ Usage: optional
+ Value type: <u32>
+ Definition: Battery current (in mA) at which the fuel gauge will try to
+ scale towards 100%. When the charge current goes above this
+ the SOC should be at 100%. If this property is not
+ specified, then the default value used will be -125 mA.
+ This value has to be specified in negative values for
+ the charging current.
+
+- qcom,fg-cutoff-current
+ Usage: optional
+ Value type: <u32>
+ Definition: Minimum Battery current (in mA) used for cutoff SOC
+ estimate. If this property is not specified, then a default
+ value of 200 mA will be applied.
+
+- qcom,fg-delta-soc-thr
+ Usage: optional
+ Value type: <u32>
+ Definition: Percentage of SOC increase upon which the delta monotonic &
+ battery SOC interrupts will be triggered. If this property
+ is not specified, then the default value will be 5 (0.5 %).
+ Unit is in deci-percentage. Possible values are in the range
+ of 1 to 124.
+
+- qcom,fg-esr-timer-chg-fast
+ Usage: optional
+ Value type: <prop-encoded-array>
+ Definition: Number of cycles between ESR pulses while the battery is
+ charging for fast calibration. Array of 2 elements if
+ specified.
+ Element 0 - Retry value for timer
+ Element 1 - Maximum value for timer
+
+- qcom,fg-esr-timer-dischg-fast
+ Usage: optional
+ Value type: <prop-encoded-array>
+ Definition: Number of cycles between ESR pulses while the battery is
+ discharging for fast calibration. Array of 2 elements if
+ specified.
+ Element 0 - Retry value for timer
+ Element 1 - Maximum value for timer
+
+- qcom,fg-esr-timer-chg-slow
+ Usage: optional
+ Value type: <prop-encoded-array>
+ Definition: Number of cycles between ESR pulses while the battery is
+ charging for default calibration. Array of 2 elements if
+ specified.
+ Element 0 - Retry value for timer
+ Element 1 - Maximum value for timer
+
+- qcom,fg-esr-timer-dischg-slow
+ Usage: optional
+ Value type: <prop-encoded-array>
+ Definition: Number of cycles between ESR pulses while the battery is
+ discharging for default calibration. Array of 2 elements if
+ specified.
+ Element 0 - Retry value for timer
+ Element 1 - Maximum value for timer
+
+- qcom,fg-esr-cal-soc-thresh
+ Usage: optional
+ Value type: <prop-encoded-array>
+ Definition: SOC thresholds applied when ESR fast calibration is done.
+ Array of 2 elements if specified. This should be specified
+ if ESR fast calibration algorithm is needed.
+ Element 0 - Minimum SOC threshold in percentage
+ Element 1 - Maximum SOC threshold in percentage
+
+- qcom,fg-esr-cal-temp-thresh
+ Usage: optional
+ Value type: <prop-encoded-array>
+ Definition: Battery temperature thresholds applied when ESR fast
+ calibration is done. Array of 2 elements if specified.
+ This should be specified if ESR fast calibration algorithm
+ is needed.
+ Element 0 - Minimum temperature threshold in Celsius
+ Element 1 - Maximum temperature threshold in Celsius
+
+- qcom,fg-delta-esr-disable-count
+ Usage: optional
+ Value type: <u32>
+ Definition: Value after which delta ESR interrupt will be disabled.
+ This is applicable only when ESR fast calibration is
+ enabled. Default value is 10.
+
+- qcom,fg-delta-esr-thr
+ Usage: optional
+ Value type: <u32>
+ Definition: Threshold for delta ESR interrupt in uOhms. Default value
+ is 1832. If ESR fast calibration algorithm is enabled, this
+ will be overridden with a maximum value.
+
+- qcom,fg-esr-filter-factor
+ Usage: optional
+ Value type: <u32>
+ Definition: ESR filter factor used in ESR fast calibration algorithm.
+ This factor will be used when ESR correction delta is
+ applied after the calculation. Default value is 2.
+
+- qcom,fg-esr-calib-dischg:
+ Usage: optional
+ Value type: <empty>
+ Definition: Enables ESR calibration only during discharging. This
+ should be specified only when ESR fast calibration is not
+ required. Also, ESR discharging timers should be specified
+ for the proper functionality.
+
+- qcom,fg-esr-pulse-thresh-ma
+ Usage: optional
+ Value type: <u32>
+ Definition: ESR pulse qualification threshold in mA. If this is not
+ specified, a default value of 110 mA will be configured.
+ Allowed values are from 1 to 1000.
+
+- qcom,fg-esr-meas-curr-ma
+ Usage: optional
+ Value type: <u32>
+ Definition: ESR measurement current in mA. If this is not specified,
+ a default value of 120 mA will be configured. Allowed
+ values are 60, 120, 180 and 240.
+
+- qcom,fg-batt-temp-delta
+ Usage: optional
+ Value type: <u32>
+ Definition: Battery temperature delta interrupt threshold. Possible
+ values are: 0, 1, 2 and 3. Unit is in Kelvin or Celsius.
+
+- qcom,fg-batt-temp-cold-thresh
+ Usage: optional
+ Value type: <u32>
+ Definition: Battery temperature cold interrupt threshold. Allowed
+ values are from -128 to 127. Unit is in Kelvin or Celsius.
+
+- qcom,fg-batt-temp-hot-thresh
+ Usage: optional
+ Value type: <u32>
+ Definition: Battery temperature hot interrupt threshold. Allowed
+ values are from -128 to 127. Unit is in Kelvin or Celsius.
+
+- qcom,fg-batt-temp-hyst
+ Usage: optional
+ Value type: <u32>
+ Definition: Battery temperature hysteresis threshold. Possible values
+ are: 0, 1, 2 and 3. Unit is in Kelvin or Celsius.
+
+- qcom,fg-batt-therm-freq
+ Usage: optional
+ Value type: <u32>
+ Definition: Battery thermistor interval in seconds. Possible values
+ are from 1-255. If not specified, then the default value
+ configured is 8.
+
+- qcom,fg-force-load-profile
+ Usage: optional
+ Value type: <empty>
+ Definition: If set, battery profile will be force loaded if the profile
+ loaded earlier by bootloader doesn't match with the profile
+ available in the device tree.
+
+- qcom,cl-start-capacity
+ Usage: optional
+ Value type: <u32>
+ Definition: Battery SOC threshold to start the capacity learning.
+ If this is not specified, then the default value used
+ will be 15. Unit is in percentage.
+
+- qcom,cl-min-temp
+ Usage: optional
+ Value type: <u32>
+ Definition: Lower limit of battery temperature to start the capacity
+ learning. If this is not specified, then the default value
+ used will be 150 (15 C). Unit is in decidegC.
+
+- qcom,cl-max-temp
+ Usage: optional
+ Value type: <u32>
+ Definition: Upper limit of battery temperature to start the capacity
+ learning. If this is not specified, then the default value
+ used will be 500 (50 C). Unit is in decidegC.
+
+- qcom,cl-max-increment
+ Usage: optional
+ Value type: <u32>
+ Definition: Maximum capacity increment allowed per capacity learning
+ cycle. If this is not specified, then the default value
+ used will be 5 (0.5%). Unit is in decipercentage.
+
+- qcom,cl-max-decrement
+ Usage: optional
+ Value type: <u32>
+ Definition: Maximum capacity decrement allowed per capacity learning
+ cycle. If this is not specified, then the default value
+ used will be 100 (10%). Unit is in decipercentage.
+
+- qcom,cl-min-limit
+ Usage: optional
+ Value type: <u32>
+ Definition: Minimum limit that the capacity cannot go below in a
+ capacity learning cycle. If this is not specified, then
+ the default value is 0. Unit is in decipercentage.
+
+- qcom,cl-max-limit
+ Usage: optional
+ Value type: <u32>
+ Definition: Maximum limit that the capacity cannot go above in a
+ capacity learning cycle. If this is not specified, then
+ the default value is 0. Unit is in decipercentage.
+
+- qcom,cl-min-delta-batt-soc
+ Usage: optional
+ Value type: <u32>
+ Definition: Minimum change in battery SOC to qualify for capacity
+ learning. If this is not specified, then the default
+ value is 10. Unit is in percentage.
+
+- qcom,cl-wt-enable
+ Usage: optional
+ Value type: <empty>
+ Definition: A boolean property to enable weighted capacity learning
+ based on change in battery SOC during a charging cycle.
+ If this is specified "qcom,cl-start-capacity" is not used.
+
+- qcom,cl-skew
+ Usage: optional
+ Value type: <u32>
+ Definition: Skew in decipercentage which when specified will be applied
+ to the final learned capacity.
+
+- qcom,cl-ibat-flt-thresh-ma
+ Usage: optional
+ Value type: <u32>
+ Definition: Filtered battery current to qualify the capacity learning
+ algorithm to begin. If this is not specified, then the
+ default value is 100 mA.
+
+- qcom,hold-soc-while-full
+ Usage: optional
+ Value type: <empty>
+ Definition: A boolean property that when defined holds SOC at 100% when
+ the battery is full.
+
+- qcom,linearize-soc
+ Usage: optional
+ Value type: <empty>
+ Definition: A boolean property that when defined linearizes SOC when
+ the SOC drops after charge termination monotonically to
+ improve the user experience. This is applicable only if
+ "qcom,hold-soc-while-full" is specified.
+
+- qcom,ki-coeff-soc-dischg
+ Usage: optional
+ Value type: <prop-encoded-array>
+ Definition: Array of monotonic SOC threshold values to change the ki
+ coefficient for medium discharge current during discharge.
+ This should be defined in the ascending order and in the
+ range of 0-100. Array limit is set to 3.
+
+- qcom,ki-coeff-low-dischg
+ Usage: optional
+ Value type: <prop-encoded-array>
+ Definition: Array of ki coefficient values for low discharge current
+ during discharge. These values will be applied when the
+ monotonic SOC goes below the SOC threshold specified under
+ qcom,ki-coeff-soc-dischg. Array limit is set to 3. This
+ property should be specified if qcom,ki-coeff-soc-dischg
+ is specified to make it fully functional. Value has no
+ unit. Allowed range is 0 to 15564 in micro units. If this
+ is not specified, the default value used will be 367.
+
+- qcom,ki-coeff-med-dischg
+ Usage: optional
+ Value type: <prop-encoded-array>
+ Definition: Array of ki coefficient values for medium discharge current
+ during discharge. These values will be applied when the
+ monotonic SOC goes below the SOC threshold specified under
+ qcom,ki-coeff-soc-dischg. Array limit is set to 3. This
+ property should be specified if qcom,ki-coeff-soc-dischg
+ is specified to make it fully functional. Value has no
+ unit. Allowed range is 0 to 15564 in micro units. If this
+ is not specified, the default value used will be 62.
+
+- qcom,ki-coeff-hi-dischg
+ Usage: optional
+ Value type: <prop-encoded-array>
+ Definition: Array of ki coefficient values for high discharge current
+ during discharge. These values will be applied when the
+ monotonic SOC goes below the SOC threshold specified under
+ qcom,ki-coeff-soc-dischg. Array limit is set to 3. This
+ property should be specified if qcom,ki-coeff-soc-dischg
+ is specified to make it fully functional. Value has no
+ unit. Allowed range is 0 to 15564 in micro units. If this
+ is not specified, the default value used will be 0.
+
+- qcom,ki-coeff-dischg-low-med-thresh-ma
+ Usage: optional
+ Value type: <u32>
+ Definition: Threshold value of discharging current that decides which ki
+ coefficient will be applied: qcom,ki-coeff-low-dischg if the
+ threshold is not breached, and qcom,ki-coeff-med-dischg
+ otherwise. Allowed range is 0 to 3984 milliamperes. If this
+ is not specified, the default value used will be 50 (50 mA).
+
+- qcom,ki-coeff-dischg-med-hi-thresh-ma
+ Usage: optional
+ Value type: <u32>
+ Definition: Threshold value of discharging current that decides which ki
+ coefficient will be applied: qcom,ki-coeff-med-dischg if the
+ threshold is not breached, and qcom,ki-coeff-hi-dischg
+ otherwise. Allowed range is 0 to 3984 milliamperes. If this
+ is not specified, the default value used will be 100
+ (100 mA).
+
+- qcom,ki-coeff-low-chg
+ Usage: optional
+ Value type: <u32>
+ Definition: ki coefficient value for low charge current during
+ charging. Value has no unit. Allowed range is 0 to 15564
+ in micro units. If this is not specified, the default value
+ used will be 184.
+
+- qcom,ki-coeff-med-chg
+ Usage: optional
+ Value type: <u32>
+ Definition: ki coefficient value for medium charge current during
+ charging. Value has no unit. Allowed range is 0 to 15564
+ in micro units. If this is not specified, the default value
+ used will be 62.
+
+- qcom,ki-coeff-hi-chg
+ Usage: optional
+ Value type: <u32>
+ Definition: ki coefficient value for high charge current during
+ charging. Value has no unit. Allowed range is 0 to 15564
+ in micro units. If this is not specified, the default value
+ used will be 0.
+
+- qcom,ki-coeff-chg-low-med-thresh-ma
+ Usage: optional
+ Value type: <u32>
+ Definition: Threshold value of charging current that decides which ki
+ coefficient will be applied: qcom,ki-coeff-low-chg if the
+ threshold is not breached, and qcom,ki-coeff-med-chg
+ otherwise. Allowed range is 0 to 3984 milliamperes. If this
+ is not specified, the default value used will be 500
+ (500 mA).
+
+- qcom,ki-coeff-chg-med-hi-thresh-ma
+ Usage: optional
+ Value type: <u32>
+ Definition: Threshold value of charging current that decides which ki
+ coefficient will be applied: qcom,ki-coeff-med-chg if the
+ threshold is not breached, and qcom,ki-coeff-hi-chg
+ otherwise. Allowed range is 0 to 3984 milliamperes. If this
+ is not specified, the default value used will be 1000
+ (1000 mA).
+
+- qcom,ki-coeff-cutoff
+ Usage: optional
+ Value type: <u32>
+ Definition: ki coefficient value for cutoff integration gain. Value has
+ no unit. Allowed range is 62 to 15564 in micro units.
+
+- qcom,ki-coeff-full-dischg
+ Usage: optional
+ Value type: <prop-encoded-array>
+ Definition: Array of Ki coefficient full SOC values that needs to be
+ applied during discharging. If not specified, a value of
+ 0 will be set.
+ Allowed range is from 62 to 15564.
+ Element 0 - Ki coefficient for full SOC in room temperature
+ Element 1 - Ki coefficient for full SOC in low temperature
+
+- qcom,fg-rconn-uohms
+ Usage: optional
+ Value type: <u32>
+ Definition: Battery connector resistance (Rconn) in microohms. If it's
+ already configured in bootloader, then it will not be
+ configured again by GEN4 FG driver.
+
+- qcom,slope-limit-temp-threshold
+ Usage: optional
+ Value type: <u32>
+ Definition: Battery temperature threshold to decide when slope limit
+ coefficients should be applied along with charging status.
+ Unit is in decidegC.
+
+- qcom,slope-limit-coeffs
+ Usage: optional
+ Value type: <prop-encoded-array>
+ Definition: A list of integers which holds the slope limit coefficients
+ in the following order. Allowed size is 4. Possible values
+ are from 123 to 31128. Unit is in micro-percentage.
+ Element 0 - Low temperature discharging
+ Element 1 - Low temperature charging
+ Element 2 - High temperature discharging
+ Element 3 - High temperature charging
+ These coefficients have to be specified along with the
+ property "qcom,slope-limit-temp-threshold" to make dynamic
+ slope limit adjustment functional.
+
+- qcom,rapid-soc-dec-en
+ Usage: optional
+ Value type: <empty>
+ Definition: A boolean property that when defined enables rapid SOC
+ decrease when the battery SOC is low but not converging to
+ zero with battery voltage dropping rapidly below Vcutoff.
+
+- qcom,five-pin-battery
+ Usage: optional
+ Value type: <empty>
+ Definition: A boolean property that when specified indicates that a
+ five pin battery is used. Based on this, time to full
+ calculations would use the Rbatt calculated properly.
+
+- qcom,multi-profile-load
+ Usage: optional
+ Value type: <empty>
+ Definition: A boolean property that when specified indicates that
+ multiple profile loading needs to be enabled. This requires
+ multiple battery profiles to be specified for a battery for
+ proper functionality.
+
+- qcom,soc-hi-res
+ Usage: optional
+ Value type: <empty>
+ Definition: A boolean property that when specified shows high
+ resolution of monotonic SOC under CAPACITY_RAW property
+ during charging in the scale of 0-10000.
+
+- qcom,soc-scale-mode-en
+ Usage: optional
+ Value type: <boolean>
+ Definition: A boolean property that when specified will enable scaling
+ of the SOC linearly, based on the filtered battery voltage
+ after crossing below a Vbatt threshold.
+
+- qcom,soc-scale-vbatt-mv
+ Usage: optional
+ Value type: <u32>
+ Definition: Threshold voltage to decide when SOC should
+ be scaled based on filtered voltage when
+ qcom,soc-scale-mode-en is specified. If this
+ is not specified, then the default value is 3400.
+ Unit is in mV.
+
+- qcom,soc-scale-time-ms
+ Usage: optional
+ Value type: <u32>
+ Definition: Timer value for doing SOC calculation based on
+ filtered voltage when qcom,soc-scale-mode-en is
+ specified. If this is not specified, then the
+ default value is 10000. Unit is in ms.
+
+- qcom,force-calib-level
+ Usage: optional
+ Value type: <u32>
+ Definition: Calibration level in decimal. When specified,
+ the calibration level is forced to this value.
+ Possible values are in the range of 1 to 130.
+
+==========================================================
+Second Level Nodes - Peripherals managed by FG Gen4 driver
+==========================================================
+- reg
+ Usage: required
+ Value type: <prop-encoded-array>
+ Definition: Addresses and sizes for the specified peripheral
+
+- interrupts
+ Usage: optional
+ Value type: <prop-encoded-array>
+ Definition: Interrupt mapping as per the interrupt encoding
+
+- interrupt-names
+ Usage: optional
+ Value type: <stringlist>
+ Definition: Interrupt names. This list must match up 1-to-1 with the
+ interrupts specified in the 'interrupts' property.
+
+========
+Example
+========
+
+pm8150b_fg: qpnp,fg {
+ compatible = "qcom,fg-gen4";
+ #address-cells = <1>;
+ #size-cells = <1>;
+ qcom,pmic-revid = <&pm8150b_revid>;
+ nvmem-names = "fg_sdam";
+ nvmem = <&pm8150_sdam_2>;
+ io-channels = <&pm8150b_vadc ADC_BAT_ID_PU2>;
+ io-channel-names = "batt_id";
+ #thermal-sensor-cells = <0>;
+ status = "okay";
+
+ qcom,fg-batt-soc@4000 {
+ status = "okay";
+ reg = <0x4000 0x100>;
+ interrupts = <0x2 0x40 0x0 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x40 0x1 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x40 0x2 IRQ_TYPE_EDGE_RISING>,
+ <0x2 0x40 0x3 IRQ_TYPE_EDGE_RISING>,
+ <0x2 0x40 0x4 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x40 0x5 IRQ_TYPE_EDGE_RISING>,
+ <0x2 0x40 0x6 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x40 0x7 IRQ_TYPE_EDGE_BOTH>;
+ interrupt-names = "soc-update",
+ "soc-ready",
+ "bsoc-delta",
+ "msoc-delta",
+ "msoc-low",
+ "msoc-empty",
+ "msoc-high",
+ "msoc-full";
+
+ };
+
+ qcom,fg-batt-info@4100 {
+ status = "okay";
+ reg = <0x4100 0x100>;
+ interrupts = <0x2 0x41 0x0 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x41 0x1 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x41 0x3 IRQ_TYPE_EDGE_BOTH>;
+ interrupt-names = "vbatt-low",
+ "vbatt-pred-delta",
+ "esr-delta";
+ };
+
+ qcom,adc-rr@4200 {
+ status = "okay";
+ reg = <0x4200 0x100>;
+ interrupts = <0x2 0x42 0x0 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x42 0x1 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x42 0x2 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x42 0x3 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x42 0x4 IRQ_TYPE_EDGE_BOTH>;
+ interrupt-names = "batt-missing",
+ "batt-id",
+ "batt-temp-delta",
+ "batt-temp-hot",
+ "batt-temp-cold";
+ };
+
+ qcom,fg-memif@4300 {
+ status = "okay";
+ reg = <0x4300 0x100>;
+ interrupts = <0x2 0x43 0x0 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x43 0x1 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x43 0x2 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x43 0x3 IRQ_TYPE_EDGE_BOTH>,
+ interrupt-names = "ima-rdy",
+ "ima-xcp",
+ "dma-xcp",
+ "dma-grant",
+ };
+
+};
+
+======================================
+Example for thermal zone configuration
+======================================
+
+thermal_zones {
+ pm8150b_fg {
+ polling-delay-passive = <200>;
+ polling-delay = <200>;
+ thermal-governor = "user_space";
+ thermal-sensors = <&pm8150b_fg>;
+
+ pm8150b_fg_trip1: pm8150b-fg-trip1 {
+ temperature = <40000>;
+ hysteresis = <0>;
+ type = "passive";
+ };
+ pm8150b_fg_trip2: pm8150b-fg-trip2 {
+ temperature = <45000>;
+ hysteresis = <0>;
+ type = "passive";
+ };
+ pm8150b_fg_trip3: pm8150b-fg-trip3 {
+ temperature = <55000>;
+ hysteresis = <0>;
+ type = "passive";
+ };
+ };
+};
diff --git a/bindings/regulator/qpnp-lcdb-regulator.txt b/bindings/regulator/qpnp-lcdb-regulator.txt
new file mode 100755
index 00000000..7fc3df91
--- /dev/null
+++ b/bindings/regulator/qpnp-lcdb-regulator.txt
@@ -0,0 +1,329 @@
+QPNP LCDB (LCD Bias) Regulator
+
+QPNP LCDB module provides voltage bias to the LCD display panel. The biases
+are positive (VDISP - supported by LDO) and negative (VDISN - supported by
+NCP) voltage signals. The module also supports TTW (touch-to-wake) capability.
+
+This document describes the bindings for QPNP LCDB module.
+
+=======================
+Required Node Structure
+=======================
+
+LCDB module must be described in two level of device nodes.
+
+==============================
+First Level Node - LCDB module
+==============================
+
+- compatible
+ Usage: required
+ Value type: <string>
+ Definition: must be one of:
+ "qcom,qpnp-lcdb-regulator"
+ "qcom,lcdb-pm660"
+ "qcom,lcdb-pmi632"
+ "qcom,lcdb-pm6150l"
+ "qcom,lcdb-pm7325b"
+
+- reg
+ Usage: required
+ Value type: <prop-encoded-array>
+ Definition: Base address of the LCDB SPMI peripheral.
+
+- qcom,voltage-step-ramp
+ Usage: optional
+ Value type: <bool>
+ Definition: Required only if the voltage needs to be set in the
+ steps of 500 mV starting from the 4500 mV. This needs
+ to be enabled only on platforms where voltage needs to
+ be ramped up with multiple steps.
+
+- qcom,ncp-symmetry
+ Usage: optional
+ Value type: <bool>
+ Definition: Enabling this will make NCP voltage follow LDO voltage
+ directly.
+
+- qcom,pwrdn-delay-ms
+ Usage: optional
+ Value type: <u32>
+ Definition: Required to control the LDO power down delay.
+ Possible values are 0, 1, 4, 8.
+
+- qcom,pwrup-delay-ms
+ Usage: optional
+ Value type: <u32>
+ Definition: Required to control the LDO power up delay.
+ Possible values are 0, 1, 4, 8.
+
+- qcom,pwrup-config
+ Usage: optional
+ Value type: <u32>
+ Definition: Controls the order of powering up BOOST, LDO AND NCP
+ blocks. Applicable for PM7325B. Possible values are: 0, 1, 2, 3, 4.
+ 0 - Boost, LDO, NCP
+ 1 - Boost, LDO
+ 2 - Boost, NCP
+ 3 - Boost only
+ 4 - Boost, NCP, LDO
+
+- qcom,high-p2-blank-time-ns
+ Usage: optional
+ Value type: <u32>
+ Definition: Controls the higher clamp threshold for p2 minimum on time.
+ Applicable for PM7325B. Possible values are 40, 69, 99, 129, 159,
+ 189, 220, 250.
+
+- qcom,low-p2-blank-time-ns
+ Usage: optional
+ Value type: <u32>
+ Definition: Controls the lower clamp threshold for p2 minimum on time.
+ Applicable for PM7325B. Possible values are 40, 69, 99, 129, 159,
+ 189, 220, 250.
+
+- qcom,mpc-current-thr-ma
+ Usage: optional
+ Value type: <u32>
+ Definition: Controls the mpc threshold for inductor current after start up
+ is done. Applicable for PM7325B. Possible values are 160, 200, 240,
+ 280, 320, 360, 400, 440.
+
+Touch-to-wake (TTW) properties:
+
+TTW supports 2 modes of operation - HW and SW. In the HW mode the enable/disable
+logic is controlled by an external signal (pin) where as in the SW mode it is
+is controlled by a pre-configured timer (ton/toff) programmed in the TTW
+register.
+
+Properties below are specific to TTW mode only. They are sepecified in the
+main node.
+
+- qcom,ttw-enable
+ Usage: optional
+ Value type: <bool>
+ Definition: Touch to wake-up support enabled.
+
+- qcom,ttw-mode-sw
+ Usage: optional
+ Value type: <bool>
+ Definition: Touch to wake supported in SW mode.
+ If not defined, ttw is enabled by HW pin.
+
+- qcom,attw-toff-ms
+ Usage: required if 'qcom,ttw-mode-sw' is true.
+ Value type: <bool>
+ Definition: Off time (in mS) for the VDISP/VDISN signals.
+ Possible values are 4, 8, 16, 32.
+
+- qcom,attw-ton-ms
+ Usage: required if 'qcom,ttw-mode-sw' is true.
+ Value type: <bool>
+ Definition: ON time (in mS) for the VDISP/VDISN signals.
+ Possible values are 4, 8, 16, 32.
+
+========================================
+Second Level Nodes - LDO/NCP/BOOST block
+========================================
+
+LDO / NCP subnode common properties:
+
+Properties below are common to the LDO and NCP bias.
+
+- label
+ Usage: required
+ Value type: <string>
+ Definition: A string used to describe the bias type.
+ Possible values are ldo, ncp, bst.
+
+- regulator-name
+ Usage: required
+ Value type: <string>
+ Definition: A string used to describe the regulator.
+
+- regulator-min-microvolt
+ Usage: required
+ Value type: <u32>
+ Definition: Minimum voltage (in uV) supported by the bias.
+
+- regulator-max-microvolt
+ Usage: required
+ Value type: <u32>
+ Definition: Maximum voltage (in uV) supported by the bias.
+
+
+LDO subnode properties:
+
+Properties below are specific to LDO bias only.
+
+- qcom,ldo-voltage-mv
+ Usage: optional
+ Value type: <u32>
+ Definition: Voltage (in mV) progammed for the LDO (VDISP).
+ Possile values are 4000mV to 6000mV. The range
+ 4000mV to 4900mV is in 100mV steps and 4900mV to
+ 6000mV is in 50mV steps.
+
+- qcom,ldo-pd
+ Usage: optional
+ Value type: <u32>
+ Definition: Pull-down configuration of LDO. Possible values are:
+ 1 - Enable pull-down
+ 0 - Disable pull-down
+
+- qcom,ldo-pd-strength
+ Usage: optional
+ Value type: <u32>
+ Definition: Pull-down strength. Possible values are:
+ 0 - Weak pull-down
+ 1 - Strong pull-down
+
+- qcom,ldo-ilim-ma
+ Usage: optional
+ Value type: <u32>
+ Definition: Current limit (in mA) of the LDO bias. For PM7325B, possible
+ values are 35, 175, 280, 420, 455, 595, 700, 840. For other PMICs,
+ possible values are 110, 160, 210, 260, 310, 360, 410, 460.
+
+- qcom,ldo-soft-start-us
+ Usage: optional
+ Value type: <u32>
+ Definition: Soft-start time (in uS) of the LDO bias.
+ Possible values are 0, 500, 1000, 2000.
+
+NCP subnode properties:
+
+Properties below are specific to NCP bias only.
+
+- qcom,ncp-voltage-mv
+ Usage: optional
+ Value type: <u32>
+ Definition: Voltage (in mV) progammed for the NCP (VDISN).
+ Possile values are 4000mV to 6000mV. The range
+ 4000mV to 4900mV is in 100mV steps and 4900mV to
+ 6000mV is in 50mV steps.
+
+- qcom,ncp-pd
+ Usage: optional
+ Value type: <u32>
+ Definition: Pull-down configuration of NCP. Possible values are:
+ 1 - Enable pull-down
+ 0 - Disable pull-down
+
+- qcom,ncp-pd-strength
+ Usage: optional
+ Value type: <u32>
+ Definition: Pull-down strength. Possible values are:
+ 0 - Weak pull-down
+ 1 - Strong pull-down
+
+- qcom,ncp-ilim-ma
+ Usage: optional
+ Value type: <u32>
+ Definition: Current limit (in mA) of the NCP bias. For PM7325B, possible
+ values are 700, 80, 900, 1000. For other PMICs, possible values
+ are 260, 460, 640, 810.
+
+- qcom,ncp-soft-start-us
+ Usage: optional
+ Value type: <u32>
+ Definition: Soft-start time (in uS) of the NCP bias.
+ Possible values are 0, 500, 1000, 2000.
+
+
+BOOST subnode properties:
+
+Properties below are specific to BOOST subnode only.
+
+- qcom,bst-pd
+ Usage: optional
+ Value type: <bool>
+ Definition: Pull-down configuration of BOOST. Possible values are:
+ 1 - Enable pull-down
+ 0 - Disable pull-down
+
+- qcom,bst-pd-strength
+ Usage: optional
+ Value type: <u32>
+ Definition: Pull-down strength. Possible values are:
+ 0 - Weak pull-down
+ 1 - Strong pull-down
+
+- qcom,bst-ps
+ Usage: optional
+ Value type: <u32>
+ Definition: Pulse-skip configuration for boost. Possible values are:
+ 1 - Enable Pulse-skip
+ 0 - Disable Pulse-skip
+
+- qcom,bst-ps-threshold-ma
+ Usage: optional
+ Value type: <u32>
+ Definition: Current threshold (in mA) at which pulse-skip is entered.
+ Possible values are 50, 60, 70, 80.
+
+- qcom,bst-ps-threshold-mv
+ Usage: optional
+ Value type: <u32>
+ Definition: Current threshold (in mv) at which pulse-skip is entered.
+ Applicable for PM7325B. Possible values are 360, 384, 408, 432,
+ 456, 480, 504, 528.
+
+- qcom,bst-ilim-ma
+ Usage: optional
+ Value type: <u32>
+ Definition: Current limit (in mA) of the BOOST rail. For PM7325B, possible
+ possible values are 1130 to 2250mA in 160mA steps. For other PMICs,
+ possible values are 200 to 1600mA in 200mA steps.
+
+- qcom,bst-headroom-mv
+ Usage: optional
+ Value type: <u16>
+ Definition: Headroom of the boost (in mV). If not specified, then the
+ default value is 200 mV (PM660L) or 150 mV (for PM8150L or
+ PMI632).
+
+=======
+Example
+=======
+
+pm660l_lcdb: qpnp-lcdb@ec00 {
+ compatible = "qcom,qpnp-lcdb-regulator";
+ #address-cells = <1>;
+ #size-cells = <1>;
+ reg = <0xec00 0x100>;
+
+ qcom,ttw-enable;
+
+ lcdb_ldo_vreg: ldo {
+ label = "ldo";
+ regulator-name = "lcdb_ldo";
+ regulator-min-microvolt = <4000000>;
+ regulator-max-microvolt = <6000000>;
+
+ qcom,ldo-voltage-mv = <5400>;
+ qcom,ldo-pd = <1>;
+ qcom,ldo-pd-strength = <1>;
+ };
+
+ lcdb_ncp_vreg: ncp {
+ label = "ncp";
+ regulator-name = "lcdb_ncp";
+ regulator-min-microvolt = <4000000>;
+ regulator-max-microvolt = <6000000>;
+
+ qcom,ncp-voltage-mv = <5400>;
+ qcom,ncp-pd = <1>;
+ qcom,ncp-pd-strength = <1>;
+ };
+
+ lcdb_bst: bst {
+ label = "bst";
+
+ qcom,bst-pd = <1>;
+ qcom,bst-pd-strength = <1>;
+ qcom,bst-ps = <1>;
+ qcom,bst-ps-threshold-ma = <50>;
+ qcom,bst-headroom-mv = <200>;
+ };
+};
diff --git a/bindings/sound/qcom,wcd_codec.txt b/bindings/sound/qcom,wcd_codec.txt
new file mode 100755
index 00000000..87202683
--- /dev/null
+++ b/bindings/sound/qcom,wcd_codec.txt
@@ -0,0 +1,65 @@
+Qualcomm Technologies, Inc. WCD audio CODEC
+
+PM5100 SPMI node
+
+pm5100_spmi: Child node of SPMI bus required for besbev codec
+ in order to access SPMI register to reset the peripheral.
+
+Required properties:
+ -compatible: "qcom,pm5100-spmi";
+
+&spmi_bus {
+ pm5100_cdc: qcom,pm5100-cdc {
+ compatible = "qcom,pm5100-spmi";
+ };
+};
+
+Besbev Codec
+
+Required properties:
+ - compatible: "qcom,besbev-codec";
+ - qcom,split-codec: Property to check on split codec support.
+ - qcom,swr_ch_map: mapping of swr tx/rx slave port configuration to port_type and also
+ corresponding master port type it need to attach.
+ format: <port_id, slave_port_type, ch_mask, ch_rate, master_port_type>
+ same port_id configurations have to be grouped, and in ascending order.
+ - qcom,pmic-spmi-node: Phandle reference to the PMIC SPMI DT node.
+ - qcom,wcd-reset-reg: Reset register address in PMIC for rouleur codec.
+ - qcom,besbev-slave: phandle reference of Soundwire Tx/Rx slave device.
+ - qcom,speaker-present: Property to check besbev is connected RX SWR or TX SWR of bolero codec.
+
+Optional properties:
+
+ - cdc-mic-bias-supply: phandle of mic bias supply's regulator device tree node.
+ - qcom,cdc-mic-bias-voltage: mic bias supply's voltage level min and max in mV.
+ - qcom,cdc-mic-bias-current: mic bias supply's max current in mA.
+
+ - qcom,cdc-mic-bias-lpm-supported: mic bias supply's LPM mode.
+
+ - qcom,cdc-static-supplies: List of supplies to be enabled prior to codec
+ hardware probe. Supplies in this list will be
+ stay enabled.
+
+Example:
+
+besbev_codec: besbev-codec {
+ compatible = "qcom,besbev-codec";
+ qcom,split-codec = <1>;
+ qcom,pmic-spmi-node = <&pm2250_cdc>;
+ qcom,wcd-reset-reg = <0x0000FCDB>;
+ qcom,foundry-id-reg = <0x0000704D>;
+ qcom,swr_ch_map = <0 SPKR_L 0x1 0 LO>,
+ <3 SPKR_L_VI 0x3 0 PCM_IN>;
+
+ qcom,besbev-slave = <&besbev_rx_slave>;
+ qcom,speaker-present = <1>;
+
+ cdc-mic-bias-supply = <&L28A>;
+ qcom,cdc-mic-bias-voltage = <2904000 2904000>;
+ qcom,cdc-mic-bias-current = <1180>
+
+ qcom,cdc-micbias1-mv = <1800>;
+ qcom,cdc-micbias2-mv = <1800>;
+
+ qcom,cdc-static-supplies = "cdc-mic-bias";
+};
diff --git a/bindings/spi/qcom,spi-msm-geni.txt b/bindings/spi/qcom,spi-msm-geni.txt
index 26145749..185f4816 100755
--- a/bindings/spi/qcom,spi-msm-geni.txt
+++ b/bindings/spi/qcom,spi-msm-geni.txt
@@ -36,7 +36,10 @@ Optional properties:
- qcom,shared_se: Specifies that this serial engine is shared simultaneously
between execution environments. A true multi-EE usecase.
- qcom,le_vm: Specifies that this serial engine is operating in a trusted VM.
-
+- qcom,xfer-timeout-offset: Adds extra timeout offset on top driver calculated timeout.
+ Depending on the use case and system latencies, the client can
+ configure this.
+ Unit - ms.
SPI slave nodes must be children of the SPI master node and can contain
the following properties.
diff --git a/bindings/thermal/qti-isense-cdsp.txt b/bindings/thermal/qti-isense-cdsp.txt
new file mode 100755
index 00000000..587c0392
--- /dev/null
+++ b/bindings/thermal/qti-isense-cdsp.txt
@@ -0,0 +1,14 @@
+===============================================================================
+QTI Limits cdsp isense driver:
+===============================================================================
+Limits cdsp isense driver reads cdsp isense calibration data from shared memory
+and enables sysfs file support to access the data read from shared memory.
+
+Required Parameters:
+- compatible: must be 'qcom,msm-limits-cdsp' for limits cdsp isense driver.
+
+Optional Parameters:
+
+ lmh_isense_cdsp {
+ compatible = "qcom,msm-limits-cdsp";
+ };
diff --git a/bindings/thermal/qti-qmi-cdev.txt b/bindings/thermal/qti-qmi-cdev.txt
index 94468708..a3e5b1d8 100755
--- a/bindings/thermal/qti-qmi-cdev.txt
+++ b/bindings/thermal/qti-qmi-cdev.txt
@@ -111,7 +111,9 @@ Subsystem properties:
"mmw1_sub1_dsc" -> DSC based MMW sub1 cooling device1,
"mmw2_sub1_dsc" -> DSC based MMW sub1 cooling device2,
"mmw3_sub1_dsc" -> DSC based MMW sub1 cooling device3,
- "mmw_ific_sub1_dsc" -> DSC based MMW IFIC sub1 cooling device.
+ "mmw_ific_sub1_dsc" -> DSC based MMW IFIC sub1 cooling device,
+ "tmd_rf_cal" -> for acknowledging modem that bcl disable
+ is done.
-#cooling-cells:
Usage: required
diff --git a/bindings/thermal/qti-qmi-sensor.txt b/bindings/thermal/qti-qmi-sensor.txt
index b065feb0..ea955931 100755
--- a/bindings/thermal/qti-qmi-sensor.txt
+++ b/bindings/thermal/qti-qmi-sensor.txt
@@ -105,6 +105,19 @@ Subsystem properties:
72. epm7
73. sdr0_pa
74. sdr1_pa
+ 75. sdr2_pa
+ 76. sdr3_pa
+ 77. sdr4_pa
+ 78. sdr5_pa
+ 79. sdr6_pa
+ 80. sdr7_pa
+ 81. sdr2
+ 82. sdr3
+ 83. sdr4
+ 84. sdr5
+ 85. sdr6
+ 86. sdr7
+ 87. rf_cal
Example:
diff --git a/bindings/virtio/mmio.yaml b/bindings/virtio/mmio.yaml
index d4659702..df082a5c 100755
--- a/bindings/virtio/mmio.yaml
+++ b/bindings/virtio/mmio.yaml
@@ -31,6 +31,10 @@ properties:
description: Required for devices making accesses thru an IOMMU.
maxItems: 1
+ wakeup-source:
+ type: boolean
+ description: Required for setting irq of a virtio_mmio device as wakeup source.
+
required:
- compatible
- reg
diff --git a/bindings/virtio/qcom,virtio-mem.yaml b/bindings/virtio/qcom,virtio-mem.yaml
index 87aec660..babcf068 100755
--- a/bindings/virtio/qcom,virtio-mem.yaml
+++ b/bindings/virtio/qcom,virtio-mem.yaml
@@ -17,7 +17,9 @@ properties:
reg:
description:
Physical address and size of hotpluggable region. Must be aligned
- to memory_block_size_bytes() - 128 Mb on arm64.
+ to memory_block_size_bytes() - This is same as section size on
+ arm64 which is 256MB when CONFIG_ARM64_MEMMAP_ON_MEMORY defined
+ else defaults to 128MB.
qcom,block_size:
description:
diff --git a/qcom/Makefile b/qcom/Makefile
index f143af50..2568dc72 100755
--- a/qcom/Makefile
+++ b/qcom/Makefile
@@ -44,8 +44,8 @@ waipio-overlays-dtb-$(CONFIG_ARCH_WAIPIO) += $(WAIPIO_BOARDS) $(NOAPQ_WAIPIO_BOA
dtb-y += $(waipio-dtb-y)
-KALAMA_BASE_DTB += kalama.dtb kalama-v2.dtb kalama-sg.dtb
-KALAMA_APQ_BASE_DTB += kalamap.dtb kalamap-v2.dtb kalamap-sg.dtb
+KALAMA_BASE_DTB += kalama.dtb kalama-v2.dtb kalama-sg.dtb kalama-qcm.dtb
+KALAMA_APQ_BASE_DTB += kalamap.dtb kalamap-v2.dtb kalamap-sg.dtb kalamap-qcs.dtb
KALAMA_BOARDS += \
kalama-mtp-overlay.dtbo \
@@ -123,9 +123,10 @@ bengal-dtb-$(CONFIG_ARCH_KHAJE) += \
bengal-overlays-dtb-$(CONFIG_ARCH_KHAJE) += $(KHAJE_BOARDS) $(KHAJE_BASE_DTB)
dtb-y += $(bengal-dtb-y)
-KONA_BASE_DTB += kona-iot.dtb kona-iot-v2.dtb kona-iot-v2.1.dtb
+KONA_BASE_DTB += kona-iot.dtb kona-iot-v2.dtb kona-iot-v2.1.dtb kona-7230-iot-v2.1.dtb qrb5165-iot.dtb qrb5165n-iot.dtb
KONA_BOARDS += \
+ kona-iot-v2.1-rb5-overlay.dtbo \
kona-iot-v2.1-vc-overlay.dtbo
kona-dtb-$(CONFIG_ARCH_KONA) += \
@@ -213,6 +214,7 @@ dtb-y += $(sdmsteppeauto-dtb-y)
LEMANS_BASE_DTB += lemans.dtb
LEMANS_IVI_BASE_DTB += lemans-ivi.dtb
LEMANS_ADAS_HIGH_BASE_DTB += lemans-adas-high.dtb
+LEMANS_IVI_ADAS_BASE_DTB += lemans-ivi-adas.dtb
LEMANS_BOARDS += lemans-rumi-overlay.dtbo
LEMANS_IVI_BOARDS += lemans-ivi-adp-air-overlay.dtbo \
@@ -222,12 +224,17 @@ LEMANS_ADAS_HIGH_BOARDS += lemans-adas-high-adp-air-overlay.dtbo \
lemans-adas-high-adp-star-overlay.dtbo \
lemans-adas-high-qam-star-overlay.dtbo
+LEMANS_IVI_ADAS_BOARDS += lemans-ivi-adas-qam-star-overlay.dtbo \
+ lemans-ivi-adas-adp-star-overlay.dtbo
+
gen4auto-dtb-$(CONFIG_ARCH_LEMANS) += \
$(call add-overlays, $(LEMANS_IVI_BOARDS),$(LEMANS_IVI_BASE_DTB))\
- $(call add-overlays, $(LEMANS_ADAS_HIGH_BOARDS),$(LEMANS_ADAS_HIGH_BASE_DTB))
+ $(call add-overlays, $(LEMANS_ADAS_HIGH_BOARDS),$(LEMANS_ADAS_HIGH_BASE_DTB))\
+ $(call add-overlays, $(LEMANS_IVI_ADAS_BOARDS),$(LEMANS_IVI_ADAS_BASE_DTB))
gen4auto-overlays-dtb-$(CONFIG_ARCH_LEMANS) += \
- $(LEMANS_IVI_BOARDS) $(LEMANS_ADAS_HIGH_BOARDS) $(LEMANS_IVI_BASE_DTB) $(LEMANS_ADAS_HIGH_BASE_DTB)
+ $(LEMANS_IVI_BOARDS) $(LEMANS_ADAS_HIGH_BOARDS) $(LEMANS_IVI_BASE_DTB) $(LEMANS_ADAS_HIGH_BASE_DTB) \
+ $(LEMANS_IVI_ADAS_BOARDS) $(LEMANS_IVI_ADAS_BASE_DTB)
dtb-y += $(gen4auto-dtb-y)
@@ -253,6 +260,16 @@ SA8155_LA_GVM_BASE_DTB += sa8155-vm-la.dtb
SA8155_LA_GVM_BOARDS += \
sa8155-vm-la-overlay.dtbo
+LEMANS_LV_GVM_BASE_DTB += lemans-vm-lv.dtb
+
+LEMANS_LV_GVM_BOARDS += \
+ lemans-vm-lv-overlay.dtbo
+
+LEMANS_LA_GVM_BASE_DTB += lemans-vm-la.dtb
+
+LEMANS_LA_GVM_BOARDS += \
+ lemans-vm-la-overlay.dtbo
+
DIREWOLF_LV_GVM_BASE_DTB += direwolf-vm-lv.dtb
DIREWOLF_LV_GVM_BOARDS += \
@@ -272,11 +289,14 @@ autogvm-dtb-$(CONFIG_QTI_QUIN_GVM) += \
$(call add-overlays, $(SA8155_LA_GVM_BOARDS),$(SA8155_LA_GVM_BASE_DTB)) \
$(call add-overlays, $(DIREWOLF_LV_GVM_BOARDS),$(DIREWOLF_LV_GVM_BASE_DTB)) \
$(call add-overlays, $(SA8195_LA_GVM_BOARDS),$(SA8195_LA_GVM_BASE_DTB)) \
- $(call add-overlays, $(DIREWOLF_LA_GVM_BOARDS),$(DIREWOLF_LA_GVM_BASE_DTB))
+ $(call add-overlays, $(DIREWOLF_LA_GVM_BOARDS),$(DIREWOLF_LA_GVM_BASE_DTB)) \
+ $(call add-overlays, $(LEMANS_LV_GVM_BOARDS),$(LEMANS_LV_GVM_BASE_DTB)) \
+ $(call add-overlays, $(LEMANS_LA_GVM_BOARDS),$(LEMANS_LA_GVM_BASE_DTB))
autogvm-overlays-dtb-$(CONFIG_QTI_QUIN_GVM) += \
$(SA8155_LA_GVM_BOARDS) $(DIREWOLF_LV_GVM_BOARDS) $(SA8155_LA_GVM_BASE_DTB) $(DIREWOLF_LV_GVM_BASE_DTB) \
- $(SA8195_LA_GVM_BOARDS) $(SA8195_LA_GVM_BASE_DTB) $(DIREWOLF_LA_GVM_BOARDS) $(DIREWOLF_LA_GVM_BASE_DTB)
+ $(SA8195_LA_GVM_BOARDS) $(SA8195_LA_GVM_BASE_DTB) $(DIREWOLF_LA_GVM_BOARDS) $(DIREWOLF_LA_GVM_BASE_DTB) \
+ $(LEMANS_LA_GVM_BOARDS) $(LEMANS_LA_GVM_BASE_DTB) $(LEMANS_LV_GVM_BOARDS) $(LEMANS_LV_GVM_BASE_DTB)
dtb-y += $(autogvm-dtb-y)
diff --git a/qcom/bengal-coresight.dtsi b/qcom/bengal-coresight.dtsi
index 2d0a921b..43abf89c 100755
--- a/qcom/bengal-coresight.dtsi
+++ b/qcom/bengal-coresight.dtsi
@@ -1454,7 +1454,7 @@
coresight-name = "coresight-tmc-etr";
-
+ qcom,iommu-dma = "bypass";
iommus = <&apps_smmu 0x0180 0>,
<&apps_smmu 0x0160 0>;
@@ -1464,8 +1464,7 @@
ranges;
qcom,mem_support;
- usb_bam_support;
- dma-coherent;
+ qcom,sw-usb;
arm,buffer-size = <0x400000>;
arm,scatter-gather;
diff --git a/qcom/cinder-debug.dtsi b/qcom/cinder-debug.dtsi
index 2f30ec4b..130474ef 100755
--- a/qcom/cinder-debug.dtsi
+++ b/qcom/cinder-debug.dtsi
@@ -1,3 +1,5 @@
+#include <dt-bindings/soc/qcom,dcc_v2.h>
+
&reserved_memory {
#address-cells = <2>;
#size-cells = <2>;
@@ -5,7 +7,7 @@
dump_mem: mem_dump_region {
compatible = "shared-dma-pool";
- alloc-ranges = <0x1 0x00000000 0xfffffffe 0xffffffff>;
+ alloc-ranges = <0x0 0x00000000 0x0 0xffffffff>;
reusable;
alignment = <0x0 0x400000>;
size = <0 0x800000>;
@@ -21,6 +23,748 @@
qcom,transaction_timeout = <0>;
reg-names = "dcc-base", "dcc-ram-base";
dcc-ram-offset = <0>;
+ link_list_0 {
+ qcom,curr-link-list = <3>;
+ qcom,data-sink = "sram";
+ qcom,link-list = <DCC_READ 0x17800058 1 0>,
+ <DCC_READ 0x17810058 1 0>,
+ <DCC_READ 0x17820058 1 0>,
+ <DCC_READ 0x17830058 1 0>,
+ <DCC_READ 0x1780005c 1 0>,
+ <DCC_READ 0x1781005c 1 0>,
+ <DCC_READ 0x1782005c 1 0>,
+ <DCC_READ 0x1783005c 1 0>,
+ <DCC_READ 0x1740003c 1 0>,
+ <DCC_READ 0x17800060 1 0>,
+ <DCC_READ 0x17810060 1 0>,
+ <DCC_READ 0x17820060 1 0>,
+ <DCC_READ 0x17830060 1 0>,
+ <DCC_READ 0x17800064 1 0>,
+ <DCC_READ 0x17810064 1 0>,
+ <DCC_READ 0x17820064 1 0>,
+ <DCC_READ 0x17830064 1 0>,
+ <DCC_READ 0x17600238 1 0>,
+ <DCC_READ 0x17600404 1 0>,
+ <DCC_READ 0x1760041c 2 0>,
+ <DCC_READ 0x17600434 1 0>,
+ <DCC_READ 0x1760043c 2 0>,
+ <DCC_WRITE 0x17a80000 0x8007 0>,
+ <DCC_READ 0x17a80000 1 0>,
+ <DCC_WRITE 0x17a80024 0x0 0>,
+ <DCC_READ 0x17a80024 1 0>,
+ <DCC_WRITE 0x17a80020 0x0 0>,
+ <DCC_READ 0x17a80020 1 0>,
+ <DCC_READ 0x17a80038 1 0>,
+ <DCC_WRITE 0x17a80020 0x40 0>,
+ <DCC_READ 0x17a80020 1 0>,
+ <DCC_READ 0x17a80038 1 0>,
+ <DCC_WRITE 0x17a80020 0x80 0>,
+ <DCC_READ 0x17a80020 1 0>,
+ <DCC_READ 0x17a80038 1 0>,
+ <DCC_WRITE 0x17a80020 0xc0 0>,
+ <DCC_READ 0x17a80020 1 0>,
+ <DCC_READ 0x17a80038 1 0>,
+ <DCC_WRITE 0x17a80020 0x100 0>,
+ <DCC_READ 0x17a80020 1 0>,
+ <DCC_READ 0x17a80038 1 0>,
+ <DCC_WRITE 0x17a80020 0x140 0>,
+ <DCC_READ 0x17a80020 1 0>,
+ <DCC_READ 0x17a80038 1 0>,
+ <DCC_WRITE 0x17a80020 0x180 0>,
+ <DCC_READ 0x17a80020 1 0>,
+ <DCC_READ 0x17a80038 1 0>,
+ <DCC_WRITE 0x17a80020 0x1c0 0>,
+ <DCC_READ 0x17a80020 1 0>,
+ <DCC_READ 0x17a80038 1 0>,
+ <DCC_WRITE 0x17a80020 0x200 0>,
+ <DCC_READ 0x17a80020 1 0>,
+ <DCC_READ 0x17a80038 1 0>,
+ <DCC_WRITE 0x17a80020 0x240 0>,
+ <DCC_READ 0x17a80020 1 0>,
+ <DCC_READ 0x17a80038 1 0>,
+ <DCC_WRITE 0x17a80020 0x280 0>,
+ <DCC_READ 0x17a80020 1 0>,
+ <DCC_READ 0x17a80038 1 0>,
+ <DCC_WRITE 0x17a80020 0x2c0 0>,
+ <DCC_READ 0x17a80020 1 0>,
+ <DCC_READ 0x17a80038 1 0>,
+ <DCC_WRITE 0x17a80020 0x300 0>,
+ <DCC_READ 0x17a80020 1 0>,
+ <DCC_READ 0x17a80038 1 0>,
+ <DCC_WRITE 0x17a80020 0x340 0>,
+ <DCC_READ 0x17a80020 1 0>,
+ <DCC_READ 0x17a80038 1 0>,
+ <DCC_WRITE 0x17a80020 0x380 0>,
+ <DCC_READ 0x17a80020 1 0>,
+ <DCC_READ 0x17a80038 1 0>,
+ <DCC_WRITE 0x17a80020 0x3c0 0>,
+ <DCC_READ 0x17a80020 1 0>,
+ <DCC_READ 0x17a80038 1 0>,
+ <DCC_WRITE 0x17a80020 0x4000 0>,
+ <DCC_READ 0x17a80020 1 0>,
+ <DCC_WRITE 0x17a80020 0x0 0>,
+ <DCC_READ 0x17a80020 1 0>,
+ <DCC_WRITE 0x17a80020 0x0 0>,
+ <DCC_READ 0x17a80020 1 0>,
+ <DCC_WRITE 0x17a80020 0x0 0>,
+ <DCC_READ 0x17a80020 1 0>,
+ <DCC_READ 0x17a80038 1 0>,
+ <DCC_WRITE 0x17a80020 0x40 0>,
+ <DCC_READ 0x17a80020 1 0>,
+ <DCC_READ 0x17a80038 1 0>,
+ <DCC_WRITE 0x17a84000 0x8007 0>,
+ <DCC_READ 0x17a84000 1 0>,
+ <DCC_WRITE 0x17a84024 0x0 0>,
+ <DCC_READ 0x17a84024 1 0>,
+ <DCC_WRITE 0x17a84020 0x0 0>,
+ <DCC_READ 0x17a84020 1 0>,
+ <DCC_READ 0x17a8400c 1 0>,
+ <DCC_WRITE 0x17a84020 0x40 0>,
+ <DCC_READ 0x17a84020 1 0>,
+ <DCC_READ 0x17a8400c 1 0>,
+ <DCC_WRITE 0x17a84020 0x80 0>,
+ <DCC_READ 0x17a84020 1 0>,
+ <DCC_READ 0x17a8400c 1 0>,
+ <DCC_WRITE 0x17a84020 0xc0 0>,
+ <DCC_READ 0x17a84020 1 0>,
+ <DCC_READ 0x17a8400c 1 0>,
+ <DCC_WRITE 0x17a84020 0x100 0>,
+ <DCC_READ 0x17a84020 1 0>,
+ <DCC_READ 0x17a8400c 1 0>,
+ <DCC_WRITE 0x17a84020 0x140 0>,
+ <DCC_READ 0x17a84020 1 0>,
+ <DCC_READ 0x17a8400c 1 0>,
+ <DCC_WRITE 0x17a84020 0x180 0>,
+ <DCC_READ 0x17a84020 1 0>,
+ <DCC_READ 0x17a8400c 1 0>,
+ <DCC_WRITE 0x17a84020 0x1c0 0>,
+ <DCC_READ 0x17a84020 1 0>,
+ <DCC_READ 0x17a8400c 1 0>,
+ <DCC_WRITE 0x17a84020 0x200 0>,
+ <DCC_READ 0x17a84020 1 0>,
+ <DCC_READ 0x17a8400c 1 0>,
+ <DCC_WRITE 0x17a84020 0x240 0>,
+ <DCC_READ 0x17a84020 1 0>,
+ <DCC_READ 0x17a8400c 1 0>,
+ <DCC_WRITE 0x17a84020 0x280 0>,
+ <DCC_READ 0x17a84020 1 0>,
+ <DCC_READ 0x17a8400c 1 0>,
+ <DCC_WRITE 0x17a84020 0x2c0 0>,
+ <DCC_READ 0x17a84020 1 0>,
+ <DCC_READ 0x17a8400c 1 0>,
+ <DCC_WRITE 0x17a84020 0x300 0>,
+ <DCC_READ 0x17a84020 1 0>,
+ <DCC_READ 0x17a8400c 1 0>,
+ <DCC_WRITE 0x17a84020 0x340 0>,
+ <DCC_READ 0x17a84020 1 0>,
+ <DCC_READ 0x17a8400c 1 0>,
+ <DCC_WRITE 0x17a84020 0x380 0>,
+ <DCC_READ 0x17a84020 1 0>,
+ <DCC_READ 0x17a8400c 1 0>,
+ <DCC_WRITE 0x17a84020 0x3c0 0>,
+ <DCC_READ 0x17a84020 1 0>,
+ <DCC_READ 0x17a8400c 1 0>,
+ <DCC_WRITE 0x17a84024 0x4000 0>,
+ <DCC_READ 0x17a84024 1 0>,
+ <DCC_WRITE 0x17a84020 0x0 0>,
+ <DCC_READ 0x17a84020 1 0>,
+ <DCC_WRITE 0x17a84020 0x0 0>,
+ <DCC_READ 0x17a84020 1 0>,
+ <DCC_WRITE 0x17a84020 0x0 0>,
+ <DCC_READ 0x17a84020 1 0>,
+ <DCC_READ 0x17a8400c 1 0>,
+ <DCC_WRITE 0x17a84020 0x40 0>,
+ <DCC_READ 0x17a84020 1 0>,
+ <DCC_READ 0x17a8400c 1 0>,
+ <DCC_READ 0xc201244 1 0>,
+ <DCC_READ 0xc202244 1 0>,
+ <DCC_READ 0x17b00000 70 0>,
+ <DCC_READ 0x17B00000 1 0>,
+ <DCC_READ 0x17800010 1 0>,
+ <DCC_READ 0x17800024 1 0>,
+ <DCC_READ 0x17800038 6 0>,
+ <DCC_READ 0x1780006c 1 0>,
+ <DCC_READ 0x178000f0 2 0>,
+ <DCC_READ 0x17810010 1 0>,
+ <DCC_READ 0x17810024 1 0>,
+ <DCC_READ 0x17810038 6 0>,
+ <DCC_READ 0x1781006c 1 0>,
+ <DCC_READ 0x178100f0 2 0>,
+ <DCC_READ 0x17820010 1 0>,
+ <DCC_READ 0x17820024 1 0>,
+ <DCC_READ 0x17820038 6 0>,
+ <DCC_READ 0x1782006c 1 0>,
+ <DCC_READ 0x178200f0 2 0>,
+ <DCC_READ 0x17830010 1 0>,
+ <DCC_READ 0x17830024 1 0>,
+ <DCC_READ 0x17830038 6 0>,
+ <DCC_READ 0x1783006c 1 0>,
+ <DCC_READ 0x178300f0 2 0>,
+ <DCC_READ 0x17880010 1 0>,
+ <DCC_READ 0x17880024 1 0>,
+ <DCC_READ 0x17880038 1 0>,
+ <DCC_READ 0x17880040 1 0>,
+ <DCC_READ 0x17880044 3 0>,
+ <DCC_READ 0x1788006c 5 0>,
+ <DCC_READ 0x17880084 1 0>,
+ <DCC_READ 0x178800f4 5 0>,
+ <DCC_READ 0x17880134 2 0>,
+ <DCC_READ 0x178801b4 1 0>,
+ <DCC_READ 0x178801bc 2 0>,
+ <DCC_READ 0x178801c8 1 0>,
+ <DCC_READ 0xb241024 1 0>,
+ <DCC_READ 0xbde1034 1 0>,
+ <DCC_READ 0xb201020 2 0>,
+ <DCC_READ 0xb211020 2 0>,
+ <DCC_READ 0xb221020 2 0>,
+ <DCC_READ 0xb204520 1 0>,
+ <DCC_READ 0xb200010 4 0>,
+ <DCC_READ 0xb200900 4 0>,
+ <DCC_READ 0xb201030 1 0>,
+ <DCC_READ 0xb201204 2 0>,
+ <DCC_READ 0xb201218 2 0>,
+ <DCC_READ 0xb20122c 2 0>,
+ <DCC_READ 0xb201240 2 0>,
+ <DCC_READ 0xb201254 2 0>,
+ <DCC_READ 0xb204510 2 0>,
+ <DCC_READ 0xb220010 4 0>,
+ <DCC_READ 0xb220900 4 0>,
+ <DCC_READ 0x17a00010 1 0>,
+ <DCC_READ 0x17a10010 1 0>,
+ <DCC_READ 0x17a20010 1 0>,
+ <DCC_READ 0x17a00030 1 0>,
+ <DCC_READ 0x17a10030 1 0>,
+ <DCC_READ 0x17a20030 1 0>,
+ <DCC_READ 0x17a00038 1 0>,
+ <DCC_READ 0x17a10038 1 0>,
+ <DCC_READ 0x17a20038 1 0>,
+ <DCC_READ 0x17a00040 1 0>,
+ <DCC_READ 0x17a10040 1 0>,
+ <DCC_READ 0x17a20040 1 0>,
+ <DCC_READ 0x17a00048 1 0>,
+ <DCC_READ 0x17a00400 3 0>,
+ <DCC_READ 0x17a10400 3 0>,
+ <DCC_READ 0x17a20400 3 0>,
+ <DCC_READ 0x17d80100 144 0>,
+ <DCC_READ 0x17d9001c 1 0>,
+ <DCC_READ 0x17d900dc 1 0>,
+ <DCC_READ 0x17d900e8 1 0>,
+ <DCC_READ 0x17d90320 1 0>,
+ <DCC_READ 0x17d90020 1 0>,
+ <DCC_READ 0x17d9034c 1 0>,
+ <DCC_READ 0x17d90300 1 0>,
+ <DCC_READ 0x17d9101c 1 0>,
+ <DCC_READ 0x17d910dc 1 0>,
+ <DCC_READ 0x17d910e8 1 0>,
+ <DCC_READ 0x17d91320 1 0>,
+ <DCC_READ 0x17d91020 1 0>,
+ <DCC_READ 0x17d9134c 1 0>,
+ <DCC_READ 0x17d91300 1 0>,
+ <DCC_READ 0x12822000 2 0>,
+ <DCC_READ 0x12824c00 1 0>,
+ <DCC_READ 0x12824d04 2 0>,
+ <DCC_READ 0x17d98014 4 0>,
+ <DCC_READ 0x17d900e0 1 0>,
+ <DCC_READ 0x17d90410 1 0>,
+ <DCC_READ 0x17d90074 1 0>,
+ <DCC_READ 0x17d90064 1 0>,
+ <DCC_READ 0x17d91074 1 0>,
+ <DCC_READ 0x17d910e0 1 0>,
+ <DCC_READ 0x17d91410 1 0>,
+ <DCC_READ 0x17400038 1 0>,
+ <DCC_READ 0x17d98010 1 0>,
+ <DCC_READ 0x1fc8000 1 0>,
+ <DCC_READ 0x17200104 29 0>,
+ <DCC_READ 0x17200204 29 0>,
+ <DCC_READ 0x17200384 29 0>,
+ <DCC_READ 0x80000 2 0>,
+ <DCC_READ 0x81000 2 0>,
+ <DCC_READ 0x82000 2 0>,
+ <DCC_READ 0x83000 2 0>,
+ <DCC_READ 0x84000 2 0>,
+ <DCC_READ 0x85000 2 0>,
+ <DCC_READ 0x86000 2 0>,
+ <DCC_READ 0x87000 2 0>,
+ <DCC_READ 0x88000 2 0>,
+ <DCC_READ 0xc2a0000 2 0>,
+ <DCC_READ 0xc2a1000 2 0>,
+ <DCC_READ 0xc2a900c 1 0>,
+ <DCC_READ 0xa7168 1 0>,
+ <DCC_READ 0xa729c 1 0>,
+ <DCC_READ 0xa73d0 1 0>,
+ <DCC_READ 0xa7504 1 0>,
+ <DCC_READ 0xa7638 1 0>,
+ <DCC_READ 0xa776c 1 0>,
+ <DCC_READ 0xa8168 1 0>,
+ <DCC_READ 0xa829c 1 0>,
+ <DCC_READ 0xa83d0 1 0>,
+ <DCC_READ 0xa8504 1 0>,
+ <DCC_READ 0xa8638 1 0>,
+ <DCC_READ 0xa876c 1 0>,
+ <DCC_READ 0xd1028 1 0>,
+ <DCC_READ 0x10406c 1 0>,
+ <DCC_READ 0xa7034 1 0>,
+ <DCC_READ 0xd4174 1 0>,
+ <DCC_READ 0x113024 1 0>,
+ <DCC_READ 0x10603c 1 0>,
+ <DCC_READ 0x11d004 2 0>,
+ <DCC_READ 0xfc004 2 0>,
+ <DCC_READ 0xc9008 1 0>,
+ <DCC_READ 0xc9004 1 0>,
+ <DCC_READ 0xe2000 1 0>,
+ <DCC_READ 0xe2008 1 0>,
+ <DCC_READ 0xe2010 1 0>,
+ <DCC_READ 0xe300c 1 0>,
+ <DCC_READ 0xe3014 1 0>,
+ <DCC_READ 0xe301c 1 0>,
+ <DCC_READ 0xe6000 1 0>,
+ <DCC_READ 0xe6008 1 0>,
+ <DCC_READ 0xe6010 1 0>,
+ <DCC_READ 0xe1000 1 0>,
+ <DCC_READ 0xe1008 1 0>,
+ <DCC_READ 0xe1010 1 0>,
+ <DCC_READ 0xea000 1 0>,
+ <DCC_READ 0xea008 1 0>,
+ <DCC_READ 0xea010 1 0>,
+ <DCC_READ 0xe7000 1 0>,
+ <DCC_READ 0xe7008 1 0>,
+ <DCC_READ 0xe7010 1 0>,
+ <DCC_READ 0xf900c 1 0>,
+ <DCC_READ 0xf9014 1 0>,
+ <DCC_READ 0xf901c 1 0>,
+ <DCC_READ 0xa0004 1 0>,
+ <DCC_READ 0x120004 1 0>,
+ <DCC_READ 0x113004 2 0>,
+ <DCC_READ 0xd4004 1 0>,
+ <DCC_READ 0x104008 2 0>,
+ <DCC_READ 0x11d02c 1 0>,
+ <DCC_READ 0x11d024 1 0>,
+ <DCC_READ 0x11d048 1 0>,
+ <DCC_READ 0x11d040 1 0>,
+ <DCC_READ 0x11d01c 1 0>,
+ <DCC_READ 0x11d018 1 0>,
+ <DCC_READ 0xa1004 4 0>,
+ <DCC_READ 0x150e8008 1 0>,
+ <DCC_READ 0x150025dc 1 0>,
+ <DCC_READ 0x150055dc 1 0>,
+ <DCC_READ 0x150075dc 1 0>,
+ <DCC_READ 0x150075dc 1 0>,
+ <DCC_READ 0x15002204 1 0>,
+ <DCC_READ 0x15002670 1 0>,
+ <DCC_READ 0x15002648 1 0>,
+ <DCC_READ 0x150022fc 3 0>,
+ <DCC_READ 0x150022fc 1 0>,
+ <DCC_READ 0x15002304 1 0>,
+ <DCC_READ 0x19100010 1 0>,
+ <DCC_READ 0x19100018 1 0>,
+ <DCC_READ 0x19100020 1 0>,
+ <DCC_READ 0x19100024 1 0>,
+ <DCC_READ 0x19100028 1 0>,
+ <DCC_READ 0x1910002C 1 0>,
+ <DCC_READ 0x19100030 1 0>,
+ <DCC_READ 0x19100034 1 0>,
+ <DCC_READ 0x19100410 1 0>,
+ <DCC_READ 0x19100418 1 0>,
+ <DCC_READ 0x19100420 1 0>,
+ <DCC_READ 0x19100424 1 0>,
+ <DCC_READ 0x19100428 1 0>,
+ <DCC_READ 0x1910042C 1 0>,
+ <DCC_READ 0x19100430 1 0>,
+ <DCC_READ 0x19100434 1 0>,
+ <DCC_READ 0x19100810 1 0>,
+ <DCC_READ 0x19100818 1 0>,
+ <DCC_READ 0x19100820 1 0>,
+ <DCC_READ 0x19100824 1 0>,
+ <DCC_READ 0x19100828 1 0>,
+ <DCC_READ 0x1910082C 1 0>,
+ <DCC_READ 0x19100830 1 0>,
+ <DCC_READ 0x19100834 1 0>,
+ <DCC_READ 0x19100C10 1 0>,
+ <DCC_READ 0x19100C18 1 0>,
+ <DCC_READ 0x19100C20 1 0>,
+ <DCC_READ 0x19100C24 1 0>,
+ <DCC_READ 0x19100C28 1 0>,
+ <DCC_READ 0x19100C2C 1 0>,
+ <DCC_READ 0x19100C30 1 0>,
+ <DCC_READ 0x19100C34 1 0>,
+ <DCC_READ 0x19140010 1 0>,
+ <DCC_READ 0x19140018 1 0>,
+ <DCC_READ 0x19140020 1 0>,
+ <DCC_READ 0x19140024 1 0>,
+ <DCC_READ 0x19140028 1 0>,
+ <DCC_READ 0x1914002C 1 0>,
+ <DCC_READ 0x19140030 1 0>,
+ <DCC_READ 0x19140034 1 0>,
+ <DCC_READ 0x19140410 1 0>,
+ <DCC_READ 0x19140418 1 0>,
+ <DCC_READ 0x19140420 1 0>,
+ <DCC_READ 0x19140424 1 0>,
+ <DCC_READ 0x19140428 1 0>,
+ <DCC_READ 0x1914042C 1 0>,
+ <DCC_READ 0x19140430 1 0>,
+ <DCC_READ 0x19140434 1 0>,
+ <DCC_READ 0x19140810 1 0>,
+ <DCC_READ 0x19140818 1 0>,
+ <DCC_READ 0x19140820 1 0>,
+ <DCC_READ 0x19140824 1 0>,
+ <DCC_READ 0x19140828 1 0>,
+ <DCC_READ 0x1914082C 1 0>,
+ <DCC_READ 0x19140830 1 0>,
+ <DCC_READ 0x19140834 1 0>,
+ <DCC_READ 0x19140C10 1 0>,
+ <DCC_READ 0x19140C18 1 0>,
+ <DCC_READ 0x19140C20 1 0>,
+ <DCC_READ 0x19140C24 1 0>,
+ <DCC_READ 0x19140C28 1 0>,
+ <DCC_READ 0x19140C2C 1 0>,
+ <DCC_READ 0x19140C30 1 0>,
+ <DCC_READ 0x19140C34 1 0>,
+ <DCC_READ 0x19180010 1 0>,
+ <DCC_READ 0x19180018 1 0>,
+ <DCC_READ 0x19180020 1 0>,
+ <DCC_READ 0x19180024 1 0>,
+ <DCC_READ 0x19180028 1 0>,
+ <DCC_READ 0x1918002C 1 0>,
+ <DCC_READ 0x19180030 1 0>,
+ <DCC_READ 0x19180034 1 0>,
+ <DCC_READ 0x19180410 1 0>,
+ <DCC_READ 0x19180418 1 0>,
+ <DCC_READ 0x19180420 1 0>,
+ <DCC_READ 0x19180424 1 0>,
+ <DCC_READ 0x19180428 1 0>,
+ <DCC_READ 0x1918042C 1 0>,
+ <DCC_READ 0x19180430 1 0>,
+ <DCC_READ 0x19180434 1 0>,
+ <DCC_READ 0x19180810 1 0>,
+ <DCC_READ 0x19180818 1 0>,
+ <DCC_READ 0x19180820 1 0>,
+ <DCC_READ 0x19180824 1 0>,
+ <DCC_READ 0x19180828 1 0>,
+ <DCC_READ 0x1918082C 1 0>,
+ <DCC_READ 0x19180830 1 0>,
+ <DCC_READ 0x19180834 1 0>,
+ <DCC_READ 0x19104008 1 0>,
+ <DCC_READ 0x1910400C 1 0>,
+ <DCC_READ 0x19104408 1 0>,
+ <DCC_READ 0x1910440C 1 0>,
+ <DCC_READ 0x19104808 1 0>,
+ <DCC_READ 0x1910480C 1 0>,
+ <DCC_READ 0x19104C08 1 0>,
+ <DCC_READ 0x19104C0C 1 0>,
+ <DCC_READ 0x19144008 1 0>,
+ <DCC_READ 0x1914400C 1 0>,
+ <DCC_READ 0x19144408 1 0>,
+ <DCC_READ 0x1914440C 1 0>,
+ <DCC_READ 0x19144808 1 0>,
+ <DCC_READ 0x1914480C 1 0>,
+ <DCC_READ 0x19144C08 1 0>,
+ <DCC_READ 0x19144C0C 1 0>,
+ <DCC_READ 0x19184008 1 0>,
+ <DCC_READ 0x1918400C 1 0>,
+ <DCC_READ 0x19184408 1 0>,
+ <DCC_READ 0x1918440C 1 0>,
+ <DCC_READ 0x19184808 1 0>,
+ <DCC_READ 0x1918480C 1 0>,
+ <DCC_READ 0x19180C48 1 0>,
+ <DCC_READ 0x19180C4C 1 0>,
+ <DCC_READ 0x191AF010 1 0>,
+ <DCC_READ 0x191B0010 1 0>,
+ <DCC_READ 0x191B1010 1 0>,
+ <DCC_READ 0x191B2010 1 0>,
+ <DCC_READ 0x191B3010 1 0>,
+ <DCC_READ 0x191B4010 1 0>,
+ <DCC_READ 0x191B5010 1 0>,
+ <DCC_READ 0x191B6010 1 0>,
+ <DCC_READ 0x191B7010 1 0>,
+ <DCC_READ 0x191B8010 1 0>,
+ <DCC_READ 0x19102000 1 0>,
+ <DCC_READ 0x19102004 1 0>,
+ <DCC_LOOP 0x5 0 0>,
+ <DCC_READ 0x19102008 1 0>,
+ <DCC_READ 0x19102010 1 0>,
+ <DCC_LOOP 0x1 0 0>,
+ <DCC_READ 0x19102014 1 0>,
+ <DCC_READ 0x19102018 1 0>,
+ <DCC_READ 0x19102080 1 0>,
+ <DCC_READ 0x19102084 1 0>,
+ <DCC_READ 0x19102088 1 0>,
+ <DCC_LOOP 0x5 0 0>,
+ <DCC_READ 0x19102090 1 0>,
+ <DCC_READ 0x19102094 1 0>,
+ <DCC_LOOP 0x1 0 0>,
+ <DCC_READ 0x19102098 1 0>,
+ <DCC_READ 0x19142000 1 0>,
+ <DCC_READ 0x19142004 1 0>,
+ <DCC_READ 0x19142008 1 0>,
+ <DCC_LOOP 0x5 0 0>,
+ <DCC_READ 0x19142010 1 0>,
+ <DCC_READ 0x19142014 1 0>,
+ <DCC_LOOP 0x1 0 0>,
+ <DCC_READ 0x19142018 1 0>,
+ <DCC_READ 0x19142080 1 0>,
+ <DCC_READ 0x19142084 1 0>,
+ <DCC_READ 0x19142088 1 0>,
+ <DCC_LOOP 0x5 0 0>,
+ <DCC_READ 0x19142090 1 0>,
+ <DCC_READ 0x19142094 1 0>,
+ <DCC_LOOP 0x1 0 0>,
+ <DCC_READ 0x19142098 1 0>,
+ <DCC_READ 0x19182000 1 0>,
+ <DCC_READ 0x19182004 1 0>,
+ <DCC_READ 0x19182008 1 0>,
+ <DCC_LOOP 0x4 0 0>,
+ <DCC_READ 0x19182010 1 0>,
+ <DCC_READ 0x19182014 1 0>,
+ <DCC_LOOP 0x1 0 0>,
+ <DCC_READ 0x19182018 1 0>,
+ <DCC_READ 0x19182080 1 0>,
+ <DCC_READ 0x19182084 1 0>,
+ <DCC_READ 0x19182088 1 0>,
+ <DCC_LOOP 0xb 0 0>,
+ <DCC_READ 0x19182090 1 0>,
+ <DCC_READ 0x19182094 1 0>,
+ <DCC_LOOP 0x1 0 0>,
+ <DCC_READ 0x19182098 1 0>,
+ <DCC_READ 0x19104010 1 0>,
+ <DCC_LOOP 0x40 0 0>,
+ <DCC_READ 0x19104038 1 0>,
+ <DCC_READ 0x19104030 2 0>,
+ <DCC_READ 0x19104030 2 0>,
+ <DCC_READ 0x19104030 2 0>,
+ <DCC_READ 0x19104030 2 0>,
+ <DCC_LOOP 0x1 0 0>,
+ <DCC_READ 0x19104410 1 0>,
+ <DCC_LOOP 0x40 0 0>,
+ <DCC_READ 0x19104438 1 0>,
+ <DCC_READ 0x19104430 2 0>,
+ <DCC_READ 0x19104430 2 0>,
+ <DCC_READ 0x19104430 2 0>,
+ <DCC_READ 0x19104430 2 0>,
+ <DCC_LOOP 0x1 0 0>,
+ <DCC_READ 0x19104810 1 0>,
+ <DCC_LOOP 0x40 0 0>,
+ <DCC_READ 0x19104838 1 0>,
+ <DCC_READ 0x19104830 2 0>,
+ <DCC_READ 0x19104830 2 0>,
+ <DCC_READ 0x19104830 2 0>,
+ <DCC_READ 0x19104830 2 0>,
+ <DCC_LOOP 0x1 0 0>,
+ <DCC_READ 0x19104C10 1 0>,
+ <DCC_LOOP 0x40 0 0>,
+ <DCC_READ 0x19104C38 1 0>,
+ <DCC_READ 0x19104C30 2 0>,
+ <DCC_READ 0x19104C30 2 0>,
+ <DCC_READ 0x19104C30 2 0>,
+ <DCC_READ 0x19104C30 2 0>,
+ <DCC_LOOP 0x1 0 0>,
+ <DCC_READ 0x19144010 1 0>,
+ <DCC_LOOP 0x40 0 0>,
+ <DCC_READ 0x19144038 1 0>,
+ <DCC_READ 0x19144030 2 0>,
+ <DCC_READ 0x19144030 2 0>,
+ <DCC_READ 0x19144030 2 0>,
+ <DCC_READ 0x19144030 2 0>,
+ <DCC_LOOP 0x1 0 0>,
+ <DCC_READ 0x19144410 1 0>,
+ <DCC_LOOP 0x40 0 0>,
+ <DCC_READ 0x19144438 1 0>,
+ <DCC_READ 0x19144430 2 0>,
+ <DCC_READ 0x19144430 2 0>,
+ <DCC_READ 0x19144430 2 0>,
+ <DCC_READ 0x19144430 2 0>,
+ <DCC_LOOP 0x1 0 0>,
+ <DCC_READ 0x19144810 1 0>,
+ <DCC_LOOP 0x40 0 0>,
+ <DCC_READ 0x19144838 1 0>,
+ <DCC_READ 0x19144830 2 0>,
+ <DCC_READ 0x19144830 2 0>,
+ <DCC_READ 0x19144830 2 0>,
+ <DCC_READ 0x19144830 2 0>,
+ <DCC_LOOP 0x1 0 0>,
+ <DCC_READ 0x19144C10 1 0>,
+ <DCC_LOOP 0x40 0 0>,
+ <DCC_READ 0x19144C38 1 0>,
+ <DCC_READ 0x19144C30 2 0>,
+ <DCC_READ 0x19144C30 2 0>,
+ <DCC_READ 0x19144C30 2 0>,
+ <DCC_READ 0x19144C30 2 0>,
+ <DCC_LOOP 0x1 0 0>,
+ <DCC_READ 0x19184010 1 0>,
+ <DCC_LOOP 0x40 0 0>,
+ <DCC_READ 0x19184038 1 0>,
+ <DCC_READ 0x19184030 2 0>,
+ <DCC_READ 0x19184030 2 0>,
+ <DCC_READ 0x19184030 2 0>,
+ <DCC_READ 0x19184030 2 0>,
+ <DCC_LOOP 0x1 0 0>,
+ <DCC_READ 0x19184410 1 0>,
+ <DCC_LOOP 0x40 0 0>,
+ <DCC_READ 0x19184438 1 0>,
+ <DCC_READ 0x19184430 2 0>,
+ <DCC_READ 0x19184430 2 0>,
+ <DCC_READ 0x19184430 2 0>,
+ <DCC_READ 0x19184430 2 0>,
+ <DCC_LOOP 0x1 0 0>,
+ <DCC_READ 0x19184810 1 0>,
+ <DCC_LOOP 0x40 0 0>,
+ <DCC_READ 0x19184838 1 0>,
+ <DCC_READ 0x19184830 2 0>,
+ <DCC_READ 0x19184830 2 0>,
+ <DCC_READ 0x19184830 2 0>,
+ <DCC_READ 0x19184830 2 0>,
+ <DCC_LOOP 0x1 0 0>,
+ <DCC_READ 0x1640008 1 0>,
+ <DCC_READ 0x1640010 1 0>,
+ <DCC_READ 0x1640018 1 0>,
+ <DCC_READ 0x1640020 1 0>,
+ <DCC_READ 0x1640024 1 0>,
+ <DCC_READ 0x1640028 1 0>,
+ <DCC_READ 0x164002C 1 0>,
+ <DCC_READ 0x1640030 1 0>,
+ <DCC_READ 0x1640034 1 0>,
+ <DCC_READ 0x1640038 1 0>,
+ <DCC_READ 0x164003C 1 0>,
+ <DCC_READ 0x1640240 1 0>,
+ <DCC_READ 0x1640248 1 0>,
+ <DCC_READ 0x1643040 1 0>,
+ <DCC_READ 0x1643044 1 0>,
+ <DCC_READ 0x1643048 1 0>,
+ <DCC_READ 0x164304C 1 0>,
+ <DCC_READ 0x1643050 1 0>,
+ <DCC_READ 0x1643054 1 0>,
+ <DCC_READ 0x1643058 1 0>,
+ <DCC_READ 0x164305C 1 0>,
+ <DCC_READ 0x1670010 1 0>,
+ <DCC_READ 0x1674010 1 0>,
+ <DCC_READ 0x1677010 1 0>,
+ <DCC_READ 0x167A010 1 0>,
+ <DCC_READ 0x167B010 1 0>,
+ <DCC_READ 0x167C010 1 0>,
+ <DCC_READ 0x167D010 1 0>,
+ <DCC_READ 0x1680010 1 0>,
+ <DCC_READ 0x1681010 1 0>,
+ <DCC_READ 0x1682010 1 0>,
+ <DCC_READ 0x1685010 1 0>,
+ <DCC_READ 0x1641008 1 0>,
+ <DCC_LOOP 0x6 0 0>,
+ <DCC_READ 0x1641010 1 0>,
+ <DCC_READ 0x1641014 1 0>,
+ <DCC_LOOP 0x1 0 0>,
+ <DCC_READ 0x1641018 1 0>,
+ <DCC_READ 0x1641088 1 0>,
+ <DCC_LOOP 0x6 0 0>,
+ <DCC_READ 0x1641090 1 0>,
+ <DCC_READ 0x1641094 1 0>,
+ <DCC_LOOP 0x1 0 0>,
+ <DCC_READ 0x1641098 1 0>,
+ <DCC_READ 0x1641108 1 0>,
+ <DCC_LOOP 0x16 0 0>,
+ <DCC_READ 0x1641110 1 0>,
+ <DCC_READ 0x1641114 1 0>,
+ <DCC_LOOP 0x1 0 0>,
+ <DCC_READ 0x1641118 1 0>,
+ <DCC_LOOP 0x4 0 0>,
+ <DCC_LOOP 0x1 0 0>,
+ <DCC_READ 0x190E0008 1 0>,
+ <DCC_READ 0x190E0010 1 0>,
+ <DCC_READ 0x190E0018 1 0>,
+ <DCC_READ 0x190E0020 1 0>,
+ <DCC_READ 0x190E0024 1 0>,
+ <DCC_READ 0x190E0028 1 0>,
+ <DCC_READ 0x190E002C 1 0>,
+ <DCC_READ 0x190E0030 1 0>,
+ <DCC_READ 0x190E0034 1 0>,
+ <DCC_READ 0x190E0038 1 0>,
+ <DCC_READ 0x190E003C 1 0>,
+ <DCC_READ 0x190E0240 1 0>,
+ <DCC_READ 0x190E0248 1 0>,
+ <DCC_READ 0x190E5008 1 0>,
+ <DCC_LOOP 0x6 0 0>,
+ <DCC_READ 0x190E5010 1 0>,
+ <DCC_READ 0x190E5014 1 0>,
+ <DCC_LOOP 0x1 0 0>,
+ <DCC_READ 0x190E5018 1 0>,
+ <DCC_READ 0x195F0008 1 0>,
+ <DCC_READ 0x195F0010 1 0>,
+ <DCC_READ 0x195F0018 1 0>,
+ <DCC_READ 0x195F0020 1 0>,
+ <DCC_READ 0x195F0024 1 0>,
+ <DCC_READ 0x195F0028 1 0>,
+ <DCC_READ 0x195F002C 1 0>,
+ <DCC_READ 0x195F0030 1 0>,
+ <DCC_READ 0x195F0034 1 0>,
+ <DCC_READ 0x195F0038 1 0>,
+ <DCC_READ 0x195F003C 1 0>,
+ <DCC_READ 0x195F0240 1 0>,
+ <DCC_READ 0x195F0248 1 0>,
+ <DCC_READ 0x195F2008 1 0>,
+ <DCC_LOOP 0x3 0 0>,
+ <DCC_READ 0x195F2010 1 0>,
+ <DCC_READ 0x195F2014 1 0>,
+ <DCC_LOOP 0x1 0 0>,
+ <DCC_READ 0x195F2018 1 0>,
+ <DCC_READ 0x199F0008 1 0>,
+ <DCC_READ 0x199F0010 1 0>,
+ <DCC_READ 0x199F0018 1 0>,
+ <DCC_READ 0x199F0020 1 0>,
+ <DCC_READ 0x199F0024 1 0>,
+ <DCC_READ 0x199F0028 1 0>,
+ <DCC_READ 0x199F002C 1 0>,
+ <DCC_READ 0x199F0030 1 0>,
+ <DCC_READ 0x199F0034 1 0>,
+ <DCC_READ 0x199F0038 1 0>,
+ <DCC_READ 0x199F003C 1 0>,
+ <DCC_READ 0x199F0240 1 0>,
+ <DCC_READ 0x199F0248 1 0>,
+ <DCC_READ 0x199F2008 1 0>,
+ <DCC_LOOP 0x3 0 0>,
+ <DCC_READ 0x199F2010 1 0>,
+ <DCC_READ 0x199F2014 1 0>,
+ <DCC_LOOP 0x1 0 0>,
+ <DCC_READ 0x199F2018 1 0>,
+ <DCC_READ 0x199F2008 1 0>,
+ <DCC_READ 0x199F2010 1 0>,
+ <DCC_READ 0x199F2014 1 0>,
+ <DCC_READ 0x199F2018 1 0>,
+ <DCC_READ 0x19DF0008 1 0>,
+ <DCC_READ 0x19DF0010 1 0>,
+ <DCC_READ 0x19DF0018 1 0>,
+ <DCC_READ 0x19DF0020 1 0>,
+ <DCC_READ 0x19DF0024 1 0>,
+ <DCC_READ 0x19DF0028 1 0>,
+ <DCC_READ 0x19DF002C 1 0>,
+ <DCC_READ 0x19DF0030 1 0>,
+ <DCC_READ 0x19DF0034 1 0>,
+ <DCC_READ 0x19DF0038 1 0>,
+ <DCC_READ 0x19DF003C 1 0>,
+ <DCC_READ 0x19DF0240 1 0>,
+ <DCC_READ 0x19DF0248 1 0>,
+ <DCC_READ 0x19DF2008 1 0>,
+ <DCC_LOOP 0x3 0 0>,
+ <DCC_READ 0x19DF2010 1 0>,
+ <DCC_READ 0x19DF2014 1 0>,
+ <DCC_LOOP 0x1 0 0>,
+ <DCC_READ 0x19DF2018 1 0>,
+ <DCC_READ 0x1A1F0008 1 0>,
+ <DCC_READ 0x1A1F0010 1 0>,
+ <DCC_READ 0x1A1F0018 1 0>,
+ <DCC_READ 0x1A1F0020 1 0>,
+ <DCC_READ 0x1A1F0024 1 0>,
+ <DCC_READ 0x1A1F0028 1 0>,
+ <DCC_READ 0x1A1F002C 1 0>,
+ <DCC_READ 0x1A1F0030 1 0>,
+ <DCC_READ 0x1A1F0034 1 0>,
+ <DCC_READ 0x1A1F0038 1 0>,
+ <DCC_READ 0x1A1F003C 1 0>,
+ <DCC_READ 0x1A1F0240 1 0>,
+ <DCC_READ 0x1A1F0248 1 0>,
+ <DCC_READ 0x1A1F2008 1 0>,
+ <DCC_LOOP 0x3 0 0>,
+ <DCC_READ 0x1A1F2010 1 0>,
+ <DCC_READ 0x1A1F2014 1 0>,
+ <DCC_LOOP 0x1 0 0>,
+ <DCC_READ 0x1A1F2018 1 0>;
+ };
};
mem_dump {
diff --git a/qcom/cinder-thermal-modem.dtsi b/qcom/cinder-thermal-modem.dtsi
new file mode 100755
index 00000000..cd4ee84d
--- /dev/null
+++ b/qcom/cinder-thermal-modem.dtsi
@@ -0,0 +1,351 @@
+#include <dt-bindings/thermal/thermal_qti.h>
+
+&soc {
+ qmi_sensor: qmi-ts-sensors {
+ compatible = "qcom,qmi-sensors";
+ #thermal-sensor-cells = <1>;
+
+ modem {
+ qcom,instance-id = <QMI_MODEM_INST_ID>;
+ qcom,qmi-sensor-names = "sdr0",
+ "sdr1",
+ "sdr2",
+ "sdr3",
+ "sdr4",
+ "sdr5",
+ "sdr6",
+ "sdr7",
+ "sdr0_pa",
+ "sdr1_pa",
+ "sdr2_pa",
+ "sdr3_pa",
+ "sdr4_pa",
+ "sdr5_pa",
+ "sdr6_pa",
+ "sdr7_pa";
+ };
+ };
+};
+
+&thermal_zones {
+ sdr0 {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-sensors = <&qmi_sensor
+ (QMI_MODEM_INST_ID+QMI_SDR0)>;
+ trips {
+ thermal-engine-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+
+ thermal-hal-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ sdr1 {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-sensors = <&qmi_sensor
+ (QMI_MODEM_INST_ID+QMI_SDR1)>;
+ trips {
+ thermal-engine-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+
+ thermal-hal-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ sdr2 {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-sensors = <&qmi_sensor
+ (QMI_MODEM_INST_ID+QMI_SDR2)>;
+ trips {
+ thermal-engine-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+
+ thermal-hal-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ sdr3 {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-sensors = <&qmi_sensor
+ (QMI_MODEM_INST_ID+QMI_SDR3)>;
+ trips {
+ thermal-engine-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+
+ thermal-hal-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ sdr4 {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-sensors = <&qmi_sensor
+ (QMI_MODEM_INST_ID+QMI_SDR4)>;
+ trips {
+ thermal-engine-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+
+ thermal-hal-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ sdr5 {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-sensors = <&qmi_sensor
+ (QMI_MODEM_INST_ID+QMI_SDR5)>;
+ trips {
+ thermal-engine-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+
+ thermal-hal-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ sdr6 {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-sensors = <&qmi_sensor
+ (QMI_MODEM_INST_ID+QMI_SDR6)>;
+ trips {
+ thermal-engine-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+
+ thermal-hal-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ sdr7 {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-sensors = <&qmi_sensor
+ (QMI_MODEM_INST_ID+QMI_SDR7)>;
+ trips {
+ thermal-engine-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+
+ thermal-hal-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ sdr0_pa {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-sensors = <&qmi_sensor
+ (QMI_MODEM_INST_ID+QMI_SDR0_PA)>;
+ trips {
+ thermal-engine-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+
+ thermal-hal-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ sdr1_pa {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-sensors = <&qmi_sensor
+ (QMI_MODEM_INST_ID+QMI_SDR1_PA)>;
+ trips {
+ thermal-engine-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+
+ thermal-hal-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ sdr2_pa {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-sensors = <&qmi_sensor
+ (QMI_MODEM_INST_ID+QMI_SDR2_PA)>;
+ trips {
+ thermal-engine-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+
+ thermal-hal-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ sdr3_pa {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-sensors = <&qmi_sensor
+ (QMI_MODEM_INST_ID+QMI_SDR3_PA)>;
+ trips {
+ thermal-engine-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+
+ thermal-hal-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ sdr4_pa {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-sensors = <&qmi_sensor
+ (QMI_MODEM_INST_ID+QMI_SDR4_PA)>;
+ trips {
+ thermal-engine-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+
+ thermal-hal-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ sdr5_pa {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-sensors = <&qmi_sensor
+ (QMI_MODEM_INST_ID+QMI_SDR5_PA)>;
+ trips {
+ thermal-engine-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+
+ thermal-hal-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ sdr6_pa {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-sensors = <&qmi_sensor
+ (QMI_MODEM_INST_ID+QMI_SDR6_PA)>;
+ trips {
+ thermal-engine-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+
+ thermal-hal-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ sdr7_pa {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-sensors = <&qmi_sensor
+ (QMI_MODEM_INST_ID+QMI_SDR7_PA)>;
+ trips {
+ thermal-engine-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+
+ thermal-hal-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+};
+
diff --git a/qcom/cinder-thermal.dtsi b/qcom/cinder-thermal.dtsi
index 29dee327..8ea903ac 100755
--- a/qcom/cinder-thermal.dtsi
+++ b/qcom/cinder-thermal.dtsi
@@ -65,6 +65,8 @@
};
};
+#include "cinder-thermal-modem.dtsi"
+
&thermal_zones {
aoss-0 {
polling-delay-passive = <0>;
diff --git a/qcom/cinder.dtsi b/qcom/cinder.dtsi
index 7a075ddd..11247a10 100755
--- a/qcom/cinder.dtsi
+++ b/qcom/cinder.dtsi
@@ -19,7 +19,7 @@
chosen: chosen {
- bootargs = "cpufreq.default_governor=performance msm_rtb.filter=0x237";
+ bootargs = "cpufreq.default_governor=performance msm_rtb.filter=0x237 ftrace_dump_on_oops";
};
aliases {
@@ -244,6 +244,14 @@
size = <0x0 0x1000000>;
};
+ ramoops_mem: ramoops_region {
+ compatible = "ramoops";
+ alloc-ranges = <0x0 0x00000000 0xffffffff 0xffffffff>;
+ size = <0x0 0x200000>;
+ pmsg-size = <0x200000>;
+ mem-type = <2>;
+ };
+
};
&soc {
@@ -385,6 +393,7 @@
interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
+ power-domains = <&CLUSTER_PD>;
apps_rsc_drv2: drv@2 {
qcom,drv-id = <2>;
@@ -868,6 +877,32 @@
power-domains = <&CLUSTER_PD>;
};
+ cpuss-sleep-stats@17800054 {
+ compatible = "qcom,cpuss-sleep-stats-v2";
+ reg = <0x17800054 0x4>, <0x17810054 0x4>, <0x17820054 0x4>,
+ <0x17830054 0x4>, <0x17880098 0x4>, <0x178C0000 0x10000>;
+ reg-names = "seq_lpm_cntr_cfg_cpu0", "seq_lpm_cntr_cfg_cpu1",
+ "seq_lpm_cntr_cfg_cpu2", "seq_lpm_cntr_cfg_cpu3",
+ "l3_seq_lpm_cntr_cfg", "apss_seq_mem_base";
+ num-cpus = <4>;
+ };
+
+ soc-sleep-stats@c3f0000 {
+ compatible = "qcom,rpmh-sleep-stats";
+ reg = <0xc3f0000 0x400>;
+ qcom,drv-max = <0x14>;
+ ss-name = "modem", "apss";
+ mboxes = <&qmp_aop 0>;
+ mbox-names = "aop";
+ ddr-freq-update;
+ };
+
+ subsystem-sleep-stats@c3f0000 {
+ compatible = "qcom,subsystem-sleep-stats";
+ reg = <0xc3f0000 0x400>;
+ ddr-freq-update;
+ };
+
vendor_hooks: qcom,cpu-vendor-hooks {
compatible = "qcom,cpu-vendor-hooks";
};
@@ -1485,6 +1520,7 @@
mhi_net_device: qcom,mhi_net_dev {
compatible = "qcom,msm-mhi-dev-net";
+ qcom,mhi-ethernet-interface-channel = <50>;
status = "ok";
};
diff --git a/qcom/direwolf-pinctrl.dtsi b/qcom/direwolf-pinctrl.dtsi
new file mode 100755
index 00000000..1b667faf
--- /dev/null
+++ b/qcom/direwolf-pinctrl.dtsi
@@ -0,0 +1,3619 @@
+&tlmm {
+ qupv3_se0_i2c_pins: qupv3_se0_i2c_pins {
+ qupv3_se0_i2c_active: qupv3_se0_i2c_active {
+ mux {
+ pins = "gpio135", "gpio136";
+ function = "qup0";
+ };
+
+ config {
+ pins = "gpio135", "gpio136";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+
+ qupv3_se0_i2c_sleep: qupv3_se0_i2c_sleep {
+ mux {
+ pins = "gpio135", "gpio136";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio135", "gpio136";
+ drive-strength = <2>;
+ bias-disable;
+ };
+ };
+ };
+
+ qupv3_se0_spi_pins: qupv3_se0_spi_pins {
+ qupv3_se0_spi_active: qupv3_se0_spi_active {
+ mux {
+ pins = "gpio135", "gpio136",
+ "gpio137", "gpio138";
+ function = "qup0";
+ };
+
+ config {
+ pins = "gpio135", "gpio136",
+ "gpio137", "gpio138";
+ drive-strength = <6>;
+ bias-disable;
+ };
+ };
+
+ qupv3_se0_spi_sleep: qupv3_se0_spi_sleep {
+ mux {
+ pins = "gpio135", "gpio136",
+ "gpio137", "gpio138";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio135", "gpio136",
+ "gpio137", "gpio138";
+ drive-strength = <6>;
+ bias-disable;
+ };
+ };
+ };
+
+ qupv3_se1_i2c_pins: qupv3_se1_i2c_pins {
+ qupv3_se1_i2c_active: qupv3_se1_i2c_active {
+ mux {
+ pins = "gpio158", "gpio159";
+ function = "qup1";
+ };
+
+ config {
+ pins = "gpio158", "gpio159";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+
+ qupv3_se1_i2c_sleep: qupv3_se1_i2c_sleep {
+ mux {
+ pins = "gpio158", "gpio159";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio158", "gpio159";
+ drive-strength = <2>;
+ bias-disable;
+ };
+ };
+ };
+
+ qupv3_se1_spi_pins: qupv3_se1_spi_pins {
+ qupv3_se1_spi_active: qupv3_se1_spi_active {
+ mux {
+ pins = "gpio158", "gpio159",
+ "gpio160", "gpio161";
+ function = "qup1";
+ };
+
+ config {
+ pins = "gpio158", "gpio159",
+ "gpio160", "gpio161";
+ drive-strength = <6>;
+ bias-disable;
+ };
+ };
+
+ qupv3_se1_spi_sleep: qupv3_se1_spi_sleep {
+ mux {
+ pins = "gpio158", "gpio159",
+ "gpio160", "gpio161";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio158", "gpio159",
+ "gpio160", "gpio161";
+ drive-strength = <6>;
+ bias-disable;
+ };
+ };
+ };
+
+ qupv3_se2_i2c_pins: qupv3_se2_i2c_pins {
+ qupv3_se2_i2c_active: qupv3_se2_i2c_active {
+ mux {
+ pins = "gpio121", "gpio122";
+ function = "qup2";
+ };
+
+ config {
+ pins = "gpio121", "gpio122";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+
+ qupv3_se2_i2c_sleep: qupv3_se2_i2c_sleep {
+ mux {
+ pins = "gpio121", "gpio122";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio121", "gpio122";
+ drive-strength = <2>;
+ bias-disable;
+ };
+ };
+ };
+
+ qupv3_se2_spi_pins: qupv3_se2_spi_pins {
+ qupv3_se2_spi_active: qupv3_se2_spi_active {
+ mux {
+ pins = "gpio121", "gpio122",
+ "gpio123", "gpio124";
+ function = "qup2";
+ };
+
+ config {
+ pins = "gpio121", "gpio122",
+ "gpio123", "gpio124";
+ drive-strength = <6>;
+ bias-disable;
+ };
+ };
+
+ qupv3_se2_spi_sleep: qupv3_se2_spi_sleep {
+ mux {
+ pins = "gpio121", "gpio122",
+ "gpio123", "gpio124";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio121", "gpio122",
+ "gpio123", "gpio124";
+ drive-strength = <6>;
+ bias-disable;
+ };
+ };
+ };
+
+ qupv3_se2_4uart_pins: qupv3_se2_4uart_pins {
+ qupv3_se2_default_cts:
+ qupv3_se2_default_cts {
+ mux {
+ pins = "gpio121";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio121";
+ drive-strength = <2>;
+ bias-disable;
+ };
+ };
+
+ qupv3_se2_default_rtsrx:
+ qupv3_se2_default_rtsrx {
+ mux {
+ pins = "gpio122", "gpio124";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio122", "gpio124";
+ drive-strength = <2>;
+ bias-pull-down;
+ };
+ };
+
+ qupv3_se2_default_tx:
+ qupv3_se2_default_tx {
+ mux {
+ pins = "gpio123";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio123";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+
+ qupv3_se2_ctsrx: qupv3_se2_ctsrx {
+ mux {
+ pins = "gpio121", "gpio124";
+ function = "qup2";
+ };
+
+ config {
+ pins = "gpio121", "gpio124";
+ drive-strength = <2>;
+ bias-disable;
+ };
+ };
+
+ qupv3_se2_rts: qupv3_se2_rts {
+ mux {
+ pins = "gpio122";
+ function = "qup2";
+ };
+
+ config {
+ pins = "gpio122";
+ drive-strength = <2>;
+ bias-pull-down;
+ };
+ };
+
+ qupv3_se2_tx: qupv3_se2_tx {
+ mux {
+ pins = "gpio123";
+ function = "qup2";
+ };
+
+ config {
+ pins = "gpio123";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+ };
+
+ qupv3_se3_i2c_pins: qupv3_se3_i2c_pins {
+ qupv3_se3_i2c_active: qupv3_se3_i2c_active {
+ mux {
+ pins = "gpio137", "gpio138";
+ function = "qup3";
+ };
+
+ config {
+ pins = "gpio137", "gpio138";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+
+ qupv3_se3_i2c_sleep: qupv3_se3_i2c_sleep {
+ mux {
+ pins = "gpio137", "gpio138";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio137", "gpio138";
+ drive-strength = <2>;
+ bias-disable;
+ };
+ };
+ };
+
+ qupv3_se3_spi_pins: qupv3_se3_spi_pins {
+ qupv3_se3_spi_active: qupv3_se3_spi_active {
+ mux {
+ pins = "gpio137", "gpio138",
+ "gpio135", "gpio136";
+ function = "qup3";
+ };
+
+ config {
+ pins = "gpio137", "gpio138",
+ "gpio135", "gpio136";
+ drive-strength = <6>;
+ bias-disable;
+ };
+ };
+
+ qupv3_se3_spi_sleep: qupv3_se3_spi_sleep {
+ mux {
+ pins = "gpio137", "gpio138",
+ "gpio135", "gpio136";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio137", "gpio138",
+ "gpio135", "gpio136";
+ drive-strength = <6>;
+ bias-disable;
+ };
+ };
+ };
+
+ qupv3_se3_4uart_pins: qupv3_se3_4uart_pins {
+ qupv3_se3_default_cts:
+ qupv3_se3_default_cts {
+ mux {
+ pins = "gpio137";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio137";
+ drive-strength = <2>;
+ bias-disable;
+ };
+ };
+
+ qupv3_se3_default_rtsrx:
+ qupv3_se3_default_rtsrx {
+ mux {
+ pins = "gpio138", "gpio136";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio138", "gpio136";
+ drive-strength = <2>;
+ bias-pull-down;
+ };
+ };
+
+ qupv3_se3_default_tx:
+ qupv3_se3_default_tx {
+ mux {
+ pins = "gpio135";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio135";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+
+ qupv3_se3_ctsrx: qupv3_se3_ctsrx {
+ mux {
+ pins = "gpio137", "gpio136";
+ function = "qup2";
+ };
+
+ config {
+ pins = "gpio137", "gpio136";
+ drive-strength = <2>;
+ bias-disable;
+ };
+ };
+
+ qupv3_se3_rts: qupv3_se3_rts {
+ mux {
+ pins = "gpio138";
+ function = "qup2";
+ };
+
+ config {
+ pins = "gpio138";
+ drive-strength = <2>;
+ bias-pull-down;
+ };
+ };
+
+ qupv3_se3_tx: qupv3_se3_tx {
+ mux {
+ pins = "gpio135";
+ function = "qup2";
+ };
+
+ config {
+ pins = "gpio135";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+ };
+
+ qupv3_se4_i2c_pins: qupv3_se4_i2c_pins {
+ qupv3_se4_i2c_active: qupv3_se4_i2c_active {
+ mux {
+ pins = "gpio171", "gpio172";
+ function = "qup4";
+ };
+
+ config {
+ pins = "gpio171", "gpio172";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+
+ qupv3_se4_i2c_sleep: qupv3_se4_i2c_sleep {
+ mux {
+ pins = "gpio171", "gpio172";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio171", "gpio172";
+ drive-strength = <2>;
+ bias-disable;
+ };
+ };
+ };
+
+ qupv3_se4_spi_pins: qupv3_se4_spi_pins {
+ qupv3_se4_spi_active: qupv3_se4_spi_active {
+ mux {
+ pins = "gpio171", "gpio172",
+ "gpio173", "gpio174";
+ function = "qup4";
+ };
+
+ config {
+ pins = "gpio171", "gpio172",
+ "gpio173", "gpio174";
+ drive-strength = <6>;
+ bias-disable;
+ };
+ };
+
+ qupv3_se4_spi_sleep: qupv3_se4_spi_sleep {
+ mux {
+ pins = "gpio171", "gpio172",
+ "gpio173", "gpio174";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio171", "gpio172",
+ "gpio173", "gpio174";
+ drive-strength = <6>;
+ bias-disable;
+ };
+ };
+ };
+
+ qupv3_se5_i2c_pins: qupv3_se5_i2c_pins {
+ qupv3_se5_i2c_active: qupv3_se5_i2c_active {
+ mux {
+ pins = "gpio111", "gpio112";
+ function = "qup5";
+ };
+
+ config {
+ pins = "gpio111", "gpio112";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+
+ qupv3_se5_i2c_sleep: qupv3_se5_i2c_sleep {
+ mux {
+ pins = "gpio111", "gpio112";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio111", "gpio112";
+ drive-strength = <2>;
+ bias-disable;
+ };
+ };
+ };
+
+ qupv3_se5_spi_pins: qupv3_se5_spi_pins {
+ qupv3_se5_spi_active: qupv3_se5_spi_active {
+ mux {
+ pins = "gpio111", "gpio112",
+ "gpio145", "gpio146";
+ function = "qup5";
+ };
+
+ config {
+ pins = "gpio111", "gpio112",
+ "gpio145", "gpio146";
+ drive-strength = <6>;
+ bias-disable;
+ };
+ };
+
+ qupv3_se5_spi_sleep: qupv3_se5_spi_sleep {
+ mux {
+ pins = "gpio111", "gpio112",
+ "gpio145", "gpio146";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio111", "gpio112",
+ "gpio145", "gpio146";
+ drive-strength = <6>;
+ bias-disable;
+ };
+ };
+ };
+
+ qupv3_se6_i2c_pins: qupv3_se6_i2c_pins {
+ qupv3_se6_i2c_active: qupv3_se6_i2c_active {
+ mux {
+ pins = "gpio154", "gpio155";
+ function = "qup6";
+ };
+
+ config {
+ pins = "gpio154", "gpio155";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+
+ qupv3_se6_i2c_sleep: qupv3_se6_i2c_sleep {
+ mux {
+ pins = "gpio154", "gpio155";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio154", "gpio155";
+ drive-strength = <2>;
+ bias-disable;
+ };
+ };
+ };
+
+ qupv3_se6_spi_pins: qupv3_se6_spi_pins {
+ qupv3_se6_spi_active: qupv3_se6_spi_active {
+ mux {
+ pins = "gpio154", "gpio155",
+ "gpio156", "gpio157";
+ function = "qup6";
+ };
+
+ config {
+ pins = "gpio154", "gpio155",
+ "gpio156", "gpio157";
+ drive-strength = <6>;
+ bias-disable;
+ };
+ };
+
+ qupv3_se6_spi_sleep: qupv3_se6_spi_sleep {
+ mux {
+ pins = "gpio154", "gpio155",
+ "gpio156", "gpio157";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio154", "gpio155",
+ "gpio156", "gpio157";
+ drive-strength = <6>;
+ bias-disable;
+ };
+ };
+ };
+
+ qupv3_se6_4uart_pins: qupv3_se6_4uart_pins {
+ qupv3_se6_default_cts:
+ qupv3_se6_default_cts {
+ mux {
+ pins = "gpio154";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio154";
+ drive-strength = <2>;
+ bias-disable;
+ };
+ };
+
+ qupv3_se6_default_rtsrx:
+ qupv3_se6_default_rtsrx {
+ mux {
+ pins = "gpio155", "gpio157";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio155", "gpio157";
+ drive-strength = <2>;
+ bias-pull-down;
+ };
+ };
+
+ qupv3_se6_default_tx:
+ qupv3_se6_default_tx {
+ mux {
+ pins = "gpio156";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio156";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+
+ qupv3_se6_ctsrx: qupv3_se6_ctsrx {
+ mux {
+ pins = "gpio154", "gpio157";
+ function = "qup6";
+ };
+
+ config {
+ pins = "gpio154", "gpio157";
+ drive-strength = <2>;
+ bias-disable;
+ };
+ };
+
+ qupv3_se6_rts: qupv3_se6_rts {
+ mux {
+ pins = "gpio155";
+ function = "qup6";
+ };
+
+ config {
+ pins = "gpio155";
+ drive-strength = <2>;
+ bias-pull-down;
+ };
+ };
+
+ qupv3_se6_tx: qupv3_se6_tx {
+ mux {
+ pins = "gpio156";
+ function = "qup6";
+ };
+
+ config {
+ pins = "gpio156";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+ };
+
+ qupv3_se7_i2c_pins: qupv3_se7_i2c_pins {
+ qupv3_se7_i2c_active: qupv3_se7_i2c_active {
+ mux {
+ pins = "gpio128", "gpio129";
+ function = "qup7";
+ };
+
+ config {
+ pins = "gpio128", "gpio129";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+
+ qupv3_se7_i2c_sleep: qupv3_se7_i2c_sleep {
+ mux {
+ pins = "gpio128", "gpio129";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio128", "gpio129";
+ drive-strength = <2>;
+ bias-disable;
+ };
+ };
+ };
+
+ qupv3_se7_spi_pins: qupv3_se7_spi_pins {
+ qupv3_se7_spi_active: qupv3_se7_spi_active {
+ mux {
+ pins = "gpio128", "gpio129",
+ "gpio125", "gpio126";
+ function = "qup7";
+ };
+
+ config {
+ pins = "gpio128", "gpio129",
+ "gpio125", "gpio126";
+ drive-strength = <6>;
+ bias-disable;
+ };
+ };
+
+ qupv3_se7_spi_sleep: qupv3_se7_spi_sleep {
+ mux {
+ pins = "gpio128", "gpio129",
+ "gpio125", "gpio126";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio128", "gpio129",
+ "gpio125", "gpio126";
+ drive-strength = <6>;
+ bias-disable;
+ };
+ };
+ };
+
+ qupv3_se8_i2c_pins: qupv3_se8_i2c_pins {
+ qupv3_se8_i2c_active: qupv3_se8_i2c_active {
+ mux {
+ pins = "gpio43", "gpio44";
+ function = "qup8";
+ };
+
+ config {
+ pins = "gpio43", "gpio44";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+
+ qupv3_se8_i2c_sleep: qupv3_se8_i2c_sleep {
+ mux {
+ pins = "gpio43", "gpio44";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio43", "gpio44";
+ drive-strength = <2>;
+ bias-disable;
+ };
+ };
+ };
+
+ qupv3_se8_spi_pins: qupv3_se8_spi_pins {
+ qupv3_se8_spi_active: qupv3_se8_spi_active {
+ mux {
+ pins = "gpio43", "gpio44",
+ "gpio45", "gpio46";
+ function = "qup8";
+ };
+
+ config {
+ pins = "gpio43", "gpio44",
+ "gpio45", "gpio46";
+ drive-strength = <6>;
+ bias-disable;
+ };
+ };
+
+ qupv3_se8_spi_sleep: qupv3_se8_spi_sleep {
+ mux {
+ pins = "gpio43", "gpio44",
+ "gpio45", "gpio46";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio43", "gpio44",
+ "gpio45", "gpio46";
+ drive-strength = <6>;
+ bias-disable;
+ };
+ };
+ };
+
+ qupv3_se9_i2c_pins: qupv3_se9_i2c_pins {
+ qupv3_se9_i2c_active: qupv3_se9_i2c_active {
+ mux {
+ pins = "gpio41", "gpio42";
+ function = "qup9";
+ };
+
+ config {
+ pins = "gpio41", "gpio42";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+
+ qupv3_se9_i2c_sleep: qupv3_se9_i2c_sleep {
+ mux {
+ pins = "gpio41", "gpio42";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio41", "gpio42";
+ drive-strength = <2>;
+ bias-disable;
+ };
+ };
+ };
+
+ qupv3_se9_spi_pins: qupv3_se9_spi_pins {
+ qupv3_se9_spi_active: qupv3_se9_spi_active {
+ mux {
+ pins = "gpio41", "gpio42",
+ "gpio43", "gpio44";
+ function = "qup9";
+ };
+
+ config {
+ pins = "gpio41", "gpio42",
+ "gpio43", "gpio44";
+ drive-strength = <6>;
+ bias-disable;
+ };
+ };
+
+ qupv3_se9_spi_sleep: qupv3_se9_spi_sleep {
+ mux {
+ pins = "gpio41", "gpio42",
+ "gpio43", "gpio44";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio41", "gpio42",
+ "gpio43", "gpio44";
+ drive-strength = <6>;
+ bias-disable;
+ };
+ };
+ };
+
+ qupv3_se10_i2c_pins: qupv3_se10_i2c_pins {
+ qupv3_se10_i2c_active: qupv3_se10_i2c_active {
+ mux {
+ pins = "gpio22", "gpio23";
+ function = "qup10";
+ };
+
+ config {
+ pins = "gpio22", "gpio23";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+
+ qupv3_se10_i2c_sleep: qupv3_se10_i2c_sleep {
+ mux {
+ pins = "gpio22", "gpio23";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio22", "gpio23";
+ drive-strength = <2>;
+ bias-disable;
+ };
+ };
+ };
+
+ qupv3_se10_spi_pins: qupv3_se10_spi_pins {
+ qupv3_se10_spi_active: qupv3_se10_spi_active {
+ mux {
+ pins = "gpio22", "gpio23",
+ "gpio24", "gpio25";
+ function = "qup10";
+ };
+
+ config {
+ pins = "gpio22", "gpio23",
+ "gpio24", "gpio25";
+ drive-strength = <6>;
+ bias-disable;
+ };
+ };
+
+ qupv3_se10_spi_sleep: qupv3_se10_spi_sleep {
+ mux {
+ pins = "gpio22", "gpio23",
+ "gpio24", "gpio25";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio22", "gpio23",
+ "gpio24", "gpio25";
+ drive-strength = <6>;
+ bias-disable;
+ };
+ };
+ };
+
+ qupv3_se10_4uart_pins: qupv3_se10_4uart_pins {
+ qupv3_se10_default_cts:
+ qupv3_se10_default_cts {
+ mux {
+ pins = "gpio22";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio22";
+ drive-strength = <2>;
+ bias-disable;
+ };
+ };
+
+ qupv3_se10_default_rtsrx:
+ qupv3_se10_default_rtsrx {
+ mux {
+ pins = "gpio23", "gpio25";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio23", "gpio25";
+ drive-strength = <2>;
+ bias-pull-down;
+ };
+ };
+
+ qupv3_se10_default_tx:
+ qupv3_se10_default_tx {
+ mux {
+ pins = "gpio24";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio24";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+
+ qupv3_se10_ctsrx: qupv3_se10_ctsrx {
+ mux {
+ pins = "gpio22", "gpio25";
+ function = "qup10";
+ };
+
+ config {
+ pins = "gpio22", "gpio25";
+ drive-strength = <2>;
+ bias-disable;
+ };
+ };
+
+ qupv3_se10_rts: qupv3_se10_rts {
+ mux {
+ pins = "gpio23";
+ function = "qup10";
+ };
+
+ config {
+ pins = "gpio23";
+ drive-strength = <2>;
+ bias-pull-down;
+ };
+ };
+
+ qupv3_se10_tx: qupv3_se10_tx {
+ mux {
+ pins = "gpio24";
+ function = "qup10";
+ };
+
+ config {
+ pins = "gpio24";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+ };
+
+ qupv3_se11_i2c_pins: qupv3_se11_i2c_pins {
+ qupv3_se11_i2c_active: qupv3_se11_i2c_active {
+ mux {
+ pins = "gpio18", "gpio19";
+ function = "qup11";
+ };
+
+ config {
+ pins = "gpio18", "gpio19";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+
+ qupv3_se11_i2c_sleep: qupv3_se11_i2c_sleep {
+ mux {
+ pins = "gpio18", "gpio19";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio18", "gpio19";
+ drive-strength = <2>;
+ bias-disable;
+ };
+ };
+ };
+
+ qupv3_se11_spi_pins: qupv3_se11_spi_pins {
+ qupv3_se11_spi_active: qupv3_se11_spi_active {
+ mux {
+ pins = "gpio18", "gpio19",
+ "gpio20", "gpio21";
+ function = "qup11";
+ };
+
+ config {
+ pins = "gpio18", "gpio19",
+ "gpio20", "gpio21";
+ drive-strength = <6>;
+ bias-disable;
+ };
+ };
+
+ qupv3_se11_spi_sleep: qupv3_se11_spi_sleep {
+ mux {
+ pins = "gpio18", "gpio19",
+ "gpio20", "gpio21";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio18", "gpio19",
+ "gpio20", "gpio21";
+ drive-strength = <6>;
+ bias-disable;
+ };
+ };
+ };
+
+ qupv3_se12_i2c_pins: qupv3_se12_i2c_pins {
+ qupv3_se12_i2c_active: qupv3_se12_i2c_active {
+ mux {
+ pins = "gpio0", "gpio1";
+ function = "qup12";
+ };
+
+ config {
+ pins = "gpio0", "gpio1";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+
+ qupv3_se12_i2c_sleep: qupv3_se12_i2c_sleep {
+ mux {
+ pins = "gpio0", "gpio1";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio0", "gpio1";
+ drive-strength = <2>;
+ bias-disable;
+ };
+ };
+ };
+
+ qupv3_se12_spi_pins: qupv3_se12_spi_pins {
+ qupv3_se12_spi_active: qupv3_se12_spi_active {
+ mux {
+ pins = "gpio0", "gpio1",
+ "gpio2", "gpio3";
+ function = "qup12";
+ };
+
+ config {
+ pins = "gpio0", "gpio1",
+ "gpio2", "gpio3";
+ drive-strength = <6>;
+ bias-disable;
+ };
+ };
+
+ qupv3_se12_spi_sleep: qupv3_se12_spi_sleep {
+ mux {
+ pins = "gpio0", "gpio1",
+ "gpio2", "gpio3";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio0", "gpio1",
+ "gpio2", "gpio3";
+ drive-strength = <6>;
+ bias-disable;
+ };
+ };
+ };
+
+ qupv3_se13_i2c_pins: qupv3_se13_i2c_pins {
+ qupv3_se13_i2c_active: qupv3_se13_i2c_active {
+ mux {
+ pins = "gpio26", "gpio27";
+ function = "qup13";
+ };
+
+ config {
+ pins = "gpio26", "gpio27";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+
+ qupv3_se13_i2c_sleep: qupv3_se13_i2c_sleep {
+ mux {
+ pins = "gpio26", "gpio27";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio26", "gpio27";
+ drive-strength = <2>;
+ bias-disable;
+ };
+ };
+ };
+
+ qupv3_se13_spi_pins: qupv3_se13_spi_pins {
+ qupv3_se13_spi_active: qupv3_se13_spi_active {
+ mux {
+ pins = "gpio26", "gpio27",
+ "gpio28", "gpio29";
+ function = "qup13";
+ };
+
+ config {
+ pins = "gpio26", "gpio27",
+ "gpio28", "gpio29";
+ drive-strength = <6>;
+ bias-disable;
+ };
+ };
+
+ qupv3_se13_spi_sleep: qupv3_se13_spi_sleep {
+ mux {
+ pins = "gpio26", "gpio27",
+ "gpio28", "gpio29";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio26", "gpio27",
+ "gpio28", "gpio29";
+ drive-strength = <6>;
+ bias-disable;
+ };
+ };
+ };
+
+ qupv3_se13_2uart_pins: qupv3_se13_2uart_pins {
+ qupv3_se13_2uart_default: qupv3_se13_2uart_default {
+ mux {
+ pins = "gpio28", "gpio29";
+ function = "qup13";
+ };
+
+ config {
+ pins = "gpio28", "gpio29";
+ drive-strength = <6>;
+ bias-disable;
+ };
+ };
+
+ qupv3_se13_2uart_active: qupv3_se13_2uart_active {
+ mux {
+ pins = "gpio28", "gpio29";
+ function = "qup13";
+ };
+
+ config {
+ pins = "gpio28", "gpio29";
+ drive-strength = <6>;
+ bias-disable;
+ };
+ };
+
+ qupv3_se13_2uart_sleep: qupv3_se13_2uart_sleep {
+ mux {
+ pins = "gpio28", "gpio29";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio28", "gpio29";
+ drive-strength = <2>;
+ bias-disable;
+ };
+ };
+
+ qupv3_se13_2uart_disable: qupv3_se13_2uart_disable {
+ rtr {
+ pins = "gpio27";
+ drive-strength = <2>;
+ bias-disable;
+ input-enable;
+ };
+
+ cts {
+ pins = "gpio26";
+ drive-strength = <0>;
+ bias-pull-up;
+ };
+ };
+ };
+
+ qupv3_se14_i2c_pins: qupv3_se14_i2c_pins {
+ qupv3_se14_i2c_active: qupv3_se14_i2c_active {
+ mux {
+ pins = "gpio4", "gpio5";
+ function = "qup14";
+ };
+
+ config {
+ pins = "gpio4", "gpio5";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+
+ qupv3_se14_i2c_sleep: qupv3_se14_i2c_sleep {
+ mux {
+ pins = "gpio4", "gpio5";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio4", "gpio5";
+ drive-strength = <2>;
+ bias-disable;
+ };
+ };
+ };
+
+ qupv3_se14_spi_pins: qupv3_se14_spi_pins {
+ qupv3_se14_spi_active: qupv3_se14_spi_active {
+ mux {
+ pins = "gpio4", "gpio5",
+ "gpio6", "gpio7";
+ function = "qup14";
+ };
+
+ config {
+ pins = "gpio4", "gpio5",
+ "gpio6", "gpio7";
+ drive-strength = <6>;
+ bias-disable;
+ };
+ };
+
+ qupv3_se14_spi_sleep: qupv3_se14_spi_sleep {
+ mux {
+ pins = "gpio4", "gpio5",
+ "gpio6", "gpio7";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio4", "gpio5",
+ "gpio6", "gpio7";
+ drive-strength = <6>;
+ bias-disable;
+ };
+ };
+ };
+
+ qupv3_se15_i2c_pins: qupv3_se15_i2c_pins {
+ qupv3_se15_i2c_active: qupv3_se15_i2c_active {
+ mux {
+ pins = "gpio36", "gpio37";
+ function = "qup15";
+ };
+
+ config {
+ pins = "gpio36", "gpio37";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+
+ qupv3_se15_i2c_sleep: qupv3_se15_i2c_sleep {
+ mux {
+ pins = "gpio36", "gpio37";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio36", "gpio37";
+ drive-strength = <2>;
+ bias-disable;
+ };
+ };
+ };
+
+ qupv3_se15_spi_pins: qupv3_se15_spi_pins {
+ qupv3_se15_spi_active: qupv3_se15_spi_active {
+ mux {
+ pins = "gpio36", "gpio37",
+ "gpio38", "gpio39";
+ function = "qup15";
+ };
+
+ config {
+ pins = "gpio36", "gpio37",
+ "gpio38", "gpio39";
+ drive-strength = <6>;
+ bias-disable;
+ };
+ };
+
+ qupv3_se15_spi_sleep: qupv3_se15_spi_sleep {
+ mux {
+ pins = "gpio36", "gpio37",
+ "gpio38", "gpio39";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio36", "gpio37",
+ "gpio38", "gpio39";
+ drive-strength = <6>;
+ bias-disable;
+ };
+ };
+ };
+
+ qupv3_se17_2uart_pins: qupv3_se17_2uart_pins {
+ qupv3_se17_2uart_active: qupv3_se17_2uart_active {
+ mux {
+ pins = "gpio63", "gpio64";
+ function = "qup17";
+ };
+
+ config {
+ pins = "gpio63", "gpio64";
+ drive-strength = <2>;
+ bias-disable;
+ };
+ };
+
+ qupv3_se17_2uart_sleep: qupv3_se17_2uart_sleep {
+ mux {
+ pins = "gpio63", "gpio64";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio63", "gpio64";
+ drive-strength = <2>;
+ bias-pull-down;
+ };
+ };
+ };
+
+ qupv3_se16_i2c_pins: qupv3_se16_i2c_pins {
+ qupv3_se16_i2c_active: qupv3_se16_i2c_active {
+ mux {
+ pins = "gpio70", "gpio71";
+ function = "qup16";
+ };
+
+ config {
+ pins = "gpio70", "gpio71";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+
+ qupv3_se16_i2c_sleep: qupv3_se16_i2c_sleep {
+ mux {
+ pins = "gpio70", "gpio71";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio70", "gpio71";
+ drive-strength = <2>;
+ bias-disable;
+ };
+ };
+ };
+
+ qupv3_se16_spi_pins: qupv3_se16_spi_pins {
+ qupv3_se16_spi_active: qupv3_se16_spi_active {
+ mux {
+ pins = "gpio70", "gpio71",
+ "gpio72", "gpio73";
+ function = "qup16";
+ };
+
+ config {
+ pins = "gpio70", "gpio71",
+ "gpio72", "gpio73";
+ drive-strength = <6>;
+ bias-disable;
+ };
+ };
+
+ qupv3_se16_spi_sleep: qupv3_se16_spi_sleep {
+ mux {
+ pins = "gpio70", "gpio71",
+ "gpio72", "gpio73";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio70", "gpio71",
+ "gpio72", "gpio73";
+ drive-strength = <6>;
+ bias-disable;
+ };
+ };
+ };
+
+ qupv3_se17_i2c_pins: qupv3_se17_i2c_pins {
+ qupv3_se17_i2c_active: qupv3_se17_i2c_active {
+ mux {
+ pins = "gpio61", "gpio62";
+ function = "qup17";
+ };
+
+ config {
+ pins = "gpio61", "gpio62";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+
+ qupv3_se17_i2c_sleep: qupv3_se17_i2c_sleep {
+ mux {
+ pins = "gpio61", "gpio62";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio61", "gpio62";
+ drive-strength = <2>;
+ bias-disable;
+ };
+ };
+ };
+
+ qupv3_se17_spi_pins: qupv3_se17_spi_pins {
+ qupv3_se17_spi_active: qupv3_se17_spi_active {
+ mux {
+ pins = "gpio61", "gpio62",
+ "gpio63", "gpio64";
+ function = "qup17";
+ };
+
+ config {
+ pins = "gpio61", "gpio62",
+ "gpio63", "gpio64";
+ drive-strength = <6>;
+ bias-disable;
+ };
+ };
+
+ qupv3_se17_spi_sleep: qupv3_se17_spi_sleep {
+ mux {
+ pins = "gpio61", "gpio62",
+ "gpio63", "gpio64";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio61", "gpio62",
+ "gpio63", "gpio64";
+ drive-strength = <6>;
+ bias-disable;
+ };
+ };
+ };
+
+ qupv3_se18_i2c_pins: qupv3_se18_i2c_pins {
+ qupv3_se18_i2c_active: qupv3_se18_i2c_active {
+ mux {
+ pins = "gpio66", "gpio67";
+ function = "qup18";
+ };
+
+ config {
+ pins = "gpio66", "gpio67";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+
+ qupv3_se18_i2c_sleep: qupv3_se18_i2c_sleep {
+ mux {
+ pins = "gpio66", "gpio67";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio66", "gpio67";
+ drive-strength = <2>;
+ bias-disable;
+ };
+ };
+ };
+
+ qupv3_se18_spi_pins: qupv3_se18_spi_pins {
+ qupv3_se18_spi_active: qupv3_se18_spi_active {
+ mux {
+ pins = "gpio66", "gpio67",
+ "gpio68", "gpio69";
+ function = "qup18";
+ };
+
+ config {
+ pins = "gpio66", "gpio67",
+ "gpio68", "gpio69";
+ drive-strength = <6>;
+ bias-disable;
+ };
+ };
+
+ qupv3_se18_spi_sleep: qupv3_se18_spi_sleep {
+ mux {
+ pins = "gpio66", "gpio67",
+ "gpio68", "gpio69";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio66", "gpio67",
+ "gpio68", "gpio69";
+ drive-strength = <6>;
+ bias-disable;
+ };
+ };
+ };
+
+ qupv3_se19_i2c_pins: qupv3_se19_i2c_pins {
+ qupv3_se19_i2c_active: qupv3_se19_i2c_active {
+ mux {
+ pins = "gpio55", "gpio56";
+ function = "qup19";
+ };
+
+ config {
+ pins = "gpio55", "gpio56";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+
+ qupv3_se19_i2c_sleep: qupv3_se19_i2c_sleep {
+ mux {
+ pins = "gpio55", "gpio56";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio55", "gpio56";
+ drive-strength = <2>;
+ bias-disable;
+ };
+ };
+ };
+
+ qupv3_se19_spi_pins: qupv3_se19_spi_pins {
+ qupv3_se19_spi_active: qupv3_se19_spi_active {
+ mux {
+ pins = "gpio55", "gpio56",
+ "gpio57", "gpio58";
+ function = "qup19";
+ };
+
+ config {
+ pins = "gpio55", "gpio56",
+ "gpio57", "gpio58";
+ drive-strength = <6>;
+ bias-disable;
+ };
+ };
+
+ qupv3_se19_spi_sleep: qupv3_se19_spi_sleep {
+ mux {
+ pins = "gpio55", "gpio56",
+ "gpio57", "gpio58";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio55", "gpio56",
+ "gpio57", "gpio58";
+ drive-strength = <6>;
+ bias-disable;
+ };
+ };
+ };
+
+ qupv3_se20_i2c_pins: qupv3_se20_i2c_pins {
+ qupv3_se20_i2c_active: qupv3_se20_i2c_active {
+ mux {
+ pins = "gpio87", "gpio88";
+ function = "qup20";
+ };
+
+ config {
+ pins = "gpio87", "gpio88";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+
+ qupv3_se20_i2c_sleep: qupv3_se20_i2c_sleep {
+ mux {
+ pins = "gpio87", "gpio88";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio87", "gpio88";
+ drive-strength = <2>;
+ bias-disable;
+ };
+ };
+ };
+
+ qupv3_se20_spi_pins: qupv3_se20_spi_pins {
+ qupv3_se20_spi_active: qupv3_se20_spi_active {
+ mux {
+ pins = "gpio87", "gpio88",
+ "gpio89", "gpio90";
+ function = "qup20";
+ };
+
+ config {
+ pins = "gpio87", "gpio88",
+ "gpio89", "gpio90";
+ drive-strength = <6>;
+ bias-disable;
+ };
+ };
+
+ qupv3_se20_spi_sleep: qupv3_se20_spi_sleep {
+ mux {
+ pins = "gpio87", "gpio88",
+ "gpio89", "gpio90";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio87", "gpio88",
+ "gpio89", "gpio90";
+ drive-strength = <6>;
+ bias-disable;
+ };
+ };
+ };
+
+ qupv3_se21_i2c_pins: qupv3_se21_i2c_pins {
+ qupv3_se21_i2c_active: qupv3_se21_i2c_active {
+ mux {
+ pins = "gpio81", "gpio82";
+ function = "qup21";
+ };
+
+ config {
+ pins = "gpio81", "gpio82";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+
+ qupv3_se21_i2c_sleep: qupv3_se21_i2c_sleep {
+ mux {
+ pins = "gpio81", "gpio82";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio81", "gpio82";
+ drive-strength = <2>;
+ bias-disable;
+ };
+ };
+ };
+
+ qupv3_se21_spi_pins: qupv3_se21_spi_pins {
+ qupv3_se21_spi_active: qupv3_se21_spi_active {
+ mux {
+ pins = "gpio81", "gpio82",
+ "gpio83", "gpio84";
+ function = "qup21";
+ };
+
+ config {
+ pins = "gpio81", "gpio82",
+ "gpio83", "gpio84";
+ drive-strength = <6>;
+ bias-disable;
+ };
+ };
+
+ qupv3_se21_spi_sleep: qupv3_se21_spi_sleep {
+ mux {
+ pins = "gpio81", "gpio82",
+ "gpio83", "gpio84";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio81", "gpio82",
+ "gpio83", "gpio84";
+ drive-strength = <6>;
+ bias-disable;
+ };
+ };
+ };
+
+ qupv3_se22_i2c_pins: qupv3_se22_i2c_pins {
+ qupv3_se22_i2c_active: qupv3_se22_i2c_active {
+ mux {
+ pins = "gpio85", "gpio85";
+ function = "qup22";
+ };
+
+ config {
+ pins = "gpio85", "gpio85";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+
+ qupv3_se22_i2c_sleep: qupv3_se22_i2c_sleep {
+ mux {
+ pins = "gpio85", "gpio85";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio85", "gpio85";
+ drive-strength = <2>;
+ bias-disable;
+ };
+ };
+ };
+
+ qupv3_se22_spi_pins: qupv3_se22_spi_pins {
+ qupv3_se22_spi_active: qupv3_se22_spi_active {
+ mux {
+ pins = "gpio85", "gpio86",
+ "gpio83", "gpio84";
+ function = "qup22";
+ };
+
+ config {
+ pins = "gpio85", "gpio86",
+ "gpio83", "gpio84";
+ drive-strength = <6>;
+ bias-disable;
+ };
+ };
+
+ qupv3_se22_spi_sleep: qupv3_se22_spi_sleep {
+ mux {
+ pins = "gpio85", "gpio86",
+ "gpio83", "gpio84";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio85", "gpio86",
+ "gpio83", "gpio84";
+ drive-strength = <6>;
+ bias-disable;
+ };
+ };
+ };
+
+ qupv3_se23_i2c_pins: qupv3_se23_i2c_pins {
+ qupv3_se23_i2c_active: qupv3_se23_i2c_active {
+ mux {
+ pins = "gpio59", "gpio60";
+ function = "qup23";
+ };
+
+ config {
+ pins = "gpio59", "gpio60";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+
+ qupv3_se23_i2c_sleep: qupv3_se23_i2c_sleep {
+ mux {
+ pins = "gpio59", "gpio60";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio59", "gpio60";
+ drive-strength = <2>;
+ bias-disable;
+ };
+ };
+ };
+
+ qupv3_se23_spi_pins: qupv3_se23_spi_pins {
+ qupv3_se23_spi_active: qupv3_se23_spi_active {
+ mux {
+ pins = "gpio59", "gpio60",
+ "gpio61", "gpio62";
+ function = "qup23";
+ };
+
+ config {
+ pins = "gpio59", "gpio60",
+ "gpio61", "gpio62";
+ drive-strength = <6>;
+ bias-disable;
+ };
+ };
+
+ qupv3_se23_spi_sleep: qupv3_se23_spi_sleep {
+ mux {
+ pins = "gpio59", "gpio60",
+ "gpio61", "gpio62";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio59", "gpio60",
+ "gpio61", "gpio62";
+ drive-strength = <6>;
+ bias-disable;
+ };
+ };
+ };
+
+ tps_i2c_intr: tps_i2c_intr {
+ mux {
+ pins = "gpio138";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio138";
+ drive-strength = <2>;
+ bias-pull-up;
+ input-enable;
+ };
+ };
+
+ pcie0 {
+ pcie2a_perst_default: pcie2a_perst_default {
+ mux {
+ pins = "gpio143";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio143";
+ drive-strength = <2>;
+ bias-pull-down;
+ };
+ };
+
+ pcie2a_clkreq_default: pcie2a_clkreq_default {
+ mux {
+ pins = "gpio142";
+ function = "pcie2a_clkreq";
+ };
+
+ config {
+ pins = "gpio142";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+
+ pcie2a_wake_default: pcie2a_wake_default {
+ mux {
+ pins = "gpio145";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio145";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+
+ pcie2a_clkreq_sleep: pcie2a_clkreq_sleep {
+ mux {
+ pins = "gpio142";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio142";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+ };
+
+ pcie1 {
+ pcie2b_perst_default: pcie2b_perst_default {
+ mux {
+ pins = "gpio147";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio147";
+ drive-strength = <2>;
+ bias-pull-down;
+ };
+ };
+
+ pcie2b_clkreq_default: pcie2b_clkreq_default {
+ mux {
+ pins = "gpio144";
+ function = "pcie2b_clkreq";
+ };
+
+ config {
+ pins = "gpio144";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+
+ pcie2b_wake_default: pcie2b_wake_default {
+ mux {
+ pins = "gpio146";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio146";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+
+ pcie2b_clkreq_sleep: pcie2b_clkreq_sleep {
+ mux {
+ pins = "gpio144";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio144";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+ };
+
+ pcie2 {
+ pcie3a_perst_default: pcie3a_perst_default {
+ mux {
+ pins = "gpio151";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio151";
+ drive-strength = <2>;
+ bias-pull-down;
+ };
+ };
+
+ pcie3a_clkreq_default: pcie3a_clkreq_default {
+ mux {
+ pins = "gpio150";
+ function = "pcie3a_clkreq";
+ };
+
+ config {
+ pins = "gpio150";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+
+ pcie3a_wake_default: pcie3a_wake_default {
+ mux {
+ pins = "gpio56";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio56";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+
+ pcie3a_clkreq_sleep: pcie3a_clkreq_sleep {
+ mux {
+ pins = "gpio150";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio150";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+ };
+
+ pcie3 {
+ pcie3b_perst_default: pcie3b_perst_default {
+ mux {
+ pins = "gpio153";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio153";
+ drive-strength = <2>;
+ bias-pull-down;
+ };
+ };
+
+ pcie3b_clkreq_default: pcie3b_clkreq_default {
+ mux {
+ pins = "gpio152";
+ function = "pcie3b_clkreq";
+ };
+
+ config {
+ pins = "gpio152";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+
+ pcie3b_wake_default: pcie3b_wake_default {
+ mux {
+ pins = "gpio130";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio130";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+
+ pcie3b_clkreq_sleep: pcie3b_clkreq_sleep {
+ mux {
+ pins = "gpio152";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio152";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+ };
+
+ pcie4 {
+ pcie4_perst_default: pcie4_perst_default {
+ mux {
+ pins = "gpio141";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio141";
+ drive-strength = <2>;
+ bias-pull-down;
+ };
+ };
+
+ pcie4_clkreq_default: pcie4_clkreq_default {
+ mux {
+ pins = "gpio140";
+ function = "pcie4_clkreq";
+ };
+
+ config {
+ pins = "gpio140";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+
+ pcie4_wake_default: pcie4_wake_default {
+ mux {
+ pins = "gpio139";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio139";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+
+ pcie4_clkreq_sleep: pcie4_clkreq_sleep {
+ mux {
+ pins = "gpio140";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio140";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+ };
+
+ cnss_pins: cnss_pins {
+ cnss_wlan_en_active: cnss_wlan_en_active {
+ mux {
+ pins = "gpio125";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio125";
+ drive-strength = <16>;
+ output-high;
+ bias-pull-up;
+ };
+ };
+
+ cnss_wlan_en_sleep: cnss_wlan_en_sleep {
+ mux {
+ pins = "gpio125";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio125";
+ drive-strength = <2>;
+ output-low;
+ bias-pull-down;
+ };
+ };
+ };
+
+ bt_en_active: bt_en_active {
+ mux {
+ pins = "gpio126";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio126";
+ drive-strength = <2>;
+ bias-pull-down;
+ };
+ };
+
+ conn_power_1p8_active: conn_power_1p8_active {
+ mux {
+ pins = "gpio128";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio128";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+
+ conn_power_pa_active: conn_power_pa_active {
+ mux {
+ pins = "gpio129";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio129";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+
+ emac {
+ emac_mdc: emac_mdc {
+ mux {
+ pins = "gpio175";
+ function = "rgmii_0";
+ };
+
+ config {
+ pins = "gpio175";
+ bias-pull-up;
+ drive-strength = <16>;
+ };
+ };
+
+ emac_mdio: emac_mdio {
+ mux {
+ pins = "gpio176";
+ function = "rgmii_0";
+ };
+
+ config {
+ pins = "gpio176";
+ bias-pull-up;
+ drive-strength = <16>;
+ };
+ };
+
+ emac_rgmii_txd0: emac_rgmii_txd0 {
+ mux {
+ pins = "gpio185";
+ function = "rgmii_0";
+ };
+
+ config {
+ pins = "gpio185";
+ bias-pull-up;
+ drive-strength = <16>;
+ };
+ };
+
+ emac_rgmii_txd1: emac_rgmii_txd1 {
+ mux {
+ pins = "gpio186";
+ function = "rgmii_0";
+ };
+
+ config {
+ pins = "gpio186";
+ bias-pull-up;
+ drive-strength = <16>;
+ };
+ };
+
+ emac_rgmii_txd2: emac_rgmii_txd2 {
+ mux {
+ pins = "gpio187";
+ function = "rgmii_0";
+ };
+
+ config {
+ pins = "gpio187";
+ bias-pull-up;
+ drive-strength = <16>;
+ };
+ };
+
+ emac_rgmii_txd3: emac_rgmii_txd3 {
+ mux {
+ pins = "gpio188";
+ function = "rgmii_0";
+ };
+
+ config {
+ pins = "gpio188";
+ bias-pull-up;
+ drive-strength = <16>;
+ };
+ };
+
+ emac_rgmii_txc: emac_rgmii_txc {
+ mux {
+ pins = "gpio183";
+ function = "rgmii_0";
+ };
+
+ config {
+ pins = "gpio183";
+ bias-pull-up;
+ drive-strength = <16>;
+ };
+ };
+
+ emac_rgmii_tx_ctl: emac_rgmii_tx_ctl {
+ mux {
+ pins = "gpio184";
+ function = "rgmii_0";
+ };
+
+ config {
+ pins = "gpio184";
+ bias-pull-up;
+ drive-strength = <16>;
+ };
+ };
+
+ emac_rgmii_rxd0: emac_rgmii_rxd0 {
+ mux {
+ pins = "gpio179";
+ function = "rgmii_0";
+ };
+
+ config {
+ pins = "gpio179";
+ bias-disable; /* NO pull */
+ drive-strength = <16>; /* 16MA */
+ };
+ };
+
+ emac_rgmii_rxd1: emac_rgmii_rxd1 {
+ mux {
+ pins = "gpio180";
+ function = "rgmii_0";
+ };
+
+ config {
+ pins = "gpio180";
+ bias-disable; /* NO pull */
+ drive-strength = <16>;
+ };
+ };
+
+ emac_rgmii_rxd2: emac_rgmii_rxd2 {
+ mux {
+ pins = "gpio181";
+ function = "rgmii_0";
+ };
+
+ config {
+ pins = "gpio181";
+ bias-disable; /* NO pull */
+ drive-strength = <16>;
+ };
+ };
+
+ emac_rgmii_rxd3: emac_rgmii_rxd3 {
+ mux {
+ pins = "gpio182";
+ function = "rgmii_0";
+ };
+
+ config {
+ pins = "gpio182";
+ bias-disable; /* NO pull */
+ drive-strength = <16>;
+ };
+ };
+
+ emac_rgmii_rxc: emac_rgmii_rxc {
+ mux {
+ pins = "gpio177";
+ function = "rgmii_0";
+ };
+
+ config {
+ pins = "gpio177";
+ bias-disable; /* NO pull */
+ drive-strength = <16>;
+ };
+ };
+
+ emac_rgmii_rx_ctl: emac_rgmii_rx_ctl {
+ mux {
+ pins = "gpio178";
+ function = "rgmii_0";
+ };
+
+ config {
+ pins = "gpio178";
+ bias-disable; /* NO pull */
+ drive-strength = <16>;
+ };
+ };
+
+ };
+
+ pri_tdm {
+ pri_tdm_sck_sleep: pri_tdm_sck_sleep {
+ mux {
+ pins = "gpio93";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio93";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ pri_tdm_sck_active: pri_tdm_sck_active {
+ mux {
+ pins = "gpio93";
+ function = "mi2s0_sck";
+ };
+
+ config {
+ pins = "gpio93";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ };
+ };
+
+ pri_tdm_ws_sleep: pri_tdm_ws_sleep {
+ mux {
+ pins = "gpio94";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio94";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ pri_tdm_ws_active: pri_tdm_ws_active {
+ mux {
+ pins = "gpio94";
+ function = "mi2s0_ws";
+ };
+
+ config {
+ pins = "gpio94";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ };
+ };
+ };
+
+ pri_tdm_din {
+ pri_tdm_din_sleep: pri_tdm_din_sleep {
+ mux {
+ pins = "gpio95";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio95";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ pri_tdm_din_active: pri_tdm_din_active {
+ mux {
+ pins = "gpio95";
+ function = "mi2s0_data0";
+ };
+
+ config {
+ pins = "gpio95";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ };
+ };
+ };
+
+ pri_tdm_dout {
+ pri_tdm_dout_sleep: pri_tdm_dout_sleep {
+ mux {
+ pins = "gpio96";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio96";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ pri_tdm_dout_active: pri_tdm_dout_active {
+ mux {
+ pins = "gpio96";
+ function = "mi2s0_data1";
+ };
+
+ config {
+ pins = "gpio96";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+ };
+
+
+ tert_tdm {
+ tert_tdm_sck_sleep: tert_tdm_sck_sleep {
+ mux {
+ pins = "gpio212";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio212";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ tert_tdm_sck_active: tert_tdm_sck_active {
+ mux {
+ pins = "gpio212";
+ function = "mi2s2_sck";
+ };
+
+ config {
+ pins = "gpio212";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ };
+ };
+
+ tert_tdm_ws_sleep: tert_tdm_ws_sleep {
+ mux {
+ pins = "gpio213";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio213";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ tert_tdm_ws_active: tert_tdm_ws_active {
+ mux {
+ pins = "gpio213";
+ function = "mi2s2_ws";
+ };
+
+ config {
+ pins = "gpio213";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ };
+ };
+ };
+
+ tert_tdm_din {
+ tert_tdm_din_sleep: tert_tdm_din_sleep {
+ mux {
+ pins = "gpio214";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio214";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ tert_tdm_din_active: tert_tdm_din_active {
+ mux {
+ pins = "gpio214";
+ function = "mi2s2_data0";
+ };
+
+ config {
+ pins = "gpio214";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ };
+ };
+ };
+
+ tert_tdm_dout {
+ tert_tdm_dout_sleep: tert_tdm_dout_sleep {
+ mux {
+ pins = "gpio215";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio215";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ tert_tdm_dout_active: tert_tdm_dout_active {
+ mux {
+ pins = "gpio215";
+ function = "mi2s2_data1";
+ };
+
+ config {
+ pins = "gpio215";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+ };
+
+ audio_internal_mclk1_active: audio_internal_mclk1_active {
+ mux {
+ pins = "gpio80";
+ function = "mi2s_mclk1";
+ };
+
+ config {
+ pins = "gpio80";
+ drive-strength = <8>;
+ bias-disable;
+ output-high;
+ };
+ };
+
+ audio_internal_mclk1_sleep: audio_internal_mclk1_sleep {
+ mux {
+ pins = "gpio80";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio80";
+ drive-strength = <2>;
+ bias-pull-down;
+ };
+ };
+
+ cci0_active: cci0_active {
+ mux {
+ /* CLK, DATA */
+ pins = "gpio113","gpio114";
+ function = "cci_i2c";
+ };
+
+ config {
+ pins = "gpio113","gpio114";
+ bias-pull-up; /* PULL UP*/
+ drive-strength = <2>; /* 2 MA */
+ };
+ };
+
+ cci0_suspend: cci0_suspend {
+ mux {
+ /* CLK, DATA */
+ pins = "gpio113","gpio114";
+ function = "cci_i2c";
+ };
+
+ config {
+ pins = "gpio113","gpio114";
+ bias-pull-down; /* PULL DOWN */
+ drive-strength = <2>; /* 2 MA */
+ };
+ };
+
+ cci1_active: cci1_active {
+ mux {
+ /* CLK, DATA */
+ pins = "gpio115","gpio116";
+ function = "cci_i2c";
+ };
+
+ config {
+ pins = "gpio115","gpio116";
+ bias-pull-up; /* PULL UP*/
+ drive-strength = <2>; /* 2 MA */
+ };
+ };
+
+ cci1_suspend: cci1_suspend {
+ mux {
+ /* CLK, DATA */
+ pins = "gpio115","gpio116";
+ function = "cci_i2c";
+ };
+
+ config {
+ pins = "gpio115","gpio116";
+ bias-pull-down; /* PULL DOWN */
+ drive-strength = <2>; /* 2 MA */
+ };
+ };
+
+ cci2_active: cci2_active {
+ mux {
+ /* CLK, DATA */
+ pins = "gpio10","gpio11";
+ function = "cci_i2c";
+ };
+
+ config {
+ pins = "gpio10","gpio11";
+ bias-pull-up; /* PULL UP*/
+ drive-strength = <2>; /* 2 MA */
+ };
+ };
+
+ cci2_suspend: cci2_suspend {
+ mux {
+ /* CLK, DATA */
+ pins = "gpio10","gpio11";
+ function = "cci_i2c";
+ };
+
+ config {
+ pins = "gpio10","gpio11";
+ bias-pull-down; /* PULL DOWN */
+ drive-strength = <2>; /* 2 MA */
+ };
+ };
+
+ cci3_active: cci3_active {
+ mux {
+ /* CLK, DATA */
+ pins = "gpio123","gpio124";
+ function = "cci_i2c";
+ };
+
+ config {
+ pins = "gpio123","gpio124";
+ bias-pull-up; /* PULL UP*/
+ drive-strength = <2>; /* 2 MA */
+ };
+ };
+
+ cci3_suspend: cci3_suspend {
+ mux {
+ /* CLK, DATA */
+ pins = "gpio123","gpio124";
+ function = "cci_i2c";
+ };
+
+ config {
+ pins = "gpio123","gpio124";
+ bias-pull-down; /* PULL DOWN */
+ drive-strength = <2>; /* 2 MA */
+ };
+ };
+
+ cci4_active: cci4_active {
+ mux {
+ /* CLK, DATA */
+ pins = "gpio117","gpio118";
+ function = "cci_i2c";
+ };
+
+ config {
+ pins = "gpio117","gpio118";
+ bias-pull-up; /* PULL UP*/
+ drive-strength = <2>; /* 2 MA */
+ };
+ };
+
+ cci4_suspend: cci4_suspend {
+ mux {
+ /* CLK, DATA */
+ pins = "gpio117","gpio118";
+ function = "cci_i2c";
+ };
+
+ config {
+ pins = "gpio117","gpio118";
+ bias-pull-down; /* PULL DOWN */
+ drive-strength = <2>; /* 2 MA */
+ };
+ };
+
+ cci5_active: cci5_active {
+ mux {
+ /* CLK, DATA */
+ pins = "gpio12","gpio13";
+ function = "cci_i2c";
+ };
+
+ config {
+ pins = "gpio12","gpio13";
+ bias-pull-up; /* PULL UP*/
+ drive-strength = <2>; /* 2 MA */
+ };
+ };
+
+ cci5_suspend: cci5_suspend {
+ mux {
+ /* CLK, DATA */
+ pins = "gpio12","gpio13";
+ function = "cci_i2c";
+ };
+
+ config {
+ pins = "gpio12","gpio13";
+ bias-pull-down; /* PULL DOWN */
+ drive-strength = <2>; /* 2 MA */
+ };
+ };
+
+ cci6_active: cci6_active {
+ mux {
+ /* CLK, DATA */
+ pins = "gpio145","gpio146";
+ function = "cci_i2c";
+ };
+
+ config {
+ pins = "gpio145","gpio146";
+ bias-pull-up; /* PULL UP*/
+ drive-strength = <2>; /* 2 MA */
+ };
+ };
+
+ cci6_suspend: cci6_suspend {
+ mux {
+ /* CLK, DATA */
+ pins = "gpio145","gpio146";
+ function = "cci_i2c";
+ };
+
+ config {
+ pins = "gpio145","gpio146";
+ bias-pull-down; /* PULL DOWN */
+ drive-strength = <2>; /* 2 MA */
+ };
+ };
+
+ cci7_active: cci7_active {
+ mux {
+ /* CLK, DATA */
+ pins = "gpio164","gpio165";
+ function = "cci_i2c";
+ };
+
+ config {
+ pins = "gpio164","gpio165";
+ bias-pull-up; /* PULL UP*/
+ drive-strength = <2>; /* 2 MA */
+ };
+ };
+
+ cci7_suspend: cci7_suspend {
+ mux {
+ /* CLK, DATA */
+ pins = "gpio164","gpio165";
+ function = "cci_i2c";
+ };
+
+ config {
+ pins = "gpio164","gpio165";
+ bias-pull-down; /* PULL DOWN */
+ drive-strength = <2>; /* 2 MA */
+ };
+ };
+
+ cam_sensor0_active: cam_sensor0_active {
+ /* intr gpio for bridge chip 0 */
+ mux {
+ pins = "gpio162";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio162";
+ bias-pull-up; /* PULL UP */
+ drive-strength = <2>; /* 2 MA */
+ };
+ };
+
+ cam_sensor0_suspend: cam_sensor0_suspend {
+ /* intr gpio for bridge chip 0 */
+ mux {
+ pins = "gpio162";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio162";
+ bias-pull-down; /* PULL DOWN */
+ drive-strength = <2>; /* 2 MA */
+ };
+ };
+
+ cam_sensor1_active: cam_sensor1_active {
+ /* intr gpio for bridge chip 1 */
+ mux {
+ pins = "gpio163";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio163";
+ bias-pull-up; /* PULL UP*/
+ drive-strength = <2>; /* 2 MA */
+ };
+ };
+
+ cam_sensor1_suspend: cam_sensor1_suspend {
+ /* intr gpio for bridge chip 1 */
+ mux {
+ pins = "gpio163";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio163";
+ bias-pull-down; /* PULL DOWN */
+ drive-strength = <2>; /* 2 MA */
+ };
+ };
+
+ cam_sensor2_active: cam_sensor2_active {
+ /* intr gpio for bridge chip 2 */
+ mux {
+ pins = "gpio16";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio16";
+ bias-pull-up; /* PULL UP */
+ drive-strength = <2>; /* 2 MA */
+ };
+ };
+
+ cam_sensor2_suspend: cam_sensor2_suspend {
+ /* intr gpio for bridge chip 2 */
+ mux {
+ pins = "gpio16";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio16";
+ bias-pull-down; /* PULL DOWN */
+ drive-strength = <2>; /* 2 MA */
+ };
+ };
+
+ cam_sensor3_active: cam_sensor3_active {
+ /* intr gpio for bridge chip 3 */
+ mux {
+ pins = "gpio17";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio17";
+ bias-pull-up; /* PULL UP */
+ drive-strength = <2>; /* 2 MA */
+ };
+ };
+
+ cam_sensor3_suspend: cam_sensor3_suspend {
+ /* intr gpio for bridge chip 3 */
+ mux {
+ pins = "gpio17";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio17";
+ bias-pull-down; /* PULL DOWN */
+ drive-strength = <2>; /* 2 MA */
+ };
+ };
+
+ usb0_phy_ps: usb0_phy_ps {
+ usb3phy0_portselect_default: usb3phy0_portselect_default {
+ mux {
+ pins = "gpio166";
+ function = "usb0_phy";
+ };
+
+ config {
+ pins = "gpio166";
+ bias-disable;
+ drive-strength = <2>;
+ };
+ };
+ };
+
+ usb1_phy_ps: usb1_phy_ps {
+ usb3phy1_portselect_default: usb3phy1_portselect_default {
+ mux {
+ pins = "gpio49";
+ function = "usb1_phy";
+ };
+
+ config {
+ pins = "gpio49";
+ bias-disable;
+ drive-strength = <2>;
+ };
+ };
+ };
+
+ hs1_i2s_sck {
+ hs1_i2s_sck_sleep: hs1_i2s_sck_sleep {
+ mux {
+ pins = "gpio208";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio208";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ hs1_i2s_sck_active: hs1_i2s_sck_active {
+ mux {
+ pins = "gpio208";
+ function = "hs1_mi2s";
+ };
+
+ config {
+ pins = "gpio208";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+ };
+
+ hs1_i2s_ws {
+ hs1_i2s_ws_sleep: hs1_i2s_ws_sleep {
+ mux {
+ pins = "gpio209";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio209";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ hs1_i2s_ws_active: hs1_i2s_ws_active {
+ mux {
+ pins = "gpio209";
+ function = "hs1_mi2s";
+ };
+
+ config {
+ pins = "gpio209";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+ };
+
+ hs1_i2s_data0 {
+ hs1_i2s_data0_sleep: hs1_i2s_data0_sleep {
+ mux {
+ pins = "gpio210";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio210";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ hs1_i2s_data0_active: hs1_i2s_data0_active {
+ mux {
+ pins = "gpio210";
+ function = "hs1_mi2s";
+ };
+
+ config {
+ pins = "gpio210";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+ };
+
+ hs1_i2s_data1 {
+ hs1_i2s_data1_sleep: hs1_i2s_data1_sleep {
+ mux {
+ pins = "gpio211";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio211";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ hs1_i2s_data1_active: hs1_i2s_data1_active {
+ mux {
+ pins = "gpio211";
+ function = "hs1_mi2s";
+ };
+
+ config {
+ pins = "gpio211";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ input-enable;
+ };
+ };
+ };
+
+ hs2_i2s_sck {
+ hs2_i2s_sck_sleep: hs2_i2s_sck_sleep {
+ mux {
+ pins = "gpio92";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio92";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ hs2_i2s_sck_active: hs2_i2s_sck_active {
+ mux {
+ pins = "gpio92";
+ function = "hs2_mi2s";
+ };
+
+ config {
+ pins = "gpio92";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+ };
+
+ hs2_i2s_ws {
+ hs2_i2s_ws_sleep: hs2_i2s_ws_sleep {
+ mux {
+ pins = "gpio91";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio91";
+ drive-strength = <2>; /* 8 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ hs2_i2s_ws_active: hs2_i2s_ws_active {
+ mux {
+ pins = "gpio91";
+ function = "hs2_mi2s";
+ };
+
+ config {
+ pins = "gpio91";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+ };
+
+ hs2_i2s_data0 {
+ hs2_i2s_data0_sleep: hs2_i2s_data0_sleep {
+ mux {
+ pins = "gpio218";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio218";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ hs2_i2s_data0_active: hs2_i2s_data0_active {
+ mux {
+ pins = "gpio218";
+ function = "hs2_mi2s";
+ };
+
+ config {
+ pins = "gpio218";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+ };
+
+ hs2_i2s_data1 {
+ hs2_i2s_data1_sleep: hs2_i2s_data1_sleep {
+ mux {
+ pins = "gpio219";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio219";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ hs2_i2s_data1_active: hs2_i2s_data1_active {
+ mux {
+ pins = "gpio219";
+ function = "hs2_mi2s";
+ };
+
+ config {
+ pins = "gpio219";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ input-enable;
+ };
+ };
+ };
+
+ hs3_i2s_sck {
+ hs3_i2s_sck_sleep: hs3_i2s_sck_sleep {
+ mux {
+ pins = "gpio224";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio224";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ hs3_i2s_sck_active: hs3_i2s_sck_active {
+ mux {
+ pins = "gpio224";
+ function = "hs3_mi2s";
+ };
+
+ config {
+ pins = "gpio224";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+ };
+
+ hs3_i2s_ws {
+ hs3_i2s_ws_sleep: hs3_i2s_ws_sleep {
+ mux {
+ pins = "gpio225";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio225";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ hs3_i2s_ws_active: hs3_i2s_ws_active {
+ mux {
+ pins = "gpio225";
+ function = "hs3_mi2s";
+ };
+
+ config {
+ pins = "gpio225";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+ };
+
+ hs3_i2s_data0 {
+ hs3_i2s_data0_sleep: hs3_i2s_data0_sleep {
+ mux {
+ pins = "gpio226";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio226";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ hs3_i2s_data0_active: hs3_i2s_data0_active {
+ mux {
+ pins = "gpio226";
+ function = "hs3_mi2s";
+ };
+
+ config {
+ pins = "gpio226";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+ };
+
+ hs3_i2s_data1 {
+ hs3_i2s_data1_sleep: hs3_i2s_data1_sleep {
+ mux {
+ pins = "gpio227";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio227";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ hs3_i2s_data1_active: hs3_i2s_data1_active {
+ mux {
+ pins = "gpio227";
+ function = "hs3_mi2s";
+ };
+
+ config {
+ pins = "gpio227";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ input-enable;
+ };
+ };
+ };
+
+ hs4_i2s_sck {
+ hs4_i2s_sck_sleep: hs4_i2s_sck_sleep {
+ mux {
+ pins = "gpio220";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio220";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ hs4_i2s_sck_active: hs4_i2s_sck_active {
+ mux {
+ pins = "gpio220";
+ function = "mi2s1_sck";
+ };
+
+ config {
+ pins = "gpio220";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+ };
+
+ hs4_i2s_ws {
+ hs4_i2s_ws_sleep: hs4_i2s_ws_sleep {
+ mux {
+ pins = "gpio221";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio221";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ hs4_i2s_ws_active: hs4_i2s_ws_active {
+ mux {
+ pins = "gpio221";
+ function = "mi2s1_ws";
+ };
+
+ config {
+ pins = "gpio221";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+ };
+
+ hs4_i2s_data0 {
+ hs4_i2s_data0_sleep: hs4_i2s_data0_sleep {
+ mux {
+ pins = "gpio222";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio222";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ hs4_i2s_data0_active: hs4_i2s_data0_active {
+ mux {
+ pins = "gpio222";
+ function = "mi2s1_data0";
+ };
+
+ config {
+ pins = "gpio222";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+ };
+
+ hs4_i2s_data1 {
+ hs4_i2s_data1_sleep: hs4_i2s_data1_sleep {
+ mux {
+ pins = "gpio223";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio223";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ hs4_i2s_data1_active: hs4_i2s_data1_active {
+ mux {
+ pins = "gpio223";
+ function = "mi2s1_data1";
+ };
+
+ config {
+ pins = "gpio223";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ input-enable;
+ };
+ };
+ };
+
+ hs5_i2s_sck {
+ hs5_i2s_sck_sleep: hs5_i2s_sck_sleep {
+ mux {
+ pins = "gpio212";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio212";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ hs5_i2s_sck_active: hs5_i2s_sck_active {
+ mux {
+ pins = "gpio212";
+ function = "mi2s2_sck";
+ };
+
+ config {
+ pins = "gpio212";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+ };
+
+ hs5_i2s_ws {
+ hs5_i2s_ws_sleep: hs5_i2s_ws_sleep {
+ mux {
+ pins = "gpio213";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio213";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ hs5_i2s_ws_active: hs5_i2s_ws_active {
+ mux {
+ pins = "gpio213";
+ function = "mi2s2_ws";
+ };
+
+ config {
+ pins = "gpio213";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+ };
+
+ hs5_i2s_data0 {
+ hs5_i2s_data0_sleep: hs5_i2s_data0_sleep {
+ mux {
+ pins = "gpio214";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio214";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ hs5_i2s_data0_active: hs5_i2s_data0_active {
+ mux {
+ pins = "gpio214";
+ function = "mi2s2_data0";
+ };
+
+ config {
+ pins = "gpio214";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+ };
+
+ hs5_i2s_data1 {
+ hs5_i2s_data1_sleep: hs5_i2s_data1_sleep {
+ mux {
+ pins = "gpio215";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio215";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ hs5_i2s_data1_active: hs5_i2s_data1_active {
+ mux {
+ pins = "gpio215";
+ function = "mi2s2_data1";
+ };
+
+ config {
+ pins = "gpio215";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ input-enable;
+ };
+ };
+ };
+};
diff --git a/qcom/direwolf-qupv3.dtsi b/qcom/direwolf-qupv3.dtsi
new file mode 100755
index 00000000..a9926ffe
--- /dev/null
+++ b/qcom/direwolf-qupv3.dtsi
@@ -0,0 +1,995 @@
+&soc {
+ /* QUPv3 SE Instances
+ * Qup0 0: SE 0
+ * Qup0 1: SE 1
+ * Qup0 2: SE 2
+ * Qup0 3: SE 3
+ * Qup0 4: SE 4
+ * Qup0 5: SE 5
+ * Qup0 6: SE 6
+ * Qup0 7: SE 7
+ * Qup1 0: SE 8
+ * Qup1 1: SE 9
+ * Qup1 2: SE 10
+ * Qup1 3: SE 11
+ * Qup1 4: SE 12
+ * Qup1 5: SE 13
+ * Qup1 6: SE 14
+ * Qup1 7: SE 15
+ * Qup2 0: SE 16
+ * Qup2 1: SE 17
+ * Qup2 2: SE 18
+ * Qup2 3: SE 19
+ * Qup2 4: SE 20
+ * Qup2 5: SE 21
+ * Qup2 6: SE 22
+ * Qup2 7: SE 23
+ */
+
+ /* GPI Instance */
+ gpi_dma0: qcom,gpi-dma@900000 {
+ compatible = "qcom,gpi-dma";
+ #dma-cells = <5>;
+ reg = <0x900000 0x60000>;
+ reg-names = "gpi-top";
+ iommus = <&apps_smmu 0x576 0x0>;
+ qcom,max-num-gpii = <12>;
+ interrupts = <GIC_SPI 244 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 245 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 247 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 248 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 249 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 250 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 251 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 252 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 253 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 254 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 255 IRQ_TYPE_LEVEL_HIGH>;
+ qcom,gpii-mask = <0xfff>;
+ qcom,ev-factor = <2>;
+ qcom,iommu-dma-addr-pool = <0x100000 0x100000>;
+ qcom,gpi-ee-offset = <0x10000>;
+ dma-coherent;
+ status = "ok";
+ };
+
+ /* QUPv3_0 wrapper instance */
+ qupv3_0: qcom,qupv3_0_geni_se@9c0000 {
+ compatible = "qcom,geni-se-qup";
+ reg = <0x9c0000 0x2000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+ clock-names = "m-ahb", "s-ahb";
+ clocks = <&gcc GCC_QUPV3_WRAP_0_M_AHB_CLK>,
+ <&gcc GCC_QUPV3_WRAP_0_S_AHB_CLK>;
+ iommus = <&apps_smmu 0x563 0x0>;
+ qcom,iommu-dma-addr-pool = <0x40000000 0x10000000>;
+ qcom,iommu-geometry = <0x40000000 0x10000000>;
+ qcom,iommu-dma = "fastmap";
+ status = "ok";
+
+ qupv3_se0_i2c: i2c@980000 {
+ compatible = "qcom,i2c-geni";
+ reg = <0x980000 0x4000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ interrupts = <GIC_SPI 601 IRQ_TYPE_LEVEL_HIGH>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP0_S0_CLK>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se0_i2c_active>;
+ pinctrl-1 = <&qupv3_se0_i2c_sleep>;
+ status = "disabled";
+ };
+
+ qupv3_se0_spi: spi@980000 {
+ compatible = "qcom,spi-geni";
+ reg = <0x980000 0x4000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg-names = "se_phys";
+ interrupts = <GIC_SPI 601 IRQ_TYPE_LEVEL_HIGH>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP0_S0_CLK>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se0_spi_active>;
+ pinctrl-1 = <&qupv3_se0_spi_sleep>;
+ spi-max-frequency = <50000000>;
+ status = "disabled";
+ };
+
+ qupv3_se1_i2c: i2c@984000 {
+ compatible = "qcom,i2c-geni";
+ reg = <0x984000 0x4000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ interrupts = <GIC_SPI 602 IRQ_TYPE_LEVEL_HIGH>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP0_S1_CLK>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se1_i2c_active>;
+ pinctrl-1 = <&qupv3_se1_i2c_sleep>;
+ status = "disabled";
+ };
+
+ qupv3_se1_spi: spi@984000 {
+ compatible = "qcom,spi-geni";
+ reg = <0x984000 0x4000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg-names = "se_phys";
+ interrupts = <GIC_SPI 602 IRQ_TYPE_LEVEL_HIGH>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP0_S1_CLK>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se1_spi_active>;
+ pinctrl-1 = <&qupv3_se1_spi_sleep>;
+ spi-max-frequency = <50000000>;
+ status = "disabled";
+ };
+
+ qupv3_se2_i2c: i2c@988000 {
+ compatible = "qcom,i2c-geni";
+ reg = <0x988000 0x4000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ interrupts = <GIC_SPI 603 IRQ_TYPE_LEVEL_HIGH>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP0_S2_CLK>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se2_i2c_active>;
+ pinctrl-1 = <&qupv3_se2_i2c_sleep>;
+ status = "disabled";
+ };
+
+ qupv3_se2_spi: spi@988000 {
+ compatible = "qcom,spi-geni";
+ reg = <0x988000 0x4000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg-names = "se_phys";
+ interrupts = <GIC_SPI 603 IRQ_TYPE_LEVEL_HIGH>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP0_S2_CLK>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se2_spi_active>;
+ pinctrl-1 = <&qupv3_se2_spi_sleep>;
+ spi-max-frequency = <50000000>;
+ status = "disabled";
+ };
+
+ /* 4-wire HSUART Instance */
+ qupv3_se2_4uart: qcom,qup_uart@988000 {
+ compatible = "qcom,msm-geni-serial-hs";
+ reg = <0x988000 0x4000>;
+ reg-names = "se_phys";
+ interrupts-extended = <&intc GIC_SPI 603 IRQ_TYPE_LEVEL_HIGH>,
+ <&tlmm 124 IRQ_TYPE_LEVEL_HIGH>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP0_S2_CLK>;
+ pinctrl-names = "default", "active", "sleep";
+ pinctrl-0 = <&qupv3_se2_default_cts>,
+ <&qupv3_se2_default_rtsrx>, <&qupv3_se2_default_tx>;
+ pinctrl-1 = <&qupv3_se2_ctsrx>, <&qupv3_se2_rts>,
+ <&qupv3_se2_tx>;
+ pinctrl-2 = <&qupv3_se2_ctsrx>, <&qupv3_se2_rts>,
+ <&qupv3_se2_tx>;
+ qcom,wakeup-byte = <0xFD>;
+ status = "disabled";
+ };
+
+ qupv3_se3_i2c: i2c@98c000 {
+ compatible = "qcom,i2c-geni";
+ reg = <0x98c000 0x4000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ interrupts = <GIC_SPI 604 IRQ_TYPE_LEVEL_HIGH>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP0_S3_CLK>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se3_i2c_active>;
+ pinctrl-1 = <&qupv3_se3_i2c_sleep>;
+ status = "disabled";
+ };
+
+ qupv3_se3_spi: spi@98c000 {
+ compatible = "qcom,spi-geni";
+ reg = <0x98c000 0x4000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg-names = "se_phys";
+ interrupts = <GIC_SPI 604 IRQ_TYPE_LEVEL_HIGH>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP0_S3_CLK>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se3_spi_active>;
+ pinctrl-1 = <&qupv3_se3_spi_sleep>;
+ spi-max-frequency = <50000000>;
+ status = "disabled";
+ };
+
+ /* HS UART Instance */
+ qupv3_se3_4uart: qcom,qup_uart@98c000 {
+ compatible = "qcom,msm-geni-serial-hs";
+ reg = <0x98c000 0x4000>;
+ reg-names = "se_phys";
+ interrupts-extended = <&intc GIC_SPI 604 IRQ_TYPE_LEVEL_HIGH>,
+ <&tlmm 135 IRQ_TYPE_LEVEL_HIGH>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP0_S3_CLK>;
+ pinctrl-names = "default", "active", "sleep", "shutdown";
+ pinctrl-0 = <&qupv3_se3_default_cts>,
+ <&qupv3_se3_default_rtsrx>, <&qupv3_se3_default_tx>;
+ pinctrl-1 = <&qupv3_se3_ctsrx>, <&qupv3_se3_rts>,
+ <&qupv3_se3_tx>;
+ pinctrl-2 = <&qupv3_se3_ctsrx>, <&qupv3_se3_rts>,
+ <&qupv3_se3_tx>;
+ pinctrl-3 = <&qupv3_se3_default_cts>,
+ <&qupv3_se3_default_rtsrx>, <&qupv3_se3_default_tx>;
+ qcom,wakeup-byte = <0xFD>;
+ status = "disabled";
+ };
+
+ qupv3_se4_i2c: i2c@990000 {
+ compatible = "qcom,i2c-geni";
+ reg = <0x990000 0x4000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ interrupts = <GIC_SPI 605 IRQ_TYPE_LEVEL_HIGH>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP0_S4_CLK>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se4_i2c_active>;
+ pinctrl-1 = <&qupv3_se4_i2c_sleep>;
+ status = "disabled";
+ };
+
+ qupv3_se4_spi: spi@990000 {
+ compatible = "qcom,spi-geni";
+ reg = <0x990000 0x4000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg-names = "se_phys";
+ interrupts = <GIC_SPI 605 IRQ_TYPE_LEVEL_HIGH>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP0_S4_CLK>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se4_spi_active>;
+ pinctrl-1 = <&qupv3_se4_spi_sleep>;
+ spi-max-frequency = <50000000>;
+ status = "disabled";
+ };
+
+ qupv3_se5_i2c: i2c@994000 {
+ compatible = "qcom,i2c-geni";
+ reg = <0x994000 0x4000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ interrupts = <GIC_SPI 606 IRQ_TYPE_LEVEL_HIGH>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP0_S5_CLK>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se5_i2c_active>;
+ pinctrl-1 = <&qupv3_se5_i2c_sleep>;
+ status = "disabled";
+ };
+
+ qupv3_se5_spi: spi@994000 {
+ compatible = "qcom,spi-geni";
+ reg = <0x994000 0x4000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg-names = "se_phys";
+ interrupts = <GIC_SPI 606 IRQ_TYPE_LEVEL_HIGH>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP0_S5_CLK>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se5_spi_active>;
+ pinctrl-1 = <&qupv3_se5_spi_sleep>;
+ spi-max-frequency = <50000000>;
+ status = "disabled";
+ };
+
+ qupv3_se6_i2c: i2c@998000 {
+ compatible = "qcom,i2c-geni";
+ reg = <0x998000 0x4000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ interrupts = <GIC_SPI 607 IRQ_TYPE_LEVEL_HIGH>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP0_S6_CLK>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se6_i2c_active>;
+ pinctrl-1 = <&qupv3_se6_i2c_sleep>;
+ status = "disabled";
+ };
+
+ qupv3_se6_spi: spi@998000 {
+ compatible = "qcom,spi-geni";
+ reg = <0x998000 0x4000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg-names = "se_phys";
+ interrupts = <GIC_SPI 607 IRQ_TYPE_LEVEL_HIGH>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP0_S6_CLK>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se6_spi_active>;
+ pinctrl-1 = <&qupv3_se6_spi_sleep>;
+ spi-max-frequency = <50000000>;
+ status = "disabled";
+ };
+
+ qupv3_se6_4uart: qcom,qup_uart@998000 {
+ compatible = "qcom,msm-geni-serial-hs";
+ reg = <0x998000 0x4000>;
+ reg-names = "se_phys";
+ interrupts = <&intc GIC_SPI 607 IRQ_TYPE_LEVEL_HIGH>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP0_S6_CLK>;
+ pinctrl-names = "default", "active", "sleep", "shutdown";
+ pinctrl-0 = <&qupv3_se6_default_cts>,
+ <&qupv3_se6_default_rtsrx>, <&qupv3_se6_default_tx>;
+ pinctrl-1 = <&qupv3_se6_ctsrx>, <&qupv3_se6_rts>,
+ <&qupv3_se6_tx>;
+ pinctrl-2 = <&qupv3_se6_ctsrx>, <&qupv3_se6_rts>,
+ <&qupv3_se6_tx>;
+ pinctrl-3 = <&qupv3_se6_default_cts>,
+ <&qupv3_se6_default_rtsrx>, <&qupv3_se6_default_tx>;
+ qcom,wakeup-byte = <0xFD>;
+ status = "disabled";
+ };
+
+ qupv3_se7_i2c: i2c@99c000 {
+ compatible = "qcom,i2c-geni";
+ reg = <0x99c000 0x4000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ interrupts = <GIC_SPI 608 IRQ_TYPE_LEVEL_HIGH>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP0_S7_CLK>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se7_i2c_active>;
+ pinctrl-1 = <&qupv3_se7_i2c_sleep>;
+ status = "disabled";
+ };
+
+ qupv3_se7_spi: spi@99c000 {
+ compatible = "qcom,spi-geni";
+ reg = <0x99c000 0x4000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg-names = "se_phys";
+ interrupts = <GIC_SPI 608 IRQ_TYPE_LEVEL_HIGH>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP0_S7_CLK>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se7_spi_active>;
+ pinctrl-1 = <&qupv3_se7_spi_sleep>;
+ spi-max-frequency = <50000000>;
+ status = "disabled";
+ };
+ };
+
+ /* GPI Instance */
+ gpi_dma1: qcom,gpi-dma@a00000 {
+ compatible = "qcom,gpi-dma";
+ #dma-cells = <5>;
+ reg = <0xa00000 0x60000>;
+ reg-names = "gpi-top";
+ iommus = <&apps_smmu 0x96 0x0>;
+ qcom,max-num-gpii = <12>;
+ interrupts = <GIC_SPI 279 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 280 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 281 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 282 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 283 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 284 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 293 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 294 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 295 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 296 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 297 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 298 IRQ_TYPE_LEVEL_HIGH>;
+ qcom,gpii-mask = <0xfff>;
+ qcom,ev-factor = <2>;
+ qcom,iommu-dma-addr-pool = <0x100000 0x100000>;
+ qcom,gpi-ee-offset = <0x10000>;
+ dma-coherent;
+ status = "ok";
+ };
+
+ /* QUPv3_1 wrapper instance */
+ qupv3_1: qcom,qupv3_1_geni_se@ac0000 {
+ compatible = "qcom,geni-se-qup";
+ reg = <0xac0000 0x2000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+ clock-names = "m-ahb", "s-ahb";
+ clocks = <&gcc GCC_QUPV3_WRAP_1_M_AHB_CLK>,
+ <&gcc GCC_QUPV3_WRAP_1_S_AHB_CLK>;
+ iommus = <&apps_smmu 0x83 0x0>;
+ qcom,iommu-dma-addr-pool = <0x40000000 0x10000000>;
+ qcom,iommu-geometry = <0x40000000 0x10000000>;
+ qcom,iommu-dma = "fastmap";
+ status = "ok";
+
+ qupv3_se8_i2c: i2c@a80000 {
+ compatible = "qcom,i2c-geni";
+ reg = <0xa80000 0x4000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP1_S0_CLK>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se8_i2c_active>;
+ pinctrl-1 = <&qupv3_se8_i2c_sleep>;
+ status = "disabled";
+ };
+
+ qupv3_se8_spi: spi@a80000 {
+ compatible = "qcom,spi-geni";
+ reg = <0xa80000 0x4000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg-names = "se_phys";
+ interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP1_S0_CLK>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se8_spi_active>;
+ pinctrl-1 = <&qupv3_se8_spi_sleep>;
+ spi-max-frequency = <50000000>;
+ status = "disabled";
+ };
+
+ qupv3_se9_i2c: i2c@a84000 {
+ compatible = "qcom,i2c-geni";
+ reg = <0xa84000 0x4000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP1_S1_CLK>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se9_i2c_active>;
+ pinctrl-1 = <&qupv3_se9_i2c_sleep>;
+ status = "disabled";
+ };
+
+ qupv3_se9_spi: spi@a84000 {
+ compatible = "qcom,spi-geni";
+ reg = <0xa84000 0x4000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg-names = "se_phys";
+ interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP1_S1_CLK>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se9_spi_active>;
+ pinctrl-1 = <&qupv3_se9_spi_sleep>;
+ spi-max-frequency = <50000000>;
+ status = "disabled";
+ };
+
+ qupv3_se10_i2c: i2c@a88000 {
+ compatible = "qcom,i2c-geni";
+ reg = <0xa88000 0x4000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ interrupts = <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP1_S2_CLK>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se10_i2c_active>;
+ pinctrl-1 = <&qupv3_se10_i2c_sleep>;
+ status = "disabled";
+ };
+
+ qupv3_se10_spi: spi@a88000 {
+ compatible = "qcom,spi-geni";
+ reg = <0xa88000 0x4000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg-names = "se_phys";
+ interrupts = <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP1_S2_CLK>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se10_spi_active>;
+ pinctrl-1 = <&qupv3_se10_spi_sleep>;
+ spi-max-frequency = <50000000>;
+ status = "disabled";
+ };
+
+ qupv3_se10_4uart: qcom,qup_uart@a88000 {
+ compatible = "qcom,msm-geni-serial-hs";
+ reg = <0xa88000 0x4000>;
+ reg-names = "se_phys";
+ interrupts = <&intc GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>;
+ interrupts-extended = <&intc GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>,
+ <&tlmm 25 IRQ_TYPE_LEVEL_HIGH>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP1_S2_CLK>;
+ pinctrl-names = "default", "active", "sleep", "shutdown";
+ pinctrl-0 = <&qupv3_se10_default_cts>,
+ <&qupv3_se10_default_rtsrx>, <&qupv3_se10_default_tx>;
+ pinctrl-1 = <&qupv3_se10_ctsrx>, <&qupv3_se10_rts>,
+ <&qupv3_se10_tx>;
+ pinctrl-2 = <&qupv3_se10_ctsrx>, <&qupv3_se10_rts>,
+ <&qupv3_se10_tx>;
+ pinctrl-3 = <&qupv3_se10_default_cts>,
+ <&qupv3_se10_default_rtsrx>, <&qupv3_se10_default_tx>;
+ qcom,wakeup-byte = <0xFD>;
+ status = "disabled";
+ };
+
+ qupv3_se11_i2c: i2c@a8c000 {
+ compatible = "qcom,i2c-geni";
+ reg = <0xa8c000 0x4000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP1_S3_CLK>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se11_i2c_active>;
+ pinctrl-1 = <&qupv3_se11_i2c_sleep>;
+ status = "disabled";
+ };
+
+ qupv3_se11_spi: spi@a8c000 {
+ compatible = "qcom,spi-geni";
+ reg = <0xa8c000 0x4000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg-names = "se_phys";
+ interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP1_S3_CLK>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se11_spi_active>;
+ pinctrl-1 = <&qupv3_se11_spi_sleep>;
+ spi-max-frequency = <50000000>;
+ status = "disabled";
+ };
+
+ qupv3_se12_i2c: i2c@a90000 {
+ compatible = "qcom,i2c-geni";
+ reg = <0xa90000 0x4000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP1_S4_CLK>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se12_i2c_active>;
+ pinctrl-1 = <&qupv3_se12_i2c_sleep>;
+ status = "disabled";
+ };
+
+ qupv3_se12_spi: spi@a90000 {
+ compatible = "qcom,spi-geni";
+ reg = <0xa90000 0x4000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg-names = "se_phys";
+ interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP1_S4_CLK>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se12_spi_active>;
+ pinctrl-1 = <&qupv3_se12_spi_sleep>;
+ spi-max-frequency = <50000000>;
+ status = "disabled";
+ };
+
+ qupv3_se13_i2c: i2c@a94000 {
+ compatible = "qcom,i2c-geni";
+ reg = <0xa94000 0x4000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP1_S5_CLK>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se13_i2c_active>;
+ pinctrl-1 = <&qupv3_se13_i2c_sleep>;
+ status = "disabled";
+ };
+
+ qupv3_se13_spi: spi@a94000 {
+ compatible = "qcom,spi-geni";
+ reg = <0xa94000 0x4000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg-names = "se_phys";
+ interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP1_S5_CLK>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se13_spi_active>;
+ pinctrl-1 = <&qupv3_se13_spi_sleep>;
+ spi-max-frequency = <50000000>;
+ status = "disabled";
+ };
+
+ qupv3_se13_2uart: qcom,qup_uart@a94000 {
+ compatible = "qcom,msm-geni-serial-hs";
+ reg = <0xa94000 0x4000>;
+ reg-names = "se_phys";
+ interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP1_S5_CLK>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se13_2uart_default>;
+ pinctrl-1 = <&qupv3_se13_2uart_active>;
+ pinctrl-2 = <&qupv3_se13_2uart_sleep>;
+ status = "disabled";
+ };
+
+ qupv3_se14_i2c: i2c@a98000 {
+ compatible = "qcom,i2c-geni";
+ reg = <0xa98000 0x4000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ interrupts = <GIC_SPI 835 IRQ_TYPE_LEVEL_HIGH>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP1_S6_CLK>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se14_i2c_active>;
+ pinctrl-1 = <&qupv3_se14_i2c_sleep>;
+ status = "disabled";
+ };
+
+ qupv3_se14_spi: spi@a98000 {
+ compatible = "qcom,spi-geni";
+ reg = <0xa98000 0x4000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg-names = "se_phys";
+ interrupts = <GIC_SPI 835 IRQ_TYPE_LEVEL_HIGH>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP1_S6_CLK>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se14_spi_active>;
+ pinctrl-1 = <&qupv3_se14_spi_sleep>;
+ spi-max-frequency = <50000000>;
+ status = "disabled";
+ };
+
+ qupv3_se15_i2c: i2c@a9c000 {
+ compatible = "qcom,i2c-geni";
+ reg = <0xa9c000 0x4000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ interrupts = <GIC_SPI 836 IRQ_TYPE_LEVEL_HIGH>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP1_S7_CLK>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se15_i2c_active>;
+ pinctrl-1 = <&qupv3_se15_i2c_sleep>;
+ status = "disabled";
+ };
+
+ qupv3_se15_spi: spi@a9c000 {
+ compatible = "qcom,spi-geni";
+ reg = <0xa9c000 0x4000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg-names = "se_phys";
+ interrupts = <GIC_SPI 836 IRQ_TYPE_LEVEL_HIGH>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP1_S7_CLK>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se15_spi_active>;
+ pinctrl-1 = <&qupv3_se15_spi_sleep>;
+ spi-max-frequency = <50000000>;
+ status = "disabled";
+ };
+ };
+
+ /* GPI Instance */
+ gpi_dma2: qcom,gpi-dma@800000 {
+ compatible = "qcom,gpi-dma";
+ #dma-cells = <5>;
+ reg = <0x800000 0x60000>;
+ reg-names = "gpi-top";
+ iommus = <&apps_smmu 0xb6 0x0>;
+ qcom,max-num-gpii = <12>;
+ interrupts = <GIC_SPI 588 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 589 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 590 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 591 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 592 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 593 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 594 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 595 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 596 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 597 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 598 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 599 IRQ_TYPE_LEVEL_HIGH>;
+ qcom,gpii-mask = <0xfff>;
+ qcom,ev-factor = <2>;
+ qcom,iommu-dma-addr-pool = <0x100000 0x100000>;
+ qcom,gpi-ee-offset = <0x10000>;
+ dma-coherent;
+ status = "ok";
+ };
+
+ /* QUPv3_2 wrapper instance */
+ qupv3_2: qcom,qupv3_2_geni_se@8c0000 {
+ compatible = "qcom,geni-se-qup";
+ reg = <0x8c0000 0x2000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+ clock-names = "m-ahb", "s-ahb";
+ clocks = <&gcc GCC_QUPV3_WRAP_2_M_AHB_CLK>,
+ <&gcc GCC_QUPV3_WRAP_2_S_AHB_CLK>;
+ iommus = <&apps_smmu 0xa3 0x0>;
+ qcom,iommu-dma-addr-pool = <0x40000000 0x10000000>;
+ qcom,iommu-geometry = <0x40000000 0x10000000>;
+ qcom,iommu-dma = "fastmap";
+ status = "ok";
+
+ qupv3_se16_i2c: i2c@880000 {
+ compatible = "qcom,i2c-geni";
+ reg = <0x880000 0x4000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ interrupts = <GIC_SPI 373 IRQ_TYPE_LEVEL_HIGH>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP2_S0_CLK>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se16_i2c_active>;
+ pinctrl-1 = <&qupv3_se16_i2c_sleep>;
+ status = "disabled";
+ };
+
+ qupv3_se16_spi: spi@880000 {
+ compatible = "qcom,spi-geni";
+ reg = <0x880000 0x4000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg-names = "se_phys";
+ interrupts = <GIC_SPI 373 IRQ_TYPE_LEVEL_HIGH>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP2_S0_CLK>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se16_spi_active>;
+ pinctrl-1 = <&qupv3_se16_spi_sleep>;
+ spi-max-frequency = <50000000>;
+ status = "disabled";
+ };
+
+ qupv3_se17_i2c: i2c@884000 {
+ compatible = "qcom,i2c-geni";
+ reg = <0x884000 0x4000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ interrupts = <GIC_SPI 583 IRQ_TYPE_LEVEL_HIGH>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP2_S1_CLK>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se17_i2c_active>;
+ pinctrl-1 = <&qupv3_se17_i2c_sleep>;
+ status = "disabled";
+ };
+
+ qupv3_se17_spi: spi@884000 {
+ compatible = "qcom,spi-geni";
+ reg = <0x884000 0x4000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg-names = "se_phys";
+ interrupts = <GIC_SPI 583 IRQ_TYPE_LEVEL_HIGH>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP2_S1_CLK>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se17_spi_active>;
+ pinctrl-1 = <&qupv3_se17_spi_sleep>;
+ spi-max-frequency = <50000000>;
+ status = "disabled";
+ };
+
+ /* Debug UART Instance */
+ qupv3_se17_2uart: qcom,qup_uart@884000 {
+ compatible = "qcom,geni-debug-uart";
+ reg = <0x884000 0x4000>;
+ reg-names = "se_phys";
+ interrupts = <GIC_SPI 583 IRQ_TYPE_LEVEL_HIGH>;
+ clock-names = "se";
+ clocks = <&gcc GCC_QUPV3_WRAP2_S1_CLK>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se17_2uart_active>;
+ pinctrl-1 = <&qupv3_se17_2uart_sleep>;
+ status = "disabled";
+ };
+
+ qupv3_se18_i2c: i2c@888000 {
+ compatible = "qcom,i2c-geni";
+ reg = <0x888000 0x4000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ interrupts = <GIC_SPI 584 IRQ_TYPE_LEVEL_HIGH>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP2_S2_CLK>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se18_i2c_active>;
+ pinctrl-1 = <&qupv3_se18_i2c_sleep>;
+ status = "disabled";
+ };
+
+ qupv3_se18_spi: spi@888000 {
+ compatible = "qcom,spi-geni";
+ reg = <0x888000 0x4000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg-names = "se_phys";
+ interrupts = <GIC_SPI 584 IRQ_TYPE_LEVEL_HIGH>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP2_S2_CLK>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se18_spi_active>;
+ pinctrl-1 = <&qupv3_se18_spi_sleep>;
+ spi-max-frequency = <50000000>;
+ status = "disabled";
+ };
+
+ qupv3_se19_i2c: i2c@88c000 {
+ compatible = "qcom,i2c-geni";
+ reg = <0x88c000 0x4000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ interrupts = <GIC_SPI 585 IRQ_TYPE_LEVEL_HIGH>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP2_S3_CLK>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se19_i2c_active>;
+ pinctrl-1 = <&qupv3_se19_i2c_sleep>;
+ status = "disabled";
+ };
+
+ qupv3_se19_spi: spi@88c000 {
+ compatible = "qcom,spi-geni";
+ reg = <0x88c000 0x4000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg-names = "se_phys";
+ interrupts = <GIC_SPI 585 IRQ_TYPE_LEVEL_HIGH>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP2_S3_CLK>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se19_spi_active>;
+ pinctrl-1 = <&qupv3_se19_spi_sleep>;
+ spi-max-frequency = <50000000>;
+ status = "disabled";
+ };
+
+ qupv3_se20_i2c: i2c@890000 {
+ compatible = "qcom,i2c-geni";
+ reg = <0x890000 0x4000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ interrupts = <GIC_SPI 586 IRQ_TYPE_LEVEL_HIGH>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP2_S4_CLK>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se20_i2c_active>;
+ pinctrl-1 = <&qupv3_se20_i2c_sleep>;
+ status = "disabled";
+ };
+
+ qupv3_se20_spi: spi@890000 {
+ compatible = "qcom,spi-geni";
+ reg = <0x890000 0x4000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg-names = "se_phys";
+ interrupts = <GIC_SPI 586 IRQ_TYPE_LEVEL_HIGH>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP2_S4_CLK>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se20_spi_active>;
+ pinctrl-1 = <&qupv3_se20_spi_sleep>;
+ spi-max-frequency = <50000000>;
+ status = "disabled";
+ };
+
+ qupv3_se21_i2c: i2c@894000 {
+ compatible = "qcom,i2c-geni";
+ reg = <0x894000 0x4000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ interrupts = <GIC_SPI 587 IRQ_TYPE_LEVEL_HIGH>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP2_S5_CLK>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se21_i2c_active>;
+ pinctrl-1 = <&qupv3_se21_i2c_sleep>;
+ status = "disabled";
+ };
+
+ qupv3_se21_spi: spi@894000 {
+ compatible = "qcom,spi-geni";
+ reg = <0x894000 0x4000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg-names = "se_phys";
+ interrupts = <GIC_SPI 587 IRQ_TYPE_LEVEL_HIGH>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP2_S5_CLK>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se21_spi_active>;
+ pinctrl-1 = <&qupv3_se21_spi_sleep>;
+ spi-max-frequency = <50000000>;
+ status = "disabled";
+ };
+
+ qupv3_se22_i2c: i2c@898000 {
+ compatible = "qcom,i2c-geni";
+ reg = <0x898000 0x4000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ interrupts = <GIC_SPI 833 IRQ_TYPE_LEVEL_HIGH>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP2_S6_CLK>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se22_i2c_active>;
+ pinctrl-1 = <&qupv3_se22_i2c_sleep>;
+ status = "disabled";
+ };
+
+ qupv3_se22_spi: spi@898000 {
+ compatible = "qcom,spi-geni";
+ reg = <0x898000 0x4000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg-names = "se_phys";
+ interrupts = <GIC_SPI 833 IRQ_TYPE_LEVEL_HIGH>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP2_S6_CLK>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se22_spi_active>;
+ pinctrl-1 = <&qupv3_se22_spi_sleep>;
+ spi-max-frequency = <50000000>;
+ status = "disabled";
+ };
+
+ qupv3_se23_i2c: i2c@89c000 {
+ compatible = "qcom,i2c-geni";
+ reg = <0x89c000 0x4000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ interrupts = <GIC_SPI 834 IRQ_TYPE_LEVEL_HIGH>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP2_S7_CLK>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se23_i2c_active>;
+ pinctrl-1 = <&qupv3_se23_i2c_sleep>;
+ status = "disabled";
+ };
+
+ qupv3_se23_spi: spi@89c000 {
+ compatible = "qcom,spi-geni";
+ reg = <0x89c000 0x4000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg-names = "se_phys";
+ interrupts = <GIC_SPI 834 IRQ_TYPE_LEVEL_HIGH>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP2_S7_CLK>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se23_spi_active>;
+ pinctrl-1 = <&qupv3_se23_spi_sleep>;
+ spi-max-frequency = <50000000>;
+ status = "disabled";
+ };
+ };
+};
diff --git a/qcom/direwolf-vm-la-overlay.dts b/qcom/direwolf-vm-la-overlay.dts
index d2cf8a1e..712e4032 100755
--- a/qcom/direwolf-vm-la-overlay.dts
+++ b/qcom/direwolf-vm-la-overlay.dts
@@ -1,9 +1,6 @@
/dts-v1/;
/plugin/;
-#include "direwolf-vm.dtsi"
-#include "direwolf-vm-la.dtsi"
-
/ {
model = "Qualcomm Technologies, Inc. Direwolf Single LA Virtual Machine";
compatible = "qcom,direwolf", "qcom,quinvm";
diff --git a/qcom/direwolf-vm-la.dtsi b/qcom/direwolf-vm-la.dtsi
index c9f71ee7..23ba2342 100755
--- a/qcom/direwolf-vm-la.dtsi
+++ b/qcom/direwolf-vm-la.dtsi
@@ -23,3 +23,24 @@
&qcom_rng_ee3 {
status = "okay";
};
+
+/ {
+ rename_devices: rename_devices {
+ compatible = "qcom,rename-devices";
+ rename_blk: rename_blk {
+ device-type = "block";
+ actual-dev = "vda", "vdb", "vdc",
+ "vdd", "vde", "vdf",
+ "vdg", "vdh", "vdi",
+ "vdj", "vdk", "vdl",
+ "vdm", "vdn", "vdo",
+ "vdp", "vdq";
+ rename-dev = "super", "userdata", "metadata",
+ "persist", "modem_a","bluetooth_a",
+ "misc", "vbmeta_a", "vbmeta_b",
+ "boot_a", "dtbo_a","dsp_a",
+ "modem_b", "bluetooth_b", "boot_b",
+ "dtbo_b", "dsp_b";
+ };
+ };
+};
diff --git a/qcom/direwolf-vm-lv-overlay.dts b/qcom/direwolf-vm-lv-overlay.dts
index db42d935..e19fce27 100755
--- a/qcom/direwolf-vm-lv-overlay.dts
+++ b/qcom/direwolf-vm-lv-overlay.dts
@@ -1,8 +1,6 @@
/dts-v1/;
/plugin/;
-#include "direwolf-vm.dtsi"
-#include "direwolf-vm-lv.dtsi"
/ {
model = "Qualcomm Technologies, Inc. Direwolf Single LV Virtual Machine";
diff --git a/qcom/direwolf-vm-lv.dtsi b/qcom/direwolf-vm-lv.dtsi
index 7e6cf28a..5d003425 100755
--- a/qcom/direwolf-vm-lv.dtsi
+++ b/qcom/direwolf-vm-lv.dtsi
@@ -18,8 +18,74 @@
};
&soc {
+ tlmm: pinctrl@f000000 {
+ compatible = "qcom,direwolf-pinctrl";
+ reg = <0x0F000000 0x1000000>;
+ interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ };
};
&hab {
vmid = <3>;
};
+&usb0 {
+ status = "okay";
+};
+
+&usb2_phy0 {
+ status = "okay";
+};
+
+&usb_qmp_dp_phy0 {
+ status = "okay";
+};
+
+&usb1 {
+ status = "okay";
+};
+
+&usb2_phy1 {
+ status = "okay";
+};
+
+&usb_qmp_dp_phy1 {
+ status = "okay";
+};
+
+&usb2 {
+ status = "disabled";
+};
+
+&usb2_phy2 {
+ status = "disabled";
+};
+
+&usb2_phy3 {
+ status = "disabled";
+};
+
+&usb2_phy4 {
+ status = "disabled";
+};
+
+&pcie0 {
+ status = "okay";
+ qcom,boot-option = <0x0>;
+};
+
+&pcie2a_msi_snps {
+ status = "okay";
+};
+
+&pcie4 {
+ status = "okay";
+ qcom,boot-option = <0x0>;
+};
+
+&pcie4_msi_snps {
+ status = "okay";
+};
diff --git a/qcom/direwolf-vm-pcie.dtsi b/qcom/direwolf-vm-pcie.dtsi
new file mode 100755
index 00000000..69249b1c
--- /dev/null
+++ b/qcom/direwolf-vm-pcie.dtsi
@@ -0,0 +1,1143 @@
+&soc {
+ pcie0: qcom,pcie@0x1c20000 {
+ compatible = "qcom,pci-msm";
+
+ reg = <0x01c20000 0x3000>,
+ <0x01c24000 0x2000>,
+ <0x3c000000 0xf1d>,
+ <0x3c000f20 0xa8>,
+ <0x3c001000 0x1000>,
+ <0x3c100000 0x100000>;
+ reg-names = "parf", "phy", "dm_core", "elbi", "iatu", "conf";
+
+ cell-index = <0>;
+ linux,pci-domain = <0>;
+
+ #address-cells = <3>;
+ #size-cells = <2>;
+ ranges = <0x01000000 0x0 0x3c200000 0x3c200000 0x0 0x100000>,
+ <0x02000000 0x0 0x3c300000 0x3c300000 0x0 0x1d00000>;
+
+ interrupt-parent = <&pcie0>;
+ interrupts = <0 1 2 3 4>;
+ interrupt-names = "int_global_int", "int_a", "int_b", "int_c",
+ "int_d";
+ #interrupt-cells = <1>;
+ interrupt-map-mask = <0 0 0 0xffffffff>;
+ interrupt-map = <0 0 0 0 &intc GIC_SPI 440 IRQ_TYPE_LEVEL_HIGH
+ 0 0 0 1 &intc GIC_SPI 530 IRQ_TYPE_LEVEL_HIGH
+ 0 0 0 2 &intc GIC_SPI 531 IRQ_TYPE_LEVEL_HIGH
+ 0 0 0 3 &intc GIC_SPI 532 IRQ_TYPE_LEVEL_HIGH
+ 0 0 0 4 &intc GIC_SPI 533 IRQ_TYPE_LEVEL_HIGH>;
+
+ msi-parent = <&pcie2a_msi_snps>;
+
+ perst-gpio = <&tlmm 143 0>;
+ wake-gpio = <&tlmm 145 0>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pcie2a_perst_default
+ &pcie2a_clkreq_default
+ &pcie2a_wake_default>;
+
+ gdsc-core-vdd-supply = <&gcc_pcie_2a_gdsc>;
+ vreg-1p2-supply = <&L3A0>;
+ vreg-0p9-supply = <&L11A0>;
+ vreg-cx-supply = <&VDD_CX_LEVEL>;
+
+ qcom,vreg-1p2-voltage-level = <1200000 1200000 25000>;
+ qcom,vreg-0p9-voltage-level = <880000 880000 99000>;
+ qcom,vreg-cx-voltage-level = <RPMH_REGULATOR_LEVEL_MAX
+ RPMH_REGULATOR_LEVEL_NOM 0>;
+
+ qcom,bw-scale = /* Gen1 */
+ <RPMH_REGULATOR_LEVEL_LOW_SVS
+ RPMH_REGULATOR_LEVEL_LOW_SVS
+ 19200000
+ /* Gen2 */
+ RPMH_REGULATOR_LEVEL_LOW_SVS
+ RPMH_REGULATOR_LEVEL_LOW_SVS
+ 19200000
+ /* Gen3 */
+ RPMH_REGULATOR_LEVEL_NOM
+ RPMH_REGULATOR_LEVEL_LOW_SVS
+ 100000000>;
+
+ clocks = <&gcc GCC_PCIE_2A_PIPE_CLK>,
+ <&rpmh_cxo_clk>,
+ <&gcc GCC_PCIE_2A_AUX_CLK>,
+ <&gcc GCC_PCIE_2A_CFG_AHB_CLK>,
+ <&gcc GCC_PCIE_2A_MSTR_AXI_CLK>,
+ <&gcc GCC_PCIE_2A_SLV_AXI_CLK>,
+ <&gcc GCC_PCIE_2A2B_CLKREF_CLK>,
+ <&gcc GCC_PCIE_2A_SLV_Q2A_AXI_CLK>,
+ <&gcc GCC_PCIE2A_PHY_RCHNG_CLK>,
+ <&gcc GCC_DDRSS_PCIE_SF_TBU_CLK>,
+ <&gcc GCC_AGGRE_NOC_PCIE_4_AXI_CLK>,
+ <&gcc GCC_PCIE_2A_PIPE_CLK_SRC>,
+ <&pcie_2a_pipe_clk>,
+ <&gcc GCC_AGGRE_NOC_PCIE_SOUTH_SF_AXI_CLK>,
+ <&gcc GCC_PCIE_2A_PIPEDIV2_CLK>;
+
+ clock-names = "pcie_pipe_clk", "pcie_0_ref_clk_src",
+ "pcie_0_aux_clk", "pcie_0_cfg_ahb_clk",
+ "pcie_0_mstr_axi_clk", "pcie_0_slv_axi_clk",
+ "pcie_0_ldo", "pcie_0_slv_q2a_axi_clk",
+ "pcie_phy_refgen_clk",
+ "pcie_ddrss_sf_tbu_clk",
+ "pcie_aggre_noc_4_axi_clk", "pcie_pipe_clk_mux",
+ "pcie_pipe_clk_ext_src",
+ "pcie_aggre_noc_south_sf_axi_clk", "pcie_0_pipediv2_clk";
+
+ clock-frequency = <0>, <0>, <19200000>, <0>, <0>, <0>,
+ <0>, <0>, <0>, <0>, <100000000>, <0>,
+ <0>, <0>, <0>;
+
+ clock-suppressible = <0>, <0>, <0>, <0>, <0>, <0>, <0>,
+ <0>, <0>, <0>, <0>, <0>, <0>, <0>, <0>;
+
+ resets = <&gcc GCC_PCIE_2A_BCR>,
+ <&gcc GCC_PCIE_2A_PHY_BCR>,
+ <&gcc GCC_PCIE_2A_PHY_NOCSR_COM_PHY_BCR>;
+ reset-names = "pcie_0_core_reset",
+ "pcie_0_phy_reset",
+ "pcie_phy_nocsr_com_phy_reset";
+
+ dma-coherent;
+
+ qcom,boot-option = <0x1>;
+ qcom,aux-clk-freq = <20>; /* 19.2 MHz */
+ qcom,l1-2-th-scale = <2>;
+ qcom,l1-2-th-value = <70>;
+ qcom,slv-addr-space-size = <0x2000000>;
+ qcom,ep-latency = <10>;
+ qcom,core-preset = <0x77777777>;
+
+ qcom,pcie-phy-ver = <1106>;
+ qcom,phy-status-offset = <0x214>;
+ qcom,phy-status-bit = <6>;
+ qcom,phy-power-down-offset = <0x240>;
+ qcom,phy-sequence = <0x0240 0x03 0x0
+ 0x0044 0x14 0x0
+ 0x0010 0x00 0x0
+ 0x001c 0x31 0x0
+ 0x0020 0x01 0x0
+ 0x0024 0xde 0x0
+ 0x0028 0x07 0x0
+ 0x0030 0x4c 0x0
+ 0x0034 0x06 0x0
+ 0x0048 0x90 0x0
+ 0x0058 0x0f 0x0
+ 0x0074 0x06 0x0
+ 0x0078 0x06 0x0
+ 0x007c 0x16 0x0
+ 0x0080 0x16 0x0
+ 0x0084 0x36 0x0
+ 0x0088 0x36 0x0
+ 0x0094 0x08 0x0
+ 0x00a4 0x42 0x0
+ 0x00ac 0x0a 0x0
+ 0x00b0 0x1a 0x0
+ 0x00b4 0x14 0x0
+ 0x00b8 0x34 0x0
+ 0x00bc 0x82 0x0
+ 0x00c4 0x68 0x0
+ 0x00cc 0x55 0x0
+ 0x00d0 0x55 0x0
+ 0x00d4 0x03 0x0
+ 0x00d8 0xab 0x0
+ 0x00dc 0xaa 0x0
+ 0x00e0 0x02 0x0
+ 0x010c 0x02 0x0
+ 0x0110 0x24 0x0
+ 0x0118 0xb4 0x0
+ 0x011c 0x03 0x0
+ 0x0154 0x34 0x0
+ 0x0158 0x01 0x0
+ 0x016c 0x08 0x0
+ 0x01ac 0xb9 0x0
+ 0x01b0 0x1e 0x0
+ 0x01b4 0x94 0x0
+ 0x01b8 0x18 0x0
+ 0x01bc 0x11 0x0
+ 0x0ee4 0x02 0x0
+ 0x16e4 0x04 0x0
+ 0x0e84 0xd5 0x0
+ 0x1684 0xd5 0x0
+ 0x0e90 0x3f 0x0
+ 0x1690 0x3f 0x0
+ 0x0e3c 0x11 0x0
+ 0x163c 0x11 0x0
+ 0x0e40 0x0c 0x0
+ 0x1640 0x0c 0x0
+ 0x115c 0x7f 0x0
+ 0x1160 0xff 0x0
+ 0x1164 0x7f 0x0
+ 0x1168 0x34 0x0
+ 0x116c 0xd8 0x0
+ 0x195c 0x7f 0x0
+ 0x1960 0xff 0x0
+ 0x1964 0x7f 0x0
+ 0x1968 0x34 0x0
+ 0x196c 0xd8 0x0
+ 0x1170 0xdc 0x0
+ 0x1174 0xdc 0x0
+ 0x1178 0x5c 0x0
+ 0x117c 0x34 0x0
+ 0x1180 0xa6 0x0
+ 0x1970 0xdc 0x0
+ 0x1974 0xdc 0x0
+ 0x1978 0x5c 0x0
+ 0x197c 0x34 0x0
+ 0x1980 0xa6 0x0
+ 0x1190 0x34 0x0
+ 0x1990 0x34 0x0
+ 0x10d8 0x0f 0x0
+ 0x18d8 0x0f 0x0
+ 0x10dc 0x00 0x0
+ 0x18dc 0x00 0x0
+ 0x104c 0x08 0x0
+ 0x184c 0x08 0x0
+ 0x1050 0x08 0x0
+ 0x1850 0x08 0x0
+ 0x1044 0xf0 0x0
+ 0x1844 0xf0 0x0
+ 0x11a4 0x38 0x0
+ 0x19a4 0x38 0x0
+ 0x02dc 0x05 0x0
+ 0x0388 0x88 0x0
+ 0x0398 0x0b 0x0
+ 0x03e4 0x0f 0x0
+ 0x060c 0x1d 0x0
+ 0x0614 0x07 0x0
+ 0x0620 0xc1 0x0
+ 0x0694 0x00 0x0
+ 0x0200 0x00 0x0
+ 0x0244 0x03 0x0>;
+
+ status = "disabled";
+
+ pcie0_rp: pcie0_rp {
+ reg = <0 0 0 0 0>;
+ };
+ };
+
+ pcie1: qcom,pcie@0x01c18000 {
+ compatible = "qcom,pci-msm";
+
+ reg = <0x01c18000 0x3000>,
+ <0x01c1e000 0x2000>,
+ <0x38000000 0xf1d>,
+ <0x38000f20 0xa8>,
+ <0x38001000 0x1000>,
+ <0x38100000 0x100000>;
+ reg-names = "parf", "phy", "dm_core", "elbi", "iatu", "conf";
+
+ cell-index = <1>;
+ linux,pci-domain = <1>;
+
+ #address-cells = <3>;
+ #size-cells = <2>;
+ ranges = <0x01000000 0x0 0x38200000 0x38200000 0x0 0x100000>,
+ <0x02000000 0x0 0x38300000 0x38300000 0x0 0x1d00000>;
+
+ interrupt-parent = <&pcie1>;
+ interrupts = <0 1 2 3 4>;
+ interrupt-names = "int_global_int", "int_a", "int_b", "int_c",
+ "int_d";
+ #interrupt-cells = <1>;
+ interrupt-map-mask = <0 0 0 0xffffffff>;
+ interrupt-map = <0 0 0 0 &intc GIC_SPI 263 IRQ_TYPE_LEVEL_HIGH
+ 0 0 0 1 &intc GIC_SPI 375 IRQ_TYPE_LEVEL_HIGH
+ 0 0 0 2 &intc GIC_SPI 434 IRQ_TYPE_LEVEL_HIGH
+ 0 0 0 3 &intc GIC_SPI 435 IRQ_TYPE_LEVEL_HIGH
+ 0 0 0 4 &intc GIC_SPI 438 IRQ_TYPE_LEVEL_HIGH>;
+
+ msi-parent = <&pcie2b_msi_snps>;
+
+ perst-gpio = <&tlmm 147 0>;
+ wake-gpio = <&tlmm 146 0>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pcie2b_perst_default
+ &pcie2b_clkreq_default
+ &pcie2b_wake_default>;
+
+ gdsc-core-vdd-supply = <&gcc_pcie_2b_gdsc>;
+ vreg-1p2-supply = <&L3A0>;
+ vreg-0p9-supply = <&L11A0>;
+ vreg-cx-supply = <&VDD_CX_LEVEL>;
+
+ qcom,vreg-1p2-voltage-level = <1200000 1200000 25000>;
+ qcom,vreg-0p9-voltage-level = <880000 880000 99000>;
+ qcom,vreg-cx-voltage-level = <RPMH_REGULATOR_LEVEL_MAX
+ RPMH_REGULATOR_LEVEL_NOM 0>;
+
+ qcom,bw-scale = /* Gen1 */
+ <RPMH_REGULATOR_LEVEL_LOW_SVS
+ RPMH_REGULATOR_LEVEL_LOW_SVS
+ 19200000
+ /* Gen2 */
+ RPMH_REGULATOR_LEVEL_LOW_SVS
+ RPMH_REGULATOR_LEVEL_LOW_SVS
+ 19200000
+ /* Gen3 */
+ RPMH_REGULATOR_LEVEL_NOM
+ RPMH_REGULATOR_LEVEL_LOW_SVS
+ 100000000>;
+
+ clocks = <&gcc GCC_PCIE_2B_PIPE_CLK>,
+ <&rpmh_cxo_clk>,
+ <&gcc GCC_PCIE_2B_AUX_CLK>,
+ <&gcc GCC_PCIE_2B_CFG_AHB_CLK>,
+ <&gcc GCC_PCIE_2B_MSTR_AXI_CLK>,
+ <&gcc GCC_PCIE_2B_SLV_AXI_CLK>,
+ <&gcc GCC_PCIE_2A2B_CLKREF_CLK>,
+ <&gcc GCC_PCIE_2B_SLV_Q2A_AXI_CLK>,
+ <&gcc GCC_PCIE2B_PHY_RCHNG_CLK>,
+ <&gcc GCC_DDRSS_PCIE_SF_TBU_CLK>,
+ <&gcc GCC_AGGRE_NOC_PCIE_4_AXI_CLK>,
+ <&gcc GCC_PCIE_2B_PIPE_CLK_SRC>,
+ <&pcie_2b_pipe_clk>,
+ <&gcc GCC_AGGRE_NOC_PCIE_SOUTH_SF_AXI_CLK>,
+ <&gcc GCC_PCIE_2B_PIPEDIV2_CLK>;
+
+ clock-names = "pcie_pipe_clk", "pcie_1_ref_clk_src",
+ "pcie_1_aux_clk", "pcie_1_cfg_ahb_clk",
+ "pcie_1_mstr_axi_clk", "pcie_1_slv_axi_clk",
+ "pcie_1_ldo", "pcie_1_slv_q2a_axi_clk",
+ "pcie_phy_refgen_clk",
+ "pcie_ddrss_sf_tbu_clk",
+ "pcie_aggre_noc_4_axi_clk", "pcie_pipe_clk_mux",
+ "pcie_pipe_clk_ext_src",
+ "pcie_aggre_noc_south_sf_axi_clk", "pcie_1_pipediv2_clk";
+
+ clock-frequency = <0>, <0>, <19200000>, <0>, <0>, <0>,
+ <0>, <0>, <0>, <0>, <100000000>, <0>,
+ <0>, <0>, <0>;
+
+ clock-suppressible = <0>, <0>, <0>, <0>, <0>, <0>, <0>,
+ <0>, <0>, <0>, <0>, <0>, <0>, <0>, <0>;
+
+ resets = <&gcc GCC_PCIE_2B_BCR>,
+ <&gcc GCC_PCIE_2B_PHY_BCR>,
+ <&gcc GCC_PCIE_2B_PHY_NOCSR_COM_PHY_BCR>;
+ reset-names = "pcie_1_core_reset",
+ "pcie_1_phy_reset",
+ "pcie_phy_nocsr_com_phy_reset";
+
+ dma-coherent;
+
+ qcom,boot-option = <0x1>;
+ qcom,aux-clk-freq = <20>; /* 19.2 MHz */
+ qcom,l1-2-th-scale = <2>;
+ qcom,l1-2-th-value = <70>;
+ qcom,slv-addr-space-size = <0x2000000>;
+ qcom,ep-latency = <10>;
+ qcom,core-preset = <0x77777777>;
+
+ qcom,pcie-phy-ver = <1106>;
+ qcom,phy-status-offset = <0x214>;
+ qcom,phy-status-bit = <6>;
+ qcom,phy-power-down-offset = <0x240>;
+ qcom,phy-sequence = <0x0240 0x03 0x0
+ 0x0044 0x14 0x0
+ 0x0010 0x00 0x0
+ 0x001c 0x31 0x0
+ 0x0020 0x01 0x0
+ 0x0024 0xde 0x0
+ 0x0028 0x07 0x0
+ 0x0030 0x4c 0x0
+ 0x0034 0x06 0x0
+ 0x0048 0x90 0x0
+ 0x0058 0x0f 0x0
+ 0x0074 0x06 0x0
+ 0x0078 0x06 0x0
+ 0x007c 0x16 0x0
+ 0x0080 0x16 0x0
+ 0x0084 0x36 0x0
+ 0x0088 0x36 0x0
+ 0x0094 0x08 0x0
+ 0x00a4 0x42 0x0
+ 0x00ac 0x0a 0x0
+ 0x00b0 0x1a 0x0
+ 0x00b4 0x14 0x0
+ 0x00b8 0x34 0x0
+ 0x00bc 0x82 0x0
+ 0x00c4 0x68 0x0
+ 0x00cc 0x55 0x0
+ 0x00d0 0x55 0x0
+ 0x00d4 0x03 0x0
+ 0x00d8 0xab 0x0
+ 0x00dc 0xaa 0x0
+ 0x00e0 0x02 0x0
+ 0x010c 0x02 0x0
+ 0x0110 0x24 0x0
+ 0x0118 0xb4 0x0
+ 0x011c 0x03 0x0
+ 0x0154 0x34 0x0
+ 0x0158 0x01 0x0
+ 0x016c 0x08 0x0
+ 0x01ac 0xb9 0x0
+ 0x01b0 0x1e 0x0
+ 0x01b4 0x94 0x0
+ 0x01b8 0x18 0x0
+ 0x01bc 0x11 0x0
+ 0x0ee4 0x02 0x0
+ 0x16e4 0x04 0x0
+ 0x0e84 0xd5 0x0
+ 0x1684 0xd5 0x0
+ 0x0e90 0x3f 0x0
+ 0x1690 0x3f 0x0
+ 0x0e3c 0x11 0x0
+ 0x163c 0x11 0x0
+ 0x0e40 0x0c 0x0
+ 0x1640 0x0c 0x0
+ 0x115c 0x7f 0x0
+ 0x1160 0xff 0x0
+ 0x1164 0x7f 0x0
+ 0x1168 0x34 0x0
+ 0x116c 0xd8 0x0
+ 0x195c 0x7f 0x0
+ 0x1960 0xff 0x0
+ 0x1964 0x7f 0x0
+ 0x1968 0x34 0x0
+ 0x196c 0xd8 0x0
+ 0x1170 0xdc 0x0
+ 0x1174 0xdc 0x0
+ 0x1178 0x5c 0x0
+ 0x117c 0x34 0x0
+ 0x1180 0xa6 0x0
+ 0x1970 0xdc 0x0
+ 0x1974 0xdc 0x0
+ 0x1978 0x5c 0x0
+ 0x197c 0x34 0x0
+ 0x1980 0xa6 0x0
+ 0x1190 0x34 0x0
+ 0x1990 0x34 0x0
+ 0x10d8 0x0f 0x0
+ 0x18d8 0x0f 0x0
+ 0x10dc 0x00 0x0
+ 0x18dc 0x00 0x0
+ 0x104c 0x08 0x0
+ 0x184c 0x08 0x0
+ 0x1050 0x08 0x0
+ 0x1850 0x08 0x0
+ 0x1044 0xf0 0x0
+ 0x1844 0xf0 0x0
+ 0x11a4 0x38 0x0
+ 0x19a4 0x38 0x0
+ 0x02dc 0x05 0x0
+ 0x0388 0x88 0x0
+ 0x0398 0x0b 0x0
+ 0x03e4 0x0f 0x0
+ 0x060c 0x1d 0x0
+ 0x0614 0x07 0x0
+ 0x0620 0xc1 0x0
+ 0x0694 0x00 0x0
+ 0x0200 0x00 0x0
+ 0x0244 0x03 0x0>;
+
+ status = "disabled";
+
+ pcie1_rp: pcie1_rp {
+ reg = <0 0 0 0 0>;
+ };
+ };
+
+ pcie2: qcom,pcie@0x1c10000 {
+ compatible = "qcom,pci-msm";
+
+ reg = <0x01c10000 0x3000>,
+ <0x01c14000 0x2000>,
+ <0x40000000 0xf1d>,
+ <0x40000f20 0xa8>,
+ <0x40001000 0x1000>,
+ <0x40100000 0x100000>;
+ reg-names = "parf", "phy", "dm_core", "elbi", "iatu", "conf";
+
+ cell-index = <2>;
+ linux,pci-domain = <2>;
+
+ #address-cells = <3>;
+ #size-cells = <2>;
+ ranges = <0x01000000 0x0 0x40200000 0x40200000 0x0 0x100000>,
+ <0x02000000 0x0 0x40300000 0x40300000 0x0 0x1d00000>;
+
+ interrupt-parent = <&pcie2>;
+ interrupts = <0 1 2 3 4>;
+ interrupt-names = "int_global_int", "int_a", "int_b", "int_c",
+ "int_d";
+ #interrupt-cells = <1>;
+ interrupt-map-mask = <0 0 0 0xffffffff>;
+ interrupt-map = <0 0 0 &intc 0 GIC_SPI 567 IRQ_TYPE_LEVEL_HIGH
+ 0 0 0 1 &intc GIC_SPI 541 IRQ_TYPE_LEVEL_HIGH
+ 0 0 0 2 &intc GIC_SPI 542 IRQ_TYPE_LEVEL_HIGH
+ 0 0 0 3 &intc GIC_SPI 543 IRQ_TYPE_LEVEL_HIGH
+ 0 0 0 4 &intc GIC_SPI 544 IRQ_TYPE_LEVEL_HIGH>;
+
+ msi-parent = <&pcie3a_msi_snps>;
+
+ perst-gpio = <&tlmm 151 0>;
+ wake-gpio = <&tlmm 56 0>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pcie3a_perst_default
+ &pcie3a_clkreq_default
+ &pcie3a_wake_default>;
+
+ gdsc-core-vdd-supply = <&gcc_pcie_3a_gdsc>;
+ vreg-1p2-supply = <&L3A0>;
+ vreg-0p9-supply = <&L11A0>;
+ vreg-cx-supply = <&VDD_CX_LEVEL>;
+
+ qcom,vreg-1p2-voltage-level = <1200000 1200000 25000>;
+ qcom,vreg-0p9-voltage-level = <880000 880000 99000>;
+ qcom,vreg-cx-voltage-level = <RPMH_REGULATOR_LEVEL_MAX
+ RPMH_REGULATOR_LEVEL_NOM 0>;
+
+ qcom,bw-scale = /* Gen1 */
+ <RPMH_REGULATOR_LEVEL_LOW_SVS
+ RPMH_REGULATOR_LEVEL_LOW_SVS
+ 19200000
+ /* Gen2 */
+ RPMH_REGULATOR_LEVEL_LOW_SVS
+ RPMH_REGULATOR_LEVEL_LOW_SVS
+ 19200000
+ /* Gen3 */
+ RPMH_REGULATOR_LEVEL_NOM
+ RPMH_REGULATOR_LEVEL_LOW_SVS
+ 100000000>;
+
+ clocks = <&gcc GCC_PCIE_3A_PIPE_CLK>,
+ <&rpmh_cxo_clk>,
+ <&gcc GCC_PCIE_3A_AUX_CLK>,
+ <&gcc GCC_PCIE_3A_CFG_AHB_CLK>,
+ <&gcc GCC_PCIE_3A_MSTR_AXI_CLK>,
+ <&gcc GCC_PCIE_3A_SLV_AXI_CLK>,
+ <&gcc GCC_PCIE_3A3B_CLKREF_CLK>,
+ <&gcc GCC_PCIE_3A_SLV_Q2A_AXI_CLK>,
+ <&gcc GCC_PCIE3A_PHY_RCHNG_CLK>,
+ <&gcc GCC_DDRSS_PCIE_SF_TBU_CLK>,
+ <&gcc GCC_AGGRE_NOC_PCIE_4_AXI_CLK>,
+ <&gcc GCC_PCIE_3A_PIPE_CLK_SRC>,
+ <&pcie_3a_pipe_clk>,
+ <&gcc GCC_AGGRE_NOC_PCIE_SOUTH_SF_AXI_CLK>,
+ <&gcc GCC_PCIE_3A_PIPEDIV2_CLK>;
+
+ clock-names = "pcie_pipe_clk", "pcie_2_ref_clk_src",
+ "pcie_2_aux_clk", "pcie_2_cfg_ahb_clk",
+ "pcie_2_mstr_axi_clk", "pcie_2_slv_axi_clk",
+ "pcie_2_ldo", "pcie_2_slv_q2a_axi_clk",
+ "pcie_phy_refgen_clk",
+ "pcie_ddrss_sf_tbu_clk",
+ "pcie_aggre_noc_4_axi_clk", "pcie_pipe_clk_mux",
+ "pcie_pipe_clk_ext_src",
+ "pcie_aggre_noc_south_sf_axi_clk", "pcie_2_pipediv2_clk";
+
+ clock-frequency = <0>, <0>, <19200000>, <0>, <0>, <0>,
+ <0>, <0>, <0>, <0>, <100000000>, <0>,
+ <0>, <0>, <0>;
+
+ clock-suppressible = <0>, <0>, <0>, <0>, <0>, <0>, <0>,
+ <0>, <0>, <0>, <0>, <0>, <0>, <0>, <0>;
+
+ resets = <&gcc GCC_PCIE_3A_BCR>,
+ <&gcc GCC_PCIE_3A_PHY_BCR>,
+ <&gcc GCC_PCIE_3A_PHY_NOCSR_COM_PHY_BCR>;
+ reset-names = "pcie_2_core_reset",
+ "pcie_2_phy_reset",
+ "pcie_phy_nocsr_com_phy_reset";
+
+ dma-coherent;
+
+ qcom,boot-option = <0x1>;
+ qcom,aux-clk-freq = <20>; /* 19.2 MHz */
+ qcom,l1-2-th-scale = <2>;
+ qcom,l1-2-th-value = <70>;
+ qcom,slv-addr-space-size = <0x2000000>;
+ qcom,ep-latency = <10>;
+ qcom,core-preset = <0x77777777>;
+
+ qcom,pcie-phy-ver = <1106>;
+ qcom,phy-status-offset = <0x214>;
+ qcom,phy-status-bit = <6>;
+ qcom,phy-power-down-offset = <0x240>;
+ qcom,phy-sequence = <0x0240 0x03 0x0
+ 0x0010 0x01 0x0
+ 0x001c 0x31 0x0
+ 0x0020 0x01 0x0
+ 0x0024 0xde 0x0
+ 0x0028 0x07 0x0
+ 0x0030 0x4c 0x0
+ 0x0034 0x06 0x0
+ 0x0048 0x90 0x0
+ 0x0058 0x0f 0x0
+ 0x0074 0x06 0x0
+ 0x0078 0x06 0x0
+ 0x007c 0x16 0x0
+ 0x0080 0x16 0x0
+ 0x0084 0x36 0x0
+ 0x0088 0x36 0x0
+ 0x0094 0x08 0x0
+ 0x00a4 0x42 0x0
+ 0x00ac 0x0a 0x0
+ 0x00b0 0x1a 0x0
+ 0x00b4 0x14 0x0
+ 0x00b8 0x34 0x0
+ 0x00bc 0x82 0x0
+ 0x00c4 0x68 0x0
+ 0x00cc 0x55 0x0
+ 0x00d0 0x55 0x0
+ 0x00d4 0x03 0x0
+ 0x00d8 0xab 0x0
+ 0x00dc 0xaa 0x0
+ 0x00e0 0x02 0x0
+ 0x010c 0x02 0x0
+ 0x0110 0x24 0x0
+ 0x0118 0xb4 0x0
+ 0x011c 0x03 0x0
+ 0x0154 0x34 0x0
+ 0x0158 0x01 0x0
+ 0x016c 0x08 0x0
+ 0x01ac 0xca 0x0
+ 0x01b0 0x1e 0x0
+ 0x01b4 0xa2 0x0
+ 0x01b8 0x18 0x0
+ 0x01bc 0x11 0x0
+ 0x0ee4 0x02 0x0
+ 0x16e4 0x04 0x0
+ 0x1684 0xd5 0x0
+ 0x0e84 0xd5 0x0
+ 0x1690 0x3f 0x0
+ 0x0e90 0x3f 0x0
+ 0x115c 0x7f 0x0
+ 0x1160 0xff 0x0
+ 0x1164 0x7f 0x0
+ 0x1168 0x34 0x0
+ 0x116c 0xd8 0x0
+ 0x1170 0xdc 0x0
+ 0x1174 0xdc 0x0
+ 0x1178 0x5c 0x0
+ 0x117c 0x34 0x0
+ 0x1180 0xa6 0x0
+ 0x195c 0x7f 0x0
+ 0x1960 0xff 0x0
+ 0x1964 0x7f 0x0
+ 0x1968 0x34 0x0
+ 0x196c 0xd8 0x0
+ 0x1970 0xdc 0x0
+ 0x1974 0xdc 0x0
+ 0x1978 0x5c 0x0
+ 0x197c 0x34 0x0
+ 0x1980 0xa6 0x0
+ 0x10cc 0xf0 0x0
+ 0x18cc 0xf0 0x0
+ 0x10d8 0x0f 0x0
+ 0x18d8 0x0f 0x0
+ 0x10dc 0x00 0x0
+ 0x18dc 0x00 0x0
+ 0x11a4 0x38 0x0
+ 0x19a4 0x38 0x0
+ 0x0e3c 0x1d 0x0
+ 0x163c 0x1d 0x0
+ 0x0e40 0x0c 0x0
+ 0x1640 0x0c 0x0
+ 0x1190 0x34 0x0
+ 0x1990 0x34 0x0
+ 0x104c 0x08 0x0
+ 0x184c 0x08 0x0
+ 0x1050 0x08 0x0
+ 0x1850 0x08 0x0
+ 0x02dc 0x05 0x0
+ 0x0388 0x77 0x0
+ 0x0398 0x0b 0x0
+ 0x03e0 0x0f 0x0
+ 0x060c 0x1d 0x0
+ 0x0614 0x07 0x0
+ 0x0620 0xc1 0x0
+ 0x0694 0x00 0x0
+ 0x0200 0x00 0x0
+ 0x0244 0x03 0x0>;
+
+ status = "disabled";
+
+ pcie2_rp: pcie2_rp {
+ reg = <0 0 0 0 0>;
+ };
+ };
+
+ pcie3: qcom,pcie@0x01c08000 {
+ compatible = "qcom,pci-msm";
+
+ reg = <0x01c08000 0x3000>,
+ <0x01c0e000 0x2000>,
+ <0x32000000 0xf1d>,
+ <0x32000f20 0xa8>,
+ <0x32001000 0x1000>,
+ <0x32100000 0x100000>;
+ reg-names = "parf", "phy", "dm_core", "elbi", "iatu", "conf";
+
+ cell-index = <3>;
+ linux,pci-domain = <3>;
+
+ #address-cells = <3>;
+ #size-cells = <2>;
+ ranges = <0x01000000 0x0 0x32200000 0x32200000 0x0 0x100000>,
+ <0x02000000 0x0 0x32300000 0x32300000 0x0 0x1d00000>;
+
+ interrupt-parent = <&pcie3>;
+ interrupts = <0 1 2 3 4>;
+ interrupt-names = "int_global_int", "int_a", "int_b", "int_c",
+ "int_d";
+ #interrupt-cells = <1>;
+ interrupt-map-mask = <0 0 0 0xffffffff>;
+ interrupt-map = <0 0 0 0 &intc GIC_SPI 565 IRQ_TYPE_LEVEL_HIGH
+ 0 0 0 1 &intc GIC_SPI 526 IRQ_TYPE_LEVEL_HIGH
+ 0 0 0 2 &intc GIC_SPI 527 IRQ_TYPE_LEVEL_HIGH
+ 0 0 0 3 &intc GIC_SPI 528 IRQ_TYPE_LEVEL_HIGH
+ 0 0 0 4 &intc GIC_SPI 529 IRQ_TYPE_LEVEL_HIGH>;
+
+ msi-parent = <&pcie3b_msi_snps>;
+
+ perst-gpio = <&tlmm 153 0>;
+ wake-gpio = <&tlmm 130 0>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pcie3b_perst_default
+ &pcie3b_clkreq_default
+ &pcie3b_wake_default>;
+
+ gdsc-core-vdd-supply = <&gcc_pcie_3b_gdsc>;
+ vreg-1p2-supply = <&L3A0>;
+ vreg-0p9-supply = <&L11A0>;
+ vreg-cx-supply = <&VDD_CX_LEVEL>;
+
+ qcom,vreg-1p2-voltage-level = <1200000 1200000 25000>;
+ qcom,vreg-0p9-voltage-level = <880000 880000 99000>;
+ qcom,vreg-cx-voltage-level = <RPMH_REGULATOR_LEVEL_MAX
+ RPMH_REGULATOR_LEVEL_NOM 0>;
+
+ qcom,bw-scale = /* Gen1 */
+ <RPMH_REGULATOR_LEVEL_LOW_SVS
+ RPMH_REGULATOR_LEVEL_LOW_SVS
+ 19200000
+ /* Gen2 */
+ RPMH_REGULATOR_LEVEL_LOW_SVS
+ RPMH_REGULATOR_LEVEL_LOW_SVS
+ 19200000
+ /* Gen3 */
+ RPMH_REGULATOR_LEVEL_NOM
+ RPMH_REGULATOR_LEVEL_LOW_SVS
+ 100000000>;
+
+ clocks = <&gcc GCC_PCIE_3B_PIPE_CLK>,
+ <&rpmh_cxo_clk>,
+ <&gcc GCC_PCIE_3B_AUX_CLK>,
+ <&gcc GCC_PCIE_3B_CFG_AHB_CLK>,
+ <&gcc GCC_PCIE_3B_MSTR_AXI_CLK>,
+ <&gcc GCC_PCIE_3B_SLV_AXI_CLK>,
+ <&gcc GCC_PCIE_3A3B_CLKREF_CLK>,
+ <&gcc GCC_PCIE_3B_SLV_Q2A_AXI_CLK>,
+ <&gcc GCC_PCIE3B_PHY_RCHNG_CLK>,
+ <&gcc GCC_DDRSS_PCIE_SF_TBU_CLK>,
+ <&gcc GCC_AGGRE_NOC_PCIE_4_AXI_CLK>,
+ <&gcc GCC_PCIE_3B_PIPE_CLK_SRC>,
+ <&pcie_3b_pipe_clk>,
+ <&gcc GCC_AGGRE_NOC_PCIE_SOUTH_SF_AXI_CLK>,
+ <&gcc GCC_PCIE_3B_PIPEDIV2_CLK>;
+
+ clock-names = "pcie_pipe_clk", "pcie_3_ref_clk_src",
+ "pcie_3_aux_clk", "pcie_3_cfg_ahb_clk",
+ "pcie_3_mstr_axi_clk", "pcie_3_slv_axi_clk",
+ "pcie_3_ldo", "pcie_3_slv_q2a_axi_clk",
+ "pcie_phy_refgen_clk",
+ "pcie_ddrss_sf_tbu_clk",
+ "pcie_aggre_noc_4_axi_clk", "pcie_pipe_clk_mux",
+ "pcie_pipe_clk_ext_src",
+ "pcie_aggre_noc_south_sf_axi_clk", "pcie_3_pipediv2_clk";
+
+ clock-frequency = <0>, <0>, <19200000>, <0>, <0>, <0>,
+ <0>, <0>, <0>, <0>, <100000000>, <0>,
+ <0>, <0>, <0>;
+
+ clock-suppressible = <0>, <0>, <0>, <0>, <0>, <0>, <0>,
+ <0>, <0>, <0>, <0>, <0>, <0>, <0>, <0>;
+
+ resets = <&gcc GCC_PCIE_3B_BCR>,
+ <&gcc GCC_PCIE_3B_PHY_BCR>,
+ <&gcc GCC_PCIE_3B_PHY_NOCSR_COM_PHY_BCR>;
+ reset-names = "pcie_3_core_reset",
+ "pcie_3_phy_reset",
+ "pcie_phy_nocsr_com_phy_reset";
+
+ dma-coherent;
+
+ qcom,boot-option = <0x1>;
+ qcom,aux-clk-freq = <20>; /* 19.2 MHz */
+ qcom,l1-2-th-scale = <2>;
+ qcom,l1-2-th-value = <70>;
+ qcom,slv-addr-space-size = <0x2000000>;
+ qcom,ep-latency = <10>;
+ qcom,core-preset = <0x77777777>;
+
+ qcom,pcie-phy-ver = <1106>;
+ qcom,phy-status-offset = <0x214>;
+ qcom,phy-status-bit = <6>;
+ qcom,phy-power-down-offset = <0x240>;
+ qcom,phy-sequence = <0x0240 0x03 0x0
+ 0x0044 0x14 0x0
+ 0x0010 0x00 0x0
+ 0x001c 0x31 0x0
+ 0x0020 0x01 0x0
+ 0x0024 0xde 0x0
+ 0x0028 0x07 0x0
+ 0x0030 0x4c 0x0
+ 0x0034 0x06 0x0
+ 0x0048 0x90 0x0
+ 0x0058 0x0f 0x0
+ 0x0074 0x06 0x0
+ 0x0078 0x06 0x0
+ 0x007c 0x16 0x0
+ 0x0080 0x16 0x0
+ 0x0084 0x36 0x0
+ 0x0088 0x36 0x0
+ 0x0094 0x08 0x0
+ 0x00a4 0x42 0x0
+ 0x00ac 0x0a 0x0
+ 0x00b0 0x1a 0x0
+ 0x00b4 0x14 0x0
+ 0x00b8 0x34 0x0
+ 0x00bc 0x82 0x0
+ 0x00c4 0x68 0x0
+ 0x00cc 0x55 0x0
+ 0x00d0 0x55 0x0
+ 0x00d4 0x03 0x0
+ 0x00d8 0xab 0x0
+ 0x00dc 0xaa 0x0
+ 0x00e0 0x02 0x0
+ 0x010c 0x02 0x0
+ 0x0110 0x24 0x0
+ 0x0118 0xb4 0x0
+ 0x011c 0x03 0x0
+ 0x0154 0x34 0x0
+ 0x0158 0x01 0x0
+ 0x016c 0x08 0x0
+ 0x01ac 0xb9 0x0
+ 0x01b0 0x1e 0x0
+ 0x01b4 0x94 0x0
+ 0x01b8 0x18 0x0
+ 0x01bc 0x11 0x0
+ 0x0ee4 0x02 0x0
+ 0x16e4 0x04 0x0
+ 0x0e84 0xd5 0x0
+ 0x1684 0xd5 0x0
+ 0x0e90 0x3f 0x0
+ 0x1690 0x3f 0x0
+ 0x0e3c 0x11 0x0
+ 0x163c 0x11 0x0
+ 0x0e40 0x0c 0x0
+ 0x1640 0x0c 0x0
+ 0x115c 0x7f 0x0
+ 0x1160 0xff 0x0
+ 0x1164 0x7f 0x0
+ 0x1168 0x34 0x0
+ 0x116c 0xd8 0x0
+ 0x195c 0x7f 0x0
+ 0x1960 0xff 0x0
+ 0x1964 0x7f 0x0
+ 0x1968 0x34 0x0
+ 0x196c 0xd8 0x0
+ 0x1170 0xdc 0x0
+ 0x1174 0xdc 0x0
+ 0x1178 0x5c 0x0
+ 0x117c 0x34 0x0
+ 0x1180 0xa6 0x0
+ 0x1970 0xdc 0x0
+ 0x1974 0xdc 0x0
+ 0x1978 0x5c 0x0
+ 0x197c 0x34 0x0
+ 0x1980 0xa6 0x0
+ 0x1190 0x34 0x0
+ 0x1990 0x34 0x0
+ 0x10d8 0x0f 0x0
+ 0x18d8 0x0f 0x0
+ 0x10dc 0x00 0x0
+ 0x18dc 0x00 0x0
+ 0x104c 0x08 0x0
+ 0x184c 0x08 0x0
+ 0x1050 0x08 0x0
+ 0x1850 0x08 0x0
+ 0x1044 0xf0 0x0
+ 0x1844 0xf0 0x0
+ 0x11a4 0x38 0x0
+ 0x19a4 0x38 0x0
+ 0x02dc 0x05 0x0
+ 0x0388 0x88 0x0
+ 0x0398 0x0b 0x0
+ 0x03e4 0x0f 0x0
+ 0x060c 0x1d 0x0
+ 0x0614 0x07 0x0
+ 0x0620 0xc1 0x0
+ 0x0694 0x00 0x0
+ 0x0200 0x00 0x0
+ 0x0244 0x03 0x0>;
+
+ status = "disabled";
+
+ pcie3_rp: pcie3_rp {
+ reg = <0 0 0 0 0>;
+ };
+ };
+
+ pcie4: qcom,pcie@1c00000 {
+ compatible = "qcom,pci-msm";
+
+ reg = <0x01c00000 0x3000>,
+ <0x01c06000 0x2000>,
+ <0x30000000 0xf1d>,
+ <0x30000f20 0xa8>,
+ <0x30001000 0x1000>,
+ <0x30100000 0x100000>;
+ reg-names = "parf", "phy", "dm_core", "elbi", "iatu", "conf";
+
+ cell-index = <4>;
+ linux,pci-domain = <4>;
+ #address-cells = <3>;
+ #size-cells = <2>;
+ ranges = <0x01000000 0x0 0x30200000 0x30200000 0x0 0x100000>,
+ <0x02000000 0x0 0x30300000 0x30300000 0x0 0x1d00000>;
+
+ interrupt-parent = <&pcie4>;
+ interrupts = <0 1 2 3 4>;
+ interrupt-names = "int_global_int", "int_a", "int_b", "int_c",
+ "int_d";
+ #interrupt-cells = <1>;
+ interrupt-map-mask = <0 0 0 0xffffffff>;
+
+ interrupt-map = <0 0 0 0 &intc GIC_SPI 518 IRQ_TYPE_LEVEL_HIGH
+ 0 0 0 1 &intc GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
+ 0 0 0 2 &intc GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH
+ 0 0 0 3 &intc GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH
+ 0 0 0 4 &intc GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>;
+
+ msi-parent = <&pcie4_msi_snps>;
+ qcom,target-link-speed = <0x3>;
+ qcom,core-preset = <0x77777777>;
+
+ perst-gpio = <&tlmm 141 0>;
+ wake-gpio = <&tlmm 139 0>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&pcie4_perst_default
+ &pcie4_clkreq_default
+ &pcie4_wake_default>;
+ pinctrl-1 = <&pcie4_perst_default
+ &pcie4_clkreq_sleep
+ &pcie4_wake_default>;
+
+ gdsc-core-vdd-supply = <&gcc_pcie_4_gdsc>;
+ vreg-1p2-supply = <&L3A0>;
+ vreg-0p9-supply = <&L11A0>;
+ vreg-cx-supply = <&VDD_CX_LEVEL>;
+
+ qcom,vreg-1p2-voltage-level = <1200000 1200000 25000>;
+ qcom,vreg-0p9-voltage-level = <880000 880000 97200>;
+ qcom,vreg-cx-voltage-level = <RPMH_REGULATOR_LEVEL_MAX
+ RPMH_REGULATOR_LEVEL_NOM 0>;
+ qcom,bw-scale = /* Gen1 */
+ <RPMH_REGULATOR_LEVEL_LOW_SVS
+ RPMH_REGULATOR_LEVEL_LOW_SVS
+ 19200000
+ /* Gen2 */
+ RPMH_REGULATOR_LEVEL_LOW_SVS
+ RPMH_REGULATOR_LEVEL_LOW_SVS
+ 19200000
+ /* Gen3 */
+ RPMH_REGULATOR_LEVEL_NOM
+ RPMH_REGULATOR_LEVEL_LOW_SVS
+ 100000000>;
+
+ clocks = <&gcc GCC_PCIE_4_PIPE_CLK>,
+ <&rpmh_cxo_clk>,
+ <&gcc GCC_PCIE_4_AUX_CLK>,
+ <&gcc GCC_PCIE_4_CFG_AHB_CLK>,
+ <&gcc GCC_PCIE_4_MSTR_AXI_CLK>,
+ <&gcc GCC_PCIE_4_SLV_AXI_CLK>,
+ <&gcc GCC_PCIE_4_CLKREF_CLK>,
+ <&gcc GCC_PCIE_4_SLV_Q2A_AXI_CLK>,
+ <&gcc GCC_PCIE4_PHY_RCHNG_CLK>,
+ <&gcc GCC_DDRSS_PCIE_SF_TBU_CLK>,
+ <&gcc GCC_AGGRE_NOC_PCIE_4_AXI_CLK>,
+ <&gcc GCC_PCIE_4_PIPE_CLK_SRC>,
+ <&pcie_4_pipe_clk>,
+ <&gcc GCC_AGGRE_NOC_PCIE_SOUTH_SF_AXI_CLK>,
+ <&gcc GCC_CNOC_PCIE4_QX_CLK>,
+ <&gcc GCC_PCIE_4_PIPEDIV2_CLK>;
+
+ clock-names = "pcie_pipe_clk", "pcie_4_ref_clk_src",
+ "pcie_4_aux_clk", "pcie_4_cfg_ahb_clk",
+ "pcie_4_mstr_axi_clk", "pcie_4_slv_axi_clk",
+ "pcie_4_ldo", "pcie_4_slv_q2a_axi_clk",
+ "pcie_phy_refgen_clk",
+ "pcie_ddrss_sf_tbu_clk",
+ "pcie_aggre_noc_4_axi_clk", "pcie_pipe_clk_mux",
+ "pcie_pipe_clk_ext_src",
+ "pcie_aggre_noc_south_sf_axi_clk", "pcie_cnoc_4_qx",
+ "pcie_4_pipediv2_clk";
+
+ clock-frequency = <0>, <0>, <19200000>, <0>, <0>, <0>,
+ <0>, <0>, <0>, <0>, <100000000>, <0>,
+ <0>, <0>, <0>, <0>;
+
+ clock-suppressible = <0>, <0>, <0>, <0>, <0>, <0>, <0>, <0>,
+ <0>, <0>, <0>, <0>, <0>, <0>, <0>, <0>;
+
+ resets = <&gcc GCC_PCIE_4_BCR>,
+ <&gcc GCC_PCIE_4_PHY_BCR>,
+ <&gcc GCC_PCIE_4_PHY_NOCSR_COM_PHY_BCR>;
+ reset-names = "pcie_4_core_reset",
+ "pcie_4_phy_reset",
+ "pcie_phy_nocsr_com_phy_reset";
+
+ dma-coherent;
+
+ qcom,boot-option = <0x1>;
+ qcom,aux-clk-freq = <20>; /* 19.2 MHz */
+ qcom,l1-2-th-scale = <2>;
+ qcom,l1-2-th-value = <70>;
+ qcom,slv-addr-space-size = <0x2000000>;
+ qcom,ep-latency = <10>;
+
+ qcom,pcie-phy-ver = <10102>;
+ qcom,phy-status-offset = <0x214>;
+ qcom,phy-status-bit = <6>;
+ qcom,phy-power-down-offset = <0x240>;
+ qcom,phy-sequence = <0x0240 0x03 0x0
+ 0x0094 0x08 0x0
+ 0x0154 0x34 0x0
+ 0x016c 0x08 0x0
+ 0x0058 0x0f 0x0
+ 0x00a4 0x42 0x0
+ 0x0110 0x24 0x0
+ 0x011c 0x03 0x0
+ 0x0118 0xb4 0x0
+ 0x010c 0x02 0x0
+ 0x01bc 0x11 0x0
+ 0x00bc 0x82 0x0
+ 0x00d4 0x03 0x0
+ 0x00d0 0x55 0x0
+ 0x00cc 0x55 0x0
+ 0x00b0 0x1a 0x0
+ 0x00ac 0x0a 0x0
+ 0x00c4 0x68 0x0
+ 0x00e0 0x02 0x0
+ 0x00dc 0xaa 0x0
+ 0x00d8 0xab 0x0
+ 0x00b8 0x34 0x0
+ 0x00b4 0x14 0x0
+ 0x0158 0x01 0x0
+ 0x0074 0x06 0x0
+ 0x007c 0x16 0x0
+ 0x0084 0x36 0x0
+ 0x0078 0x06 0x0
+ 0x0080 0x16 0x0
+ 0x0088 0x36 0x0
+ 0x01b0 0x1e 0x0
+ 0x01ac 0xb9 0x0
+ 0x01b8 0x18 0x0
+ 0x01b4 0x94 0x0
+ 0x0050 0x07 0x0
+ 0x0010 0x00 0x0
+ 0x001c 0x31 0x0
+ 0x0020 0x01 0x0
+ 0x0024 0xde 0x0
+ 0x0028 0x07 0x0
+ 0x0030 0x4c 0x0
+ 0x0034 0x06 0x0
+ 0x0ee4 0x20 0x0
+ 0x0e84 0x75 0x0
+ 0x0e90 0x3f 0x0
+ 0x115c 0x7f 0x0
+ 0x1160 0xff 0x0
+ 0x1164 0xbf 0x0
+ 0x1168 0x3f 0x0
+ 0x116c 0xd8 0x0
+ 0x1170 0xdc 0x0
+ 0x1174 0xdc 0x0
+ 0x1178 0x5c 0x0
+ 0x117c 0x34 0x0
+ 0x1180 0xa6 0x0
+ 0x1190 0x34 0x0
+ 0x10d8 0x07 0x0
+ 0x0e3c 0x1d 0x0
+ 0x0e40 0x0c 0x0
+ 0x10dc 0x00 0x0
+ 0x104c 0x08 0x0
+ 0x1050 0x08 0x0
+ 0x1044 0xf0 0x0
+ 0x11a4 0x38 0x0
+ 0x10cc 0xf0 0x0
+ 0x0694 0x00 0x0
+ 0x0654 0x00 0x0
+ 0x06a8 0x0f 0x0
+ 0x0048 0x90 0x0
+ 0x0620 0xc1 0x0
+ 0x0388 0x77 0x0
+ 0x0398 0x0b 0x0
+ 0x02dc 0x05 0x0
+ 0x0200 0x00 0x0
+ 0x0244 0x03 0x0>;
+
+ status = "disabled";
+
+ pcie4_rp: pcie4_rp {
+ reg = <0 0 0 0 0>;
+ };
+ };
+
+ pcie2a_msi_snps: qcom,pcie2a_msi@a0000000 {
+ compatible = "qcom,pci-msi";
+ msi-controller;
+ reg = <0xa0000000 0x0>;
+ interrupt-parent = <&intc>;
+ interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
+ qcom,snps;
+ status = "disabled";
+ };
+
+ pcie2b_msi_snps: qcom,pcie2b_msi@a0000000 {
+ compatible = "qcom,pci-msi";
+ msi-controller;
+ reg = <0xa0000000 0x0>;
+ interrupt-parent = <&intc>;
+ interrupts = <GIC_SPI 306 IRQ_TYPE_LEVEL_HIGH>;
+ qcom,snps;
+ status = "disabled";
+ };
+
+ pcie3a_msi_snps: qcom,pcie3a_msi@a0000000 {
+ compatible = "qcom,pci-msi";
+ msi-controller;
+ reg = <0xa0000000 0x0>;
+ interrupt-parent = <&intc>;
+ interrupts = <GIC_SPI 312 IRQ_TYPE_LEVEL_HIGH>;
+ qcom,snps;
+ status = "disabled";
+ };
+
+ pcie3b_msi_snps: qcom,pcie3b_msi@a0000000 {
+ compatible = "qcom,pci-msi";
+ msi-controller;
+ reg = <0xa0000000 0x0>;
+ interrupt-parent = <&intc>;
+ interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>;
+ qcom,snps;
+ status = "disabled";
+ };
+
+ pcie4_msi_snps: qcom,pcie4_msi@a0000000 {
+ compatible = "qcom,pci-msi";
+ msi-controller;
+ reg = <0xa0000000 0x0>;
+ interrupt-parent = <&intc>;
+ interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>;
+ qcom,snps;
+ status = "disabled";
+ };
+};
diff --git a/qcom/direwolf-vm-usb.dtsi b/qcom/direwolf-vm-usb.dtsi
new file mode 100755
index 00000000..0f79e7e9
--- /dev/null
+++ b/qcom/direwolf-vm-usb.dtsi
@@ -0,0 +1,1008 @@
+#include <dt-bindings/phy/qcom,usb3-5nm-qmp-uni.h>
+#include <dt-bindings/phy/qcom,usb4-5nm-qmp-combo.h>
+
+&soc {
+ usb0: ssusb@a600000 {
+ compatible = "qcom,dwc-usb3-msm";
+ reg = <0xa600000 0x100000>;
+ reg-names = "core_base";
+
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+ dma-ranges;
+
+ interrupts-extended = <&pdc 14 IRQ_TYPE_EDGE_RISING>,
+ <&intc GIC_SPI 804 IRQ_TYPE_LEVEL_HIGH>,
+ <&pdc 138 IRQ_TYPE_LEVEL_HIGH>,
+ <&pdc 15 IRQ_TYPE_EDGE_RISING>;
+
+ interrupt-names = "dp_hs_phy_irq", "pwr_event_irq",
+ "ss_phy_irq", "dm_hs_phy_irq";
+ qcom,use-pdc-interrupts;
+
+ USB3_GDSC-supply = <&gcc_usb30_prim_gdsc>;
+ clocks = <&gcc GCC_USB30_PRIM_MASTER_CLK>,
+ <&gcc GCC_CFG_NOC_USB3_PRIM_AXI_CLK>,
+ <&gcc GCC_AGGRE_USB3_PRIM_AXI_CLK>,
+ <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>,
+ <&gcc GCC_USB30_PRIM_SLEEP_CLK>,
+ <&gcc GCC_AGGRE_USB_NOC_AXI_CLK>,
+ <&gcc GCC_AGGRE_USB_NOC_NORTH_AXI_CLK>,
+ <&gcc GCC_AGGRE_USB_NOC_SOUTH_AXI_CLK>,
+ <&gcc GCC_SYS_NOC_USB_AXI_CLK>;
+ clock-names = "core_clk", "iface_clk", "bus_aggr_clk",
+ "utmi_clk", "sleep_clk", "noc_aggr_clk",
+ "noc_aggr_north_clk", "noc_aggr_south_clk",
+ "noc_sys_clk";
+
+ resets = <&gcc GCC_USB30_PRIM_BCR>;
+ reset-names = "core_reset";
+
+ qcom,core-clk-rate = <200000000>;
+ qcom,core-clk-rate-hs = <66666667>;
+
+ qcom,dwc-usb3-msm-tx-fifo-size = <27696>;
+ qcom,host-poweroff-in-pm-suspend;
+
+ status = "disabled";
+
+ dwc3@a600000 {
+ compatible = "snps,dwc3";
+ reg = <0xa600000 0xd93c>;
+ iommus = <&apps_smmu 0x0820 0x0>;
+ qcom,iommu-dma = "bypass";
+ interrupts = <GIC_SPI 803 IRQ_TYPE_LEVEL_HIGH>;
+ usb-phy = <&usb2_phy0>, <&usb_qmp_dp_phy0>;
+ snps,disable-clk-gating;
+ snps,has-lpm-erratum;
+ snps,hird-threshold = /bits/ 8 <0x0>;
+ snps,ssp-u3-u0-quirk;
+ snps,is-utmi-l1-suspend;
+ snps,usb2-gadget-lpm-disable;
+ snps,dis-u1-entry-quirk;
+ snps,dis-u2-entry-quirk;
+ tx-fifo-resize;
+ maximum-speed = "super-speed-plus";
+ dr_mode = "otg";
+ usb-role-switch;
+ };
+ };
+
+ /* Primary USB port related High Speed PHY */
+ usb2_phy0: hsphy@88e5000 {
+ compatible = "qcom,usb-hsphy-snps-femto";
+ reg = <0x088e5000 0x120>;
+ reg-names = "hsusb_phy_base";
+
+ vdd-supply = <&L5A0>;
+ vdda18-supply = <&L7A0>;
+ vdda33-supply = <&L13A0>;
+
+ qcom,vdd-voltage-level = <0 912000 912000>;
+
+ clocks = <&dummycc RPMH_CXO_CLK>;
+ clock-names = "ref_clk_src";
+
+ resets = <&gcc GCC_QUSB2PHY_PRIM_BCR>;
+ reset-names = "phy_reset";
+ qcom,param-override-seq =
+ <0x63 0x6c /* override_x0 */
+ 0xC8 0x70 /* override_x1 */
+ 0x17 0x74>; /* override x2 */
+
+ status = "disabled";
+ };
+
+ /* Primary USB port related USB4-USB3-DP PHY */
+ usb_qmp_dp_phy0: ssphy@88eb000 {
+ compatible = "qcom,usb-ssphy-qmp-dp-combo";
+ reg = <0x88eb000 0x4000>;
+ reg-names = "qmp_phy_base";
+
+ vdd-supply = <&L5A0>;
+ qcom,vdd-voltage-level = <0 912000 912000>;
+ qcom,vdd-max-load-uA = <47000>;
+ core-supply = <&L3A0>;
+
+ clocks = <&gcc GCC_USB3_PRIM_PHY_AUX_CLK>,
+ <&gcc GCC_USB3_PRIM_PHY_PIPE_CLK>,
+ <&gcc GCC_USB3_PRIM_PHY_PIPE_CLK_SRC>,
+ <&usb3_phy_wrapper_gcc_usb30_pipe_clk>,
+ <&dummycc RPMH_CXO_CLK>,
+ <&gcc GCC_USB4_EUD_CLKREF_CLK>,
+ <&gcc GCC_USB3_PRIM_PHY_COM_AUX_CLK>;
+ clock-names = "aux_clk", "pipe_clk", "pipe_clk_mux",
+ "pipe_clk_ext_src", "ref_clk_src",
+ "ref_clk", "com_aux_clk";
+
+ resets = <&gcc GCC_USB4_DP_PHY_PRIM_BCR>,
+ <&gcc GCC_USB3_PHY_PRIM_BCR>;
+ reset-names = "global_phy_reset", "phy_reset";
+
+ qcom,qmp-phy-reg-offset =
+ <USB3_PCS_PCS_STATUS1
+ USB3_PCS_USB3_AUTONOMOUS_MODE_CTRL
+ USB3_PCS_USB3_LFPS_RXTERM_IRQ_CLEAR
+ USB3_PCS_POWER_DOWN_CONTROL
+ USB3_PCS_SW_RESET
+ USB3_PCS_START_CONTROL
+ 0xffff /* USB3_PHY_PCS_MISC_TYPEC_CTRL */
+ USB43DP_COM_POWER_DOWN_CTRL
+ USB43DP_COM_SW_RESET
+ USB43DP_COM_RESET_OVRD_CTRL1
+ USB43DP_COM_PHY_MODE_CTRL
+ USB43DP_COM_TYPEC_CTRL
+ USB3_PCS_CLAMP_ENABLE
+ USB43DP_COM_TYPEC_STATUS>;
+
+ qcom,qmp-phy-init-seq =
+ /* <reg_offset, value> */
+ <USB3_QSERDES_PLL_SSC_EN_CENTER 0x01
+ USB3_QSERDES_PLL_SSC_PER1 0x31
+ USB3_QSERDES_PLL_SSC_PER2 0x01
+ USB3_QSERDES_PLL_SSC_STEP_SIZE1_MODE0 0xFD
+ USB3_QSERDES_PLL_SSC_STEP_SIZE2_MODE0 0x0D
+ USB3_QSERDES_PLL_SSC_STEP_SIZE1_MODE1 0xFD
+ USB3_QSERDES_PLL_SSC_STEP_SIZE2_MODE1 0x0D
+ USB3_QSERDES_PLL_SYSCLK_BUF_ENABLE 0x0A
+ USB3_QSERDES_PLL_CP_CTRL_MODE0 0x02
+ USB3_QSERDES_PLL_CP_CTRL_MODE1 0x02
+ USB3_QSERDES_PLL_PLL_RCTRL_MODE0 0x16
+ USB3_QSERDES_PLL_PLL_RCTRL_MODE1 0x16
+ USB3_QSERDES_PLL_PLL_CCTRL_MODE0 0x36
+ USB3_QSERDES_PLL_PLL_CCTRL_MODE1 0x36
+ USB3_QSERDES_PLL_SYSCLK_EN_SEL 0x1A
+ USB3_QSERDES_PLL_LOCK_CMP_EN 0x04
+ USB3_QSERDES_PLL_LOCK_CMP1_MODE0 0x14
+ USB3_QSERDES_PLL_LOCK_CMP2_MODE0 0x34
+ USB3_QSERDES_PLL_LOCK_CMP1_MODE1 0x34
+ USB3_QSERDES_PLL_LOCK_CMP2_MODE1 0x82
+ USB3_QSERDES_PLL_DEC_START_MODE0 0x04
+ USB3_QSERDES_PLL_DEC_START_MSB_MODE0 0x01
+ USB3_QSERDES_PLL_DEC_START_MODE1 0x04
+ USB3_QSERDES_PLL_DEC_START_MSB_MODE1 0x01
+ USB3_QSERDES_PLL_DIV_FRAC_START1_MODE0 0x55
+ USB3_QSERDES_PLL_DIV_FRAC_START2_MODE0 0xD5
+ USB3_QSERDES_PLL_DIV_FRAC_START3_MODE0 0x05
+ USB3_QSERDES_PLL_DIV_FRAC_START1_MODE1 0x55
+ USB3_QSERDES_PLL_DIV_FRAC_START2_MODE1 0xD5
+ USB3_QSERDES_PLL_DIV_FRAC_START3_MODE1 0x05
+ USB3_QSERDES_PLL_VCO_TUNE_MAP 0x02
+ USB3_QSERDES_PLL_VCO_TUNE1_MODE0 0xD4
+ USB3_QSERDES_PLL_VCO_TUNE2_MODE0 0x00
+ USB3_QSERDES_PLL_VCO_TUNE1_MODE1 0xD4
+ USB3_QSERDES_PLL_VCO_TUNE2_MODE1 0x00
+ USB3_QSERDES_PLL_HSCLK_SEL 0x13
+ USB3_QSERDES_PLL_HSCLK_HS_SWITCH_SEL 0x00
+ USB3_QSERDES_PLL_CORECLK_DIV_MODE0 0x0A
+ USB3_QSERDES_PLL_CORECLK_DIV_MODE1 0x04
+ USB3_QSERDES_PLL_CORE_CLK_EN 0x60
+ USB3_QSERDES_PLL_CMN_CONFIG 0x76
+ USB3_QSERDES_PLL_PLL_IVCO 0xFF
+ USB3_QSERDES_PLL_INTEGLOOP_GAIN0_MODE0 0x20
+ USB3_QSERDES_PLL_INTEGLOOP_GAIN0_MODE1 0x20
+ USB3_QSERDES_PLL_VCO_TUNE_INITVAL2 0x00
+ USB3_QSERDES_PLL_VCO_TUNE_MAXVAL2 0x01
+ USB3_QSERDES_PLL_SVS_MODE_CLK_SEL 0x0A
+ USB43DP_QSERDES_TXA_LANE_MODE_1 0x05
+ USB43DP_QSERDES_TXA_LANE_MODE_2 0xC2
+ USB43DP_QSERDES_TXA_LANE_MODE_3 0x10
+ USB43DP_QSERDES_TXA_RES_CODE_LANE_OFFSET_TX 0x1F
+ USB43DP_QSERDES_TXA_RES_CODE_LANE_OFFSET_RX 0x0A
+ USB43DP_QSERDES_RXA_SIGDET_CNTRL 0x04
+ USB43DP_QSERDES_RXA_SIGDET_DEGLITCH_CNTRL 0x0E
+ USB43DP_QSERDES_RXA_SIGDET_ENABLES 0x00
+ USB43DP_QSERDES_RXA_RX_MODE_RATE_0_1_B0 0xD2
+ USB43DP_QSERDES_RXA_RX_MODE_RATE_0_1_B1 0xD2
+ USB43DP_QSERDES_RXA_RX_MODE_RATE_0_1_B2 0xDB
+ USB43DP_QSERDES_RXA_RX_MODE_RATE_0_1_B3 0x21
+ USB43DP_QSERDES_RXA_RX_MODE_RATE_0_1_B4 0x3F
+ USB43DP_QSERDES_RXA_RX_MODE_RATE_0_1_B5 0x80
+ USB43DP_QSERDES_RXA_RX_MODE_RATE_0_1_B6 0x45
+ USB43DP_QSERDES_RXA_RX_MODE_RATE_0_1_B7 0x00
+ USB43DP_QSERDES_RXA_RX_MODE_RATE2_B0 0x6B
+ USB43DP_QSERDES_RXA_RX_MODE_RATE2_B1 0x63
+ USB43DP_QSERDES_RXA_RX_MODE_RATE2_B2 0xB6
+ USB43DP_QSERDES_RXA_RX_MODE_RATE2_B3 0x23
+ USB43DP_QSERDES_RXA_RX_MODE_RATE2_B4 0x35
+ USB43DP_QSERDES_RXA_RX_MODE_RATE2_B5 0x30
+ USB43DP_QSERDES_RXA_RX_MODE_RATE2_B6 0x8E
+ USB43DP_QSERDES_RXA_RX_MODE_RATE2_B7 0x00
+ USB43DP_QSERDES_RXA_RX_IVCM_CAL_CODE_OVERRIDE 0x00
+ USB43DP_QSERDES_RXA_RX_IVCM_CAL_CTRL2 0x80
+ USB43DP_QSERDES_RXA_RX_SUMMER_CAL_SPD_MODE 0x1B
+ USB43DP_QSERDES_RXA_DFE_CTLE_POST_CAL_OFFSET 0x38
+ USB43DP_QSERDES_RXA_UCDR_PI_CONTROLS 0x15
+ USB43DP_QSERDES_RXA_UCDR_SB2_GAIN2_RATE2 0x0A
+ USB43DP_QSERDES_RXA_RX_IVCM_POSTCAL_OFFSET 0x7C
+ USB43DP_QSERDES_RXA_VGA_CAL_CNTRL1 0x00
+ USB43DP_QSERDES_RXA_VGA_CAL_MAN_VAL 0x0D
+ USB43DP_QSERDES_RXA_DFE_DAC_ENABLE1 0x00
+ USB43DP_QSERDES_RXA_DFE_3 0x45
+ USB43DP_QSERDES_RXA_GM_CAL 0x09
+ USB43DP_QSERDES_RXA_UCDR_FO_GAIN_RATE2 0x09
+ USB43DP_QSERDES_RXA_UCDR_SO_GAIN_RATE2 0x05
+ USB43DP_QSERDES_RXA_Q_PI_INTRINSIC_BIAS_RATE32 0x3F
+ USB43DP_QSERDES_TXB_LANE_MODE_1 0x05
+ USB43DP_QSERDES_TXB_LANE_MODE_2 0xC2
+ USB43DP_QSERDES_TXB_LANE_MODE_3 0x10
+ USB43DP_QSERDES_TXB_RES_CODE_LANE_OFFSET_TX 0x1F
+ USB43DP_QSERDES_TXB_RES_CODE_LANE_OFFSET_RX 0x0A
+ USB43DP_QSERDES_RXB_SIGDET_CNTRL 0x04
+ USB43DP_QSERDES_RXB_SIGDET_DEGLITCH_CNTRL 0x0E
+ USB43DP_QSERDES_RXB_SIGDET_ENABLES 0x00
+ USB43DP_QSERDES_RXB_RX_MODE_RATE_0_1_B0 0xD2
+ USB43DP_QSERDES_RXB_RX_MODE_RATE_0_1_B1 0xD2
+ USB43DP_QSERDES_RXB_RX_MODE_RATE_0_1_B2 0xDB
+ USB43DP_QSERDES_RXB_RX_MODE_RATE_0_1_B3 0x21
+ USB43DP_QSERDES_RXB_RX_MODE_RATE_0_1_B4 0x3F
+ USB43DP_QSERDES_RXB_RX_MODE_RATE_0_1_B5 0x80
+ USB43DP_QSERDES_RXB_RX_MODE_RATE_0_1_B6 0x45
+ USB43DP_QSERDES_RXB_RX_MODE_RATE_0_1_B7 0x00
+ USB43DP_QSERDES_RXB_RX_MODE_RATE2_B0 0x6B
+ USB43DP_QSERDES_RXB_RX_MODE_RATE2_B1 0x63
+ USB43DP_QSERDES_RXB_RX_MODE_RATE2_B2 0xB6
+ USB43DP_QSERDES_RXB_RX_MODE_RATE2_B3 0x23
+ USB43DP_QSERDES_RXB_RX_MODE_RATE2_B4 0x35
+ USB43DP_QSERDES_RXB_RX_MODE_RATE2_B5 0x30
+ USB43DP_QSERDES_RXB_RX_MODE_RATE2_B6 0x8E
+ USB43DP_QSERDES_RXB_RX_MODE_RATE2_B7 0x00
+ USB43DP_QSERDES_RXB_RX_IVCM_CAL_CODE_OVERRIDE 0x00
+ USB43DP_QSERDES_RXB_RX_IVCM_CAL_CTRL2 0x80
+ USB43DP_QSERDES_RXB_RX_SUMMER_CAL_SPD_MODE 0x1B
+ USB43DP_QSERDES_RXB_DFE_CTLE_POST_CAL_OFFSET 0x38
+ USB43DP_QSERDES_RXB_UCDR_PI_CONTROLS 0x15
+ USB43DP_QSERDES_RXB_UCDR_SB2_GAIN2_RATE2 0x0A
+ USB43DP_QSERDES_RXB_RX_IVCM_POSTCAL_OFFSET 0x7C
+ USB43DP_QSERDES_RXB_VGA_CAL_CNTRL1 0x00
+ USB43DP_QSERDES_RXB_VGA_CAL_MAN_VAL 0x0D
+ USB43DP_QSERDES_RXB_DFE_DAC_ENABLE1 0x00
+ USB43DP_QSERDES_RXB_DFE_3 0x45
+ USB43DP_QSERDES_RXB_GM_CAL 0x09
+ USB43DP_QSERDES_RXB_UCDR_FO_GAIN_RATE2 0x09
+ USB43DP_QSERDES_RXB_UCDR_SO_GAIN_RATE2 0x05
+ USB43DP_QSERDES_RXB_Q_PI_INTRINSIC_BIAS_RATE32 0x3F
+ USB3_PCS_RCVR_DTCT_DLY_P1U2_L 0xE7
+ USB3_PCS_RCVR_DTCT_DLY_P1U2_H 0x03
+ USB3_PCS_LOCK_DETECT_CONFIG1 0xD0
+ USB3_PCS_LOCK_DETECT_CONFIG2 0x07
+ USB3_PCS_LOCK_DETECT_CONFIG3 0x20
+ USB3_PCS_LOCK_DETECT_CONFIG6 0x13
+ USB3_PCS_REFGEN_REQ_CONFIG1 0x21
+ USB3_PCS_RX_SIGDET_LVL 0xAA
+ USB3_PCS_RX_CONFIG 0x0A
+ USB3_PCS_ALIGN_DETECT_CONFIG1 0x88
+ USB3_PCS_ALIGN_DETECT_CONFIG2 0x13
+ USB3_PCS_PCS_TX_RX_CONFIG 0x0C
+ USB3_PCS_EQ_CONFIG1 0x4B
+ USB3_PCS_EQ_CONFIG5 0x10
+ USB3_PCS_USB3_LFPS_DET_HIGH_COUNT_VAL 0xF8
+ USB3_PCS_USB3_RXEQTRAINING_DFE_TIME_S2 0x07>;
+
+ status = "disabled";
+ };
+
+ usb_nop_phy: usb_nop_phy {
+ compatible = "usb-nop-xceiv";
+ };
+
+ usb1: ssusb@a800000 {
+ compatible = "qcom,dwc-usb3-msm";
+ reg = <0xa800000 0x100000>;
+ reg-names = "core_base";
+
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+ dma-ranges;
+
+ interrupts-extended = <&pdc 12 IRQ_TYPE_EDGE_RISING>,
+ <&intc GIC_SPI 811 IRQ_TYPE_LEVEL_HIGH>,
+ <&pdc 136 IRQ_TYPE_LEVEL_HIGH>,
+ <&pdc 13 IRQ_TYPE_EDGE_RISING>;
+
+ interrupt-names = "dp_hs_phy_irq", "pwr_event_irq",
+ "ss_phy_irq", "dm_hs_phy_irq";
+ qcom,use-pdc-interrupts;
+
+ USB3_GDSC-supply = <&gcc_usb30_sec_gdsc>;
+ clocks = <&gcc GCC_USB30_SEC_MASTER_CLK>,
+ <&gcc GCC_CFG_NOC_USB3_SEC_AXI_CLK>,
+ <&gcc GCC_AGGRE_USB3_SEC_AXI_CLK>,
+ <&gcc GCC_USB30_SEC_MOCK_UTMI_CLK>,
+ <&gcc GCC_USB30_SEC_SLEEP_CLK>,
+ <&gcc GCC_AGGRE_USB_NOC_AXI_CLK>,
+ <&gcc GCC_AGGRE_USB_NOC_NORTH_AXI_CLK>,
+ <&gcc GCC_AGGRE_USB_NOC_SOUTH_AXI_CLK>,
+ <&gcc GCC_SYS_NOC_USB_AXI_CLK>;
+ clock-names = "core_clk", "iface_clk", "bus_aggr_clk",
+ "utmi_clk", "sleep_clk", "noc_aggr_clk",
+ "noc_aggr_north_clk", "noc_aggr_south_clk",
+ "noc_sys_clk";
+
+ resets = <&gcc GCC_USB30_SEC_BCR>;
+ reset-names = "core_reset";
+
+ qcom,core-clk-rate = <200000000>;
+ qcom,core-clk-rate-hs = <66666667>;
+
+ qcom,dwc-usb3-msm-tx-fifo-size = <27696>;
+ qcom,host-poweroff-in-pm-suspend;
+ qcom,default-mode-host;
+ status = "disabled";
+
+ dwc3@a800000 {
+ compatible = "snps,dwc3";
+ reg = <0xa800000 0xd93c>;
+ iommus = <&apps_smmu 0x0860 0x0>;
+ qcom,iommu-dma = "bypass";
+ interrupts = <GIC_SPI 810 IRQ_TYPE_LEVEL_HIGH>;
+ usb-phy = <&usb2_phy1>, <&usb_qmp_dp_phy1>;
+ snps,disable-clk-gating;
+ snps,has-lpm-erratum;
+ snps,hird-threshold = /bits/ 8 <0x0>;
+ snps,ssp-u3-u0-quirk;
+ snps,is-utmi-l1-suspend;
+ snps,dis-u1-entry-quirk;
+ snps,dis-u2-entry-quirk;
+ snps,usb2-gadget-lpm-disable;
+ tx-fifo-resize;
+ maximum-speed = "super-speed-plus";
+ dr_mode = "otg";
+ usb-role-switch;
+ };
+ };
+
+ /* Secondary USB port related High Speed PHY */
+ usb2_phy1: hsphy@8902000 {
+ compatible = "qcom,usb-hsphy-snps-femto";
+ reg = <0x08902000 0x120>;
+ reg-names = "hsusb_phy_base";
+
+ vdd-supply = <&L1C0>;
+ vdda18-supply = <&L7C0>;
+ vdda33-supply = <&L2C0>;
+
+ qcom,vdd-voltage-level = <0 912000 912000>;
+
+ clocks = <&dummycc RPMH_CXO_CLK>;
+ clock-names = "ref_clk_src";
+
+ resets = <&gcc GCC_USB2_PHY_SEC_BCR>;
+ reset-names = "phy_reset";
+ qcom,param-override-seq =
+ <0x63 0x6c /* override_x0 */
+ 0xC8 0x70 /* override_x1 */
+ 0x17 0x74>; /* override x2 */
+
+ status = "disabled";
+ };
+
+ /* Secondary USB port related USB4-USB3-DP PHY */
+ usb_qmp_dp_phy1: ssphy@8903000 {
+ compatible = "qcom,usb-ssphy-qmp-dp-combo";
+ reg = <0x8903000 0x4000>;
+ reg-names = "qmp_phy_base";
+
+ vdd-supply = <&L1C0>;
+ qcom,vdd-voltage-level = <0 912000 912000>;
+ qcom,vdd-max-load-uA = <47000>;
+ core-supply = <&L4C0>;
+
+ clocks = <&gcc GCC_USB3_SEC_PHY_AUX_CLK>,
+ <&gcc GCC_USB3_SEC_PHY_PIPE_CLK>,
+ <&gcc GCC_USB3_SEC_PHY_PIPE_CLK_SRC>,
+ <&usb3_uni_phy_sec_gcc_usb30_pipe_clk>,
+ <&dummycc RPMH_CXO_CLK>,
+ <&gcc GCC_USB4_CLKREF_CLK>,
+ <&gcc GCC_USB3_SEC_PHY_COM_AUX_CLK>;
+ clock-names = "aux_clk", "pipe_clk", "pipe_clk_mux",
+ "pipe_clk_ext_src", "ref_clk_src",
+ "ref_clk", "com_aux_clk";
+
+ resets = <&gcc GCC_USB4_1_DP_PHY_PRIM_BCR>,
+ <&gcc GCC_USB3_PHY_SEC_BCR>;
+ reset-names = "global_phy_reset", "phy_reset";
+
+ qcom,qmp-phy-reg-offset =
+ <USB3_PCS_PCS_STATUS1
+ USB3_PCS_USB3_AUTONOMOUS_MODE_CTRL
+ USB3_PCS_USB3_LFPS_RXTERM_IRQ_CLEAR
+ USB3_PCS_POWER_DOWN_CONTROL
+ USB3_PCS_SW_RESET
+ USB3_PCS_START_CONTROL
+ 0xffff /* USB3_PHY_PCS_MISC_TYPEC_CTRL */
+ USB43DP_COM_POWER_DOWN_CTRL
+ USB43DP_COM_SW_RESET
+ USB43DP_COM_RESET_OVRD_CTRL1
+ USB43DP_COM_PHY_MODE_CTRL
+ USB43DP_COM_TYPEC_CTRL
+ USB3_PCS_CLAMP_ENABLE
+ USB43DP_COM_TYPEC_STATUS>;
+
+ qcom,qmp-phy-init-seq =
+ /* <reg_offset, value, delay> */
+ <USB3_QSERDES_PLL_SSC_EN_CENTER 0x01
+ USB3_QSERDES_PLL_SSC_PER1 0x31
+ USB3_QSERDES_PLL_SSC_PER2 0x01
+ USB3_QSERDES_PLL_SSC_STEP_SIZE1_MODE0 0xFD
+ USB3_QSERDES_PLL_SSC_STEP_SIZE2_MODE0 0x0D
+ USB3_QSERDES_PLL_SSC_STEP_SIZE1_MODE1 0xFD
+ USB3_QSERDES_PLL_SSC_STEP_SIZE2_MODE1 0x0D
+ USB3_QSERDES_PLL_SYSCLK_BUF_ENABLE 0x0A
+ USB3_QSERDES_PLL_CP_CTRL_MODE0 0x02
+ USB3_QSERDES_PLL_CP_CTRL_MODE1 0x02
+ USB3_QSERDES_PLL_PLL_RCTRL_MODE0 0x16
+ USB3_QSERDES_PLL_PLL_RCTRL_MODE1 0x16
+ USB3_QSERDES_PLL_PLL_CCTRL_MODE0 0x36
+ USB3_QSERDES_PLL_PLL_CCTRL_MODE1 0x36
+ USB3_QSERDES_PLL_SYSCLK_EN_SEL 0x1A
+ USB3_QSERDES_PLL_LOCK_CMP_EN 0x04
+ USB3_QSERDES_PLL_LOCK_CMP1_MODE0 0x14
+ USB3_QSERDES_PLL_LOCK_CMP2_MODE0 0x34
+ USB3_QSERDES_PLL_LOCK_CMP1_MODE1 0x34
+ USB3_QSERDES_PLL_LOCK_CMP2_MODE1 0x82
+ USB3_QSERDES_PLL_DEC_START_MODE0 0x04
+ USB3_QSERDES_PLL_DEC_START_MSB_MODE0 0x01
+ USB3_QSERDES_PLL_DEC_START_MODE1 0x04
+ USB3_QSERDES_PLL_DEC_START_MSB_MODE1 0x01
+ USB3_QSERDES_PLL_DIV_FRAC_START1_MODE0 0x55
+ USB3_QSERDES_PLL_DIV_FRAC_START2_MODE0 0xD5
+ USB3_QSERDES_PLL_DIV_FRAC_START3_MODE0 0x05
+ USB3_QSERDES_PLL_DIV_FRAC_START1_MODE1 0x55
+ USB3_QSERDES_PLL_DIV_FRAC_START2_MODE1 0xD5
+ USB3_QSERDES_PLL_DIV_FRAC_START3_MODE1 0x05
+ USB3_QSERDES_PLL_VCO_TUNE_MAP 0x02
+ USB3_QSERDES_PLL_VCO_TUNE1_MODE0 0xD4
+ USB3_QSERDES_PLL_VCO_TUNE2_MODE0 0x00
+ USB3_QSERDES_PLL_VCO_TUNE1_MODE1 0xD4
+ USB3_QSERDES_PLL_VCO_TUNE2_MODE1 0x00
+ USB3_QSERDES_PLL_HSCLK_SEL 0x13
+ USB3_QSERDES_PLL_HSCLK_HS_SWITCH_SEL 0x00
+ USB3_QSERDES_PLL_CORECLK_DIV_MODE0 0x0A
+ USB3_QSERDES_PLL_CORECLK_DIV_MODE1 0x04
+ USB3_QSERDES_PLL_CORE_CLK_EN 0x60
+ USB3_QSERDES_PLL_CMN_CONFIG 0x76
+ USB3_QSERDES_PLL_PLL_IVCO 0xFF
+ USB3_QSERDES_PLL_INTEGLOOP_GAIN0_MODE0 0x20
+ USB3_QSERDES_PLL_INTEGLOOP_GAIN0_MODE1 0x20
+ USB3_QSERDES_PLL_VCO_TUNE_INITVAL2 0x00
+ USB3_QSERDES_PLL_VCO_TUNE_MAXVAL2 0x01
+ USB3_QSERDES_PLL_SVS_MODE_CLK_SEL 0x0A
+ USB43DP_QSERDES_TXA_LANE_MODE_1 0x05
+ USB43DP_QSERDES_TXA_LANE_MODE_2 0xC2
+ USB43DP_QSERDES_TXA_LANE_MODE_3 0x10
+ USB43DP_QSERDES_TXA_RES_CODE_LANE_OFFSET_TX 0x1F
+ USB43DP_QSERDES_TXA_RES_CODE_LANE_OFFSET_RX 0x0A
+ USB43DP_QSERDES_RXA_SIGDET_CNTRL 0x04
+ USB43DP_QSERDES_RXA_SIGDET_DEGLITCH_CNTRL 0x0E
+ USB43DP_QSERDES_RXA_SIGDET_ENABLES 0x00
+ USB43DP_QSERDES_RXA_RX_MODE_RATE_0_1_B0 0xD2
+ USB43DP_QSERDES_RXA_RX_MODE_RATE_0_1_B1 0xD2
+ USB43DP_QSERDES_RXA_RX_MODE_RATE_0_1_B2 0xDB
+ USB43DP_QSERDES_RXA_RX_MODE_RATE_0_1_B3 0x21
+ USB43DP_QSERDES_RXA_RX_MODE_RATE_0_1_B4 0x3F
+ USB43DP_QSERDES_RXA_RX_MODE_RATE_0_1_B5 0x80
+ USB43DP_QSERDES_RXA_RX_MODE_RATE_0_1_B6 0x45
+ USB43DP_QSERDES_RXA_RX_MODE_RATE_0_1_B7 0x00
+ USB43DP_QSERDES_RXA_RX_MODE_RATE2_B0 0x6B
+ USB43DP_QSERDES_RXA_RX_MODE_RATE2_B1 0x63
+ USB43DP_QSERDES_RXA_RX_MODE_RATE2_B2 0xB6
+ USB43DP_QSERDES_RXA_RX_MODE_RATE2_B3 0x23
+ USB43DP_QSERDES_RXA_RX_MODE_RATE2_B4 0x35
+ USB43DP_QSERDES_RXA_RX_MODE_RATE2_B5 0x30
+ USB43DP_QSERDES_RXA_RX_MODE_RATE2_B6 0x8E
+ USB43DP_QSERDES_RXA_RX_MODE_RATE2_B7 0x00
+ USB43DP_QSERDES_RXA_RX_IVCM_CAL_CODE_OVERRIDE 0x00
+ USB43DP_QSERDES_RXA_RX_IVCM_CAL_CTRL2 0x80
+ USB43DP_QSERDES_RXA_RX_SUMMER_CAL_SPD_MODE 0x1B
+ USB43DP_QSERDES_RXA_DFE_CTLE_POST_CAL_OFFSET 0x38
+ USB43DP_QSERDES_RXA_UCDR_PI_CONTROLS 0x15
+ USB43DP_QSERDES_RXA_UCDR_SB2_GAIN2_RATE2 0x0A
+ USB43DP_QSERDES_RXA_RX_IVCM_POSTCAL_OFFSET 0x7C
+ USB43DP_QSERDES_RXA_VGA_CAL_CNTRL1 0x00
+ USB43DP_QSERDES_RXA_VGA_CAL_MAN_VAL 0x0D
+ USB43DP_QSERDES_RXA_DFE_DAC_ENABLE1 0x00
+ USB43DP_QSERDES_RXA_DFE_3 0x45
+ USB43DP_QSERDES_RXA_GM_CAL 0x09
+ USB43DP_QSERDES_RXA_UCDR_FO_GAIN_RATE2 0x09
+ USB43DP_QSERDES_RXA_UCDR_SO_GAIN_RATE2 0x05
+ USB43DP_QSERDES_RXA_Q_PI_INTRINSIC_BIAS_RATE32 0x3F
+ USB43DP_QSERDES_TXB_LANE_MODE_1 0x05
+ USB43DP_QSERDES_TXB_LANE_MODE_2 0xC2
+ USB43DP_QSERDES_TXB_LANE_MODE_3 0x10
+ USB43DP_QSERDES_TXB_RES_CODE_LANE_OFFSET_TX 0x1F
+ USB43DP_QSERDES_TXB_RES_CODE_LANE_OFFSET_RX 0x0A
+ USB43DP_QSERDES_RXB_SIGDET_CNTRL 0x04
+ USB43DP_QSERDES_RXB_SIGDET_DEGLITCH_CNTRL 0x0E
+ USB43DP_QSERDES_RXB_SIGDET_ENABLES 0x00
+ USB43DP_QSERDES_RXB_RX_MODE_RATE_0_1_B0 0xD2
+ USB43DP_QSERDES_RXB_RX_MODE_RATE_0_1_B1 0xD2
+ USB43DP_QSERDES_RXB_RX_MODE_RATE_0_1_B2 0xDB
+ USB43DP_QSERDES_RXB_RX_MODE_RATE_0_1_B3 0x21
+ USB43DP_QSERDES_RXB_RX_MODE_RATE_0_1_B4 0x3F
+ USB43DP_QSERDES_RXB_RX_MODE_RATE_0_1_B5 0x80
+ USB43DP_QSERDES_RXB_RX_MODE_RATE_0_1_B6 0x45
+ USB43DP_QSERDES_RXB_RX_MODE_RATE_0_1_B7 0x00
+ USB43DP_QSERDES_RXB_RX_MODE_RATE2_B0 0x6B
+ USB43DP_QSERDES_RXB_RX_MODE_RATE2_B1 0x63
+ USB43DP_QSERDES_RXB_RX_MODE_RATE2_B2 0xB6
+ USB43DP_QSERDES_RXB_RX_MODE_RATE2_B3 0x23
+ USB43DP_QSERDES_RXB_RX_MODE_RATE2_B4 0x35
+ USB43DP_QSERDES_RXB_RX_MODE_RATE2_B5 0x30
+ USB43DP_QSERDES_RXB_RX_MODE_RATE2_B6 0x8E
+ USB43DP_QSERDES_RXB_RX_MODE_RATE2_B7 0x00
+ USB43DP_QSERDES_RXB_RX_IVCM_CAL_CODE_OVERRIDE 0x00
+ USB43DP_QSERDES_RXB_RX_IVCM_CAL_CTRL2 0x80
+ USB43DP_QSERDES_RXB_RX_SUMMER_CAL_SPD_MODE 0x1B
+ USB43DP_QSERDES_RXB_DFE_CTLE_POST_CAL_OFFSET 0x38
+ USB43DP_QSERDES_RXB_UCDR_PI_CONTROLS 0x15
+ USB43DP_QSERDES_RXB_UCDR_SB2_GAIN2_RATE2 0x0A
+ USB43DP_QSERDES_RXB_RX_IVCM_POSTCAL_OFFSET 0x7C
+ USB43DP_QSERDES_RXB_VGA_CAL_CNTRL1 0x00
+ USB43DP_QSERDES_RXB_VGA_CAL_MAN_VAL 0x0D
+ USB43DP_QSERDES_RXB_DFE_DAC_ENABLE1 0x00
+ USB43DP_QSERDES_RXB_DFE_3 0x45
+ USB43DP_QSERDES_RXB_GM_CAL 0x09
+ USB43DP_QSERDES_RXB_UCDR_FO_GAIN_RATE2 0x09
+ USB43DP_QSERDES_RXB_UCDR_SO_GAIN_RATE2 0x05
+ USB43DP_QSERDES_RXB_Q_PI_INTRINSIC_BIAS_RATE32 0x3F
+ USB3_PCS_RCVR_DTCT_DLY_P1U2_L 0xE7
+ USB3_PCS_RCVR_DTCT_DLY_P1U2_H 0x03
+ USB3_PCS_LOCK_DETECT_CONFIG1 0xD0
+ USB3_PCS_LOCK_DETECT_CONFIG2 0x07
+ USB3_PCS_LOCK_DETECT_CONFIG3 0x20
+ USB3_PCS_LOCK_DETECT_CONFIG6 0x13
+ USB3_PCS_REFGEN_REQ_CONFIG1 0x21
+ USB3_PCS_RX_SIGDET_LVL 0xAA
+ USB3_PCS_RX_CONFIG 0x0A
+ USB3_PCS_ALIGN_DETECT_CONFIG1 0x88
+ USB3_PCS_ALIGN_DETECT_CONFIG2 0x13
+ USB3_PCS_PCS_TX_RX_CONFIG 0x0C
+ USB3_PCS_EQ_CONFIG1 0x4B
+ USB3_PCS_EQ_CONFIG5 0x10
+ USB3_PCS_USB3_LFPS_DET_HIGH_COUNT_VAL 0xF8
+ USB3_PCS_USB3_RXEQTRAINING_DFE_TIME_S2 0x07>;
+
+ status = "disabled";
+ };
+
+ /* Tertiary USB port related controller */
+ usb2: ssusb@a400000 {
+ compatible = "qcom,dwc-usb3-msm";
+ reg = <0xa400000 0x100000>;
+ reg-names = "core_base";
+
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+ dma-ranges;
+
+ interrupts-extended = <&pdc 127 IRQ_TYPE_EDGE_RISING>,
+ <&pdc 126 IRQ_TYPE_EDGE_RISING>,
+ <&pdc 129 IRQ_TYPE_EDGE_RISING>,
+ <&pdc 128 IRQ_TYPE_EDGE_RISING>,
+ <&pdc 131 IRQ_TYPE_EDGE_RISING>,
+ <&pdc 130 IRQ_TYPE_EDGE_RISING>,
+ <&pdc 133 IRQ_TYPE_EDGE_RISING>,
+ <&pdc 132 IRQ_TYPE_EDGE_RISING>,
+ <&pdc 16 IRQ_TYPE_LEVEL_HIGH>,
+ <&pdc 17 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "dp_hs_phy_irq", "dm_hs_phy_irq",
+ "dp_hs_phy_irq1", "dm_hs_phy_irq1",
+ "dp_hs_phy_irq2", "dm_hs_phy_irq2",
+ "dp_hs_phy_irq3", "dm_hs_phy_irq3",
+ "ss_phy_irq", "ss_phy_irq1";
+ qcom,use-pdc-interrupts;
+
+ USB3_GDSC-supply = <&gcc_usb30_mp_gdsc>;
+ clocks = <&gcc GCC_USB30_MP_MASTER_CLK>,
+ <&gcc GCC_CFG_NOC_USB3_MP_AXI_CLK>,
+ <&gcc GCC_AGGRE_USB3_MP_AXI_CLK>,
+ <&gcc GCC_USB30_MP_MOCK_UTMI_CLK>,
+ <&gcc GCC_USB30_MP_SLEEP_CLK>,
+ <&gcc GCC_AGGRE_USB_NOC_AXI_CLK>,
+ <&gcc GCC_AGGRE_USB_NOC_NORTH_AXI_CLK>,
+ <&gcc GCC_AGGRE_USB_NOC_SOUTH_AXI_CLK>,
+ <&gcc GCC_SYS_NOC_USB_AXI_CLK>;
+ clock-names = "core_clk", "iface_clk", "bus_aggr_clk",
+ "utmi_clk", "sleep_clk", "noc_aggr_clk",
+ "noc_aggr_north_clk", "noc_aggr_south_clk",
+ "noc_sys_clk";
+
+ resets = <&gcc GCC_USB30_MP_BCR>;
+ reset-names = "core_reset";
+
+ qcom,core-clk-rate = <200000000>;
+ qcom,host-poweroff-in-pm-suspend;
+
+ status = "disabled";
+
+ dwc3@a400000 {
+ compatible = "snps,dwc3";
+ reg = <0xa400000 0xd93c>;
+ iommus = <&apps_smmu 0x0800 0x0>;
+ qcom,iommu-dma = "bypass";
+ interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
+ usb-phy = <&usb2_phy2>, <&usb_qmp_phy0>,
+ <&usb2_phy3>, <&usb_qmp_phy1>,
+ <&usb2_phy4>, <&usb_nop_phy>,
+ <&usb2_phy5>, <&usb_nop_phy>;
+ snps,disable-clk-gating;
+ snps,has-lpm-erratum;
+ snps,hird-threshold = /bits/ 8 <0x0>;
+ snps,ssp-u3-u0-quirk;
+ snps,is-utmi-l1-suspend;
+ snps,dis_u3_susphy_quirk;
+ maximum-speed = "super-speed-plus";
+ dr_mode = "host";
+ };
+ };
+
+ /* Tertiary USB port 0 related High Speed PHY */
+ usb2_phy2: hsphy@88e7000 {
+ compatible = "qcom,usb-hsphy-snps-femto";
+ reg = <0x88e7000 0x120>;
+ reg-names = "hsusb_phy_base";
+
+ vdd-supply = <&L5A0>;
+ vdda18-supply = <&L7G0>;
+ vdda33-supply = <&L13A0>;
+ qcom,vdd-voltage-level = <0 912000 912000>;
+
+ clocks = <&gcc GCC_USB2_HS0_CLKREF_CLK>;
+ clock-names = "ref_clk_src";
+
+ resets = <&gcc GCC_QUSB2PHY_HS0_MP_BCR>;
+ reset-names = "phy_reset";
+ qcom,param-override-seq =
+ <0x63 0x6c /* override_x0 */
+ 0xC8 0x70 /* override_x1 */
+ 0x17 0x74>; /* override x2 */
+
+ status = "disabled";
+ };
+
+ /* Tertiary USB port 0 related QMP PHY */
+ usb_qmp_phy0: ssphy@88ef000 {
+ compatible = "qcom,usb-ssphy-qmp-v2";
+ reg = <0x88ef000 0x2000>,
+ <0x088ef28c 0x4>;
+ reg-names = "qmp_phy_base",
+ "pcs_clamp_enable_reg";
+
+ vdd-supply = <&L5A0>;
+ qcom,vdd-voltage-level = <0 912000 912000>;
+ qcom,vdd-max-load-uA = <47000>;
+ core-supply = <&L3A0>;
+
+ clocks = <&gcc GCC_USB3_MP_PHY_AUX_CLK>,
+ <&gcc GCC_USB3_MP_PHY_PIPE_0_CLK>,
+ <&gcc GCC_USB3_MP_PHY_PIPE_0_CLK_SRC>,
+ <&usb3_uni_phy_mp_gcc_usb30_pipe_0_clk>,
+ <&dummycc RPMH_CXO_CLK>,
+ <&gcc GCC_USB3_MP0_CLKREF_CLK>,
+ <&gcc GCC_USB3_MP_PHY_COM_AUX_CLK>;
+ clock-names = "aux_clk", "pipe_clk", "pipe_clk_mux",
+ "pipe_clk_ext_src", "ref_clk_src",
+ "ref_clk", "com_aux_clk";
+
+ resets = <&gcc GCC_USB3_UNIPHY_MP0_BCR>,
+ <&gcc GCC_USB3UNIPHY_PHY_MP0_BCR>;
+ reset-names = "phy_reset", "phy_phy_reset";
+
+ qcom,qmp-phy-reg-offset =
+ <USB3_UNI_PCS_PCS_STATUS1
+ USB3_UNI_PCS_USB3_AUTONOMOUS_MODE_CTRL
+ USB3_UNI_PCS_USB3_LFPS_RXTERM_IRQ_CLEAR
+ USB3_UNI_PCS_POWER_DOWN_CONTROL
+ USB3_UNI_PCS_SW_RESET
+ USB3_UNI_PCS_START_CONTROL>;
+
+ qcom,qmp-phy-init-seq =
+ /* <reg_offset, value, delay> */
+ <USB3_UNI_QSERDES_COM_SYSCLK_EN_SEL 0x1A
+ USB3_UNI_QSERDES_COM_BIN_VCOCAL_HSCLK_SEL 0x11
+ USB3_UNI_QSERDES_COM_HSCLK_SEL 0x01
+ USB3_UNI_QSERDES_COM_DEC_START_MODE0 0x82
+ USB3_UNI_QSERDES_COM_DIV_FRAC_START1_MODE0 0xAB
+ USB3_UNI_QSERDES_COM_DIV_FRAC_START2_MODE0 0xEA
+ USB3_UNI_QSERDES_COM_DIV_FRAC_START3_MODE0 0x02
+ USB3_UNI_QSERDES_COM_BIN_VCOCAL_CMP_CODE1_MODE0 0xCA
+ USB3_UNI_QSERDES_COM_BIN_VCOCAL_CMP_CODE2_MODE0 0x1E
+ USB3_UNI_QSERDES_COM_CP_CTRL_MODE0 0x06
+ USB3_UNI_QSERDES_COM_PLL_RCTRL_MODE0 0x16
+ USB3_UNI_QSERDES_COM_PLL_CCTRL_MODE0 0x36
+ USB3_UNI_QSERDES_COM_VCO_TUNE1_MODE0 0x24
+ USB3_UNI_QSERDES_COM_LOCK_CMP2_MODE0 0x34
+ USB3_UNI_QSERDES_COM_LOCK_CMP1_MODE0 0x14
+ USB3_UNI_QSERDES_COM_LOCK_CMP_EN 0x04
+ USB3_UNI_QSERDES_COM_SYSCLK_BUF_ENABLE 0x0A
+ USB3_UNI_QSERDES_COM_VCO_TUNE2_MODE1 0x02
+ USB3_UNI_QSERDES_COM_VCO_TUNE1_MODE1 0x24
+ USB3_UNI_QSERDES_COM_CORECLK_DIV_MODE1 0x08
+ USB3_UNI_QSERDES_COM_DEC_START_MODE1 0x82
+ USB3_UNI_QSERDES_COM_DIV_FRAC_START1_MODE1 0xAB
+ USB3_UNI_QSERDES_COM_DIV_FRAC_START2_MODE1 0xEA
+ USB3_UNI_QSERDES_COM_DIV_FRAC_START3_MODE1 0x02
+ USB3_UNI_QSERDES_COM_LOCK_CMP2_MODE1 0x82
+ USB3_UNI_QSERDES_COM_LOCK_CMP1_MODE1 0x34
+ USB3_UNI_QSERDES_COM_CP_CTRL_MODE1 0x06
+ USB3_UNI_QSERDES_COM_PLL_RCTRL_MODE1 0x16
+ USB3_UNI_QSERDES_COM_PLL_CCTRL_MODE1 0x36
+ USB3_UNI_QSERDES_COM_BIN_VCOCAL_CMP_CODE1_MODE1 0xCA
+ USB3_UNI_QSERDES_COM_BIN_VCOCAL_CMP_CODE2_MODE1 0x1E
+ USB3_UNI_QSERDES_COM_SSC_EN_CENTER 0x01
+ USB3_UNI_QSERDES_COM_SSC_PER1 0x31
+ USB3_UNI_QSERDES_COM_SSC_PER2 0x01
+ USB3_UNI_QSERDES_COM_SSC_STEP_SIZE1_MODE1 0xDE
+ USB3_UNI_QSERDES_COM_SSC_STEP_SIZE2_MODE1 0x07
+ USB3_UNI_QSERDES_COM_SSC_STEP_SIZE1_MODE0 0xDE
+ USB3_UNI_QSERDES_COM_SSC_STEP_SIZE2_MODE0 0x07
+ USB3_UNI_QSERDES_COM_VCO_TUNE_MAP 0x02
+ USB3_UNI_QSERDES_RX_RX_MODE_00_HIGH4 0xDC
+ USB3_UNI_QSERDES_RX_RX_MODE_00_HIGH3 0xBD
+ USB3_UNI_QSERDES_RX_RX_MODE_00_HIGH2 0xFF
+ USB3_UNI_QSERDES_RX_RX_MODE_00_HIGH 0x7F
+ USB3_UNI_QSERDES_RX_RX_MODE_00_LOW 0xFF
+ USB3_UNI_QSERDES_RX_RX_MODE_01_HIGH4 0xA9
+ USB3_UNI_QSERDES_RX_RX_MODE_01_HIGH3 0x7B
+ USB3_UNI_QSERDES_RX_RX_MODE_01_HIGH2 0xE4
+ USB3_UNI_QSERDES_RX_RX_MODE_01_HIGH 0x24
+ USB3_UNI_QSERDES_RX_RX_MODE_01_LOW 0x64
+ USB3_UNI_QSERDES_RX_UCDR_PI_CONTROLS 0x99
+ USB3_UNI_QSERDES_RX_UCDR_SB2_THRESH1 0x08
+ USB3_UNI_QSERDES_RX_UCDR_SB2_THRESH2 0x08
+ USB3_UNI_QSERDES_RX_UCDR_SB2_GAIN1 0x00
+ USB3_UNI_QSERDES_RX_UCDR_SB2_GAIN2 0x04
+ USB3_UNI_QSERDES_RX_UCDR_FASTLOCK_FO_GAIN 0x2F
+ USB3_UNI_QSERDES_RX_UCDR_FASTLOCK_COUNT_LOW 0xFF
+ USB3_UNI_QSERDES_RX_UCDR_FASTLOCK_COUNT_HIGH 0x0F
+ USB3_UNI_QSERDES_RX_UCDR_FO_GAIN 0x0A
+ USB3_UNI_QSERDES_RX_VGA_CAL_CNTRL1 0x54
+ USB3_UNI_QSERDES_RX_VGA_CAL_CNTRL2 0x0F
+ USB3_UNI_QSERDES_RX_RX_EQU_ADAPTOR_CNTRL2 0x0F
+ USB3_UNI_QSERDES_RX_RX_EQU_ADAPTOR_CNTRL4 0x0A
+ USB3_UNI_QSERDES_RX_RX_EQ_OFFSET_ADAPTOR_CNTRL1 0x47
+ USB3_UNI_QSERDES_RX_RX_OFFSET_ADAPTOR_CNTRL2 0x80
+ USB3_UNI_QSERDES_RX_SIGDET_CNTRL 0x04
+ USB3_UNI_QSERDES_RX_SIGDET_DEGLITCH_CNTRL 0x0E
+ USB3_UNI_QSERDES_RX_DFE_CTLE_POST_CAL_OFFSET 0x38
+ USB3_UNI_QSERDES_RX_UCDR_SO_GAIN 0x05
+ USB3_UNI_QSERDES_RX_GM_CAL 0x00
+ USB3_UNI_QSERDES_RX_SIGDET_ENABLES 0x00
+ USB3_UNI_QSERDES_TX_LANE_MODE_1 0xA5
+ USB3_UNI_QSERDES_TX_LANE_MODE_2 0x82
+ USB3_UNI_QSERDES_TX_LANE_MODE_3 0x3F
+ USB3_UNI_QSERDES_TX_LANE_MODE_4 0x3F
+ USB3_UNI_QSERDES_TX_PI_QEC_CTRL 0x21
+ USB3_UNI_QSERDES_TX_RES_CODE_LANE_OFFSET_TX 0x10
+ USB3_UNI_QSERDES_TX_RES_CODE_LANE_OFFSET_RX 0x0E
+ USB3_UNI_PCS_LOCK_DETECT_CONFIG1 0xD0
+ USB3_UNI_PCS_LOCK_DETECT_CONFIG2 0x07
+ USB3_UNI_PCS_LOCK_DETECT_CONFIG3 0x20
+ USB3_UNI_PCS_LOCK_DETECT_CONFIG6 0x13
+ USB3_UNI_PCS_RCVR_DTCT_DLY_P1U2_L 0xE7
+ USB3_UNI_PCS_RCVR_DTCT_DLY_P1U2_H 0x03
+ USB3_UNI_PCS_RX_SIGDET_LVL 0xAA
+ USB3_UNI_PCS_PCS_TX_RX_CONFIG 0x0C
+ USB3_UNI_PCS_USB3_RXEQTRAINING_DFE_TIME_S2 0x07
+ USB3_UNI_PCS_USB3_LFPS_DET_HIGH_COUNT_VAL 0xF8
+ USB3_UNI_PCS_CDR_RESET_TIME 0x0A
+ USB3_UNI_PCS_ALIGN_DETECT_CONFIG1 0x88
+ USB3_UNI_PCS_ALIGN_DETECT_CONFIG2 0x13
+ USB3_UNI_PCS_EQ_CONFIG1 0x4B
+ USB3_UNI_PCS_EQ_CONFIG5 0x10
+ USB3_UNI_PCS_REFGEN_REQ_CONFIG1 0x21>;
+
+ status = "disabled";
+ };
+
+ /* Tertiary USB port 1 related High Speed PHY */
+ usb2_phy3: hsphy@88e8000 {
+ compatible = "qcom,usb-hsphy-snps-femto";
+ reg = <0x88e8000 0x120>;
+ reg-names = "hsusb_phy_base";
+
+ vdd-supply = <&L5A0>;
+ vdda18-supply = <&L7G0>;
+ vdda33-supply = <&L13A0>;
+ qcom,vdd-voltage-level = <0 912000 912000>;
+
+ clocks = <&gcc GCC_USB2_HS1_CLKREF_CLK>;
+ clock-names = "ref_clk_src";
+
+ resets = <&gcc GCC_QUSB2PHY_HS1_MP_BCR>;
+ reset-names = "phy_reset";
+ qcom,param-override-seq =
+ <0x63 0x6c /* override_x0 */
+ 0xC8 0x70 /* override_x1 */
+ 0x17 0x74>; /* override x2 */
+
+ status = "disabled";
+ };
+
+ /* Tertiary USB port 1 related QMP PHY */
+ usb_qmp_phy1: ssphy@88f1000 {
+ compatible = "qcom,usb-ssphy-qmp-v2";
+ reg = <0x88f1000 0x2000>,
+ <0x088f128c 0x4>;
+ reg-names = "qmp_phy_base",
+ "pcs_clamp_enable_reg";
+
+ vdd-supply = <&L5A0>;
+ qcom,vdd-voltage-level = <0 912000 912000>;
+ qcom,vdd-max-load-uA = <47000>;
+ core-supply = <&L3A0>;
+
+ clocks = <&gcc GCC_USB3_MP_PHY_AUX_CLK>,
+ <&gcc GCC_USB3_MP_PHY_PIPE_1_CLK>,
+ <&gcc GCC_USB3_MP_PHY_PIPE_1_CLK_SRC>,
+ <&usb3_uni_phy_mp_gcc_usb30_pipe_1_clk>,
+ <&dummycc RPMH_CXO_CLK>,
+ <&gcc GCC_USB3_MP1_CLKREF_CLK>,
+ <&gcc GCC_USB3_MP_PHY_COM_AUX_CLK>;
+ clock-names = "aux_clk", "pipe_clk", "pipe_clk_mux",
+ "pipe_clk_ext_src", "ref_clk_src",
+ "ref_clk", "com_aux_clk";
+
+ resets = <&gcc GCC_USB3_UNIPHY_MP1_BCR>,
+ <&gcc GCC_USB3UNIPHY_PHY_MP1_BCR>;
+ reset-names = "phy_reset", "phy_phy_reset";
+
+ qcom,qmp-phy-reg-offset =
+ <USB3_UNI_PCS_PCS_STATUS1
+ USB3_UNI_PCS_USB3_AUTONOMOUS_MODE_CTRL
+ USB3_UNI_PCS_USB3_LFPS_RXTERM_IRQ_CLEAR
+ USB3_UNI_PCS_POWER_DOWN_CONTROL
+ USB3_UNI_PCS_SW_RESET
+ USB3_UNI_PCS_START_CONTROL>;
+
+ qcom,qmp-phy-init-seq =
+ /* <reg_offset, value, delay> */
+ <USB3_UNI_QSERDES_COM_SYSCLK_EN_SEL 0x1A
+ USB3_UNI_QSERDES_COM_BIN_VCOCAL_HSCLK_SEL 0x11
+ USB3_UNI_QSERDES_COM_HSCLK_SEL 0x01
+ USB3_UNI_QSERDES_COM_DEC_START_MODE0 0x82
+ USB3_UNI_QSERDES_COM_DIV_FRAC_START1_MODE0 0xAB
+ USB3_UNI_QSERDES_COM_DIV_FRAC_START2_MODE0 0xEA
+ USB3_UNI_QSERDES_COM_DIV_FRAC_START3_MODE0 0x02
+ USB3_UNI_QSERDES_COM_BIN_VCOCAL_CMP_CODE1_MODE0 0xCA
+ USB3_UNI_QSERDES_COM_BIN_VCOCAL_CMP_CODE2_MODE0 0x1E
+ USB3_UNI_QSERDES_COM_CP_CTRL_MODE0 0x06
+ USB3_UNI_QSERDES_COM_PLL_RCTRL_MODE0 0x16
+ USB3_UNI_QSERDES_COM_PLL_CCTRL_MODE0 0x36
+ USB3_UNI_QSERDES_COM_VCO_TUNE1_MODE0 0x24
+ USB3_UNI_QSERDES_COM_LOCK_CMP2_MODE0 0x34
+ USB3_UNI_QSERDES_COM_LOCK_CMP1_MODE0 0x14
+ USB3_UNI_QSERDES_COM_LOCK_CMP_EN 0x04
+ USB3_UNI_QSERDES_COM_SYSCLK_BUF_ENABLE 0x0A
+ USB3_UNI_QSERDES_COM_VCO_TUNE2_MODE1 0x02
+ USB3_UNI_QSERDES_COM_VCO_TUNE1_MODE1 0x24
+ USB3_UNI_QSERDES_COM_CORECLK_DIV_MODE1 0x08
+ USB3_UNI_QSERDES_COM_DEC_START_MODE1 0x82
+ USB3_UNI_QSERDES_COM_DIV_FRAC_START1_MODE1 0xAB
+ USB3_UNI_QSERDES_COM_DIV_FRAC_START2_MODE1 0xEA
+ USB3_UNI_QSERDES_COM_DIV_FRAC_START3_MODE1 0x02
+ USB3_UNI_QSERDES_COM_LOCK_CMP2_MODE1 0x82
+ USB3_UNI_QSERDES_COM_LOCK_CMP1_MODE1 0x34
+ USB3_UNI_QSERDES_COM_CP_CTRL_MODE1 0x06
+ USB3_UNI_QSERDES_COM_PLL_RCTRL_MODE1 0x16
+ USB3_UNI_QSERDES_COM_PLL_CCTRL_MODE1 0x36
+ USB3_UNI_QSERDES_COM_BIN_VCOCAL_CMP_CODE1_MODE1 0xCA
+ USB3_UNI_QSERDES_COM_BIN_VCOCAL_CMP_CODE2_MODE1 0x1E
+ USB3_UNI_QSERDES_COM_SSC_EN_CENTER 0x01
+ USB3_UNI_QSERDES_COM_SSC_PER1 0x31
+ USB3_UNI_QSERDES_COM_SSC_PER2 0x01
+ USB3_UNI_QSERDES_COM_SSC_STEP_SIZE1_MODE1 0xDE
+ USB3_UNI_QSERDES_COM_SSC_STEP_SIZE2_MODE1 0x07
+ USB3_UNI_QSERDES_COM_SSC_STEP_SIZE1_MODE0 0xDE
+ USB3_UNI_QSERDES_COM_SSC_STEP_SIZE2_MODE0 0x07
+ USB3_UNI_QSERDES_COM_VCO_TUNE_MAP 0x02
+ USB3_UNI_QSERDES_RX_RX_MODE_00_HIGH4 0xDC
+ USB3_UNI_QSERDES_RX_RX_MODE_00_HIGH3 0xBD
+ USB3_UNI_QSERDES_RX_RX_MODE_00_HIGH2 0xFF
+ USB3_UNI_QSERDES_RX_RX_MODE_00_HIGH 0x7F
+ USB3_UNI_QSERDES_RX_RX_MODE_00_LOW 0xFF
+ USB3_UNI_QSERDES_RX_RX_MODE_01_HIGH4 0xA9
+ USB3_UNI_QSERDES_RX_RX_MODE_01_HIGH3 0x7B
+ USB3_UNI_QSERDES_RX_RX_MODE_01_HIGH2 0xE4
+ USB3_UNI_QSERDES_RX_RX_MODE_01_HIGH 0x24
+ USB3_UNI_QSERDES_RX_RX_MODE_01_LOW 0x64
+ USB3_UNI_QSERDES_RX_UCDR_PI_CONTROLS 0x99
+ USB3_UNI_QSERDES_RX_UCDR_SB2_THRESH1 0x08
+ USB3_UNI_QSERDES_RX_UCDR_SB2_THRESH2 0x08
+ USB3_UNI_QSERDES_RX_UCDR_SB2_GAIN1 0x00
+ USB3_UNI_QSERDES_RX_UCDR_SB2_GAIN2 0x04
+ USB3_UNI_QSERDES_RX_UCDR_FASTLOCK_FO_GAIN 0x2F
+ USB3_UNI_QSERDES_RX_UCDR_FASTLOCK_COUNT_LOW 0xFF
+ USB3_UNI_QSERDES_RX_UCDR_FASTLOCK_COUNT_HIGH 0x0F
+ USB3_UNI_QSERDES_RX_UCDR_FO_GAIN 0x0A
+ USB3_UNI_QSERDES_RX_VGA_CAL_CNTRL1 0x54
+ USB3_UNI_QSERDES_RX_VGA_CAL_CNTRL2 0x0F
+ USB3_UNI_QSERDES_RX_RX_EQU_ADAPTOR_CNTRL2 0x0F
+ USB3_UNI_QSERDES_RX_RX_EQU_ADAPTOR_CNTRL4 0x0A
+ USB3_UNI_QSERDES_RX_RX_EQ_OFFSET_ADAPTOR_CNTRL1 0x47
+ USB3_UNI_QSERDES_RX_RX_OFFSET_ADAPTOR_CNTRL2 0x80
+ USB3_UNI_QSERDES_RX_SIGDET_CNTRL 0x04
+ USB3_UNI_QSERDES_RX_SIGDET_DEGLITCH_CNTRL 0x0E
+ USB3_UNI_QSERDES_RX_DFE_CTLE_POST_CAL_OFFSET 0x38
+ USB3_UNI_QSERDES_RX_UCDR_SO_GAIN 0x05
+ USB3_UNI_QSERDES_RX_GM_CAL 0x00
+ USB3_UNI_QSERDES_RX_SIGDET_ENABLES 0x00
+ USB3_UNI_QSERDES_TX_LANE_MODE_1 0xA5
+ USB3_UNI_QSERDES_TX_LANE_MODE_2 0x82
+ USB3_UNI_QSERDES_TX_LANE_MODE_3 0x3F
+ USB3_UNI_QSERDES_TX_LANE_MODE_4 0x3F
+ USB3_UNI_QSERDES_TX_PI_QEC_CTRL 0x21
+ USB3_UNI_QSERDES_TX_RES_CODE_LANE_OFFSET_TX 0x10
+ USB3_UNI_QSERDES_TX_RES_CODE_LANE_OFFSET_RX 0x0E
+ USB3_UNI_PCS_LOCK_DETECT_CONFIG1 0xD0
+ USB3_UNI_PCS_LOCK_DETECT_CONFIG2 0x07
+ USB3_UNI_PCS_LOCK_DETECT_CONFIG3 0x20
+ USB3_UNI_PCS_LOCK_DETECT_CONFIG6 0x13
+ USB3_UNI_PCS_RCVR_DTCT_DLY_P1U2_L 0xE7
+ USB3_UNI_PCS_RCVR_DTCT_DLY_P1U2_H 0x03
+ USB3_UNI_PCS_RX_SIGDET_LVL 0xAA
+ USB3_UNI_PCS_PCS_TX_RX_CONFIG 0x0C
+ USB3_UNI_PCS_USB3_RXEQTRAINING_DFE_TIME_S2 0x07
+ USB3_UNI_PCS_USB3_LFPS_DET_HIGH_COUNT_VAL 0xF8
+ USB3_UNI_PCS_CDR_RESET_TIME 0x0A
+ USB3_UNI_PCS_ALIGN_DETECT_CONFIG1 0x88
+ USB3_UNI_PCS_ALIGN_DETECT_CONFIG2 0x13
+ USB3_UNI_PCS_EQ_CONFIG1 0x4B
+ USB3_UNI_PCS_EQ_CONFIG5 0x10
+ USB3_UNI_PCS_REFGEN_REQ_CONFIG1 0x21>;
+
+ status = "disabled";
+ };
+
+ /* Tertiary USB port 2 related High Speed PHY */
+ usb2_phy4: hsphy@88e9000 {
+ compatible = "qcom,usb-hsphy-snps-femto";
+ reg = <0x88e9000 0x120>;
+ reg-names = "hsusb_phy_base";
+
+ vdd-supply = <&L5A0>;
+ vdda18-supply = <&L7G0>;
+ vdda33-supply = <&L13A0>;
+ qcom,vdd-voltage-level = <0 912000 912000>;
+
+ clocks = <&gcc GCC_USB2_HS2_CLKREF_CLK>;
+ clock-names = "ref_clk_src";
+
+ resets = <&gcc GCC_QUSB2PHY_HS2_MP_BCR>;
+ reset-names = "phy_reset";
+ qcom,param-override-seq =
+ <0x63 0x6c /* override_x0 */
+ 0xC8 0x70 /* override_x1 */
+ 0x17 0x74>; /* override x2 */
+
+ status = "disabled";
+ };
+
+ /* Tertiary USB port 3 related High Speed PHY */
+ usb2_phy5: hsphy@88ea000 {
+ compatible = "qcom,usb-hsphy-snps-femto";
+ reg = <0x88ea000 0x120>;
+ reg-names = "hsusb_phy_base";
+
+ vdd-supply = <&L5A0>;
+ vdda18-supply = <&L7G0>;
+ vdda33-supply = <&L13A0>;
+ qcom,vdd-voltage-level = <0 912000 912000>;
+
+ clocks = <&gcc GCC_USB2_HS3_CLKREF_CLK>;
+ clock-names = "ref_clk_src";
+
+ resets = <&gcc GCC_QUSB2PHY_HS3_MP_BCR>;
+ reset-names = "phy_reset";
+ qcom,param-override-seq =
+ <0x63 0x6c /* override_x0 */
+ 0xC8 0x70 /* override_x1 */
+ 0x17 0x74>; /* override x2 */
+
+ status = "disabled";
+ };
+};
diff --git a/qcom/direwolf-vm.dtsi b/qcom/direwolf-vm.dtsi
index 25c6cf8e..a38f885d 100755
--- a/qcom/direwolf-vm.dtsi
+++ b/qcom/direwolf-vm.dtsi
@@ -1,9 +1,25 @@
+#include <dt-bindings/clock/qcom,gcc-direwolf.h>
#include "quin-vm-common.dtsi"
/ {
model = "Qualcomm Technologies, Inc. Direwolf Virtual Machine";
qcom,msm-name = "SA_DIREWOLF_IVI";
qcom,msm-id = <460 0x10000>;
+
+ aliases {
+ hsuart0 = &qupv3_se2_4uart;
+ pci-domain0 = &pcie0; /* PCIe0 domain */
+ pci-domain1 = &pcie1; /* PCIe1 domain */
+ pci-domain2 = &pcie2; /* PCIe2 domain */
+ pci-domain3 = &pcie3; /* PCIe3 domain */
+ pci-domain4 = &pcie4; /* PCIe4 domain */
+ };
+};
+
+&firmware {
+ scm {
+ compatible = "qcom,scm";
+ };
};
&soc {
@@ -158,6 +174,26 @@
memory-region = <&system_cma>;
};
+ qtee_shmbridge {
+ compatible = "qcom,tee-shared-memory-bridge";
+ /*Boolean property to disable shmbridge*/
+ qcom,disable-shmbridge-support;
+ };
+
+ qcom_qseecom: qseecom@c1800000 {
+ compatible = "qcom,qseecom";
+ reg = <0xc1800000 0x3900000>;
+ reg-names = "secapp-region";
+ memory-region = <&qseecom_mem>;
+ qcom,hlos-num-ce-hw-instances = <1>;
+ qcom,hlos-ce-hw-instance = <0>;
+ qcom,qsee-ce-hw-instance = <0>;
+ qcom,disk-encrypt-pipe-pair = <2>;
+ qcom,no-clock-support;
+ qcom,commonlib-loaded-by-hostvm;
+ qcom,qsee-reentrancy-support = <2>;
+ };
+
qcom_rng_ee3: qrng@10d3000 {
compatible = "qcom,msm-rng";
reg = <0x10d3000 0x1000>;
@@ -184,118 +220,349 @@
interrupt-parent = <&intc>;
interrupt-controller;
};
+
+ tlmm: pinctrl@f000000 {
+ compatible = "qcom,direwolf-pinctrl";
+ reg = <0x0F000000 0x1000000>;
+ interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ };
+
+ VDD_CX_LEVEL:
+ S1A0_LEVEL: pm8540_a0_s1_level: regulator-pm8540_a0-s1-level {
+ compatible = "qcom,stub-regulator";
+ regulator-name = "pm8540_a0_s1_level";
+ regulator-min-microvolt =
+ <RPMH_REGULATOR_LEVEL_RETENTION>;
+ regulator-max-microvolt =
+ <RPMH_REGULATOR_LEVEL_MAX>;
+ };
+
+ pcie_2a_pipe_clk: pcie_2a_pipe_clk {
+ compatible = "fixed-clock";
+ clock-frequency = <1000>;
+ clock-output-names = "pcie_2a_pipe_clk";
+ #clock-cells = <0>;
+ };
+
+ pcie_2b_pipe_clk: pcie_2b_pipe_clk {
+ compatible = "fixed-clock";
+ clock-frequency = <1000>;
+ clock-output-names = "pcie_2b_pipe_clk";
+ #clock-cells = <0>;
+ };
+
+ pcie_3a_pipe_clk: pcie_3a_pipe_clk {
+ compatible = "fixed-clock";
+ clock-frequency = <1000>;
+ clock-output-names = "pcie_3a_pipe_clk";
+ #clock-cells = <0>;
+ };
+
+ pcie_3b_pipe_clk: pcie_3b_pipe_clk {
+ compatible = "fixed-clock";
+ clock-frequency = <1000>;
+ clock-output-names = "pcie_3b_pipe_clk";
+ #clock-cells = <0>;
+ };
+
+ pcie_4_pipe_clk: pcie_4_pipe_clk {
+ compatible = "fixed-clock";
+ clock-frequency = <1000>;
+ clock-output-names = "pcie_4_pipe_clk";
+ #clock-cells = <0>;
+ };
+
+ usb3_phy_wrapper_gcc_usb30_pipe_clk: usb3_phy_wrapper_gcc_usb30_pipe_clk {
+ compatible = "fixed-clock";
+ clock-frequency = <1000>;
+ clock-output-names = "usb3_phy_wrapper_gcc_usb30_pipe_clk";
+ #clock-cells = <0>;
+ };
+
+ usb3_uni_phy_mp_gcc_usb30_pipe_0_clk: usb3_uni_phy_mp_gcc_usb30_pipe_0_clk {
+ compatible = "fixed-clock";
+ clock-frequency = <1000>;
+ clock-output-names = "usb3_uni_phy_mp_gcc_usb30_pipe_0_clk";
+ #clock-cells = <0>;
+ };
+
+ usb3_uni_phy_mp_gcc_usb30_pipe_1_clk: usb3_uni_phy_mp_gcc_usb30_pipe_1_clk {
+ compatible = "fixed-clock";
+ clock-frequency = <1000>;
+ clock-output-names = "usb3_uni_phy_mp_gcc_usb30_pipe_1_clk";
+ #clock-cells = <0>;
+ };
+
+ usb3_uni_phy_sec_gcc_usb30_pipe_clk: usb3_uni_phy_sec_gcc_usb30_pipe_clk {
+ compatible = "fixed-clock";
+ clock-frequency = <1000>;
+ clock-output-names = "usb3_uni_phy_sec_gcc_usb30_pipe_clk";
+ #clock-cells = <0>;
+ };
+
+ rpmh_cxo_clk: rpmh_cxo_clk {
+ compatible = "qcom,dummycc";
+ clock-output-names = "bi_tcxo";
+ #clock-cells = <0>;
+ };
+
+ /* PWR_CTR2_VDD_1P8 supply */
+ vreg_conn_1p8: vreg_conn_1p8 {
+ compatible = "regulator-fixed";
+ regulator-name = "vreg_conn_1p8";
+ pinctrl-names = "default";
+ pinctrl-0 = <&conn_power_1p8_active>;
+ startup-delay-us = <4000>;
+ enable-active-high;
+ gpio = <&tlmm 128 0>;
+ };
+
+ /* PWR_CTR1_VDD_PA supply */
+ vreg_conn_pa: vreg_conn_pa {
+ compatible = "regulator-fixed";
+ regulator-name = "vreg_conn_pa";
+ pinctrl-names = "default";
+ pinctrl-0 = <&conn_power_pa_active>;
+ startup-delay-us = <4000>;
+ enable-active-high;
+ gpio = <&tlmm 129 0>;
+ };
};
&regulator {
- virt_regulator {
- compatible = "virtio,device31";
+ gcc_usb30_prim_gdsc: gcc_usb30_prim_gdsc {
+ regulator-name = "gcc_usb30_prim_gdsc";
+ };
- gcc_usb30_prim_gdsc: gcc_usb30_prim_gdsc {
- regulator-name = "gcc_usb30_prim_gdsc";
- };
+ gcc_usb30_sec_gdsc: gcc_usb30_sec_gdsc {
+ regulator-name = "gcc_usb30_sec_gdsc";
+ };
- gcc_usb30_sec_gdsc: gcc_usb30_sec_gdsc {
- regulator-name = "gcc_usb30_sec_gdsc";
- };
+ gcc_usb30_mp_gdsc: gcc_usb30_mp_gdsc {
+ regulator-name = "gcc_usb30_mp_gdsc";
+ };
- gcc_usb30_mp_gdsc: gcc_usb30_mp_gdsc {
- regulator-name = "gcc_usb30_mp_gdsc";
- };
+ gcc_pcie_2a_gdsc: gcc_pcie_2a_gdsc {
+ regulator-name = "gcc_pcie_2a_gdsc";
+ };
- gcc_pcie_2a_gdsc: gcc_pcie_2a_gdsc {
- regulator-name = "gcc_pcie_2a_gdsc";
- };
+ gcc_pcie_2b_gdsc: gcc_pcie_2b_gdsc {
+ regulator-name = "gcc_pcie_2b_gdsc";
+ };
- gcc_pcie_2b_gdsc: gcc_pcie_2b_gdsc {
- regulator-name = "gcc_pcie_2b_gdsc";
- };
+ gcc_pcie_3a_gdsc: gcc_pcie_3a_gdsc {
+ regulator-name = "gcc_pcie_3a_gdsc";
+ };
- gcc_pcie_3a_gdsc: gcc_pcie_3a_gdsc {
- regulator-name = "gcc_pcie_3a_gdsc";
- };
+ gcc_pcie_3b_gdsc: gcc_pcie_3b_gdsc {
+ regulator-name = "gcc_pcie_3b_gdsc";
+ };
- gcc_pcie_3b_gdsc: gcc_pcie_3b_gdsc {
- regulator-name = "gcc_pcie_3b_gdsc";
- };
+ gcc_pcie_4_gdsc: gcc_pcie_4_gdsc {
+ regulator-name = "gcc_pcie_4_gdsc";
+ };
- gcc_pcie_4_gdsc: gcc_pcie_4_gdsc {
- regulator-name = "gcc_pcie_4_gdsc";
- };
+ L3A0: pm8540_a0_l3: regulator-pm8540_a0-l3 {
+ regulator-name = "ldoa3";
+ regulator-min-microvolt = <1140000>;
+ regulator-max-microvolt = <1260000>;
+ };
- L3A0: pm8540_a0_l3: regulator-pm8540_a0-l3 {
- regulator-name = "ldoa3";
- regulator-min-microvolt = <1140000>;
- regulator-max-microvolt = <1260000>;
- };
+ S4E0: pm8540_e0_s4: regulator-pm8540_e0-s4 {
+ regulator-name = "smpe4";
+ regulator-min-microvolt = <320000>;
+ regulator-max-microvolt = <2040000>;
+ };
- S4E0: pm8540_e0_s4: regulator-pm8540_e0-s4 {
- regulator-name = "smpe4";
- regulator-min-microvolt = <320000>;
- regulator-max-microvolt = <2040000>;
- };
+ L5A0: pm8540_a0_l5: regulator-pm8540_a0-l5 {
+ regulator-name = "ldoa5";
+ regulator-min-microvolt = <720000>;
+ regulator-max-microvolt = <950000>;
+ };
- L5A0: pm8540_a0_l5: regulator-pm8540_a0-l5 {
- regulator-name = "ldoa5";
- regulator-min-microvolt = <720000>;
- regulator-max-microvolt = <950000>;
- };
+ L6G0: pm8540_g0_l6: regulator-pm8540_g0-l6 {
+ regulator-name = "ldog6";
+ };
- L6G0: pm8540_g0_l6: regulator-pm8540_g0-l6 {
- regulator-name = "ldog6";
- };
+ L7A0: pm8540_a0_l7: regulator-pm8540_a0-l7 {
+ regulator-name = "ldoa7";
+ regulator-min-microvolt = <1620000>;
+ regulator-max-microvolt = <1980000>;
+ };
- L7A0: pm8540_a0_l7: regulator-pm8540_a0-l7 {
- regulator-name = "ldoa7";
- regulator-min-microvolt = <1620000>;
- regulator-max-microvolt = <1980000>;
- };
+ L11A0: pm8540_a0_l11: regulator-pm8540_a0-l11 {
+ regulator-name = "ldoa11";
+ regulator-min-microvolt = <830000>;
+ regulator-max-microvolt = <920000>;
+ };
- L11A0: pm8540_a0_l11: regulator-pm8540_a0-l11 {
- regulator-name = "ldoa11";
- regulator-min-microvolt = <830000>;
- regulator-max-microvolt = <920000>;
- };
+ L13A0: pm8540_a0_l13: regulator-pm8540_a0-l13 {
+ regulator-name = "ldoa13";
+ regulator-min-microvolt = <2970000>;
+ regulator-max-microvolt = <3544000>;
+ };
- L13A0: pm8540_a0_l13: regulator-pm8540_a0-l13 {
- regulator-name = "ldoa13";
- regulator-min-microvolt = <2970000>;
- regulator-max-microvolt = <3544000>;
- };
+ L1C0: pm8540_c0_l1: regulator-pm8540_c0-l1 {
+ regulator-name = "ldoc1";
+ regulator-min-microvolt = <720000>;
+ regulator-max-microvolt = <950000>;
+ };
- L1C0: pm8540_c0_l1: regulator-pm8540_c0-l1 {
- regulator-name = "ldoc1";
- regulator-min-microvolt = <720000>;
- regulator-max-microvolt = <950000>;
- };
+ L7C0: pm8540_c0_l7: regulator-pm8540_c0-l7 {
+ regulator-name = "ldoc7";
+ regulator-min-microvolt = <1620000>;
+ regulator-max-microvolt = <1980000>;
+ };
- L7C0: pm8540_c0_l7: regulator-pm8540_c0-l7 {
- regulator-name = "ldoc7";
- regulator-min-microvolt = <1620000>;
- regulator-max-microvolt = <1980000>;
- };
+ L2C0: pm8540_c0_l2: regulator-pm8540_c0-l2 {
+ regulator-name = "ldoc2";
+ regulator-min-microvolt = <2970000>;
+ regulator-max-microvolt = <3544000>;
+ };
- L2C0: pm8540_c0_l2: regulator-pm8540_c0-l2 {
- regulator-name = "ldoc2";
- regulator-min-microvolt = <2970000>;
- regulator-max-microvolt = <3544000>;
+ L15A0: pm8540_a0_l15: regulator-pm8540_a0-l15 {
+ regulator-name = "ldoa15";
+ };
+
+ L7G0: pm8540_g0_l7: regulator-pm8540_g0-l7 {
+ regulator-name = "ldog7";
+ regulator-min-microvolt = <1620000>;
+ regulator-max-microvolt = <1980000>;
+ };
+
+ L4C0: pm8540_c0_l4: regulator-pm8540_c0-l4 {
+ regulator-name = "ldoc4";
+ regulator-min-microvolt = <1140000>;
+ regulator-max-microvolt = <1260000>;
+ };
+};
+
+&soc {
+ tcsr_compute_signal_glb: syscon@0x1fd8000 {
+ compatible = "syscon";
+ reg = <0x1fd8000 0x1000>;
+ };
+
+ tcsr_compute_signal_sender0: syscon@0x1fd9000 {
+ compatible = "syscon";
+ reg = <0x1fd9000 0x1000>;
+ };
+
+ tcsr_compute_signal_sender1: syscon@0x1fdd000 {
+ compatible = "syscon";
+ reg = <0x1fdd000 0x1000>;
+ };
+
+ tcsr_compute_signal_receiver0: syscon@0x1fdb000 {
+ compatible = "syscon";
+ reg = <0x1fdb000 0x1000>;
+ };
+
+ tcsr_compute_signal_receiver1: syscon@0x1fdf000 {
+ compatible = "syscon";
+ reg = <0x1fdf000 0x1000>;
+ };
+
+ hgsl_tcsr_sender0: hgsl_tcsr_sender0 {
+ compatible = "qcom,hgsl-tcsr-sender";
+ syscon = <&tcsr_compute_signal_sender0>;
+ syscon-glb = <&tcsr_compute_signal_glb>;
+ };
+
+ hgsl_tcsr_sender1: hgsl_tcsr_sender1 {
+ compatible = "qcom,hgsl-tcsr-sender";
+ syscon = <&tcsr_compute_signal_sender1>;
+ syscon-glb = <&tcsr_compute_signal_glb>;
+ };
+
+ hgsl_tcsr_receiver0: hgsl_tcsr_receiver0 {
+ compatible = "qcom,hgsl-tcsr-receiver";
+ syscon = <&tcsr_compute_signal_receiver0>;
+ interrupts = <0 238 IRQ_TYPE_LEVEL_HIGH>;
+ };
+
+ hgsl_tcsr_receiver1: hgsl_tcsr_receiver1 {
+ compatible = "qcom,hgsl-tcsr-receiver";
+ syscon = <&tcsr_compute_signal_receiver1>;
+ interrupts = <0 239 IRQ_TYPE_LEVEL_HIGH>;
+ };
+
+ msm_gpu_hyp: qcom,hgsl@0x2c00000 {
+ compatible = "qcom,hgsl";
+ reg = <0x2c00000 0x8>, <0x2c8f000 0x4>;
+ reg-names = "hgsl_reg_hwinf", "hgsl_reg_gmucx";
+
+ qcom,glb-db-senders = <&hgsl_tcsr_sender0
+ &hgsl_tcsr_sender1>;
+ qcom,glb-db-receivers = <&hgsl_tcsr_receiver0
+ &hgsl_tcsr_receiver1>;
+ };
+};
+
+#include "pm8540-vm.dtsi"
+#include "direwolf-pinctrl.dtsi"
+#include "direwolf-vm-pcie.dtsi"
+#include "direwolf-qupv3.dtsi"
+#include "direwolf-vm-usb.dtsi"
+
+&qupv3_0 {
+ qcom,iommu-dma = "bypass";
+};
+
+&qupv3_1 {
+ qcom,iommu-dma = "bypass";
+};
+
+&qupv3_2 {
+ qcom,iommu-dma = "bypass";
+};
+
+&pm8540_2_gpios {
+ usb20_vbus_boost {
+ usb20_vbus_boost_default: usb20_vbus_boost_default {
+ pins = "gpio9";
+ function = "normal";
+ output-high;
+ power-source = <0>;
};
+ };
+};
- L15A0: pm8540_a0_l15: regulator-pm8540_a0-l15 {
- regulator-name = "ldoa15";
+&pm8540_3_gpios {
+ usb21_vbus_boost {
+ usb21_vbus_boost_default: usb21_vbus_boost_default {
+ pins = "gpio5";
+ function = "normal";
+ output-high;
+ power-source = <0>;
};
+ };
+};
- L7G0: pm8540_g0_l7: regulator-pm8540_g0-l7 {
- regulator-name = "ldog7";
- regulator-min-microvolt = <1620000>;
- regulator-max-microvolt = <1980000>;
+&pm8540_4_gpios {
+ usb223_vbus_boost {
+ usb22_vbus_boost_default: usb22_vbus_boost_default {
+ pins = "gpio5";
+ function = "normal";
+ output-high;
+ power-source = <0>;
};
- L4C0: pm8540_c0_l4: regulator-pm8540_c0-l4 {
- regulator-name = "ldoc4";
- regulator-min-microvolt = <1140000>;
- regulator-max-microvolt = <1260000>;
+ usb23_vbus_boost_default: usb23_vbus_boost_default {
+ pins = "gpio9";
+ function = "normal";
+ output-high;
+ power-source = <0>;
};
};
};
-#include "pm8540-vm.dtsi"
+&usb2 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&usb20_vbus_boost_default &usb21_vbus_boost_default
+ &usb22_vbus_boost_default &usb23_vbus_boost_default>;
+};
diff --git a/qcom/fg-gen4-batterydata-atl466274-3650mah.dtsi b/qcom/fg-gen4-batterydata-atl466274-3650mah.dtsi
new file mode 100755
index 00000000..f5e78e3a
--- /dev/null
+++ b/qcom/fg-gen4-batterydata-atl466274-3650mah.dtsi
@@ -0,0 +1,138 @@
+
+qcom,atl466274_3650mah_averaged_masterslave_may14th2019 {
+ /* #ATL466274_3650mAh_averaged_MasterSlave_May14th2019*/
+ qcom,max-voltage-uv = <4400000>;
+ qcom,fg-cc-cv-threshold-mv = <4390>;
+ qcom,fastchg-current-ma = <5325>;
+ qcom,batt-id-kohm = <31>;
+ /* COLD = 0 DegC, HOT = 55 DegC */
+ qcom,jeita-hard-thresholds = <0x58cd 0x181d>;
+ /* COOL = 10 DegC, WARM = 45 DegC */
+ qcom,jeita-soft-thresholds = <0x4ccc 0x20b8>;
+ /* COOL hys = 13 DegC, WARM hys = 42 DegC */
+ qcom,jeita-soft-hys-thresholds = <0x48d4 0x23c0>;
+ qcom,jeita-fcc-ranges = <0 100 1065000
+ 101 200 1775000
+ 201 450 5325000
+ 451 550 1775000>;
+ qcom,jeita-fv-ranges = <0 100 4400000
+ 101 200 4400000
+ 201 450 4400000
+ 451 550 4050000>;
+ qcom,jeita-soft-fcc-ua = <1065000 1775000>;
+ qcom,jeita-soft-fv-uv = <4400000 4050000>;
+ qcom,battery-beta = <4250>;
+ qcom,battery-type = "ATL466274_3650mah_masterslave_may14th2019";
+ qcom,therm-coefficients = <0x2318 0xd0c 0xdaf7 0xc556 0x848d>;
+ qcom,therm-center-offset = <0x70>;
+ qcom,rslow-normal-coeffs = <0xb1 0xfa 0x99 0x13>;
+ qcom,rslow-low-coeffs = <0x79 0x15 0x21 0xfa>;
+ qcom,checksum = <0xCC95>;
+ qcom,gui-version = "PM855GUI - 1.0.0.13";
+ qcom,fg-profile-data = [
+ 09 00 CB E3
+ B1 DD D0 DB
+ 31 D4 00 00
+ 9F BD BE 83
+ FE 87 38 9C
+ 6C 87 9B 80
+ 1A 00 B1 FA
+ 99 13 B9 06
+ 13 FA CE 07
+ 32 00 3D EB
+ F9 ED BF D5
+ 38 0A 45 DB
+ BD 9C 6F 12
+ 8B E3 55 C4
+ 60 00 4A 00
+ 47 00 43 00
+ 34 00 31 00
+ 34 00 43 00
+ 40 00 42 00
+ 44 00 60 00
+ 33 00 3D 00
+ 47 00 3F 00
+ 37 00 75 00
+ 5D 64 49 00
+ 40 00 40 08
+ 60 00 50 00
+ 4C 00 58 08
+ 4C 10 45 00
+ 84 28 5D 48
+ 4F 58 48 0E
+ 45 00 D8 08
+ 6F 20 6F 14
+ 61 03 7F FD
+ A0 1C E7 02
+ 0D 04 24 22
+ 9B 17 2C 42
+ B2 55 61 03
+ 71 13 44 22
+ 57 05 4B 0A
+ 5F 04 06 1D
+ D3 02 A2 05
+ F5 02 30 18
+ 25 23 6C 45
+ E4 52 95 12
+ D5 1F 3F E5
+ D9 CA DF BD
+ E0 1C 8B C9
+ 5B 05 43 BB
+ 55 17 B2 8B
+ E2 84 97 93
+ 84 98 09 80
+ A3 03 CD 05
+ 66 05 3D F2
+ 00 F8 58 D5
+ E3 E2 F7 07
+ D5 EB 0A C5
+ 37 18 17 00
+ 33 E7 CB 02
+ 36 07 5E 03
+ CE 07 32 00
+ 2B 03 07 04
+ 3D 05 D6 02
+ EB 05 73 03
+ 9F 03 33 03
+ 02 05 4C 00
+ 3D 00 42 00
+ 42 64 46 00
+ 4A 00 3E 08
+ 44 F8 46 00
+ 46 00 3B 10
+ 3E 10 3B 00
+ 49 28 4A 48
+ 52 60 64 0D
+ 40 00 48 00
+ 50 08 4C 00
+ 39 00 3E 00
+ 3D 10 48 10
+ 42 00 51 20
+ 65 40 43 58
+ 4D 0E 48 00
+ 38 00 20 08
+ D8 00 2D 20
+ 39 05 B1 0A
+ 33 0C BD 1C
+ 71 23 97 45
+ 8D 52 5C 18
+ 22 02 7F 05
+ 0C 02 6A 11
+ 3F 0A 36 20
+ E5 04 25 03
+ 8D 05 C5 1C
+ FD 02 FA 05
+ 37 02 88 18
+ B2 03 1A 04
+ DA 02 6C 00
+ 78 20 8C 04
+ 75 03 37 05
+ D7 1C 3B 02
+ 84 05 BF 02
+ 93 18 11 03
+ 4E 05 45 03
+ 7A 00 1D 01
+ C0 00 FA 00
+ 47 0E 00 00
+ ];
+};
diff --git a/qcom/fg-gen4-batterydata-mlp466274-3650mah.dtsi b/qcom/fg-gen4-batterydata-mlp466274-3650mah.dtsi
new file mode 100755
index 00000000..5c823942
--- /dev/null
+++ b/qcom/fg-gen4-batterydata-mlp466274-3650mah.dtsi
@@ -0,0 +1,135 @@
+qcom,mlp466274_3650mah_averaged_masterslave_jan21st2019 {
+ /* #mlp466274_3650mAh_averaged_MasterSlave_Jan21st2019*/
+ qcom,max-voltage-uv = <4400000>;
+ qcom,fg-cc-cv-threshold-mv = <4390>;
+ qcom,fastchg-current-ma = <5325>;
+ qcom,batt-id-kohm = <44>;
+ /* COLD = 0 DegC, HOT = 55 DegC */
+ qcom,jeita-hard-thresholds = <0x58cd 0x181d>;
+ /* COOL = 15 DegC, WARM = 45 DegC */
+ qcom,jeita-soft-thresholds = <0x4621 0x20b8>;
+ /* COOL hys = 18 DegC, WARM hys = 42 DegC */
+ qcom,jeita-soft-hys-thresholds = <0x4206 0x23c0>;
+ qcom,jeita-fcc-ranges = <0 150 710000
+ 151 450 5325000
+ 451 550 1775000>;
+ qcom,jeita-fv-ranges = <0 150 4150000
+ 151 450 4400000
+ 451 550 4150000>;
+ qcom,jeita-soft-fcc-ua = <710000 1775000>;
+ qcom,jeita-soft-fv-uv = <4150000 4150000>;
+ qcom,battery-beta = <4250>;
+ qcom,battery-type = "mlp466274_3650mah_masterslave_jan21st2019";
+ qcom,therm-coefficients = <0x2318 0xd0c 0xdaf7 0xc556 0x848d>;
+ qcom,therm-center-offset = <0x70>;
+ qcom,rslow-normal-coeffs = <0xa9 0x15 0x87 0x0d>;
+ qcom,rslow-low-coeffs = <0xae 0x0c 0x65 0xfc>;
+ qcom,checksum = <0x393C>;
+ qcom,gui-version = "PM855GUI - 1.0.0.13";
+ qcom,fg-profile-data = [
+ 09 00 15 EA
+ CA DC 05 E3
+ 99 DC 00 00
+ A6 BD 4F 8A
+ F9 87 88 9D
+ 79 9A E7 87
+ 48 00 A9 15
+ 87 0D 7C 04
+ 30 02 CE 07
+ 32 00 BF EB
+ 95 ED 67 D5
+ 16 0A 1A EB
+ 5C B2 FE 0D
+ A9 06 23 BB
+ 60 00 3E 00
+ 3D 00 3E 00
+ 38 00 32 00
+ 33 00 38 00
+ 40 00 4A 00
+ 5A 00 60 00
+ 51 00 41 00
+ 36 00 31 00
+ 2E 00 3C 00
+ 45 64 43 00
+ 47 00 40 00
+ 60 00 54 00
+ 45 00 50 08
+ 53 08 3F 00
+ 66 28 61 48
+ 51 58 4A 0E
+ 47 00 D8 00
+ F6 1F 7F 0D
+ FA 03 53 07
+ 73 1C DE 0A
+ 82 0C 64 23
+ 1A 17 4E 42
+ 8C 55 99 03
+ 7D 13 79 1F
+ 98 05 91 0A
+ 2B 06 BE 1C
+ 32 02 67 05
+ F4 02 F9 17
+ 27 23 72 45
+ DB 52 72 13
+ FE 1F 14 ED
+ F1 CA CA 85
+ D3 1C 8C C1
+ 78 05 11 BB
+ 4C 17 80 8B
+ 33 85 0F 9B
+ 88 80 09 80
+ 01 F2 F2 05
+ FE 03 AC FB
+ 00 F8 51 DD
+ 44 EB F4 07
+ 89 F5 8C CA
+ 33 18 2A 00
+ 11 DD AB 01
+ 86 05 2F 03
+ CE 07 32 00
+ 3D 03 D9 03
+ 45 05 01 07
+ 23 02 17 05
+ C8 03 9F 07
+ 33 03 50 00
+ 3F 00 3F 00
+ 41 64 43 00
+ 42 F8 3F 00
+ 45 00 44 00
+ 42 00 3B 10
+ 45 10 3D 00
+ 44 20 43 40
+ 45 58 4B 0F
+ 39 00 3A 00
+ 44 08 56 00
+ 4B 00 3E 00
+ 3A 10 48 10
+ 45 00 4D 20
+ 5F 40 40 58
+ 42 10 4E 00
+ 4B 08 2C 10
+ D8 08 B3 1F
+ 41 FC B9 03
+ EF 06 C5 1C
+ 57 23 D8 45
+ 2D 52 7D 18
+ 86 03 8C 04
+ 5C 02 6C 12
+ 3F 0A 68 20
+ D1 04 1D 03
+ A0 05 B9 1C
+ 1B 03 FB 05
+ 1F 02 94 18
+ 4E 03 DD 04
+ 14 02 70 00
+ 9D 23 A2 04
+ D6 02 A4 05
+ E6 1C D7 03
+ 78 04 CB 03
+ 84 18 F7 02
+ 88 05 D7 02
+ 95 00 58 01
+ C0 00 FA 00
+ 29 0E 00 00
+ ];
+};
diff --git a/qcom/kalama-atp-overlay.dts b/qcom/kalama-atp-overlay.dts
index fc77e033..76da30d0 100755
--- a/qcom/kalama-atp-overlay.dts
+++ b/qcom/kalama-atp-overlay.dts
@@ -6,6 +6,6 @@
/ {
model = "Qualcomm Technologies, Inc. Kalama ATP";
compatible = "qcom,kalama-atp", "qcom,kalama", "qcom,atp";
- qcom,msm-id = <519 0x10000>, <536 0x10000>, <519 0x20000>, <536 0x20000>, <600 0x20000>, <601 0x20000>;
+ qcom,msm-id = <519 0x10000>, <536 0x10000>, <519 0x20000>, <536 0x20000>, <600 0x20000>, <601 0x20000>, <603 0x20000>, <604 0x20000>;
qcom,board-id = <0x10021 0>;
};
diff --git a/qcom/kalama-cdp-nfc-overlay.dts b/qcom/kalama-cdp-nfc-overlay.dts
index 3466ee6a..c87537b5 100755
--- a/qcom/kalama-cdp-nfc-overlay.dts
+++ b/qcom/kalama-cdp-nfc-overlay.dts
@@ -6,6 +6,6 @@
/ {
model = "Qualcomm Technologies, Inc. Kalama CDP ST54K NFC";
compatible = "qcom,kalama-cdp", "qcom,kalama", "qcom,cdp";
- qcom,msm-id = <519 0x10000>, <536 0x10000>, <519 0x20000>, <536 0x20000>, <600 0x20000>, <601 0x20000>;
+ qcom,msm-id = <519 0x10000>, <536 0x10000>, <519 0x20000>, <536 0x20000>, <600 0x20000>, <601 0x20000>, <603 0x20000>, <604 0x20000>;
qcom,board-id = <0x02010001 0>;
};
diff --git a/qcom/kalama-cdp-overlay.dts b/qcom/kalama-cdp-overlay.dts
index 0b0e2b26..09196d61 100755
--- a/qcom/kalama-cdp-overlay.dts
+++ b/qcom/kalama-cdp-overlay.dts
@@ -6,6 +6,6 @@
/ {
model = "Qualcomm Technologies, Inc. Kalama CDP";
compatible = "qcom,kalama-cdp", "qcom,kalama", "qcom,cdp";
- qcom,msm-id = <519 0x10000>, <536 0x10000>, <519 0x20000>, <536 0x20000>, <600 0x20000>, <601 0x20000>;
+ qcom,msm-id = <519 0x10000>, <536 0x10000>, <519 0x20000>, <536 0x20000>, <600 0x20000>, <601 0x20000>, <603 0x20000>, <604 0x20000>;
qcom,board-id = <0x10001 0>;
};
diff --git a/qcom/kalama-cdp-wsa883x-overlay.dts b/qcom/kalama-cdp-wsa883x-overlay.dts
index e211712a..e808ecc9 100755
--- a/qcom/kalama-cdp-wsa883x-overlay.dts
+++ b/qcom/kalama-cdp-wsa883x-overlay.dts
@@ -6,6 +6,6 @@
/ {
model = "Qualcomm Technologies, Inc. Kalama CDP WSA883x";
compatible = "qcom,kalama-cdp", "qcom,kalama", "qcom,cdp";
- qcom,msm-id = <519 0x10000>, <536 0x10000>, <519 0x20000>, <536 0x20000>, <600 0x20000>, <601 0x20000>;
+ qcom,msm-id = <519 0x10000>, <536 0x10000>, <519 0x20000>, <536 0x20000>, <600 0x20000>, <601 0x20000>, <603 0x20000>, <604 0x20000>;
qcom,board-id = <0x1010001 0>;
};
diff --git a/qcom/kalama-coresight.dtsi b/qcom/kalama-coresight.dtsi
index 5f70e773..7c7abc95 100755
--- a/qcom/kalama-coresight.dtsi
+++ b/qcom/kalama-coresight.dtsi
@@ -4404,4 +4404,40 @@
};
};
};
+
+ spmi_tgu0: tgu@10b0f000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb999>;
+
+ reg = <0x10b0f000 0x1000>;
+ reg-names = "tgu-base";
+
+ tgu-steps = <3>;
+ tgu-conditions = <4>;
+ tgu-regs = <9>;
+ tgu-timer-counters = <8>;
+
+ coresight-name = "coresight-tgu-spmi0";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ spmi_tgu1: tgu@10b10000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb999>;
+
+ reg = <0x10b10000 0x1000>;
+ reg-names = "tgu-base";
+
+ tgu-steps = <3>;
+ tgu-conditions = <4>;
+ tgu-regs = <9>;
+ tgu-timer-counters = <8>;
+
+ coresight-name = "coresight-tgu-spmi1";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
};
diff --git a/qcom/kalama-dma-heaps.dtsi b/qcom/kalama-dma-heaps.dtsi
index fbd8e20d..d5e24548 100755
--- a/qcom/kalama-dma-heaps.dtsi
+++ b/qcom/kalama-dma-heaps.dtsi
@@ -61,5 +61,17 @@
memory-region = <&spu_tz_shared_mem>;
qcom,token = <0x01000000>;
};
+
+ qcom,audio_ml {
+ qcom,dma-heap-name = "qcom,audio-ml";
+ qcom,dma-heap-type = <HEAP_TYPE_CMA>;
+ memory-region = <&audio_cma_mem>;
+ };
+
+ qcom,adsp {
+ qcom,dma-heap-name = "qcom,adsp";
+ qcom,dma-heap-type = <HEAP_TYPE_CMA>;
+ memory-region = <&sdsp_mem>;
+ };
};
};
diff --git a/qcom/kalama-mtp-nfc-overlay.dts b/qcom/kalama-mtp-nfc-overlay.dts
index 608bc9ce..959f3ec7 100755
--- a/qcom/kalama-mtp-nfc-overlay.dts
+++ b/qcom/kalama-mtp-nfc-overlay.dts
@@ -6,6 +6,6 @@
/ {
model = "Qualcomm Technologies, Inc. Kalama MTP ST54K NFC";
compatible = "qcom,kalama-mtp", "qcom,kalama", "qcom,mtp";
- qcom,msm-id = <519 0x10000>, <536 0x10000>, <519 0x20000>, <536 0x20000>, <600 0x20000>, <601 0x20000>;
+ qcom,msm-id = <519 0x10000>, <536 0x10000>, <519 0x20000>, <536 0x20000>, <600 0x20000>, <601 0x20000>, <604 0x20000>;
qcom,board-id = <0x1010008 0>;
};
diff --git a/qcom/kalama-mtp-overlay.dts b/qcom/kalama-mtp-overlay.dts
index b4305ec3..a1c9ccfa 100755
--- a/qcom/kalama-mtp-overlay.dts
+++ b/qcom/kalama-mtp-overlay.dts
@@ -6,6 +6,6 @@
/ {
model = "Qualcomm Technologies, Inc. Kalama MTP";
compatible = "qcom,kalama-mtp", "qcom,kalama", "qcom,mtp";
- qcom,msm-id = <519 0x10000>, <536 0x10000>, <519 0x20000>, <536 0x20000>, <600 0x20000>, <601 0x20000>;
+ qcom,msm-id = <519 0x10000>, <536 0x10000>, <519 0x20000>, <536 0x20000>, <600 0x20000>, <601 0x20000>, <604 0x20000>;
qcom,board-id = <0x10008 0>;
};
diff --git a/qcom/kalama-mtp.dtsi b/qcom/kalama-mtp.dtsi
index b5c540d4..d78cfeb9 100755
--- a/qcom/kalama-mtp.dtsi
+++ b/qcom/kalama-mtp.dtsi
@@ -251,3 +251,208 @@
periph-d45-supply = <&L6N>;
periph-d46-supply = <&L7N>;
};
+
+&pcie1 {
+ qcom,pcie-phy-ver = <104>;
+
+ qcom,phy-sequence = <0x1240 0x03 0x0
+ 0x0030 0x18 0x0
+ 0x0034 0x03 0x0
+ 0x0078 0x01 0x0
+ 0x007c 0x00 0x0
+ 0x0080 0x51 0x0
+ 0x0090 0x12 0x0
+ 0x00ac 0x34 0x0
+ 0x00b0 0x00 0x0
+ 0x00cc 0x00 0x0
+ 0x0208 0x0c 0x0
+ 0x020c 0x0a 0x0
+ 0x0218 0x04 0x0
+ 0x0220 0x16 0x0
+ 0x0234 0x00 0x0
+ 0x029c 0x80 0x0
+ 0x02a0 0x7c 0x0
+ 0x02ac 0x00 0x0
+ 0x02b0 0x20 0x0
+ 0x02b4 0x05 0x0
+ 0x02b8 0x00 0x0
+ 0x02e0 0x40 0x0
+ 0x02e4 0x00 0x0
+ 0x02e8 0x0a 0x0
+ 0x030c 0x0d 0x0
+ 0x0318 0x80 0x0
+ 0x031c 0x0a 0x0
+ 0x0320 0x0f 0x0 /* setting for ultra short channel */
+ 0x033c 0x74 0x0
+ 0x0340 0x00 0x0
+ 0x0348 0x1c 0x0
+ 0x034c 0x24 0x0
+ 0x0354 0x0e 0x0
+ 0x0388 0x20 0x0
+ 0x0390 0x28 0x0
+ 0x0394 0x30 0x0
+ 0x039c 0x0c 0x0
+ 0x03dc 0x09 0x0
+ 0x03f4 0x14 0x0
+ 0x03f8 0xb3 0x0
+ 0x03fc 0x58 0x0
+ 0x0400 0x9a 0x0
+ 0x0404 0x26 0x0
+ 0x0408 0xb6 0x0
+ 0x040c 0xee 0x0
+ 0x0410 0xdb 0x0
+ 0x0414 0xdb 0x0
+ 0x0418 0xa0 0x0
+ 0x041c 0xdf 0x0
+ 0x0420 0x78 0x0
+ 0x0424 0x76 0x0
+ 0x0428 0xff 0x0
+ 0x0830 0x18 0x0
+ 0x0834 0x03 0x0
+ 0x0878 0x01 0x0
+ 0x087c 0x00 0x0
+ 0x0880 0x51 0x0
+ 0x0890 0x12 0x0
+ 0x08ac 0x34 0x0
+ 0x08b0 0x00 0x0
+ 0x08cc 0x00 0x0
+ 0x0a08 0x0c 0x0
+ 0x0a0c 0x0a 0x0
+ 0x0a18 0x04 0x0
+ 0x0a20 0x16 0x0
+ 0x0a34 0x00 0x0
+ 0x0a9c 0x80 0x0
+ 0x0aa0 0x7c 0x0
+ 0x0aac 0x00 0x0
+ 0x0ab0 0x20 0x0
+ 0x0ab4 0x05 0x0
+ 0x0ab8 0x00 0x0
+ 0x0ae0 0x40 0x0
+ 0x0ae4 0x00 0x0
+ 0x0ae8 0x0a 0x0
+ 0x0b0c 0x0d 0x0
+ 0x0b18 0x80 0x0
+ 0x0b1c 0x0a 0x0
+ 0x0b20 0x0f 0x0 /* setting for ultra short channel */
+ 0x0b3c 0x74 0x0
+ 0x0b40 0x00 0x0
+ 0x0b48 0x1c 0x0
+ 0x0b4c 0x24 0x0
+ 0x0b54 0x0e 0x0
+ 0x0b88 0x20 0x0
+ 0x0b90 0x28 0x0
+ 0x0b94 0x30 0x0
+ 0x0b9c 0x0c 0x0
+ 0x0bdc 0x09 0x0
+ 0x0bf4 0x14 0x0
+ 0x0bf8 0xb3 0x0
+ 0x0bfc 0x58 0x0
+ 0x0c00 0x9a 0x0
+ 0x0c04 0x26 0x0
+ 0x0c08 0xb6 0x0
+ 0x0c0c 0xee 0x0
+ 0x0c10 0xdb 0x0
+ 0x0c14 0xdb 0x0
+ 0x0c18 0xa0 0x0
+ 0x0c1c 0xdf 0x0
+ 0x0c20 0x78 0x0
+ 0x0c24 0x76 0x0
+ 0x0c28 0xff 0x0
+ 0x0ea0 0x01 0x0
+ 0x0eb4 0x00 0x0
+ 0x0eb8 0x08 0x0
+ 0x0ebc 0x3e 0x0
+ 0x0ec0 0x1e 0x0
+ 0x0ec4 0x00 0x0
+ 0x0ec8 0x1f 0x0
+ 0x0ed4 0x12 0x0
+ 0x0ed8 0x12 0x0
+ 0x0edc 0xdb 0x0
+ 0x0ee0 0x9a 0x0
+ 0x0ee4 0x3f 0x0 /* setting for ultra short channel */
+ 0x0ee8 0xb6 0x0
+ 0x0eec 0x64 0x0
+ 0x0ef0 0x1f 0x0
+ 0x0ef4 0x1f 0x0
+ 0x0ef8 0x1f 0x0
+ 0x0efc 0x1f 0x0
+ 0x0f00 0x1f 0x0
+ 0x0f04 0x1f 0x0
+ 0x0f0c 0x1f 0x0
+ 0x0f14 0x1f 0x0
+ 0x0f1c 0x1f 0x0
+ 0x0f28 0x5b 0x0
+ 0x1000 0x26 0x0
+ 0x1004 0x03 0x0
+ 0x1010 0x06 0x0
+ 0x1014 0x16 0x0
+ 0x1018 0x36 0x0
+ 0x101c 0x04 0x0
+ 0x1020 0x0a 0x0
+ 0x1024 0x1a 0x0
+ 0x1028 0x68 0x0
+ 0x1030 0xab 0x0
+ 0x1034 0xaa 0x0
+ 0x1038 0x02 0x0
+ 0x103c 0x12 0x0
+ 0x1060 0xf8 0x0
+ 0x1064 0x01 0x0
+ 0x1070 0x06 0x0
+ 0x1074 0x16 0x0
+ 0x1078 0x36 0x0
+ 0x107c 0x0a 0x0
+ 0x1080 0x04 0x0
+ 0x1084 0x0d 0x0
+ 0x1088 0x41 0x0
+ 0x1090 0xab 0x0
+ 0x1094 0xaa 0x0
+ 0x1098 0x01 0x0
+ 0x109c 0x00 0x0
+ 0x10bc 0x0a 0x0
+ 0x10c0 0x01 0x0
+ 0x10cc 0x62 0x0
+ 0x10d0 0x02 0x0
+ 0x10d8 0x40 0x0
+ 0x10dc 0x14 0x0
+ 0x10e0 0x90 0x0
+ 0x10e4 0x82 0x0
+ 0x10f4 0x0f 0x0
+ 0x1110 0x08 0x0
+ 0x1120 0x46 0x0
+ 0x1124 0x04 0x0
+ 0x1140 0x14 0x0
+ 0x1164 0x34 0x0
+ 0x1170 0xa0 0x0
+ 0x1174 0x06 0x0
+ 0x1184 0x88 0x0
+ 0x1188 0x14 0x0
+ 0x118c 0x00 0x0
+ 0x1190 0x64 0x0
+ 0x1194 0x00 0x0
+ 0x1198 0x0f 0x0
+ 0x1378 0x2e 0x0
+ 0x1390 0xcc 0x0
+ 0x13f0 0x0d 0x0
+ 0x13f8 0x00 0x0
+ 0x13fc 0x22 0x0
+ 0x141c 0xc1 0x0
+ 0x1490 0x00 0x0
+ 0x14a0 0x16 0x0
+ 0x14f0 0x27 0x0
+ 0x14f4 0x27 0x0
+ 0x14fc 0x0d 0x0
+ 0x1508 0x02 0x0
+ 0x155c 0x2e 0x0
+ 0x157c 0x03 0x0
+ 0x1584 0x28 0x0
+ 0x13dc 0x04 0x0
+ 0x13e0 0x02 0x0
+ 0x1418 0xc0 0x0
+ 0x140c 0x1d 0x0
+ 0x158c 0x0f 0x0
+ 0x1370 0x0f 0x0 /* setting for ultra short channel */
+ 0x15ac 0xf2 0x0
+ 0x15c0 0xf2 0x0
+ 0x1200 0x00 0x0
+ 0x1244 0x03 0x0>;
+};
diff --git a/qcom/kalama-pcie.dtsi b/qcom/kalama-pcie.dtsi
index 7921c42f..b000b559 100755
--- a/qcom/kalama-pcie.dtsi
+++ b/qcom/kalama-pcie.dtsi
@@ -109,7 +109,6 @@
qcom,boot-option = <0x1>;
qcom,aux-clk-freq = <20>; /* 19.2 MHz */
qcom,drv-name = "lpass";
- qcom,no-l0s-supported;
qcom,drv-l1ss-timeout-us = <5000>;
qcom,l1-2-th-scale = <2>;
qcom,l1-2-th-value = <150>;
diff --git a/qcom/kalama-qcm.dts b/qcom/kalama-qcm.dts
new file mode 100755
index 00000000..5eb9a88f
--- /dev/null
+++ b/qcom/kalama-qcm.dts
@@ -0,0 +1,9 @@
+/dts-v1/;
+
+#include "kalama-qcm.dtsi"
+
+/ {
+ model = "Qualcomm Technologies, Inc. Kalama QCM SoC";
+ compatible = "qcom,kalama";
+ qcom,board-id = <0 0>;
+};
diff --git a/qcom/kalama-qcm.dtsi b/qcom/kalama-qcm.dtsi
new file mode 100755
index 00000000..701f84a5
--- /dev/null
+++ b/qcom/kalama-qcm.dtsi
@@ -0,0 +1,7 @@
+#include "kalama-v2.dtsi"
+
+/ {
+ model = "Qualcomm Technologies, Inc. Kalama QCM";
+ compatible = "qcom,kalama";
+ qcom,msm-id = <604 0x20000>;
+};
diff --git a/qcom/kalama-qrd.dtsi b/qcom/kalama-qrd.dtsi
index 3b68e1d4..97bf468f 100755
--- a/qcom/kalama-qrd.dtsi
+++ b/qcom/kalama-qrd.dtsi
@@ -191,8 +191,8 @@
qts,touch-environment = "pvm";
qts,trusted-touch-type = "primary";
qts,trusted-touch-spi-irq = <569>;
- qts,trusted-touch-io-bases = <0xa90000>;
- qts,trusted-touch-io-sizes = <0x1000>;
+ qts,trusted-touch-io-bases = <0xa90000 0xac0000>;
+ qts,trusted-touch-io-sizes = <0x1000 0x1000>;
qts,trusted-touch-vm-gpio-list = <&tlmm 44 0 &tlmm 45 0 &tlmm 46 0
&tlmm 47 0 &tlmm 24 0 &tlmm 25 0x2008>;
};
@@ -364,11 +364,11 @@
0x0018 0x36 0x0
0x0110 0x08 0x0
0x00bc 0x0a 0x0
- 0x0120 0x42 0x0
- 0x0080 0x04 0x0
- 0x0084 0x0d 0x0
- 0x0020 0x0a 0x0
- 0x0024 0x1a 0x0
+ 0x0120 0x40 0x0
+ 0x0080 0x0a 0x0
+ 0x0084 0x1a 0x0
+ 0x0020 0x14 0x0
+ 0x0024 0x34 0x0
0x0088 0x41 0x0
0x0028 0x34 0x0
0x0090 0xab 0x0
@@ -394,7 +394,7 @@
0x1174 0x5c 0x0
0x1178 0x9c 0x0
0x117c 0x1a 0x0
- 0x1180 0x89 0x0
+ 0x1180 0x8f 0x0
0x1170 0xdc 0x0
0x1188 0x94 0x0
0x118c 0x5b 0x0
@@ -424,7 +424,7 @@
0x1974 0x5c 0x0
0x1978 0x9c 0x0
0x197c 0x1a 0x0
- 0x1980 0x89 0x0
+ 0x1980 0x8f 0x0
0x1970 0xdc 0x0
0x1988 0x94 0x0
0x198c 0x5b 0x0
@@ -452,17 +452,11 @@
0x060c 0x1d 0x0
0x0614 0x07 0x0
0x0620 0xc1 0x0
- 0x0368 0x0f 0x0
- 0x1180 0x8f 0x0
- 0x1980 0x8f 0x0
- 0x0120 0x40 0x0
- 0x0080 0x0a 0x0
- 0x0084 0x1a 0x0
- 0x0020 0x14 0x0
- 0x0024 0x34 0x0
- 0x0624 0x05 0x0
0x0694 0x00 0x0
0x03d0 0x8c 0x0
+ 0x0368 0x0f 0x0
+ 0x1424 0x00 0x0
+ 0x1428 0x00 0x0
0x0200 0x00 0x0
0x0244 0x03 0x0>;
diff --git a/qcom/kalama-sg-hhg.dtsi b/qcom/kalama-sg-hhg.dtsi
index 6af80349..8bdefc2c 100755
--- a/qcom/kalama-sg-hhg.dtsi
+++ b/qcom/kalama-sg-hhg.dtsi
@@ -4,6 +4,11 @@
status = "disabled";
};
+&qcom_qbt {
+ status = "disabled";
+};
+
+
&pm8550_flash {
/delete-node/ qcom,flash_0;
/delete-node/ qcom,flash_1;
@@ -123,6 +128,7 @@
compatible = "maxim,max31760";
reg = <0x50>;
#cooling-cells = <2>;
+ maxim,fan-num = <1>;
maxim,vdd-supply = <&L4N>;
maxim,vcca-supply = <&L15B>;
regulator-name = "maxim,vdd", "maxim,vcca";
@@ -131,6 +137,11 @@
maxim,pwr-en-gpio = <&pm8550_gpios 9 GPIO_ACTIVE_LOW>;
status = "ok";
};
+
+ //disable FM
+ nq@64 {
+ status = "disabled";
+ };
};
&thermal_zones {
@@ -187,12 +198,12 @@
cooling-maps {
fan_cdev_0 {
trip = <&fan_cpu19_config0>;
- cooling-device = <&fancontroller 2 2>;
+ cooling-device = <&fancontroller 50 50>;
};
fan_cdev_1 {
trip = <&fan_cpu19_config1>;
- cooling-device = <&fancontroller 3 3>;
+ cooling-device = <&fancontroller 80 80>;
};
};
};
@@ -227,12 +238,12 @@
cooling-maps {
fan_cdev_0 {
trip = <&fan_cpu1a_config0>;
- cooling-device = <&fancontroller 2 2>;
+ cooling-device = <&fancontroller 50 50>;
};
fan_cdev_1 {
trip = <&fan_cpu1a_config1>;
- cooling-device = <&fancontroller 3 3>;
+ cooling-device = <&fancontroller 80 80>;
};
};
};
@@ -267,12 +278,12 @@
cooling-maps {
fan_cdev_0 {
trip = <&fan_gpuss0_config0>;
- cooling-device = <&fancontroller 3 3>;
+ cooling-device = <&fancontroller 80 80>;
};
fan_cdev_1 {
trip = <&fan_gpuss0_config1>;
- cooling-device = <&fancontroller 4 4>;
+ cooling-device = <&fancontroller 100 100>;
};
};
};
@@ -307,12 +318,12 @@
cooling-maps {
fan_cdev_0 {
trip = <&fan_gpuss1_config0>;
- cooling-device = <&fancontroller 3 3>;
+ cooling-device = <&fancontroller 80 80>;
};
fan_cdev_1 {
trip = <&fan_gpuss1_config1>;
- cooling-device = <&fancontroller 4 4>;
+ cooling-device = <&fancontroller 100 100>;
};
};
};
@@ -335,12 +346,12 @@
cooling-maps {
fan_cdev_0 {
trip = <&fan_thmbat0_config0>;
- cooling-device = <&fancontroller 3 3>;
+ cooling-device = <&fancontroller 80 80>;
};
fan_cdev_1 {
trip = <&fan_thmbat1_config1>;
- cooling-device = <&fancontroller 4 4>;
+ cooling-device = <&fancontroller 100 100>;
};
};
};
diff --git a/qcom/kalama-thermal-modem.dtsi b/qcom/kalama-thermal-modem.dtsi
index 7582e87d..f1eef0b6 100755
--- a/qcom/kalama-thermal-modem.dtsi
+++ b/qcom/kalama-thermal-modem.dtsi
@@ -57,7 +57,6 @@
#cooling-cells = <2>;
};
-
pa_lte_sdr1_dsc: pa_lte_sdr1_dsc {
qcom,qmi-dev-name = "pa_lte_sdr1_dsc";
#cooling-cells = <2>;
@@ -122,6 +121,41 @@
qcom,qmi-dev-name = "cpuv_restriction_cold";
#cooling-cells = <2>;
};
+
+ modem_lte_sub1_dsc: modem_lte_sub1_dsc {
+ qcom,qmi-dev-name = "modem_lte_sub1_dsc";
+ #cooling-cells = <2>;
+ };
+
+ modem_nr_sub1_dsc: modem_nr_sub1_dsc {
+ qcom,qmi-dev-name = "modem_nr_sub1_dsc";
+ #cooling-cells = <2>;
+ };
+
+ modem_nr_scg_sub1_dsc: modem_nr_scg_sub1_dsc {
+ qcom,qmi-dev-name = "modem_nr_scg_sub1_dsc";
+ #cooling-cells = <2>;
+ };
+
+ pa_lte_sdr0_sub1_dsc: pa_lte_sdr0_sub1_dsc {
+ qcom,qmi-dev-name = "pa_lte_sdr0_sub1_dsc";
+ #cooling-cells = <2>;
+ };
+
+ pa_lte_sdr1_sub1_dsc: pa_lte_sdr1_sub1_dsc {
+ qcom,qmi-dev-name = "pa_lte_sdr1_sub1_dsc";
+ #cooling-cells = <2>;
+ };
+
+ pa_nr_sdr0_sub1_dsc: pa_nr_sdr0_sub1_dsc {
+ qcom,qmi-dev-name = "pa_nr_sdr0_sub1_dsc";
+ #cooling-cells = <2>;
+ };
+
+ pa_nr_sdr1_sub1_dsc: pa_nr_sdr1_sub1_dsc {
+ qcom,qmi-dev-name = "pa_nr_sdr1_sub1_dsc";
+ #cooling-cells = <2>;
+ };
};
};
diff --git a/qcom/kalama-vm-dma-heaps.dtsi b/qcom/kalama-vm-dma-heaps.dtsi
index 7ffd57ec..1155678e 100755
--- a/qcom/kalama-vm-dma-heaps.dtsi
+++ b/qcom/kalama-vm-dma-heaps.dtsi
@@ -7,7 +7,6 @@
qcom,tui {
qcom,dma-heap-name = "qcom,tui";
qcom,dma-heap-type = <HEAP_TYPE_TUI_CARVEOUT>;
- qcom,dynamic-heap;
};
};
};
diff --git a/qcom/kalama-vm-qrd.dtsi b/qcom/kalama-vm-qrd.dtsi
index 5cc3e41b..8ec9b182 100755
--- a/qcom/kalama-vm-qrd.dtsi
+++ b/qcom/kalama-vm-qrd.dtsi
@@ -21,8 +21,8 @@
qts,touch-environment = "tvm";
qts,trusted-touch-type = "primary";
qts,trusted-touch-spi-irq = <569>;
- qts,trusted-touch-io-bases = <0xa90000>;
- qts,trusted-touch-io-sizes = <0x1000>;
+ qts,trusted-touch-io-bases = <0xa90000 0xac0000>;
+ qts,trusted-touch-io-sizes = <0x1000 0x1000>;
qts,trusted-touch-vm-gpio-list = <&tlmm 44 0 &tlmm 45 0 &tlmm 46 0
&tlmm 47 0 &tlmm 24 0 &tlmm 25 0x2008>;
};
diff --git a/qcom/kalama-vm.dtsi b/qcom/kalama-vm.dtsi
index 993c89e7..c3abaa1b 100755
--- a/qcom/kalama-vm.dtsi
+++ b/qcom/kalama-vm.dtsi
@@ -648,6 +648,11 @@
msgq-label = <3>;
};
+ qrtr-genpool {
+ compatible = "qcom,qrtr-genpool";
+ gen-pool = <&fastrpc_compute_cb1>;
+ };
+
qcom_smcinvoke {
compatible = "qcom,smcinvoke";
};
diff --git a/qcom/kalama.dtsi b/qcom/kalama.dtsi
index d592845b..7b7c182f 100755
--- a/qcom/kalama.dtsi
+++ b/qcom/kalama.dtsi
@@ -661,6 +661,22 @@
mem-type = <2>;
};
+ audio_cma_mem: audio_cma_region {
+ compatible = "shared-dma-pool";
+ alloc-ranges = <0x0 0x00000000 0x0 0xffffffff>;
+ reusable;
+ alignment = <0x0 0x400000>;
+ size = <0x0 0x1C00000>;
+ };
+
+ sdsp_mem: sdsp_region {
+ compatible = "shared-dma-pool";
+ alloc-ranges = <0x0 0x00000000 0x0 0xffffffff>;
+ reusable;
+ alignment = <0x0 0x400000>;
+ size = <0x0 0x800000>;
+ };
+
/* global autoconfigured region for contiguous allocations */
system_cma: linux,cma {
compatible = "shared-dma-pool";
@@ -3621,7 +3637,7 @@
thermal_zones: thermal-zones {
};
- qcom,qbt_handler {
+ qcom_qbt: qcom,qbt_handler {
compatible = "qcom,qbt-handler";
qcom,ipc-gpio = <&tlmm 40 0>;
qcom,finger-detect-gpio = <&tlmm 41 0>;
diff --git a/qcom/kalamap-hdk-overlay.dts b/qcom/kalamap-hdk-overlay.dts
index 09cdcb8e..fb6319e7 100755
--- a/qcom/kalamap-hdk-overlay.dts
+++ b/qcom/kalamap-hdk-overlay.dts
@@ -6,6 +6,6 @@
/ {
model = "Qualcomm Technologies, Inc. KalamaP HDK";
compatible = "qcom,kalamap-hdk", "qcom,kalamap", "qcom,hdk";
- qcom,msm-id = <536 0x10000>, <536 0x20000>, <601 0x20000>;
+ qcom,msm-id = <536 0x10000>, <536 0x20000>, <601 0x20000>, <603 0x20000>;
qcom,board-id = <0x1001f 0>;
};
diff --git a/qcom/kalamap-qcs.dts b/qcom/kalamap-qcs.dts
new file mode 100755
index 00000000..902a9a23
--- /dev/null
+++ b/qcom/kalamap-qcs.dts
@@ -0,0 +1,10 @@
+/dts-v1/;
+
+#include "kalamap-qcs.dtsi"
+
+/ {
+ model = "Qualcomm Technologies, Inc. KalamaP QCS SoC";
+ compatible = "qcom,kalamap";
+ qcom,board-id = <0 0>;
+};
+
diff --git a/qcom/kalamap-qcs.dtsi b/qcom/kalamap-qcs.dtsi
new file mode 100755
index 00000000..3519daec
--- /dev/null
+++ b/qcom/kalamap-qcs.dtsi
@@ -0,0 +1,7 @@
+#include "kalamap-v2.dtsi"
+
+/ {
+ model = "Qualcomm Technologies, Inc. KalamaP QCS";
+ compatible = "qcom,kalamap";
+ qcom,msm-id = <603 0x20000>;
+};
diff --git a/qcom/khaje-atp.dtsi b/qcom/khaje-atp.dtsi
index 8f0eb87b..a6974fa2 100755
--- a/qcom/khaje-atp.dtsi
+++ b/qcom/khaje-atp.dtsi
@@ -1,6 +1,7 @@
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/iio/qcom,spmi-vadc.h>
#include <dt-bindings/input/input.h>
+#include <dt-bindings/clock/qcom,gcc-khaje.h>
#include "khaje-pm7250b.dtsi"
&pm6125_gpios {
@@ -94,6 +95,7 @@
qcom,vddp-ref-clk-max-microamp = <100>;
reset-gpios = <&tlmm 113 GPIO_ACTIVE_LOW>;
+ resets = <&gcc GCC_UFS_PHY_BCR>;
reset-names = "rst";
status = "ok";
};
diff --git a/qcom/khaje-idp.dtsi b/qcom/khaje-idp.dtsi
index 213382a9..89ccd1e3 100755
--- a/qcom/khaje-idp.dtsi
+++ b/qcom/khaje-idp.dtsi
@@ -1,6 +1,7 @@
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/iio/qcom,spmi-vadc.h>
#include <dt-bindings/input/input.h>
+#include <dt-bindings/clock/qcom,gcc-khaje.h>
#include "bengal-thermal-overlay.dtsi"
&qupv3_se4_2uart {
@@ -221,6 +222,7 @@
qcom,vddp-ref-clk-max-microamp = <100>;
reset-gpios = <&tlmm 113 GPIO_ACTIVE_LOW>;
+ resets = <&gcc GCC_UFS_PHY_BCR>;
reset-names = "rst";
status = "ok";
diff --git a/qcom/khaje-qrd.dtsi b/qcom/khaje-qrd.dtsi
index c628fabd..fd9b11d6 100755
--- a/qcom/khaje-qrd.dtsi
+++ b/qcom/khaje-qrd.dtsi
@@ -1,6 +1,7 @@
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/iio/qcom,spmi-vadc.h>
#include <dt-bindings/input/input.h>
+#include <dt-bindings/clock/qcom,gcc-khaje.h>
#include "bengal-thermal-overlay.dtsi"
&pm6125_gpios {
@@ -170,6 +171,7 @@
qcom,vddp-ref-clk-max-microamp = <100>;
reset-gpios = <&tlmm 113 GPIO_ACTIVE_LOW>;
+ resets = <&gcc GCC_UFS_PHY_BCR>;
reset-names = "rst";
status = "ok";
diff --git a/qcom/khaje.dtsi b/qcom/khaje.dtsi
index b361d4e4..198dede6 100755
--- a/qcom/khaje.dtsi
+++ b/qcom/khaje.dtsi
@@ -587,7 +587,7 @@
};
chosen {
- bootargs = "lpm_levels.sleep_disabled=1 console=ttyMSM0,115200n8 msm_rtb.filter=0x237 service_locator.enable=1 swiotlb=2048 loop.max_part=7 cpufreq.default_governor=performance rcupdate.rcu_expedited=1 rcu_nocbs=0-7 kpti=off export_pmu_events movable_node ftrace_dump_on_oops ssbd=force-off";
+ bootargs = "lpm_levels.sleep_disabled=1 console=ttyMSM0,115200n8 msm_rtb.filter=0x237 service_locator.enable=1 swiotlb=2048 loop.max_part=7 cpufreq.default_governor=performance rcupdate.rcu_expedited=1 rcu_nocbs=0-7 kpti=off export_pmu_events movable_node ftrace_dump_on_oops ssbd=force-off disable_dma32=on cgroup.memory=nokmem,nosocket";
};
soc: soc { };
@@ -3993,6 +3993,14 @@ tpdm_turing_llm: tpdm@8861000 {
#include "khaje-pinctrl.dtsi"
#include "bengal-qupv3.dtsi"
+/*
+ * Each QUP device that's a parent to PMIC must be listed as a critical device
+ * to GCC.
+ */
+&gcc {
+ qcom,critical-devices = <&qupv3_se1_i2c>;
+};
+
&qupv3_se1_i2c {
status = "ok";
qcom,leica-used-i2c;
diff --git a/qcom/khajeg.dtsi b/qcom/khajeg.dtsi
index bbaad82c..1ad1d79f 100755
--- a/qcom/khajeg.dtsi
+++ b/qcom/khajeg.dtsi
@@ -6,7 +6,59 @@
model = "Qualcomm Technologies, Inc. Khajeg SoC";
compatible = "qcom,khajeg";
qcom,msm-id = <585 0x10000>;
+
+reserved_memory: reserved-memory {
+ /delete-node/ modem_region@4ab00000;
+ /delete-node/ wlan_msa_region@51900000;
+ /delete-node/ cdsp_regions@51a00000;
+ /delete-node/ pil_adsp_region@53800000;
+ /delete-node/ ipa_fw_region@55600000;
+ /delete-node/ ipa_gsi_region@55610000;
+ /delete-node/ gpu_region@55615000;
+ /delete-node/ video_region@55617000;
+
+ pil_modem_mem: modem_region@4ab00000 {
+ no-map;
+ reg = <0x0 0x4ab00000 0x0 0x2c00000>;
+ };
+
+ pil_cdsp_mem: cdsp_regions@4d700000 {
+ no-map;
+ reg = <0x0 0x4d700000 0x0 0x1e00000>;
+ };
+
+ pil_adsp_mem: pil_adsp_region@4f500000 {
+ no-map;
+ reg = <0x0 0x4f500000 0x0 0x1e00000>;
+ };
+
+ pil_ipa_fw_mem: ipa_fw_region@51300000 {
+ no-map;
+ reg = <0x0 0x51300000 0x0 0x10000>;
+ };
+
+ pil_ipa_gsi_mem: ipa_gsi_region@51310000 {
+ no-map;
+ reg = <0x0 0x51310000 0x0 0x5000>;
+ };
+
+ pil_gpu_mem: gpu_region@51315000 {
+ no-map;
+ reg = <0x0 0x51315000 0x0 0x2000>;
+ };
+
+ wlan_msa_mem: wlan_msa_region@51900000 {
+ no-map;
+ reg = <0x0 0x51900000 0x0 0x100000>;
+ };
+
+ video_mem: video_region@51a00000 {
+ no-map;
+ reg = <0x0 0x51a00000 0x0 0x700000>;
+ };
};
+};
+
&soc {
qcom,msm_gsi {
status = "disabled";
diff --git a/qcom/kona-7230-iot-cpu.dtsi b/qcom/kona-7230-iot-cpu.dtsi
new file mode 100755
index 00000000..870694df
--- /dev/null
+++ b/qcom/kona-7230-iot-cpu.dtsi
@@ -0,0 +1,329 @@
+/ {
+ /delete-node/ cpus;
+
+ cpus {
+ #address-cells = <2>;
+ #size-cells = <0>;
+
+ CPU0: cpu@0 {
+ device_type = "cpu";
+ compatible = "qcom,kryo";
+ reg = <0x0 0x0>;
+ enable-method = "psci";
+ cpu-release-addr = <0x0 0x90000000>;
+ next-level-cache = <&L2_0>;
+ qcom,freq-domain = <&cpufreq_hw 0 4>;
+ capacity-dmips-mhz = <1024>;
+ dynamic-power-coefficient = <100>;
+ #cooling-cells = <2>;
+ L2_0: l2-cache {
+ compatible = "arm,arch-cache";
+ cache-level = <2>;
+ next-level-cache = <&L3_0>;
+
+ L3_0: l3-cache {
+ compatible = "arm,arch-cache";
+ cache-level = <3>;
+ };
+ };
+
+ L1_I_0: l1-icache {
+ compatible = "arm,arch-cache";
+ };
+
+ L1_D_0: l1-dcache {
+ compatible = "arm,arch-cache";
+ };
+ };
+
+ CPU1: cpu@100 {
+ device_type = "cpu";
+ compatible = "qcom,kryo";
+ reg = <0x0 0x100>;
+ enable-method = "psci";
+ cpu-release-addr = <0x0 0x90000000>;
+ next-level-cache = <&L2_1>;
+ qcom,freq-domain = <&cpufreq_hw 0 4>;
+ capacity-dmips-mhz = <1024>;
+ dynamic-power-coefficient = <100>;
+ L2_1: l2-cache {
+ compatible = "arm,arch-cache";
+ cache-level = <2>;
+ next-level-cache = <&L3_0>;
+ };
+
+ L1_I_100: l1-icache {
+ compatible = "arm,arch-cache";
+ };
+
+ L1_D_100: l1-dcache {
+ compatible = "arm,arch-cache";
+ };
+ };
+
+ CPU2: cpu@400 {
+ device_type = "cpu";
+ compatible = "qcom,kryo";
+ reg = <0x0 0x400>;
+ enable-method = "psci";
+ cpu-release-addr = <0x0 0x90000000>;
+ next-level-cache = <&L2_4>;
+ qcom,freq-domain = <&cpufreq_hw 1 4>;
+ capacity-dmips-mhz = <1894>;
+ dynamic-power-coefficient = <514>;
+ #cooling-cells = <2>;
+ L2_4: l2-cache {
+ compatible = "arm,arch-cache";
+ cache-level = <2>;
+ next-level-cache = <&L3_0>;
+ };
+
+ L1_I_400: l1-icache {
+ compatible = "arm,arch-cache";
+ };
+
+ L1_D_400: l1-dcache {
+ compatible = "arm,arch-cache";
+ };
+ };
+
+ CPU3: cpu@500 {
+ device_type = "cpu";
+ compatible = "qcom,kryo";
+ reg = <0x0 0x500>;
+ enable-method = "psci";
+ cpu-release-addr = <0x0 0x90000000>;
+ next-level-cache = <&L2_5>;
+ qcom,freq-domain = <&cpufreq_hw 1 4>;
+ capacity-dmips-mhz = <1894>;
+ dynamic-power-coefficient = <514>;
+ L2_5: l2-cache {
+ compatible = "arm,arch-cache";
+ cache-level = <2>;
+ next-level-cache = <&L3_0>;
+ };
+
+ L1_I_500: l1-icache {
+ compatible = "arm,arch-cache";
+ };
+
+ L1_D_500: l1-dcache {
+ compatible = "arm,arch-cache";
+ };
+ };
+
+ CPU4: cpu@600 {
+ device_type = "cpu";
+ compatible = "qcom,kryo";
+ reg = <0x0 0x600>;
+ enable-method = "psci";
+ cpu-release-addr = <0x0 0x90000000>;
+ next-level-cache = <&L2_6>;
+ qcom,freq-domain = <&cpufreq_hw 1 4>;
+ capacity-dmips-mhz = <1894>;
+ dynamic-power-coefficient = <514>;
+ L2_6: l2-cache {
+ compatible = "arm,arch-cache";
+ cache-level = <2>;
+ next-level-cache = <&L3_0>;
+ };
+
+ L1_I_600: l1-icache {
+ compatible = "arm,arch-cache";
+ };
+
+ L1_D_600: l1-dcache {
+ compatible = "arm,arch-cache";
+ };
+ };
+
+ CPU5: cpu@700 {
+ device_type = "cpu";
+ compatible = "qcom,kryo";
+ reg = <0x0 0x700>;
+ enable-method = "psci";
+ cpu-release-addr = <0x0 0x90000000>;
+ next-level-cache = <&L2_7>;
+ qcom,freq-domain = <&cpufreq_hw 2 4>;
+ capacity-dmips-mhz = <1894>;
+ dynamic-power-coefficient = <598>;
+ #cooling-cells = <2>;
+ L2_7: l2-cache {
+ compatible = "arm,arch-cache";
+ cache-level = <2>;
+ next-level-cache = <&L3_0>;
+ };
+
+ L1_I_700: l1-icache {
+ compatible = "arm,arch-cache";
+ };
+
+ L1_D_700: l1-dcache {
+ compatible = "arm,arch-cache";
+ };
+ };
+
+ cpu-map {
+ cluster0 {
+ core0 {
+ cpu = <&CPU0>;
+ };
+
+ core1 {
+ cpu = <&CPU1>;
+ };
+ };
+
+ cluster1 {
+ core0 {
+ cpu = <&CPU2>;
+ };
+
+ core1 {
+ cpu = <&CPU3>;
+ };
+
+ core2 {
+ cpu = <&CPU4>;
+ };
+ };
+
+ cluster2 {
+ core0 {
+ cpu = <&CPU5>;
+ };
+ };
+ };
+ };
+
+};
+
+&soc {
+ /delete-node/ dsu_pmu@0;
+ /delete-node/ jtagmm@7240000;
+ /delete-node/ jtagmm@7340000;
+ /delete-node/ cti@7220000;
+ /delete-node/ cti@7320000;
+ /delete-node/ etm@7240000;
+ /delete-node/ etm@7340000;
+
+ dsu_pmu@0 {
+ compatible = "arm,dsu-pmu";
+ interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
+ cpus = <&CPU0>, <&CPU1>,
+ <&CPU2>, <&CPU3>, <&CPU4>, <&CPU5>;
+ };
+
+ qcom,lpm-levels {
+ qcom,pm-cluster@0 {
+ qcom,pm-cpu@0 {
+ /delete-property/ qcom,cpu;
+ qcom,cpu = <&CPU0 &CPU1>;
+ };
+
+ qcom,pm-cpu@1 {
+ /delete-property/ qcom,cpu;
+ qcom,cpu = <&CPU2 &CPU3 &CPU4 &CPU5>;
+
+ };
+ };
+ };
+
+};
+
+&cpufreq_hw {
+ /delete-node/ qcom,cpu-isolation;
+ qcom,cpu-isolation {
+ compatible = "qcom,cpu-isolate";
+ cpu0_isolate: cpu0-isolate {
+ qcom,cpu = <&CPU0>;
+ #cooling-cells = <2>;
+ };
+
+ cpu1_isolate: cpu1-isolate {
+ qcom,cpu = <&CPU1>;
+ #cooling-cells = <2>;
+ };
+
+ cpu4_isolate: cpu4-isolate {
+ qcom,cpu = <&CPU2>;
+ #cooling-cells = <2>;
+ };
+
+ cpu5_isolate: cpu5-isolate {
+ qcom,cpu = <&CPU3>;
+ #cooling-cells = <2>;
+ };
+
+ cpu6_isolate: cpu6-isolate {
+ qcom,cpu = <&CPU4>;
+ #cooling-cells = <2>;
+ };
+
+ cpu7_isolate: cpu7-isolate {
+ qcom,cpu = <&CPU5>;
+ #cooling-cells = <2>;
+ };
+ };
+
+ /delete-node/ cpu7-notify;
+ cpu7_notify: cpu7-notify {
+ qcom,cooling-cpu = <&CPU5>;
+ #cooling-cells = <2>;
+ };
+};
+
+&qcom_memlat {
+ ddr {
+ silver {
+ /delete-property/ qcom,cpulist;
+ qcom,cpulist = <&CPU0 &CPU1>;
+ };
+
+ gold {
+ /delete-property/ qcom,cpulist;
+ qcom,cpulist = <&CPU2 &CPU3 &CPU4>;
+ };
+
+ gold-compute {
+ /delete-property/ qcom,cpulist;
+ qcom,cpulist = <&CPU2 &CPU3 &CPU4>;
+ };
+ };
+
+ llcc {
+ silver {
+ /delete-property/ qcom,cpulist;
+ qcom,cpulist = <&CPU0 &CPU1>;
+ };
+
+ gold {
+ /delete-property/ qcom,cpulist;
+ qcom,cpulist = <&CPU2 &CPU3 &CPU4>;
+ };
+ };
+
+ l3 {
+ silver {
+ /delete-property/ qcom,cpulist;
+ qcom,cpulist = <&CPU0 &CPU1>;
+ };
+
+ gold {
+ /delete-property/ qcom,cpulist;
+ qcom,cpulist = <&CPU2 &CPU3 &CPU4>;
+ };
+
+ prime {
+ /delete-property/ qcom,cpulist;
+ qcom,cpulist = <&CPU5>;
+ };
+ };
+
+ ddrqos {
+ ddrqos_gold_lat: gold {
+ /delete-property/ qcom,cpulist;
+ qcom,cpulist = <&CPU2 &CPU3 &CPU4>;
+ };
+ };
+};
diff --git a/qcom/kona-7230-iot-v2.1.dts b/qcom/kona-7230-iot-v2.1.dts
new file mode 100755
index 00000000..321e2313
--- /dev/null
+++ b/qcom/kona-7230-iot-v2.1.dts
@@ -0,0 +1,9 @@
+/dts-v1/;
+
+#include "kona-7230-iot-v2.1.dtsi"
+
+/ {
+ model = "Qualcomm Technologies, Inc. kona-7230-iot v2.1 SoC";
+ compatible = "qcom,kona-iot";
+ qcom,board-id = <0 0>;
+};
diff --git a/qcom/kona-7230-iot-v2.1.dtsi b/qcom/kona-7230-iot-v2.1.dtsi
new file mode 100755
index 00000000..8f7fc605
--- /dev/null
+++ b/qcom/kona-7230-iot-v2.1.dtsi
@@ -0,0 +1,8 @@
+#include "kona-iot-v2.1.dtsi"
+#include "kona-7230-iot-cpu.dtsi"
+
+/ {
+ model = "Qualcomm Technologies, Inc. Kona-7230-iot v2.1";
+ compatible = "qcom,kona-iot";
+ qcom,msm-id = <548 0x20001>;
+};
diff --git a/qcom/kona-dma-heaps.dtsi b/qcom/kona-dma-heaps.dtsi
new file mode 100755
index 00000000..ae79493d
--- /dev/null
+++ b/qcom/kona-dma-heaps.dtsi
@@ -0,0 +1,51 @@
+#include <dt-bindings/arm/msm/qcom_dma_heap_dt_constants.h>
+
+&soc {
+ qcom,dma-heaps {
+ compatible = "qcom,dma-heaps";
+
+ qcom,adsp {
+ qcom,dma-heap-name = "qcom,adsp";
+ qcom,dma-heap-type = <HEAP_TYPE_CMA>;
+ memory-region = <&sdsp_mem>;
+ };
+
+ qcom,secure_cdsp {
+ qcom,dma-heap-name = "qcom,secure-cdsp";
+ qcom,dma-heap-type = <HEAP_TYPE_SECURE_CARVEOUT>;
+ memory-region = <&cdsp_secure_heap>;
+ qcom,token = <0x20000000>;
+ };
+
+ qcom,sp_hlos {
+ qcom,dma-heap-name = "qcom,sp-hlos";
+ qcom,dma-heap-type = <HEAP_TYPE_CMA>;
+ memory-region = <&sp_mem>;
+ };
+
+ qcom,user_contig {
+ qcom,dma-heap-name = "qcom,user-contig";
+ qcom,dma-heap-type = <HEAP_TYPE_CMA>;
+ memory-region = <&user_contig_mem>;
+ };
+
+ qcom,qseecom {
+ qcom,dma-heap-name = "qcom,qseecom";
+ qcom,dma-heap-type = <HEAP_TYPE_CMA>;
+ memory-region = <&qseecom_mem>;
+ };
+
+ qcom,qseecom_ta {
+ qcom,dma-heap-name = "qcom,qseecom-ta";
+ qcom,dma-heap-type = <HEAP_TYPE_CMA>;
+ memory-region = <&qseecom_ta_mem>;
+ };
+
+ qcom,display {
+ qcom,dma-heap-name = "qcom,display";
+ qcom,dma-heap-type = <HEAP_TYPE_CMA>;
+ qcom,max-align = <9>;
+ memory-region = <&secure_display_memory>;
+ };
+ };
+};
diff --git a/qcom/kona-iot-v2.1-rb5-overlay.dts b/qcom/kona-iot-v2.1-rb5-overlay.dts
new file mode 100755
index 00000000..4d654379
--- /dev/null
+++ b/qcom/kona-iot-v2.1-rb5-overlay.dts
@@ -0,0 +1,10 @@
+/dts-v1/;
+/plugin/;
+
+#include "kona-iot-v2.1-rb5.dtsi"
+
+/ {
+ model = "Qualcomm Technologies, Inc. kona-iot RB5";
+ compatible = "qcom,kona-iot-qrd", "qcom,kona-iot", "qcom,kona-qrd";
+ qcom,board-id = <0x301000b 0x0>;
+};
diff --git a/qcom/kona-iot-v2.1-rb5.dtsi b/qcom/kona-iot-v2.1-rb5.dtsi
new file mode 100755
index 00000000..d90c7e44
--- /dev/null
+++ b/qcom/kona-iot-v2.1-rb5.dtsi
@@ -0,0 +1,16 @@
+#include <dt-bindings/gpio/gpio.h>
+
+&tlmm {
+ key_factory_reset {
+ key_factory_reset_default: key_factory_reset_default {
+ pins = "gpio22";
+ function = "normal";
+ input-enable;
+ bias-pull-up;
+ };
+ };
+};
+
+&qupv3_se12_2uart {
+ status = "ok";
+};
diff --git a/qcom/kona-iot-vc.dtsi b/qcom/kona-iot-vc.dtsi
index fa9050d0..21036bd0 100755
--- a/qcom/kona-iot-vc.dtsi
+++ b/qcom/kona-iot-vc.dtsi
@@ -1,4 +1,13 @@
#include <dt-bindings/gpio/gpio.h>
+#include "kona-pmic-overlay.dtsi"
+
+&vendor {
+ kona_qrd_batterydata: qcom,battery-data {
+ qcom,batt-id-range-pct = <15>;
+ #include "fg-gen4-batterydata-mlp466274-3650mah.dtsi"
+ #include "fg-gen4-batterydata-atl466274-3650mah.dtsi"
+ };
+};
&tlmm {
key_factory_reset {
@@ -10,3 +19,634 @@
};
};
};
+
+&qupv3_se12_2uart {
+ status = "ok";
+};
+
+&ufsphy_mem {
+ compatible = "qcom,ufs-phy-qmp-v4";
+ vdda-phy-supply = <&pm8150_l5>;
+ vdda-pll-supply = <&pm8150_l9>;
+ vdda-phy-max-microamp = <89900>;
+ vdda-pll-max-microamp = <18800>;
+ status = "ok";
+};
+
+&ufshc_mem {
+ vdd-hba-supply = <&ufs_phy_gdsc>;
+ vcc-supply = <&pm8150_l17>;
+ vccq-supply = <&pm8150_l6>;
+ vccq2-supply = <&pm8150_s4>;
+ vcc-max-microamp = <800000>;
+ vccq-max-microamp = <800000>;
+ vccq2-max-microamp = <800000>;
+
+ qcom,vddp-ref-clk-supply = <&pm8150_l6>;
+ qcom,vddp-ref-clk-max-microamp = <100>;
+ qcom,vccq-parent-supply = <&pm8150a_s8>;
+ qcom,vccq-parent-max-microamp = <210000>;
+ status = "ok";
+};
+
+&vreg_hap_boost {
+ status = "ok";
+};
+
+&pm8150b_pdphy {
+ #io-channel-cells = <1>;
+ io-channels = <&pm8150b_charger PSY_IIO_PD_ACTIVE>,
+ <&pm8150b_charger PSY_IIO_TYPEC_CC_ORIENTATION>,
+ <&pm8150b_charger PSY_IIO_CONNECTOR_TYPE>,
+ <&pm8150b_charger PSY_IIO_TYPEC_POWER_ROLE>,
+ <&pm8150b_charger PSY_IIO_PD_USB_SUSPEND_SUPPORTED>,
+ <&pm8150b_charger PSY_IIO_TYPEC_SRC_RP>,
+ <&pm8150b_charger PSY_IIO_PD_IN_HARD_RESET>,
+ <&pm8150b_charger PSY_IIO_PD_CURRENT_MAX>,
+ <&pm8150b_charger PSY_IIO_PR_SWAP>,
+ <&pm8150b_charger PSY_IIO_PD_VOLTAGE_MIN>,
+ <&pm8150b_charger PSY_IIO_PD_VOLTAGE_MAX>,
+ <&pm8150b_charger PSY_IIO_USB_REAL_TYPE>,
+ <&pm8150b_charger PSY_IIO_TYPEC_MODE>,
+ <&pm8150b_charger PSY_IIO_PE_START>;
+ io-channel-names = "pd_active",
+ "typec_cc_orientation",
+ "connector_type",
+ "typec_power_role",
+ "pd_usb_suspend_supported",
+ "typec_src_rp",
+ "pd_in_hard_reset",
+ "pr_current_max",
+ "pr_swap",
+ "pd_voltage_min",
+ "pd_voltage_max",
+ "real_type",
+ "typec_mode",
+ "pe_start";
+};
+
+&pm8150b_haptics {
+ qcom,vmax-mv = <1697>;
+ qcom,play-rate-us = <5882>;
+ vdd-supply = <&vreg_hap_boost>;
+
+ wf_0 {
+ /* CLICK */
+ qcom,wf-play-rate-us = <5882>;
+ qcom,wf-vmax-mv = <1697>;
+ };
+
+ wf_1 {
+ /* DOUBLE CLICK */
+ qcom,wf-play-rate-us = <5882>;
+ qcom,wf-vmax-mv = <1697>;
+ };
+
+ wf_2 {
+ /* TICK */
+ qcom,wf-play-rate-us = <5882>;
+ qcom,wf-vmax-mv = <1697>;
+ };
+
+ wf_3 {
+ /* THUD */
+ qcom,wf-play-rate-us = <5882>;
+ qcom,wf-vmax-mv = <1697>;
+ };
+
+ wf_4 {
+ /* POP */
+ qcom,wf-play-rate-us = <5882>;
+ qcom,wf-vmax-mv = <1697>;
+ };
+
+ wf_5 {
+ /* HEAVY CLICK */
+ qcom,wf-play-rate-us = <5882>;
+ qcom,wf-vmax-mv = <1697>;
+ };
+};
+
+&pm8150b_charger {
+ status = "ok";
+ qcom,sec-charger-config = <1>;
+ qcom,auto-recharge-soc = <98>;
+ io-channels = <&pm8150b_vadc ADC5_USB_IN_V_16>,
+ <&pm8150b_vadc ADC5_USB_IN_I>,
+ <&pm8150b_vadc ADC5_SBUx>,
+ <&pm8150b_vadc ADC5_VPH_PWR>,
+ <&pm8150b_vadc ADC5_DIE_TEMP>,
+ <&pm8150b_vadc ADC5_MID_CHG_DIV6>,
+ <&pm8150b_vadc ADC5_CHG_TEMP>;
+ io-channel-names = "usb_in_voltage",
+ "usb_in_current",
+ "sbux_res",
+ "vph_voltage",
+ "die_temp",
+ "mid_voltage",
+ "chg_temp";
+ qcom,battery-data = <&kona_qrd_batterydata>;
+ qcom,sw-jeita-enable;
+ qcom,wd-bark-time-secs = <16>;
+ qcom,suspend-input-on-debug-batt;
+ qcom,fcc-stepping-enable;
+ qcom,smb-internal-pull-kohm = <0>;
+ qcom,thermal-mitigation = <5325000 4500000 4000000 3500000 3000000
+ 2500000 2000000 1500000 1000000 500000>;
+};
+
+&pm8150b_fg {
+ status = "ok";
+ qcom,battery-data = <&kona_qrd_batterydata>;
+ qcom,hold-soc-while-full;
+ qcom,linearize-soc;
+ qcom,five-pin-battery;
+ qcom,cl-wt-enable;
+ qcom,soc-scale-mode-en;
+ /* ESR fast calibration */
+ qcom,fg-esr-timer-chg-fast = <0 7>;
+ qcom,fg-esr-timer-dischg-fast = <0 7>;
+ qcom,fg-esr-timer-chg-slow = <0 96>;
+ qcom,fg-esr-timer-dischg-slow = <0 96>;
+ qcom,fg-esr-cal-soc-thresh = <26 230>;
+ qcom,fg-esr-cal-temp-thresh = <10 40>;
+};
+
+&pm8150l_vadc {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ vph_pwr@83 {
+ reg = <ADC5_VPH_PWR>;
+ label = "vph_pwr";
+ qcom,pre-scaling = <1 3>;
+ };
+
+ camera_flash_therm@4d {
+ reg = <ADC5_AMUX_THM1_100K_PU>;
+ label = "camera_flash_therm";
+ qcom,ratiometric;
+ qcom,hw-settle-time = <200>;
+ qcom,pre-scaling = <1 1>;
+ };
+
+ skin_msm_therm@4e {
+ reg = <ADC5_AMUX_THM2_100K_PU>;
+ label = "skin_msm_therm";
+ qcom,ratiometric;
+ qcom,hw-settle-time = <200>;
+ qcom,pre-scaling = <1 1>;
+ };
+
+ pa_therm2@4f {
+ reg = <ADC5_AMUX_THM3_100K_PU>;
+ label = "pa_therm2";
+ qcom,ratiometric;
+ qcom,hw-settle-time = <200>;
+ qcom,pre-scaling = <1 1>;
+ };
+};
+
+&pm8150b_vadc {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ conn_therm@4f {
+ reg = <ADC5_AMUX_THM3_100K_PU>;
+ label = "conn_therm";
+ qcom,ratiometric;
+ qcom,hw-settle-time = <200>;
+ qcom,pre-scaling = <1 1>;
+ };
+
+ mid_chg_div6@1e {
+ reg = <ADC5_MID_CHG_DIV6>;
+ label = "chg_mid";
+ qcom,pre-scaling = <1 6>;
+ };
+};
+
+&pm8150_vadc {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ vph_pwr@83 {
+ reg = <ADC5_VPH_PWR>;
+ label = "vph_pwr";
+ qcom,pre-scaling = <1 3>;
+ };
+
+ vcoin@85 {
+ reg = <ADC5_VCOIN>;
+ label = "vcoin";
+ qcom,pre-scaling = <1 3>;
+ };
+
+ xo_therm@4c {
+ reg = <ADC5_XO_THERM_100K_PU>;
+ label = "xo_therm";
+ qcom,ratiometric;
+ qcom,hw-settle-time = <200>;
+ qcom,pre-scaling = <1 1>;
+ };
+
+ skin_therm@4d {
+ reg = <ADC5_AMUX_THM1_100K_PU>;
+ label = "skin_therm";
+ qcom,ratiometric;
+ qcom,hw-settle-time = <200>;
+ qcom,pre-scaling = <1 1>;
+ };
+
+ pa_therm1@4e {
+ reg = <ADC5_AMUX_THM2_100K_PU>;
+ label = "pa_therm1";
+ qcom,ratiometric;
+ qcom,hw-settle-time = <200>;
+ qcom,pre-scaling = <1 1>;
+ };
+};
+
+&pm8150b_adc_tm {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ io-channels = <&pm8150b_vadc ADC5_AMUX_THM3_100K_PU>;
+
+ conn_therm@4f {
+ reg = <ADC5_AMUX_THM3_100K_PU>;
+ qcom,ratiometric;
+ qcom,hw-settle-time = <200>;
+ };
+};
+
+&pm8150_adc_tm {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ io-channels = <&pm8150_vadc ADC5_XO_THERM_100K_PU>,
+ <&pm8150_vadc ADC5_AMUX_THM1_100K_PU>,
+ <&pm8150_vadc ADC5_AMUX_THM2_100K_PU>;
+
+ xo_therm@4c {
+ reg = <ADC5_XO_THERM_100K_PU>;
+ qcom,ratiometric;
+ qcom,hw-settle-time = <200>;
+ };
+
+ skin_therm@4d {
+ reg = <ADC5_AMUX_THM1_100K_PU>;
+ qcom,ratiometric;
+ qcom,hw-settle-time = <200>;
+ };
+
+ pa_therm1@4e {
+ reg = <ADC5_AMUX_THM2_100K_PU>;
+ qcom,ratiometric;
+ qcom,hw-settle-time = <200>;
+ };
+};
+
+&pm8150l_adc_tm {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ camera_flash_therm@4d {
+ reg = <ADC5_AMUX_THM1_100K_PU>;
+ qcom,ratiometric;
+ qcom,hw-settle-time = <200>;
+ };
+
+ skin_msm_therm@4e {
+ reg = <ADC5_AMUX_THM2_100K_PU>;
+ qcom,ratiometric;
+ qcom,hw-settle-time = <200>;
+ };
+
+ pa_therm2@4f {
+ reg = <ADC5_AMUX_THM3_100K_PU>;
+ qcom,ratiometric;
+ qcom,hw-settle-time = <200>;
+ };
+};
+
+&thermal_zones {
+ status = "ok";
+ conn-therm-usr {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-governor = "user_space";
+ thermal-sensors = <&pm8150b_adc_tm ADC5_AMUX_THM3_100K_PU>;
+ wake-capable-sensor;
+ trips {
+ active-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ xo-therm-usr {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-governor = "user_space";
+ thermal-sensors = <&pm8150_adc_tm ADC5_XO_THERM_100K_PU>;
+ wake-capable-sensor;
+ trips {
+ active-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ skin-therm-usr {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-governor = "user_space";
+ thermal-sensors = <&pm8150_adc_tm ADC5_AMUX_THM1_100K_PU>;
+ wake-capable-sensor;
+ trips {
+ active-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ mmw-pa1-usr {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-governor = "user_space";
+ thermal-sensors = <&pm8150_adc_tm ADC5_AMUX_THM2_100K_PU>;
+ wake-capable-sensor;
+ trips {
+ active-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ camera-therm-usr {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-governor = "user_space";
+ thermal-sensors = <&pm8150l_adc_tm ADC5_AMUX_THM1_100K_PU>;
+ wake-capable-sensor;
+ trips {
+ active-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ skin-msm-therm-usr {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-governor = "user_space";
+ thermal-sensors = <&pm8150l_adc_tm ADC5_AMUX_THM2_100K_PU>;
+ wake-capable-sensor;
+ trips {
+ active-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ mmw-pa2-usr {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-governor = "user_space";
+ thermal-sensors = <&pm8150l_adc_tm ADC5_AMUX_THM3_100K_PU>;
+ wake-capable-sensor;
+ trips {
+ active-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ skin-msm-therm-step {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-governor = "step_wise";
+ thermal-sensors = <&pm8150l_adc_tm ADC5_AMUX_THM2_100K_PU>;
+ wake-capable-sensor;
+ trips {
+ skin_trip: skin-config0 {
+ temperature = <46000>;
+ hysteresis = <0>;
+ type = "passive";
+ };
+ };
+
+ };
+
+ xo-therm-step {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-governor = "step_wise";
+ thermal-sensors = <&pm8150_adc_tm ADC5_XO_THERM_100K_PU>;
+
+ trips {
+ xo_lvl0: active-config0 {
+ temperature = <42000>;
+ hysteresis = <2000>;
+ type = "passive";
+ };
+
+ xo_lvl1: active-config1 {
+ temperature = <46000>;
+ hysteresis = <2000>;
+ type = "passive";
+ };
+
+ xo_lvl2: active-config2 {
+ temperature = <56000>;
+ hysteresis = <6000>;
+ type = "passive";
+ };
+ };
+
+ cooling-maps {
+ xo_skin_lvl0 {
+ trip = <&xo_lvl0>;
+ cooling-device = <&modem_mmw_skin2 1 1>;
+ };
+
+ xo_skin_lvl1 {
+ trip = <&xo_lvl1>;
+ cooling-device = <&modem_mmw_skin2 2 2>;
+ };
+
+ xo_skin_lvl2 {
+ trip = <&xo_lvl2>;
+ cooling-device = <&modem_mmw_skin2 3 3>;
+ };
+ };
+ };
+
+ mmw-pa1-step {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-governor = "step_wise";
+ thermal-sensors = <&pm8150_adc_tm ADC5_AMUX_THM2_100K_PU>;
+
+ trips {
+ pa1_lvl0: active-config0 {
+ temperature = <44000>;
+ hysteresis = <5000>;
+ type = "passive";
+ };
+
+ pa1_lvl1: active-config1 {
+ temperature = <48000>;
+ hysteresis = <2000>;
+ type = "passive";
+ };
+
+ pa1_lvl2: active-config2 {
+ temperature = <56000>;
+ hysteresis = <6000>;
+ type = "passive";
+ };
+ };
+
+ cooling-maps {
+ pa1_skin_lvl0 {
+ trip = <&pa1_lvl0>;
+ cooling-device = <&modem_mmw_skin0 1 1>;
+ };
+
+ pa1_skin_lvl1 {
+ trip = <&pa1_lvl1>;
+ cooling-device = <&modem_mmw_skin0 2 2>;
+ };
+
+ pa1_skin_lvl2 {
+ trip = <&pa1_lvl2>;
+ cooling-device = <&modem_mmw_skin0 3 3>;
+ };
+ };
+ };
+
+ mmw-pa2-step {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-governor = "step_wise";
+ thermal-sensors = <&pm8150l_adc_tm ADC5_AMUX_THM3_100K_PU>;
+
+ trips {
+ pa2_lvl0: active-config0 {
+ temperature = <42000>;
+ hysteresis = <4000>;
+ type = "passive";
+ };
+
+ pa2_lvl1: active-config1 {
+ temperature = <46000>;
+ hysteresis = <2000>;
+ type = "passive";
+ };
+
+ pa2_lvl2: active-config2 {
+ temperature = <56000>;
+ hysteresis = <6000>;
+ type = "passive";
+ };
+ };
+
+ cooling-maps {
+ pa2_skin_lvl0 {
+ trip = <&pa2_lvl0>;
+ cooling-device = <&modem_mmw_skin1 1 1>;
+ };
+
+ pa2_skin_lvl1 {
+ trip = <&pa2_lvl1>;
+ cooling-device = <&modem_mmw_skin1 2 2>;
+ };
+
+ pa2_skin_lvl2 {
+ trip = <&pa2_lvl2>;
+ cooling-device = <&modem_mmw_skin1 3 3>;
+ };
+ };
+ };
+
+ skin-therm-step {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-governor = "step_wise";
+ thermal-sensors = <&pm8150_adc_tm ADC5_AMUX_THM1_100K_PU>;
+ wake-capable-sensor;
+ disable-thermal-zone;
+
+ trips {
+ skin_therm0: active-config0 {
+ temperature = <62000>;
+ hysteresis = <5000>;
+ type = "passive";
+ };
+
+ skin_therm1: active-config1 {
+ temperature = <65000>;
+ hysteresis = <5000>;
+ type = "passive";
+ };
+
+ skin_therm2: active-config2 {
+ temperature = <72000>;
+ hysteresis = <2000>;
+ type = "passive";
+ };
+ };
+
+ cooling-maps {
+ skin_lvl0 {
+ trip = <&skin_therm0>;
+ cooling-device = <&modem_skin 1 1>;
+ };
+
+ skin_lvl1 {
+ trip = <&skin_therm1>;
+ cooling-device = <&modem_skin 2 2>;
+ };
+
+ skin_lvl2 {
+ trip = <&skin_therm2>;
+ cooling-device = <&modem_skin 3 3>;
+ };
+ };
+
+ };
+};
+
+&sdhc_2 {
+ vdd-supply = <&pm8150a_l9>;
+ qcom,vdd-voltage-level = <2950000 2960000>;
+ qcom,vdd-current-level = <200 800000>;
+
+ vdd-io-supply = <&pm8150a_l6>;
+ qcom,vdd-io-voltage-level = <1808000 2960000>;
+ qcom,vdd-io-current-level = <200 22000>;
+
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&sdc2_on>;
+ pinctrl-1 = <&sdc2_off>;
+
+ cd-gpios = <&tlmm 77 GPIO_ACTIVE_LOW>;
+
+ status = "ok";
+};
diff --git a/qcom/kona-pcie.dtsi b/qcom/kona-pcie.dtsi
new file mode 100755
index 00000000..e2e5d57a
--- /dev/null
+++ b/qcom/kona-pcie.dtsi
@@ -0,0 +1,891 @@
+#include <dt-bindings/clock/qcom,gcc-sm8250.h>
+#include <dt-bindings/gpio/gpio.h>
+
+&soc {
+ pcie0: qcom,pcie@1c00000 {
+ compatible = "qcom,pci-msm";
+
+ reg = <0x01c00000 0x3000>,
+ <0x01c06000 0x1000>,
+ <0x60000000 0xf1d>,
+ <0x60000f20 0xa8>,
+ <0x60001000 0x1000>,
+ <0x60100000 0x100000>;
+ reg-names = "parf", "phy", "dm_core", "elbi", "iatu", "conf";
+
+ cell-index = <0>;
+ linux,pci-domain = <0>;
+
+ #address-cells = <3>;
+ #size-cells = <2>;
+ ranges = <0x01000000 0x0 0x60200000 0x60200000 0x0 0x100000>,
+ <0x02000000 0x0 0x60300000 0x60300000 0x0 0x3d00000>;
+
+ interrupt-parent = <&pcie0>;
+ interrupts = <0 1 2 3 4>;
+ interrupt-names = "int_global_int", "int_a", "int_b", "int_c",
+ "int_d";
+ #interrupt-cells = <1>;
+ interrupt-map-mask = <0 0 0 0xffffffff>;
+ interrupt-map = <0 0 0 0 &intc GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH
+ 0 0 0 1 &intc GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
+ 0 0 0 2 &intc GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH
+ 0 0 0 3 &intc GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH
+ 0 0 0 4 &intc GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>;
+ msi-parent = <&pcie0_msi>;
+
+ perst-gpio = <&tlmm 79 GPIO_ACTIVE_HIGH>;
+ wake-gpio = <&tlmm 81 GPIO_ACTIVE_HIGH>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&pcie0_clkreq_default
+ &pcie0_perst_default
+ &pcie0_wake_default>;
+ pinctrl-1 = <&pcie0_clkreq_sleep
+ &pcie0_perst_default
+ &pcie0_wake_default>;
+
+ gdsc-core-vdd-supply = <&pcie_0_gdsc>;
+ vreg-1p2-supply = <&pm8150_l9>;
+ vreg-0p9-supply = <&pm8150_l5>;
+ vreg-cx-supply = <&VDD_CX_LEVEL>;
+ qcom,vreg-1p2-voltage-level = <1200000 1200000 16000>;
+ qcom,vreg-0p9-voltage-level = <880000 880000 73500>;
+ qcom,vreg-cx-voltage-level = <RPMH_REGULATOR_LEVEL_MAX
+ RPMH_REGULATOR_LEVEL_NOM 0>;
+ qcom,bw-scale = /* Gen1 */
+ <RPMH_REGULATOR_LEVEL_LOW_SVS
+ RPMH_REGULATOR_LEVEL_LOW_SVS
+ 19200000
+ /* Gen2 */
+ RPMH_REGULATOR_LEVEL_LOW_SVS
+ RPMH_REGULATOR_LEVEL_LOW_SVS
+ 19200000
+ /* Gen3 */
+ RPMH_REGULATOR_LEVEL_NOM
+ RPMH_REGULATOR_LEVEL_NOM
+ 100000000>;
+
+ interconnect-names = "icc_path";
+ interconnects = <&aggre2_noc MASTER_PCIE_0 &mc_virt SLAVE_EBI1>;
+
+ clocks = <&gcc GCC_PCIE_0_PIPE_CLK>,
+ <&rpmhcc RPMH_CXO_CLK>,
+ <&gcc GCC_PCIE_0_AUX_CLK>,
+ <&gcc GCC_PCIE_0_CFG_AHB_CLK>,
+ <&gcc GCC_PCIE_0_MSTR_AXI_CLK>,
+ <&gcc GCC_PCIE_0_SLV_AXI_CLK>,
+ <&gcc GCC_PCIE_WIFI_CLKREF_EN>,
+ <&gcc GCC_PCIE_0_SLV_Q2A_AXI_CLK>,
+ <&gcc GCC_AGGRE_NOC_PCIE_TBU_CLK>,
+ <&gcc GCC_PCIE0_PHY_REFGEN_CLK>,
+ <&gcc GCC_DDRSS_PCIE_SF_TBU_CLK>,
+ <&gcc GCC_PCIE_0_PIPE_CLK_SRC>,
+ <&pcie_0_pipe_clk>;
+ clock-names = "pcie_pipe_clk", "pcie_ref_clk_src",
+ "pcie_aux_clk", "pcie_cfg_ahb_clk",
+ "pcie_mstr_axi_clk", "pcie_slv_axi_clk",
+ "pcie_ldo", "pcie_slv_q2a_axi_clk",
+ "pcie_tbu_clk", "pcie_phy_refgen_clk",
+ "pcie_ddrss_sf_tbu_clk","pcie_pipe_clk_mux",
+ "pcie_pipe_clk_ext_src";
+ clock-frequency = <0>, <0>, <19200000>, <0>, <0>, <0>,
+ <0>, <0>, <0>, <0>, <100000000>, <0>, <0>;
+ clock-suppressible = <0>, <0>, <0>, <0>, <0>, <0>, <1>, <0>,
+ <0>, <0>, <0>, <0>, <0>;
+
+ resets = <&gcc GCC_PCIE_0_BCR>,
+ <&gcc GCC_PCIE_0_PHY_BCR>;
+ reset-names = "pcie_0_core_reset",
+ "pcie_0_phy_reset";
+
+ dma-coherent;
+ qcom,smmu-sid-base = <0x1c00>;
+ iommu-map = <0x0 &apps_smmu 0x1c00 0x1>,
+ <0x100 &apps_smmu 0x1c01 0x1>;
+
+ qcom,boot-option = <0x1>;
+ qcom,aux-clk-freq = <20>; /* 19.2 MHz */
+ qcom,drv-name = "lpass";
+ qcom,no-l0s-supported;
+ qcom,drv-l1ss-timeout-us = <10000>; /* 10ms */
+ qcom,l1-2-th-scale = <2>; /* 1us */
+ qcom,l1-2-th-value = <70>;
+ qcom,slv-addr-space-size = <0x4000000>;
+ qcom,ep-latency = <10>;
+ qcom,num-parf-testbus-sel = <0xb9>;
+
+ qcom,pcie-phy-ver = <1102>;
+ qcom,phy-status-offset = <0x814>;
+ qcom,phy-status-bit = <6>;
+ qcom,phy-power-down-offset = <0x840>;
+ qcom,phy-sequence = <0x0840 0x03 0x0
+ 0x0094 0x08 0x0
+ 0x0154 0x34 0x0
+ 0x016c 0x08 0x0
+ 0x0058 0x0f 0x0
+ 0x00a4 0x42 0x0
+ 0x0110 0x24 0x0
+ 0x011c 0x03 0x0
+ 0x0118 0xb4 0x0
+ 0x010c 0x02 0x0
+ 0x01bc 0x11 0x0
+ 0x00bc 0x82 0x0
+ 0x00d4 0x03 0x0
+ 0x00d0 0x55 0x0
+ 0x00cc 0x55 0x0
+ 0x00b0 0x1a 0x0
+ 0x00ac 0x0a 0x0
+ 0x00c4 0x68 0x0
+ 0x00e0 0x02 0x0
+ 0x00dc 0xaa 0x0
+ 0x00d8 0xab 0x0
+ 0x00b8 0x34 0x0
+ 0x00b4 0x14 0x0
+ 0x0158 0x01 0x0
+ 0x0074 0x06 0x0
+ 0x007c 0x16 0x0
+ 0x0084 0x36 0x0
+ 0x0078 0x06 0x0
+ 0x0080 0x16 0x0
+ 0x0088 0x36 0x0
+ 0x01b0 0x1e 0x0
+ 0x01ac 0xca 0x0
+ 0x01b8 0x18 0x0
+ 0x01b4 0xa2 0x0
+ 0x0050 0x07 0x0
+ 0x0010 0x01 0x0
+ 0x001c 0x31 0x0
+ 0x0020 0x01 0x0
+ 0x0024 0xde 0x0
+ 0x0028 0x07 0x0
+ 0x0030 0x4c 0x0
+ 0x0034 0x06 0x0
+ 0x029c 0x12 0x0
+ 0x0284 0x35 0x0
+ 0x023c 0x11 0x0
+ 0x051c 0x03 0x0
+ 0x0518 0x1c 0x0
+ 0x0524 0x1e 0x0
+ 0x04e8 0x00 0x0
+ 0x04ec 0x0e 0x0
+ 0x04f0 0x4a 0x0
+ 0x04f4 0x0f 0x0
+ 0x05b4 0x04 0x0
+ 0x0434 0x7f 0x0
+ 0x0444 0x70 0x0
+ 0x0510 0x17 0x0
+ 0x04d4 0x04 0x0
+ 0x04d8 0x07 0x0
+ 0x0598 0xd4 0x0
+ 0x059c 0x54 0x0
+ 0x05a0 0xdb 0x0
+ 0x05a4 0x3b 0x0
+ 0x05a8 0x31 0x0
+ 0x0584 0x24 0x0
+ 0x0588 0xe4 0x0
+ 0x058c 0xec 0x0
+ 0x0590 0x3b 0x0
+ 0x0594 0x36 0x0
+ 0x0570 0x3f 0x0
+ 0x0574 0x3f 0x0
+ 0x0578 0xff 0x0
+ 0x057c 0x7f 0x0
+ 0x0580 0x14 0x0
+ 0x04fc 0x00 0x0
+ 0x04f8 0xc0 0x0
+ 0x0460 0x30 0x0
+ 0x0464 0x00 0x0
+ 0x05bc 0x0c 0x0
+ 0x04dc 0x1b 0x0
+ 0x0408 0x0c 0x0
+ 0x0414 0x03 0x0
+ 0x05b8 0x30 0x0
+ 0x09a4 0x01 0x0
+ 0x0c90 0x00 0x0
+ 0x0c40 0x01 0x0
+ 0x0c48 0x01 0x0
+ 0x0c50 0x00 0x0
+ 0x0cb4 0x33 0x0
+ 0x0cbc 0x00 0x0
+ 0x0ce0 0x58 0x0
+ 0x0ca4 0x0f 0x0
+ 0x0048 0x90 0x0
+ 0x0c1c 0xc1 0x0
+ 0x0988 0x77 0x0
+ 0x0998 0x0b 0x0
+ 0x08dc 0x0d 0x0
+ 0x09ec 0x12 0x0
+ 0x0800 0x00 0x0
+ 0x0844 0x03 0x0>;
+
+ qcom,parf-debug-reg = <0x01B0 0x0024 0x0028 0x0224 0x0500
+ 0x04D0 0x04D4 0x03C0 0x0630 0x0230
+ 0x0000>;
+ qcom,dbi-debug-reg = <0x0104 0x0110 0x0080 0x01F4 0x0730
+ 0x0734 0x0738 0x073C>;
+ qcom,phy-debug-reg = <0x0068 0x0140 0x0144 0x0148 0x014C
+ 0x0150 0x0160 0x0178 0x02f0 0x06f0
+ 0x02fC 0x06fC 0x05fc 0x09fc 0x1000
+ 0x1400 0x1004 0x1404 0x1008 0x1408
+ 0x100c 0x140C 0x1010 0x1410 0x1014
+ 0x1414 0x1018 0x1418 0x1220 0x1620
+ 0x0a14 0x0a18 0x0a1C 0x0a20 0x0a24
+ 0x0a28 0x0a2C 0x0a30 0x0a34 0x0a38
+ 0x0a3C 0x0e00 0x0e04>;
+
+ pcie0_rp: pcie0_rp {
+ reg = <0 0 0 0 0>;
+ };
+ };
+
+ pcie0_msi: qcom,pcie0_msi@17a10040 {
+ compatible = "qcom,pci-msi";
+ msi-controller;
+ reg = <0x17a10040 0x0>;
+ interrupt-parent = <&intc>;
+ interrupts = <GIC_SPI 768 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 769 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 770 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 771 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 772 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 773 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 774 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 775 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 776 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 777 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 778 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 779 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 780 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 781 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 782 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 783 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 784 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 785 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 786 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 787 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 788 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 789 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 790 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 791 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 792 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 793 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 794 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 795 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 796 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 797 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 798 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 799 IRQ_TYPE_EDGE_RISING>;
+ };
+
+ pcie1: qcom,pcie@1c08000 {
+ compatible = "qcom,pci-msm";
+
+ reg = <0x01c08000 0x3000>,
+ <0x01c0e000 0x2000>,
+ <0x40000000 0xf1d>,
+ <0x40000f20 0xa8>,
+ <0x40001000 0x1000>,
+ <0x40100000 0x100000>;
+ reg-names = "parf", "phy", "dm_core", "elbi", "iatu", "conf";
+
+ cell-index = <1>;
+ linux,pci-domain = <1>;
+
+ #address-cells = <3>;
+ #size-cells = <2>;
+ ranges = <0x01000000 0x0 0x40200000 0x40200000 0x0 0x100000>,
+ <0x02000000 0x0 0x40300000 0x40300000 0x0 0x1fd00000>;
+
+ interrupt-parent = <&pcie1>;
+ interrupts = <0 1 2 3 4>;
+ interrupt-names = "int_global_int", "int_a", "int_b", "int_c",
+ "int_d";
+ #interrupt-cells = <1>;
+ interrupt-map-mask = <0 0 0 0xffffffff>;
+ interrupt-map = <0 0 0 0 &intc GIC_SPI 306 IRQ_TYPE_LEVEL_HIGH
+ 0 0 0 1 &intc GIC_SPI 434 IRQ_TYPE_LEVEL_HIGH
+ 0 0 0 2 &intc GIC_SPI 435 IRQ_TYPE_LEVEL_HIGH
+ 0 0 0 3 &intc GIC_SPI 438 IRQ_TYPE_LEVEL_HIGH
+ 0 0 0 4 &intc GIC_SPI 439 IRQ_TYPE_LEVEL_HIGH>;
+ msi-parent = <&pcie1_msi>;
+
+ perst-gpio = <&tlmm 82 GPIO_ACTIVE_HIGH>;
+ wake-gpio = <&tlmm 84 GPIO_ACTIVE_HIGH>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pcie1_clkreq_default
+ &pcie1_perst_default
+ &pcie1_wake_default>;
+
+ gdsc-core-vdd-supply = <&pcie_1_gdsc>;
+ vreg-1p2-supply = <&pm8150_l9>;
+ vreg-0p9-supply = <&pm8150_l5>;
+ vreg-cx-supply = <&VDD_CX_LEVEL>;
+ qcom,vreg-1p2-voltage-level = <1200000 1200000 25000>;
+ qcom,vreg-0p9-voltage-level = <880000 880000 98800>;
+ qcom,vreg-cx-voltage-level = <RPMH_REGULATOR_LEVEL_MAX
+ RPMH_REGULATOR_LEVEL_NOM 0>;
+ qcom,bw-scale = /* Gen1 */
+ <RPMH_REGULATOR_LEVEL_LOW_SVS
+ RPMH_REGULATOR_LEVEL_LOW_SVS
+ 19200000
+ /* Gen2 */
+ RPMH_REGULATOR_LEVEL_LOW_SVS
+ RPMH_REGULATOR_LEVEL_LOW_SVS
+ 19200000
+ /* Gen3 */
+ RPMH_REGULATOR_LEVEL_NOM
+ RPMH_REGULATOR_LEVEL_NOM
+ 100000000>;
+
+ interconnect-names = "icc_path";
+ interconnects = <&aggre2_noc MASTER_PCIE_1 &mc_virt SLAVE_EBI1>;
+
+ clocks = <&gcc GCC_PCIE_1_PIPE_CLK>,
+ <&rpmhcc RPMH_CXO_CLK>,
+ <&gcc GCC_PCIE_1_AUX_CLK>,
+ <&gcc GCC_PCIE_1_CFG_AHB_CLK>,
+ <&gcc GCC_PCIE_1_MSTR_AXI_CLK>,
+ <&gcc GCC_PCIE_1_SLV_AXI_CLK>,
+ <&gcc GCC_PCIE_WIGIG_CLKREF_EN>,
+ <&gcc GCC_PCIE_1_SLV_Q2A_AXI_CLK>,
+ <&gcc GCC_AGGRE_NOC_PCIE_TBU_CLK>,
+ <&gcc GCC_PCIE1_PHY_REFGEN_CLK>,
+ <&gcc GCC_DDRSS_PCIE_SF_TBU_CLK>,
+ <&gcc GCC_PCIE_1_PIPE_CLK_SRC>,
+ <&pcie_1_pipe_clk>;
+ clock-names = "pcie_pipe_clk", "pcie_ref_clk_src",
+ "pcie_aux_clk", "pcie_cfg_ahb_clk",
+ "pcie_mstr_axi_clk", "pcie_slv_axi_clk",
+ "pcie_ldo", "pcie_slv_q2a_axi_clk",
+ "pcie_tbu_clk", "pcie_phy_refgen_clk",
+ "pcie_ddrss_sf_tbu_clk", "pcie_pipe_clk_mux",
+ "pcie_pipe_clk_ext_src";
+ clock-frequency = <0>, <0>, <19200000>, <0>, <0>, <0>,
+ <0>, <0>, <0>, <0>, <100000000>, <0>, <0>;
+ clock-suppressible = <0>, <0>, <0>, <0>, <0>, <0>, <1>, <0>,
+ <0>, <0>, <0>, <0>, <0>;
+
+ resets = <&gcc GCC_PCIE_1_BCR>,
+ <&gcc GCC_PCIE_1_PHY_BCR>;
+ reset-names = "pcie_1_core_reset",
+ "pcie_1_phy_reset";
+
+ dma-coherent;
+ qcom,smmu-sid-base = <0x1c80>;
+ iommu-map = <0x0 &apps_smmu 0x1c80 0x1>,
+ <0x100 &apps_smmu 0x1c81 0x1>;
+
+ qcom,boot-option = <0x1>;
+ qcom,aux-clk-freq = <20>; /* 19.2 MHz */
+ qcom,drv-name = "lpass";
+ qcom,no-l0s-supported;
+ qcom,drv-l1ss-timeout-us = <5000>;
+ qcom,slv-addr-space-size = <0x20000000>;
+ qcom,ep-latency = <10>;
+ qcom,num-parf-testbus-sel = <0xb9>;
+
+ qcom,pcie-phy-ver = <1102>;
+ qcom,phy-status-offset = <0xa14>;
+ qcom,phy-status-bit = <6>;
+ qcom,phy-power-down-offset = <0xa40>;
+ qcom,phy-sequence = <0x0a40 0x03 0x0
+ 0x0010 0x01 0x0
+ 0x001c 0x31 0x0
+ 0x0020 0x01 0x0
+ 0x0024 0xde 0x0
+ 0x0028 0x07 0x0
+ 0x0030 0x4c 0x0
+ 0x0034 0x06 0x0
+ 0x0048 0x90 0x0
+ 0x0058 0x0f 0x0
+ 0x0074 0x06 0x0
+ 0x0078 0x06 0x0
+ 0x007c 0x16 0x0
+ 0x0080 0x16 0x0
+ 0x0084 0x36 0x0
+ 0x0088 0x36 0x0
+ 0x0094 0x08 0x0
+ 0x00a4 0x42 0x0
+ 0x00ac 0x0a 0x0
+ 0x00b0 0x1a 0x0
+ 0x00b4 0x14 0x0
+ 0x00b8 0x34 0x0
+ 0x00bc 0x82 0x0
+ 0x00c4 0x68 0x0
+ 0x00cc 0x55 0x0
+ 0x00d0 0x55 0x0
+ 0x00d4 0x03 0x0
+ 0x00d8 0xab 0x0
+ 0x00dc 0xaa 0x0
+ 0x00e0 0x02 0x0
+ 0x010c 0x02 0x0
+ 0x0110 0x24 0x0
+ 0x0118 0xb4 0x0
+ 0x011c 0x03 0x0
+ 0x0154 0x34 0x0
+ 0x0158 0x01 0x0
+ 0x016c 0x08 0x0
+ 0x01ac 0xca 0x0
+ 0x01b0 0x1e 0x0
+ 0x01b4 0xa2 0x0
+ 0x01b8 0x18 0x0
+ 0x01bc 0x11 0x0
+ 0x023c 0x11 0x0
+ 0x0284 0x75 0x0
+ 0x029c 0x12 0x0
+ 0x0304 0x02 0x0
+ 0x0408 0x0c 0x0
+ 0x0414 0x03 0x0
+ 0x0434 0x7f 0x0
+ 0x0444 0x70 0x0
+ 0x0460 0x30 0x0
+ 0x04d4 0x04 0x0
+ 0x04d8 0x07 0x0
+ 0x04dc 0x1b 0x0
+ 0x04e8 0x04 0x0
+ 0x04ec 0x0e 0x0
+ 0x04f0 0x4a 0x0
+ 0x04f4 0x0f 0x0
+ 0x04f8 0xc0 0x0
+ 0x04fc 0x00 0x0
+ 0x0510 0x17 0x0
+ 0x0518 0x1c 0x0
+ 0x051c 0x03 0x0
+ 0x0524 0x1e 0x0
+ 0x0570 0xbf 0x0
+ 0x0574 0x3f 0x0
+ 0x0578 0xff 0x0
+ 0x057c 0x7f 0x0
+ 0x0580 0x15 0x0
+ 0x0584 0x24 0x0
+ 0x0588 0xe4 0x0
+ 0x058c 0xec 0x0
+ 0x0590 0x3b 0x0
+ 0x0594 0x36 0x0
+ 0x0598 0xd4 0x0
+ 0x059c 0x54 0x0
+ 0x05a0 0xdb 0x0
+ 0x05a4 0x3b 0x0
+ 0x05a8 0x31 0x0
+ 0x05bc 0x0c 0x0
+ 0x05b8 0x38 0x0
+ 0x063c 0x11 0x0
+ 0x0684 0x75 0x0
+ 0x069c 0x12 0x0
+ 0x0704 0x20 0x0
+ 0x0808 0x0c 0x0
+ 0x0814 0x03 0x0
+ 0x0834 0x7f 0x0
+ 0x0844 0x70 0x0
+ 0x0860 0x30 0x0
+ 0x08d4 0x04 0x0
+ 0x08d8 0x07 0x0
+ 0x08dc 0x1b 0x0
+ 0x08e8 0x04 0x0
+ 0x08ec 0x0e 0x0
+ 0x08f0 0x4a 0x0
+ 0x08f4 0x0f 0x0
+ 0x08f8 0xc0 0x0
+ 0x08fc 0x00 0x0
+ 0x0910 0x17 0x0
+ 0x0918 0x1c 0x0
+ 0x091c 0x03 0x0
+ 0x0924 0x1e 0x0
+ 0x0970 0xbf 0x0
+ 0x0974 0x3f 0x0
+ 0x0978 0xff 0x0
+ 0x097c 0x7f 0x0
+ 0x0980 0x15 0x0
+ 0x0984 0x24 0x0
+ 0x0988 0xe4 0x0
+ 0x098c 0xec 0x0
+ 0x0990 0x3b 0x0
+ 0x0994 0x36 0x0
+ 0x0998 0xd4 0x0
+ 0x099c 0x54 0x0
+ 0x09a0 0xdb 0x0
+ 0x09a4 0x3b 0x0
+ 0x09a8 0x31 0x0
+ 0x09bc 0x0c 0x0
+ 0x09b8 0x38 0x0
+ 0x0adc 0x05 0x0
+ 0x0b88 0x77 0x0
+ 0x0b98 0x0b 0x0
+ 0x0ba4 0x01 0x0
+ 0x0be0 0x0f 0x0
+ 0x0e0c 0x0d 0x0
+ 0x0e14 0x07 0x0
+ 0x0e1c 0xc1 0x0
+ 0x0e40 0x01 0x0
+ 0x0e48 0x01 0x0
+ 0x0e90 0x00 0x0
+ 0x0eb4 0x33 0x0
+ 0x0ebc 0x00 0x0
+ 0x0ee0 0x58 0x0
+ 0x0a00 0x00 0x0
+ 0x0a44 0x03 0x0>;
+ qcom,parf-debug-reg = <0x01B0 0x0024 0x0028 0x0224 0x0500
+ 0x04D0 0x04D4 0x03C0 0x0630 0x0230
+ 0x0000>;
+ qcom,dbi-debug-reg = <0x0104 0x0110 0x0080 0x01F4 0x0730
+ 0x0734 0x0738 0x073C>;
+ qcom,phy-debug-reg = <0x0068 0x0140 0x0144 0x0148 0x014C
+ 0x0150 0x0160 0x0178 0x02f0 0x06f0
+ 0x02fC 0x06fC 0x05fc 0x09fc 0x1000
+ 0x1400 0x1004 0x1404 0x1008 0x1408
+ 0x100c 0x140C 0x1010 0x1410 0x1014
+ 0x1414 0x1018 0x1418 0x1220 0x1620
+ 0x0a14 0x0a18 0x0a1C 0x0a20 0x0a24
+ 0x0a28 0x0a2C 0x0a30 0x0a34 0x0a38
+ 0x0a3C 0x0e00 0x0e04>;
+
+ pcie1_rp: pcie1_rp {
+ reg = <0 0 0 0 0>;
+ };
+ };
+
+ pcie1_msi: qcom,pcie1_msi@17a10040 {
+ compatible = "qcom,pci-msi";
+ msi-controller;
+ reg = <0x17a10040 0x0>;
+ interrupt-parent = <&intc>;
+ interrupts = <GIC_SPI 800 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 801 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 802 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 803 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 804 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 805 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 806 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 807 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 808 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 809 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 810 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 811 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 812 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 813 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 814 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 815 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 816 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 817 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 818 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 819 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 820 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 821 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 822 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 823 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 824 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 825 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 826 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 827 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 828 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 829 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 830 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 831 IRQ_TYPE_EDGE_RISING>;
+ };
+
+ pcie2: qcom,pcie@1c10000 {
+ compatible = "qcom,pci-msm";
+
+ reg = <0x01c10000 0x3000>,
+ <0x01c16000 0x2000>,
+ <0x64000000 0xf1d>,
+ <0x64000f20 0xa8>,
+ <0x64001000 0x1000>,
+ <0x64100000 0x100000>;
+ reg-names = "parf", "phy", "dm_core", "elbi", "iatu", "conf";
+
+ cell-index = <2>;
+ linux,pci-domain = <2>;
+
+ #address-cells = <3>;
+ #size-cells = <2>;
+ ranges = <0x01000000 0x0 0x64200000 0x64200000 0x0 0x100000>,
+ <0x02000000 0x0 0x64300000 0x64300000 0x0 0x3d00000>;
+
+ interrupt-parent = <&pcie2>;
+ interrupts = <0 1 2 3 4>;
+ interrupt-names = "int_global_int", "int_a", "int_b", "int_c",
+ "int_d";
+ #interrupt-cells = <1>;
+ interrupt-map-mask = <0 0 0 0xffffffff>;
+ interrupt-map = <0 0 0 0 &intc GIC_SPI 236 IRQ_TYPE_LEVEL_HIGH
+ 0 0 0 1 &intc GIC_SPI 290 IRQ_TYPE_LEVEL_HIGH
+ 0 0 0 2 &intc GIC_SPI 415 IRQ_TYPE_LEVEL_HIGH
+ 0 0 0 3 &intc GIC_SPI 416 IRQ_TYPE_LEVEL_HIGH
+ 0 0 0 4 &intc GIC_SPI 417 IRQ_TYPE_LEVEL_HIGH>;
+ msi-parent = <&pcie2_msi>;
+
+ perst-gpio = <&tlmm 85 GPIO_ACTIVE_HIGH>;
+ wake-gpio = <&tlmm 87 GPIO_ACTIVE_HIGH>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pcie2_clkreq_default
+ &pcie2_perst_default
+ &pcie2_wake_default>;
+
+ gdsc-core-vdd-supply = <&pcie_2_gdsc>;
+ vreg-1p2-supply = <&pm8150_l9>;
+ vreg-0p9-supply = <&pm8150_l5>;
+ vreg-cx-supply = <&VDD_CX_LEVEL>;
+ qcom,vreg-1p2-voltage-level = <1200000 1200000 25500>;
+ qcom,vreg-0p9-voltage-level = <880000 880000 98800>;
+ qcom,vreg-cx-voltage-level = <RPMH_REGULATOR_LEVEL_MAX
+ RPMH_REGULATOR_LEVEL_NOM 0>;
+ qcom,bw-scale = /* Gen1 */
+ <RPMH_REGULATOR_LEVEL_LOW_SVS
+ RPMH_REGULATOR_LEVEL_LOW_SVS
+ 19200000
+ /* Gen2 */
+ RPMH_REGULATOR_LEVEL_LOW_SVS
+ RPMH_REGULATOR_LEVEL_LOW_SVS
+ 19200000
+ /* Gen3 */
+ RPMH_REGULATOR_LEVEL_NOM
+ RPMH_REGULATOR_LEVEL_NOM
+ 100000000>;
+ interconnect-names = "icc_path";
+ interconnects = <&aggre1_noc MASTER_PCIE_2 &mc_virt SLAVE_EBI1>;
+
+ clocks = <&gcc GCC_PCIE_2_PIPE_CLK>,
+ <&rpmhcc RPMH_CXO_CLK>,
+ <&gcc GCC_PCIE_2_AUX_CLK>,
+ <&gcc GCC_PCIE_2_CFG_AHB_CLK>,
+ <&gcc GCC_PCIE_2_MSTR_AXI_CLK>,
+ <&gcc GCC_PCIE_2_SLV_AXI_CLK>,
+ <&gcc GCC_PCIE_MDM_CLKREF_EN>,
+ <&gcc GCC_PCIE_2_SLV_Q2A_AXI_CLK>,
+ <&gcc GCC_AGGRE_NOC_PCIE_TBU_CLK>,
+ <&gcc GCC_PCIE2_PHY_REFGEN_CLK>,
+ <&gcc GCC_DDRSS_PCIE_SF_TBU_CLK>,
+ <&gcc GCC_PCIE_2_PIPE_CLK_SRC>,
+ <&pcie_2_pipe_clk>;
+ clock-names = "pcie_pipe_clk", "pcie_ref_clk_src",
+ "pcie_aux_clk", "pcie_cfg_ahb_clk",
+ "pcie_mstr_axi_clk", "pcie_slv_axi_clk",
+ "pcie_ldo", "pcie_slv_q2a_axi_clk",
+ "pcie_tbu_clk", "pcie_phy_refgen_clk",
+ "pcie_ddrss_sf_tbu_clk", "pcie_pipe_clk_mux",
+ "pcie_pipe_clk_ext_src";
+ clock-frequency = <0>, <0>, <19200000>, <0>, <0>, <0>,
+ <0>, <0>, <0>, <0>, <100000000>, <0>, <0>;
+ clock-suppressible = <0>, <0>, <0>, <0>, <0>, <0>, <1>, <0>,
+ <0>, <0>, <0>, <0>, <0>;
+
+ resets = <&gcc GCC_PCIE_2_BCR>,
+ <&gcc GCC_PCIE_2_PHY_BCR>;
+ reset-names = "pcie_2_core_reset",
+ "pcie_2_phy_reset";
+
+ dma-coherent;
+ qcom,smmu-sid-base = <0x1d00>;
+ iommu-map = <0x0 &apps_smmu 0x1d00 0x1>,
+ <0x100 &apps_smmu 0x1d01 0x1>;
+
+ qcom,boot-option = <0x1>;
+ qcom,aux-clk-freq = <20>; /* 19.2 MHz */
+ qcom,drv-name = "lpass";
+ qcom,no-l0s-supported;
+ qcom,drv-l1ss-timeout-us = <5000>;
+ qcom,slv-addr-space-size = <0x4000000>;
+ qcom,ep-latency = <10>;
+ qcom,num-parf-testbus-sel = <0xb9>;
+
+ qcom,pcie-phy-ver = <1102>;
+ qcom,phy-status-offset = <0xa14>;
+ qcom,phy-status-bit = <6>;
+ qcom,phy-power-down-offset = <0xa40>;
+ qcom,phy-sequence = <0x0a40 0x03 0x0
+ 0x0010 0x01 0x0
+ 0x001c 0x31 0x0
+ 0x0020 0x01 0x0
+ 0x0024 0xde 0x0
+ 0x0028 0x07 0x0
+ 0x0030 0x4c 0x0
+ 0x0034 0x06 0x0
+ 0x0048 0x90 0x0
+ 0x0058 0x0f 0x0
+ 0x0074 0x06 0x0
+ 0x0078 0x06 0x0
+ 0x007c 0x16 0x0
+ 0x0080 0x16 0x0
+ 0x0084 0x36 0x0
+ 0x0088 0x36 0x0
+ 0x0094 0x08 0x0
+ 0x00a4 0x42 0x0
+ 0x00ac 0x0a 0x0
+ 0x00b0 0x1a 0x0
+ 0x00b4 0x14 0x0
+ 0x00b8 0x34 0x0
+ 0x00bc 0x82 0x0
+ 0x00c4 0x68 0x0
+ 0x00cc 0x55 0x0
+ 0x00d0 0x55 0x0
+ 0x00d4 0x03 0x0
+ 0x00d8 0xab 0x0
+ 0x00dc 0xaa 0x0
+ 0x00e0 0x02 0x0
+ 0x010c 0x02 0x0
+ 0x0110 0x24 0x0
+ 0x0118 0xb4 0x0
+ 0x011c 0x03 0x0
+ 0x0154 0x34 0x0
+ 0x0158 0x01 0x0
+ 0x016c 0x08 0x0
+ 0x01ac 0xca 0x0
+ 0x01b0 0x1e 0x0
+ 0x01b4 0xa2 0x0
+ 0x01b8 0x18 0x0
+ 0x01bc 0x11 0x0
+ 0x023c 0x11 0x0
+ 0x0284 0x75 0x0
+ 0x029c 0x12 0x0
+ 0x0304 0x02 0x0
+ 0x0408 0x0c 0x0
+ 0x0414 0x03 0x0
+ 0x0434 0x7f 0x0
+ 0x0444 0x70 0x0
+ 0x0460 0x30 0x0
+ 0x04d4 0x04 0x0
+ 0x04d8 0x07 0x0
+ 0x04dc 0x1b 0x0
+ 0x04e8 0x04 0x0
+ 0x04ec 0x0e 0x0
+ 0x04f0 0x4a 0x0
+ 0x04f4 0x0f 0x0
+ 0x04f8 0xc0 0x0
+ 0x04fc 0x00 0x0
+ 0x0510 0x17 0x0
+ 0x0518 0x1c 0x0
+ 0x051c 0x03 0x0
+ 0x0524 0x1e 0x0
+ 0x0570 0xbf 0x0
+ 0x0574 0x3f 0x0
+ 0x0578 0xff 0x0
+ 0x057c 0x7f 0x0
+ 0x0580 0x15 0x0
+ 0x0584 0x24 0x0
+ 0x0588 0xe4 0x0
+ 0x058c 0xec 0x0
+ 0x0590 0x3b 0x0
+ 0x0594 0x36 0x0
+ 0x0598 0xd4 0x0
+ 0x059c 0x54 0x0
+ 0x05a0 0xdb 0x0
+ 0x05a4 0x3b 0x0
+ 0x05a8 0x31 0x0
+ 0x05bc 0x0c 0x0
+ 0x05b8 0x38 0x0
+ 0x063c 0x11 0x0
+ 0x0684 0x75 0x0
+ 0x069c 0x12 0x0
+ 0x0704 0x20 0x0
+ 0x0808 0x0c 0x0
+ 0x0814 0x03 0x0
+ 0x0834 0x7f 0x0
+ 0x0844 0x70 0x0
+ 0x0860 0x30 0x0
+ 0x08d4 0x04 0x0
+ 0x08d8 0x07 0x0
+ 0x08dc 0x1b 0x0
+ 0x08e8 0x04 0x0
+ 0x08ec 0x0e 0x0
+ 0x08f0 0x4a 0x0
+ 0x08f4 0x0f 0x0
+ 0x08f8 0xc0 0x0
+ 0x08fc 0x00 0x0
+ 0x0910 0x17 0x0
+ 0x0918 0x1c 0x0
+ 0x091c 0x03 0x0
+ 0x0924 0x1e 0x0
+ 0x0970 0xbf 0x0
+ 0x0974 0x3f 0x0
+ 0x0978 0xff 0x0
+ 0x097c 0x7f 0x0
+ 0x0980 0x15 0x0
+ 0x0984 0x24 0x0
+ 0x0988 0xe4 0x0
+ 0x098c 0xec 0x0
+ 0x0990 0x3b 0x0
+ 0x0994 0x36 0x0
+ 0x0998 0xd4 0x0
+ 0x099c 0x54 0x0
+ 0x09a0 0xdb 0x0
+ 0x09a4 0x3b 0x0
+ 0x09a8 0x31 0x0
+ 0x09bc 0x0c 0x0
+ 0x09b8 0x38 0x0
+ 0x0adc 0x05 0x0
+ 0x0b88 0x77 0x0
+ 0x0b98 0x0b 0x0
+ 0x0ba4 0x01 0x0
+ 0x0be0 0x0f 0x0
+ 0x0e0c 0x0d 0x0
+ 0x0e14 0x07 0x0
+ 0x0e1c 0xc1 0x0
+ 0x0e40 0x01 0x0
+ 0x0e48 0x01 0x0
+ 0x0e90 0x00 0x0
+ 0x0eb4 0x33 0x0
+ 0x0ebc 0x00 0x0
+ 0x0ee0 0x58 0x0
+ 0x0a00 0x00 0x0
+ 0x0a44 0x03 0x0>;
+
+ qcom,parf-debug-reg = <0x01B0 0x0024 0x0028 0x0224 0x0500
+ 0x04D0 0x04D4 0x03C0 0x0630 0x0230
+ 0x0000>;
+ qcom,dbi-debug-reg = <0x0104 0x0110 0x0080 0x01F4 0x0730
+ 0x0734 0x0738 0x073C>;
+ qcom,phy-debug-reg = <0x0068 0x0140 0x0144 0x0148 0x014C
+ 0x0150 0x0160 0x0178 0x02f0 0x06f0
+ 0x02fC 0x06fC 0x05fc 0x09fc 0x1000
+ 0x1400 0x1004 0x1404 0x1008 0x1408
+ 0x100c 0x140C 0x1010 0x1410 0x1014
+ 0x1414 0x1018 0x1418 0x1220 0x1620
+ 0x0a14 0x0a18 0x0a1C 0x0a20 0x0a24
+ 0x0a28 0x0a2C 0x0a30 0x0a34 0x0a38
+ 0x0a3C 0x0e00 0x0e04>;
+
+ pcie2_rp: pcie2_rp {
+ reg = <0 0 0 0 0>;
+ };
+ };
+
+ pcie2_msi: qcom,pcie2_msi@17a10040 {
+ compatible = "qcom,pci-msi";
+ msi-controller;
+ reg = <0x17a10040 0x0>;
+ interrupt-parent = <&intc>;
+ interrupts = <GIC_SPI 832 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 833 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 834 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 835 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 836 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 837 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 838 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 839 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 840 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 841 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 842 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 843 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 844 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 845 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 846 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 847 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 848 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 849 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 850 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 851 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 852 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 853 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 854 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 855 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 856 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 857 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 858 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 859 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 860 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 861 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 862 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 863 IRQ_TYPE_EDGE_RISING>;
+ };
+};
diff --git a/qcom/kona-pmic-overlay.dtsi b/qcom/kona-pmic-overlay.dtsi
new file mode 100755
index 00000000..a3a9b2d0
--- /dev/null
+++ b/qcom/kona-pmic-overlay.dtsi
@@ -0,0 +1,190 @@
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
+#include <dt-bindings/iio/qti_power_supply_iio.h>
+
+#include "pm8150.dtsi"
+#include "pm8150b.dtsi"
+#include "pm8150l.dtsi"
+#include "pm8009.dtsi"
+
+&spmi_bus {
+ #address-cells = <2>;
+ #size-cells = <0>;
+ interrupt-controller;
+ #interrupt-cells = <4>;
+
+ qcom,pmxprairie@8 {
+ compatible = "qcom,spmi-pmic";
+ reg = <0x8 SPMI_USID>;
+ #address-cells = <2>;
+ #size-cells = <0>;
+
+ qcom,power-on@800 {
+ compatible = "qcom,qpnp-power-on";
+ reg = <0x800 0x100>;
+ qcom,modem-reset;
+ };
+ };
+
+ qcom,pmxprairie@9 {
+ compatible ="qcom,spmi-pmic";
+ reg = <0x9 SPMI_USID>;
+ #address-cells = <2>;
+ #size-cells = <0>;
+ };
+};
+
+&pm8150_gpios {
+ key_home {
+ key_home_default: key_home_default {
+ pins = "gpio1";
+ function = "normal";
+ input-enable;
+ bias-pull-up;
+ power-source = <0>;
+ };
+ };
+
+ imu_clkin {
+ imu_clkin_default: imu_clkin_default {
+ pins = "gpio3";
+ function = "func1";
+ output-low;
+ power-source = <0>;
+ bias-disable;
+ qcom,dtest-buffer = <1>;
+ qcom,drive-strength = <1>;
+ };
+
+ imu_clkin_sleep: imu_clkin_sleep {
+ pins = "gpio3";
+ function = "func1";
+ input-enable;
+ bias-pull-down;
+ power-source = <0>;
+ qcom,dtest-buffer = <1>;
+ qcom,drive-strength = <1>;
+ };
+ };
+
+ key_vol_up {
+ key_vol_up_default: key_vol_up_default {
+ pins = "gpio6";
+ function = "normal";
+ input-enable;
+ bias-pull-up;
+ power-source = <1>;
+ };
+ };
+
+ key_confirm {
+ key_confirm_default: key_confirm_default {
+ pins = "gpio7";
+ function = "normal";
+ input-enable;
+ bias-pull-up;
+ power-source = <0>;
+ };
+ };
+
+ usb2_vbus_boost {
+ usb2_vbus_boost_default: usb2_vbus_boost_default {
+ pins = "gpio9";
+ function = "normal";
+ output-low;
+ power-source = <1>; /* 1.8V input supply */
+ };
+ };
+
+ usb2_vbus_det {
+ usb2_vbus_det_default: usb2_vbus_det_default {
+ pins = "gpio10";
+ function = "normal";
+ input-enable;
+ bias-pull-down;
+ power-source = <1>; /* 1.8V input supply */
+ };
+ };
+};
+
+&pm8150b_gpios {
+ qnovo_fet_ctrl {
+ qnovo_fet_ctrl_state1: qnovo_fet_ctrl_state1 {
+ pins = "gpio8";
+ function = "normal";
+ input-enable;
+ output-disable;
+ bias-disable;
+ power-source = <0>;
+ };
+
+ qnovo_fet_ctrl_state2: qnovo_fet_ctrl_state2 {
+ pins = "gpio8";
+ function = "normal";
+ input-enable;
+ output-disable;
+ bias-pull-down;
+ power-source = <0>;
+ };
+ };
+
+ smb_stat {
+ smb_stat_default: smb_stat_default {
+ pins = "gpio6";
+ function = "normal";
+ input-enable;
+ bias-pull-up;
+ qcom,pull-up-strength = <PMIC_GPIO_PULL_UP_30>;
+ power-source = <0>;
+ };
+ };
+};
+
+&pm8150b_qnovo {
+ pinctrl-names = "q_state1", "q_state2";
+ pinctrl-0 = <&qnovo_fet_ctrl_state1>;
+ pinctrl-1 = <&qnovo_fet_ctrl_state2>;
+};
+
+&pm8150b_fg {
+ nvmem-names = "fg_sdam";
+ nvmem = <&pm8150_sdam_2>;
+};
+
+&pm8150b_gpios {
+ haptics_boost {
+ haptics_boost_default: haptics_boost_default {
+ pins = "gpio5";
+ function = "normal";
+ output-enable;
+ input-disable;
+ bias-disable;
+ qcom,drive-strength = <3>; /* high */
+ power-source = <1>; /* 1.8 V */
+ };
+ };
+};
+
+&soc {
+ vreg_tof: regulator-dbb1 {
+ compatible = "regulator-fixed";
+ regulator-name = "vdd_tof";
+ regulator-min-microvolt = <3600000>;
+ regulator-max-microvolt = <3600000>;
+ gpio = <&pm8009_gpios 1 GPIO_ACTIVE_HIGH>;
+ startup-delay-us = <1000>;
+ enable-active-high;
+ };
+
+ vreg_hap_boost: regulator-haptics-boost {
+ compatible = "regulator-fixed";
+ regulator-name = "vdd_hap_boost";
+ gpio = <&pm8150b_gpios 5 GPIO_ACTIVE_HIGH>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&haptics_boost_default>;
+ startup-delay-us = <1000>;
+ enable-active-high;
+ status = "okay";
+ };
+};
diff --git a/qcom/kona-qupv3.dtsi b/qcom/kona-qupv3.dtsi
new file mode 100755
index 00000000..cdebd8d6
--- /dev/null
+++ b/qcom/kona-qupv3.dtsi
@@ -0,0 +1,1195 @@
+&soc {
+ /* QUPv3 SE Instances
+ * Qup0 0: SE 0
+ * Qup0 1: SE 1
+ * Qup0 2: SE 2
+ * Qup0 3: SE 3
+ * Qup0 4: SE 4
+ * Qup0 5: SE 5
+ * Qup0 6: SE 6
+ * Qup0 7: SE 7
+ * Qup1 0: SE 8
+ * Qup1 1: SE 9
+ * Qup1 2: SE 10
+ * Qup1 3: SE 11
+ * Qup1 4: SE 12
+ * Qup1 5: SE 13
+ * Qup2 0: SE 14
+ * Qup2 1: SE 15
+ * Qup2 2: SE 16
+ * Qup2 3: SE 17
+ * Qup2 4: SE 18
+ * Qup2 5: SE 19
+ */
+
+ /* GPI Instance */
+ gpi_dma0: qcom,gpi-dma@900000 {
+ #dma-cells = <5>;
+ compatible = "qcom,gpi-dma";
+ reg = <0x900000 0x70000>;
+ reg-names = "gpi-top";
+ interrupts = <GIC_SPI 244 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 245 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 247 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 248 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 249 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 250 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 251 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 252 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 253 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 254 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 255 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>;
+ qcom,max-num-gpii = <15>;
+ qcom,gpii-mask = <0x7ff>;
+ qcom,ev-factor = <2>;
+ qcom,gpi-ee-offset = <0x1000>;
+ iommus = <&apps_smmu 0x5b6 0x0>;
+ qcom,iommu-dma-addr-pool = <0x100000 0x100000>;
+ dma-coherent;
+ status = "ok";
+ };
+
+ gpi_dma1: qcom,gpi-dma@a00000 {
+ #dma-cells = <5>;
+ compatible = "qcom,gpi-dma";
+ reg = <0xa00000 0x70000>;
+ reg-names = "gpi-top";
+ interrupts = <GIC_SPI 279 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 280 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 281 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 282 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 283 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 284 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 293 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 294 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 295 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 296 IRQ_TYPE_LEVEL_HIGH>;
+ qcom,max-num-gpii = <10>;
+ qcom,gpii-mask = <0x3f>;
+ qcom,ev-factor = <2>;
+ qcom,gpi-ee-offset = <0x6000>;
+ iommus = <&apps_smmu 0x56 0x0>;
+ qcom,iommu-dma-addr-pool = <0x100000 0x100000>;
+ dma-coherent;
+ status = "ok";
+ };
+
+ gpi_dma2: qcom,gpi-dma@800000 {
+ #dma-cells = <5>;
+ compatible = "qcom,gpi-dma";
+ reg = <0x800000 0x70000>;
+ reg-names = "gpi-top";
+ interrupts = <GIC_SPI 588 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 589 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 590 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 591 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 592 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 593 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 594 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 595 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 596 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 597 IRQ_TYPE_LEVEL_HIGH>;
+ qcom,max-num-gpii = <10>;
+ qcom,gpii-mask = <0x3f>;
+ qcom,ev-factor = <2>;
+ qcom,gpi-ee-offset = <0x6000>;
+ iommus = <&apps_smmu 0x76 0x0>;
+ qcom,iommu-dma-addr-pool = <0x100000 0x100000>;
+ dma-coherent;
+ status = "ok";
+ };
+
+ /* QUPv3_0 wrapper instance : North QUP*/
+ qupv3_0: qcom,qupv3_0_geni_se@9c0000 {
+ compatible = "qcom,geni-se-qup";
+ reg = <0x9c0000 0x2000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ clock-names = "m-ahb", "s-ahb";
+ clocks = <&gcc GCC_QUPV3_WRAP_0_M_AHB_CLK>,
+ <&gcc GCC_QUPV3_WRAP_0_S_AHB_CLK>;
+ iommus = <&apps_smmu 0x5a3 0x0>;
+ qcom,iommu-dma-addr-pool = <0x40000000 0xc0000000>;
+ qcom,iommu-dma = "fastmap";
+ dma-coherent;
+ ranges;
+ status = "ok";
+
+ /* Debug UART Instance for RUMI platform */
+ qupv3_se2_2uart: qcom,qup_uart@988000 {
+ compatible = "qcom,geni-debug-uart";
+ reg = <0x988000 0x4000>;
+ reg-names = "se_phys";
+ clock-names = "se";
+ clocks = <&gcc GCC_QUPV3_WRAP0_S2_CLK>;
+ interconnect-names = "qup-core", "qup-config", "qup-memory";
+ interconnects =
+ <&aggre2_noc MASTER_QUP_0 &mc_virt SLAVE_EBI1>,
+ <&aggre2_noc MASTER_QUP_0 &mc_virt SLAVE_EBI1>,
+ <&aggre2_noc MASTER_QUP_0 &mc_virt SLAVE_EBI1>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se2_2uart_active>;
+ pinctrl-1 = <&qupv3_se2_2uart_sleep>;
+ interrupts = <GIC_SPI 603 IRQ_TYPE_LEVEL_HIGH>;
+ status = "disabled";
+ };
+
+ /*
+ * HS UART instances. HS UART usecases can be supported on these
+ * instances only.
+ */
+ qupv3_se6_4uart: qcom,qup_uart@998000 {
+ compatible = "qcom,msm-geni-serial-hs";
+ reg = <0x998000 0x4000>;
+ reg-names = "se_phys";
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP0_S6_CLK>;
+ interconnect-names = "qup-core", "qup-config", "qup-memory";
+ interconnects =
+ <&aggre2_noc MASTER_QUP_0 &mc_virt SLAVE_EBI1>,
+ <&aggre2_noc MASTER_QUP_0 &mc_virt SLAVE_EBI1>,
+ <&aggre2_noc MASTER_QUP_0 &mc_virt SLAVE_EBI1>;
+ pinctrl-names = "default", "active", "sleep";
+ pinctrl-0 = <&qupv3_se6_default_cts>,
+ <&qupv3_se6_default_rtsrx>, <&qupv3_se6_default_tx>;
+ pinctrl-1 = <&qupv3_se6_ctsrx>, <&qupv3_se6_rts>,
+ <&qupv3_se6_tx>;
+ pinctrl-2 = <&qupv3_se6_ctsrx>, <&qupv3_se6_rts>,
+ <&qupv3_se6_tx>;
+ interrupts-extended = <&intc GIC_SPI 607 IRQ_TYPE_LEVEL_HIGH>,
+ <&tlmm 19 GPIO_ACTIVE_HIGH>;
+ qcom,wakeup-byte = <0xFD>;
+ status = "disabled";
+ };
+
+ /* I2C */
+ qupv3_se0_i2c: i2c@980000 {
+ compatible = "qcom,i2c-geni";
+ reg = <0x980000 0x4000>;
+ interrupts = <GIC_SPI 601 IRQ_TYPE_LEVEL_HIGH>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP0_S0_CLK>;
+ interconnect-names = "qup-core", "qup-config", "qup-memory";
+ interconnects =
+ <&aggre2_noc MASTER_QUP_0 &mc_virt SLAVE_EBI1>,
+ <&aggre2_noc MASTER_QUP_0 &mc_virt SLAVE_EBI1>,
+ <&aggre2_noc MASTER_QUP_0 &mc_virt SLAVE_EBI1>;
+ dmas = <&gpi_dma0 0 0 3 64 0>,
+ <&gpi_dma0 1 0 3 64 0>;
+ dma-names = "tx", "rx";
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se0_i2c_active>;
+ pinctrl-1 = <&qupv3_se0_i2c_sleep>;
+ status = "disabled";
+ };
+
+ qupv3_se1_i2c: i2c@984000 {
+ compatible = "qcom,i2c-geni";
+ reg = <0x984000 0x4000>;
+ interrupts = <GIC_SPI 602 IRQ_TYPE_LEVEL_HIGH>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP0_S1_CLK>;
+ interconnect-names = "qup-core", "qup-config", "qup-memory";
+ interconnects =
+ <&aggre2_noc MASTER_QUP_0 &mc_virt SLAVE_EBI1>,
+ <&aggre2_noc MASTER_QUP_0 &mc_virt SLAVE_EBI1>,
+ <&aggre2_noc MASTER_QUP_0 &mc_virt SLAVE_EBI1>;
+ dmas = <&gpi_dma0 0 1 3 64 0>,
+ <&gpi_dma0 1 1 3 64 0>;
+ dma-names = "tx", "rx";
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se1_i2c_active>;
+ pinctrl-1 = <&qupv3_se1_i2c_sleep>;
+ status = "disabled";
+ };
+
+ qupv3_se2_i2c: i2c@988000 {
+ compatible = "qcom,i2c-geni";
+ reg = <0x988000 0x4000>;
+ interrupts = <GIC_SPI 603 IRQ_TYPE_LEVEL_HIGH>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP0_S2_CLK>;
+ interconnect-names = "qup-core", "qup-config", "qup-memory";
+ interconnects =
+ <&aggre2_noc MASTER_QUP_0 &mc_virt SLAVE_EBI1>,
+ <&aggre2_noc MASTER_QUP_0 &mc_virt SLAVE_EBI1>,
+ <&aggre2_noc MASTER_QUP_0 &mc_virt SLAVE_EBI1>;
+ dmas = <&gpi_dma0 0 2 3 64 0>,
+ <&gpi_dma0 1 2 3 64 0>;
+ dma-names = "tx", "rx";
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se2_i2c_active>;
+ pinctrl-1 = <&qupv3_se2_i2c_sleep>;
+ status = "disabled";
+ };
+
+ qupv3_se3_i2c: i2c@98c000 {
+ compatible = "qcom,i2c-geni";
+ reg = <0x98c000 0x4000>;
+ interrupts = <GIC_SPI 604 IRQ_TYPE_LEVEL_HIGH>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP0_S3_CLK>;
+ interconnect-names = "qup-core", "qup-config", "qup-memory";
+ interconnects =
+ <&aggre2_noc MASTER_QUP_0 &mc_virt SLAVE_EBI1>,
+ <&aggre2_noc MASTER_QUP_0 &mc_virt SLAVE_EBI1>,
+ <&aggre2_noc MASTER_QUP_0 &mc_virt SLAVE_EBI1>;
+ dmas = <&gpi_dma0 0 3 3 64 0>,
+ <&gpi_dma0 1 3 3 64 0>;
+ dma-names = "tx", "rx";
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se3_i2c_active>;
+ pinctrl-1 = <&qupv3_se3_i2c_sleep>;
+ status = "disabled";
+ };
+
+ qupv3_se4_i2c: i2c@990000 {
+ compatible = "qcom,i2c-geni";
+ reg = <0x990000 0x4000>;
+ interrupts = <GIC_SPI 605 IRQ_TYPE_LEVEL_HIGH>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP0_S4_CLK>;
+ interconnect-names = "qup-core", "qup-config", "qup-memory";
+ interconnects =
+ <&aggre2_noc MASTER_QUP_0 &mc_virt SLAVE_EBI1>,
+ <&aggre2_noc MASTER_QUP_0 &mc_virt SLAVE_EBI1>,
+ <&aggre2_noc MASTER_QUP_0 &mc_virt SLAVE_EBI1>;
+ dmas = <&gpi_dma0 0 4 3 64 0>,
+ <&gpi_dma0 1 4 3 64 0>;
+ dma-names = "tx", "rx";
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se4_i2c_active>;
+ pinctrl-1 = <&qupv3_se4_i2c_sleep>;
+ status = "disabled";
+ };
+
+ qupv3_se5_i2c: i2c@994000 {
+ compatible = "qcom,i2c-geni";
+ reg = <0x994000 0x4000>;
+ interrupts = <GIC_SPI 606 IRQ_TYPE_LEVEL_HIGH>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP0_S5_CLK>;
+ interconnect-names = "qup-core", "qup-config", "qup-memory";
+ interconnects =
+ <&aggre2_noc MASTER_QUP_0 &mc_virt SLAVE_EBI1>,
+ <&aggre2_noc MASTER_QUP_0 &mc_virt SLAVE_EBI1>,
+ <&aggre2_noc MASTER_QUP_0 &mc_virt SLAVE_EBI1>;
+ dmas = <&gpi_dma0 0 5 3 64 0>,
+ <&gpi_dma0 1 5 3 64 0>;
+ dma-names = "tx", "rx";
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se5_i2c_active>;
+ pinctrl-1 = <&qupv3_se5_i2c_sleep>;
+ status = "disabled";
+ };
+
+ qupv3_se6_i2c: i2c@998000 {
+ compatible = "qcom,i2c-geni";
+ reg = <0x998000 0x4000>;
+ interrupts = <GIC_SPI 607 IRQ_TYPE_LEVEL_HIGH>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP0_S6_CLK>;
+ interconnect-names = "qup-core", "qup-config", "qup-memory";
+ interconnects =
+ <&aggre2_noc MASTER_QUP_0 &mc_virt SLAVE_EBI1>,
+ <&aggre2_noc MASTER_QUP_0 &mc_virt SLAVE_EBI1>,
+ <&aggre2_noc MASTER_QUP_0 &mc_virt SLAVE_EBI1>;
+ dmas = <&gpi_dma0 0 6 3 64 0>,
+ <&gpi_dma0 1 6 3 64 0>;
+ dma-names = "tx", "rx";
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se6_i2c_active>;
+ pinctrl-1 = <&qupv3_se6_i2c_sleep>;
+ status = "disabled";
+ };
+
+ qupv3_se7_i2c: i2c@99c000 {
+ compatible = "qcom,i2c-geni";
+ reg = <0x99c000 0x4000>;
+ interrupts = <GIC_SPI 608 IRQ_TYPE_LEVEL_HIGH>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP0_S7_CLK>;
+ interconnect-names = "qup-core", "qup-config", "qup-memory";
+ interconnects =
+ <&aggre2_noc MASTER_QUP_0 &mc_virt SLAVE_EBI1>,
+ <&aggre2_noc MASTER_QUP_0 &mc_virt SLAVE_EBI1>,
+ <&aggre2_noc MASTER_QUP_0 &mc_virt SLAVE_EBI1>;
+ dmas = <&gpi_dma0 0 7 3 64 0>,
+ <&gpi_dma0 1 7 3 64 0>;
+ dma-names = "tx", "rx";
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se7_i2c_active>;
+ pinctrl-1 = <&qupv3_se7_i2c_sleep>;
+ status = "disabled";
+ };
+
+ /* SPI */
+ qupv3_se0_spi: spi@980000 {
+ compatible = "qcom,spi-geni";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0x980000 0x4000>;
+ reg-names = "se_phys";
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP0_S0_CLK>;
+ interconnect-names = "qup-core", "qup-config", "qup-memory";
+ interconnects =
+ <&aggre2_noc MASTER_QUP_0 &mc_virt SLAVE_EBI1>,
+ <&aggre2_noc MASTER_QUP_0 &mc_virt SLAVE_EBI1>,
+ <&aggre2_noc MASTER_QUP_0 &mc_virt SLAVE_EBI1>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se0_spi_active>;
+ pinctrl-1 = <&qupv3_se0_spi_sleep>;
+ interrupts = <GIC_SPI 601 IRQ_TYPE_LEVEL_HIGH>;
+ spi-max-frequency = <50000000>;
+ dmas = <&gpi_dma0 0 0 1 64 0>,
+ <&gpi_dma0 1 0 1 64 0>;
+ dma-names = "tx", "rx";
+ status = "disabled";
+ };
+
+ qupv3_se1_spi: spi@984000 {
+ compatible = "qcom,spi-geni";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0x984000 0x4000>;
+ reg-names = "se_phys";
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP0_S1_CLK>;
+ interconnect-names = "qup-core", "qup-config", "qup-memory";
+ interconnects =
+ <&aggre2_noc MASTER_QUP_0 &mc_virt SLAVE_EBI1>,
+ <&aggre2_noc MASTER_QUP_0 &mc_virt SLAVE_EBI1>,
+ <&aggre2_noc MASTER_QUP_0 &mc_virt SLAVE_EBI1>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se1_spi_active>;
+ pinctrl-1 = <&qupv3_se1_spi_sleep>;
+ interrupts = <GIC_SPI 602 IRQ_TYPE_LEVEL_HIGH>;
+ spi-max-frequency = <50000000>;
+ dmas = <&gpi_dma0 0 1 1 64 0>,
+ <&gpi_dma0 1 1 1 64 0>;
+ dma-names = "tx", "rx";
+ status = "disabled";
+ };
+
+ qupv3_se2_spi: spi@988000 {
+ compatible = "qcom,spi-geni";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0x988000 0x4000>;
+ reg-names = "se_phys";
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP0_S2_CLK>;
+ interconnect-names = "qup-core", "qup-config", "qup-memory";
+ interconnects =
+ <&aggre2_noc MASTER_QUP_0 &mc_virt SLAVE_EBI1>,
+ <&aggre2_noc MASTER_QUP_0 &mc_virt SLAVE_EBI1>,
+ <&aggre2_noc MASTER_QUP_0 &mc_virt SLAVE_EBI1>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se2_spi_active>;
+ pinctrl-1 = <&qupv3_se2_spi_sleep>;
+ interrupts = <GIC_SPI 603 IRQ_TYPE_LEVEL_HIGH>;
+ spi-max-frequency = <50000000>;
+ dmas = <&gpi_dma0 0 2 1 64 0>,
+ <&gpi_dma0 1 2 1 64 0>;
+ dma-names = "tx", "rx";
+ status = "disabled";
+ };
+
+ qupv3_se3_spi: spi@98c000 {
+ compatible = "qcom,spi-geni";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0x98c000 0x4000>;
+ reg-names = "se_phys";
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP0_S3_CLK>;
+ interconnect-names = "qup-core", "qup-config", "qup-memory";
+ interconnects =
+ <&aggre2_noc MASTER_QUP_0 &mc_virt SLAVE_EBI1>,
+ <&aggre2_noc MASTER_QUP_0 &mc_virt SLAVE_EBI1>,
+ <&aggre2_noc MASTER_QUP_0 &mc_virt SLAVE_EBI1>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se3_spi_active>;
+ pinctrl-1 = <&qupv3_se3_spi_sleep>;
+ interrupts = <GIC_SPI 604 IRQ_TYPE_LEVEL_HIGH>;
+ spi-max-frequency = <50000000>;
+ dmas = <&gpi_dma0 0 3 1 64 0>,
+ <&gpi_dma0 1 3 1 64 0>;
+ dma-names = "tx", "rx";
+ status = "disabled";
+ };
+
+ qupv3_se4_spi: spi@990000 {
+ compatible = "qcom,spi-geni";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0x990000 0x4000>;
+ reg-names = "se_phys";
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP0_S4_CLK>;
+ interconnect-names = "qup-core", "qup-config", "qup-memory";
+ interconnects =
+ <&aggre2_noc MASTER_QUP_0 &mc_virt SLAVE_EBI1>,
+ <&aggre2_noc MASTER_QUP_0 &mc_virt SLAVE_EBI1>,
+ <&aggre2_noc MASTER_QUP_0 &mc_virt SLAVE_EBI1>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se4_spi_active>;
+ pinctrl-1 = <&qupv3_se4_spi_sleep>;
+ interrupts = <GIC_SPI 605 IRQ_TYPE_LEVEL_HIGH>;
+ spi-max-frequency = <50000000>;
+ dmas = <&gpi_dma0 0 4 1 64 0>,
+ <&gpi_dma0 1 4 1 64 0>;
+ dma-names = "tx", "rx";
+ status = "disabled";
+ };
+
+ qupv3_se5_spi: spi@994000 {
+ compatible = "qcom,spi-geni";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0x994000 0x4000>;
+ reg-names = "se_phys";
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP0_S5_CLK>;
+ interconnect-names = "qup-core", "qup-config", "qup-memory";
+ interconnects =
+ <&aggre2_noc MASTER_QUP_0 &mc_virt SLAVE_EBI1>,
+ <&aggre2_noc MASTER_QUP_0 &mc_virt SLAVE_EBI1>,
+ <&aggre2_noc MASTER_QUP_0 &mc_virt SLAVE_EBI1>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se5_spi_active>;
+ pinctrl-1 = <&qupv3_se5_spi_sleep>;
+ interrupts = <GIC_SPI 606 IRQ_TYPE_LEVEL_HIGH>;
+ spi-max-frequency = <50000000>;
+ dmas = <&gpi_dma0 0 5 1 64 0>,
+ <&gpi_dma0 1 5 1 64 0>;
+ dma-names = "tx", "rx";
+ status = "disabled";
+ };
+
+ qupv3_se6_spi: spi@998000 {
+ compatible = "qcom,spi-geni";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0x998000 0x4000>;
+ reg-names = "se_phys";
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP0_S6_CLK>;
+ interconnect-names = "qup-core", "qup-config", "qup-memory";
+ interconnects =
+ <&aggre2_noc MASTER_QUP_0 &mc_virt SLAVE_EBI1>,
+ <&aggre2_noc MASTER_QUP_0 &mc_virt SLAVE_EBI1>,
+ <&aggre2_noc MASTER_QUP_0 &mc_virt SLAVE_EBI1>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se6_spi_active>;
+ pinctrl-1 = <&qupv3_se6_spi_sleep>;
+ interrupts = <GIC_SPI 607 IRQ_TYPE_LEVEL_HIGH>;
+ spi-max-frequency = <50000000>;
+ dmas = <&gpi_dma0 0 6 1 64 0>,
+ <&gpi_dma0 1 6 1 64 0>;
+ dma-names = "tx", "rx";
+ status = "disabled";
+ };
+
+ qupv3_se7_spi: spi@99c000 {
+ compatible = "qcom,spi-geni";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0x99c000 0x4000>;
+ reg-names = "se_phys";
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP0_S7_CLK>;
+ interconnect-names = "qup-core", "qup-config", "qup-memory";
+ interconnects =
+ <&aggre2_noc MASTER_QUP_0 &mc_virt SLAVE_EBI1>,
+ <&aggre2_noc MASTER_QUP_0 &mc_virt SLAVE_EBI1>,
+ <&aggre2_noc MASTER_QUP_0 &mc_virt SLAVE_EBI1>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se7_spi_active>;
+ pinctrl-1 = <&qupv3_se7_spi_sleep>;
+ interrupts = <GIC_SPI 608 IRQ_TYPE_LEVEL_HIGH>;
+ spi-max-frequency = <50000000>;
+ dmas = <&gpi_dma0 0 7 1 64 0>,
+ <&gpi_dma0 1 7 1 64 0>;
+ dma-names = "tx", "rx";
+ status = "disabled";
+ };
+ };
+
+ /* QUPv3_1 wrapper instance : South_1 QUP */
+ qupv3_1: qcom,qupv3_1_geni_se@ac0000 {
+ compatible = "qcom,geni-se-qup";
+ reg = <0xac0000 0x2000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ clock-names = "m-ahb", "s-ahb";
+ clocks = <&gcc GCC_QUPV3_WRAP_1_M_AHB_CLK>,
+ <&gcc GCC_QUPV3_WRAP_1_S_AHB_CLK>;
+ iommus = <&apps_smmu 0x43 0x0>;
+ qcom,iommu-dma-addr-pool = <0x40000000 0xc0000000>;
+ qcom,iommu-dma = "fastmap";
+ dma-coherent;
+ ranges;
+ status = "ok";
+
+ /* Debug UART Instance */
+ qupv3_se12_2uart: qcom,qup_uart@a90000 {
+ compatible = "qcom,geni-debug-uart";
+ reg = <0xa90000 0x4000>;
+ reg-names = "se_phys";
+ interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>;
+ clock-names = "se";
+ clocks = <&gcc GCC_QUPV3_WRAP1_S4_CLK>;
+ interconnect-names = "qup-core", "qup-config", "qup-memory";
+ interconnects =
+ <&aggre1_noc MASTER_QUP_1 &mc_virt SLAVE_EBI1>,
+ <&aggre1_noc MASTER_QUP_1 &mc_virt SLAVE_EBI1>,
+ <&aggre1_noc MASTER_QUP_1 &mc_virt SLAVE_EBI1>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se12_2uart_active>;
+ pinctrl-1 = <&qupv3_se12_2uart_sleep>;
+ status = "disabled";
+ };
+
+ /* I2C */
+ qupv3_se8_i2c: i2c@a80000 {
+ compatible = "qcom,i2c-geni";
+ reg = <0xa80000 0x4000>;
+ interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP1_S0_CLK>;
+ interconnect-names = "qup-core", "qup-config", "qup-memory";
+ interconnects =
+ <&aggre1_noc MASTER_QUP_1 &mc_virt SLAVE_EBI1>,
+ <&aggre1_noc MASTER_QUP_1 &mc_virt SLAVE_EBI1>,
+ <&aggre1_noc MASTER_QUP_1 &mc_virt SLAVE_EBI1>;
+ dmas = <&gpi_dma1 0 0 3 64 0>,
+ <&gpi_dma1 1 0 3 64 0>;
+ dma-names = "tx", "rx";
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se8_i2c_active>;
+ pinctrl-1 = <&qupv3_se8_i2c_sleep>;
+ status = "disabled";
+ };
+
+ qupv3_se9_i2c: i2c@a84000 {
+ compatible = "qcom,i2c-geni";
+ reg = <0xa84000 0x4000>;
+ interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP1_S1_CLK>;
+ interconnect-names = "qup-core", "qup-config", "qup-memory";
+ interconnects =
+ <&aggre1_noc MASTER_QUP_1 &mc_virt SLAVE_EBI1>,
+ <&aggre1_noc MASTER_QUP_1 &mc_virt SLAVE_EBI1>,
+ <&aggre1_noc MASTER_QUP_1 &mc_virt SLAVE_EBI1>;
+ dmas = <&gpi_dma1 0 1 3 64 0>,
+ <&gpi_dma1 1 1 3 64 0>;
+ dma-names = "tx", "rx";
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se9_i2c_active>;
+ pinctrl-1 = <&qupv3_se9_i2c_sleep>;
+ status = "disabled";
+ };
+
+ qupv3_se10_i2c: i2c@a88000 {
+ compatible = "qcom,i2c-geni";
+ reg = <0xa88000 0x4000>;
+ interrupts = <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP1_S2_CLK>;
+ interconnect-names = "qup-core", "qup-config", "qup-memory";
+ interconnects =
+ <&aggre1_noc MASTER_QUP_1 &mc_virt SLAVE_EBI1>,
+ <&aggre1_noc MASTER_QUP_1 &mc_virt SLAVE_EBI1>,
+ <&aggre1_noc MASTER_QUP_1 &mc_virt SLAVE_EBI1>;
+ dmas = <&gpi_dma1 0 2 3 64 0>,
+ <&gpi_dma1 1 2 3 64 0>;
+ dma-names = "tx", "rx";
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se10_i2c_active>;
+ pinctrl-1 = <&qupv3_se10_i2c_sleep>;
+ qcom,wrapper-core = <&qupv3_1>;
+ status = "disabled";
+ };
+
+ qupv3_se11_i2c: i2c@a8c000 {
+ compatible = "qcom,i2c-geni";
+ reg = <0xa8c000 0x4000>;
+ interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP1_S3_CLK>;
+ interconnect-names = "qup-core", "qup-config", "qup-memory";
+ interconnects =
+ <&aggre1_noc MASTER_QUP_1 &mc_virt SLAVE_EBI1>,
+ <&aggre1_noc MASTER_QUP_1 &mc_virt SLAVE_EBI1>,
+ <&aggre1_noc MASTER_QUP_1 &mc_virt SLAVE_EBI1>;
+ dmas = <&gpi_dma1 0 3 3 64 0>,
+ <&gpi_dma1 1 3 3 64 0>;
+ dma-names = "tx", "rx";
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se11_i2c_active>;
+ pinctrl-1 = <&qupv3_se11_i2c_sleep>;
+ status = "disabled";
+ };
+
+ qupv3_se12_i2c: i2c@a90000 {
+ compatible = "qcom,i2c-geni";
+ reg = <0xa90000 0x4000>;
+ interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP1_S4_CLK>;
+ interconnect-names = "qup-core", "qup-config", "qup-memory";
+ interconnects =
+ <&aggre1_noc MASTER_QUP_1 &mc_virt SLAVE_EBI1>,
+ <&aggre1_noc MASTER_QUP_1 &mc_virt SLAVE_EBI1>,
+ <&aggre1_noc MASTER_QUP_1 &mc_virt SLAVE_EBI1>;
+ dmas = <&gpi_dma1 0 4 3 64 0>,
+ <&gpi_dma1 1 4 3 64 0>;
+ dma-names = "tx", "rx";
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se12_i2c_active>;
+ pinctrl-1 = <&qupv3_se12_i2c_sleep>;
+ status = "disabled";
+ };
+
+ qupv3_se13_i2c: i2c@a94000 {
+ compatible = "qcom,i2c-geni";
+ reg = <0xa94000 0x4000>;
+ interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP1_S5_CLK>;
+ interconnect-names = "qup-core", "qup-config", "qup-memory";
+ interconnects =
+ <&aggre1_noc MASTER_QUP_1 &mc_virt SLAVE_EBI1>,
+ <&aggre1_noc MASTER_QUP_1 &mc_virt SLAVE_EBI1>,
+ <&aggre1_noc MASTER_QUP_1 &mc_virt SLAVE_EBI1>;
+ dmas = <&gpi_dma1 0 5 3 64 0>,
+ <&gpi_dma1 1 5 3 64 0>;
+ dma-names = "tx", "rx";
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se13_i2c_active>;
+ pinctrl-1 = <&qupv3_se13_i2c_sleep>;
+ status = "disabled";
+ };
+
+ /* SPI */
+ qupv3_se8_spi: spi@a80000 {
+ compatible = "qcom,spi-geni";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0xa80000 0x4000>;
+ reg-names = "se_phys";
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP1_S0_CLK>;
+ interconnect-names = "qup-core", "qup-config", "qup-memory";
+ interconnects =
+ <&aggre1_noc MASTER_QUP_1 &mc_virt SLAVE_EBI1>,
+ <&aggre1_noc MASTER_QUP_1 &mc_virt SLAVE_EBI1>,
+ <&aggre1_noc MASTER_QUP_1 &mc_virt SLAVE_EBI1>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se8_spi_active>;
+ pinctrl-1 = <&qupv3_se8_spi_active>;
+ interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>;
+ spi-max-frequency = <50000000>;
+ dmas = <&gpi_dma1 0 0 1 64 0>,
+ <&gpi_dma1 1 0 1 64 0>;
+ dma-names = "tx", "rx";
+ status = "disabled";
+ };
+
+ qupv3_se9_spi: spi@a84000 {
+ compatible = "qcom,spi-geni";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0xa84000 0x4000>;
+ reg-names = "se_phys";
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP1_S1_CLK>;
+ interconnect-names = "qup-core", "qup-config", "qup-memory";
+ interconnects =
+ <&aggre1_noc MASTER_QUP_1 &mc_virt SLAVE_EBI1>,
+ <&aggre1_noc MASTER_QUP_1 &mc_virt SLAVE_EBI1>,
+ <&aggre1_noc MASTER_QUP_1 &mc_virt SLAVE_EBI1>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se9_spi_active>;
+ pinctrl-1 = <&qupv3_se9_spi_sleep>;
+ interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>;
+ spi-max-frequency = <50000000>;
+ dmas = <&gpi_dma1 0 1 1 64 0>,
+ <&gpi_dma1 1 1 1 64 0>;
+ dma-names = "tx", "rx";
+ status = "disabled";
+ };
+
+ qupv3_se10_spi: spi@a88000 {
+ compatible = "qcom,spi-geni";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0xa88000 0x4000>;
+ reg-names = "se_phys";
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP1_S2_CLK>;
+ interconnect-names = "qup-core", "qup-config", "qup-memory";
+ interconnects =
+ <&aggre1_noc MASTER_QUP_1 &mc_virt SLAVE_EBI1>,
+ <&aggre1_noc MASTER_QUP_1 &mc_virt SLAVE_EBI1>,
+ <&aggre1_noc MASTER_QUP_1 &mc_virt SLAVE_EBI1>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se10_spi_active>;
+ pinctrl-1 = <&qupv3_se10_spi_sleep>;
+ interrupts = <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>;
+ spi-max-frequency = <50000000>;
+ dmas = <&gpi_dma1 0 2 1 64 0>,
+ <&gpi_dma1 1 2 1 64 0>;
+ dma-names = "tx", "rx";
+ status = "disabled";
+ };
+
+ qupv3_se11_spi: spi@a8c000 {
+ compatible = "qcom,spi-geni";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0xa8c000 0x4000>;
+ reg-names = "se_phys";
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP1_S3_CLK>;
+ interconnect-names = "qup-core", "qup-config", "qup-memory";
+ interconnects =
+ <&aggre1_noc MASTER_QUP_1 &mc_virt SLAVE_EBI1>,
+ <&aggre1_noc MASTER_QUP_1 &mc_virt SLAVE_EBI1>,
+ <&aggre1_noc MASTER_QUP_1 &mc_virt SLAVE_EBI1>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se11_spi_active>;
+ pinctrl-1 = <&qupv3_se11_spi_sleep>;
+ interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>;
+ spi-max-frequency = <50000000>;
+ dmas = <&gpi_dma1 0 3 1 64 0>,
+ <&gpi_dma1 1 3 1 64 0>;
+ dma-names = "tx", "rx";
+ status = "disabled";
+ };
+
+ qupv3_se12_spi: spi@a90000 {
+ compatible = "qcom,spi-geni";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0xa90000 0x4000>;
+ reg-names = "se_phys";
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP1_S4_CLK>;
+ interconnect-names = "qup-core", "qup-config", "qup-memory";
+ interconnects =
+ <&aggre1_noc MASTER_QUP_1 &mc_virt SLAVE_EBI1>,
+ <&aggre1_noc MASTER_QUP_1 &mc_virt SLAVE_EBI1>,
+ <&aggre1_noc MASTER_QUP_1 &mc_virt SLAVE_EBI1>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se12_spi_active>;
+ pinctrl-1 = <&qupv3_se12_spi_sleep>;
+ interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>;
+ spi-max-frequency = <50000000>;
+ dmas = <&gpi_dma1 0 4 1 64 0>,
+ <&gpi_dma1 1 4 1 64 0>;
+ dma-names = "tx", "rx";
+ status = "disabled";
+ };
+
+ qupv3_se13_spi: spi@a94000 {
+ compatible = "qcom,spi-geni";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0xa94000 0x4000>;
+ reg-names = "se_phys";
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP1_S5_CLK>;
+ interconnect-names = "qup-core", "qup-config", "qup-memory";
+ interconnects =
+ <&aggre1_noc MASTER_QUP_1 &mc_virt SLAVE_EBI1>,
+ <&aggre1_noc MASTER_QUP_1 &mc_virt SLAVE_EBI1>,
+ <&aggre1_noc MASTER_QUP_1 &mc_virt SLAVE_EBI1>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se13_spi_active>;
+ pinctrl-1 = <&qupv3_se13_spi_sleep>;
+ interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>;
+ spi-max-frequency = <50000000>;
+ dmas = <&gpi_dma1 0 5 1 64 0>,
+ <&gpi_dma1 1 5 1 64 0>;
+ dma-names = "tx", "rx";
+ status = "disabled";
+ };
+ };
+
+ /* QUPv3_2 wrapper instance : South_2 QUP */
+ qupv3_2: qcom,qupv3_2_geni_se@8c0000 {
+ compatible = "qcom,geni-se-qup";
+ reg = <0x8c0000 0x2000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ clock-names = "m-ahb", "s-ahb";
+ clocks = <&gcc GCC_QUPV3_WRAP_2_M_AHB_CLK>,
+ <&gcc GCC_QUPV3_WRAP_2_S_AHB_CLK>;
+ iommus = <&apps_smmu 0x63 0x0>;
+ qcom,iommu-dma-addr-pool = <0x40000000 0xc0000000>;
+ qcom,iommu-dma = "fastmap";
+ dma-coherent;
+ ranges;
+ status = "ok";
+
+ /*
+ * HS UART : Modem/Audio backup
+ */
+ qupv3_se17_4uart: qcom,qup_uart@88c000 {
+ compatible = "qcom,msm-geni-serial-hs";
+ reg = <0x88c000 0x4000>;
+ reg-names = "se_phys";
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP2_S3_CLK>;
+ interconnect-names = "qup-core", "qup-config", "qup-memory";
+ interconnects =
+ <&aggre1_noc MASTER_QUP_2 &mc_virt SLAVE_EBI1>,
+ <&aggre1_noc MASTER_QUP_2 &mc_virt SLAVE_EBI1>,
+ <&aggre1_noc MASTER_QUP_2 &mc_virt SLAVE_EBI1>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se17_ctsrx>, <&qupv3_se17_rts>,
+ <&qupv3_se17_tx>;
+ pinctrl-1 = <&qupv3_se17_ctsrx>, <&qupv3_se17_rts>,
+ <&qupv3_se17_tx>;
+ interrupts-extended = <&intc GIC_SPI 585 IRQ_TYPE_LEVEL_HIGH>,
+ <&tlmm 55 GPIO_ACTIVE_HIGH>;
+ qcom,wakeup-byte = <0xFD>;
+ status = "disabled";
+ };
+
+ /*
+ * HS UART : 2-wire Modem
+ */
+ qupv3_se18_2uart: qcom,qup_uart@890000 {
+ compatible = "qcom,msm-geni-serial-hs";
+ reg = <0x890000 0x4000>;
+ reg-names = "se_phys";
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP2_S4_CLK>;
+ interconnect-names = "qup-core", "qup-config", "qup-memory";
+ interconnects =
+ <&aggre1_noc MASTER_QUP_2 &mc_virt SLAVE_EBI1>,
+ <&aggre1_noc MASTER_QUP_2 &mc_virt SLAVE_EBI1>,
+ <&aggre1_noc MASTER_QUP_2 &mc_virt SLAVE_EBI1>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se18_rx>, <&qupv3_se18_tx>;
+ pinctrl-1 = <&qupv3_se18_rx>, <&qupv3_se18_tx>;
+ interrupts-extended = <&intc GIC_SPI 586 IRQ_TYPE_LEVEL_HIGH>,
+ <&tlmm 59 GPIO_ACTIVE_HIGH>;
+ qcom,wakeup-byte = <0xFD>;
+ status = "disabled";
+ };
+
+ /* I2C */
+ qupv3_se14_i2c: i2c@880000 {
+ compatible = "qcom,i2c-geni";
+ reg = <0x880000 0x4000>;
+ interrupts = <GIC_SPI 373 IRQ_TYPE_LEVEL_HIGH>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP2_S0_CLK>;
+ interconnect-names = "qup-core", "qup-config", "qup-memory";
+ interconnects =
+ <&aggre1_noc MASTER_QUP_2 &mc_virt SLAVE_EBI1>,
+ <&aggre1_noc MASTER_QUP_2 &mc_virt SLAVE_EBI1>,
+ <&aggre1_noc MASTER_QUP_2 &mc_virt SLAVE_EBI1>;
+ dmas = <&gpi_dma2 0 0 3 64 0>,
+ <&gpi_dma2 1 0 3 64 0>;
+ dma-names = "tx", "rx";
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se14_i2c_active>;
+ pinctrl-1 = <&qupv3_se14_i2c_sleep>;
+ status = "disabled";
+ };
+
+ qupv3_se15_i2c: i2c@884000 {
+ compatible = "qcom,i2c-geni";
+ reg = <0x884000 0x4000>;
+ interrupts = <GIC_SPI 583 IRQ_TYPE_LEVEL_HIGH>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP2_S1_CLK>;
+ interconnect-names = "qup-core", "qup-config", "qup-memory";
+ interconnects =
+ <&aggre1_noc MASTER_QUP_2 &mc_virt SLAVE_EBI1>,
+ <&aggre1_noc MASTER_QUP_2 &mc_virt SLAVE_EBI1>,
+ <&aggre1_noc MASTER_QUP_2 &mc_virt SLAVE_EBI1>;
+ dmas = <&gpi_dma2 0 1 3 64 0>,
+ <&gpi_dma2 1 1 3 64 0>;
+ dma-names = "tx", "rx";
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se15_i2c_active>;
+ pinctrl-1 = <&qupv3_se15_i2c_sleep>;
+ status = "ok";
+ };
+
+ qupv3_se16_i2c: i2c@888000 {
+ compatible = "qcom,i2c-geni";
+ reg = <0x888000 0x4000>;
+ interrupts = <GIC_SPI 584 IRQ_TYPE_LEVEL_HIGH>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP2_S2_CLK>;
+ interconnect-names = "qup-core", "qup-config", "qup-memory";
+ interconnects =
+ <&aggre1_noc MASTER_QUP_2 &mc_virt SLAVE_EBI1>,
+ <&aggre1_noc MASTER_QUP_2 &mc_virt SLAVE_EBI1>,
+ <&aggre1_noc MASTER_QUP_2 &mc_virt SLAVE_EBI1>;
+ dmas = <&gpi_dma2 0 2 3 64 0>,
+ <&gpi_dma2 1 2 3 64 0>;
+ dma-names = "tx", "rx";
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se16_i2c_active>;
+ pinctrl-1 = <&qupv3_se16_i2c_sleep>;
+ status = "disabled";
+ };
+
+ qupv3_se17_i2c: i2c@88c000 {
+ compatible = "qcom,i2c-geni";
+ reg = <0x88c000 0x4000>;
+ interrupts = <GIC_SPI 585 IRQ_TYPE_LEVEL_HIGH>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP2_S3_CLK>;
+ interconnect-names = "qup-core", "qup-config", "qup-memory";
+ interconnects =
+ <&aggre1_noc MASTER_QUP_2 &mc_virt SLAVE_EBI1>,
+ <&aggre1_noc MASTER_QUP_2 &mc_virt SLAVE_EBI1>,
+ <&aggre1_noc MASTER_QUP_2 &mc_virt SLAVE_EBI1>;
+ dmas = <&gpi_dma2 0 3 3 64 0>,
+ <&gpi_dma2 1 3 3 64 0>;
+ dma-names = "tx", "rx";
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se17_i2c_active>;
+ pinctrl-1 = <&qupv3_se17_i2c_sleep>;
+ status = "disabled";
+ };
+
+ qupv3_se18_i2c: i2c@890000 {
+ compatible = "qcom,i2c-geni";
+ reg = <0x890000 0x4000>;
+ interrupts = <GIC_SPI 586 IRQ_TYPE_LEVEL_HIGH>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP2_S4_CLK>;
+ interconnect-names = "qup-core", "qup-config", "qup-memory";
+ interconnects =
+ <&aggre1_noc MASTER_QUP_2 &mc_virt SLAVE_EBI1>,
+ <&aggre1_noc MASTER_QUP_2 &mc_virt SLAVE_EBI1>,
+ <&aggre1_noc MASTER_QUP_2 &mc_virt SLAVE_EBI1>;
+ dmas = <&gpi_dma2 0 4 3 64 0>,
+ <&gpi_dma2 1 4 3 64 0>;
+ dma-names = "tx", "rx";
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se18_i2c_active>;
+ pinctrl-1 = <&qupv3_se18_i2c_sleep>;
+ status = "disabled";
+ };
+
+ qupv3_se19_i2c: i2c@894000 {
+ compatible = "qcom,i2c-geni";
+ reg = <0x894000 0x4000>;
+ interrupts = <GIC_SPI 587 IRQ_TYPE_LEVEL_HIGH>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP2_S5_CLK>;
+ interconnect-names = "qup-core", "qup-config", "qup-memory";
+ interconnects =
+ <&aggre1_noc MASTER_QUP_2 &mc_virt SLAVE_EBI1>,
+ <&aggre1_noc MASTER_QUP_2 &mc_virt SLAVE_EBI1>,
+ <&aggre1_noc MASTER_QUP_2 &mc_virt SLAVE_EBI1>;
+ dmas = <&gpi_dma2 0 5 3 64 0>,
+ <&gpi_dma2 1 5 3 64 0>;
+ dma-names = "tx", "rx";
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se19_i2c_active>;
+ pinctrl-1 = <&qupv3_se19_i2c_sleep>;
+ status = "disabled";
+ };
+
+ /* SPI */
+ qupv3_se14_spi: spi@880000 {
+ compatible = "qcom,spi-geni";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0x880000 0x4000>;
+ reg-names = "se_phys";
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP2_S0_CLK>;
+ interconnect-names = "qup-core", "qup-config", "qup-memory";
+ interconnects =
+ <&aggre1_noc MASTER_QUP_2 &mc_virt SLAVE_EBI1>,
+ <&aggre1_noc MASTER_QUP_2 &mc_virt SLAVE_EBI1>,
+ <&aggre1_noc MASTER_QUP_2 &mc_virt SLAVE_EBI1>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se14_spi_active>;
+ pinctrl-1 = <&qupv3_se14_spi_sleep>;
+ interrupts = <GIC_SPI 373 IRQ_TYPE_LEVEL_HIGH>;
+ spi-max-frequency = <50000000>;
+ dmas = <&gpi_dma2 0 0 1 64 0>,
+ <&gpi_dma2 1 0 1 64 0>;
+ dma-names = "tx", "rx";
+ status = "disabled";
+ };
+
+ qupv3_se15_spi: spi@884000 {
+ compatible = "qcom,spi-geni";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0x884000 0x4000>;
+ reg-names = "se_phys";
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP2_S1_CLK>;
+ interconnect-names = "qup-core", "qup-config", "qup-memory";
+ interconnects =
+ <&aggre1_noc MASTER_QUP_2 &mc_virt SLAVE_EBI1>,
+ <&aggre1_noc MASTER_QUP_2 &mc_virt SLAVE_EBI1>,
+ <&aggre1_noc MASTER_QUP_2 &mc_virt SLAVE_EBI1>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se15_spi_active>;
+ pinctrl-1 = <&qupv3_se15_spi_sleep>;
+ interrupts = <GIC_SPI 583 IRQ_TYPE_LEVEL_HIGH>;
+ spi-max-frequency = <50000000>;
+ dmas = <&gpi_dma2 0 1 1 64 0>,
+ <&gpi_dma2 1 1 1 64 0>;
+ dma-names = "tx", "rx";
+ status = "disabled";
+ };
+
+ qupv3_se16_spi: spi@888000 {
+ compatible = "qcom,spi-geni";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0x888000 0x4000>;
+ reg-names = "se_phys";
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP2_S2_CLK>;
+ interconnect-names = "qup-core", "qup-config", "qup-memory";
+ interconnects =
+ <&aggre1_noc MASTER_QUP_2 &mc_virt SLAVE_EBI1>,
+ <&aggre1_noc MASTER_QUP_2 &mc_virt SLAVE_EBI1>,
+ <&aggre1_noc MASTER_QUP_2 &mc_virt SLAVE_EBI1>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se16_spi_active>;
+ pinctrl-1 = <&qupv3_se16_spi_sleep>;
+ interrupts = <GIC_SPI 584 IRQ_TYPE_LEVEL_HIGH>;
+ spi-max-frequency = <50000000>;
+ dmas = <&gpi_dma2 0 2 1 64 0>,
+ <&gpi_dma2 1 2 1 64 0>;
+ dma-names = "tx", "rx";
+ status = "disabled";
+ };
+
+ qupv3_se17_spi: spi@88c000 {
+ compatible = "qcom,spi-geni";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0x88c000 0x4000>;
+ reg-names = "se_phys";
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP2_S3_CLK>;
+ interconnect-names = "qup-core", "qup-config", "qup-memory";
+ interconnects =
+ <&aggre1_noc MASTER_QUP_2 &mc_virt SLAVE_EBI1>,
+ <&aggre1_noc MASTER_QUP_2 &mc_virt SLAVE_EBI1>,
+ <&aggre1_noc MASTER_QUP_2 &mc_virt SLAVE_EBI1>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se17_spi_active>;
+ pinctrl-1 = <&qupv3_se17_spi_sleep>;
+ interrupts = <GIC_SPI 585 IRQ_TYPE_LEVEL_HIGH>;
+ spi-max-frequency = <50000000>;
+ dmas = <&gpi_dma2 0 3 1 64 0>,
+ <&gpi_dma2 1 3 1 64 0>;
+ dma-names = "tx", "rx";
+ status = "disabled";
+ };
+
+ qupv3_se18_spi: spi@890000 {
+ compatible = "qcom,spi-geni";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0x890000 0x4000>;
+ reg-names = "se_phys";
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP2_S4_CLK>;
+ interconnect-names = "qup-core", "qup-config", "qup-memory";
+ interconnects =
+ <&aggre1_noc MASTER_QUP_2 &mc_virt SLAVE_EBI1>,
+ <&aggre1_noc MASTER_QUP_2 &mc_virt SLAVE_EBI1>,
+ <&aggre1_noc MASTER_QUP_2 &mc_virt SLAVE_EBI1>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se18_spi_active>;
+ pinctrl-1 = <&qupv3_se18_spi_sleep>;
+ interrupts = <GIC_SPI 586 IRQ_TYPE_LEVEL_HIGH>;
+ spi-max-frequency = <50000000>;
+ dmas = <&gpi_dma2 0 4 1 64 0>,
+ <&gpi_dma2 1 4 1 64 0>;
+ dma-names = "tx", "rx";
+ status = "disabled";
+ };
+
+ qupv3_se19_spi: spi@894000 {
+ compatible = "qcom,spi-geni";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0x894000 0x4000>;
+ reg-names = "se_phys";
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP2_S5_CLK>;
+ interconnect-names = "qup-core", "qup-config", "qup-memory";
+ interconnects =
+ <&aggre1_noc MASTER_QUP_2 &mc_virt SLAVE_EBI1>,
+ <&aggre1_noc MASTER_QUP_2 &mc_virt SLAVE_EBI1>,
+ <&aggre1_noc MASTER_QUP_2 &mc_virt SLAVE_EBI1>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se19_spi_active>;
+ pinctrl-1 = <&qupv3_se19_spi_sleep>;
+ interrupts = <GIC_SPI 587 IRQ_TYPE_LEVEL_HIGH>;
+ spi-max-frequency = <50000000>;
+ dmas = <&gpi_dma2 0 5 1 64 0>,
+ <&gpi_dma2 1 5 1 64 0>;
+ dma-names = "tx", "rx";
+ status = "disabled";
+ };
+ };
+};
diff --git a/qcom/kona-thermal.dtsi b/qcom/kona-thermal.dtsi
new file mode 100755
index 00000000..bf939ab6
--- /dev/null
+++ b/qcom/kona-thermal.dtsi
@@ -0,0 +1,1347 @@
+#include <dt-bindings/thermal/thermal.h>
+#include <dt-bindings/thermal/qmi_thermal.h>
+
+&cpufreq_hw {
+ qcom,cpu-isolation {
+ compatible = "qcom,cpu-isolate";
+ cpu0_isolate: cpu0-isolate {
+ qcom,cpu = <&CPU0>;
+ #cooling-cells = <2>;
+ };
+
+ cpu1_isolate: cpu1-isolate {
+ qcom,cpu = <&CPU1>;
+ #cooling-cells = <2>;
+ };
+
+ cpu2_isolate: cpu2-isolate {
+ qcom,cpu = <&CPU2>;
+ #cooling-cells = <2>;
+ };
+
+ cpu3_isolate: cpu3-isolate {
+ qcom,cpu = <&CPU3>;
+ #cooling-cells = <2>;
+ };
+
+ cpu4_isolate: cpu4-isolate {
+ qcom,cpu = <&CPU4>;
+ #cooling-cells = <2>;
+ };
+
+ cpu5_isolate: cpu5-isolate {
+ qcom,cpu = <&CPU5>;
+ #cooling-cells = <2>;
+ };
+
+ cpu6_isolate: cpu6-isolate {
+ qcom,cpu = <&CPU6>;
+ #cooling-cells = <2>;
+ };
+
+ cpu7_isolate: cpu7-isolate {
+ qcom,cpu = <&CPU7>;
+ #cooling-cells = <2>;
+ };
+ };
+
+ qcom,limits-dcvs {
+ compatible = "qcom,msm-hw-limits";
+ isens_vref_0p8-supply = <&pm8150_l5_ao>;
+ isens-vref-0p8-settings = <880000 880000 20000>;
+ isens_vref_1p8-supply = <&pm8150_l12_ao>;
+ isens-vref-1p8-settings = <1800000 1800000 20000>;
+ };
+};
+
+&soc {
+ qmi-tmd-devices {
+ compatible = "qcom,qmi-cooling-devices";
+
+ modem {
+ qcom,instance-id = <QMI_MODEM_NR_INST_ID>;
+
+ modem_pa: modem_pa {
+ qcom,qmi-dev-name = "pa";
+ #cooling-cells = <2>;
+ };
+
+ modem_pa_fr1: modem_pa_fr1 {
+ qcom,qmi-dev-name = "pa_fr1";
+ #cooling-cells = <2>;
+ };
+
+ modem_tj: modem_tj {
+ qcom,qmi-dev-name = "modem";
+ #cooling-cells = <2>;
+ };
+
+ modem_current: modem_current {
+ qcom,qmi-dev-name = "modem_current";
+ #cooling-cells = <2>;
+ };
+
+ modem_skin: modem_skin {
+ qcom,qmi-dev-name = "modem_skin";
+ #cooling-cells = <2>;
+ };
+
+ modem_mmw_skin0: modem_mmw_skin0 {
+ qcom,qmi-dev-name = "mmw_skin0";
+ #cooling-cells = <2>;
+ };
+
+ modem_mmw_skin1: modem_mmw_skin1 {
+ qcom,qmi-dev-name = "mmw_skin1";
+ #cooling-cells = <2>;
+ };
+
+ modem_mmw_skin2: modem_mmw_skin2 {
+ qcom,qmi-dev-name = "mmw_skin2";
+ #cooling-cells = <2>;
+ };
+
+ modem_mmw_skin3: modem_mmw_skin3 {
+ qcom,qmi-dev-name = "mmw_skin3";
+ #cooling-cells = <2>;
+ };
+
+ modem_mmw0: modem_mmw0 {
+ qcom,qmi-dev-name = "mmw0";
+ #cooling-cells = <2>;
+ };
+
+ modem_mmw1: modem_mmw1 {
+ qcom,qmi-dev-name = "mmw1";
+ #cooling-cells = <2>;
+ };
+
+ modem_mmw2: modem_mmw2 {
+ qcom,qmi-dev-name = "mmw2";
+ #cooling-cells = <2>;
+ };
+
+ modem_mmw3: modem_mmw3 {
+ qcom,qmi-dev-name = "mmw3";
+ #cooling-cells = <2>;
+ };
+
+ modem_bcl: modem_bcl {
+ qcom,qmi-dev-name = "vbatt_low";
+ #cooling-cells = <2>;
+ };
+
+ modem_charge_state: modem_charge_state {
+ qcom,qmi-dev-name = "charge_state";
+ #cooling-cells = <2>;
+ };
+ };
+ };
+
+ qmi_sensor: qmi-ts-sensors {
+ compatible = "qcom,qmi-sensors";
+ #thermal-sensor-cells = <1>;
+
+ modem {
+ qcom,instance-id = <QMI_MODEM_NR_INST_ID>;
+ qcom,qmi-sensor-names = "pa",
+ "pa_1",
+ "qfe_wtr0",
+ "modem_tsens",
+ "qfe_mmw0",
+ "qfe_mmw1",
+ "qfe_mmw2",
+ "qfe_mmw3",
+ "xo_therm",
+ "qfe_mmw_streamer0",
+ "qfe_mmw0_mod",
+ "qfe_mmw1_mod",
+ "qfe_mmw2_mod",
+ "qfe_mmw3_mod",
+ "qfe_ret_pa0",
+ "qfe_wtr_pa0",
+ "qfe_wtr_pa1",
+ "qfe_wtr_pa2",
+ "qfe_wtr_pa3",
+ "sys_therm1",
+ "sys_therm2",
+ "modem_tsens1";
+ };
+ };
+};
+
+&thermal_zones {
+ aoss0-usr {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-governor = "user_space";
+ thermal-sensors = <&tsens0 0>;
+ wake-capable-sensor;
+ trips {
+ active-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+
+ active-config1 {
+ temperature = <115000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ cpu-0-0-usr {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-governor = "user_space";
+ thermal-sensors = <&tsens0 1>;
+ wake-capable-sensor;
+ trips {
+ active-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+
+ active-config1 {
+ temperature = <115000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ cpu-0-1-usr {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-governor = "user_space";
+ thermal-sensors = <&tsens0 2>;
+ wake-capable-sensor;
+ trips {
+ active-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+
+ active-config1 {
+ temperature = <115000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ cpu-0-2-usr {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-governor = "user_space";
+ thermal-sensors = <&tsens0 3>;
+ wake-capable-sensor;
+ trips {
+ active-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+
+ active-config1 {
+ temperature = <115000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ cpu-0-3-usr {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-sensors = <&tsens0 4>;
+ thermal-governor = "user_space";
+ wake-capable-sensor;
+ trips {
+ active-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+
+ active-config1 {
+ temperature = <115000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ cpuss-0-usr {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-sensors = <&tsens0 5>;
+ thermal-governor = "user_space";
+ wake-capable-sensor;
+ trips {
+ active-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+
+ active-config1 {
+ temperature = <115000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ cpuss-1-usr {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-sensors = <&tsens0 6>;
+ thermal-governor = "user_space";
+ wake-capable-sensor;
+ trips {
+ active-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+
+ active-config1 {
+ temperature = <115000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ cpu-1-0-usr {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-sensors = <&tsens0 7>;
+ thermal-governor = "user_space";
+ wake-capable-sensor;
+ trips {
+ active-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+
+ active-config1 {
+ temperature = <115000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ cpu-1-1-usr {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-sensors = <&tsens0 8>;
+ thermal-governor = "user_space";
+ wake-capable-sensor;
+ trips {
+ active-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+
+ active-config1 {
+ temperature = <115000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ cpu-1-2-usr {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-sensors = <&tsens0 9>;
+ thermal-governor = "user_space";
+ wake-capable-sensor;
+ trips {
+ active-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+
+ active-config1 {
+ temperature = <115000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ cpu-1-3-usr {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-sensors = <&tsens0 10>;
+ thermal-governor = "user_space";
+ wake-capable-sensor;
+ trips {
+ active-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+
+ active-config1 {
+ temperature = <115000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ cpu-1-4-usr {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-sensors = <&tsens0 11>;
+ thermal-governor = "user_space";
+ wake-capable-sensor;
+ trips {
+ active-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+
+ active-config1 {
+ temperature = <115000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ cpu-1-5-usr {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-sensors = <&tsens0 12>;
+ thermal-governor = "user_space";
+ wake-capable-sensor;
+ trips {
+ active-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+
+ active-config1 {
+ temperature = <115000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ cpu-1-6-usr {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-sensors = <&tsens0 13>;
+ thermal-governor = "user_space";
+ wake-capable-sensor;
+ trips {
+ active-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+
+ active-config1 {
+ temperature = <115000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ cpu-1-7-usr {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-sensors = <&tsens0 14>;
+ thermal-governor = "user_space";
+ wake-capable-sensor;
+ trips {
+ active-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+
+ active-config1 {
+ temperature = <115000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ gpuss-0-usr {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-sensors = <&tsens0 15>;
+ thermal-governor = "user_space";
+ wake-capable-sensor;
+ trips {
+ active-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+
+ active-config1 {
+ temperature = <115000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ aoss-1-usr {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-sensors = <&tsens1 0>;
+ thermal-governor = "user_space";
+ wake-capable-sensor;
+ trips {
+ active-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+
+ active-config1 {
+ temperature = <115000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ cwlan-usr {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-sensors = <&tsens1 1>;
+ thermal-governor = "user_space";
+ wake-capable-sensor;
+ trips {
+ active-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+
+ active-config1 {
+ temperature = <115000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ video-usr {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-sensors = <&tsens1 2>;
+ thermal-governor = "user_space";
+ wake-capable-sensor;
+ trips {
+ active-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+
+ active-config1 {
+ temperature = <115000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ ddr-usr {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-sensors = <&tsens1 3>;
+ thermal-governor = "user_space";
+ wake-capable-sensor;
+ trips {
+ active-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+
+ active-config1 {
+ temperature = <115000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ q6-hvx-usr {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-sensors = <&tsens1 4>;
+ thermal-governor = "user_space";
+ wake-capable-sensor;
+ trips {
+ active-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+
+ active-config1 {
+ temperature = <115000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ camera-usr {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-sensors = <&tsens1 5>;
+ thermal-governor = "user_space";
+ wake-capable-sensor;
+ trips {
+ active-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+
+ active-config1 {
+ temperature = <115000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ cmpss-usr {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-sensors = <&tsens1 6>;
+ thermal-governor = "user_space";
+ wake-capable-sensor;
+ trips {
+ active-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+
+ active-config1 {
+ temperature = <115000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ npu-usr {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-sensors = <&tsens1 7>;
+ thermal-governor = "user_space";
+ wake-capable-sensor;
+ trips {
+ active-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+
+ active-config1 {
+ temperature = <115000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ gpuss-1-usr {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-governor = "user_space";
+ thermal-sensors = <&tsens1 8>;
+ wake-capable-sensor;
+ trips {
+ active-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+
+ active-config1 {
+ temperature = <115000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ apc-0-max-step {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-governor = "step_wise";
+ wake-capable-sensor;
+ trips {
+ silver-trip {
+ temperature = <120000>;
+ hysteresis = <0>;
+ type = "passive";
+ };
+ };
+ };
+
+ apc-1-max-step {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-governor = "step_wise";
+ wake-capable-sensor;
+ trips {
+ gold-trip {
+ temperature = <120000>;
+ hysteresis = <0>;
+ type = "passive";
+ };
+ };
+ };
+
+ pop-mem-step {
+ polling-delay-passive = <10>;
+ polling-delay = <0>;
+ thermal-sensors = <&tsens1 3>;
+ thermal-governor = "step_wise";
+ wake-capable-sensor;
+ trips {
+ pop_trip: pop-trip {
+ temperature = <95000>;
+ hysteresis = <0>;
+ type = "passive";
+ };
+ };
+
+ cooling-maps {
+ pop_cdev4 {
+ trip = <&pop_trip>;
+ cooling-device =
+ <&CPU4 THERMAL_NO_LIMIT
+ THERMAL_NO_LIMIT>;
+ };
+
+ };
+ };
+
+ cpu-0-0-step {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-governor = "step_wise";
+ thermal-sensors = <&tsens0 1>;
+ wake-capable-sensor;
+ trips {
+ cpu00_config: cpu00-config {
+ temperature = <110000>;
+ hysteresis = <10000>;
+ type = "passive";
+ };
+ };
+
+ cooling-maps {
+ cpu00_cdev {
+ trip = <&cpu00_config>;
+ cooling-device = <&cpu0_isolate 1 1>;
+ };
+ };
+ };
+
+ cpu-0-1-step {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-governor = "step_wise";
+ thermal-sensors = <&tsens0 2>;
+ wake-capable-sensor;
+ trips {
+ cpu01_config: cpu01-config {
+ temperature = <110000>;
+ hysteresis = <10000>;
+ type = "passive";
+ };
+ };
+
+ cooling-maps {
+ cpu01_cdev {
+ trip = <&cpu01_config>;
+ cooling-device = <&cpu1_isolate 1 1>;
+ };
+ };
+ };
+
+ cpu-0-2-step {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-governor = "step_wise";
+ thermal-sensors = <&tsens0 3>;
+ wake-capable-sensor;
+ trips {
+ cpu02_config: cpu02-config {
+ temperature = <110000>;
+ hysteresis = <10000>;
+ type = "passive";
+ };
+ };
+
+ };
+
+ cpu-0-3-step {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-sensors = <&tsens0 4>;
+ thermal-governor = "step_wise";
+ wake-capable-sensor;
+ trips {
+ cpu03_config: cpu03-config {
+ temperature = <110000>;
+ hysteresis = <10000>;
+ type = "passive";
+ };
+ };
+
+ };
+
+ cpu-1-0-step {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-sensors = <&tsens0 7>;
+ thermal-governor = "step_wise";
+ wake-capable-sensor;
+ trips {
+ cpufreq_10_config: cpufreq-10-config {
+ temperature = <75000>;
+ hysteresis = <5000>;
+ type = "passive";
+ };
+
+ cpu10_config: cpu10-config {
+ temperature = <110000>;
+ hysteresis = <10000>;
+ type = "passive";
+ };
+ };
+
+ cooling-maps {
+ cpufreq_cdev {
+ trip = <&cpufreq_10_config>;
+ cooling-device = <&cpu7_notify 1 1>;
+ };
+
+ cpu10_cdev {
+ trip = <&cpu10_config>;
+ cooling-device = <&cpu4_isolate 1 1>;
+ };
+ };
+ };
+
+ cpu-1-1-step {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-sensors = <&tsens0 8>;
+ thermal-governor = "step_wise";
+ wake-capable-sensor;
+ trips {
+ cpufreq_11_config: cpufreq-11-config {
+ temperature = <75000>;
+ hysteresis = <5000>;
+ type = "passive";
+ };
+
+ cpu11_config: cpu11-config {
+ temperature = <110000>;
+ hysteresis = <10000>;
+ type = "passive";
+ };
+ };
+
+ cooling-maps {
+ cpufreq_cdev {
+ trip = <&cpufreq_11_config>;
+ cooling-device = <&cpu7_notify 1 1>;
+ };
+
+ cpu11_cdev {
+ trip = <&cpu11_config>;
+ cooling-device = <&cpu5_isolate 1 1>;
+ };
+ };
+ };
+
+ cpu-1-2-step {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-sensors = <&tsens0 9>;
+ thermal-governor = "step_wise";
+ wake-capable-sensor;
+ trips {
+ cpufreq_12_config: cpufreq-12-config {
+ temperature = <75000>;
+ hysteresis = <5000>;
+ type = "passive";
+ };
+
+ cpu12_config: cpu12-config {
+ temperature = <110000>;
+ hysteresis = <10000>;
+ type = "passive";
+ };
+ };
+
+ cooling-maps {
+ cpufreq_cdev {
+ trip = <&cpufreq_12_config>;
+ cooling-device = <&cpu7_notify 1 1>;
+ };
+
+ cpu12_cdev {
+ trip = <&cpu12_config>;
+ cooling-device = <&cpu6_isolate 1 1>;
+ };
+ };
+ };
+
+ cpu-1-3-step {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-sensors = <&tsens0 10>;
+ thermal-governor = "step_wise";
+ wake-capable-sensor;
+ trips {
+ cpufreq_13_config: cpufreq-13-config {
+ temperature = <75000>;
+ hysteresis = <5000>;
+ type = "passive";
+ };
+
+ cpu13_config: cpu13-config {
+ temperature = <110000>;
+ hysteresis = <10000>;
+ type = "passive";
+ };
+ };
+
+ cooling-maps {
+ cpufreq_cdev {
+ trip = <&cpufreq_13_config>;
+ cooling-device = <&cpu7_notify 1 1>;
+ };
+
+ cpu13_cdev {
+ trip = <&cpu13_config>;
+ cooling-device = <&cpu7_isolate 1 1>;
+ };
+ };
+ };
+
+ cpu-1-4-step {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-sensors = <&tsens0 11>;
+ thermal-governor = "step_wise";
+ wake-capable-sensor;
+ trips {
+ cpufreq_14_config: cpufreq-14-config {
+ temperature = <75000>;
+ hysteresis = <5000>;
+ type = "passive";
+ };
+
+ cpu14_config: cpu14-config {
+ temperature = <110000>;
+ hysteresis = <10000>;
+ type = "passive";
+ };
+ };
+
+ cooling-maps {
+ cpufreq_cdev {
+ trip = <&cpufreq_14_config>;
+ cooling-device = <&cpu7_notify 1 1>;
+ };
+
+ cpu14_cdev {
+ trip = <&cpu14_config>;
+ cooling-device = <&cpu4_isolate 1 1>;
+ };
+ };
+ };
+
+ cpu-1-5-step {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-sensors = <&tsens0 12>;
+ thermal-governor = "step_wise";
+ wake-capable-sensor;
+ trips {
+ cpufreq_15_config: cpufreq-15-config {
+ temperature = <75000>;
+ hysteresis = <5000>;
+ type = "passive";
+ };
+
+ cpu15_config: cpu15-config {
+ temperature = <110000>;
+ hysteresis = <10000>;
+ type = "passive";
+ };
+ };
+
+ cooling-maps {
+ cpufreq_cdev {
+ trip = <&cpufreq_15_config>;
+ cooling-device = <&cpu7_notify 1 1>;
+ };
+
+ cpu15_cdev {
+ trip = <&cpu15_config>;
+ cooling-device = <&cpu5_isolate 1 1>;
+ };
+ };
+ };
+
+ cpu-1-6-step {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-sensors = <&tsens0 13>;
+ thermal-governor = "step_wise";
+ wake-capable-sensor;
+ trips {
+ cpufreq_16_config: cpufreq-16-config {
+ temperature = <75000>;
+ hysteresis = <5000>;
+ type = "passive";
+ };
+
+ cpu16_config: cpu16-config {
+ temperature = <110000>;
+ hysteresis = <10000>;
+ type = "passive";
+ };
+ };
+
+ cooling-maps {
+ cpufreq_cdev {
+ trip = <&cpufreq_16_config>;
+ cooling-device = <&cpu7_notify 1 1>;
+ };
+
+ cpu16_cdev {
+ trip = <&cpu16_config>;
+ cooling-device = <&cpu6_isolate 1 1>;
+ };
+ };
+ };
+
+ cpu-1-7-step {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-sensors = <&tsens0 14>;
+ thermal-governor = "step_wise";
+ wake-capable-sensor;
+ trips {
+ cpufreq_17_config: cpufreq-17-config {
+ temperature = <75000>;
+ hysteresis = <5000>;
+ type = "passive";
+ };
+
+ cpu17_config: cpu17-config {
+ temperature = <110000>;
+ hysteresis = <10000>;
+ type = "passive";
+ };
+ };
+
+ cooling-maps {
+ cpufreq_cdev {
+ trip = <&cpufreq_17_config>;
+ cooling-device = <&cpu7_notify 1 1>;
+ };
+
+ cpu17_cdev {
+ trip = <&cpu17_config>;
+ cooling-device = <&cpu7_isolate 1 1>;
+ };
+ };
+ };
+
+ modem-lte-sub6-pa1 {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-governor = "user_space";
+ thermal-sensors = <&qmi_sensor
+ (QMI_MODEM_NR_INST_ID+QMI_PA)>;
+ wake-capable-sensor;
+ trips {
+ active-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ modem-lte-sub6-pa2 {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-governor = "user_space";
+ thermal-sensors = <&qmi_sensor
+ (QMI_MODEM_NR_INST_ID+QMI_PA_1)>;
+ wake-capable-sensor;
+ trips {
+ active-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ modem-mmw0-usr {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-governor = "user_space";
+ thermal-sensors = <&qmi_sensor
+ (QMI_MODEM_NR_INST_ID+QMI_QFE_MMW_0)>;
+ wake-capable-sensor;
+ trips {
+ active-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ modem-mmw1-usr {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-governor = "user_space";
+ thermal-sensors = <&qmi_sensor
+ (QMI_MODEM_NR_INST_ID+QMI_QFE_MMW_1)>;
+ wake-capable-sensor;
+ trips {
+ active-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ modem-mmw2-usr {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-governor = "user_space";
+ thermal-sensors = <&qmi_sensor
+ (QMI_MODEM_NR_INST_ID+QMI_QFE_MMW_2)>;
+ wake-capable-sensor;
+ trips {
+ active-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ modem-mmw3-usr {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-governor = "user_space";
+ thermal-sensors = <&qmi_sensor
+ (QMI_MODEM_NR_INST_ID+QMI_QFE_MMW_3)>;
+ wake-capable-sensor;
+ trips {
+ active-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ modem-skin-usr {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-governor = "user_space";
+ thermal-sensors = <&qmi_sensor
+ (QMI_MODEM_NR_INST_ID+QMI_XO_THERM)>;
+ wake-capable-sensor;
+ trips {
+ active-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ modem-wifi-usr {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-governor = "user_space";
+ thermal-sensors = <&qmi_sensor
+ (QMI_MODEM_NR_INST_ID+QMI_SYS_THERM_1)>;
+ wake-capable-sensor;
+ trips {
+ active-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ modem-ambient-usr {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-governor = "user_space";
+ thermal-sensors = <&qmi_sensor
+ (QMI_MODEM_NR_INST_ID+QMI_SYS_THERM_2)>;
+ wake-capable-sensor;
+ trips {
+ active-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ modem-0-usr {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-governor = "user_space";
+ thermal-sensors = <&qmi_sensor
+ (QMI_MODEM_NR_INST_ID+QMI_MODEM_TSENS)>;
+ wake-capable-sensor;
+ trips {
+ active-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ modem-1-usr {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-governor = "user_space";
+ thermal-sensors = <&qmi_sensor
+ (QMI_MODEM_NR_INST_ID+QMI_MODEM_TSENS_1)>;
+ wake-capable-sensor;
+ trips {
+ active-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ modem-streamer-usr {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-governor = "user_space";
+ thermal-sensors = <&qmi_sensor
+ (QMI_MODEM_NR_INST_ID+QMI_QFE_MMW_STREAMER_0)>;
+ wake-capable-sensor;
+ trips {
+ active-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ modem-mmw0-mod-usr {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-governor = "user_space";
+ thermal-sensors = <&qmi_sensor
+ (QMI_MODEM_NR_INST_ID+QMI_QFE_MMW_0_MOD)>;
+ wake-capable-sensor;
+ trips {
+ active-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ modem-mmw1-mod-usr {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-governor = "user_space";
+ thermal-sensors = <&qmi_sensor
+ (QMI_MODEM_NR_INST_ID+QMI_QFE_MMW_1_MOD)>;
+ wake-capable-sensor;
+ trips {
+ active-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ modem-mmw2-mod-usr {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-governor = "user_space";
+ thermal-sensors = <&qmi_sensor
+ (QMI_MODEM_NR_INST_ID+QMI_QFE_MMW_2_MOD)>;
+ wake-capable-sensor;
+ trips {
+ active-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ modem-mmw3-mod-usr {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-governor = "user_space";
+ thermal-sensors = <&qmi_sensor
+ (QMI_MODEM_NR_INST_ID+QMI_QFE_MMW_3_MOD)>;
+ wake-capable-sensor;
+ trips {
+ active-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+};
diff --git a/qcom/kona-usb.dtsi b/qcom/kona-usb.dtsi
new file mode 100755
index 00000000..5c1c82a8
--- /dev/null
+++ b/qcom/kona-usb.dtsi
@@ -0,0 +1,553 @@
+#include <dt-bindings/clock/qcom,gcc-sm8250.h>
+#include <dt-bindings/phy/qcom,kona-qmp-usb3.h>
+
+&soc {
+ /* Primary USB port related controller */
+ usb0: ssusb@a600000 {
+ compatible = "qcom,dwc-usb3-msm";
+ reg = <0x0a600000 0x100000>;
+ reg-names = "core_base";
+
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+
+ interrupts-extended = <&pdc 14 IRQ_TYPE_EDGE_RISING>,
+ <&intc GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>,
+ <&pdc 17 IRQ_TYPE_LEVEL_HIGH>,
+ <&pdc 15 IRQ_TYPE_EDGE_RISING>;
+ interrupt-names = "dp_hs_phy_irq", "pwr_event_irq",
+ "ss_phy_irq", "dm_hs_phy_irq";
+ qcom,use-pdc-interrupts;
+
+ USB3_GDSC-supply = <&usb30_prim_gdsc>;
+ dpdm-supply = <&usb2_phy0>;
+ clocks = <&gcc GCC_USB30_PRIM_MASTER_CLK>,
+ <&gcc GCC_CFG_NOC_USB3_PRIM_AXI_CLK>,
+ <&gcc GCC_AGGRE_USB3_PRIM_AXI_CLK>,
+ <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>,
+ <&gcc GCC_USB30_PRIM_SLEEP_CLK>,
+ /*
+ * GCC_USB3_SEC_CLKREF_EN provides ref_clk for both
+ * USB instances.
+ */
+ <&gcc GCC_USB3_SEC_CLKREF_EN>;
+ clock-names = "core_clk", "iface_clk", "bus_aggr_clk",
+ "utmi_clk", "sleep_clk", "xo";
+
+ resets = <&gcc GCC_USB30_PRIM_BCR>;
+ reset-names = "core_reset";
+
+ qcom,core-clk-rate = <200000000>;
+ qcom,core-clk-rate-hs = <66666667>;
+ qcom,num-gsi-evt-buffs = <0x3>;
+ qcom,gsi-reg-offset =
+ <0x0fc /* GSI_GENERAL_CFG */
+ 0x110 /* GSI_DBL_ADDR_L */
+ 0x120 /* GSI_DBL_ADDR_H */
+ 0x130 /* GSI_RING_BASE_ADDR_L */
+ 0x144 /* GSI_RING_BASE_ADDR_H */
+ 0x1a4>; /* GSI_IF_STS */
+
+ interconnect-names = "usb-ddr", "usb-ipa", "ddr-usb";
+ interconnects = <&aggre1_noc MASTER_USB3_0 &mc_virt SLAVE_EBI1>,
+ <&aggre1_noc MASTER_USB3_0 &config_noc SLAVE_IPA_CFG>,
+ <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_USB3_0>;
+ dwc3@a600000 {
+ compatible = "snps,dwc3";
+ reg = <0x0a600000 0xd93c>;
+ iommus = <&apps_smmu 0x0 0x0>;
+ qcom,iommu-dma = "atomic";
+ qcom,iommu-dma-addr-pool = <0x90000000 0x60000000>;
+
+ interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
+ usb-phy = <&usb2_phy0>, <&usb_qmp_dp_phy>;
+ snps,has-lpm-erratum;
+ snps,hird-threshold = /bits/ 8 <0x10>;
+ snps,usb3_lpm_capable;
+ snps,dis-u1-entry-quirk;
+ snps,dis-u2-entry-quirk;
+ snps,dis_u2_susphy_quirk;
+ tx-fifo-resize;
+ maximum-speed = "super-speed-plus";
+ dr_mode = "otg";
+ usb-role-switch;
+ };
+
+ qcom,usbbam@a704000 {
+ compatible = "qcom,usb-bam-msm";
+ reg = <0xa704000 0x17000>;
+ interrupts = <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>;
+
+ qcom,usb-bam-fifo-baseaddr = <0x146bb000>;
+ qcom,usb-bam-num-pipes = <4>;
+ qcom,disable-clk-gating;
+ qcom,usb-bam-override-threshold = <0x4001>;
+ qcom,usb-bam-max-mbps-highspeed = <400>;
+ qcom,usb-bam-max-mbps-superspeed = <3600>;
+ qcom,reset-bam-on-connect;
+
+ qcom,pipe0 {
+ label = "ssusb-qdss-in-0";
+ qcom,usb-bam-mem-type = <2>;
+ qcom,dir = <1>;
+ qcom,pipe-num = <0>;
+ qcom,peer-bam = <0>;
+ qcom,peer-bam-physical-address = <0x6064000>;
+ qcom,src-bam-pipe-index = <0>;
+ qcom,dst-bam-pipe-index = <0>;
+ qcom,data-fifo-offset = <0x0>;
+ qcom,data-fifo-size = <0x1800>;
+ qcom,descriptor-fifo-offset = <0x1800>;
+ qcom,descriptor-fifo-size = <0x800>;
+ };
+ };
+ };
+
+ /* Primary USB port related High Speed PHY */
+ usb2_phy0: hsphy@88e3000 {
+ compatible = "qcom,usb-hsphy-snps-femto";
+ reg = <0x88e3000 0x110>,
+ <0x088e2000 0x4>;
+ reg-names = "hsusb_phy_base",
+ "eud_enable_reg";
+
+ vdd-supply = <&pm8150_l5>;
+ vdda18-supply = <&pm8150_l12>;
+ vdda33-supply = <&pm8150_l2>;
+ qcom,vdd-voltage-level = <0 880000 880000>;
+
+ clocks = <&rpmhcc RPMH_CXO_CLK>;
+ clock-names = "ref_clk_src";
+
+ resets = <&gcc GCC_QUSB2PHY_PRIM_BCR>;
+ reset-names = "phy_reset";
+ qcom,param-override-seq = <0x43 0x70>;
+ };
+
+ /* Primary USB port related QMP USB DP Combo PHY */
+ usb_qmp_dp_phy: ssphy@88e8000 {
+ compatible = "qcom,usb-ssphy-qmp-dp-combo";
+ reg = <0x88e8000 0x3000>;
+ reg-names = "qmp_phy_base";
+
+ vdd-supply = <&pm8150_l18>;
+ qcom,vdd-voltage-level = <0 912000 912000>;
+ qcom,vdd-max-load-uA = <47000>;
+ core-supply = <&pm8150_l9>;
+ qcom,qmp-phy-init-seq =
+ /* <reg_offset, value, delay> */
+ <USB3_DP_QSERDES_COM_SSC_EN_CENTER 0x01
+ USB3_DP_QSERDES_COM_SSC_PER1 0x31
+ USB3_DP_QSERDES_COM_SSC_PER2 0x01
+ USB3_DP_QSERDES_COM_SSC_STEP_SIZE1_MODE0 0xDE
+ USB3_DP_QSERDES_COM_SSC_STEP_SIZE2_MODE0 0x07
+ USB3_DP_QSERDES_COM_SSC_STEP_SIZE1_MODE1 0xDE
+ USB3_DP_QSERDES_COM_SSC_STEP_SIZE2_MODE1 0x07
+ USB3_DP_QSERDES_COM_SYSCLK_BUF_ENABLE 0x0A
+ USB3_DP_QSERDES_COM_CMN_IPTRIM 0x20
+ USB3_DP_QSERDES_COM_CP_CTRL_MODE0 0x06
+ USB3_DP_QSERDES_COM_CP_CTRL_MODE1 0x06
+ USB3_DP_QSERDES_COM_PLL_RCTRL_MODE0 0x16
+ USB3_DP_QSERDES_COM_PLL_RCTRL_MODE1 0x16
+ USB3_DP_QSERDES_COM_PLL_CCTRL_MODE0 0x36
+ USB3_DP_QSERDES_COM_PLL_CCTRL_MODE1 0x36
+ USB3_DP_QSERDES_COM_SYSCLK_EN_SEL 0x1A
+ USB3_DP_QSERDES_COM_LOCK_CMP_EN 0x04
+ USB3_DP_QSERDES_COM_LOCK_CMP1_MODE0 0x14
+ USB3_DP_QSERDES_COM_LOCK_CMP2_MODE0 0x34
+ USB3_DP_QSERDES_COM_LOCK_CMP1_MODE1 0x34
+ USB3_DP_QSERDES_COM_LOCK_CMP2_MODE1 0x82
+ USB3_DP_QSERDES_COM_DEC_START_MODE0 0x82
+ USB3_DP_QSERDES_COM_DEC_START_MODE1 0x82
+ USB3_DP_QSERDES_COM_DIV_FRAC_START1_MODE0 0xAB
+ USB3_DP_QSERDES_COM_DIV_FRAC_START2_MODE0 0xEA
+ USB3_DP_QSERDES_COM_DIV_FRAC_START3_MODE0 0x02
+ USB3_DP_QSERDES_COM_DIV_FRAC_START1_MODE1 0xAB
+ USB3_DP_QSERDES_COM_DIV_FRAC_START2_MODE1 0xEA
+ USB3_DP_QSERDES_COM_DIV_FRAC_START3_MODE1 0x02
+ USB3_DP_QSERDES_COM_VCO_TUNE_MAP 0x02
+ USB3_DP_QSERDES_COM_VCO_TUNE1_MODE0 0x24
+ USB3_DP_QSERDES_COM_VCO_TUNE1_MODE1 0x24
+ USB3_DP_QSERDES_COM_VCO_TUNE2_MODE1 0x02
+ USB3_DP_QSERDES_COM_HSCLK_SEL 0x01
+ USB3_DP_QSERDES_COM_CORECLK_DIV_MODE1 0x08
+ USB3_DP_QSERDES_COM_BIN_VCOCAL_CMP_CODE1_MODE0 0xCA
+ USB3_DP_QSERDES_COM_BIN_VCOCAL_CMP_CODE2_MODE0 0x1E
+ USB3_DP_QSERDES_COM_BIN_VCOCAL_CMP_CODE1_MODE1 0xCA
+ USB3_DP_QSERDES_COM_BIN_VCOCAL_CMP_CODE2_MODE1 0x1E
+ USB3_DP_QSERDES_COM_BIN_VCOCAL_HSCLK_SEL 0x11
+ USB3_DP_QSERDES_TXA_RES_CODE_LANE_TX 0x60
+ USB3_DP_QSERDES_TXA_RES_CODE_LANE_RX 0x60
+ USB3_DP_QSERDES_TXA_RES_CODE_LANE_OFFSET_TX 0x11
+ USB3_DP_QSERDES_TXA_RES_CODE_LANE_OFFSET_RX 0x02
+ USB3_DP_QSERDES_TXA_LANE_MODE_1 0xD5
+ USB3_DP_QSERDES_TXA_LANE_MODE_2 0x00
+ USB3_DP_QSERDES_TXA_RCV_DETECT_LVL_2 0x12
+ USB3_DP_QSERDES_TXA_PI_QEC_CTRL 0x40
+ USB3_DP_QSERDES_RXA_UCDR_FO_GAIN 0x09
+ USB3_DP_QSERDES_RXA_UCDR_SO_GAIN 0x05
+ USB3_DP_QSERDES_RXA_UCDR_FASTLOCK_FO_GAIN 0x2F
+ USB3_DP_QSERDES_RXA_UCDR_SO_SATURATION_AND_ENABLE 0x7F
+ USB3_DP_QSERDES_RXA_UCDR_FASTLOCK_COUNT_LOW 0xFF
+ USB3_DP_QSERDES_RXA_UCDR_FASTLOCK_COUNT_HIGH 0x0F
+ USB3_DP_QSERDES_RXA_UCDR_PI_CONTROLS 0x99
+ USB3_DP_QSERDES_RXA_UCDR_SB2_THRESH1 0x08
+ USB3_DP_QSERDES_RXA_UCDR_SB2_THRESH2 0x08
+ USB3_DP_QSERDES_RXA_UCDR_SB2_GAIN1 0x00
+ USB3_DP_QSERDES_RXA_UCDR_SB2_GAIN2 0x04
+ USB3_DP_QSERDES_RXA_VGA_CAL_CNTRL1 0x54
+ USB3_DP_QSERDES_RXA_VGA_CAL_CNTRL2 0x0C
+ USB3_DP_QSERDES_RXA_RX_EQU_ADAPTOR_CNTRL2 0x0F
+ USB3_DP_QSERDES_RXA_RX_EQU_ADAPTOR_CNTRL3 0x4A
+ USB3_DP_QSERDES_RXA_RX_EQU_ADAPTOR_CNTRL4 0x0A
+ USB3_DP_QSERDES_RXA_RX_IDAC_TSETTLE_LOW 0xC0
+ USB3_DP_QSERDES_RXA_RX_IDAC_TSETTLE_HIGH 0x00
+ USB3_DP_QSERDES_RXA_RX_EQ_OFFSET_ADAPTOR_CNTRL1 0x77
+ USB3_DP_QSERDES_RXA_SIGDET_CNTRL 0x04
+ USB3_DP_QSERDES_RXA_SIGDET_DEGLITCH_CNTRL 0x0E
+ USB3_DP_QSERDES_RXA_RX_MODE_00_LOW 0xFF
+ USB3_DP_QSERDES_RXA_RX_MODE_00_HIGH 0x7F
+ USB3_DP_QSERDES_RXA_RX_MODE_00_HIGH2 0x7F
+ USB3_DP_QSERDES_RXA_RX_MODE_00_HIGH3 0x7F
+ USB3_DP_QSERDES_RXA_RX_MODE_00_HIGH4 0x97
+ USB3_DP_QSERDES_RXA_RX_MODE_01_LOW 0xDC
+ USB3_DP_QSERDES_RXA_RX_MODE_01_HIGH 0xDC
+ USB3_DP_QSERDES_RXA_RX_MODE_01_HIGH2 0x5C
+ USB3_DP_QSERDES_RXA_RX_MODE_01_HIGH3 0x7B
+ USB3_DP_QSERDES_RXA_RX_MODE_01_HIGH4 0xB4
+ USB3_DP_QSERDES_RXA_DFE_EN_TIMER 0x04
+ USB3_DP_QSERDES_RXA_DFE_CTLE_POST_CAL_OFFSET 0x38
+ USB3_DP_QSERDES_RXA_AUX_DATA_TCOARSE_TFINE 0xA0
+ USB3_DP_QSERDES_RXA_DCC_CTRL1 0x0C
+ USB3_DP_QSERDES_RXA_GM_CAL 0x1F
+ USB3_DP_QSERDES_RXA_VTH_CODE 0x10
+ USB3_DP_QSERDES_TXB_RES_CODE_LANE_TX 0x60
+ USB3_DP_QSERDES_TXB_RES_CODE_LANE_RX 0x60
+ USB3_DP_QSERDES_TXB_RES_CODE_LANE_OFFSET_TX 0x11
+ USB3_DP_QSERDES_TXB_RES_CODE_LANE_OFFSET_RX 0x02
+ USB3_DP_QSERDES_TXB_LANE_MODE_1 0xD5
+ USB3_DP_QSERDES_TXB_LANE_MODE_2 0x00
+ USB3_DP_QSERDES_TXB_RCV_DETECT_LVL_2 0x12
+ USB3_DP_QSERDES_TXB_PI_QEC_CTRL 0x54
+ USB3_DP_QSERDES_RXB_UCDR_FO_GAIN 0x09
+ USB3_DP_QSERDES_RXB_UCDR_SO_GAIN 0x05
+ USB3_DP_QSERDES_RXB_UCDR_FASTLOCK_FO_GAIN 0x2F
+ USB3_DP_QSERDES_RXB_UCDR_SO_SATURATION_AND_ENABLE 0x7F
+ USB3_DP_QSERDES_RXB_UCDR_FASTLOCK_COUNT_LOW 0xFF
+ USB3_DP_QSERDES_RXB_UCDR_FASTLOCK_COUNT_HIGH 0x0F
+ USB3_DP_QSERDES_RXB_UCDR_PI_CONTROLS 0x99
+ USB3_DP_QSERDES_RXB_UCDR_SB2_THRESH1 0x08
+ USB3_DP_QSERDES_RXB_UCDR_SB2_THRESH2 0x08
+ USB3_DP_QSERDES_RXB_UCDR_SB2_GAIN1 0x00
+ USB3_DP_QSERDES_RXB_UCDR_SB2_GAIN2 0x04
+ USB3_DP_QSERDES_RXB_VGA_CAL_CNTRL1 0x54
+ USB3_DP_QSERDES_RXB_VGA_CAL_CNTRL2 0x0C
+ USB3_DP_QSERDES_RXB_RX_EQU_ADAPTOR_CNTRL2 0x0F
+ USB3_DP_QSERDES_RXB_RX_EQU_ADAPTOR_CNTRL3 0x4A
+ USB3_DP_QSERDES_RXB_RX_EQU_ADAPTOR_CNTRL4 0x0A
+ USB3_DP_QSERDES_RXB_RX_IDAC_TSETTLE_LOW 0xC0
+ USB3_DP_QSERDES_RXB_RX_IDAC_TSETTLE_HIGH 0x00
+ USB3_DP_QSERDES_RXB_RX_EQ_OFFSET_ADAPTOR_CNTRL1 0x77
+ USB3_DP_QSERDES_RXB_SIGDET_CNTRL 0x04
+ USB3_DP_QSERDES_RXB_SIGDET_DEGLITCH_CNTRL 0x0E
+ USB3_DP_QSERDES_RXB_RX_MODE_00_LOW 0x7F
+ USB3_DP_QSERDES_RXB_RX_MODE_00_HIGH 0xFF
+ USB3_DP_QSERDES_RXB_RX_MODE_00_HIGH2 0x3F
+ USB3_DP_QSERDES_RXB_RX_MODE_00_HIGH3 0x7F
+ USB3_DP_QSERDES_RXB_RX_MODE_00_HIGH4 0xA6
+ USB3_DP_QSERDES_RXB_RX_MODE_01_LOW 0xDC
+ USB3_DP_QSERDES_RXB_RX_MODE_01_HIGH 0xDC
+ USB3_DP_QSERDES_RXB_RX_MODE_01_HIGH2 0x5C
+ USB3_DP_QSERDES_RXB_RX_MODE_01_HIGH3 0x7B
+ USB3_DP_QSERDES_RXB_RX_MODE_01_HIGH4 0xB4
+ USB3_DP_QSERDES_RXB_DFE_EN_TIMER 0x04
+ USB3_DP_QSERDES_RXB_DFE_CTLE_POST_CAL_OFFSET 0x38
+ USB3_DP_QSERDES_RXB_AUX_DATA_TCOARSE_TFINE 0xA0
+ USB3_DP_QSERDES_RXB_DCC_CTRL1 0x0C
+ USB3_DP_QSERDES_RXB_GM_CAL 0x1F
+ USB3_DP_QSERDES_RXB_VTH_CODE 0x10
+ USB3_DP_PCS_LOCK_DETECT_CONFIG1 0xD0
+ USB3_DP_PCS_LOCK_DETECT_CONFIG2 0x07
+ USB3_DP_PCS_LOCK_DETECT_CONFIG3 0x20
+ USB3_DP_PCS_LOCK_DETECT_CONFIG6 0x13
+ USB3_DP_PCS_REFGEN_REQ_CONFIG1 0x21
+ USB3_DP_PCS_RX_SIGDET_LVL 0xA9
+ USB3_DP_PCS_CDR_RESET_TIME 0x0A
+ USB3_DP_PCS_ALIGN_DETECT_CONFIG1 0x88
+ USB3_DP_PCS_ALIGN_DETECT_CONFIG2 0x13
+ USB3_DP_PCS_PCS_TX_RX_CONFIG 0x0C
+ USB3_DP_PCS_EQ_CONFIG1 0x4B
+ USB3_DP_PCS_EQ_CONFIG5 0x10
+ USB3_DP_PCS_USB3_LFPS_DET_HIGH_COUNT_VAL 0xF8
+ USB3_DP_PCS_USB3_RXEQTRAINING_DFE_TIME_S2 0x07>;
+
+ qcom,qmp-phy-reg-offset =
+ <USB3_DP_PCS_PCS_STATUS1
+ USB3_DP_PCS_USB3_AUTONOMOUS_MODE_CTRL
+ USB3_DP_PCS_USB3_LFPS_RXTERM_IRQ_CLEAR
+ USB3_DP_PCS_POWER_DOWN_CONTROL
+ USB3_DP_PCS_SW_RESET
+ USB3_DP_PCS_START_CONTROL
+ 0xffff /* USB3_PHY_PCS_MISC_TYPEC_CTRL */
+ USB3_DP_COM_POWER_DOWN_CTRL
+ USB3_DP_COM_SW_RESET
+ USB3_DP_COM_RESET_OVRD_CTRL
+ USB3_DP_COM_PHY_MODE_CTRL
+ USB3_DP_COM_TYPEC_CTRL
+ USB3_DP_PCS_CLAMP_ENABLE>;
+
+ clocks = <&gcc GCC_USB3_PRIM_PHY_AUX_CLK>,
+ <&gcc GCC_USB3_PRIM_PHY_PIPE_CLK>,
+ <&gcc GCC_USB3_PRIM_PHY_PIPE_CLK_SRC>,
+ <&gcc USB3_PHY_WRAPPER_GCC_USB30_PIPE_CLK>,
+ <&rpmhcc RPMH_CXO_CLK>,
+ <&gcc GCC_USB3_PRIM_PHY_COM_AUX_CLK>;
+ clock-names = "aux_clk", "pipe_clk", "pipe_clk_mux",
+ "pipe_clk_ext_src", "ref_clk_src",
+ "com_aux_clk";
+
+ resets = <&gcc GCC_USB3_DP_PHY_PRIM_BCR>,
+ <&gcc GCC_USB3_PHY_PRIM_BCR>;
+ reset-names = "global_phy_reset", "phy_reset";
+ };
+
+ usb_audio_qmi_dev {
+ compatible = "qcom,usb-audio-qmi-dev";
+ iommus = <&apps_smmu 0x180f 0x0>;
+ qcom,iommu-dma = "disabled";
+ qcom,usb-audio-stream-id = <0xf>;
+ qcom,usb-audio-intr-num = <2>;
+ };
+
+ usb_nop_phy: usb_nop_phy {
+ compatible = "usb-nop-xceiv";
+ };
+
+ /* Secondary USB port related controller */
+ usb1: ssusb@a800000 {
+ compatible = "qcom,dwc-usb3-msm";
+ reg = <0xa800000 0x100000>;
+ reg-names = "core_base";
+
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+
+ interrupts-extended = <&pdc 12 IRQ_TYPE_EDGE_BOTH>,
+ <&intc GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
+ <&pdc 16 IRQ_TYPE_LEVEL_HIGH>,
+ <&pdc 13 IRQ_TYPE_EDGE_BOTH>;
+ interrupt-names = "dp_hs_phy_irq", "pwr_event_irq",
+ "ss_phy_irq", "dm_hs_phy_irq";
+ qcom,use-pdc-interrupts;
+
+ USB3_GDSC-supply = <&usb30_sec_gdsc>;
+ clocks = <&gcc GCC_USB30_SEC_MASTER_CLK>,
+ <&gcc GCC_CFG_NOC_USB3_SEC_AXI_CLK>,
+ <&gcc GCC_AGGRE_USB3_SEC_AXI_CLK>,
+ <&gcc GCC_USB30_SEC_MOCK_UTMI_CLK>,
+ <&gcc GCC_USB30_SEC_SLEEP_CLK>,
+ <&gcc GCC_USB3_SEC_CLKREF_EN>;
+
+ clock-names = "core_clk", "iface_clk", "bus_aggr_clk",
+ "utmi_clk", "sleep_clk", "xo";
+
+ resets = <&gcc GCC_USB30_SEC_BCR>;
+ reset-names = "core_reset";
+
+ qcom,core-clk-rate = <200000000>;
+ qcom,core-clk-rate-hs = <66666667>;
+ qcom,num-gsi-evt-buffs = <0x3>;
+ qcom,gsi-reg-offset =
+ <0x0fc /* GSI_GENERAL_CFG */
+ 0x110 /* GSI_DBL_ADDR_L */
+ 0x120 /* GSI_DBL_ADDR_H */
+ 0x130 /* GSI_RING_BASE_ADDR_L */
+ 0x144 /* GSI_RING_BASE_ADDR_H */
+ 0x1a4>; /* GSI_IF_STS */
+ qcom,charging-disabled;
+
+ interconnect-names = "usb-ddr", "usb-ipa", "ddr-usb";
+ interconnects = <&aggre1_noc MASTER_USB3_1 &mc_virt SLAVE_EBI1>,
+ <&aggre1_noc MASTER_USB3_1 &config_noc SLAVE_IPA_CFG>,
+ <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_USB3_1>;
+
+ dwc3@a800000 {
+ compatible = "snps,dwc3";
+ reg = <0xa800000 0xd93c>;
+ iommus = <&apps_smmu 0x20 0x0>;
+ qcom,iommu-dma = "atomic";
+ qcom,iommu-dma-addr-pool = <0x90000000 0x60000000>;
+
+ interrupts = <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
+ usb-phy = <&usb2_phy1>, <&usb_qmp_phy>;
+ snps,has-lpm-erratum;
+ snps,hird-threshold = /bits/ 8 <0x10>;
+ snps,usb3_lpm_capable;
+ snps,dis-u1-entry-quirk;
+ snps,dis-u2-entry-quirk;
+ snps,dis_u2_susphy_quirk;
+ tx-fifo-resize;
+ maximum-speed = "super-speed";
+ dr_mode = "drd";
+ };
+ };
+
+ /* Primary USB port related High Speed PHY */
+ usb2_phy1: hsphy@88e4000 {
+ compatible = "qcom,usb-hsphy-snps-femto";
+ reg = <0x88e4000 0x110>;
+ reg-names = "hsusb_phy_base";
+
+ vdd-supply = <&pm8150_l5>;
+ vdda18-supply = <&pm8150_l12>;
+ vdda33-supply = <&pm8150_l2>;
+ qcom,vdd-voltage-level = <0 880000 880000>;
+
+ clocks = <&rpmhcc RPMH_CXO_CLK>;
+ clock-names = "ref_clk_src";
+
+ resets = <&gcc GCC_QUSB2PHY_SEC_BCR>;
+ reset-names = "phy_reset";
+ qcom,param-override-seq = <0x43 0x70>;
+ };
+
+ /* Secondary USB port related QMP PHY */
+ usb_qmp_phy: ssphy@88eb000 {
+ compatible = "qcom,usb-ssphy-qmp-v2";
+ reg = <0x88eb000 0x1000>,
+ <0x088eb88c 0x4>;
+ reg-names = "qmp_phy_base",
+ "pcs_clamp_enable_reg";
+
+ vdd-supply = <&pm8150_l18>;
+ qcom,vdd-voltage-level = <0 912000 912000>;
+ qcom,vdd-max-load-uA = <47000>;
+ core-supply = <&pm8150_l9>;
+ qcom,vbus-valid-override;
+ qcom,qmp-phy-init-seq =
+ /* <reg_offset, value, delay> */
+ <USB3_UNI_QSERDES_COM_SYSCLK_EN_SEL 0x1a
+ USB3_UNI_QSERDES_COM_BIN_VCOCAL_HSCLK_SEL 0x11
+ USB3_UNI_QSERDES_COM_HSCLK_SEL 0x01
+ USB3_UNI_QSERDES_COM_DEC_START_MODE0 0x82
+ USB3_UNI_QSERDES_COM_DIV_FRAC_START1_MODE0 0xab
+ USB3_UNI_QSERDES_COM_DIV_FRAC_START2_MODE0 0xea
+ USB3_UNI_QSERDES_COM_DIV_FRAC_START3_MODE0 0x02
+ USB3_UNI_QSERDES_COM_BIN_VCOCAL_CMP_CODE1_MODE0 0xca
+ USB3_UNI_QSERDES_COM_BIN_VCOCAL_CMP_CODE2_MODE0 0x1e
+ USB3_UNI_QSERDES_COM_CP_CTRL_MODE0 0x06
+ USB3_UNI_QSERDES_COM_PLL_RCTRL_MODE0 0x16
+ USB3_UNI_QSERDES_COM_PLL_CCTRL_MODE0 0x36
+ USB3_UNI_QSERDES_COM_VCO_TUNE1_MODE0 0x24
+ USB3_UNI_QSERDES_COM_LOCK_CMP2_MODE0 0x34
+ USB3_UNI_QSERDES_COM_LOCK_CMP1_MODE0 0x14
+ USB3_UNI_QSERDES_COM_LOCK_CMP_EN 0x04
+ USB3_UNI_QSERDES_COM_SYSCLK_BUF_ENABLE 0x0a
+ USB3_UNI_QSERDES_COM_VCO_TUNE2_MODE1 0x02
+ USB3_UNI_QSERDES_COM_VCO_TUNE1_MODE1 0x24
+ USB3_UNI_QSERDES_COM_CORECLK_DIV_MODE1 0x08
+ USB3_UNI_QSERDES_COM_DEC_START_MODE1 0x82
+ USB3_UNI_QSERDES_COM_DIV_FRAC_START1_MODE1 0xab
+ USB3_UNI_QSERDES_COM_DIV_FRAC_START2_MODE1 0xea
+ USB3_UNI_QSERDES_COM_DIV_FRAC_START3_MODE1 0x02
+ USB3_UNI_QSERDES_COM_LOCK_CMP2_MODE1 0x82
+ USB3_UNI_QSERDES_COM_LOCK_CMP1_MODE1 0x34
+ USB3_UNI_QSERDES_COM_CP_CTRL_MODE1 0x06
+ USB3_UNI_QSERDES_COM_PLL_RCTRL_MODE1 0x16
+ USB3_UNI_QSERDES_COM_PLL_CCTRL_MODE1 0x36
+ USB3_UNI_QSERDES_COM_BIN_VCOCAL_CMP_CODE1_MODE1 0xca
+ USB3_UNI_QSERDES_COM_BIN_VCOCAL_CMP_CODE2_MODE1 0x1e
+ USB3_UNI_QSERDES_COM_CMN_IPTRIM 0x20
+ USB3_UNI_QSERDES_COM_SSC_EN_CENTER 0x01
+ USB3_UNI_QSERDES_COM_SSC_PER1 0x31
+ USB3_UNI_QSERDES_COM_SSC_PER2 0x01
+ USB3_UNI_QSERDES_COM_SSC_STEP_SIZE1_MODE1 0xde
+ USB3_UNI_QSERDES_COM_SSC_STEP_SIZE2_MODE1 0x07
+ USB3_UNI_QSERDES_COM_SSC_STEP_SIZE1_MODE0 0xde
+ USB3_UNI_QSERDES_COM_SSC_STEP_SIZE2_MODE0 0x07
+ USB3_UNI_QSERDES_COM_VCO_TUNE_MAP 0x02
+ USB3_UNI_QSERDES_RX_RX_MODE_00_HIGH4 0xb8
+ USB3_UNI_QSERDES_RX_RX_MODE_00_HIGH3 0xff
+ USB3_UNI_QSERDES_RX_RX_MODE_00_HIGH2 0xbf
+ USB3_UNI_QSERDES_RX_RX_MODE_00_HIGH 0x7f
+ USB3_UNI_QSERDES_RX_RX_MODE_00_LOW 0x7f
+ USB3_UNI_QSERDES_RX_RX_MODE_01_HIGH4 0xb4
+ USB3_UNI_QSERDES_RX_RX_MODE_01_HIGH3 0x7b
+ USB3_UNI_QSERDES_RX_RX_MODE_01_HIGH2 0x5c
+ USB3_UNI_QSERDES_RX_RX_MODE_01_HIGH 0xdc
+ USB3_UNI_QSERDES_RX_RX_MODE_01_LOW 0xdc
+ USB3_UNI_QSERDES_RX_UCDR_PI_CONTROLS 0x99
+ USB3_UNI_QSERDES_RX_UCDR_SB2_THRESH1 0x04
+ USB3_UNI_QSERDES_RX_UCDR_SB2_THRESH2 0x08
+ USB3_UNI_QSERDES_RX_UCDR_SB2_GAIN1 0x05
+ USB3_UNI_QSERDES_RX_UCDR_SB2_GAIN2 0x05
+ USB3_UNI_QSERDES_RX_UCDR_FASTLOCK_FO_GAIN 0x2f
+ USB3_UNI_QSERDES_RX_UCDR_FASTLOCK_COUNT_LOW 0xff
+ USB3_UNI_QSERDES_RX_UCDR_FASTLOCK_COUNT_HIGH 0x0f
+ USB3_UNI_QSERDES_RX_UCDR_SO_SATURATION_AND_ENABLE 0x7f
+ USB3_UNI_QSERDES_RX_UCDR_FO_GAIN 0x0A
+ USB3_UNI_QSERDES_RX_VGA_CAL_CNTRL1 0x54
+ USB3_UNI_QSERDES_RX_VGA_CAL_CNTRL2 0x0c
+ USB3_UNI_QSERDES_RX_RX_EQU_ADAPTOR_CNTRL2 0x0f
+ USB3_UNI_QSERDES_RX_RX_EQU_ADAPTOR_CNTRL3 0x4a
+ USB3_UNI_QSERDES_RX_RX_EQU_ADAPTOR_CNTRL4 0x0a
+ USB3_UNI_QSERDES_RX_DFE_EN_TIMER 0x04
+ USB3_UNI_QSERDES_RX_RX_EQ_OFFSET_ADAPTOR_CNTRL1 0x47
+ USB3_UNI_QSERDES_RX_RX_OFFSET_ADAPTOR_CNTRL2 0x80
+ USB3_UNI_QSERDES_RX_SIGDET_CNTRL 0x04
+ USB3_UNI_QSERDES_RX_SIGDET_DEGLITCH_CNTRL 0x0e
+ USB3_UNI_QSERDES_RX_RX_IDAC_TSETTLE_HIGH 0x00
+ USB3_UNI_QSERDES_RX_RX_IDAC_TSETTLE_LOW 0xc0
+ USB3_UNI_QSERDES_RX_DFE_CTLE_POST_CAL_OFFSET 0x38
+ USB3_UNI_QSERDES_RX_UCDR_SO_GAIN 0x06
+ USB3_UNI_QSERDES_RX_DCC_CTRL1 0x0c
+ USB3_UNI_QSERDES_RX_GM_CAL 0x1f
+ USB3_UNI_QSERDES_TX_RCV_DETECT_LVL_2 0x12
+ USB3_UNI_QSERDES_TX_LANE_MODE_1 0xd5
+ USB3_UNI_QSERDES_TX_LANE_MODE_2 0x82
+ USB3_UNI_QSERDES_TX_PI_QEC_CTRL 0x40
+ USB3_UNI_QSERDES_TX_RES_CODE_LANE_OFFSET_TX 0x11
+ USB3_UNI_QSERDES_TX_RES_CODE_LANE_OFFSET_RX 0x02
+ USB3_UNI_PCS_LOCK_DETECT_CONFIG1 0xd0
+ USB3_UNI_PCS_LOCK_DETECT_CONFIG2 0x07
+ USB3_UNI_PCS_LOCK_DETECT_CONFIG3 0x20
+ USB3_UNI_PCS_LOCK_DETECT_CONFIG6 0x13
+ USB3_UNI_PCS_RCVR_DTCT_DLY_P1U2_L 0xe7
+ USB3_UNI_PCS_RCVR_DTCT_DLY_P1U2_H 0x03
+ USB3_UNI_PCS_RX_SIGDET_LVL 0xa9
+ USB3_UNI_PCS_PCS_TX_RX_CONFIG 0x0c
+ USB3_UNI_PCS_USB3_RXEQTRAINING_DFE_TIME_S2 0x07
+ USB3_UNI_PCS_USB3_LFPS_DET_HIGH_COUNT_VAL 0xf8
+ USB3_UNI_PCS_CDR_RESET_TIME 0x0a
+ USB3_UNI_PCS_ALIGN_DETECT_CONFIG1 0x88
+ USB3_UNI_PCS_ALIGN_DETECT_CONFIG2 0x13
+ USB3_UNI_PCS_EQ_CONFIG1 0x4b
+ USB3_UNI_PCS_EQ_CONFIG5 0x10
+ USB3_UNI_PCS_REFGEN_REQ_CONFIG1 0x21>;
+
+ qcom,qmp-phy-reg-offset =
+ <USB3_UNI_PCS_PCS_STATUS1
+ USB3_UNI_PCS_USB3_AUTONOMOUS_MODE_CTRL
+ USB3_UNI_PCS_USB3_LFPS_RXTERM_IRQ_CLEAR
+ USB3_UNI_PCS_POWER_DOWN_CONTROL
+ USB3_UNI_PCS_SW_RESET
+ USB3_UNI_PCS_START_CONTROL>;
+
+ clocks = <&gcc GCC_USB3_SEC_PHY_AUX_CLK>,
+ <&gcc GCC_USB3_SEC_PHY_PIPE_CLK>,
+ <&gcc GCC_USB3_SEC_PHY_PIPE_CLK_SRC>,
+ <&gcc USB3_UNI_PHY_SEC_GCC_USB30_PIPE_CLK>,
+ <&rpmhcc RPMH_CXO_CLK>,
+ <&gcc GCC_USB3_SEC_CLKREF_EN>,
+ <&gcc GCC_USB3_SEC_PHY_COM_AUX_CLK>;
+ clock-names = "aux_clk", "pipe_clk", "pipe_clk_mux",
+ "pipe_clk_ext_src", "ref_clk_src",
+ "ref_clk", "com_aux_clk";
+
+ resets = <&gcc GCC_USB3_PHY_SEC_BCR>,
+ <&gcc GCC_USB3PHY_PHY_SEC_BCR>;
+ reset-names = "phy_reset", "phy_phy_reset";
+ };
+};
diff --git a/qcom/kona.dtsi b/qcom/kona.dtsi
index 388bedfb..7ea3c798 100755
--- a/qcom/kona.dtsi
+++ b/qcom/kona.dtsi
@@ -1,6 +1,15 @@
+#include <dt-bindings/clock/qcom,gcc-sm8250.h>
+#include <dt-bindings/clock/qcom,videocc-sm8250.h>
+#include <dt-bindings/clock/qcom,camcc-sm8250.h>
+#include <dt-bindings/clock/qcom,dispcc-sm8250.h>
+#include <dt-bindings/clock/qcom,gpucc-sm8250.h>
+#include <dt-bindings/clock/qcom,npucc-sm8250.h>
+#include <dt-bindings/clock/qcom,rpmh.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/soc/qcom,rpmh-rsc.h>
+#include <dt-bindings/soc/qcom,ipcc.h>
#include <dt-bindings/interconnect/qcom,icc.h>
+#include <dt-bindings/interconnect/qcom,kona.h>
#include <dt-bindings/gpio/gpio.h>
/ {
@@ -14,12 +23,19 @@
memory { device_type = "memory"; reg = <0 0 0 0>; };
chosen {
- bootargs = "rcupdate.rcu_expedited=1 rcu_nocbs=0-7 kpti=off";
+ bootargs = "rcupdate.rcu_expedited=1 rcu_nocbs=0-7 kpti=off pcie_ports=compat";
};
reserved_memory: reserved-memory { };
- aliases { };
+ aliases {
+ ufshc1 = &ufshc_mem; /* Embedded UFS slot */
+ serial0 = &qupv3_se12_2uart;
+ pci-domain0 = &pcie0; /* PCIe0 domain */
+ pci-domain1 = &pcie1; /* PCIe1 domain */
+ pci-domain2 = &pcie2; /* PCIe2 domain */
+ mmc1 = &sdhc_2; /* SDC2 SD card slot */
+ };
cpus {
#address-cells = <2>;
@@ -32,7 +48,7 @@
enable-method = "psci";
cpu-release-addr = <0x0 0x90000000>;
next-level-cache = <&L2_0>;
- qcom,freq-domain = <&cpufreq_hw 0 4>;
+ qcom,freq-domain = <&cpufreq_hw 0>;
capacity-dmips-mhz = <1024>;
dynamic-power-coefficient = <100>;
#cooling-cells = <2>;
@@ -63,7 +79,7 @@
enable-method = "psci";
cpu-release-addr = <0x0 0x90000000>;
next-level-cache = <&L2_1>;
- qcom,freq-domain = <&cpufreq_hw 0 4>;
+ qcom,freq-domain = <&cpufreq_hw 0>;
capacity-dmips-mhz = <1024>;
dynamic-power-coefficient = <100>;
L2_1: l2-cache {
@@ -88,7 +104,7 @@
enable-method = "psci";
cpu-release-addr = <0x0 0x90000000>;
next-level-cache = <&L2_2>;
- qcom,freq-domain = <&cpufreq_hw 0 4>;
+ qcom,freq-domain = <&cpufreq_hw 0>;
capacity-dmips-mhz = <1024>;
dynamic-power-coefficient = <100>;
L2_2: l2-cache {
@@ -113,7 +129,7 @@
enable-method = "psci";
cpu-release-addr = <0x0 0x90000000>;
next-level-cache = <&L2_3>;
- qcom,freq-domain = <&cpufreq_hw 0 4>;
+ qcom,freq-domain = <&cpufreq_hw 0>;
capacity-dmips-mhz = <1024>;
dynamic-power-coefficient = <100>;
L2_3: l2-cache {
@@ -138,7 +154,7 @@
enable-method = "psci";
cpu-release-addr = <0x0 0x90000000>;
next-level-cache = <&L2_4>;
- qcom,freq-domain = <&cpufreq_hw 1 4>;
+ qcom,freq-domain = <&cpufreq_hw 1>;
capacity-dmips-mhz = <1894>;
dynamic-power-coefficient = <514>;
#cooling-cells = <2>;
@@ -164,7 +180,7 @@
enable-method = "psci";
cpu-release-addr = <0x0 0x90000000>;
next-level-cache = <&L2_5>;
- qcom,freq-domain = <&cpufreq_hw 1 4>;
+ qcom,freq-domain = <&cpufreq_hw 1>;
capacity-dmips-mhz = <1894>;
dynamic-power-coefficient = <514>;
L2_5: l2-cache {
@@ -189,7 +205,7 @@
enable-method = "psci";
cpu-release-addr = <0x0 0x90000000>;
next-level-cache = <&L2_6>;
- qcom,freq-domain = <&cpufreq_hw 1 4>;
+ qcom,freq-domain = <&cpufreq_hw 1>;
capacity-dmips-mhz = <1894>;
dynamic-power-coefficient = <514>;
L2_6: l2-cache {
@@ -214,7 +230,7 @@
enable-method = "psci";
cpu-release-addr = <0x0 0x90000000>;
next-level-cache = <&L2_7>;
- qcom,freq-domain = <&cpufreq_hw 2 4>;
+ qcom,freq-domain = <&cpufreq_hw 2>;
capacity-dmips-mhz = <1894>;
dynamic-power-coefficient = <598>;
#cooling-cells = <2>;
@@ -306,26 +322,6 @@
};
soc: soc {
- cpufreq_hw: qcom,cpufreq-hw {
- compatible = "qcom,cpufreq-epss";
- reg = <0x18591000 0x1000>, <0x18592000 0x1000>,
- <0x18593000 0x1000>;
- reg-names = "freq-domain0", "freq-domain1",
- "freq-domain2";
-
- //clocks = <&clock_rpmh RPMH_CXO_CLK>, <&clock_gcc GPLL0>;
- //clock-names = "xo", "alternate";
-
- qcom,lut-row-size = <4>;
- qcom,skip-enable-check;
-
- #freq-domain-cells = <2>;
-
- cpu7_notify: cpu7-notify {
- qcom,cooling-cpu = <&CPU7>;
- #cooling-cells = <2>;
- };
- };
};
psci {
@@ -555,7 +551,7 @@
};
/* global autoconfigured region for contiguous allocations */
- linux,cma {
+ system_cma:linux,cma {
compatible = "shared-dma-pool";
alloc-ranges = <0x0 0x00000000 0x0 0xffffffff>;
reusable;
@@ -571,6 +567,14 @@
alignment = <0x0 0x400000>;
size = <0x0 0x20000>;
};
+
+ vendor: vendor {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges = <0 0 0 0xffffffff>;
+ compatible = "simple-bus";
+ };
+
};
&soc {
@@ -579,6 +583,9 @@
ranges = <0 0 0 0xffffffff>;
compatible = "simple-bus";
+ thermal_zones: thermal-zones {
+ };
+
intc: interrupt-controller@17a00000 {
compatible = "arm,gic-v3";
#interrupt-cells = <3>;
@@ -664,6 +671,25 @@
interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>;
};
+ spmi_bus: qcom,spmi@c440000 {
+ compatible = "qcom,spmi-pmic-arb";
+ reg = <0xc440000 0x1100>,
+ <0xc600000 0x2000000>,
+ <0xe600000 0x100000>,
+ <0xe700000 0xa0000>,
+ <0xc40a000 0x26000>;
+ reg-names = "core", "chnls", "obsrvr", "intr", "cnfg";
+ interrupt-names = "periph_irq";
+ interrupts-extended = <&pdc 1 IRQ_TYPE_LEVEL_HIGH>;
+ qcom,ee = <0>;
+ qcom,channel = <0>;
+ #address-cells = <2>;
+ #size-cells = <0>;
+ interrupt-controller;
+ #interrupt-cells = <4>;
+ cell-index = <0>;
+ };
+
apps_rsc: rsc@18200000 {
label = "apps_rsc";
compatible = "qcom,rpmh-rsc";
@@ -686,6 +712,15 @@
<CONTROL_TCS 0>,
<FAST_PATH_TCS 0>;
};
+
+ rpmhcc: clock-controller {
+ compatible = "qcom,sm8250-rpmh-clk";
+ #clock-cells = <1>;
+ };
+
+ apps_bcm_voter: bcm_voter {
+ compatible = "qcom,bcm-voter";
+ };
};
};
@@ -707,6 +742,11 @@
<CONTROL_TCS 0>,
<FAST_PATH_TCS 0>;
};
+
+ disp_bcm_voter: bcm_voter {
+ compatible = "qcom,bcm-voter";
+ qcom,tcs-wait = <QCOM_ICC_TAG_AMC>;
+ };
};
};
@@ -719,6 +759,814 @@
interrupt-controller;
};
+ clocks {
+ xo_board: xo-board {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <38400000>;
+ clock-output-names = "xo_board";
+ };
+
+ sleep_clk: sleep-clk {
+ compatible = "fixed-clock";
+ clock-frequency = <32000>;
+ clock-output-names = "chip_sleep_clk";
+ #clock-cells = <1>;
+ };
+ };
+
+ gcc: clock-controller@100000 {
+ compatible = "qcom,gcc-sm8250", "syscon";
+ reg = <0x100000 0x1f0000>;
+ reg-names = "cc_base";
+ vdd_cx-supply = <&VDD_CX_LEVEL>;
+ vdd_cx_ao-supply = <&VDD_CX_LEVEL_AO>;
+ vdd_mm-supply = <&VDD_MMCX_LEVEL>;
+ clocks = <&rpmhcc RPMH_CXO_CLK>,
+ <&rpmhcc RPMH_CXO_CLK_A>,
+ <&pcie_0_pipe_clk>,
+ <&pcie_1_pipe_clk>,
+ <&pcie_2_pipe_clk>;
+ clock-names = "bi_tcxo",
+ "bi_tcxo_ao",
+ "pcie_0_pipe_clk",
+ "pcie_1_pipe_clk",
+ "pcie_2_pipe_clk";
+ #clock-cells = <1>;
+ #reset-cells = <1>;
+ };
+
+ npucc: clock-controller@9800000 {
+ compatible = "qcom,sm8250-npucc", "syscon";
+ reg = <0x9800000 0x190000>;
+ reg-name = "cc_base";
+ vdd_cx-supply = <&VDD_CX_LEVEL>;
+ clocks = <&rpmhcc RPMH_CXO_CLK>;
+ clock-names = "bi_tcxo";
+ #clock-cells = <1>;
+ #reset-cells = <1>;
+ };
+
+ videocc: clock-controller@abf0000 {
+ compatible = "qcom,sm8250-videocc", "syscon";
+ reg = <0xabf0000 0x10000>;
+ reg-names = "cc_base";
+ vdd_mx-supply = <&VDD_MX_LEVEL>;
+ vdd_mm-supply = <&VDD_MMCX_LEVEL>;
+ clock-names = "cfg_ahb_clk";
+ clocks = <&gcc GCC_VIDEO_AHB_CLK>;
+ #clock-cells = <1>;
+ #reset-cells = <1>;
+ };
+
+ camcc: clock-controller@ad00000 {
+ compatible = "qcom,sm8250-camcc", "syscon";
+ reg = <0xad00000 0x10000>;
+ reg-names = "cc_base";
+ vdd_mx-supply = <&VDD_MX_LEVEL>;
+ vdd_mm-supply = <&VDD_MMCX_LEVEL>;
+ clock-names = "cfg_ahb_clk";
+ clocks = <&gcc GCC_CAMERA_AHB_CLK>;
+ #clock-cells = <1>;
+ #reset-cells = <1>;
+ };
+
+ dispcc: clock-controller@af00000 {
+ compatible = "qcom,sm8250-dispcc", "syscon";
+ reg = <0xaf00000 0x20000>;
+ reg-names = "cc_base";
+ vdd_mm-supply = <&VDD_MMCX_LEVEL>;
+ clock-names = "cfg_ahb_clk";
+ clocks = <&gcc GCC_DISP_AHB_CLK>;
+ #clock-cells = <1>;
+ #reset-cells = <1>;
+ };
+
+ gpucc: clock-controller@3d90000 {
+ compatible = "qcom,sm8250-gpucc", "syscon";
+ reg = <0x3d90000 0x9000>;
+ reg-names = "cc_base";
+ vdd_cx-supply = <&VDD_CX_LEVEL>;
+ vdd_mx-supply = <&VDD_MX_LEVEL>;
+ #clock-cells = <1>;
+ #reset-cells = <1>;
+ };
+
+ apsscc: syscon@182a0000 {
+ compatible = "syscon";
+ reg = <0x182a0000 0x1c>;
+ };
+
+ mccc: syscon@90ba000 {
+ compatible = "syscon";
+ reg = <0x90ba000 0x54>;
+ };
+
+ debugcc: clock-controller@0 {
+ compatible = "qcom,sm8250-debugcc";
+ qcom,apsscc = <&apsscc>;
+ qcom,camcc = <&camcc>;
+ qcom,dispcc = <&dispcc>;
+ qcom,gcc = <&gcc>;
+ qcom,gpucc = <&gpucc>;
+ qcom,npucc = <&npucc>;
+ qcom,videocc = <&videocc>;
+ qcom,mccc = <&mccc>;
+ clocks = <&rpmhcc RPMH_CXO_CLK>,
+ <&camcc 0>,
+ <&dispcc 0>,
+ <&gcc 0>,
+ <&gpucc 0>,
+ <&npucc 0>,
+ <&videocc 0>;
+ clock-names = "xo_clk_src",
+ "camcc",
+ "dispcc",
+ "gcc",
+ "gpucc",
+ "npucc",
+ "videocc";
+ #clock-cells = <1>;
+ };
+
+ aggre1_noc: interconnect@16E0000 {
+ reg = <0x16E0000 0x1F180>;
+ compatible = "qcom,kona-aggre1_noc";
+ #interconnect-cells = <1>;
+ qcom,bcm-voter-names = "hlos";
+ qcom,bcm-voters = <&apps_bcm_voter>;
+ clocks = <&gcc GCC_AGGRE_UFS_PHY_AXI_CLK>,
+ <&gcc GCC_AGGRE_USB3_PRIM_AXI_CLK>,
+ <&gcc GCC_AGGRE_USB3_SEC_AXI_CLK>;
+ };
+
+ aggre2_noc: interconnect@1700000 {
+ reg = <0x1700000 0x3D180>;
+ compatible = "qcom,kona-aggre2_noc";
+ #interconnect-cells = <1>;
+ qcom,bcm-voter-names = "hlos";
+ qcom,bcm-voters = <&apps_bcm_voter>;
+ };
+
+ config_noc: interconnect@1500000 {
+ reg = <0x1500000 0x28000>;
+ compatible = "qcom,kona-config_noc";
+ #interconnect-cells = <1>;
+ qcom,bcm-voter-names = "hlos";
+ qcom,bcm-voters = <&apps_bcm_voter>;
+ };
+
+ dc_noc: interconnect@90C0000 {
+ reg = <0x90C0000 0x4200>;
+ compatible = "qcom,kona-dc_noc";
+ #interconnect-cells = <1>;
+ qcom,bcm-voter-names = "hlos";
+ qcom,bcm-voters = <&apps_bcm_voter>;
+ };
+
+ ipa_virt: interconnect@1 {
+ compatible = "qcom,kona-ipa_virt";
+ #interconnect-cells = <1>;
+ qcom,bcm-voter-names = "hlos";
+ qcom,bcm-voters = <&apps_bcm_voter>;
+ };
+
+ mc_virt: interconnect@2 {
+ compatible = "qcom,kona-mc_virt";
+ #interconnect-cells = <1>;
+ qcom,bcm-voter-names = "hlos", "disp";
+ qcom,bcm-voters = <&apps_bcm_voter>, <&disp_bcm_voter>;
+ };
+
+ gem_noc: interconnect@9100000 {
+ reg = <0x9100000 0xB4000>;
+ compatible = "qcom,kona-gem_noc";
+ #interconnect-cells = <1>;
+ qcom,bcm-voter-names = "hlos", "disp";
+ qcom,bcm-voters = <&apps_bcm_voter>, <&disp_bcm_voter>;
+ };
+
+ mmss_noc: interconnect@1740000 {
+ reg = <0x1740000 0x1f080>;
+ compatible = "qcom,kona-mmss_noc";
+ #interconnect-cells = <1>;
+ qcom,bcm-voter-names = "hlos", "disp";
+ qcom,bcm-voters = <&apps_bcm_voter>, <&disp_bcm_voter>;
+ };
+
+ system_noc: interconnect@1620000 {
+ reg = <0x1620000 0x1C200>;
+ compatible = "qcom,kona-system_noc";
+ #interconnect-cells = <1>;
+ qcom,bcm-voter-names = "hlos";
+ qcom,bcm-voters = <&apps_bcm_voter>;
+ };
+
+ compute_noc: interconnect@3 {
+ compatible = "qcom,kona-compute_noc";
+ #interconnect-cells = <1>;
+ qcom,bcm-voter-names = "hlos";
+ qcom,bcm-voters = <&apps_bcm_voter>;
+ };
+
+ npu_noc: interconnect@9990000 {
+ reg = <0x9990000 0x1600>;
+ compatible = "qcom,kona-npu_noc";
+ #interconnect-cells = <1>;
+ qcom,bcm-voter-names = "hlos";
+ qcom,bcm-voters = <&apps_bcm_voter>;
+ };
+
+ pcie_0_pipe_clk: pcie_0_pipe_clk {
+ compatible = "fixed-clock";
+ clock-frequency = <1000>;
+ clock-output-names = "pcie_0_pipe_clk";
+ #clock-cells = <0>;
+ };
+
+ pcie_1_pipe_clk: pcie_1_pipe_clk {
+ compatible = "fixed-clock";
+ clock-frequency = <1000>;
+ clock-output-names = "pcie_1_pipe_clk";
+ #clock-cells = <0>;
+ };
+
+ pcie_2_pipe_clk: pcie_2_pipe_clk {
+ compatible = "fixed-clock";
+ clock-frequency = <1000>;
+ clock-output-names = "pcie_2_pipe_clk";
+ #clock-cells = <0>;
+ };
+
+ /* GCC GDSCs */
+ pcie_0_gdsc: qcom,gdsc@16b004 {
+ compatible = "qcom,gdsc";
+ reg = <0x16b004 0x4>;
+ regulator-name = "pcie_0_gdsc";
+ qcom,retain-regs;
+ };
+
+ pcie_1_gdsc: qcom,gdsc@18d004 {
+ compatible = "qcom,gdsc";
+ reg = <0x18d004 0x4>;
+ regulator-name = "pcie_1_gdsc";
+ qcom,retain-regs;
+ };
+
+ pcie_2_gdsc: qcom,gdsc@106004 {
+ compatible = "qcom,gdsc";
+ reg = <0x106004 0x4>;
+ regulator-name = "pcie_2_gdsc";
+ qcom,retain-regs;
+ };
+
+ ufs_phy_gdsc: qcom,gdsc@177004 {
+ compatible = "qcom,gdsc";
+ reg = <0x177004 0x4>;
+ regulator-name = "ufs_phy_gdsc";
+ qcom,retain-regs;
+ };
+
+ usb30_prim_gdsc: qcom,gdsc@10f004 {
+ compatible = "qcom,gdsc";
+ reg = <0x10f004 0x4>;
+ regulator-name = "usb30_prim_gdsc";
+ qcom,retain-regs;
+ };
+
+ usb30_sec_gdsc: qcom,gdsc@110004 {
+ compatible = "qcom,gdsc";
+ reg = <0x110004 0x4>;
+ regulator-name = "usb30_sec_gdsc";
+ qcom,retain-regs;
+ };
+
+ hlos1_vote_mmnoc_mmu_tbu_hf0_gdsc: qcom,gdsc@17d050 {
+ compatible = "qcom,gdsc";
+ reg = <0x17d050 0x4>;
+ regulator-name = "hlos1_vote_mmnoc_mmu_tbu_hf0_gdsc";
+ qcom,no-status-check-on-disable;
+ qcom,gds-timeout = <500>;
+ };
+
+ hlos1_vote_mmnoc_mmu_tbu_hf1_gdsc: qcom,gdsc@17d058 {
+ compatible = "qcom,gdsc";
+ reg = <0x17d058 0x4>;
+ regulator-name = "hlos1_vote_mmnoc_mmu_tbu_hf1_gdsc";
+ qcom,no-status-check-on-disable;
+ qcom,gds-timeout = <500>;
+ };
+
+ hlos1_vote_mmnoc_mmu_tbu_sf0_gdsc: qcom,gdsc@17d054 {
+ compatible = "qcom,gdsc";
+ reg = <0x17d054 0x4>;
+ regulator-name = "hlos1_vote_mmnoc_mmu_tbu_sf0_gdsc";
+ qcom,no-status-check-on-disable;
+ qcom,gds-timeout = <500>;
+ };
+
+ hlos1_vote_mmnoc_mmu_tbu_sf1_gdsc: qcom,gdsc@17d06c {
+ compatible = "qcom,gdsc";
+ reg = <0x17d06c 0x4>;
+ regulator-name = "hlos1_vote_mmnoc_mmu_tbu_sf1_gdsc";
+ qcom,no-status-check-on-disable;
+ qcom,gds-timeout = <500>;
+ };
+
+ /* CAM_CC GDSCs */
+ bps_gdsc: qcom,gdsc@ad07004 {
+ compatible = "qcom,gdsc";
+ reg = <0xad07004 0x4>;
+ regulator-name = "bps_gdsc";
+ clock-names = "ahb_clk";
+ clocks = <&gcc GCC_CAMERA_AHB_CLK>;
+ parent-supply = <&VDD_MMCX_LEVEL>;
+ vdd_parent-supply = <&VDD_MMCX_LEVEL>;
+ qcom,support-hw-trigger;
+ qcom,retain-regs;
+ };
+
+ ife_0_gdsc: qcom,gdsc@ad0a004 {
+ compatible = "qcom,gdsc";
+ reg = <0xad0a004 0x4>;
+ regulator-name = "ife_0_gdsc";
+ clock-names = "ahb_clk";
+ clocks = <&gcc GCC_CAMERA_AHB_CLK>;
+ parent-supply = <&VDD_MMCX_LEVEL>;
+ vdd_parent-supply = <&VDD_MMCX_LEVEL>;
+ qcom,retain-regs;
+ };
+
+ ife_1_gdsc: qcom,gdsc@ad0b004 {
+ compatible = "qcom,gdsc";
+ reg = <0xad0b004 0x4>;
+ regulator-name = "ife_1_gdsc";
+ clock-names = "ahb_clk";
+ clocks = <&gcc GCC_CAMERA_AHB_CLK>;
+ parent-supply = <&VDD_MMCX_LEVEL>;
+ vdd_parent-supply = <&VDD_MMCX_LEVEL>;
+ qcom,retain-regs;
+ };
+
+ ipe_0_gdsc: qcom,gdsc@ad08004 {
+ compatible = "qcom,gdsc";
+ reg = <0xad08004 0x4>;
+ regulator-name = "ipe_0_gdsc";
+ clock-names = "ahb_clk";
+ clocks = <&gcc GCC_CAMERA_AHB_CLK>;
+ parent-supply = <&VDD_MMCX_LEVEL>;
+ vdd_parent-supply = <&VDD_MMCX_LEVEL>;
+ qcom,support-hw-trigger;
+ qcom,retain-regs;
+ };
+
+ sbi_gdsc: qcom,gdsc@ad09004 {
+ compatible = "qcom,gdsc";
+ reg = <0xad09004 0x4>;
+ regulator-name = "sbi_gdsc";
+ clock-names = "ahb_clk";
+ clocks = <&gcc GCC_CAMERA_AHB_CLK>;
+ parent-supply = <&VDD_MMCX_LEVEL>;
+ vdd_parent-supply = <&VDD_MMCX_LEVEL>;
+ qcom,retain-regs;
+ };
+
+ titan_top_gdsc: qcom,gdsc@ad0c144 {
+ compatible = "qcom,gdsc";
+ reg = <0xad0c144 0x4>;
+ regulator-name = "titan_top_gdsc";
+ clock-names = "ahb_clk";
+ clocks = <&gcc GCC_CAMERA_AHB_CLK>;
+ parent-supply = <&VDD_MMCX_LEVEL>;
+ vdd_parent-supply = <&VDD_MMCX_LEVEL>;
+ qcom,retain-regs;
+ qcom,gds-timeout = <500>;
+ };
+
+ /* DISP_CC GDSC */
+ mdss_core_gdsc: qcom,gdsc@af03000 {
+ compatible = "qcom,gdsc";
+ reg = <0xaf03000 0x4>;
+ regulator-name = "mdss_core_gdsc";
+ clock-names = "ahb_clk";
+ clocks = <&gcc GCC_DISP_AHB_CLK>;
+ parent-supply = <&VDD_MMCX_LEVEL>;
+ vdd_parent-supply = <&VDD_MMCX_LEVEL>;
+ qcom,support-hw-trigger;
+ qcom,retain-regs;
+ proxy-supply = <&mdss_core_gdsc>;
+ qcom,proxy-consumer-enable;
+ };
+
+ /* GPU_CC GDSCs */
+ gpu_cx_hw_ctrl: syscon@3d91540 {
+ compatible = "syscon";
+ reg = <0x3d91540 0x4>;
+ };
+
+ gpu_cx_gdsc: qcom,gdsc@3d9106c {
+ compatible = "qcom,gdsc";
+ reg = <0x3d9106c 0x4>;
+ regulator-name = "gpu_cx_gdsc";
+ hw-ctrl-addr = <&gpu_cx_hw_ctrl>;
+ parent-supply = <&VDD_CX_LEVEL>;
+ vdd_parent-supply = <&VDD_CX_LEVEL>;
+ qcom,no-status-check-on-disable;
+ qcom,clk-dis-wait-val = <8>;
+ qcom,gds-timeout = <500>;
+ qcom,retain-regs;
+ };
+
+ gpu_gx_domain_addr: syscon@3d91508 {
+ compatible = "syscon";
+ reg = <0x3d91508 0x4>;
+ };
+
+ gpu_gx_sw_reset: syscon@3d91008 {
+ compatible = "syscon";
+ reg = <0x3d91008 0x4>;
+ };
+
+ gpu_gx_gdsc: qcom,gdsc@3d9100c {
+ compatible = "qcom,gdsc";
+ reg = <0x3d9100c 0x4>;
+ regulator-name = "gpu_gx_gdsc";
+ domain-addr = <&gpu_gx_domain_addr>;
+ sw-reset = <&gpu_gx_sw_reset>;
+ parent-supply = <&VDD_GFX_LEVEL>;
+ vdd_parent-supply = <&VDD_GFX_LEVEL>;
+ qcom,skip-disable-before-sw-enable;
+ qcom,reset-aon-logic;
+ qcom,retain-regs;
+ };
+
+ /* NPU GDSC */
+ npu_core_gdsc: qcom,gdsc@9981004 {
+ compatible = "qcom,gdsc";
+ reg = <0x9981004 0x4>;
+ regulator-name = "npu_core_gdsc";
+ clock-names = "ahb_clk";
+ clocks = <&gcc GCC_NPU_CFG_AHB_CLK>;
+ qcom,retain-regs;
+ };
+
+ qcom,sps {
+ compatible = "qcom,msm-sps-4k";
+ qcom,pipe-attr-ee;
+ };
+
+ /* VIDEO_CC GDSCs */
+ mvs0_gdsc: qcom,gdsc@abf0d18 {
+ compatible = "qcom,gdsc";
+ reg = <0xabf0d18 0x4>;
+ regulator-name = "mvs0_gdsc";
+ clock-names = "ahb_clk";
+ clocks = <&gcc GCC_VIDEO_AHB_CLK>;
+ parent-supply = <&VDD_MMCX_LEVEL>;
+ vdd_parent-supply = <&VDD_MMCX_LEVEL>;
+ qcom,support-hw-trigger;
+ qcom,retain-regs;
+ };
+
+ mvs0c_gdsc: qcom,gdsc@abf0bf8 {
+ compatible = "qcom,gdsc";
+ reg = <0xabf0bf8 0x4>;
+ regulator-name = "mvs0c_gdsc";
+ clock-names = "ahb_clk";
+ clocks = <&gcc GCC_VIDEO_AHB_CLK>;
+ parent-supply = <&VDD_MMCX_LEVEL>;
+ vdd_parent-supply = <&VDD_MMCX_LEVEL>;
+ qcom,retain-regs;
+ };
+
+ mvs1_gdsc: qcom,gdsc@abf0d98 {
+ compatible = "qcom,gdsc";
+ reg = <0xabf0d98 0x4>;
+ regulator-name = "mvs1_gdsc";
+ clock-names = "ahb_clk";
+ clocks = <&gcc GCC_VIDEO_AHB_CLK>;
+ parent-supply = <&VDD_MMCX_LEVEL>;
+ vdd_parent-supply = <&VDD_MMCX_LEVEL>;
+ qcom,support-hw-trigger;
+ qcom,retain-regs;
+ };
+
+ mvs1c_gdsc: qcom,gdsc@abf0c98 {
+ compatible = "qcom,gdsc";
+ reg = <0xabf0c98 0x4>;
+ regulator-name = "mvs1c_gdsc";
+ clock-names = "ahb_clk";
+ clocks = <&gcc GCC_VIDEO_AHB_CLK>;
+ parent-supply = <&VDD_MMCX_LEVEL>;
+ vdd_parent-supply = <&VDD_MMCX_LEVEL>;
+ qcom,retain-regs;
+ };
+
+ cpufreq_hw: qcom,cpufreq-hw {
+ compatible = "qcom,cpufreq-epss";
+ reg = <0x18591000 0x1000>, <0x18592000 0x1000>,
+ <0x18593000 0x1000>;
+ reg-names = "freq-domain0", "freq-domain1",
+ "freq-domain2";
+ clocks = <&rpmhcc RPMH_CXO_CLK>, <&gcc GPLL0>;
+ clock-names = "xo", "alternate";
+ interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "dcvsh0_int", "dcvsh1_int", "dcvsh2_int";
+ #freq-domain-cells = <1>;
+
+ cpu7_notify: cpu7-notify {
+ qcom,cooling-cpu = <&CPU7>;
+ #cooling-cells = <2>;
+ };
+ };
+
+ llcc_pmu: llcc-pmu@9095000 {
+ compatible = "qcom,llcc-pmu-ver2";
+ reg = <0x09095000 0x300>;
+ reg-names = "lagg-base";
+ };
+
+ qcom_pmu: qcom,pmu {
+ compatible = "qcom,pmu";
+ qcom,long-counter;
+ qcom,pmu-events-tbl =
+ < 0x0008 0xFF 0xFF 0xFF >,
+ < 0x0011 0xFF 0xFF 0xFF >,
+ < 0x0017 0xFF 0xFF 0xFF >,
+ < 0x002A 0xFF 0xFF 0xFF >;
+ };
+
+ ddr_freq_table: ddr-freq-table {
+ qcom,freq-tbl =
+ < 200000 >,
+ < 300000 >,
+ < 451000 >,
+ < 547000 >,
+ < 681000 >,
+ < 768000 >,
+ < 1017000 >,
+ < 1353000 >,
+ < 1555000 >,
+ < 1804000 >,
+ < 2092000 >,
+ < 2736000 >;
+ };
+
+ llcc_freq_table: llcc-freq-table {
+ qcom,freq-tbl =
+ < 150000 >,
+ < 300000 >,
+ < 466000 >,
+ < 600000 >,
+ < 806000 >,
+ < 933000 >,
+ < 1000000 >;
+ };
+
+ ddrqos_freq_table: ddrqos-freq-table {
+ qcom,freq-tbl =
+ < 0 >,
+ < 1 >;
+ };
+
+ qcom_dcvs: qcom,dcvs {
+ compatible = "qcom,dcvs";
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+
+ qcom_l3_dcvs_hw: l3 {
+ compatible = "qcom,dcvs-hw";
+ qcom,dcvs-hw-type = <2>;
+ qcom,bus-width = <32>;
+ reg = <0x18590000 0x4>, <0x18590100 0xa0>;
+ reg-names = "l3-base", "l3tbl-base";
+
+ l3_dcvs_sp: sp {
+ compatible = "qcom,dcvs-path";
+ qcom,dcvs-path-type = <0>;
+ qcom,shared-offset = <0x0090>;
+ };
+ };
+
+ qcom_ddr_dcvs_hw: ddr {
+ compatible = "qcom,dcvs-hw";
+ qcom,dcvs-hw-type = <0>;
+ qcom,bus-width = <4>;
+ qcom,freq-tbl = <&ddr_freq_table>;
+
+ ddr_dcvs_sp: sp {
+ compatible = "qcom,dcvs-path";
+ qcom,dcvs-path-type = <0>;
+ interconnects = <&mc_virt MASTER_LLCC
+ &mc_virt SLAVE_EBI1>;
+ };
+ };
+
+ qcom_llcc_dcvs_hw: llcc {
+ compatible = "qcom,dcvs-hw";
+ qcom,dcvs-hw-type = <1>;
+ qcom,bus-width = <16>;
+ qcom,freq-tbl = <&llcc_freq_table>;
+
+ llcc_dcvs_sp: sp {
+ compatible = "qcom,dcvs-path";
+ qcom,dcvs-path-type = <0>;
+ interconnects = <&gem_noc MASTER_APPSS_PROC
+ &gem_noc SLAVE_LLCC>;
+ };
+ };
+
+ qcom_ddrqos_dcvs_hw: ddrqos {
+ compatible = "qcom,dcvs-hw";
+ qcom,dcvs-hw-type = <3>;
+ qcom,bus-width = <1>;
+ qcom,freq-tbl = <&ddrqos_freq_table>;
+
+ ddrqos_dcvs_sp: sp {
+ compatible = "qcom,dcvs-path";
+ qcom,dcvs-path-type = <0>;
+ interconnects = <&mc_virt MASTER_LLCC
+ &mc_virt SLAVE_EBI1>;
+ };
+ };
+ };
+
+ qcom_memlat: qcom,memlat {
+ compatible = "qcom,memlat";
+
+ ddr {
+ compatible = "qcom,memlat-grp";
+ qcom,target-dev = <&qcom_ddr_dcvs_hw>;
+ qcom,sampling-path = <&ddr_dcvs_sp>;
+ qcom,miss-ev = <0x2A>;
+
+ silver {
+ compatible = "qcom,memlat-mon";
+ qcom,cpulist = <&CPU0 &CPU1 &CPU2 &CPU3>;
+ qcom,sampling-enabled;
+ qcom,cpufreq-memfreq-tbl =
+ < 300000 200000 >,
+ < 729600 451000 >,
+ < 1132800 547000 >,
+ < 1497600 768000 >,
+ < 1670400 1017000 >;
+ };
+
+ gold {
+ compatible = "qcom,memlat-mon";
+ qcom,cpulist = <&CPU4 &CPU5 &CPU6>;
+ qcom,sampling-enabled;
+ qcom,cpufreq-memfreq-tbl =
+ < 300000 200000 >,
+ < 691200 451000 >,
+ < 806400 547000 >,
+ < 1017600 768000 >,
+ < 1228800 1017000 >,
+ < 1574400 1353000 >,
+ < 1804800 1555000 >,
+ < 2227200 1804000 >,
+ < 2380800 2094000 >;
+ };
+
+ gold-compute {
+ compatible = "qcom,memlat-mon";
+ qcom,cpulist = <&CPU4 &CPU5 &CPU6>;
+ qcom,sampling-enabled;
+ qcom,compute-mon;
+ qcom,cpufreq-memfreq-tbl =
+ < 1804800 200000 >,
+ < 2380800 1017000 >,
+ < 2500000 2092000 >;
+ };
+ };
+
+ llcc {
+ compatible = "qcom,memlat-grp";
+ qcom,target-dev = <&qcom_llcc_dcvs_hw>;
+ qcom,sampling-path = <&llcc_dcvs_sp>;
+ qcom,miss-ev = <0x2A>;
+
+ silver {
+ compatible = "qcom,memlat-mon";
+ qcom,cpulist = <&CPU0 &CPU1 &CPU2 &CPU3>;
+ qcom,sampling-enabled;
+ qcom,cpufreq-memfreq-tbl =
+ < 300000 150000 >,
+ < 729600 300000 >,
+ < 1497600 466000 >,
+ < 1670400 600000 >;
+ };
+
+ gold {
+ compatible = "qcom,memlat-mon";
+ qcom,cpulist = <&CPU4 &CPU5 &CPU6>;
+ qcom,sampling-enabled;
+ qcom,cpufreq-memfreq-tbl =
+ < 300000 150000 >,
+ < 691200 300000 >,
+ < 1017600 466000 >,
+ < 1228800 600000 >,
+ < 1804800 806000 >,
+ < 2227200 933000 >,
+ < 2476800 1000000 >;
+ };
+ };
+
+ l3 {
+ compatible = "qcom,memlat-grp";
+ qcom,target-dev = <&qcom_l3_dcvs_hw>;
+ qcom,sampling-path = <&l3_dcvs_sp>;
+ qcom,miss-ev = <0x17>;
+
+ silver {
+ compatible = "qcom,memlat-mon";
+ qcom,cpulist = <&CPU0 &CPU1 &CPU2 &CPU3>;
+ qcom,sampling-enabled;
+ qcom,cpufreq-memfreq-tbl =
+ < 300000 300000 >,
+ < 403200 403200 >,
+ < 518400 518400 >,
+ < 633600 614400 >,
+ < 825600 729600 >,
+ < 921600 825600 >,
+ < 1036800 921600 >,
+ < 1132800 1036800 >,
+ < 1228800 1132800 >,
+ < 1401600 1228800 >,
+ < 1497600 1305600 >,
+ < 1670400 1382400 >;
+ };
+
+ gold {
+ compatible = "qcom,memlat-mon";
+ qcom,cpulist = <&CPU4 &CPU5 &CPU6>;
+ qcom,sampling-enabled;
+ qcom,cpufreq-memfreq-tbl =
+ < 300000 300000 >,
+ < 806400 614400 >,
+ < 1017600 729600 >,
+ < 1228800 921600 >,
+ < 1689600 1228800 >,
+ < 1804800 1305600 >,
+ < 2227200 1382400 >;
+ };
+
+ prime {
+ compatible = "qcom,memlat-mon";
+ qcom,cpulist = <&CPU7>;
+ qcom,sampling-enabled;
+ qcom,cpufreq-memfreq-tbl =
+ < 300000 300000 >,
+ < 806400 614400 >,
+ < 1017600 729600 >,
+ < 1228800 921600 >,
+ < 1689600 1228800 >,
+ < 1804800 1305600 >,
+ < 2227200 1382400 >;
+ };
+ };
+
+ ddrqos {
+ compatible = "qcom,memlat-grp";
+ qcom,target-dev = <&qcom_ddrqos_dcvs_hw>;
+ qcom,sampling-path = <&ddrqos_dcvs_sp>;
+ qcom,miss-ev = <0x2A>;
+
+ ddrqos_gold_lat: gold {
+ compatible = "qcom,memlat-mon";
+ qcom,cpulist = <&CPU4 &CPU5 &CPU6>;
+ qcom,sampling-enabled;
+ qcom,cpufreq-memfreq-tbl =
+ < 300000 1 >,
+ < 3000000 2 >;
+ };
+ };
+ };
+
+ bwmon_llcc: qcom,bwmon-llcc@90b6400 {
+ compatible = "qcom,bwmon4";
+ reg = <0x90b6400 0x300>, <0x90b6300 0x200>;
+ reg-names = "base", "global_base";
+ interrupts = <GIC_SPI 581 IRQ_TYPE_LEVEL_HIGH>;
+ qcom,mport = <0>;
+ qcom,hw-timer-hz = <19200000>;
+ qcom,count-unit = <0x10000>;
+ qcom,target-dev = <&qcom_llcc_dcvs_hw>;
+ };
+
+ bwmon_ddr: qcom,bwmon-ddr@9091000 {
+ compatible = "qcom,bwmon5";
+ reg = <0x9091000 0x1000>;
+ reg-names = "base";
+ interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
+ qcom,hw-timer-hz = <19200000>;
+ qcom,count-unit = <0x10000>;
+ qcom,target-dev = <&qcom_ddr_dcvs_hw>;
+ };
+
qcom,chd_silver {
compatible = "qcom,core-hang-detect";
label = "silver";
@@ -738,12 +1586,216 @@
};
cache-controller@9200000 {
- //compatible = "qcom,kona-llcc";
+ compatible = "qcom,kona-llcc";
reg = <0x9200000 0x1d0000> , <0x9600000 0x50000>;
reg-names = "llcc_base", "llcc_broadcast_base";
cap-based-alloc-and-pwr-collapse;
};
+ ufsphy_mem: ufsphy_mem@1d87000 {
+ reg = <0x1d87000 0xe00>; /* PHY regs */
+ reg-names = "phy_mem";
+ #phy-cells = <0>;
+
+ lanes-per-direction = <2>;
+
+ clock-names = "ref_clk_src",
+ "ref_aux_clk";
+ clocks = <&rpmhcc RPMH_CXO_CLK>,
+ <&gcc GCC_UFS_PHY_PHY_AUX_CLK>;
+
+ resets = <&ufshc_mem 0>;
+ status = "disabled";
+ };
+
+ ufshc_mem: ufshc@1d84000 {
+ compatible = "qcom,ufshc";
+ reg = <0x1d84000 0x3000>, <0x1d90000 0x8000>;
+ reg-names = "ufs_mem", "ufs_ice";
+ interrupts = <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH>;
+ phys = <&ufsphy_mem>;
+ phy-names = "ufsphy";
+ #reset-cells = <1>;
+
+ lanes-per-direction = <2>;
+ dev-ref-clk-freq = <0>; /* 19.2 MHz */
+
+ clock-names =
+ "core_clk",
+ "bus_aggr_clk",
+ "iface_clk",
+ "core_clk_unipro",
+ "core_clk_ice",
+ "ref_clk",
+ "tx_lane0_sync_clk",
+ "rx_lane0_sync_clk",
+ "rx_lane1_sync_clk";
+ clocks =
+ <&gcc GCC_UFS_PHY_AXI_CLK>,
+ <&gcc GCC_AGGRE_UFS_PHY_AXI_CLK>,
+ <&gcc GCC_UFS_PHY_AHB_CLK>,
+ <&gcc GCC_UFS_PHY_UNIPRO_CORE_CLK>,
+ <&gcc GCC_UFS_PHY_ICE_CORE_CLK>,
+ <&rpmhcc RPMH_CXO_CLK>,
+ <&gcc GCC_UFS_PHY_TX_SYMBOL_0_CLK>,
+ <&gcc GCC_UFS_PHY_RX_SYMBOL_0_CLK>,
+ <&gcc GCC_UFS_PHY_RX_SYMBOL_1_CLK>;
+ freq-table-hz =
+ <37500000 300000000>,
+ <0 0>,
+ <0 0>,
+ <37500000 300000000>,
+ <37500000 300000000>,
+ <0 0>,
+ <0 0>,
+ <0 0>,
+ <0 0>;
+ interconnects = <&aggre1_noc MASTER_UFS_MEM &mc_virt SLAVE_EBI1>,
+ <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_UFS_MEM_CFG>;
+ interconnect-names = "ufs-ddr", "cpu-ufs";
+
+ qcom,ufs-bus-bw,name = "ufshc_mem";
+ qcom,ufs-bus-bw,num-cases = <26>;
+ qcom,ufs-bus-bw,num-paths = <2>;
+ qcom,ufs-bus-bw,vectors-KBps =
+ /*
+ * During HS G3 UFS runs at nominal voltage corner, vote
+ * higher bandwidth to push other buses in the data path
+ * to run at nominal to achieve max throughput.
+ * 4GBps pushes BIMC to run at nominal.
+ * 200MBps pushes CNOC to run at nominal.
+ * Vote for half of this bandwidth for HS G3 1-lane.
+ * For max bandwidth, vote high enough to push the buses
+ * to run in turbo voltage corner.
+ */
+ <0 0>, <0 0>, /* No vote */
+ <922 0>, <1000 0>, /* PWM G1 */
+ <1844 0>, <1000 0>, /* PWM G2 */
+ <3688 0>, <1000 0>, /* PWM G3 */
+ <7376 0>, <1000 0>, /* PWM G4 */
+ <1844 0>, <1000 0>, /* PWM G1 L2 */
+ <3688 0>, <1000 0>, /* PWM G2 L2 */
+ <7376 0>, <1000 0>, /* PWM G3 L2 */
+ <14752 0>, <1000 0>, /* PWM G4 L2 */
+ <127796 0>, <1000 0>, /* HS G1 RA */
+ <255591 0>, <1000 0>, /* HS G2 RA */
+ <2097152 0>, <102400 0>, /* HS G3 RA */
+ <4194304 0>, <204800 0>, /* HS G4 RA */
+ <255591 0>, <1000 0>, /* HS G1 RA L2 */
+ <511181 0>, <1000 0>, /* HS G2 RA L2 */
+ <4194304 0>, <204800 0>, /* HS G3 RA L2 */
+ <8388608 0>, <409600 0>, /* HS G4 RA L2 */
+ <149422 0>, <1000 0>, /* HS G1 RB */
+ <298189 0>, <1000 0>, /* HS G2 RB */
+ <2097152 0>, <102400 0>, /* HS G3 RB */
+ <4194304 0>, <204800 0>, /* HS G4 RB */
+ <298189 0>, <1000 0>, /* HS G1 RB L2 */
+ <596378 0>, <1000 0>, /* HS G2 RB L2 */
+ /* As UFS working in HS G3 RB L2 mode, aggregated
+ * bandwidth (AB) should take care of providing
+ * optimum throughput requested. However, as tested,
+ * in order to scale up CNOC clock, instantaneous
+ * bindwidth (IB) needs to be given a proper value too.
+ */
+ <4194304 0>, <204800 409600>, /* HS G3 RB L2 */
+ <8388608 0>, <409600 409600>, /* HS G4 RB L2 */
+ <7643136 0>, <307200 0>; /* Max. bandwidth */
+
+ qcom,bus-vector-names = "MIN",
+ "PWM_G1_L1", "PWM_G2_L1", "PWM_G3_L1", "PWM_G4_L1",
+ "PWM_G1_L2", "PWM_G2_L2", "PWM_G3_L2", "PWM_G4_L2",
+ "HS_RA_G1_L1", "HS_RA_G2_L1", "HS_RA_G3_L1", "HS_RA_G4_L1",
+ "HS_RA_G1_L2", "HS_RA_G2_L2", "HS_RA_G3_L2", "HS_RA_G4_L2",
+ "HS_RB_G1_L1", "HS_RB_G2_L1", "HS_RB_G3_L1", "HS_RB_G4_L1",
+ "HS_RB_G1_L2", "HS_RB_G2_L2", "HS_RB_G3_L2", "HS_RB_G4_L2",
+ "MAX";
+ reset-gpios = <&tlmm 180 GPIO_ACTIVE_LOW>;
+
+ resets = <&gcc GCC_UFS_PHY_BCR>;
+ reset-names = "rst";
+ iommus = <&apps_smmu 0xE0 0x0>;
+ qcom,iommu-dma = "bypass";
+
+ status = "disabled";
+
+ qos0 {
+ mask = <0x0f>;
+ vote = <44>;
+ };
+
+ qos1 {
+ mask = <0xf0>;
+ vote = <44>;
+ };
+ };
+
+ qcom,rmtfs_sharedmem@0 {
+ compatible = "qcom,sharedmem-uio";
+ reg = <0x0 0x280000>;
+ reg-names = "rmtfs";
+ qcom,client-id = <0x00000001>;
+ };
+
+ sdhc2_opp_table: sdhc2-opp-table {
+ compatible = "operating-points-v2";
+
+ opp-100000000 {
+ opp-hz = /bits/ 64 <100000000>;
+ opp-peak-kBps = <1600000 280000>;
+ opp-avg-kBps = <50000 0>;
+ };
+
+ opp-202000000 {
+ opp-hz = /bits/ 64 <202000000>;
+ opp-peak-kBps = <5600000 1500000>;
+ opp-avg-kBps = <104000 0>;
+ };
+ };
+
+ sdhc_2: sdhci@8804000 {
+ compatible = "qcom,sdhci-msm-v5";
+ reg = <0x8804000 0x1000>;
+ reg-names = "hc";
+
+ interrupts = <GIC_SPI 204 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 222 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "hc_irq", "pwr_irq";
+
+ clocks = <&gcc GCC_SDCC2_AHB_CLK>,
+ <&gcc GCC_SDCC2_APPS_CLK>;
+ clock-names = "iface", "core";
+
+ bus-width = <4>;
+ no-sdio;
+ no-mmc;
+ qcom,restore-after-cx-collapse;
+
+ iommus = <&apps_smmu 0x4A0 0x0>;
+ qcom,iommu-dma = "fastmap";
+ dma-coherent;
+
+ interconnects = <&aggre2_noc MASTER_SDCC_2 &mc_virt SLAVE_EBI1>,
+ <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_SDCC_2>;
+ interconnect-names = "sdhc-ddr","cpu-sdhc";
+ operating-points-v2 = <&sdhc2_opp_table>;
+
+ /* DLL HSR settings. Refer go/hsr - <Target> DLL settings */
+ qcom,dll-hsr-list = <0x0007642C 0xA800 0x10
+ 0x2C010800 0x80040868>;
+
+ status = "disabled";
+
+ qos0 {
+ mask = <0x3f>;
+ vote = <44>;
+ };
+
+ qos1 {
+ mask = <0xc0>;
+ vote = <44>;
+ };
+ };
+
wdog: qcom,wdt@17c10000 {
compatible = "qcom,msm-watchdog";
reg = <0x17c10000 0x1000>;
@@ -809,6 +1861,11 @@
compatible = "qcom,secure-buffer";
};
+ mini_dump_mode {
+ compatible = "qcom,minidump";
+ status = "ok";
+ };
+
mem_dump {
compatible = "qcom,mem-dump";
memory-region = <&dump_mem>;
@@ -1149,7 +2206,54 @@
};
};
+ tsens0: tsens@c222000 {
+ compatible = "qcom,tsens24xx";
+ reg = <0xc222000 0x4>,
+ <0xc263000 0x1ff>;
+ reg-names = "tsens_srot_physical",
+ "tsens_tm_physical";
+ interrupts = <GIC_SPI 506 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 508 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "tsens-upper-lower", "tsens-critical";
+ tsens-reinit-wa;
+ #thermal-sensor-cells = <1>;
+ };
+
+ tsens1: tsens@c223000 {
+ compatible = "qcom,tsens24xx";
+ reg = <0xc223000 0x4>,
+ <0xc265000 0x1ff>;
+ reg-names = "tsens_srot_physical",
+ "tsens_tm_physical";
+ interrupts = <GIC_SPI 507 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 509 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "tsens-upper-lower", "tsens-critical";
+ tsens-reinit-wa;
+ #thermal-sensor-cells = <1>;
+ };
+
+ eud: qcom,msm-eud@88e0000 {
+ compatible = "qcom,msm-eud";
+ interrupt-names = "eud_irq";
+ interrupt-parent = <&pdc>;
+ interrupts = <11 IRQ_TYPE_LEVEL_HIGH>;
+ reg = <0x088E0000 0x2000>,
+ <0x088E2000 0x1000>;
+ reg-names = "eud_base", "eud_mode_mgr2";
+ qcom,secure-eud-en;
+ qcom,eud-clock-vote-req;
+ clocks = <&gcc GCC_USB_PHY_CFG_AHB2PHY_BCR>;
+ clock-names = "eud_ahb2phy_clk";
+ status = "ok";
+ };
};
+#include "kona-usb.dtsi"
#include "kona-regulators.dtsi"
+#include "kona-pmic-overlay.dtsi"
+#include "kona-thermal.dtsi"
#include "kona-pinctrl.dtsi"
+#include "msm-arm-smmu-kona.dtsi"
+#include "kona-dma-heaps.dtsi"
+#include "kona-qupv3.dtsi"
+#include "kona-pcie.dtsi"
diff --git a/qcom/lemans-4pmic-regulators.dtsi b/qcom/lemans-4pmic-regulators.dtsi
index 2da37d95..520d5624 100755
--- a/qcom/lemans-4pmic-regulators.dtsi
+++ b/qcom/lemans-4pmic-regulators.dtsi
@@ -410,9 +410,8 @@
qcom,set = <RPMH_REGULATOR_SET_ALL>;
regulator-min-microvolt = <2400000>;
regulator-max-microvolt = <3300000>;
- qcom,init-voltage = <2960000>;
qcom,init-mode =
- <RPMH_REGULATOR_MODE_LPM>;
+ <RPMH_REGULATOR_MODE_HPM>;
};
};
diff --git a/qcom/lemans-adp-air.dtsi b/qcom/lemans-adp-air.dtsi
index 689bf563..d14e1d28 100755
--- a/qcom/lemans-adp-air.dtsi
+++ b/qcom/lemans-adp-air.dtsi
@@ -1 +1,5 @@
#include "lemans-adp-common.dtsi"
+
+&cdsp1_pas {
+ status = "disabled";
+};
diff --git a/qcom/lemans-adp-common.dtsi b/qcom/lemans-adp-common.dtsi
index 3316447c..12115d7c 100755
--- a/qcom/lemans-adp-common.dtsi
+++ b/qcom/lemans-adp-common.dtsi
@@ -1,4 +1,5 @@
#include "lemans-pmic-overlay.dtsi"
+#include <dt-bindings/gpio/gpio.h>
/ {
model = "Qualcomm Technologies, Inc. Lemans ADP";
@@ -7,4 +8,127 @@
};
&soc {
+ /* PWR_CTR1_VDD_PA supply */
+ vreg_conn_pa: vreg_conn_pa {
+ compatible = "regulator-fixed";
+ regulator-name = "vreg_conn_pa";
+ startup-delay-us = <4000>;
+ enable-active-high;
+ gpio = <&pm8775_2_gpios 6 0>;
+ };
+
+};
+
+&pm8775_1_adc {
+ pm8775_1_xo_therm {
+ reg = <PM8775_1_ADC5_GEN3_AMUX1_THM_100K_PU>;
+ label = "pm8775_1_xo_therm";
+ qcom,ratiometric;
+ qcom,hw-settle-time = <700>;
+ qcom,pre-scaling = <1 1>;
+ };
+
+ pm8775_1_ufs0_therm {
+ reg = <PM8775_1_ADC5_GEN3_AMUX5_THM_100K_PU>;
+ label = "pm8775_1_ufs0_therm";
+ qcom,ratiometric;
+ qcom,hw-settle-time = <200>;
+ qcom,pre-scaling = <1 1>;
+ };
+
+ pm8775_1_soc_therm {
+ reg = <PM8775_1_ADC5_GEN3_AMUX6_THM_100K_PU>;
+ label = "pm8775_1_soc_therm";
+ qcom,ratiometric;
+ qcom,hw-settle-time = <200>;
+ qcom,pre-scaling = <1 1>;
+ };
+};
+
+&pm8775_3_adc {
+ pm8775_3_sdram_therm1 {
+ reg = <PM8775_3_ADC5_GEN3_AMUX6_THM_100K_PU>;
+ label = "pm8775_3_sdram_therm1";
+ qcom,ratiometric;
+ qcom,hw-settle-time = <200>;
+ qcom,pre-scaling = <1 1>;
+ };
+};
+
+&pcie1 {
+ qcom,boot-option = <0x0>;
+};
+
+&pcie1_rp {
+ nvme_x8 {
+ reg = <0 0 0 0 0>;
+ pci-ids =
+ "8086:0953",
+ "8086:0a54",
+ "8086:0a55",
+ "8086:f1a5",
+ "8086:f1a5",
+ "1c58:0003",
+ "1c58:0023",
+ "1c5c:1327",
+ "1c5f:0540",
+ "144d:a821",
+ "144d:a822",
+ "144d:a808",
+ "1d1d:1f1f",
+ "1d1d:2807",
+ "1d1d:2601",
+ "106b:2001",
+ "106b:2003",
+ "1179:0115",
+ "1179:0116";
+ };
+};
+
+&pm8775_3_gpios {
+ usb201_vbus_boost {
+ usb20_vbus_boost_default: usb20_vbus_boost_default {
+ pins = "gpio3";
+ function = "normal";
+ output-high;
+ power-source = <0>;
+ };
+
+ usb21_vbus_boost_default: usb21_vbus_boost_default {
+ pins = "gpio10";
+ function = "normal";
+ output-high;
+ power-source = <0>;
+ };
+ };
+};
+
+&pm8775_2_gpios {
+ usb22_vbus_boost {
+ usb22_vbus_boost_default: usb22_vbus_boost_default {
+ pins = "gpio9";
+ function = "normal";
+ output-high;
+ power-source = <0>;
+ };
+ };
+};
+
+&usb0 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&usb20_vbus_boost_default>;
+};
+
+&usb1 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&usb21_vbus_boost_default>;
+};
+
+&usb2 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&usb22_vbus_boost_default>;
+};
+
+&ethqos_hw {
+ snps,reset-gpios = <&pm8775_3_gpios 8 GPIO_ACTIVE_HIGH>;
};
diff --git a/qcom/lemans-adp-star.dtsi b/qcom/lemans-adp-star.dtsi
index 689bf563..d14e1d28 100755
--- a/qcom/lemans-adp-star.dtsi
+++ b/qcom/lemans-adp-star.dtsi
@@ -1 +1,5 @@
#include "lemans-adp-common.dtsi"
+
+&cdsp1_pas {
+ status = "disabled";
+};
diff --git a/qcom/lemans-coresight.dtsi b/qcom/lemans-coresight.dtsi
new file mode 100755
index 00000000..0e368640
--- /dev/null
+++ b/qcom/lemans-coresight.dtsi
@@ -0,0 +1,988 @@
+&soc {
+ stm: stm@04002000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb962>;
+ reg = <0x04002000 0x1000>,
+ <0x16280000 0x180000>;
+ reg-names = "stm-base", "stm-stimulus-base";
+
+ atid = <16>;
+ coresight-name = "coresight-stm";
+
+ clocks = <&aoss_qmp QDSS_CLK>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ stm_out_funnel_in0: endpoint {
+ remote-endpoint =
+ <&funnel_in0_in_stm>;
+ };
+ };
+ };
+ };
+
+ tpdm_dcc: tpdm@0x4003000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb968>;
+ reg = <0x4003000 0x1000>;
+ reg-names = "tpdm-base";
+
+ atid = <65>;
+ coresight-name = "coresight-tpdm-dcc";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ qcom,hw-enable-check;
+
+ out-ports {
+ port {
+ tpdm_dcc_out_tpda_qdss_0: endpoint {
+ remote-endpoint =
+ <&tpda_qdss_0_in_tpdm_dcc>;
+ };
+ };
+ };
+ };
+
+ tpdm_llm_silver: tpdm@068a0000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb968>;
+ reg = <0x068a0000 0x1000>;
+ reg-names = "tpdm-base";
+
+ atid = <66>;
+ coresight-name = "coresight-tpdm-llm-silver";
+
+ clocks = <&aoss_qmp QDSS_CLK>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ tpdm_llm_silver_out_tpda_apss_0: endpoint {
+ remote-endpoint =
+ <&tpda_apss_0_in_tpdm_llm_silver>;
+ };
+ };
+ };
+ };
+
+ tpdm_llm_gold: tpdm@068b0000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb968>;
+ reg = <0x068b0000 0x1000>;
+ reg-names = "tpdm-base";
+
+ atid = <66>;
+ coresight-name = "coresight-tpdm-llm-gold";
+
+ clocks = <&aoss_qmp QDSS_CLK>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ tpdm_llm_gold_out_tpda_apss_1: endpoint {
+ remote-endpoint =
+ <&tpda_apss_1_in_tpdm_llm_gold>;
+ };
+ };
+ };
+ };
+
+ tpdm_apss_llm: tpdm@068c0000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb968>;
+ reg = <0x068c0000 0x1000>;
+ reg-names = "tpdm-base";
+
+ atid = <66>;
+ coresight-name = "coresight-tpdm-apss-llm";
+
+ clocks = <&aoss_qmp QDSS_CLK>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ tpdm_apss_llm_out_tpda_apss_2: endpoint {
+ remote-endpoint =
+ <&tpda_apss_2_in_tpdm_apss_llm>;
+ };
+ };
+ };
+ };
+
+ tpdm_actpm: tpdm@06860000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb968>;
+ reg = <0x06860000 0x1000>;
+ reg-names = "tpdm-base";
+
+ atid = <66>;
+ coresight-name = "coresight-tpdm-actpm";
+
+ clocks = <&aoss_qmp QDSS_CLK>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ tpdm_apss0_out_tpda_apss_3: endpoint {
+ remote-endpoint =
+ <&tpda_apss_3_in_tpdm_apss0>;
+ };
+ };
+ };
+ };
+
+ tpdm_apss: tpdm@06861000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb968>;
+ reg = <0x06861000 0x1000>;
+ reg-names = "tpdm-base";
+
+ atid = <66>;
+ coresight-name = "coresight-tpdm-apss";
+
+ clocks = <&aoss_qmp QDSS_CLK>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ tpdm_apps1_out_tpda_apss_4: endpoint {
+ remote-endpoint =
+ <&tpda_apss_4_in_tpdm_apps1>;
+ };
+ };
+ };
+ };
+
+ tpda_apss: tpda@06863000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb969>;
+
+ reg = <0x06863000 0x1000>;
+ reg-names = "tpda-base";
+
+ qcom,tpda-atid = <66>;
+
+ qcom,dsb-elem-size = <2 32>,
+ <4 32>;
+ qcom,cmb-elem-size = <0 32>,
+ <1 32>,
+ <3 64>;
+
+ coresight-name = "coresight-tpda-apss";
+
+ clocks = <&aoss_qmp QDSS_CLK>;
+ clock-names = "apb_pclk";
+
+ in-ports {
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ tpda_apss_0_in_tpdm_llm_silver: endpoint {
+ remote-endpoint =
+ <&tpdm_llm_silver_out_tpda_apss_0>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+ tpda_apss_1_in_tpdm_llm_gold: endpoint {
+ remote-endpoint =
+ <&tpdm_llm_gold_out_tpda_apss_1>;
+ };
+ };
+
+ port@3 {
+ reg = <3>;
+ tpda_apss_3_in_tpdm_apss0: endpoint {
+ remote-endpoint =
+ <&tpdm_apss0_out_tpda_apss_3>;
+ };
+ };
+
+ port@2 {
+ reg = <2>;
+ tpda_apss_2_in_tpdm_apss_llm: endpoint {
+ remote-endpoint =
+ <&tpdm_apss_llm_out_tpda_apss_2>;
+ };
+ };
+
+ port@4 {
+ reg = <4>;
+ tpda_apss_4_in_tpdm_apps1: endpoint {
+ remote-endpoint =
+ <&tpdm_apps1_out_tpda_apss_4>;
+ };
+ };
+
+ };
+
+ out-ports {
+
+ port {
+ tpda_apss_out_funnel_apss: endpoint {
+ remote-endpoint =
+ <&funnel_apss_in_tpda_apss>;
+ };
+ };
+
+ };
+ };
+
+ ete0 {
+ compatible = "arm,embedded-trace-extension";
+ cpu = <&CPU0>;
+
+ coresight-name = "coresight-ete0";
+ qcom,skip-power-up;
+ atid = <1>;
+ out-ports {
+ port {
+ ete0_out_funnel_ete: endpoint {
+ remote-endpoint = <&funnel_ete_in_ete0>;
+ };
+ };
+ };
+ };
+
+ ete1 {
+ compatible = "arm,embedded-trace-extension";
+ cpu = <&CPU1>;
+
+ coresight-name = "coresight-ete1";
+ qcom,skip-power-up;
+ atid = <2>;
+ out-ports {
+ port {
+ ete1_out_funnel_ete: endpoint {
+ remote-endpoint = <&funnel_ete_in_ete1>;
+ };
+ };
+ };
+ };
+
+ ete2 {
+ compatible = "arm,embedded-trace-extension";
+ cpu = <&CPU2>;
+
+ coresight-name = "coresight-ete2";
+ qcom,skip-power-up;
+ atid = <3>;
+ out-ports {
+ port {
+ ete2_out_funnel_ete: endpoint {
+ remote-endpoint = <&funnel_ete_in_ete2>;
+ };
+ };
+ };
+ };
+
+ ete3 {
+ compatible = "arm,embedded-trace-extension";
+ cpu = <&CPU3>;
+
+ coresight-name = "coresight-ete3";
+ qcom,skip-power-up;
+ atid = <4>;
+ out-ports {
+ port {
+ ete3_out_funnel_ete: endpoint {
+ remote-endpoint = <&funnel_ete_in_ete3>;
+ };
+ };
+ };
+ };
+
+ ete4 {
+ compatible = "arm,embedded-trace-extension";
+ cpu = <&CPU4>;
+
+ coresight-name = "coresight-ete4";
+ qcom,skip-power-up;
+ atid = <5>;
+ out-ports {
+ port {
+ ete4_out_funnel_ete: endpoint {
+ remote-endpoint = <&funnel_ete_in_ete4>;
+ };
+ };
+ };
+ };
+
+ ete5 {
+ compatible = "arm,embedded-trace-extension";
+ cpu = <&CPU5>;
+
+ coresight-name = "coresight-ete5";
+ qcom,skip-power-up;
+ atid = <6>;
+ out-ports {
+ port {
+ ete5_out_funnel_ete: endpoint {
+ remote-endpoint = <&funnel_ete_in_ete5>;
+ };
+ };
+ };
+ };
+
+ ete6 {
+ compatible = "arm,embedded-trace-extension";
+ cpu = <&CPU6>;
+
+ coresight-name = "coresight-ete6";
+ qcom,skip-power-up;
+ atid = <7>;
+ out-ports {
+ port {
+ ete6_out_funnel_ete: endpoint {
+ remote-endpoint = <&funnel_ete_in_ete6>;
+ };
+ };
+ };
+ };
+
+ ete7 {
+ compatible = "arm,embedded-trace-extension";
+ cpu = <&CPU7>;
+
+ coresight-name = "coresight-ete7";
+ qcom,skip-power-up;
+ atid = <8>;
+ out-ports {
+ port {
+ ete7_out_funnel_ete: endpoint {
+ remote-endpoint = <&funnel_ete_in_ete7>;
+ };
+ };
+ };
+ };
+
+ funnel_ete {
+ compatible = "arm,coresight-static-funnel";
+ coresight-name = "coresight-funnel-ete";
+
+ out-ports {
+ port {
+ funnel_ete_out_funnel_apss: endpoint {
+ remote-endpoint =
+ <&funnel_apss_in_funnel_ete>;
+ };
+ };
+ };
+
+ in-ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ funnel_ete_in_ete0: endpoint {
+ remote-endpoint =
+ <&ete0_out_funnel_ete>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+ funnel_ete_in_ete1: endpoint {
+ remote-endpoint =
+ <&ete1_out_funnel_ete>;
+ };
+ };
+
+ port@2 {
+ reg = <2>;
+ funnel_ete_in_ete2: endpoint {
+ remote-endpoint =
+ <&ete2_out_funnel_ete>;
+ };
+ };
+
+ port@3 {
+ reg = <3>;
+ funnel_ete_in_ete3: endpoint {
+ remote-endpoint =
+ <&ete3_out_funnel_ete>;
+ };
+ };
+
+ port@4 {
+ reg = <4>;
+ funnel_ete_in_ete4: endpoint {
+ remote-endpoint =
+ <&ete4_out_funnel_ete>;
+ };
+ };
+
+ port@5 {
+ reg = <5>;
+ funnel_ete_in_ete5: endpoint {
+ remote-endpoint =
+ <&ete5_out_funnel_ete>;
+ };
+ };
+
+ port@6 {
+ reg = <6>;
+ funnel_ete_in_ete6: endpoint {
+ remote-endpoint =
+ <&ete6_out_funnel_ete>;
+ };
+ };
+
+ port@7 {
+ reg = <7>;
+ funnel_ete_in_ete7: endpoint {
+ remote-endpoint =
+ <&ete7_out_funnel_ete>;
+ };
+ };
+ };
+ };
+
+ funnel_apss: funnel@06810000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x0003b908>;
+
+ reg = <0x06810000 0x1000>;
+ reg-names = "funnel-base";
+
+ coresight-name = "coresight-funnel-apss";
+
+ clocks = <&aoss_qmp QDSS_CLK>;
+ clock-names = "apb_pclk";
+
+ in-ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+
+ port@0 {
+ reg = <0>;
+ funnel_apss_in_funnel_ete: endpoint {
+ remote-endpoint =
+ <&funnel_ete_out_funnel_apss>;
+ };
+ };
+
+
+ port@3 {
+ reg = <3>;
+ funnel_apss_in_tpda_apss: endpoint {
+ remote-endpoint =
+ <&tpda_apss_out_funnel_apss>;
+ };
+ };
+
+ };
+
+ out-ports {
+ port {
+ funnel_apss_out_funnel_in1: endpoint {
+ remote-endpoint =
+ <&funnel_in1_in_funnel_apss>;
+ };
+ };
+
+ };
+ };
+
+ tpda_qdss: tpda@0x4004000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb969>;
+
+ reg = <0x4004000 0x1000>;
+ reg-names = "tpda-base";
+
+ qcom,tpda-atid = <65>;
+ coresight-name = "coresight-tpda-qdss";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ in-ports {
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ tpda_qdss_0_in_tpdm_dcc: endpoint {
+ remote-endpoint =
+ <&tpdm_dcc_out_tpda_qdss_0>;
+ };
+ };
+ };
+
+ out-ports {
+
+ port {
+ tpda_qdss_out_funnel_in0: endpoint {
+ remote-endpoint =
+ <&funnel_in0_in_tpda_qdss>;
+ };
+ };
+ };
+ };
+
+ funnel_in0: funnel@04041000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb908>;
+
+ reg = <0x04041000 0x1000>;
+ reg-names = "funnel-base";
+
+ coresight-name = "coresight-funnel-in0";
+
+ clocks = <&aoss_qmp QDSS_CLK>;
+ clock-names = "apb_pclk";
+
+ in-ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@7 {
+ reg = <7>;
+ funnel_in0_in_stm: endpoint {
+ remote-endpoint =
+ <&stm_out_funnel_in0>;
+ };
+ };
+
+ port@6 {
+ reg = <6>;
+ funnel_in0_in_tpda_qdss: endpoint {
+ remote-endpoint =
+ <&tpda_qdss_out_funnel_in0>;
+ };
+ };
+
+ };
+
+ out-ports {
+ port {
+ funnel_in0_out_funnel_qdss: endpoint {
+ remote-endpoint =
+ <&funnel_qdss_in_funnel_in0>;
+ };
+ };
+
+ };
+ };
+
+ funnel_in1: funnel@04042000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x0003b908>;
+
+ reg = <0x04042000 0x1000>;
+ reg-names = "funnel-base";
+
+ coresight-name = "coresight-funnel-in1";
+
+ clocks = <&aoss_qmp QDSS_CLK>;
+ clock-names = "apb_pclk";
+
+ in-ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@4 {
+ reg = <4>;
+ funnel_in1_in_funnel_apss: endpoint {
+ remote-endpoint =
+ <&funnel_apss_out_funnel_in1>;
+ };
+ };
+
+ };
+
+ out-ports {
+ port {
+ funnel_in1_out_funnel_qdss: endpoint {
+ remote-endpoint =
+ <&funnel_qdss_in_funnel_in1>;
+ };
+ };
+
+ };
+ };
+
+ funnel_qdss: funnel@04045000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb908>;
+
+ reg = <0x04045000 0x1000>;
+ reg-names = "funnel-base";
+
+ coresight-name = "coresight-funnel-qdss";
+
+ clocks = <&aoss_qmp QDSS_CLK>;
+ clock-names = "apb_pclk";
+
+ in-ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@1 {
+ reg = <1>;
+ funnel_qdss_in_funnel_in1: endpoint {
+ remote-endpoint =
+ <&funnel_in1_out_funnel_qdss>;
+ };
+ };
+
+ port@0 {
+ reg = <0>;
+ funnel_qdss_in_funnel_in0: endpoint {
+ remote-endpoint =
+ <&funnel_in0_out_funnel_qdss>;
+ };
+ };
+
+ };
+
+ out-ports {
+ port {
+ funnel_qdss_out_funnel_aoss: endpoint {
+ remote-endpoint =
+ <&funnel_aoss_in_funnel_qdss>;
+ };
+ };
+
+ };
+ };
+
+
+ funnel_aoss: funnel@04b04000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb908>;
+
+ reg = <0x04b04000 0x1000>;
+ reg-names = "funnel-base";
+
+ coresight-name = "coresight-funnel-aoss";
+
+ clocks = <&aoss_qmp QDSS_CLK>;
+ clock-names = "apb_pclk";
+
+ in-ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@7 {
+ reg = <7>;
+ funnel_aoss_in_funnel_qdss: endpoint {
+ remote-endpoint =
+ <&funnel_qdss_out_funnel_aoss>;
+ };
+ };
+ };
+
+ out-ports {
+ port {
+ funnel_aoss_out_tmc_etf: endpoint {
+ remote-endpoint =
+ <&tmc_etf_in_funnel_aoss>;
+ };
+ };
+ };
+
+ };
+
+ dummy_eud: dummy_sink {
+ compatible = "qcom,coresight-dummy";
+
+ coresight-name = "coresight-eud";
+
+ qcom,dummy-sink;
+ in-ports {
+ port {
+ eud_in_replicator_swao: endpoint {
+ remote-endpoint =
+ <&replicator_swao_out_eud>;
+ };
+ };
+ };
+ };
+
+
+ tmc_etf: tmc@04b05000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb961>;
+ reg = <0x04b05000 0x1000>;
+ reg-names = "tmc-base";
+
+ coresight-name = "coresight-tmc-etf";
+ cti-reset-trig-num = <0>;
+ cti-flush-trig-num = <1>;
+ coresight-csr = <&csr>;
+ arm,default-sink;
+
+ clocks = <&aoss_qmp QDSS_CLK>;
+ clock-names = "apb_pclk";
+
+ in-ports {
+ port {
+ tmc_etf_in_funnel_aoss: endpoint {
+ remote-endpoint =
+ <&funnel_aoss_out_tmc_etf>;
+ };
+ };
+ };
+
+ out-ports {
+ port {
+ tmc_etf_out_replicator_swao: endpoint {
+ remote-endpoint =
+ <&replicator_swao_in_tmc_etf>;
+ };
+ };
+ };
+ };
+
+
+ replicator_swao: replicator@04b06000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb909>;
+ reg = <0x04b06000 0x1000>;
+ reg-names = "replicator-base";
+
+ coresight-name = "coresight-replicator_swao";
+
+ clocks = <&aoss_qmp QDSS_CLK>;
+ clock-names = "apb_pclk";
+
+ in-ports {
+ port {
+ replicator_swao_in_tmc_etf: endpoint {
+ remote-endpoint = <&tmc_etf_out_replicator_swao>;
+ };
+ };
+ };
+
+ out-ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ replicator_swao_out_replicator_qdss: endpoint {
+ remote-endpoint =
+ <&replicator_qdss_in_replicator_swao>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+ replicator_swao_out_eud: endpoint {
+ remote-endpoint =
+ <&eud_in_replicator_swao>;
+ };
+ };
+ };
+ };
+
+ replicator_qdss: replicator@4046000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb909>;
+ reg = <0x04046000 0x1000>;
+ reg-names = "replicator-base";
+
+ coresight-name = "coresight-replicator_qdss";
+
+ clocks = <&aoss_qmp QDSS_CLK>;
+ clock-names = "apb_pclk";
+
+ in-ports {
+ port {
+ replicator_qdss_in_replicator_swao: endpoint {
+ remote-endpoint =
+ <&replicator_swao_out_replicator_qdss>;
+ };
+ };
+ };
+
+ out-ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ replicator_qdss_out_replicator_etr: endpoint {
+ remote-endpoint =
+ <&replicator_etr_in_replicator_qdss>;
+ };
+ };
+ };
+ };
+
+ replicator_etr: replicator@0404E000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb909>;
+ reg = <0x0404E000 0x1000>;
+ reg-names = "replicator-base";
+
+ coresight-name = "coresight-replicator_etr";
+
+ clocks = <&aoss_qmp QDSS_CLK>;
+ clock-names = "apb_pclk";
+
+ in-ports {
+ port {
+ replicator_etr_in_replicator_qdss: endpoint {
+ remote-endpoint =
+ <&replicator_qdss_out_replicator_etr>;
+ };
+ };
+ };
+
+ out-ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ replicator_etr_out_tmc_etr: endpoint {
+ remote-endpoint = <&tmc_etr_in_replicator_etr>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+ replicator_etr_out_tmc_etr1: endpoint {
+ remote-endpoint = <&tmc_etr1_in_replicator_etr>;
+ };
+ };
+ };
+ };
+
+
+ csr: csr@04001000 {
+ compatible = "qcom,coresight-csr";
+ reg = <0x04001000 0x1000>;
+ reg-names = "csr-base";
+
+ coresight-name = "coresight-csr";
+ qcom,hwctrl-set-support;
+ qcom,set-byte-cntr-support;
+
+ qcom,blk-size = <1>;
+ };
+
+
+ cti0: cti@078E0000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x0003b966>;
+ reg = <0x078E0000 0x1000>;
+ reg-names = "cti-base";
+
+ coresight-name = "coresight-cti0";
+
+ clocks = <&aoss_qmp QDSS_CLK>;
+ clock-names = "apb_pclk";
+
+ };
+
+
+ swao_csr: csr@04b11000 {
+ compatible = "qcom,coresight-csr";
+ reg = <0x04B11000 0x1000>,
+ <0x04B110f8 0x50>;
+ reg-names = "csr-base", "msr-base";
+
+ coresight-name = "coresight-swao-csr";
+ qcom,timestamp-support;
+ qcom,msr-support;
+
+ clocks = <&aoss_qmp QDSS_CLK>;
+ clock-names = "apb_pclk";
+
+ qcom,blk-size = <1>;
+ };
+
+ tmc_etr: tmc@4048000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb961>;
+ reg = <0x4048000 0x1000>,
+ <0x4064000 0x16000>;
+ reg-names = "tmc-base", "bam-base";
+
+ qcom,iommu-dma = "default";
+ iommus = <&apps_smmu 0x04e0 0x40>,
+ <&apps_smmu 0x04a0 0x0>;
+
+ qcom,iommu-dma-addr-pool = <0x0 0xffc00000>;
+
+ coresight-name = "coresight-tmc-etr";
+
+ qcom,mem_support;
+ qcom,sw-usb;
+ dma-coherent;
+ coresight-csr = <&csr>;
+ csr-atid-offset = <0xf8>;
+ csr-irqctrl-offset = <0x6c>;
+ byte-cntr-name = "byte-cntr";
+ byte-cntr-class-name = "coresight-tmc-etr-stream";
+
+ interrupts = <GIC_SPI 270 IRQ_TYPE_EDGE_RISING>;
+ interrupt-names = "byte-cntr-irq";
+
+ clocks = <&aoss_qmp QDSS_CLK>;
+ clock-names = "apb_pclk";
+ in-ports {
+ port {
+ tmc_etr_in_replicator_etr: endpoint {
+ remote-endpoint =
+ <&replicator_etr_out_tmc_etr>;
+ };
+ };
+ };
+ };
+
+ tmc_etr1: tmc@404F000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb961>;
+ reg = <0x0404F000 0x1000>;
+ reg-names = "tmc-base";
+
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+
+ qcom,mem_support;
+ arm,buffer-size = <0x400000>;
+ coresight-name = "coresight-tmc-etr1";
+ coresight-ctis = <&cti0 &cti0>;
+ cti-reset-trig-num = <0>;
+ cti-flush-trig-num = <3>;
+ coresight-csr = <&csr>;
+ csr-atid-offset = <0x108>;
+ byte-cntr-name = "byte-cntr1";
+ byte-cntr-class-name = "coresight-tmc-etr1-stream";
+ clocks = <&aoss_qmp QDSS_CLK>;
+ clock-names = "apb_pclk";
+
+ qcom,iommu-dma = "default";
+ iommus = <&apps_smmu 0x04c0 0x00>,
+ <&apps_smmu 0x04E0 0x40>,
+ <&apps_smmu 0x04A0 0x40>;
+ qcom,iommu-dma-addr-pool = <0x0 0xffc00000>;
+ interrupts = <GIC_SPI 262 IRQ_TYPE_EDGE_RISING>;
+ interrupt-names = "byte-cntr-irq";
+
+ in-ports {
+ port {
+ tmc_etr1_in_replicator_etr: endpoint {
+ remote-endpoint =
+ <&replicator_etr_out_tmc_etr1>;
+ };
+ };
+ };
+ };
+
+};
diff --git a/qcom/lemans-debug.dtsi b/qcom/lemans-debug.dtsi
index 27e07a2b..30e24f9d 100755
--- a/qcom/lemans-debug.dtsi
+++ b/qcom/lemans-debug.dtsi
@@ -13,6 +13,17 @@
};
&soc {
+ dcc: dcc_v2@40ff000 {
+ compatible = "qcom,dcc-v2";
+ reg = <0x040ff000 0x1000>,
+ <0x040b8800 0x7000>;
+ reg-names = "dcc-base", "dcc-ram-base";
+ qcom,transaction_timeout = <0>;
+ dcc-ram-offset = <0x0>;
+
+ status = "okay";
+ };
+
mem_dump {
compatible = "qcom,mem-dump";
memory-region = <&dump_mem>;
diff --git a/qcom/lemans-dma-heaps.dtsi b/qcom/lemans-dma-heaps.dtsi
index 87f446c4..75ffb7b7 100755
--- a/qcom/lemans-dma-heaps.dtsi
+++ b/qcom/lemans-dma-heaps.dtsi
@@ -37,10 +37,9 @@
};
qcom,secure_cdsp {
- qcom,dma-heap-name = "qcom,secure-cdsp";
- qcom,dma-heap-type = <HEAP_TYPE_SECURE_CARVEOUT>;
+ qcom,dma-heap-name = "qcom,cma-secure-cdsp";
+ qcom,dma-heap-type = <HEAP_TYPE_CMA>;
memory-region = <&cdsp_secure_mem>;
- qcom,token = <0x20000000>;
};
qcom,sp_hlos {
diff --git a/qcom/lemans-ivi-adas-adp-star-overlay.dts b/qcom/lemans-ivi-adas-adp-star-overlay.dts
new file mode 100755
index 00000000..df1281b1
--- /dev/null
+++ b/qcom/lemans-ivi-adas-adp-star-overlay.dts
@@ -0,0 +1,12 @@
+/dts-v1/;
+/plugin/;
+
+#include "lemans-qam-star.dtsi"
+
+/ {
+ model = "Qualcomm Technologies, Inc. Lemans IVI ADAS ADP STAR";
+ compatible = "qcom,lemans-ivi-adas", "qcom,lemans", "qcom,adp-star", "qcom,lemans-ivi-adas-adp-star";
+ qcom,msm-id = <534 0x10000>;
+ qcom,board-id = <0x10019 0>;
+};
+
diff --git a/qcom/lemans-ivi-adas-adp-star.dts b/qcom/lemans-ivi-adas-adp-star.dts
new file mode 100755
index 00000000..e52defa2
--- /dev/null
+++ b/qcom/lemans-ivi-adas-adp-star.dts
@@ -0,0 +1,10 @@
+/dts-v1/;
+
+#include "lemans-ivi-adas.dtsi"
+#include "lemans-qam-star.dtsi"
+
+/ {
+ model = "Qualcomm Technologies, Inc. Lemans IVI ADAS ADP STAR";
+ compatible = "qcom,lemans-ivi-adas", "qcom,lemans", "qcom,adp-star", "qcom,lemans-ivi-adas-adp-star";
+};
+
diff --git a/qcom/lemans-ivi-adas-qam-star-overlay.dts b/qcom/lemans-ivi-adas-qam-star-overlay.dts
new file mode 100755
index 00000000..e68d15fc
--- /dev/null
+++ b/qcom/lemans-ivi-adas-qam-star-overlay.dts
@@ -0,0 +1,12 @@
+/dts-v1/;
+/plugin/;
+
+#include "lemans-qam-star.dtsi"
+
+/ {
+ model = "Qualcomm Technologies, Inc. Lemans IVI ADAS QAM STAR";
+ compatible = "qcom,lemans-ivi-adas", "qcom,lemans", "qcom,qam-star", "qcom,lemans-ivi-adas-qam-star";
+ qcom,msm-id = <534 0x10000>;
+ qcom,board-id = <0x10025 0>;
+};
+
diff --git a/qcom/lemans-ivi-adas-qam-star.dts b/qcom/lemans-ivi-adas-qam-star.dts
new file mode 100755
index 00000000..24f3f388
--- /dev/null
+++ b/qcom/lemans-ivi-adas-qam-star.dts
@@ -0,0 +1,10 @@
+/dts-v1/;
+
+#include "lemans-ivi-adas.dtsi"
+#include "lemans-qam-star.dtsi"
+
+/ {
+ model = "Qualcomm Technologies, Inc. Lemans IVI ADAS QAM STAR";
+ compatible = "qcom,lemans-ivi-adas", "qcom,lemans", "qcom,qam-star", "qcom,lemans-ivi-adas-qam-star";
+};
+
diff --git a/qcom/lemans-ivi-adas.dts b/qcom/lemans-ivi-adas.dts
new file mode 100755
index 00000000..9dadb30f
--- /dev/null
+++ b/qcom/lemans-ivi-adas.dts
@@ -0,0 +1,8 @@
+/dts-v1/;
+
+#include "lemans-ivi-adas.dtsi"
+/ {
+ model = "Qualcomm Technologies, Inc. Lemans IVI ADAS SoC";
+ compatible = "qcom,lemans-ivi-adas", "qcom,lemans";
+ qcom,board-id = <0 0>;
+};
diff --git a/qcom/lemans-ivi-adas.dtsi b/qcom/lemans-ivi-adas.dtsi
new file mode 100755
index 00000000..a30d7f15
--- /dev/null
+++ b/qcom/lemans-ivi-adas.dtsi
@@ -0,0 +1,7 @@
+#include "lemans.dtsi"
+
+/ {
+ model = "Qualcomm Technologies, Inc. LeMans IVI ADAS SoC";
+ compatible = "qcom,lemans-ivi-adas", "qcom,lemans";
+ qcom,msm-id = <534 0x10000>;
+};
diff --git a/qcom/lemans-pcie.dtsi b/qcom/lemans-pcie.dtsi
index 34cccbd3..f7d1dd23 100755
--- a/qcom/lemans-pcie.dtsi
+++ b/qcom/lemans-pcie.dtsi
@@ -29,11 +29,11 @@
"int_d";
#interrupt-cells = <1>;
interrupt-map-mask = <0 0 0 0xffffffff>;
- interrupt-map = <0 0 0 0 &intc GIC_SPI 306 IRQ_TYPE_LEVEL_HIGH
- 0 0 0 1 &intc GIC_SPI 434 IRQ_TYPE_LEVEL_HIGH
- 0 0 0 2 &intc GIC_SPI 435 IRQ_TYPE_LEVEL_HIGH
- 0 0 0 3 &intc GIC_SPI 438 IRQ_TYPE_LEVEL_HIGH
- 0 0 0 4 &intc GIC_SPI 439 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-map = <0 0 0 0 &intc 0 GIC_SPI 306 IRQ_TYPE_LEVEL_HIGH
+ 0 0 0 1 &intc 0 GIC_SPI 434 IRQ_TYPE_LEVEL_HIGH
+ 0 0 0 2 &intc 0 GIC_SPI 435 IRQ_TYPE_LEVEL_HIGH
+ 0 0 0 3 &intc 0 GIC_SPI 438 IRQ_TYPE_LEVEL_HIGH
+ 0 0 0 4 &intc 0 GIC_SPI 439 IRQ_TYPE_LEVEL_HIGH>;
perst-gpio = <&tlmm 2 GPIO_ACTIVE_HIGH>;
wake-gpio = <&tlmm 0 GPIO_ACTIVE_HIGH>;
@@ -51,7 +51,7 @@
vreg-cx-supply = <&VDD_CX_LEVEL>;
vreg-mx-supply = <&VDD_MXC_LEVEL>;
- qcom,vreg-1p8-voltage-level = <1200000 1200000 25800>;
+ qcom,vreg-1p2-voltage-level = <1200000 1200000 25800>;
qcom,vreg-0p9-voltage-level = <880000 880000 186000>;
qcom,vreg-cx-voltage-level = <RPMH_REGULATOR_LEVEL_MAX
RPMH_REGULATOR_LEVEL_NOM 0>;
@@ -349,11 +349,11 @@
"int_d";
#interrupt-cells = <1>;
interrupt-map-mask = <0 0 0 0xffffffff>;
- interrupt-map = <0 0 0 0 &intc GIC_SPI 518 IRQ_TYPE_LEVEL_HIGH
- 0 0 0 1 &intc GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH
- 0 0 0 2 &intc GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
- 0 0 0 3 &intc GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH
- 0 0 0 4 &intc GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-map = <0 0 0 0 &intc 0 GIC_SPI 518 IRQ_TYPE_LEVEL_HIGH
+ 0 0 0 1 &intc 0 GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH
+ 0 0 0 2 &intc 0 GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
+ 0 0 0 3 &intc 0 GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH
+ 0 0 0 4 &intc 0 GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>;
perst-gpio = <&tlmm 4 GPIO_ACTIVE_HIGH>;
wake-gpio = <&tlmm 5 GPIO_ACTIVE_HIGH>;
@@ -371,7 +371,7 @@
vreg-cx-supply = <&VDD_CX_LEVEL>;
vreg-mx-supply = <&VDD_MXC_LEVEL>;
- qcom,vreg-1p8-voltage-level = <1200000 1200000 33300>;
+ qcom,vreg-1p2-voltage-level = <1200000 1200000 33300>;
qcom,vreg-0p9-voltage-level = <880000 880000 439000>;
qcom,vreg-cx-voltage-level = <RPMH_REGULATOR_LEVEL_MAX
RPMH_REGULATOR_LEVEL_NOM 0>;
diff --git a/qcom/lemans-pinctrl.dtsi b/qcom/lemans-pinctrl.dtsi
index a95e84b6..be937ead 100755
--- a/qcom/lemans-pinctrl.dtsi
+++ b/qcom/lemans-pinctrl.dtsi
@@ -2202,4 +2202,33 @@
};
};
};
+
+ emac {
+ emac_mdc: emac_mdc {
+ mux {
+ pins = "gpio8";
+ function = "emac0_mdc";
+ };
+
+ config {
+ pins = "gpio8";
+ bias-pull-up;
+ drive-strength = <16>;
+ };
+ };
+
+ emac_mdio: emac_mdio {
+ mux {
+ pins = "gpio9";
+ function = "emac0_mdio";
+ };
+
+ config {
+ pins = "gpio9";
+ bias-pull-up;
+ drive-strength = <16>;
+ };
+ };
+ };
+
};
diff --git a/qcom/lemans-pmic-overlay.dtsi b/qcom/lemans-pmic-overlay.dtsi
index f1cd9b03..f6f853d0 100755
--- a/qcom/lemans-pmic-overlay.dtsi
+++ b/qcom/lemans-pmic-overlay.dtsi
@@ -106,6 +106,22 @@
};
};
+&pm8775_1_adc {
+ status = "okay";
+};
+
+&pm8775_2_adc {
+ status = "okay";
+};
+
+&pm8775_3_adc {
+ status = "okay";
+};
+
+&pm8775_4_adc {
+ status = "okay";
+};
+
&thermal_zones {
pm8775_1_temp_alarm: pm8775_1_tz {
polling-delay-passive = <100>;
diff --git a/qcom/lemans-qam-star.dtsi b/qcom/lemans-qam-star.dtsi
index 689bf563..d14e1d28 100755
--- a/qcom/lemans-qam-star.dtsi
+++ b/qcom/lemans-qam-star.dtsi
@@ -1 +1,5 @@
#include "lemans-adp-common.dtsi"
+
+&cdsp1_pas {
+ status = "disabled";
+};
diff --git a/qcom/lemans-usb.dtsi b/qcom/lemans-usb.dtsi
index 311837de..9aaf5232 100755
--- a/qcom/lemans-usb.dtsi
+++ b/qcom/lemans-usb.dtsi
@@ -11,8 +11,14 @@
#size-cells = <1>;
ranges;
- interrupts = <GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH>;
- interrupt-names = "pwr_event_irq";
+ interrupts-extended = <&pdc 14 IRQ_TYPE_EDGE_RISING>,
+ <&intc GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH>,
+ <&pdc 12 IRQ_TYPE_LEVEL_HIGH>,
+ <&pdc 15 IRQ_TYPE_EDGE_RISING>;
+ interrupt-names = "dp_hs_phy_irq", "pwr_event_irq",
+ "ss_phy_irq", "dm_hs_phy_irq";
+ qcom,use-pdc-interrupts;
+
USB3_GDSC-supply = <&gcc_usb30_prim_gdsc>;
clocks = <&gcc GCC_USB30_PRIM_MASTER_CLK>,
@@ -56,6 +62,7 @@
tx-fifo-resize;
maximum-speed = "super-speed-plus";
dr_mode = "otg";
+ usb-role-switch;
};
};
@@ -222,8 +229,13 @@
#size-cells = <1>;
ranges;
- interrupts = <GIC_SPI 352 IRQ_TYPE_LEVEL_HIGH>;
- interrupt-names = "pwr_event_irq";
+ interrupts-extended = <&pdc 8 IRQ_TYPE_EDGE_RISING>,
+ <&intc GIC_SPI 352 IRQ_TYPE_LEVEL_HIGH>,
+ <&pdc 13 IRQ_TYPE_LEVEL_HIGH>,
+ <&pdc 7 IRQ_TYPE_EDGE_RISING>;
+ interrupt-names = "dp_hs_phy_irq", "pwr_event_irq",
+ "ss_phy_irq", "dm_hs_phy_irq";
+ qcom,use-pdc-interrupts;
USB3_GDSC-supply = <&gcc_usb30_sec_gdsc>;
clocks = <&gcc GCC_USB30_SEC_MASTER_CLK>,
@@ -267,6 +279,7 @@
tx-fifo-resize;
maximum-speed = "super-speed-plus";
dr_mode = "otg";
+ usb-role-switch;
};
};
@@ -434,8 +447,12 @@
#size-cells = <1>;
ranges;
- interrupts = <GIC_SPI 444 IRQ_TYPE_LEVEL_HIGH>;
- interrupt-names = "pwr_event_irq";
+ interrupts-extended = <&pdc 10 IRQ_TYPE_EDGE_RISING>,
+ <&intc GIC_SPI 444 IRQ_TYPE_LEVEL_HIGH>,
+ <&pdc 9 IRQ_TYPE_EDGE_RISING>;
+ interrupt-names = "dp_hs_phy_irq", "pwr_event_irq",
+ "dm_hs_phy_irq";
+ qcom,use-pdc-interrupts;
USB3_GDSC-supply = <&gcc_usb20_prim_gdsc>;
clocks = <&gcc GCC_USB20_MASTER_CLK>,
diff --git a/qcom/lemans-vm-la-overlay.dts b/qcom/lemans-vm-la-overlay.dts
new file mode 100755
index 00000000..24137409
--- /dev/null
+++ b/qcom/lemans-vm-la-overlay.dts
@@ -0,0 +1,10 @@
+/dts-v1/;
+/plugin/;
+
+
+/ {
+ model = "Qualcomm Technologies, Inc. Lemans Single LA Guest Virtual Machine";
+ compatible = "qcom,lemans", "qcom,quinvm";
+ qcom,msm-id = <532 0x20000>;
+ qcom,board-id = <0x0 0x1000001>;
+};
diff --git a/qcom/lemans-vm-la.dts b/qcom/lemans-vm-la.dts
new file mode 100755
index 00000000..4beee7f3
--- /dev/null
+++ b/qcom/lemans-vm-la.dts
@@ -0,0 +1,10 @@
+/dts-v1/;
+
+#include "lemans-vm.dtsi"
+#include "lemans-vm-la.dtsi"
+
+/ {
+ model = "Qualcomm Technologies, Inc. Lemans Single LA Guest Virtual Machine";
+ compatible = "qcom,lemans", "qcom,quinvm";
+ qcom,board-id = <0x0 0x1000001>;
+};
diff --git a/qcom/lemans-vm-la.dtsi b/qcom/lemans-vm-la.dtsi
new file mode 100755
index 00000000..d1fc80fb
--- /dev/null
+++ b/qcom/lemans-vm-la.dtsi
@@ -0,0 +1,40 @@
+&soc {
+};
+
+/ {
+ rename_devices: rename_devices {
+ compatible = "qcom,rename-devices";
+ rename_blk: rename_blk {
+ device-type = "block";
+ actual-dev = "vda", "vdb", "vdc",
+ "vdd", "vde", "vdf",
+ "vdg", "vdh", "vdi",
+ "vdj", "vdk", "vdl",
+ "vdm", "vdn", "vdo",
+ "vdp", "vdq";
+ rename-dev = "super", "userdata", "metadata",
+ "persist", "modem_a","bluetooth_a",
+ "misc", "vbmeta_a", "vbmeta_b",
+ "boot_a", "dtbo_a", "dsp_a",
+ "modem_b", "bluetooth_b", "boot_a",
+ "dtbo_b", "dsp_b";
+ };
+ };
+};
+
+&qcom_rng_ee3 {
+ status = "okay";
+};
+
+&usb0 {
+ status = "ok";
+};
+
+&usb2_phy0 {
+ status = "ok";
+};
+
+&usb_qmp_phy0 {
+ status = "ok";
+};
+
diff --git a/qcom/lemans-vm-lv-overlay.dts b/qcom/lemans-vm-lv-overlay.dts
new file mode 100755
index 00000000..ffa6e29c
--- /dev/null
+++ b/qcom/lemans-vm-lv-overlay.dts
@@ -0,0 +1,10 @@
+/dts-v1/;
+/plugin/;
+
+
+/ {
+ model = "Qualcomm Technologies, Inc. LeMans Single Linux Virtual Machine";
+ compatible = "qcom,lemans", "qcom,quinvm";
+ qcom,msm-id = <532 0x20000>;
+ qcom,board-id = <0 0x1000002>;
+};
diff --git a/qcom/lemans-vm-lv.dts b/qcom/lemans-vm-lv.dts
new file mode 100755
index 00000000..c37ce993
--- /dev/null
+++ b/qcom/lemans-vm-lv.dts
@@ -0,0 +1,10 @@
+/dts-v1/;
+
+#include "lemans-vm.dtsi"
+#include "lemans-vm-lv.dtsi"
+
+/ {
+ model = "Qualcomm Technologies, Inc. LeMans Single Linux Virtual Machine";
+ compatible = "qcom,lemans", "qcom,quinvm";
+ qcom,board-id = <0 0x1000002>;
+};
diff --git a/qcom/lemans-vm-lv.dtsi b/qcom/lemans-vm-lv.dtsi
new file mode 100755
index 00000000..c7c4f15c
--- /dev/null
+++ b/qcom/lemans-vm-lv.dtsi
@@ -0,0 +1,6 @@
+&soc {
+};
+
+&hab {
+ vmid = <3>;
+};
diff --git a/qcom/lemans-vm-qupv3.dtsi b/qcom/lemans-vm-qupv3.dtsi
new file mode 100755
index 00000000..e6e79dcd
--- /dev/null
+++ b/qcom/lemans-vm-qupv3.dtsi
@@ -0,0 +1,86 @@
+&soc {
+
+ /* QUPv3_1 wrapper instance */
+ qupv3_1: qcom,qupv3_1_geni_se@ac0000 {
+ compatible = "qcom,geni-se-qup";
+ reg = <0xac0000 0x6000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+ clock-names = "m-ahb", "s-ahb";
+ clocks = <&gcc GCC_QUPV3_WRAP_1_M_AHB_CLK>,
+ <&gcc GCC_QUPV3_WRAP_1_S_AHB_CLK>;
+ iommus = <&apps_smmu 0x443 0x0>;
+ qcom,iommu-dma-addr-pool = <0x40000000 0x10000000>;
+ qcom,iommu-geometry = <0x40000000 0x10000000>;
+ qcom,iommu-dma = "fastmap";
+ status = "ok";
+
+ qupv3_se11_i2c: i2c@a90000 {
+ compatible = "qcom,i2c-geni";
+ reg = <0xa90000 0x4000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP1_S4_CLK>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se11_i2c_active>;
+ pinctrl-1 = <&qupv3_se11_i2c_sleep>;
+ status = "disabled";
+ };
+
+ /* Debug UART Instance */
+ qupv3_se10_2uart: qcom,qup_uart@a8c000 {
+ compatible = "qcom,geni-debug-uart";
+ reg = <0xa8c000 0x4000>;
+ reg-names = "se_phys";
+ interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>;
+ clock-names = "se";
+ clocks = <&gcc GCC_QUPV3_WRAP1_S3_CLK>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se10_2uart_active>;
+ pinctrl-1 = <&qupv3_se10_2uart_sleep>;
+ status = "disabled";
+ };
+ };
+
+ /* QUPv3_2 wrapper instance */
+ qupv3_2: qcom,qupv3_2_geni_se@8c0000 {
+ compatible = "qcom,geni-se-qup";
+ reg = <0x8c0000 0x6000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+ clock-names = "m-ahb", "s-ahb";
+ clocks = <&gcc GCC_QUPV3_WRAP_2_M_AHB_CLK>,
+ <&gcc GCC_QUPV3_WRAP_2_S_AHB_CLK>;
+ iommus = <&apps_smmu 0x5a3 0x0>;
+ qcom,iommu-dma-addr-pool = <0x40000000 0x10000000>;
+ qcom,iommu-geometry = <0x40000000 0x10000000>;
+ qcom,iommu-dma = "fastmap";
+ status = "ok";
+
+ /* BT UART Instance */
+ qupv3_se17_4uart: qcom,qup_uart@88c000 {
+ compatible = "qcom,msm-geni-serial-hs";
+ reg = <0x88c000 0x4000>;
+ reg-names = "se_phys";
+ interrupts-extended = <&intc GIC_SPI 585 IRQ_TYPE_LEVEL_HIGH>,
+ <&tlmm 94 IRQ_TYPE_LEVEL_HIGH>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP2_S3_CLK>;
+ pinctrl-names = "default", "active", "sleep", "shutdown";
+ pinctrl-0 = <&qupv3_se17_default_cts>,
+ <&qupv3_se17_default_rtsrx>, <&qupv3_se17_default_tx>;
+ pinctrl-1 = <&qupv3_se17_ctsrx>, <&qupv3_se17_rts>,
+ <&qupv3_se17_tx>;
+ pinctrl-2 = <&qupv3_se17_ctsrx>, <&qupv3_se17_rts>,
+ <&qupv3_se17_tx>;
+ pinctrl-3 = <&qupv3_se17_default_cts>,
+ <&qupv3_se17_default_rtsrx>, <&qupv3_se17_default_tx>;
+ qcom,wakeup-byte = <0xFD>;
+ status = "disabled";
+ };
+ };
+};
diff --git a/qcom/lemans-vm-usb.dtsi b/qcom/lemans-vm-usb.dtsi
new file mode 100755
index 00000000..aaf76834
--- /dev/null
+++ b/qcom/lemans-vm-usb.dtsi
@@ -0,0 +1,501 @@
+#include <dt-bindings/phy/qcom,usb3-5nm-qmp-uni.h>
+#include <dt-bindings/clock/qcom,gcc-lemans.h>
+
+&soc {
+ usb0: ssusb@a600000 {
+ compatible = "qcom,dwc-usb3-msm";
+ reg = <0xa600000 0x100000>;
+ reg-names = "core_base";
+
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+
+ interrupts = <GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "pwr_event_irq";
+
+ USB3_GDSC-supply = <&gcc_usb30_prim_gdsc>;
+ clocks = <&gcc GCC_USB30_PRIM_MASTER_CLK>,
+ <&gcc GCC_CFG_NOC_USB3_PRIM_AXI_CLK>,
+ <&gcc GCC_AGGRE_USB3_PRIM_AXI_CLK>,
+ <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>,
+ <&gcc GCC_USB30_PRIM_SLEEP_CLK>;
+ clock-names = "core_clk", "iface_clk", "bus_aggr_clk",
+ "utmi_clk", "sleep_clk";
+
+ resets = <&gcc GCC_USB30_PRIM_BCR>;
+ reset-names = "core_reset";
+
+ qcom,core-clk-rate = <200000000>;
+ qcom,core-clk-rate-hs = <66666667>;
+ qcom,core-clk-rate-disconnected = <133333333>;
+ qcom,pm-qos-latency = <2>;
+
+ qcom,host-poweroff-in-pm-suspend;
+
+ status = "disabled";
+
+ dwc3@a600000 {
+ compatible = "snps,dwc3";
+ reg = <0xa600000 0xd93c>;
+ iommus = <&apps_smmu 0x080 0x0>;
+ qcom,iommu-dma = "bypass";
+ interrupts = <GIC_SPI 292 IRQ_TYPE_LEVEL_HIGH>;
+ usb-phy = <&usb2_phy0>, <&usb_qmp_phy0>;
+ snps,disable-clk-gating;
+ snps,has-lpm-erratum;
+ snps,hird-threshold = /bits/ 8 <0x0>;
+ snps,is-utmi-l1-suspend;
+ snps,usb2-gadget-lpm-disable;
+ snps,dis-u1-entry-quirk;
+ snps,dis-u2-entry-quirk;
+ snps,ssp-u3-u0-quirk;
+ tx-fifo-resize;
+ maximum-speed = "super-speed-plus";
+ dr_mode = "otg";
+ usb-role-switch;
+ };
+ };
+
+ /* Primary USB port related High Speed PHY */
+ usb2_phy0: hsphy@88e4000 {
+ compatible = "qcom,usb-hsphy-snps-femto";
+ reg = <0x88e4000 0x120>,
+ <0x088e3000 0x4>;
+ reg-names = "hsusb_phy_base",
+ "eud_enable_reg";
+
+ vdd-supply = <&L7A>;
+ vdda18-supply = <&L6C>;
+ vdda33-supply = <&L9A>;
+ qcom,vdd-voltage-level = <0 880000 880000>;
+
+ clocks = <&dummycc RPMH_CXO_CLK>;
+ clock-names = "ref_clk_src";
+
+ resets = <&gcc GCC_USB2_PHY_PRIM_BCR>;
+ reset-names = "phy_reset";
+ };
+
+ /* Primary USB port related QMP PHY */
+ usb_qmp_phy0: ssphy@88e8000 {
+ compatible = "qcom,usb-ssphy-qmp-v2";
+ reg = <0x88e8000 0x2000>,
+ <0x088e828c 0x4>;
+ reg-names = "qmp_phy_base",
+ "pcs_clamp_enable_reg";
+
+ vdd-supply = <&L7A>;
+ qcom,vdd-voltage-level = <0 880000 880000>;
+ qcom,vdd-max-load-uA = <47000>;
+ core-supply = <&L1C>;
+
+ clocks = <&gcc GCC_USB3_PRIM_PHY_AUX_CLK>,
+ <&gcc GCC_USB3_PRIM_PHY_PIPE_CLK>,
+ <&gcc GCC_USB3_PRIM_PHY_PIPE_CLK_SRC>,
+ <&usb3_phy_wrapper_gcc_usb30_prim_pipe_clk>,
+ <&dummycc RPMH_CXO_CLK>,
+ <&gcc GCC_USB_CLKREF_EN>,
+ <&gcc GCC_USB3_PRIM_PHY_COM_AUX_CLK>;
+ clock-names = "aux_clk", "pipe_clk", "pipe_clk_mux",
+ "pipe_clk_ext_src", "ref_clk_src",
+ "ref_clk", "com_aux_clk";
+
+ resets = <&gcc GCC_USB3_PHY_PRIM_BCR>,
+ <&gcc GCC_USB3PHY_PHY_PRIM_BCR>;
+ reset-names = "phy_reset", "phy_phy_reset";
+
+ qcom,qmp-phy-reg-offset =
+ <USB3_UNI_PCS_PCS_STATUS1
+ USB3_UNI_PCS_USB3_AUTONOMOUS_MODE_CTRL
+ USB3_UNI_PCS_USB3_LFPS_RXTERM_IRQ_CLEAR
+ USB3_UNI_PCS_POWER_DOWN_CONTROL
+ USB3_UNI_PCS_SW_RESET
+ USB3_UNI_PCS_START_CONTROL>;
+
+ qcom,qmp-phy-init-seq =
+ /* <reg_offset, value> */
+ <USB3_UNI_QSERDES_COM_SYSCLK_EN_SEL 0x1A
+ USB3_UNI_QSERDES_COM_BIN_VCOCAL_HSCLK_SEL 0x11
+ USB3_UNI_QSERDES_COM_HSCLK_SEL 0x01
+ USB3_UNI_QSERDES_COM_DEC_START_MODE0 0x82
+ USB3_UNI_QSERDES_COM_DIV_FRAC_START1_MODE0 0xAB
+ USB3_UNI_QSERDES_COM_DIV_FRAC_START2_MODE0 0xEA
+ USB3_UNI_QSERDES_COM_DIV_FRAC_START3_MODE0 0x02
+ USB3_UNI_QSERDES_COM_BIN_VCOCAL_CMP_CODE1_MODE0 0xCA
+ USB3_UNI_QSERDES_COM_BIN_VCOCAL_CMP_CODE2_MODE0 0x1E
+ USB3_UNI_QSERDES_COM_CP_CTRL_MODE0 0x06
+ USB3_UNI_QSERDES_COM_PLL_RCTRL_MODE0 0x16
+ USB3_UNI_QSERDES_COM_PLL_CCTRL_MODE0 0x36
+ USB3_UNI_QSERDES_COM_VCO_TUNE1_MODE0 0x24
+ USB3_UNI_QSERDES_COM_LOCK_CMP2_MODE0 0x34
+ USB3_UNI_QSERDES_COM_LOCK_CMP1_MODE0 0x14
+ USB3_UNI_QSERDES_COM_LOCK_CMP_EN 0x04
+ USB3_UNI_QSERDES_COM_SYSCLK_BUF_ENABLE 0x0A
+ USB3_UNI_QSERDES_COM_VCO_TUNE2_MODE1 0x02
+ USB3_UNI_QSERDES_COM_VCO_TUNE1_MODE1 0x24
+ USB3_UNI_QSERDES_COM_CORECLK_DIV_MODE1 0x08
+ USB3_UNI_QSERDES_COM_DEC_START_MODE1 0x82
+ USB3_UNI_QSERDES_COM_DIV_FRAC_START1_MODE1 0xAB
+ USB3_UNI_QSERDES_COM_DIV_FRAC_START2_MODE1 0xEA
+ USB3_UNI_QSERDES_COM_DIV_FRAC_START3_MODE1 0x02
+ USB3_UNI_QSERDES_COM_LOCK_CMP2_MODE1 0x82
+ USB3_UNI_QSERDES_COM_LOCK_CMP1_MODE1 0x34
+ USB3_UNI_QSERDES_COM_CP_CTRL_MODE1 0x06
+ USB3_UNI_QSERDES_COM_PLL_RCTRL_MODE1 0x16
+ USB3_UNI_QSERDES_COM_PLL_CCTRL_MODE1 0x36
+ USB3_UNI_QSERDES_COM_BIN_VCOCAL_CMP_CODE1_MODE1 0xCA
+ USB3_UNI_QSERDES_COM_BIN_VCOCAL_CMP_CODE2_MODE1 0x1E
+ USB3_UNI_QSERDES_COM_SSC_EN_CENTER 0x01
+ USB3_UNI_QSERDES_COM_SSC_PER1 0x31
+ USB3_UNI_QSERDES_COM_SSC_PER2 0x01
+ USB3_UNI_QSERDES_COM_SSC_STEP_SIZE1_MODE1 0xDE
+ USB3_UNI_QSERDES_COM_SSC_STEP_SIZE2_MODE1 0x07
+ USB3_UNI_QSERDES_COM_SSC_STEP_SIZE1_MODE0 0xDE
+ USB3_UNI_QSERDES_COM_SSC_STEP_SIZE2_MODE0 0x07
+ USB3_UNI_QSERDES_COM_VCO_TUNE_MAP 0x02
+ USB3_UNI_QSERDES_RX_RX_MODE_00_HIGH4 0xDC
+ USB3_UNI_QSERDES_RX_RX_MODE_00_HIGH3 0xBD
+ USB3_UNI_QSERDES_RX_RX_MODE_00_HIGH2 0xFF
+ USB3_UNI_QSERDES_RX_RX_MODE_00_HIGH 0x7F
+ USB3_UNI_QSERDES_RX_RX_MODE_00_LOW 0xFF
+ USB3_UNI_QSERDES_RX_RX_MODE_01_HIGH4 0xA9
+ USB3_UNI_QSERDES_RX_RX_MODE_01_HIGH3 0x7B
+ USB3_UNI_QSERDES_RX_RX_MODE_01_HIGH2 0xE4
+ USB3_UNI_QSERDES_RX_RX_MODE_01_HIGH 0x24
+ USB3_UNI_QSERDES_RX_RX_MODE_01_LOW 0x64
+ USB3_UNI_QSERDES_RX_UCDR_PI_CONTROLS 0x99
+ USB3_UNI_QSERDES_RX_UCDR_SB2_THRESH1 0x08
+ USB3_UNI_QSERDES_RX_UCDR_SB2_THRESH2 0x08
+ USB3_UNI_QSERDES_RX_UCDR_SB2_GAIN1 0x00
+ USB3_UNI_QSERDES_RX_UCDR_SB2_GAIN2 0x04
+ USB3_UNI_QSERDES_RX_UCDR_FASTLOCK_FO_GAIN 0x2F
+ USB3_UNI_QSERDES_RX_UCDR_FASTLOCK_COUNT_LOW 0xFF
+ USB3_UNI_QSERDES_RX_UCDR_FASTLOCK_COUNT_HIGH 0x0F
+ USB3_UNI_QSERDES_RX_UCDR_FO_GAIN 0x0A
+ USB3_UNI_QSERDES_RX_VGA_CAL_CNTRL1 0x54
+ USB3_UNI_QSERDES_RX_VGA_CAL_CNTRL2 0x0F
+ USB3_UNI_QSERDES_RX_RX_EQU_ADAPTOR_CNTRL2 0x0F
+ USB3_UNI_QSERDES_RX_RX_EQU_ADAPTOR_CNTRL4 0x0A
+ USB3_UNI_QSERDES_RX_RX_EQ_OFFSET_ADAPTOR_CNTRL1 0x47
+ USB3_UNI_QSERDES_RX_RX_OFFSET_ADAPTOR_CNTRL2 0x80
+ USB3_UNI_QSERDES_RX_SIGDET_CNTRL 0x04
+ USB3_UNI_QSERDES_RX_SIGDET_DEGLITCH_CNTRL 0x0E
+ USB3_UNI_QSERDES_RX_DFE_CTLE_POST_CAL_OFFSET 0x38
+ USB3_UNI_QSERDES_RX_UCDR_SO_GAIN 0x05
+ USB3_UNI_QSERDES_RX_GM_CAL 0x00
+ USB3_UNI_QSERDES_RX_SIGDET_ENABLES 0x00
+ USB3_UNI_QSERDES_TX_LANE_MODE_1 0xA5
+ USB3_UNI_QSERDES_TX_LANE_MODE_2 0x82
+ USB3_UNI_QSERDES_TX_LANE_MODE_3 0x3F
+ USB3_UNI_QSERDES_TX_LANE_MODE_4 0x3F
+ USB3_UNI_QSERDES_TX_PI_QEC_CTRL 0x21
+ USB3_UNI_QSERDES_TX_RES_CODE_LANE_OFFSET_TX 0x10
+ USB3_UNI_QSERDES_TX_RES_CODE_LANE_OFFSET_RX 0x0E
+ USB3_UNI_PCS_LOCK_DETECT_CONFIG1 0xC4
+ USB3_UNI_PCS_LOCK_DETECT_CONFIG2 0x89
+ USB3_UNI_PCS_LOCK_DETECT_CONFIG3 0x20
+ USB3_UNI_PCS_LOCK_DETECT_CONFIG6 0x13
+ USB3_UNI_PCS_RCVR_DTCT_DLY_P1U2_L 0xE7
+ USB3_UNI_PCS_RCVR_DTCT_DLY_P1U2_H 0x03
+ USB3_UNI_PCS_RX_SIGDET_LVL 0xAA
+ USB3_UNI_PCS_PCS_TX_RX_CONFIG 0x0C
+ USB3_UNI_PCS_USB3_RXEQTRAINING_DFE_TIME_S2 0x07
+ USB3_UNI_PCS_USB3_LFPS_DET_HIGH_COUNT_VAL 0xF8
+ USB3_UNI_PCS_USB3_POWER_STATE_CONFIG1 0x6F
+ USB3_UNI_PCS_CDR_RESET_TIME 0x0A
+ USB3_UNI_PCS_ALIGN_DETECT_CONFIG1 0x88
+ USB3_UNI_PCS_ALIGN_DETECT_CONFIG2 0x13
+ USB3_UNI_PCS_EQ_CONFIG1 0x4B
+ USB3_UNI_PCS_EQ_CONFIG5 0x10
+ USB3_UNI_PCS_REFGEN_REQ_CONFIG1 0x21>;
+
+ status = "disabled";
+ };
+
+ usb1: ssusb@a800000 {
+ compatible = "qcom,dwc-usb3-msm";
+ reg = <0xa800000 0x100000>;
+ reg-names = "core_base";
+
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+
+ interrupts = <GIC_SPI 352 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "pwr_event_irq";
+
+ USB3_GDSC-supply = <&gcc_usb30_sec_gdsc>;
+ clocks = <&gcc GCC_USB30_SEC_MASTER_CLK>,
+ <&gcc GCC_CFG_NOC_USB3_SEC_AXI_CLK>,
+ <&gcc GCC_AGGRE_USB3_SEC_AXI_CLK>,
+ <&gcc GCC_USB30_SEC_MOCK_UTMI_CLK>,
+ <&gcc GCC_USB30_SEC_SLEEP_CLK>;
+ clock-names = "core_clk", "iface_clk", "bus_aggr_clk",
+ "utmi_clk", "sleep_clk";
+
+ resets = <&gcc GCC_USB30_SEC_BCR>;
+ reset-names = "core_reset";
+
+ qcom,core-clk-rate = <200000000>;
+ qcom,core-clk-rate-hs = <66666667>;
+ qcom,core-clk-rate-disconnected = <133333333>;
+ qcom,pm-qos-latency = <2>;
+
+ qcom,host-poweroff-in-pm-suspend;
+
+ status = "disabled";
+
+ dwc3@a800000 {
+ compatible = "snps,dwc3";
+ reg = <0xa800000 0xd93c>;
+ interrupts = <GIC_SPI 349 IRQ_TYPE_LEVEL_HIGH>;
+ iommus = <&apps_smmu 0x0A0 0x0>;
+ qcom,iommu-dma = "bypass";
+ usb-phy = <&usb2_phy1>, <&usb_qmp_phy1>;
+ snps,disable-clk-gating;
+ snps,has-lpm-erratum;
+ snps,hird-threshold = /bits/ 8 <0x0>;
+ snps,ssp-u3-u0-quirk;
+ snps,is-utmi-l1-suspend;
+ snps,usb2-gadget-lpm-disable;
+ snps,dis-u1-entry-quirk;
+ snps,dis-u2-entry-quirk;
+ tx-fifo-resize;
+ maximum-speed = "super-speed-plus";
+ dr_mode = "otg";
+ };
+ };
+
+ /* Secondary USB port related High Speed PHY */
+ usb2_phy1: hsphy@88e6000 {
+ compatible = "qcom,usb-hsphy-snps-femto";
+ reg = <0x88e6000 0x120>;
+ reg-names = "hsusb_phy_base";
+
+ vdd-supply = <&L7A>;
+ vdda18-supply = <&L6C>;
+ vdda33-supply = <&L9A>;
+ qcom,vdd-voltage-level = <0 880000 880000>;
+
+ clocks = <&dummycc RPMH_CXO_CLK>,
+ <&gcc GCC_USB_CLKREF_EN>;
+ clock-names = "ref_clk_src", "ref_clk";
+
+ resets = <&gcc GCC_USB2_PHY_SEC_BCR>;
+ reset-names = "phy_reset";
+
+ status = "disabled";
+ };
+
+ /* Secondary USB port related QMP PHY */
+ usb_qmp_phy1: ssphy@88ea000 {
+ compatible = "qcom,usb-ssphy-qmp-v2";
+ reg = <0x88ea000 0x2000>,
+ <0x088ea28c 0x4>;
+ reg-names = "qmp_phy_base",
+ "pcs_clamp_enable_reg";
+
+ vdd-supply = <&L7A>;
+ qcom,vdd-voltage-level = <0 880000 880000>;
+ qcom,vdd-max-load-uA = <47000>;
+ core-supply = <&L1C>;
+
+ clocks = <&gcc GCC_USB3_SEC_PHY_AUX_CLK>,
+ <&gcc GCC_USB3_SEC_PHY_PIPE_CLK>,
+ <&gcc GCC_USB3_SEC_PHY_PIPE_CLK_SRC>,
+ <&usb3_phy_wrapper_gcc_usb30_sec_pipe_clk>,
+ <&dummycc RPMH_CXO_CLK>,
+ <&gcc GCC_USB_CLKREF_EN>,
+ <&gcc GCC_USB3_SEC_PHY_COM_AUX_CLK>;
+ clock-names = "aux_clk", "pipe_clk", "pipe_clk_mux",
+ "pipe_clk_ext_src", "ref_clk_src",
+ "ref_clk", "com_aux_clk";
+
+ resets = <&gcc GCC_USB3_PHY_SEC_BCR>,
+ <&gcc GCC_USB3PHY_PHY_SEC_BCR>;
+ reset-names = "phy_reset", "phy_phy_reset";
+
+ qcom,qmp-phy-reg-offset =
+ <USB3_UNI_PCS_PCS_STATUS1
+ USB3_UNI_PCS_USB3_AUTONOMOUS_MODE_CTRL
+ USB3_UNI_PCS_USB3_LFPS_RXTERM_IRQ_CLEAR
+ USB3_UNI_PCS_POWER_DOWN_CONTROL
+ USB3_UNI_PCS_SW_RESET
+ USB3_UNI_PCS_START_CONTROL>;
+
+ qcom,qmp-phy-init-seq =
+ /* <reg_offset, value> */
+ <USB3_UNI_QSERDES_COM_SYSCLK_EN_SEL 0x1A
+ USB3_UNI_QSERDES_COM_BIN_VCOCAL_HSCLK_SEL 0x11
+ USB3_UNI_QSERDES_COM_HSCLK_SEL 0x01
+ USB3_UNI_QSERDES_COM_DEC_START_MODE0 0x82
+ USB3_UNI_QSERDES_COM_DIV_FRAC_START1_MODE0 0xAB
+ USB3_UNI_QSERDES_COM_DIV_FRAC_START2_MODE0 0xEA
+ USB3_UNI_QSERDES_COM_DIV_FRAC_START3_MODE0 0x02
+ USB3_UNI_QSERDES_COM_BIN_VCOCAL_CMP_CODE1_MODE0 0xCA
+ USB3_UNI_QSERDES_COM_BIN_VCOCAL_CMP_CODE2_MODE0 0x1E
+ USB3_UNI_QSERDES_COM_CP_CTRL_MODE0 0x06
+ USB3_UNI_QSERDES_COM_PLL_RCTRL_MODE0 0x16
+ USB3_UNI_QSERDES_COM_PLL_CCTRL_MODE0 0x36
+ USB3_UNI_QSERDES_COM_VCO_TUNE1_MODE0 0x24
+ USB3_UNI_QSERDES_COM_LOCK_CMP2_MODE0 0x34
+ USB3_UNI_QSERDES_COM_LOCK_CMP1_MODE0 0x14
+ USB3_UNI_QSERDES_COM_LOCK_CMP_EN 0x04
+ USB3_UNI_QSERDES_COM_SYSCLK_BUF_ENABLE 0x0A
+ USB3_UNI_QSERDES_COM_VCO_TUNE2_MODE1 0x02
+ USB3_UNI_QSERDES_COM_VCO_TUNE1_MODE1 0x24
+ USB3_UNI_QSERDES_COM_CORECLK_DIV_MODE1 0x08
+ USB3_UNI_QSERDES_COM_DEC_START_MODE1 0x82
+ USB3_UNI_QSERDES_COM_DIV_FRAC_START1_MODE1 0xAB
+ USB3_UNI_QSERDES_COM_DIV_FRAC_START2_MODE1 0xEA
+ USB3_UNI_QSERDES_COM_DIV_FRAC_START3_MODE1 0x02
+ USB3_UNI_QSERDES_COM_LOCK_CMP2_MODE1 0x82
+ USB3_UNI_QSERDES_COM_LOCK_CMP1_MODE1 0x34
+ USB3_UNI_QSERDES_COM_CP_CTRL_MODE1 0x06
+ USB3_UNI_QSERDES_COM_PLL_RCTRL_MODE1 0x16
+ USB3_UNI_QSERDES_COM_PLL_CCTRL_MODE1 0x36
+ USB3_UNI_QSERDES_COM_BIN_VCOCAL_CMP_CODE1_MODE1 0xCA
+ USB3_UNI_QSERDES_COM_BIN_VCOCAL_CMP_CODE2_MODE1 0x1E
+ USB3_UNI_QSERDES_COM_SSC_EN_CENTER 0x01
+ USB3_UNI_QSERDES_COM_SSC_PER1 0x31
+ USB3_UNI_QSERDES_COM_SSC_PER2 0x01
+ USB3_UNI_QSERDES_COM_SSC_STEP_SIZE1_MODE1 0xDE
+ USB3_UNI_QSERDES_COM_SSC_STEP_SIZE2_MODE1 0x07
+ USB3_UNI_QSERDES_COM_SSC_STEP_SIZE1_MODE0 0xDE
+ USB3_UNI_QSERDES_COM_SSC_STEP_SIZE2_MODE0 0x07
+ USB3_UNI_QSERDES_COM_VCO_TUNE_MAP 0x02
+ USB3_UNI_QSERDES_RX_RX_MODE_00_HIGH4 0xDC
+ USB3_UNI_QSERDES_RX_RX_MODE_00_HIGH3 0xBD
+ USB3_UNI_QSERDES_RX_RX_MODE_00_HIGH2 0xFF
+ USB3_UNI_QSERDES_RX_RX_MODE_00_HIGH 0x7F
+ USB3_UNI_QSERDES_RX_RX_MODE_00_LOW 0xFF
+ USB3_UNI_QSERDES_RX_RX_MODE_01_HIGH4 0xA9
+ USB3_UNI_QSERDES_RX_RX_MODE_01_HIGH3 0x7B
+ USB3_UNI_QSERDES_RX_RX_MODE_01_HIGH2 0xE4
+ USB3_UNI_QSERDES_RX_RX_MODE_01_HIGH 0x24
+ USB3_UNI_QSERDES_RX_RX_MODE_01_LOW 0x64
+ USB3_UNI_QSERDES_RX_UCDR_PI_CONTROLS 0x99
+ USB3_UNI_QSERDES_RX_UCDR_SB2_THRESH1 0x08
+ USB3_UNI_QSERDES_RX_UCDR_SB2_THRESH2 0x08
+ USB3_UNI_QSERDES_RX_UCDR_SB2_GAIN1 0x00
+ USB3_UNI_QSERDES_RX_UCDR_SB2_GAIN2 0x04
+ USB3_UNI_QSERDES_RX_UCDR_FASTLOCK_FO_GAIN 0x2F
+ USB3_UNI_QSERDES_RX_UCDR_FASTLOCK_COUNT_LOW 0xFF
+ USB3_UNI_QSERDES_RX_UCDR_FASTLOCK_COUNT_HIGH 0x0F
+ USB3_UNI_QSERDES_RX_UCDR_FO_GAIN 0x0A
+ USB3_UNI_QSERDES_RX_VGA_CAL_CNTRL1 0x54
+ USB3_UNI_QSERDES_RX_VGA_CAL_CNTRL2 0x0F
+ USB3_UNI_QSERDES_RX_RX_EQU_ADAPTOR_CNTRL2 0x0F
+ USB3_UNI_QSERDES_RX_RX_EQU_ADAPTOR_CNTRL4 0x0A
+ USB3_UNI_QSERDES_RX_RX_EQ_OFFSET_ADAPTOR_CNTRL1 0x47
+ USB3_UNI_QSERDES_RX_RX_OFFSET_ADAPTOR_CNTRL2 0x80
+ USB3_UNI_QSERDES_RX_SIGDET_CNTRL 0x04
+ USB3_UNI_QSERDES_RX_SIGDET_DEGLITCH_CNTRL 0x0E
+ USB3_UNI_QSERDES_RX_DFE_CTLE_POST_CAL_OFFSET 0x38
+ USB3_UNI_QSERDES_RX_UCDR_SO_GAIN 0x05
+ USB3_UNI_QSERDES_RX_GM_CAL 0x00
+ USB3_UNI_QSERDES_RX_SIGDET_ENABLES 0x00
+ USB3_UNI_QSERDES_TX_LANE_MODE_1 0xA5
+ USB3_UNI_QSERDES_TX_LANE_MODE_2 0x82
+ USB3_UNI_QSERDES_TX_LANE_MODE_3 0x3F
+ USB3_UNI_QSERDES_TX_LANE_MODE_4 0x3F
+ USB3_UNI_QSERDES_TX_PI_QEC_CTRL 0x21
+ USB3_UNI_QSERDES_TX_RES_CODE_LANE_OFFSET_TX 0x10
+ USB3_UNI_QSERDES_TX_RES_CODE_LANE_OFFSET_RX 0x0E
+ USB3_UNI_PCS_LOCK_DETECT_CONFIG1 0xC4
+ USB3_UNI_PCS_LOCK_DETECT_CONFIG2 0x89
+ USB3_UNI_PCS_LOCK_DETECT_CONFIG3 0x20
+ USB3_UNI_PCS_LOCK_DETECT_CONFIG6 0x13
+ USB3_UNI_PCS_RCVR_DTCT_DLY_P1U2_L 0xE7
+ USB3_UNI_PCS_RCVR_DTCT_DLY_P1U2_H 0x03
+ USB3_UNI_PCS_RX_SIGDET_LVL 0xAA
+ USB3_UNI_PCS_PCS_TX_RX_CONFIG 0x0C
+ USB3_UNI_PCS_USB3_RXEQTRAINING_DFE_TIME_S2 0x07
+ USB3_UNI_PCS_USB3_LFPS_DET_HIGH_COUNT_VAL 0xF8
+ USB3_UNI_PCS_USB3_POWER_STATE_CONFIG1 0x6F
+ USB3_UNI_PCS_CDR_RESET_TIME 0x0A
+ USB3_UNI_PCS_ALIGN_DETECT_CONFIG1 0x88
+ USB3_UNI_PCS_ALIGN_DETECT_CONFIG2 0x13
+ USB3_UNI_PCS_EQ_CONFIG1 0x4B
+ USB3_UNI_PCS_EQ_CONFIG5 0x10
+ USB3_UNI_PCS_REFGEN_REQ_CONFIG1 0x21>;
+
+ status = "disabled";
+ };
+
+ /* Tertiary USB port related controller */
+ usb2: hsusb@a400000 {
+ compatible = "qcom,dwc-usb3-msm";
+ reg = <0xa400000 0x100000>;
+ reg-names = "core_base";
+
+
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+
+ interrupts = <GIC_SPI 444 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "pwr_event_irq";
+
+ USB3_GDSC-supply = <&gcc_usb20_prim_gdsc>;
+ clocks = <&gcc GCC_USB20_MASTER_CLK>,
+ <&gcc GCC_CFG_NOC_USB2_PRIM_AXI_CLK>,
+ <&gcc GCC_AGGRE_USB2_PRIM_AXI_CLK>,
+ <&gcc GCC_USB20_MOCK_UTMI_CLK>,
+ <&gcc GCC_USB20_SLEEP_CLK>;
+ clock-names = "core_clk", "iface_clk", "bus_aggr_clk",
+ "utmi_clk", "sleep_clk";
+
+ resets = <&gcc GCC_USB20_PRIM_BCR>;
+ reset-names = "core_reset";
+
+ qcom,core-clk-rate = <120000000>;
+
+ qcom,host-poweroff-in-pm-suspend;
+ qcom,default-mode-host;
+
+ status = "disabled";
+
+ dwc3@a400000 {
+ compatible = "snps,dwc3";
+ reg = <0xa400000 0xd800>;
+ iommus = <&apps_smmu 0x020 0x0>;
+ qcom,iommu-dma = "bypass";
+ interrupts = <GIC_SPI 442 IRQ_TYPE_LEVEL_HIGH>;
+ usb-phy = <&usb2_phy2>, <&usb_nop_phy>;
+ snps,disable-clk-gating;
+ snps,has-lpm-erratum;
+ snps,hird-threshold = /bits/ 8 <0x0>;
+ snps,is-utmi-l1-suspend;
+ snps,usb2-gadget-lpm-disable;
+ tx-fifo-resize;
+ maximum-speed = "high-speed";
+ dr_mode = "host";
+ };
+ };
+
+ /* Tertiary USB port related High Speed PHY */
+ usb2_phy2: hsphy@88e7000 {
+ compatible = "qcom,usb-hsphy-snps-femto";
+ reg = <0x88e7000 0x120>;
+ reg-names = "hsusb_phy_base";
+
+ vdd-supply = <&L7A>;
+ vdda18-supply = <&L6C>;
+ vdda33-supply = <&L9A>;
+ qcom,vdd-voltage-level = <0 880000 880000>;
+
+ clocks = <&dummycc RPMH_CXO_CLK>,
+ <&gcc GCC_USB_CLKREF_EN>;
+ clock-names = "ref_clk_src", "ref_clk";
+
+ resets = <&gcc GCC_USB3_PHY_TERT_BCR>;
+ reset-names = "phy_reset";
+ status = "disabled";
+ };
+
+ usb_nop_phy: usb_nop_phy {
+ compatible = "usb-nop-xceiv";
+ };
+};
diff --git a/qcom/lemans-vm.dtsi b/qcom/lemans-vm.dtsi
new file mode 100755
index 00000000..8b65cec4
--- /dev/null
+++ b/qcom/lemans-vm.dtsi
@@ -0,0 +1,287 @@
+#include "quin-vm-common.dtsi"
+#include <dt-bindings/clock/qcom,gcc-lemans.h>
+
+/ {
+ model = "Qualcomm Technologies, Inc. Lemans Guest Virtual Machine";
+ qcom,msm-name = "Lemans";
+ qcom,msm-id = <532 0x20000>;
+
+ aliases {
+ hsuart0 = &qupv3_se17_4uart;
+ };
+};
+
+&firmware {
+ scm {
+ compatible = "qcom,scm";
+ };
+};
+
+&soc {
+
+ apps_smmu: apps-smmu@15000000 {
+ compatible = "qcom,qsmmu-v500";
+ reg = <0x15000000 0x100000>,
+ <0x15182000 0x28>;
+ reg-names = "base", "tcu-base";
+ #iommu-cells = <2>;
+ qcom,skip-init;
+ qcom,use-3-lvl-tables;
+ #global-interrupts = <2>;
+ #size-cells = <1>;
+ #address-cells = <1>;
+ ranges;
+
+ interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 181 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 182 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 183 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 315 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 316 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 317 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 318 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 319 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 320 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 321 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 322 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 323 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 324 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 325 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 332 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 333 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 334 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 335 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 336 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 338 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 339 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 340 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 341 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 342 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 343 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 344 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 395 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 396 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 397 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 398 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 399 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 400 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 401 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 402 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 403 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 404 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 405 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 406 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 407 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 408 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 409 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 418 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 419 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 412 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 421 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 706 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 423 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 424 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 425 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 689 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 690 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 691 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 692 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 693 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 694 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 695 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 696 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 410 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 411 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 420 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 413 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 422 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 707 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 708 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 709 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 710 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 711 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 414 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 712 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 713 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 714 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 715 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 912 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 911 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 910 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 909 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 908 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 907 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 906 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 905 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 904 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 903 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 902 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 901 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 900 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 899 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 898 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 897 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 896 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 895 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 894 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 893 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 892 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 891 IRQ_TYPE_LEVEL_HIGH>;
+ };
+
+ dma_dev@0x0 {
+ compatible = "qcom,iommu-dma";
+ memory-region = <&system_cma>;
+ };
+
+ tlmm: pinctrl@f000000 {
+ compatible = "qcom,lemans-pinctrl";
+ reg = <0xf000000 0x1000000>;
+ interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ };
+
+ qcom_rng_ee3: qrng@10d3000 {
+ compatible = "qcom,msm-rng";
+ reg = <0x10d3000 0x1000>;
+ qcom,no-qrng-config;
+ clocks = <&dummycc RPMH_HWKM_CLK>;
+ clock-names = "km_clk_src";
+ status = "disabled";
+ };
+
+ qtee_shmbridge {
+ compatible = "qcom,tee-shared-memory-bridge";
+ /*Boolean property to disable shmbridge*/
+ qcom,disable-shmbridge-support;
+ };
+
+ qcom_qseecom: qseecom@d1800000 {
+ compatible = "qcom,qseecom";
+ reg = <0xd1800000 0x3900000>;
+ reg-names = "secapp-region";
+ memory-region = <&qseecom_mem>;
+ qcom,hlos-num-ce-hw-instances = <1>;
+ qcom,hlos-ce-hw-instance = <0>;
+ qcom,qsee-ce-hw-instance = <0>;
+ qcom,disk-encrypt-pipe-pair = <2>;
+ qcom,no-clock-support;
+ qcom,commonlib-loaded-by-hostvm;
+ qcom,qsee-reentrancy-support = <2>;
+ };
+
+ usb3_phy_wrapper_gcc_usb30_prim_pipe_clk: usb3_phy_wrapper_gcc_usb30_prim_pipe_clk {
+ compatible = "fixed-clock";
+ clock-frequency = <1000>;
+ clock-output-names = "usb3_phy_wrapper_gcc_usb30_prim_pipe_clk";
+ #clock-cells = <0>;
+ };
+
+ usb3_phy_wrapper_gcc_usb30_sec_pipe_clk: usb3_phy_wrapper_gcc_usb30_sec_pipe_clk {
+ compatible = "fixed-clock";
+ clock-frequency = <1000>;
+ clock-output-names = "usb3_phy_wrapper_gcc_usb30_sec_pipe_clk";
+ #clock-cells = <0>;
+ };
+};
+
+&regulator {
+
+ gcc_usb30_prim_gdsc: gcc_usb30_prim_gdsc {
+ regulator-name = "gcc_usb30_prim_gdsc";
+ };
+
+ gcc_pcie_0_gdsc: gcc_pcie_0_gdsc {
+ regulator-name = "gcc_pcie_0_gdsc";
+ };
+
+ gcc_pcie_1_gdsc: gcc_pcie_1_gdsc {
+ regulator-name = "gcc_pcie_1_gdsc";
+ };
+
+ gcc_usb30_sec_gdsc: gcc_usb30_sec_gdsc {
+ regulator-name = "gcc_usb30_sec_gdsc";
+ };
+
+ gcc_usb20_prim_gdsc: gcc_usb20_prim_gdsc {
+ regulator-name = "gcc_usb20_prim_gdsc";
+ };
+
+ L5A: pm8775_a_l5: regulator-pm8775_a-l5 {
+ regulator-name = "ldoa5";
+ regulator-min-microvolt = <870000>;
+ regulator-max-microvolt = <950000>;
+ };
+
+ L7A: pm8775_a_l7: regulator-pm8775_a-l7 {
+ regulator-name = "ldoa7";
+ regulator-min-microvolt = <720000>;
+ regulator-max-microvolt = <950000>;
+ regulator-always-on;
+ };
+
+ L9A: pm8775_a_l9: regulator-pm8775_a-l9 {
+ regulator-name = "ldoa9";
+ regulator-min-microvolt = <2970000>;
+ regulator-max-microvolt = <3544000>;
+ };
+
+ L1C: pm8775_c_l1: regulator-pm8775_c-l1 {
+ regulator-name = "ldoc1";
+ regulator-min-microvolt = <1140000>;
+ regulator-max-microvolt = <1260000>;
+ };
+
+ L6C: pm8775_c_l6: regulator-pm8775_c-l6 {
+ regulator-name = "ldoc6";
+ regulator-min-microvolt = <1620000>;
+ regulator-max-microvolt = <1980000>;
+ };
+};
+
+&scc {
+ status = "disabled";
+};
+
+#include "lemans-pinctrl.dtsi"
+#include "pm8775-vm.dtsi"
+#include "lemans-vm-qupv3.dtsi"
+#include "lemans-vm-usb.dtsi"
diff --git a/qcom/lemans.dtsi b/qcom/lemans.dtsi
index 69e44b7f..ebdb2df7 100755
--- a/qcom/lemans.dtsi
+++ b/qcom/lemans.dtsi
@@ -29,8 +29,10 @@
aliases {
serial0 = &qupv3_se10_2uart;
ufshc1 = &ufshc_mem; /* Embedded UFS slot */
+ ufshc2 = &ufshc2_mem; /* Embedded 2nd UFS Slot */
i2c4 = &qupv3_se11_i2c;
spi16 = &qupv3_se16_spi;
+ hsuart0 = &qupv3_se17_4uart;
};
soc: soc { };
@@ -45,6 +47,9 @@
device_type = "cpu";
compatible = "qcom,kryo";
reg = <0x0 0x0>;
+ cpu-idle-states = <&GOLD_OFF &GOLD_RAIL_OFF>;
+ power-domains = <&CPU_PD0>;
+ power-domain-names = "psci";
enable-method = "psci";
cpu-release-addr = <0x0 0x90000000>;
cache-size = <0x20000>;
@@ -68,6 +73,9 @@
device_type = "cpu";
compatible = "qcom,kryo";
reg = <0x0 0x100>;
+ cpu-idle-states = <&GOLD_OFF &GOLD_RAIL_OFF>;
+ power-domains = <&CPU_PD1>;
+ power-domain-names = "psci";
enable-method = "psci";
cpu-release-addr = <0x0 0x90000000>;
cache-size = <0x20000>;
@@ -85,6 +93,9 @@
device_type = "cpu";
compatible = "qcom,kryo";
reg = <0x0 0x200>;
+ cpu-idle-states = <&GOLD_OFF &GOLD_RAIL_OFF>;
+ power-domains = <&CPU_PD2>;
+ power-domain-names = "psci";
enable-method = "psci";
cpu-release-addr = <0x0 0x90000000>;
cache-size = <0x20000>;
@@ -102,6 +113,9 @@
device_type = "cpu";
compatible = "qcom,kryo";
reg = <0x0 0x300>;
+ cpu-idle-states = <&GOLD_OFF &GOLD_RAIL_OFF>;
+ power-domains = <&CPU_PD3>;
+ power-domain-names = "psci";
enable-method = "psci";
cpu-release-addr = <0x0 0x90000000>;
cache-size = <0x20000>;
@@ -119,6 +133,9 @@
device_type = "cpu";
compatible = "qcom,kryo";
reg = <0x0 0x10000>;
+ cpu-idle-states = <&GOLD_OFF &GOLD_RAIL_OFF>;
+ power-domains = <&CPU_PD4>;
+ power-domain-names = "psci";
enable-method = "psci";
cache-size = <0x20000>;
cpu-release-addr = <0x0 0x90000000>;
@@ -142,6 +159,9 @@
device_type = "cpu";
compatible = "qcom,kryo";
reg = <0x0 0x10100>;
+ cpu-idle-states = <&GOLD_OFF &GOLD_RAIL_OFF>;
+ power-domains = <&CPU_PD5>;
+ power-domain-names = "psci";
enable-method = "psci";
cpu-release-addr = <0x0 0x90000000>;
cache-size = <0x20000>;
@@ -159,6 +179,9 @@
device_type = "cpu";
compatible = "qcom,kryo";
reg = <0x0 0x10200>;
+ cpu-idle-states = <&GOLD_OFF &GOLD_RAIL_OFF>;
+ power-domains = <&CPU_PD6>;
+ power-domain-names = "psci";
enable-method = "psci";
cpu-release-addr = <0x0 0x90000000>;
cache-size = <0x20000>;
@@ -176,6 +199,9 @@
device_type = "cpu";
compatible = "qcom,kryo";
reg = <0x0 0x10300>;
+ cpu-idle-states = <&GOLD_OFF &GOLD_RAIL_OFF>;
+ power-domains = <&CPU_PD7>;
+ power-domain-names = "psci";
enable-method = "psci";
cpu-release-addr = <0x0 0x90000000>;
cache-size = <0x20000>;
@@ -227,6 +253,46 @@
};
};
};
+
+ idle-states {
+ GOLD_OFF: gold-c3 { /* C3 */
+ compatible = "arm,idle-state";
+ idle-state-name = "pc";
+ entry-latency-us = <549>;
+ exit-latency-us = <901>;
+ min-residency-us = <1774>;
+ arm,psci-suspend-param = <0x40000003>;
+ local-timer-stop;
+ };
+
+ GOLD_RAIL_OFF: gold-c4 { /* C4 */
+ compatible = "arm,idle-state";
+ idle-state-name = "rail-pc";
+ entry-latency-us = <702>;
+ exit-latency-us = <1061>;
+ min-residency-us = <4488>;
+ arm,psci-suspend-param = <0x40000004>;
+ local-timer-stop;
+ };
+
+ GOLD_CLUSTER_D4: gold-cluster-d4 { /* D4 */
+ compatible = "domain-idle-state";
+ idle-state-name = "pwr-l2-pc";
+ entry-latency-us = <2752>;
+ exit-latency-us = <3048>;
+ min-residency-us = <6118>;
+ arm,psci-suspend-param = <0x41000044>;
+ };
+
+ APSS_OFF: cluster-e3 { /* E3 */
+ compatible = "domain-idle-state";
+ idle-state-name = "llcc-off";
+ entry-latency-us = <3263>;
+ exit-latency-us = <6562>;
+ min-residency-us = <9987>;
+ arm,psci-suspend-param = <0x42000144>;
+ };
+ };
};
&firmware {
@@ -312,12 +378,12 @@
reg = <0x0 0x95c00000 0x0 0x1e00000>;
};
- pil_gdsp0_mem: pil_gdsp0_region@97b00000 {
+ rproc_gpdsp0_mem: rproc_gpdsp0_region@97b00000 {
no-map;
reg = <0x0 0x97b00000 0x0 0x1e00000>;
};
- pil_gdsp1_mem: pil_gdsp1_region@99900000 {
+ rproc_gpdsp1_mem: rproc_gpdsp1_region@99900000 {
no-map;
reg = <0x0 0x99900000 0x0 0x1e00000>;
};
@@ -332,7 +398,7 @@
reg = <0x0 0x9d600000 0x0 0x2000>;
};
- pil_cdsp1_mem: pil_cdsp1_region@9d700000 {
+ rproc_cdsp1_mem: rproc_cdsp1_region@9d700000 {
no-map;
reg = <0x0 0x9d700000 0x0 0x1e00000>;
};
@@ -460,9 +526,80 @@
ranges = <0 0 0 0xffffffff>;
compatible = "simple-bus";
+ qfprom: qfprom@780158 {
+ compatible = "qcom,qfprom";
+ reg = <0x00780158 0x4004>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ read-only;
+ ranges;
+
+ gpu_speed_bin: gpu_speed_bin@4002 {
+ reg = <0x4002 0x2>;
+ bits = <4 8>;
+ };
+ };
+
psci {
compatible = "arm,psci-1.0";
method = "smc";
+
+ CPU_PD0: cpu-pd0 {
+ #power-domain-cells = <0>;
+ power-domains = <&CLUSTER_PD0>;
+ };
+
+ CPU_PD1: cpu-pd1 {
+ #power-domain-cells = <0>;
+ power-domains = <&CLUSTER_PD0>;
+ };
+
+ CPU_PD2: cpu-pd2 {
+ #power-domain-cells = <0>;
+ power-domains = <&CLUSTER_PD0>;
+ };
+
+ CPU_PD3: cpu-pd3 {
+ #power-domain-cells = <0>;
+ power-domains = <&CLUSTER_PD0>;
+ };
+
+ CPU_PD4: cpu-pd4 {
+ #power-domain-cells = <0>;
+ power-domains = <&CLUSTER_PD1>;
+ };
+
+ CPU_PD5: cpu-pd5 {
+ #power-domain-cells = <0>;
+ power-domains = <&CLUSTER_PD1>;
+ };
+
+ CPU_PD6: cpu-pd6 {
+ #power-domain-cells = <0>;
+ power-domains = <&CLUSTER_PD1>;
+ };
+
+ CPU_PD7: cpu-pd7 {
+ #power-domain-cells = <0>;
+ power-domains = <&CLUSTER_PD1>;
+ };
+
+ CLUSTER_PD0: cluster-pd0 {
+ #power-domain-cells = <0>;
+ power-domains = <&CLUSTER_PD2>;
+ domain-idle-states = <&GOLD_CLUSTER_D4>;
+ };
+
+ CLUSTER_PD1: cluster-pd1 {
+ #power-domain-cells = <0>;
+ power-domains = <&CLUSTER_PD2>;
+ domain-idle-states = <&GOLD_CLUSTER_D4>;
+ };
+
+ CLUSTER_PD2: cluster-pd2 {
+ #power-domain-cells = <0>;
+ domain-idle-states = <&APSS_OFF>;
+ };
};
intc: interrupt-controller@17a00000 {
@@ -518,6 +655,7 @@
interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
+ power-domains = <&CLUSTER_PD2>;
apps_rsc_drv2: drv@2 {
qcom,drv-id = <2>;
@@ -655,12 +793,51 @@
};
};
+ cluster-device0 {
+ compatible = "qcom,lpm-cluster-dev";
+ power-domains = <&CLUSTER_PD0>;
+ };
+
+ cluster-device1 {
+ compatible = "qcom,lpm-cluster-dev";
+ power-domains = <&CLUSTER_PD1>;
+ };
+
+ cluster-device2 {
+ compatible = "qcom,lpm-cluster-dev";
+ power-domains = <&CLUSTER_PD2>;
+ };
+
+ sys-pm-vx@c320000 {
+ compatible = "qcom,sys-pm-violators", "qcom,sys-pm-lemans";
+ reg = <0xc320000 0x0400>;
+ mboxes = <&qmp_aop 0>;
+ mbox-names = "aop";
+ };
+
+ soc-sleep-stats@c3f0000 {
+ compatible = "qcom,rpmh-sleep-stats";
+ reg = <0xc3f0000 0x400>;
+ qcom,drv-max = <0x14>;
+ ss-name = "adsp", "cdsp", "apss";
+ mboxes = <&qmp_aop 0>;
+ mbox-names = "aop";
+ ddr-freq-update;
+ };
+
+ subsystem-sleep-stats@c3f0000 {
+ compatible = "qcom,subsystem-sleep-stats";
+ reg = <0xc3f0000 0x400>;
+ ddr-freq-update;
+ };
+
tlmm: pinctrl@f000000 {
compatible = "qcom,lemans-pinctrl";
reg = <0xf000000 0x1000000>;
interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
gpio-controller;
#gpio-cells = <2>;
+ wakeup-parent = <&pdc>;
interrupt-controller;
#interrupt-cells = <2>;
};
@@ -956,6 +1133,7 @@
#interconnect-cells = <1>;
qcom,bcm-voter-names = "hlos";
qcom,bcm-voters = <&apps_bcm_voter>;
+ qcom,skip-qos;
};
system_noc: interconnect@01680000 {
@@ -964,6 +1142,7 @@
#interconnect-cells = <1>;
qcom,bcm-voter-names = "hlos";
qcom,bcm-voters = <&apps_bcm_voter>;
+ qcom,skip-qos;
};
aggre1_noc:interconnect@016C0000 {
@@ -972,6 +1151,7 @@
#interconnect-cells = <1>;
qcom,bcm-voter-names = "hlos";
qcom,bcm-voters = <&apps_bcm_voter>;
+ qcom,skip-qos;
clocks = <&gcc GCC_AGGRE_UFS_PHY_AXI_CLK>,
<&gcc GCC_AGGRE_NOC_QUPV3_AXI_CLK>,
<&gcc GCC_AGGRE_USB2_PRIM_AXI_CLK>,
@@ -985,6 +1165,7 @@
#interconnect-cells = <1>;
qcom,bcm-voter-names = "hlos";
qcom,bcm-voters = <&apps_bcm_voter>;
+ qcom,skip-qos;
clocks = <&gcc GCC_AGGRE_UFS_CARD_AXI_CLK>,
<&rpmhcc RPMH_IPA_CLK>;
};
@@ -995,6 +1176,7 @@
#interconnect-cells = <1>;
qcom,bcm-voter-names = "hlos";
qcom,bcm-voters = <&apps_bcm_voter>;
+ qcom,skip-qos;
};
gpdsp_anoc: interconnect@01780000 {
@@ -1003,6 +1185,7 @@
#interconnect-cells = <1>;
qcom,bcm-voter-names = "hlos";
qcom,bcm-voters = <&apps_bcm_voter>;
+ qcom,skip-qos;
};
mmss_noc: interconnect@017A0000 {
@@ -1011,6 +1194,7 @@
#interconnect-cells = <1>;
qcom,bcm-voter-names = "hlos";
qcom,bcm-voters = <&apps_bcm_voter>;
+ qcom,skip-qos;
};
lpass_ag_noc: interconnect@03C40000 {
@@ -1019,6 +1203,7 @@
#interconnect-cells = <1>;
qcom,bcm-voter-names = "hlos";
qcom,bcm-voters = <&apps_bcm_voter>;
+ qcom,skip-qos;
};
dc_noc: interconnect@090E0000 {
@@ -1027,6 +1212,7 @@
#interconnect-cells = <1>;
qcom,bcm-voter-names = "hlos";
qcom,bcm-voters = <&apps_bcm_voter>;
+ qcom,skip-qos;
};
gem_noc: interconnect@09100000 {
@@ -1036,6 +1222,7 @@
qcom,bcm-voter-names = "hlos";
qcom,bcm-voters = <&apps_bcm_voter>;
clocks = <&gcc GCC_DDRSS_GPU_AXI_CLK>;
+ qcom,skip-qos;
};
nspa_noc: interconnect@260C0000 {
@@ -1044,6 +1231,7 @@
#interconnect-cells = <1>;
qcom,bcm-voter-names = "hlos";
qcom,bcm-voters = <&apps_bcm_voter>;
+ qcom,skip-qos;
};
nspb_noc: interconnect@2A0C0000 {
@@ -1052,6 +1240,7 @@
#interconnect-cells = <1>;
qcom,bcm-voter-names = "hlos";
qcom,bcm-voters = <&apps_bcm_voter>;
+ qcom,skip-qos;
};
vendor_hooks: qcom,cpu-vendor-hooks {
@@ -1084,7 +1273,7 @@
reg-names = "cx","mx";
/* Inputs from lpass */
- interrupts-extended = <&intc GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>,
+ interrupts-extended = <&intc GIC_SPI 486 IRQ_TYPE_LEVEL_HIGH>,
<&adsp_smp2p_in 0 0>,
<&adsp_smp2p_in 2 0>,
<&adsp_smp2p_in 1 0>,
@@ -1150,7 +1339,7 @@
reg-names = "cx","mx","nsp0";
interconnects = <&nspa_noc MASTER_CDSP_PROC &mc_virt SLAVE_EBI1>;
- interconnect-names = "crypto_ddr";
+ interconnect-names = "rproc_ddr";
/* Inputs from turing */
interrupts-extended = <&intc GIC_SPI 578 IRQ_TYPE_LEVEL_HIGH>,
@@ -1171,7 +1360,7 @@
qcom,smem-states = <&cdsp_smp2p_out 0>;
qcom,smem-state-names = "stop";
- glink_cdsp0: glink-edge {
+ glink_cdsp: glink-edge {
qcom,remote-pid = <5>;
transport = "smem";
mboxes = <&ipcc_mproc IPCC_CLIENT_CDSP
@@ -1182,8 +1371,8 @@
IPCC_MPROC_SIGNAL_GLINK_QMP
IRQ_TYPE_EDGE_RISING>;
- label = "cdsp0";
- qcom,glink-label = "cdsp0";
+ label = "cdsp";
+ qcom,glink-label = "cdsp";
qcom,cdsp0_qrtr {
qcom,glink-channels = "IPCRTR";
@@ -1200,6 +1389,188 @@
};
};
+ cdsp1_pas: remoteproc-cdsp1@2a300000 {
+ compatible = "qcom,lemans-cdsp1-pas";
+ reg = <0x2A300000 0x10000>;
+ status = "ok";
+
+ memory-region = <&rproc_cdsp1_mem>;
+
+ clocks = <&rpmhcc RPMH_CXO_CLK>;
+ clock-names = "xo";
+
+ cx-supply = <&VDD_CX_LEVEL>;
+ cx-uV-uA = <RPMH_REGULATOR_LEVEL_TURBO 100000>;
+ mx-supply = <&VDD_MXC_LEVEL>;
+ mx-uV-uA = <RPMH_REGULATOR_LEVEL_TURBO 100000>;
+ nsp0-supply = <&VDD_NSP_0_LEVEL>;
+ nsp0-uV-uA = <RPMH_REGULATOR_LEVEL_TURBO 100000>;
+ reg-names = "cx","mx","nsp0";
+
+ interconnects = <&nspb_noc MASTER_CDSP_PROC &mc_virt SLAVE_EBI1>;
+ interconnect-names = "rproc_ddr";
+
+ /* Inputs from turing */
+ interrupts-extended = <&intc GIC_SPI 799 IRQ_TYPE_LEVEL_HIGH>,
+ <&cdsp1_smp2p_in 0 0>,
+ <&cdsp1_smp2p_in 2 0>,
+ <&cdsp1_smp2p_in 1 0>,
+ <&cdsp1_smp2p_in 3 0>;
+
+ interrupt-names = "wdog",
+ "fatal",
+ "handover",
+ "ready",
+ "stop-ack";
+
+ qcom,qmp = <&aoss_qmp>;
+
+ /* Outputs to turing */
+ qcom,smem-states = <&cdsp1_smp2p_out 0>;
+ qcom,smem-state-names = "stop";
+
+ glink_cdsp1: glink-edge {
+ qcom,remote-pid = <12>;
+ transport = "smem";
+ mboxes = <&ipcc_mproc IPCC_CLIENT_NSP1
+ IPCC_MPROC_SIGNAL_GLINK_QMP>;
+ mbox-names = "cdsp1_smem";
+ interrupt-parent = <&ipcc_mproc>;
+ interrupts = <IPCC_CLIENT_NSP1
+ IPCC_MPROC_SIGNAL_GLINK_QMP
+ IRQ_TYPE_EDGE_RISING>;
+
+ label = "cdsp1";
+ qcom,glink-label = "cdsp1";
+
+ qcom,cdsp1_qrtr {
+ qcom,glink-channels = "IPCRTR";
+ qcom,intents = <0x800 5
+ 0x2000 3
+ 0x4400 2>;
+ };
+ };
+
+ };
+
+ gpdsp0_pas: remoteproc-gpdsp0@20c00000 {
+ compatible = "qcom,lemans-gpdsp0-pas";
+ reg = <0x20c00000 0x10000>;
+ status = "ok";
+
+ memory-region = <&rproc_gpdsp0_mem>;
+
+ clocks = <&rpmhcc RPMH_CXO_CLK>;
+ clock-names = "xo";
+
+ cx-supply = <&VDD_CX_LEVEL>;
+ cx-uV-uA = <RPMH_REGULATOR_LEVEL_TURBO 100000>;
+ mx-supply = <&VDD_MXC_LEVEL>;
+ mx-uV-uA = <RPMH_REGULATOR_LEVEL_TURBO 100000>;
+ qcom,proxy-reg-names = "cx","mx";
+
+ interconnects = <&gpdsp_anoc MASTER_DSP0 &config_noc SLAVE_CLK_CTL>;
+ interconnect-names = "rproc_ddr";
+
+ interrupts-extended = <&intc GIC_SPI 768 IRQ_TYPE_LEVEL_HIGH>,
+ <&gpdsp0_smp2p_in 0 0>,
+ <&gpdsp0_smp2p_in 2 0>,
+ <&gpdsp0_smp2p_in 1 0>,
+ <&gpdsp0_smp2p_in 3 0>;
+
+ interrupt-names = "wdog",
+ "fatal",
+ "handover",
+ "ready",
+ "stop-ack";
+
+ qcom,qmp = <&aoss_qmp>;
+
+ qcom,smem-states = <&gpdsp0_smp2p_out 0>;
+ qcom,smem-state-names = "stop";
+
+ glink_gpdsp0: glink-edge {
+ qcom,remote-pid = <17>;
+ transport = "smem";
+ mboxes = <&ipcc_mproc IPCC_CLIENT_GPDSP0
+ IPCC_MPROC_SIGNAL_GLINK_QMP>;
+ mbox-names = "gpdsp0_smem";
+ interrupt-parent = <&ipcc_mproc>;
+ interrupts = <IPCC_CLIENT_GPDSP0
+ IPCC_MPROC_SIGNAL_GLINK_QMP
+ IRQ_TYPE_EDGE_RISING>;
+
+ label = "gpdsp0";
+ qcom,glink-label = "gpdsp0";
+
+ qcom,gpdsp0_qrtr {
+ qcom,glink-channels = "IPCRTR";
+ qcom,intents = <0x800 5
+ 0x2000 3
+ 0x4400 2>;
+ };
+ };
+ };
+
+ gpdsp1_pas: remoteproc-gpdsp1@21c00000 {
+ compatible = "qcom,lemans-gpdsp1-pas";
+ reg = <0x21c00000 0x10000>;
+ status = "ok";
+
+ memory-region = <&rproc_gpdsp1_mem>;
+
+ clocks = <&rpmhcc RPMH_CXO_CLK>;
+ clock-names = "xo";
+
+ cx-supply = <&VDD_CX_LEVEL>;
+ cx-uV-uA = <RPMH_REGULATOR_LEVEL_TURBO 100000>;
+ mx-supply = <&VDD_MXC_LEVEL>;
+ mx-uV-uA = <RPMH_REGULATOR_LEVEL_TURBO 100000>;
+ qcom,proxy-reg-names = "cx","mx";
+
+ interconnects = <&gpdsp_anoc MASTER_DSP1 &config_noc SLAVE_CLK_CTL>;
+ interconnect-names = "rproc_ddr";
+
+ interrupts-extended = <&intc GIC_SPI 624 IRQ_TYPE_LEVEL_HIGH>,
+ <&gpdsp1_smp2p_in 0 0>,
+ <&gpdsp1_smp2p_in 2 0>,
+ <&gpdsp1_smp2p_in 1 0>,
+ <&gpdsp1_smp2p_in 3 0>;
+
+ interrupt-names = "wdog",
+ "fatal",
+ "handover",
+ "ready",
+ "stop-ack";
+
+ qcom,qmp = <&aoss_qmp>;
+
+ qcom,smem-states = <&gpdsp1_smp2p_out 0>;
+ qcom,smem-state-names = "stop";
+
+ glink_gpdsp1: glink-edge {
+ qcom,remote-pid = <18>;
+ transport = "smem";
+ mboxes = <&ipcc_mproc IPCC_CLIENT_GPDSP1
+ IPCC_MPROC_SIGNAL_GLINK_QMP>;
+ mbox-names = "gpdsp1_smem";
+ interrupt-parent = <&ipcc_mproc>;
+ interrupts = <IPCC_CLIENT_GPDSP1
+ IPCC_MPROC_SIGNAL_GLINK_QMP
+ IRQ_TYPE_EDGE_RISING>;
+
+ label = "gpdsp1";
+ qcom,glink-label = "gpdsp1";
+
+ qcom,gpdsp1_qrtr {
+ qcom,glink-channels = "IPCRTR";
+ qcom,intents = <0x800 5
+ 0x2000 3
+ 0x4400 2>;
+ };
+ };
+ };
+
spmi_bus: qcom,spmi@c440000 {
compatible = "qcom,spmi-pmic-arb";
reg = <0xc440000 0x1100>,
@@ -1351,7 +1722,6 @@
iommus = <&apps_smmu 0x100 0x0>;
qcom,iommu-dma = "fastmap";
dma-coherent;
- qcom,disable-lpm;
status = "disabled";
@@ -1366,6 +1736,151 @@
};
};
+ ufs2phy_mem: ufsphy2_mem@1da7000 {
+ reg = <0x1da7000 0xe10>;
+ reg-names = "phy_mem";
+ #phy-cells = <0>;
+
+ lanes-per-direction = <2>;
+ clock-names = "ref_clk_src",
+ "ref_clk",
+ "ref_aux_clk";
+ clocks = <&rpmhcc RPMH_CXO_CLK>,
+ <&gcc GCC_EDP_REF_CLKREF_EN>,
+ <&gcc GCC_UFS_CARD_PHY_AUX_CLK>;
+ resets = <&ufshc2_mem 0>;
+ status = "disabled";
+ };
+
+ ufshc2_mem: ufshc2@1da4000 {
+ compatible = "qcom,ufshc";
+ reg = <0x1da4000 0x3000>;
+ reg-names = "ufs_mem";
+ interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
+ phys = <&ufs2phy_mem>;
+ phy-names = "ufsphy";
+ #reset-cells = <1>;
+
+ lanes-per-direction = <2>;
+ dev-ref-clk-freq = <0>; /* 19.2 MHz */
+
+ clock-names =
+ "core_clk",
+ "bus_aggr_clk",
+ "iface_clk",
+ "core_clk_unipro",
+ "core_clk_ice",
+ "ref_clk",
+ "tx_lane0_sync_clk",
+ "rx_lane0_sync_clk",
+ "rx_lane1_sync_clk";
+
+ clocks =
+ <&gcc GCC_UFS_CARD_AXI_CLK>,
+ <&gcc GCC_AGGRE_UFS_CARD_AXI_CLK>,
+ <&gcc GCC_UFS_CARD_AHB_CLK>,
+ <&gcc GCC_UFS_CARD_UNIPRO_CORE_CLK>,
+ <&gcc GCC_UFS_CARD_ICE_CORE_CLK>,
+ <&rpmhcc RPMH_CXO_CLK>,
+ <&gcc GCC_UFS_CARD_TX_SYMBOL_0_CLK>,
+ <&gcc GCC_UFS_CARD_RX_SYMBOL_0_CLK>,
+ <&gcc GCC_UFS_CARD_RX_SYMBOL_1_CLK>;
+
+ freq-table-hz =
+ <75000000 300000000>,
+ <0 0>,
+ <0 0>,
+ <75000000 300000000>,
+ <75000000 300000000>,
+ <0 0>,
+ <0 0>,
+ <0 0>,
+ <0 0>;
+
+ interconnects = <&aggre2_noc MASTER_UFS_CARD &mc_virt SLAVE_EBI1>,
+ <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_UFS_CARD_CFG>;
+ interconnect-names = "ufs-ddr", "cpu-ufs";
+
+ qcom,ufs-bus-bw,name = "ufshc_mem";
+ qcom,ufs-bus-bw,num-cases = <26>;
+ qcom,ufs-bus-bw,num-paths = <2>;
+ qcom,ufs-bus-bw,vectors-KBps =
+ /*
+ * During HS G3 UFS runs at nominal voltage corner, vote
+ * higher bandwidth to push other buses in the data path
+ * to run at nominal to achieve max throughput.
+ * 4GBps pushes BIMC to run at nominal.
+ * 200MBps pushes CNOC to run at nominal.
+ * Vote for half of this bandwidth for HS G3 1-lane.
+ * For max bandwidth, vote high enough to push the buses
+ * to run in turbo voltage corner.
+ */
+ <0 0>, <0 0>, /* No vote */
+ <922 0>, <1000 0>, /* PWM G1 */
+ <1844 0>, <1000 0>, /* PWM G2 */
+ <3688 0>, <1000 0>, /* PWM G3 */
+ <7376 0>, <1000 0>, /* PWM G4 */
+ <1844 0>, <1000 0>, /* PWM G1 L2 */
+ <3688 0>, <1000 0>, /* PWM G2 L2 */
+ <7376 0>, <1000 0>, /* PWM G3 L2 */
+ <14752 0>, <1000 0>, /* PWM G4 L2 */
+ <127796 0>, <1000 0>, /* HS G1 RA */
+ <255591 0>, <1000 0>, /* HS G2 RA */
+ <1492582 0>, <102400 0>, /* HS G3 RA */
+ <2915200 0>, <204800 0>, /* HS G4 RA */
+ <255591 0>, <1000 0>, /* HS G1 RA L2 */
+ <511181 0>, <1000 0>, /* HS G2 RA L2 */
+ <1492582 0>, <204800 0>, /* HS G3 RA L2 */
+ <2915200 0>, <409600 0>, /* HS G4 RA L2 */
+ <149422 0>, <1000 0>, /* HS G1 RB */
+ <298189 0>, <1000 0>, /* HS G2 RB */
+ <1492582 0>, <102400 0>, /* HS G3 RB */
+ <2915200 0>, <204800 0>, /* HS G4 RB */
+ <298189 0>, <1000 0>, /* HS G1 RB L2 */
+ <596378 0>, <1000 0>, /* HS G2 RB L2 */
+ /* As UFS working in HS G3 RB L2 mode, aggregated
+ * bandwidth (AB) should take care of providing
+ * optimum throughput requested. However, as tested,
+ * in order to scale up CNOC clock, instantaneous
+ * bindwidth (IB) needs to be given a proper value too.
+ */
+ <1492582 0>, <204800 409600>, /* HS G3 RB L2 KBPs */
+ <2915200 0>, <409600 409600>, /* HS G4 RB L2 */
+ <7643136 0>, <307200 0>; /* Max. bandwidth */
+
+ qcom,bus-vector-names = "MIN",
+ "PWM_G1_L1", "PWM_G2_L1", "PWM_G3_L1", "PWM_G4_L1",
+ "PWM_G1_L2", "PWM_G2_L2", "PWM_G3_L2", "PWM_G4_L2",
+ "HS_RA_G1_L1", "HS_RA_G2_L1", "HS_RA_G3_L1", "HS_RA_G4_L1",
+ "HS_RA_G1_L2", "HS_RA_G2_L2", "HS_RA_G3_L2", "HS_RA_G4_L2",
+ "HS_RB_G1_L1", "HS_RB_G2_L1", "HS_RB_G3_L1", "HS_RB_G4_L1",
+ "HS_RB_G1_L2", "HS_RB_G2_L2", "HS_RB_G3_L2", "HS_RB_G4_L2",
+ "MAX";
+
+ reset-gpios = <&tlmm 150 GPIO_ACTIVE_LOW>;
+
+ resets = <&gcc GCC_UFS_CARD_BCR>;
+ reset-names = "rst";
+ iommus = <&apps_smmu 0x420 0x0>;
+ qcom,iommu-dma = "fastmap";
+ dma-coherent;
+
+ secondary-storage;
+
+ status = "disabled";
+
+ qos0 {
+ mask = <0xf0>;
+ vote = <44>;
+ };
+
+ qos1 {
+ mask = <0x0f>;
+ vote = <44>;
+ };
+
+ };
+
tcsr_mutex_block: syscon@1f40000 {
compatible = "syscon";
reg = <0x1f40000 0x20000>;
@@ -1435,6 +1950,13 @@
hyplog-size-offset = <0x414>;
};
+ qcom_rng: qrng@10d2000 {
+ compatible = "qcom,msm-rng";
+ reg = <0x010d2000 0x1000>;
+ qcom,no-qrng-config;
+ qcom,no-clock-support;
+ };
+
qcom,glinkpkt {
compatible = "qcom,glinkpkt";
@@ -1490,6 +2012,28 @@
};
};
+ qcom,smp2p-cdsp1@1799000c {
+ compatible = "qcom,smp2p";
+ qcom,smem = <617>, <616>;
+ interrupt-parent = <&ipcc_mproc>;
+ interrupts = <IPCC_CLIENT_NSP1 IPCC_MPROC_SIGNAL_SMP2P
+ IRQ_TYPE_EDGE_RISING>;
+ mboxes = <&ipcc_mproc IPCC_CLIENT_NSP1 IPCC_MPROC_SIGNAL_SMP2P>;
+ qcom,local-pid = <0>;
+ qcom,remote-pid = <12>;
+
+ cdsp1_smp2p_out: master-kernel {
+ qcom,entry-name = "master-kernel";
+ #qcom,smem-state-cells = <1>;
+ };
+
+ cdsp1_smp2p_in: slave-kernel {
+ qcom,entry-name = "slave-kernel";
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ };
+ };
+
qcom,smp2p-gpdsp0 {
compatible = "qcom,smp2p";
qcom,smem = <617>, <616>;
@@ -1535,6 +2079,257 @@
#interrupt-cells = <2>;
};
};
+
+ qcom,mpm2-sleep-counter@c221000 {
+ compatible = "qcom,mpm2-sleep-counter";
+ reg = <0xc221000 0x1000>;
+ clock-frequency = <32768>;
+ };
+
+ cpu_pmu: cpu-pmu {
+ compatible = "arm,armv8-pmuv3";
+ qcom,irq-is-percpu;
+ interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>;
+ };
+
+ llcc_pmu: llcc-pmu@9095000 {
+ compatible = "qcom,llcc-pmu-ver2";
+ reg = <0x09095000 0x300>;
+ reg-names = "lagg-base";
+ };
+
+ msm_gpu: qcom,kgsl-3d0@3d00000 { };
+
+ qcom,msm-cdsp-loader {
+ compatible = "qcom,cdsp-loader";
+ qcom,proc-img-to-load = "cdsp";
+ qcom,rproc-handle = <&cdsp_pas>;
+ };
+
+ qcom,msm-adsprpc-mem {
+ compatible = "qcom,msm-adsprpc-mem-region";
+ memory-region = <&adsp_mem>;
+ };
+
+ msm_fastrpc: qcom,msm_fastrpc {
+ compatible = "qcom,msm-fastrpc-compute";
+ qcom,adsp-remoteheap-vmid = <22 37>;
+ qcom,fastrpc-adsp-audio-pdr;
+ qcom,rpc-latency-us = <235>;
+ qcom,fastrpc-gids = <2908>;
+ qcom,qos-cores = <0 1 2 3>;
+
+ qcom,msm_fastrpc_compute_cb0_1 {
+ compatible = "qcom,msm-fastrpc-compute-cb";
+ label = "cdsprpc-smd";
+ iommus = <&apps_smmu 0x21C1 0x0000>,
+ <&apps_smmu 0x2161 0x0000>,
+ <&apps_smmu 0x2141 0x0000>,
+ <&apps_smmu 0x21E1 0x0000>,
+ <&apps_smmu 0x2181 0x0000>,
+ <&apps_smmu 0x25C1 0x0000>,
+ <&apps_smmu 0x2561 0x0000>,
+ <&apps_smmu 0x2541 0x0000>,
+ <&apps_smmu 0x25E1 0x0000>,
+ <&apps_smmu 0x2581 0x0000>;
+ qcom,iommu-dma-addr-pool = <0x80000000 0x78000000>;
+ qcom,iommu-faults = "stall-disable", "HUPCF";
+ dma-coherent;
+ };
+
+ qcom,msm_fastrpc_compute_cb0_2 {
+ compatible = "qcom,msm-fastrpc-compute-cb";
+ label = "cdsprpc-smd";
+ iommus = <&apps_smmu 0x21C2 0x0000>,
+ <&apps_smmu 0x2162 0x0000>,
+ <&apps_smmu 0x2142 0x0000>,
+ <&apps_smmu 0x21E2 0x0000>,
+ <&apps_smmu 0x2182 0x0000>,
+ <&apps_smmu 0x25C2 0x0000>,
+ <&apps_smmu 0x2562 0x0000>,
+ <&apps_smmu 0x2542 0x0000>,
+ <&apps_smmu 0x25E2 0x0000>,
+ <&apps_smmu 0x2582 0x0000>;
+ qcom,iommu-dma-addr-pool = <0x80000000 0x78000000>;
+ qcom,iommu-faults = "stall-disable", "HUPCF";
+ dma-coherent;
+ };
+
+ qcom,msm_fastrpc_compute_cb0_3 {
+ compatible = "qcom,msm-fastrpc-compute-cb";
+ label = "cdsprpc-smd";
+ iommus = <&apps_smmu 0x21C3 0x0000>,
+ <&apps_smmu 0x2163 0x0000>,
+ <&apps_smmu 0x2143 0x0000>,
+ <&apps_smmu 0x21E3 0x0000>,
+ <&apps_smmu 0x2183 0x0000>,
+ <&apps_smmu 0x25C3 0x0000>,
+ <&apps_smmu 0x2563 0x0000>,
+ <&apps_smmu 0x2543 0x0000>,
+ <&apps_smmu 0x25E3 0x0000>,
+ <&apps_smmu 0x2583 0x0000>;
+ qcom,iommu-dma-addr-pool = <0x80000000 0x78000000>;
+ qcom,iommu-faults = "stall-disable", "HUPCF";
+ dma-coherent;
+ };
+
+ qcom,msm_fastrpc_compute_cb0_4 {
+ compatible = "qcom,msm-fastrpc-compute-cb";
+ label = "cdsprpc-smd";
+ iommus = <&apps_smmu 0x21C4 0x0000>,
+ <&apps_smmu 0x2164 0x0000>,
+ <&apps_smmu 0x2144 0x0000>,
+ <&apps_smmu 0x21E4 0x0000>,
+ <&apps_smmu 0x2184 0x0000>,
+ <&apps_smmu 0x25C4 0x0000>,
+ <&apps_smmu 0x2564 0x0000>,
+ <&apps_smmu 0x2544 0x0000>,
+ <&apps_smmu 0x25E4 0x0000>,
+ <&apps_smmu 0x2584 0x0000>;
+ qcom,iommu-dma-addr-pool = <0x80000000 0x78000000>;
+ qcom,iommu-faults = "stall-disable", "HUPCF";
+ dma-coherent;
+ };
+
+ qcom,msm_fastrpc_compute_adsp_cb1 {
+ compatible = "qcom,msm-fastrpc-compute-cb";
+ label = "adsprpc-smd";
+ iommus = <&apps_smmu 0x3003 0x0000>;
+ qcom,iommu-dma-addr-pool = <0x80000000 0x78000000>;
+ qcom,iommu-faults = "stall-disable", "HUPCF";
+ dma-coherent;
+ };
+
+ qcom,msm_fastrpc_compute_adsp_cb2 {
+ compatible = "qcom,msm-fastrpc-compute-cb";
+ label = "adsprpc-smd";
+ iommus = <&apps_smmu 0x3004 0x0000>;
+ qcom,iommu-dma-addr-pool = <0x80000000 0x78000000>;
+ qcom,iommu-faults = "stall-disable", "HUPCF";
+ dma-coherent;
+ };
+
+ qcom,msm_fastrpc_compute_adsp_cb3 {
+ compatible = "qcom,msm-fastrpc-compute-cb";
+ label = "adsprpc-smd";
+ iommus = <&apps_smmu 0x3005 0x0000>;
+ qcom,iommu-dma-addr-pool = <0x80000000 0x78000000>;
+ qcom,iommu-faults = "stall-disable", "HUPCF";
+ dma-coherent;
+ };
+ };
+
+ mtl_rx_setup: rx-queues-config {
+ snps,rx-queues-to-use = <4>;
+ snps,rx-sched-sp;
+
+ queue0 {
+ snps,dcb-algorithm;
+ snps,map-to-dma-channel = <0x0>;
+ snps,route-up;
+ snps,priority = <0x1>;
+ };
+
+ queue1 {
+ snps,dcb-algorithm;
+ snps,map-to-dma-channel = <0x1>;
+ snps,route-ptp;
+ };
+
+ queue2 {
+ snps,avb-algorithm;
+ snps,map-to-dma-channel = <0x2>;
+ snps,route-avcp;
+ };
+
+ queue3 {
+ snps,avb-algorithm;
+ snps,map-to-dma-channel = <0x3>;
+ snps,priority = <0xC>;
+ };
+ };
+
+ mtl_tx_setup: tx-queues-config {
+ snps,tx-queues-to-use = <4>;
+ snps,tx-sched-sp;
+ queue0 {
+ snps,dcb-algorithm;
+ };
+
+ queue1 {
+ snps,dcb-algorithm;
+ };
+
+ queue2 {
+ snps,avb-algorithm;
+ snps,send_slope = <0x1000>;
+ snps,idle_slope = <0x1000>;
+ snps,high_credit = <0x3E800>;
+ snps,low_credit = <0xFFC18000>;
+ };
+
+ queue3 {
+ snps,avb-algorithm;
+ snps,send_slope = <0x1000>;
+ snps,idle_slope = <0x1000>;
+ snps,high_credit = <0x3E800>;
+ snps,low_credit = <0xFFC18000>;
+ };
+
+ };
+
+ ethqos_hw: qcom,ethernet@23040000 {
+ compatible = "qcom,stmmac-ethqos", "snps,dwmac-4.20a";
+ reg = <0x23040000 0x10000>,
+ <0x23056000 0x100>,
+ <0x08901000 0xE10>,
+ <0x23056100 0x100>;
+
+ reg-names = "stmmaceth", "rgmii","serdes","reseteth";
+ clocks = <&gcc GCC_EMAC0_AXI_CLK>,
+ <&gcc GCC_EMAC0_SLV_AHB_CLK>,
+ <&gcc GCC_EMAC0_PTP_CLK>,
+ <&gcc GCC_EMAC0_PHY_AUX_CLK>,
+ <&gcc GCC_SGMI_CLKREF_EN>,
+ <&gcc GCC_EMAC0_RGMII_CLK>;
+ clock-names = "stmmaceth", "pclk", "ptp_ref", "phyaux","sgmi_ref","rgmii";
+ snps,ptp-ref-clk-rate = <250000000>;
+ snps,ptp-req-clk-rate = <96000000>;
+ interrupts-extended = <&intc 0 946 4>;
+ qcom,arm-smmu;
+
+ interrupt-names = "macirq";
+
+ snps,tso;
+ snps,pbl = <32>;
+ rx-fifo-depth = <16384>;
+ tx-fifo-depth = <20480>;
+
+ snps,mtl-rx-config = <&mtl_rx_setup>;
+ snps,mtl-tx-config = <&mtl_tx_setup>;
+
+ vreg_emac_phy-supply = <&pm8775_a_l5>;
+ vreg_rgmii_io_pads-supply = <&pm8775_c_l1>;
+
+ gdsc_emac-supply = <&gcc_emac0_gdsc>;
+
+ phy-mode = "sgmii";
+ snps,reset-delays-us = <0 11000 70000>;
+ pinctrl-names = "dev-emac-mdc",
+ "dev-emac-mdio";
+
+ pinctrl-0 = <&emac_mdc>;
+ pinctrl-1 = <&emac_mdio>;
+
+ snps,ps-speed = <1000>;
+
+ ethqos_emb_smmu: ethqos_emb_smmu {
+ compatible = "qcom,emac-smmu-embedded";
+ iommus = <&apps_smmu 0x120 0xf>;
+ qcom,iommu-dma = "fastmap";
+ qcom,iommu-dma-addr-pool = <0x80000000 0x40000000>;
+ };
+ };
};
#include "lemans-4pmic-regulators.dtsi"
@@ -1546,6 +2341,7 @@
#include "lemans-qupv3.dtsi"
#include "lemans-pcie.dtsi"
#include "lemans-usb.dtsi"
+#include "lemans-coresight.dtsi"
&cam_cc_titan_top_gdsc {
clocks = <&gcc GCC_CAMERA_AHB_CLK>;
@@ -1718,7 +2514,6 @@
vdd-hba-fixed-regulator;
vcc-supply = <&L8A>;
- vcc-voltage-level = <2504000 2506000>;
vcc-max-microamp = <1100000>;
vccq-supply = <&L4C>;
@@ -1733,6 +2528,37 @@
status = "ok";
};
+&ufs2phy_mem {
+ compatible = "qcom,ufs-phy-qmp-v4-waipio";
+
+ vdda-phy-supply = <&L4A>;
+ vdda-pll-supply = <&L1C>;
+ vdda-phy-max-microamp = <137000>;
+ vdda-pll-max-microamp = <18300>;
+
+ status = "ok";
+};
+
+&ufshc2_mem {
+ vdd-hba-supply = <&gcc_ufs_card_gdsc>;
+ vdd-hba-fixed-regulator;
+
+ vcc-supply = <&L8C>;
+ vcc-voltage-level = <2504000 2506000>;
+ vcc-max-microamp = <1100000>;
+
+ vccq-supply = <&L5C>;
+ vccq-max-microamp = <1200000>;
+
+ vccq2-supply = <&S4A>;
+ vccq2-max-microamp = <800000>;
+
+ qcom,vddp-ref-clk-supply = <&L5C>;
+ qcom,vddp-ref-clk-max-microamp = <100>;
+
+ status = "ok";
+};
+
&qupv3_se10_2uart {
status = "ok";
};
diff --git a/qcom/monaco-coresight.dtsi b/qcom/monaco-coresight.dtsi
index df3db582..a6b8c43c 100755
--- a/qcom/monaco-coresight.dtsi
+++ b/qcom/monaco-coresight.dtsi
@@ -1419,6 +1419,7 @@
reg-names = "tmc-base","bam-base";
coresight-name = "coresight-tmc-etr";
+ qcom,mem_support;
iommus = <&apps_smmu 0x0180 0>,
<&apps_smmu 0x0160 0>;
@@ -1457,7 +1458,7 @@
cti_cortex_m3: cti@8b30000 {
compatible = "arm,primecell";
- arm,primecell-periphid = <0x000bb966>;
+ arm,primecell-periphid = <0x000bb9a8>;
reg = <0x8b30000 0x1000>;
reg-names = "cti-base";
@@ -1469,7 +1470,7 @@
cti_apss_cti0: cti@98e0000 {
compatible = "arm,primecell";
- arm,primecell-periphid = <0x000bb966>;
+ arm,primecell-periphid = <0x000bb9a8>;
reg = <0x98e0000 0x1000>;
reg-names = "cti-base";
@@ -1481,7 +1482,7 @@
cti_apss_cti1: cti@98f0000 {
compatible = "arm,primecell";
- arm,primecell-periphid = <0x000bb966>;
+ arm,primecell-periphid = <0x000bb9a8>;
reg = <0x98f0000 0x1000>;
reg-names = "cti-base";
@@ -1493,7 +1494,7 @@
cti_wcss_cti0: cti@89a4000 {
compatible = "arm,primecell";
- arm,primecell-periphid = <0x000bb966>;
+ arm,primecell-periphid = <0x000bb9a8>;
reg = <0x89a4000 0x1000>;
reg-names = "cti-base";
@@ -1506,7 +1507,7 @@
cti_wcss_cti1: cti@89a5000 {
compatible = "arm,primecell";
- arm,primecell-periphid = <0x000bb966>;
+ arm,primecell-periphid = <0x000bb9a8>;
reg = <0x89a5000 0x1000>;
reg-names = "cti-base";
@@ -1519,7 +1520,7 @@
cti_wcss_cti2: cti@89a6000 {
compatible = "arm,primecell";
- arm,primecell-periphid = <0x000bb966>;
+ arm,primecell-periphid = <0x000bb9a8>;
reg = <0x89a6000 0x1000>;
reg-names = "cti-base";
@@ -1532,7 +1533,7 @@
cti_lpass_lpi: cti@8a21000 {
compatible = "arm,primecell";
- arm,primecell-periphid = <0x000bb966>;
+ arm,primecell-periphid = <0x000bb9a8>;
reg = <0x8a21000 0x1000>;
reg-names = "cti-base";
@@ -1545,7 +1546,7 @@
cti_lpass_q6: cti@8a2b000 {
compatible = "arm,primecell";
- arm,primecell-periphid = <0x000bb966>;
+ arm,primecell-periphid = <0x000bb9a8>;
reg = <0x8a2b000 0x1000>;
reg-names = "cti-base";
@@ -1558,7 +1559,7 @@
cti_mss_q6: cti@8833000 {
compatible = "arm,primecell";
- arm,primecell-periphid = <0x000bb966>;
+ arm,primecell-periphid = <0x000bb9a8>;
reg = <0x8833000 0x1000>;
reg-names = "cti-base";
@@ -1570,7 +1571,7 @@
cti_isdb_gpu: cti@8941000 {
compatible = "arm,primecell";
- arm,primecell-periphid = <0x000bb966>;
+ arm,primecell-periphid = <0x000bb9a8>;
reg = <0x8941000 0x1000>;
reg-names = "cti-base";
coresight-name = "coresight-cti-isdb-gpu";
@@ -1582,7 +1583,7 @@
cti_mapss: cti@8a02000 {
compatible = "arm,primecell";
- arm,primecell-periphid = <0x000bb966>;
+ arm,primecell-periphid = <0x000bb9a8>;
reg = <0x8a02000 0x1000>;
reg-names = "cti-base";
@@ -1594,7 +1595,7 @@
cti_dlct_cti0: cti@8b59000 {
compatible = "arm,primecell";
- arm,primecell-periphid = <0x000bb966>;
+ arm,primecell-periphid = <0x000bb9a8>;
reg = <0x8b59000 0x1000>;
reg-names = "cti-base";
@@ -1606,7 +1607,7 @@
cti_dlct_cti1: cti@8b5a000 {
compatible = "arm,primecell";
- arm,primecell-periphid = <0x000bb966>;
+ arm,primecell-periphid = <0x000bb9a8>;
reg = <0x8b5a000 0x1000>;
reg-names = "cti-base";
@@ -1618,7 +1619,7 @@
cti_dlct_cti2: cti@8b5b000 {
compatible = "arm,primecell";
- arm,primecell-periphid = <0x000bb966>;
+ arm,primecell-periphid = <0x000bb9a8>;
reg = <0x8b5b000 0x1000>;
reg-names = "cti-base";
@@ -1630,7 +1631,7 @@
cti_dlct_cti3: cti@8b5c000 {
compatible = "arm,primecell";
- arm,primecell-periphid = <0x000bb966>;
+ arm,primecell-periphid = <0x000bb9a8>;
reg = <0x8b5c000 0x1000>;
reg-names = "cti-base";
@@ -1642,7 +1643,7 @@
cti0: cti@8010000 {
compatible = "arm,primecell";
- arm,primecell-periphid = <0x000bb966>;
+ arm,primecell-periphid = <0x000bb9a8>;
reg = <0x8010000 0x1000>;
reg-names = "cti-base";
@@ -1654,7 +1655,7 @@
cti1: cti@8011000 {
compatible = "arm,primecell";
- arm,primecell-periphid = <0x000bb966>;
+ arm,primecell-periphid = <0x000bb9a8>;
reg = <0x8011000 0x1000>;
reg-names = "cti-base";
@@ -1666,7 +1667,7 @@
cti2: cti@8012000 {
compatible = "arm,primecell";
- arm,primecell-periphid = <0x000bb966>;
+ arm,primecell-periphid = <0x000bb9a8>;
reg = <0x8012000 0x1000>;
reg-names = "cti-base";
@@ -1683,7 +1684,7 @@
cti3: cti@8013000 {
compatible = "arm,primecell";
- arm,primecell-periphid = <0x000bb966>;
+ arm,primecell-periphid = <0x000bb9a8>;
reg = <0x8013000 0x1000>;
reg-names = "cti-base";
@@ -1695,7 +1696,7 @@
cti4: cti@8014000 {
compatible = "arm,primecell";
- arm,primecell-periphid = <0x000bb966>;
+ arm,primecell-periphid = <0x000bb9a8>;
reg = <0x8014000 0x1000>;
reg-names = "cti-base";
@@ -1707,7 +1708,7 @@
cti5: cti@8015000 {
compatible = "arm,primecell";
- arm,primecell-periphid = <0x000bb966>;
+ arm,primecell-periphid = <0x000bb9a8>;
reg = <0x8015000 0x1000>;
reg-names = "cti-base";
@@ -1719,7 +1720,7 @@
cti6: cti@8016000 {
compatible = "arm,primecell";
- arm,primecell-periphid = <0x000bb966>;
+ arm,primecell-periphid = <0x000bb9a8>;
reg = <0x8016000 0x1000>;
reg-names = "cti-base";
@@ -1731,7 +1732,7 @@
cti7: cti@8017000 {
compatible = "arm,primecell";
- arm,primecell-periphid = <0x000bb966>;
+ arm,primecell-periphid = <0x000bb9a8>;
reg = <0x8017000 0x1000>;
reg-names = "cti-base";
@@ -1743,7 +1744,7 @@
cti8: cti@8018000 {
compatible = "arm,primecell";
- arm,primecell-periphid = <0x000bb966>;
+ arm,primecell-periphid = <0x000bb9a8>;
reg = <0x8018000 0x1000>;
reg-names = "cti-base";
@@ -1755,7 +1756,7 @@
cti9: cti@8019000 {
compatible = "arm,primecell";
- arm,primecell-periphid = <0x000bb966>;
+ arm,primecell-periphid = <0x000bb9a8>;
reg = <0x8019000 0x1000>;
reg-names = "cti-base";
@@ -1767,7 +1768,7 @@
cti10: cti@801a000 {
compatible = "arm,primecell";
- arm,primecell-periphid = <0x000bb966>;
+ arm,primecell-periphid = <0x000bb9a8>;
reg = <0x801a000 0x1000>;
reg-names = "cti-base";
@@ -1779,7 +1780,7 @@
cti11: cti@801b000 {
compatible = "arm,primecell";
- arm,primecell-periphid = <0x000bb966>;
+ arm,primecell-periphid = <0x000bb9a8>;
reg = <0x801b000 0x1000>;
reg-names = "cti-base";
@@ -1791,7 +1792,7 @@
cti12: cti@801c000 {
compatible = "arm,primecell";
- arm,primecell-periphid = <0x000bb966>;
+ arm,primecell-periphid = <0x000bb9a8>;
reg = <0x801c000 0x1000>;
reg-names = "cti-base";
@@ -1803,7 +1804,7 @@
cti13: cti@801d000 {
compatible = "arm,primecell";
- arm,primecell-periphid = <0x000bb966>;
+ arm,primecell-periphid = <0x000bb9a8>;
reg = <0x801d000 0x1000>;
reg-names = "cti-base";
@@ -1815,7 +1816,7 @@
cti14: cti@801e000 {
compatible = "arm,primecell";
- arm,primecell-periphid = <0x000bb966>;
+ arm,primecell-periphid = <0x000bb9a8>;
reg = <0x801e000 0x1000>;
reg-names = "cti-base";
@@ -1827,7 +1828,7 @@
cti15: cti@801f000 {
compatible = "arm,primecell";
- arm,primecell-periphid = <0x000bb966>;
+ arm,primecell-periphid = <0x000bb9a8>;
reg = <0x801f000 0x1000>;
reg-names = "cti-base";
diff --git a/qcom/monaco-idp-v1.dtsi b/qcom/monaco-idp-v1.dtsi
index 46a0a0f2..09e756db 100755
--- a/qcom/monaco-idp-v1.dtsi
+++ b/qcom/monaco-idp-v1.dtsi
@@ -4,14 +4,6 @@
#include <dt-bindings/clock/qcom,rpmcc.h>
#include "slate.dtsi"
-&soc {
- bluetooth: bt_wcn3990 {
- compatible = "qcom,qcc5100";
-
- status = "ok";
- };
-};
-
&pm5100_charger {
qcom,remote-fg;
#io-channel-cells = <1>;
diff --git a/qcom/monaco-pinctrl.dtsi b/qcom/monaco-pinctrl.dtsi
index aaf4f203..4f8c8891 100755
--- a/qcom/monaco-pinctrl.dtsi
+++ b/qcom/monaco-pinctrl.dtsi
@@ -642,24 +642,37 @@
config {
pins = "gpio23";
drive-strength = <6>;
- bias-disable;
+ bias-pull-up;
};
};
qupv3_se4_spi_sleep: qupv3_se4_spi_sleep {
mux {
pins = "gpio20", "gpio21",
- "gpio22", "gpio23";
+ "gpio22";
function = "gpio";
};
config {
pins = "gpio20", "gpio21",
- "gio22", "gpio23";
+ "gio22";
drive-strength = <6>;
bias-disable;
};
};
+
+ qupv3_se4_spi_cs_sleep: qupv3_se4_spi_cs_sleep {
+ mux {
+ pins = "gpio23";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio23";
+ drive-strength = <6>;
+ bias-pull-up;
+ };
+ };
};
qupv3_se5_i2c_pins: qupv3_se5_i2c_pins {
diff --git a/qcom/monaco-pmic.dtsi b/qcom/monaco-pmic.dtsi
index dee99a19..5d3277df 100755
--- a/qcom/monaco-pmic.dtsi
+++ b/qcom/monaco-pmic.dtsi
@@ -103,12 +103,10 @@
};
&thermal_zones {
- xo-therm-usr {
+ xo-therm {
polling-delay-passive = <0>;
polling-delay = <0>;
- thermal-governor = "user_space";
thermal-sensors = <&pm5100_adc PM5100_ADC5_GEN3_AMUX1_THM_100K_PU>;
- wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
@@ -118,12 +116,10 @@
};
};
- pa-therm0-usr {
+ pa-therm0 {
polling-delay-passive = <0>;
polling-delay = <0>;
- thermal-governor = "user_space";
thermal-sensors = <&pm5100_adc PM5100_ADC5_GEN3_AMUX4_THM_100K_PU>;
- wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
@@ -133,12 +129,10 @@
};
};
- quiet-therm-usr {
+ quiet-therm {
polling-delay-passive = <0>;
polling-delay = <0>;
- thermal-governor = "user_space";
thermal-sensors = <&pm5100_adc PM5100_ADC5_GEN3_AMUX5_THM_100K_PU>;
- wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
@@ -148,12 +142,10 @@
};
};
- sdm-skin-therm-usr {
+ sdm-skin-therm {
polling-delay-passive = <0>;
polling-delay = <0>;
- thermal-governor = "user_space";
thermal-sensors = <&pm5100_adc PM5100_ADC5_GEN3_AMUX6_THM_100K_PU>;
- wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
@@ -173,6 +165,9 @@
monaco_batterydata: qcom,battery-data {
qcom,batt-id-range-pct = <15>;
+ #include "qbg-battery-profile-alium-860-89032-0000-3600mAh.dtsi"
+ #include "qbg-battery-profile-qrd-zwd-520mAh.dtsi"
+ #include "qbg-battery-profile-305mAh.dtsi"
};
};
diff --git a/qcom/monaco-qupv3.dtsi b/qcom/monaco-qupv3.dtsi
index d1d513a0..b9484188 100755
--- a/qcom/monaco-qupv3.dtsi
+++ b/qcom/monaco-qupv3.dtsi
@@ -326,7 +326,7 @@
pinctrl-names = "default", "sleep";
pinctrl-0 = <&qupv3_se4_spi_mosi_active>, <&qupv3_se4_spi_miso_active>,
<&qupv3_se4_spi_clk_active>, <&qupv3_se4_spi_cs_active>;
- pinctrl-1 = <&qupv3_se4_spi_sleep>;
+ pinctrl-1 = <&qupv3_se4_spi_sleep>, <&qupv3_se4_spi_cs_sleep> ;
dmas = <&gpi_dma0 0 4 1 64 0>,
<&gpi_dma0 1 4 1 64 0>;
dma-names = "tx", "rx";
diff --git a/qcom/monaco-thermal.dtsi b/qcom/monaco-thermal.dtsi
index ae46ae06..b87f297a 100755
--- a/qcom/monaco-thermal.dtsi
+++ b/qcom/monaco-thermal.dtsi
@@ -286,8 +286,7 @@
cooling-maps {
mdm0-cx-cdev0 {
trip = <&mdm0_cx_mon>;
- cooling-device = <&msm_gpu THERMAL_MAX_LIMIT
- THERMAL_MAX_LIMIT>;
+ cooling-device = <&msm_gpu 3 THERMAL_NO_LIMIT>;
};
mdm0-cx-cdev1 {
@@ -324,8 +323,7 @@
cooling-maps {
mdm1-cx-cdev0 {
trip = <&mdm1_cx_mon>;
- cooling-device = <&msm_gpu THERMAL_MAX_LIMIT
- THERMAL_MAX_LIMIT>;
+ cooling-device = <&msm_gpu 3 THERMAL_NO_LIMIT>;
};
mdm1-cx-cdev1 {
@@ -374,8 +372,7 @@
gpu-cx-cdev0 {
trip = <&gpu_cx_mon>;
- cooling-device = <&msm_gpu THERMAL_MAX_LIMIT
- THERMAL_MAX_LIMIT>;
+ cooling-device = <&msm_gpu 3 THERMAL_NO_LIMIT>;
};
gpu-cx-cdev1 {
@@ -443,7 +440,7 @@
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-sensors = <&qmi_sensor
- (QMI_MODEM_INST_ID)>;
+ (QMI_MODEM_INST_ID+QMI_RF_CAL)>;
trips {
rf_cal_trip: rf-cal-config {
temperature = <2000>;
diff --git a/qcom/monaco-wdp-v1.dtsi b/qcom/monaco-wdp-v1.dtsi
index 6fea5bc4..e90da247 100755
--- a/qcom/monaco-wdp-v1.dtsi
+++ b/qcom/monaco-wdp-v1.dtsi
@@ -1 +1,43 @@
#include "monaco-idp-v1.dtsi"
+
+
+
+
+
+
+
+
+
+
+&qupv3_se1_i2c {
+ status = "ok";
+
+ tsc@24 {
+ compatible = "parade,pt_i2c_adapter";
+ reg = <0x24>;
+ status = "disabled";
+ };
+
+ raydium_ts@39 {
+ compatible = "raydium,raydium-ts";
+ reg = <0x39>;
+ status = "ok";
+ interrupt-parent = <&tlmm>;
+ interrupts = <13 0x2008>;
+ vdd_ana-supply = <&L29A>;
+ vcc_i2c-supply = <&L21A>;
+ pinctrl-names = "pmx_ts_active","pmx_ts_suspend","pmx_ts_release";
+ pinctrl-0 = <&ts_int_active &ts_reset_active>;
+ pinctrl-1 = <&ts_int_suspend &ts_reset_suspend>;
+ pinctrl-2 = <&ts_release>;
+ raydium,reset-gpio = <&tlmm 12 0x00>;
+ raydium,irq-gpio = <&tlmm 13 0x00>;
+ raydium,num-max-touches = <2>;
+ raydium,soft-reset-delay-ms = <50>;
+ raydium,hard-reset-delay-ms = <100>;
+ raydium,x_max = <320>;
+ raydium,y_max = <360>;
+ raydium,display-coords= <0 0 320 360>;
+ };
+};
+
diff --git a/qcom/monaco.dtsi b/qcom/monaco.dtsi
index a7b4a2a8..a9ac408c 100755
--- a/qcom/monaco.dtsi
+++ b/qcom/monaco.dtsi
@@ -183,7 +183,7 @@
soc: soc { };
chosen {
- bootargs = "rcupdate.rcu_expedited=1 rcu_nocbs=0-7";
+ bootargs = "console=ttyMSM0,115200n8 loglevel=6 kpti=off log_buf_len=256K kernel.panic_on_rcu_stall=1 msm_rtb.filter=0x237 rcupdate.rcu_expedited=1 rcu_nocbs=0-7 ftrace_dump_on_oops fw_devlink.strict=1 allow_mismatched_32bit_el0 printk.console_no_auto_verbose=1 irqaffinity=0-2";
};
reserved-memory {
@@ -537,7 +537,7 @@
};
pil@94c {
- compatible = "qcom,msm-imem-pil";
+ compatible = "qcom,pil-reloc-info";
reg = <0x94c 0xc8>;
};
@@ -556,6 +556,15 @@
compatible = "qcom,dload-mode";
};
+ mini_dump_mode {
+ compatible = "qcom,minidump";
+ status = "ok";
+ };
+
+ vendor_hooks: qcom,cpu-vendor-hooks {
+ compatible = "qcom,cpu-vendor-hooks";
+ };
+
qcom,mpm2-slepp-counter@4403000 {
compatible = "qcom,mpm2-sleep-counter";
reg = <0x4403000 0x1000>;
@@ -623,6 +632,16 @@
compatible = "qcom,smcinvoke";
};
+ qcom_hwkm: hwkm@4440000 {
+ compatible = "qcom,hwkm";
+ reg = <0x4440000 0x9000>;
+ reg-names = "km_master";
+ qcom,enable-hwkm-clk;
+ clock-names = "km_clk_src";
+ clocks = <&rpmcc RPM_SMD_HWKM_CLK>;
+ qcom,op-freq-hz = <75000000>;
+ };
+
qcom_tzlog: tz-log@c125720 {
compatible = "qcom,tz-log";
reg = <0xc125720 0x3000>;
@@ -979,11 +998,11 @@
compatible = "qcom,monaco-adsp-pas";
reg = <0xab00000 0x00100>;
- cx-supply = <&VDD_LPI_CX_LEVEL>;
+ vdd_lpi_cx-supply = <&VDD_LPI_CX_LEVEL>;
reg-names = "vdd_lpi_cx", "vdd_lpi_mx";
- qcom,vdd_lpi_cx-uV-uA = <RPMH_REGULATOR_LEVEL_TURBO 0>;
- mx-supply = <&VDD_LPI_MX_LEVEL>;
- mx-uV-uA = <RPMH_REGULATOR_LEVEL_TURBO 0>;
+ vdd_lpi_cx-uV-uA = <RPMH_REGULATOR_LEVEL_TURBO 0>;
+ vdd_lpi_mx-supply = <&VDD_LPI_MX_LEVEL>;
+ vdd_lpi_mx-uV-uA = <RPMH_REGULATOR_LEVEL_TURBO 0>;
clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>;
clock-names = "xo";
@@ -1727,7 +1746,7 @@
rpm-sleep-stats@4690000 {
compatible = "qcom,rpm-sleep-stats";
reg = <0x04690000 0x400>;
- ss-name = "modem", "adsp", "cdsp", "apss";
+ ss-name = "modem", "adsp", "adsp_island", "cdsp", "apss";
};
qcom,rpm-master-stats@45f0150 {
diff --git a/qcom/msm-arm-smmu-kona.dtsi b/qcom/msm-arm-smmu-kona.dtsi
new file mode 100755
index 00000000..513a697e
--- /dev/null
+++ b/qcom/msm-arm-smmu-kona.dtsi
@@ -0,0 +1,363 @@
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+
+&soc {
+ kgsl_smmu: kgsl-smmu@3da0000 {
+ compatible = "qcom,qsmmu-v500";
+ reg = <0x3DA0000 0x10000>,
+ <0x3DC2000 0x20>;
+ reg-names = "base", "tcu-base";
+ #iommu-cells = <2>;
+ qcom,use-3-lvl-tables;
+ qcom,no-dynamic-asid;
+ #global-interrupts = <2>;
+ #size-cells = <1>;
+ #address-cells = <1>;
+ ranges;
+ dma-coherent;
+ qcom,regulator-names = "vdd";
+ vdd-supply = <&gpu_cx_gdsc>;
+
+ clocks = <&gcc GCC_GPU_MEMNOC_GFX_CLK>,
+ <&gcc GCC_GPU_SNOC_DVM_GFX_CLK>,
+ <&gpucc GPU_CC_AHB_CLK>;
+ clock-names = "gcc_gpu_memnoc_gfx",
+ "gcc_gpu_snoc_dvm_gfx",
+ "gpu_cc_ahb";
+
+ interrupts = <GIC_SPI 672 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 673 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 678 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 679 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 680 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 681 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 682 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 683 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 684 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 685 IRQ_TYPE_LEVEL_HIGH>;
+
+ qcom,actlr =
+ /* All CBs of GFX: +15 deep PF */
+ <0x2 0x400 0x32B>,
+ <0x4 0x400 0x32B>,
+ <0x5 0x400 0x32B>,
+ <0x7 0x400 0x32B>,
+ <0x0 0x401 0x32B>;
+
+ gfx_0_tbu: gfx_0_tbu@3dc5000 {
+ compatible = "qcom,qsmmuv500-tbu";
+ reg = <0x3DC5000 0x1000>,
+ <0x3DC2200 0x8>;
+ reg-names = "base", "status-reg";
+ qcom,stream-id-range = <0x0 0x400>;
+ qcom,iova-width = <49>;
+ };
+
+ gfx_1_tbu: gfx_1_tbu@3dc9000 {
+ compatible = "qcom,qsmmuv500-tbu";
+ reg = <0x3DC9000 0x1000>,
+ <0x3DC2208 0x8>;
+ reg-names = "base", "status-reg";
+ qcom,stream-id-range = <0x400 0x400>;
+ qcom,iova-width = <49>;
+ };
+ };
+
+ apps_smmu: apps-smmu@15000000 {
+ compatible = "qcom,qsmmu-v500";
+ reg = <0x15000000 0x100000>,
+ <0x15182000 0x20>;
+ reg-names = "base", "tcu-base";
+ #iommu-cells = <2>;
+ qcom,use-3-lvl-tables;
+ #global-interrupts = <2>;
+ #size-cells = <1>;
+ #address-cells = <1>;
+ ranges;
+ dma-coherent;
+ interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 181 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 182 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 183 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 315 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 316 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 317 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 318 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 319 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 320 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 321 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 322 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 323 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 324 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 325 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 332 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 333 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 334 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 335 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 336 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 338 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 339 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 340 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 341 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 342 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 343 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 344 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 395 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 396 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 397 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 398 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 399 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 400 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 401 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 402 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 403 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 404 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 405 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 406 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 407 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 408 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 409 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 412 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 418 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 419 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 421 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 423 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 424 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 425 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 690 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 691 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 692 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 693 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 694 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 695 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 696 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 697 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 707 IRQ_TYPE_LEVEL_HIGH>;
+
+ interconnects = <&system_noc MASTER_GEM_NOC_SNOC
+ &config_noc SLAVE_IMEM_CFG>;
+ qcom,active-only;
+
+ qcom,actlr =
+ /* For HF-0 TBU +3 deep PF */
+ <0x800 0x3ff 0x103>,
+ /* For HF-1 TBU +3 deep PF */
+ <0xC00 0x3ff 0x103>,
+ /* For SF-0 TBU +3 deep PF */
+ <0x2000 0x3ff 0x103>,
+ /* For SF-1 TBU +3 deep PF */
+ <0x2400 0x3ff 0x103>,
+ /* For NPU +3 deep PF */
+ <0x1081 0x400 0x103>,
+ <0x1082 0x400 0x103>,
+ <0x1085 0x400 0x103>,
+ <0x10a1 0x400 0x103>,
+ <0x10a2 0x400 0x103>,
+ <0x10a5 0x400 0x103>;
+
+ anoc_1_tbu: anoc_1_tbu@15185000 {
+ compatible = "qcom,qsmmuv500-tbu";
+ reg = <0x15185000 0x1000>,
+ <0x15182200 0x8>;
+ reg-names = "base", "status-reg";
+ qcom,stream-id-range = <0x0 0x400>;
+ interconnects = <&system_noc MASTER_GEM_NOC_SNOC
+ &config_noc SLAVE_IMEM_CFG>;
+ qcom,active-only;
+ qcom,iova-width = <36>;
+ };
+
+ anoc_2_tbu: anoc_2_tbu@15189000 {
+ compatible = "qcom,qsmmuv500-tbu";
+ reg = <0x15189000 0x1000>,
+ <0x15182208 0x8>;
+ reg-names = "base", "status-reg";
+ qcom,stream-id-range = <0x400 0x400>;
+ interconnects = <&system_noc MASTER_GEM_NOC_SNOC
+ &config_noc SLAVE_IMEM_CFG>;
+ qcom,active-only;
+ qcom,iova-width = <36>;
+ };
+
+ mnoc_hf_0_tbu: mnoc_hf_0_tbu@1518d000 {
+ compatible = "qcom,qsmmuv500-tbu";
+ reg = <0x1518D000 0x1000>,
+ <0x15182210 0x8>;
+ reg-names = "base", "status-reg";
+ qcom,stream-id-range = <0x800 0x400>;
+ qcom,regulator-names = "vdd";
+ vdd-supply = <&hlos1_vote_mmnoc_mmu_tbu_hf0_gdsc>;
+ interconnects = <&mmss_noc MASTER_MDP0
+ &mmss_noc SLAVE_MNOC_HF_MEM_NOC>;
+ qcom,active-only;
+ qcom,iova-width = <32>;
+ };
+
+ mnoc_hf_1_tbu: mnoc_hf_1_tbu@15191000 {
+ compatible = "qcom,qsmmuv500-tbu";
+ reg = <0x15191000 0x1000>,
+ <0x15182218 0x8>;
+ reg-names = "base", "status-reg";
+ qcom,stream-id-range = <0xc00 0x400>;
+ qcom,regulator-names = "vdd";
+ vdd-supply = <&hlos1_vote_mmnoc_mmu_tbu_hf1_gdsc>;
+ interconnects = <&mmss_noc MASTER_MDP0
+ &mmss_noc SLAVE_MNOC_HF_MEM_NOC>;
+ qcom,active-only;
+ qcom,iova-width = <32>;
+ };
+
+ compute_dsp_1_tbu: compute_dsp_1_tbu@15195000 {
+ compatible = "qcom,qsmmuv500-tbu";
+ reg = <0x15195000 0x1000>,
+ <0x15182220 0x8>;
+ reg-names = "base", "status-reg";
+ qcom,stream-id-range = <0x1000 0x400>;
+ interconnects = <&compute_noc MASTER_NPU
+ &compute_noc SLAVE_CDSP_MEM_NOC>;
+ qcom,active-only;
+ qcom,iova-width = <32>;
+ };
+
+ compute_dsp_0_tbu: compute_dsp_0_tbu@15199000 {
+ compatible = "qcom,qsmmuv500-tbu";
+ reg = <0x15199000 0x1000>,
+ <0x15182228 0x8>;
+ reg-names = "base", "status-reg";
+ qcom,stream-id-range = <0x1400 0x400>;
+ interconnects = <&compute_noc MASTER_NPU
+ &compute_noc SLAVE_CDSP_MEM_NOC>;
+ qcom,active-only;
+ qcom,iova-width = <32>;
+ };
+
+ adsp_tbu: adsp_tbu@1519d000 {
+ compatible = "qcom,qsmmuv500-tbu";
+ reg = <0x1519D000 0x1000>,
+ <0x15182230 0x8>;
+ reg-names = "base", "status-reg";
+ qcom,stream-id-range = <0x1800 0x400>;
+ interconnects = <&system_noc MASTER_GEM_NOC_SNOC
+ &config_noc SLAVE_IMEM_CFG>;
+ qcom,active-only;
+ qcom,iova-width = <32>;
+ };
+
+ anoc_1_pcie_tbu: anoc_1_pcie_tbu@151a1000 {
+ compatible = "qcom,qsmmuv500-tbu";
+ reg = <0x151A1000 0x1000>,
+ <0x15182238 0x8>;
+ reg-names = "base", "status-reg";
+ qcom,stream-id-range = <0x1c00 0x400>;
+ clock-names = "gcc_aggre_noc_pcie_tbu_clk";
+ clocks = <&gcc GCC_AGGRE_NOC_PCIE_TBU_CLK>;
+ interconnects = <&system_noc MASTER_GEM_NOC_SNOC
+ &config_noc SLAVE_IMEM_CFG>;
+ qcom,active-only;
+ qcom,iova-width = <36>;
+ };
+
+ mnoc_sf_0_tbu: mnoc_sf_0_tbu@151a5000 {
+ compatible = "qcom,qsmmuv500-tbu";
+ reg = <0x151A5000 0x1000>,
+ <0x15182240 0x8>;
+ reg-names = "base", "status-reg";
+ qcom,stream-id-range = <0x2000 0x400>;
+ qcom,regulator-names = "vdd";
+ vdd-supply = <&hlos1_vote_mmnoc_mmu_tbu_sf0_gdsc>;
+ interconnects = <&mmss_noc MASTER_CAMNOC_SF
+ &mmss_noc SLAVE_MNOC_SF_MEM_NOC>;
+ qcom,active-only;
+ qcom,iova-width = <32>;
+ };
+
+ mnoc_sf_1_tbu: mnoc_sf_1_tbu@151a9000 {
+ compatible = "qcom,qsmmuv500-tbu";
+ reg = <0x151A9000 0x1000>,
+ <0x15182248 0x8>;
+ reg-names = "base", "status-reg";
+ qcom,stream-id-range = <0x2400 0x400>;
+ qcom,regulator-names = "vdd";
+ vdd-supply = <&hlos1_vote_mmnoc_mmu_tbu_sf1_gdsc>;
+ interconnects = <&mmss_noc MASTER_CAMNOC_SF
+ &mmss_noc SLAVE_MNOC_SF_MEM_NOC>;
+ qcom,active-only;
+ qcom,iova-width = <32>;
+ };
+ };
+
+ dma_dev {
+ compatible = "qcom,iommu-dma";
+ memory-region = <&system_cma>;
+ };
+
+ iommu_test_device {
+ compatible = "qcom,iommu-debug-test";
+
+ kgsl_iommu_test_device {
+ compatible = "qcom,iommu-debug-usecase";
+ iommus = <&kgsl_smmu 0x7 0>;
+ qcom,iommu-dma = "disabled";
+ };
+
+ kgsl_iommu_coherent_test_device {
+ status = "disabled";
+ compatible = "qcom,iommu-debug-usecase";
+ iommus = <&kgsl_smmu 0x9 0>;
+ qcom,iommu-dma = "disabled";
+ dma-coherent;
+ };
+
+ apps_iommu_test_device {
+ compatible = "qcom,iommu-debug-usecase";
+ iommus = <&apps_smmu 0x21 0>;
+ qcom,iommu-dma = "disabled";
+ };
+
+ apps_iommu_coherent_test_device {
+ compatible = "qcom,iommu-debug-usecase";
+ iommus = <&apps_smmu 0x23 0>;
+ qcom,iommu-dma = "disabled";
+ dma-coherent;
+ };
+ };
+};
diff --git a/qcom/msm-arm-smmu-lemans.dtsi b/qcom/msm-arm-smmu-lemans.dtsi
index 488884d9..9e392354 100755
--- a/qcom/msm-arm-smmu-lemans.dtsi
+++ b/qcom/msm-arm-smmu-lemans.dtsi
@@ -363,6 +363,8 @@
<GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 640 IRQ_TYPE_LEVEL_HIGH>;
+ interconnects = <&pcie_anoc MASTER_PCIE_0 &mc_virt SLAVE_EBI1>;
+
pcie_0_tbu: pcie_0_tbu@152f9000 {
compatible = "qcom,qsmmuv500-tbu";
reg = <0x152F9000 0x1000>,
@@ -383,7 +385,7 @@
};
kgsl_smmu: kgsl-smmu@3da0000 {
- compatible = "qcom,qsmmu-v500";
+ compatible = "qcom,qsmmu-v500", "qcom,adreno-smmu";
reg = <0x3da0000 0x20000>,
<0x3dca000 0x28>;
reg-names = "base", "tcu-base";
diff --git a/qcom/pm8009.dtsi b/qcom/pm8009.dtsi
new file mode 100755
index 00000000..3e15fdbd
--- /dev/null
+++ b/qcom/pm8009.dtsi
@@ -0,0 +1,51 @@
+#include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/spmi/spmi.h>
+
+&spmi_bus {
+ status = "ok";
+ #address-cells = <2>;
+ #size-cells = <0>;
+ interrupt-controller;
+ #interrupt-cells = <4>;
+
+ qcom,pm8009@a {
+ status = "okay";
+ compatible ="qcom,spmi-pmic";
+ reg = <0xa SPMI_USID>;
+ #address-cells = <2>;
+ #size-cells = <0>;
+
+ qcom,revid@100 {
+ status = "okay";
+ compatible = "qcom,qpnp-revid";
+ reg = <0x100 0x100>;
+ };
+
+ qcom,power-on@800 {
+ compatible = "qcom,qpnp-power-on";
+ reg = <0x800 0x100>;
+ };
+
+ pm8009_gpios: pinctrl@c000 {
+ status = "okay";
+ compatible = "qcom,pm8150b-gpio";
+ reg = <0xc000 0x400>;
+ interrupts = <0xa 0xc0 0 IRQ_TYPE_NONE>,
+ <0xa 0xc1 0 IRQ_TYPE_NONE>,
+ <0xa 0xc2 0 IRQ_TYPE_NONE>,
+ <0xa 0xc3 0 IRQ_TYPE_NONE>;
+ interrupt-names = "pm8009_gpio1", "pm8009_gpio2",
+ "pm8009_gpio3", "pm8009_gpio4";
+ gpio-controller;
+ #gpio-cells = <2>;
+ };
+ };
+
+ qcom,pm8009@b {
+ status = "okay";
+ compatible = "qcom,spmi-pmic";
+ reg = <0xb SPMI_USID>;
+ #address-cells = <2>;
+ #size-cells = <0>;
+ };
+};
diff --git a/qcom/pm8150.dtsi b/qcom/pm8150.dtsi
index 41e60e6d..9ce9c1db 100755
--- a/qcom/pm8150.dtsi
+++ b/qcom/pm8150.dtsi
@@ -7,12 +7,14 @@
#include <dt-bindings/input/linux-event-codes.h>
&spmi_bus {
+ status = "ok";
#address-cells = <2>;
#size-cells = <0>;
interrupt-controller;
#interrupt-cells = <4>;
pm8150_0: qcom,pm8150@0 {
+ status = "okay";
compatible = "qcom,spmi-pmic";
reg = <0 SPMI_USID>;
#address-cells = <1>;
@@ -70,6 +72,7 @@
};
pm8150_rtc: qcom,pm8150_rtc {
+ status = "okay";
compatible = "qcom,pm8941-rtc";
reg = <0x6000>, <0x6100>;
reg-names = "rtc", "alarm";
@@ -86,6 +89,7 @@
};
pm8150_sdam_2: sdam@b100 {
+ status = "okay";
compatible = "qcom,spmi-sdam";
reg = <0xb100>;
#address-cells = <1>;
@@ -98,6 +102,7 @@
};
pm8150_vadc: vadc@3100 {
+ status = "okay";
compatible = "qcom,spmi-adc5";
reg = <0x3100>;
#address-cells = <1>;
@@ -128,6 +133,7 @@
};
pm8150_adc_tm: adc_tm@3500 {
+ status = "okay";
compatible = "qcom,spmi-adc-tm5";
reg = <0x3500>;
interrupts = <0x0 0x35 0x0 IRQ_TYPE_EDGE_RISING>;
@@ -142,6 +148,7 @@
};
qcom,pm8150@1 {
+ status = "okay";
compatible ="qcom,spmi-pmic";
reg = <1 SPMI_USID>;
#address-cells = <1>;
diff --git a/qcom/pm8150b.dtsi b/qcom/pm8150b.dtsi
new file mode 100755
index 00000000..3bee9948
--- /dev/null
+++ b/qcom/pm8150b.dtsi
@@ -0,0 +1,768 @@
+#include <dt-bindings/spmi/spmi.h>
+#include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/iio/qcom,spmi-vadc.h>
+
+&spmi_bus {
+ status = "ok";
+ #address-cells = <2>;
+ #size-cells = <0>;
+ interrupt-controller;
+ #interrupt-cells = <4>;
+
+ qcom,pm8150b@2 {
+ status = "okay";
+ compatible = "qcom,spmi-pmic";
+ reg = <0x2 SPMI_USID>;
+ #address-cells = <2>;
+ #size-cells = <0>;
+
+ pm8150b_revid: qcom,revid@100 {
+ status = "okay";
+ compatible = "qcom,qpnp-revid";
+ reg = <0x100 0x100>;
+ };
+
+ qcom,power-on@800 {
+ compatible = "qcom,qpnp-power-on";
+ reg = <0x800 0x100>;
+ };
+
+ pm8150b_tz: qcom,temp-alarm@2400 {
+ compatible = "qcom,spmi-temp-alarm";
+ reg = <0x2400 0x100>;
+ interrupts = <0x2 0x24 0x0 IRQ_TYPE_EDGE_BOTH>;
+ io-channels = <&pm8150b_vadc ADC5_DIE_TEMP>;
+ io-channel-names = "thermal";
+ #thermal-sensor-cells = <0>;
+ qcom,temperature-threshold-set = <1>;
+ };
+
+ pm8150b_clkdiv: clock-controller@6000 {
+ compatible = "qcom,spmi-clkdiv";
+ reg = <0x6000 0x100>;
+ #clock-cells = <1>;
+ qcom,num-clkdivs = <1>;
+ clock-output-names = "pm8150b_div_clk1";
+ clocks = <&rpmhcc RPMH_CXO_CLK>;
+ clock-names = "xo";
+ };
+
+ pm8150b_pbs1: qcom,pbs@7200 {
+ status = "okay";
+ compatible = "qcom,qpnp-pbs";
+ reg = <0x7200 0x100>;
+ };
+
+ pm8150b_qnovo: qcom,sdam-qnovo@b000 {
+ status = "okay";
+ compatible = "qcom,qpnp-qnovo5";
+ reg = <0xb000 0x100>;
+ interrupts = <0x2 0xb0 1 IRQ_TYPE_EDGE_RISING>;
+ interrupt-names = "ptrain-done";
+ };
+
+ pm8150b_gpios: pinctrl@c000 {
+ status = "okay";
+ compatible = "qcom,pm8150b-gpio";
+ reg = <0xc000 0xc00>;
+ interrupts = <0x2 0xc0 0x0 IRQ_TYPE_NONE>,
+ <0x2 0xc1 0x0 IRQ_TYPE_NONE>,
+ <0x2 0xc4 0x0 IRQ_TYPE_NONE>,
+ <0x2 0xc5 0x0 IRQ_TYPE_NONE>,
+ <0x2 0xc6 0x0 IRQ_TYPE_NONE>,
+ <0x2 0xc7 0x0 IRQ_TYPE_NONE>,
+ <0x2 0xc8 0x0 IRQ_TYPE_NONE>,
+ <0x2 0xc9 0x0 IRQ_TYPE_NONE>,
+ <0x2 0xcb 0x0 IRQ_TYPE_NONE>;
+ interrupt-names = "pm8150b_gpio1", "pm8150b_gpio2",
+ "pm8150b_gpio5", "pm8150b_gpio6",
+ "pm8150b_gpio7", "pm8150b_gpio8",
+ "pm8150b_gpio9", "pm8150b_gpio10",
+ "pm8150b_gpio12";
+ gpio-controller;
+ #gpio-cells = <2>;
+ qcom,gpios-disallowed = <3 4 11>;
+ };
+
+ pm8150b_charger: qcom,qpnp-smb5 {
+ compatible = "qcom,pm8150-smb5";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ #cooling-cells = <2>;
+
+ qcom,pmic-revid = <&pm8150b_revid>;
+
+ qcom,thermal-mitigation
+ = <3000000 1500000 1000000 500000>;
+
+ qcom,chg-term-src = <1>;
+ qcom,charger-temp-max = <800>;
+ qcom,smb-temp-max = <800>;
+ #io-channel-cells = <1>;
+ status = "okay";
+
+ qcom,chgr@1000 {
+ reg = <0x1000>;
+ interrupts =
+ <0x2 0x10 0x0 IRQ_TYPE_EDGE_RISING>,
+ <0x2 0x10 0x1 IRQ_TYPE_EDGE_RISING>,
+ <0x2 0x10 0x2 IRQ_TYPE_EDGE_RISING>,
+ <0x2 0x10 0x3 IRQ_TYPE_EDGE_RISING>,
+ <0x2 0x10 0x4 IRQ_TYPE_EDGE_RISING>,
+ <0x2 0x10 0x6 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x10 0x7 IRQ_TYPE_EDGE_BOTH>;
+
+ interrupt-names = "chgr-error",
+ "chg-state-change",
+ "step-chg-state-change",
+ "step-chg-soc-update-fail",
+ "step-chg-soc-update-req",
+ "vph-alarm",
+ "vph-drop-prechg";
+ };
+
+ qcom,dcdc@1100 {
+ reg = <0x1100>;
+ interrupts =
+ <0x2 0x11 0x0 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x11 0x1 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x11 0x2 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x11 0x4 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x11 0x5 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x11 0x6 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x11 0x7 IRQ_TYPE_EDGE_BOTH>;
+
+ interrupt-names = "otg-fail",
+ "otg-oc-disable-sw",
+ "otg-oc-hiccup",
+ "high-duty-cycle",
+ "input-current-limiting",
+ "concurrent-mode-disable",
+ "switcher-power-ok";
+ };
+
+ qcom,batif@1200 {
+ reg = <0x1200>;
+ interrupts =
+ <0x2 0x12 0x0 IRQ_TYPE_EDGE_RISING>,
+ <0x2 0x12 0x2 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x12 0x3 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x12 0x4 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x12 0x5 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x12 0x6 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x12 0x7 IRQ_TYPE_EDGE_BOTH>;
+
+ interrupt-names = "bat-temp",
+ "bat-ov",
+ "bat-low",
+ "bat-therm-or-id-missing",
+ "bat-terminal-missing",
+ "buck-oc",
+ "vph-ov";
+ };
+
+ qcom,usb@1300 {
+ reg = <0x1300>;
+ interrupts =
+ <0x2 0x13 0x0 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x13 0x1 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x13 0x2 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x13 0x3 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x13 0x4 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x13 0x5 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x13 0x6 IRQ_TYPE_EDGE_RISING>,
+ <0x2 0x13 0x7 IRQ_TYPE_EDGE_RISING>;
+
+ interrupt-names = "usbin-collapse",
+ "usbin-vashdn",
+ "usbin-uv",
+ "usbin-ov",
+ "usbin-plugin",
+ "usbin-revi-change",
+ "usbin-src-change",
+ "usbin-icl-change";
+ };
+
+ qcom,dc@1400 {
+ reg = <0x1400 0x100>;
+ interrupts =
+ <0x2 0x14 0x1 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x14 0x2 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x14 0x3 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x14 0x4 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x14 0x5 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x14 0x6 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x14 0x7 IRQ_TYPE_EDGE_BOTH>;
+
+ interrupt-names = "dcin-vashdn",
+ "dcin-uv",
+ "dcin-ov",
+ "dcin-plugin",
+ "dcin-revi",
+ "dcin-pon",
+ "dcin-en";
+ };
+
+ qcom,typec@1500 {
+ reg = <0x1500>;
+ interrupts =
+ <0x2 0x15 0x0 IRQ_TYPE_EDGE_RISING>,
+ <0x2 0x15 0x1 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x15 0x2 IRQ_TYPE_EDGE_RISING>,
+ <0x2 0x15 0x3 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x15 0x4 IRQ_TYPE_EDGE_RISING>,
+ <0x2 0x15 0x5 IRQ_TYPE_EDGE_RISING>,
+ <0x2 0x15 0x6 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x15 0x7 IRQ_TYPE_EDGE_RISING>;
+
+ interrupt-names = "typec-or-rid-detect-change",
+ "typec-vpd-detect",
+ "typec-cc-state-change",
+ "typec-vconn-oc",
+ "typec-vbus-change",
+ "typec-attach-detach",
+ "typec-legacy-cable-detect",
+ "typec-try-snk-src-detect";
+ };
+
+ qcom,misc@1600 {
+ reg = <0x1600>;
+ interrupts =
+ <0x2 0x16 0x0 IRQ_TYPE_EDGE_RISING>,
+ <0x2 0x16 0x1 IRQ_TYPE_EDGE_RISING>,
+ <0x2 0x16 0x2 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x16 0x3 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x16 0x4 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x16 0x6 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x16 0x7 IRQ_TYPE_EDGE_BOTH>;
+
+ interrupt-names = "wdog-snarl",
+ "wdog-bark",
+ "aicl-fail",
+ "aicl-done",
+ "smb-en",
+ "temp-change",
+ "temp-change-smb";
+ };
+ };
+
+ pm8150b_pdphy: qcom,usb-pdphy@1700 {
+ compatible = "qcom,qpnp-pdphy";
+ reg = <0x1700 0x100>;
+ interrupts = <0x2 0x17 0x0 IRQ_TYPE_EDGE_RISING>,
+ <0x2 0x17 0x1 IRQ_TYPE_EDGE_RISING>,
+ <0x2 0x17 0x2 IRQ_TYPE_EDGE_RISING>,
+ <0x2 0x17 0x3 IRQ_TYPE_EDGE_RISING>,
+ <0x2 0x17 0x4 IRQ_TYPE_EDGE_RISING>,
+ <0x2 0x17 0x5 IRQ_TYPE_EDGE_RISING>,
+ <0x2 0x17 0x6 IRQ_TYPE_EDGE_RISING>,
+ <0x2 0x17 0x7 IRQ_TYPE_EDGE_RISING>;
+
+ interrupt-names = "sig-tx",
+ "sig-rx",
+ "msg-tx",
+ "msg-rx",
+ "msg-tx-failed",
+ "msg-tx-discarded",
+ "msg-rx-discarded",
+ "fr-swap";
+
+ qcom,default-sink-caps = <5000 3000>, /* 5V @ 3A */
+ <9000 3000>, /* 9V @ 3A */
+ <12000 2250>; /* 12V @ 2.25A */
+ };
+
+ pm8150b_bcl: bcl@1d00 {
+ compatible = "qcom,bcl-v5";
+ reg = <0x1d00 0x100>;
+ interrupts = <0x2 0x1d 0x0 IRQ_TYPE_NONE>,
+ <0x2 0x1d 0x1 IRQ_TYPE_NONE>,
+ <0x2 0x1d 0x2 IRQ_TYPE_NONE>;
+ interrupt-names = "bcl-lvl0",
+ "bcl-lvl1",
+ "bcl-lvl2";
+ #thermal-sensor-cells = <1>;
+ };
+
+ bcl_soc:bcl-soc {
+ compatible = "qcom,msm-bcl-soc";
+ #thermal-sensor-cells = <0>;
+ };
+
+ pm8150b_fg: qpnp,fg {
+ compatible = "qcom,fg-gen4";
+ #address-cells = <1>;
+ #size-cells = <1>;
+ qcom,pmic-revid = <&pm8150b_revid>;
+ qcom,pmic-pbs = <&pm8150b_pbs1>;
+ status = "okay";
+
+ qcom,fg-batt-soc@4000 {
+ status = "okay";
+ reg = <0x4000 0x100>;
+ interrupts = <0x2 0x40 0x0 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x40 0x1 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x40 0x2
+ IRQ_TYPE_EDGE_RISING>,
+ <0x2 0x40 0x3
+ IRQ_TYPE_EDGE_RISING>,
+ <0x2 0x40 0x4 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x40 0x5
+ IRQ_TYPE_EDGE_RISING>,
+ <0x2 0x40 0x6 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x40 0x7 IRQ_TYPE_EDGE_BOTH>;
+ interrupt-names = "soc-update",
+ "soc-ready",
+ "bsoc-delta",
+ "msoc-delta",
+ "msoc-low",
+ "msoc-empty",
+ "msoc-high",
+ "msoc-full";
+ };
+
+ qcom,fg-batt-info@4100 {
+ status = "okay";
+ reg = <0x4100 0x100>;
+ interrupts = <0x2 0x41 0x0 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x41 0x1 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x41 0x3
+ IRQ_TYPE_EDGE_RISING>;
+ interrupt-names = "vbatt-low",
+ "vbatt-pred-delta",
+ "esr-delta";
+ };
+
+ qcom,fg-rradc@4200 {
+ status = "okay";
+ reg = <0x4200 0x100>;
+ interrupts = <0x2 0x42 0x0 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x42 0x1 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x42 0x2 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x42 0x3 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x42 0x4 IRQ_TYPE_EDGE_BOTH>;
+ interrupt-names = "batt-missing",
+ "batt-id",
+ "batt-temp-delta",
+ "batt-temp-hot",
+ "batt-temp-cold";
+ };
+
+ qcom,fg-memif@4300 {
+ status = "okay";
+ reg = <0x4300 0x100>;
+ interrupts = <0x2 0x43 0x0 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x43 0x1 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x43 0x2 IRQ_TYPE_EDGE_BOTH>,
+ <0x2 0x43 0x3
+ IRQ_TYPE_EDGE_RISING>,
+ <0x2 0x43 0x4
+ IRQ_TYPE_EDGE_FALLING>;
+ interrupt-names = "ima-rdy",
+ "ima-xcp",
+ "dma-xcp",
+ "dma-grant",
+ "mem-attn";
+ };
+ };
+
+ pm8150b_vadc: vadc@3100 {
+ status = "okay";
+ compatible = "qcom,spmi-adc5";
+ reg = <0x3100 0x100>, <0x3700 0x100>;
+ reg-names = "adc5-usr-base", "adc5-cal-base";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ interrupts = <0x2 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
+ interrupt-names = "eoc-int-en-set";
+ qcom,adc-vdd-reference = <1875>;
+ #io-channel-cells = <1>;
+ io-channel-ranges;
+
+ /* Channel node */
+ ref_gnd@0 {
+ reg = <ADC5_REF_GND>;
+ label = "ref_gnd";
+ qcom,pre-scaling = <1 1>;
+ };
+
+ vref_1p25@1 {
+ reg = <ADC5_1P25VREF>;
+ label = "vref_1p25";
+ qcom,pre-scaling = <1 1>;
+ };
+
+ die_temp@2 {
+ reg = <ADC5_DIE_TEMP>;
+ label = "die_temp";
+ qcom,pre-scaling = <1 1>;
+ };
+
+ chg_temp@9 {
+ reg = <ADC5_CHG_TEMP>;
+ label = "chg_temp";
+ qcom,pre-scaling = <1 1>;
+ };
+
+ bat_id@4b {
+ reg = <ADC5_BAT_ID_100K_PU>;
+ label = "bat_id";
+ qcom,ratiometric;
+ qcom,hw-settle-time = <200>;
+ qcom,pre-scaling = <1 1>;
+ };
+
+ smb1390_therm@e {
+ reg = <ADC5_AMUX_THM2>;
+ label = "smb1390_therm";
+ qcom,hw-settle-time = <200>;
+ qcom,pre-scaling = <1 1>;
+ };
+
+ smb1355_therm@4e {
+ reg = <ADC5_AMUX_THM2_100K_PU>;
+ label = "smb1355_therm";
+ qcom,ratiometric;
+ qcom,hw-settle-time = <200>;
+ qcom,pre-scaling = <1 1>;
+ };
+
+ usb_in_i_uv@7 {
+ reg = <ADC5_USB_IN_I>;
+ label = "usb_in_i_uv";
+ qcom,pre-scaling = <1 1>;
+ };
+
+ usb_in_v_div_16@8 {
+ reg = <ADC5_USB_IN_V_16>;
+ label = "usb_in_v_div_16";
+ qcom,pre-scaling = <1 16>;
+ };
+
+ chg_sbux@99 {
+ reg = <ADC5_SBUx>;
+ label = "chg_sbux";
+ qcom,pre-scaling = <1 3>;
+ };
+
+ vph_pwr@83 {
+ reg = <ADC5_VPH_PWR>;
+ label = "vph_pwr";
+ qcom,pre-scaling = <1 3>;
+ };
+ };
+
+ pm8150b_adc_tm: adc_tm@3500 {
+ status = "okay";
+ compatible = "qcom,spmi-adc-tm5";
+ reg = <0x3500 0x100>;
+ interrupts = <0x2 0x35 0x0 IRQ_TYPE_EDGE_RISING>;
+ interrupt-names = "thr-int-en";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ #thermal-sensor-cells = <1>;
+ qcom,pmic-revid = <&pm8150b_revid>;
+ };
+ };
+
+ qcom,pm8150b@3 {
+ status = "okay";
+ compatible ="qcom,spmi-pmic";
+ reg = <0x3 SPMI_USID>;
+ #address-cells = <2>;
+ #size-cells = <0>;
+
+ pm8150b_pwm: qcom,pwms@b100 {
+ status = "okay";
+ compatible = "qcom,pwm-lpg";
+ reg = <0xb100 0x200>;
+ reg-names = "lpg-base";
+ #pwm-cells = <2>;
+ qcom,num-lpg-channels = <2>;
+ };
+
+ pm8150b_hr_led: qcom,leds@d000 {
+ status = "okay";
+ compatible = "qcom,tri-led";
+ reg = <0xd000 0x100>;
+ nvmem-names = "pbs_sdam";
+ nvmem = <&pm8150_sdam_2>;
+ hr_led1 {
+ label = "hr_led1";
+ pwms = <&pm8150b_pwm 0 1000000>;
+ led-sources = <0>;
+ };
+
+ hr_led2 {
+ label = "hr_led2";
+ pwms = <&pm8150b_pwm 1 1000000>;
+ led-sources = <1>;
+ };
+ };
+
+ pm8150b_haptics: qcom,haptics@c000 {
+ status = "okay";
+ compatible = "qcom,haptics";
+ reg = <0xc000 0x100>;
+ interrupts = <0x3 0xc0 0x0 IRQ_TYPE_EDGE_BOTH>,
+ <0x3 0xc0 0x1 IRQ_TYPE_EDGE_BOTH>;
+ interrupt-names = "hap-sc-irq", "hap-play-irq";
+ qcom,actuator-type = "lra";
+ qcom,vmax-mv = <3600>;
+ qcom,play-rate-us = <6667>;
+ qcom,lra-resonance-sig-shape = "sine";
+ qcom,lra-auto-resonance-mode = "qwd";
+ qcom,lra-allow-variable-play-rate;
+
+ wf_0 {
+ /* CLICK */
+ qcom,effect-id = <0>;
+ qcom,wf-vmax-mv = <3600>;
+ qcom,wf-pattern = [3e 3e 3e 3e 3e 3e 3e 3e];
+ qcom,wf-play-rate-us = <6667>;
+ qcom,wf-brake-pattern = [00 00 00 00];
+ qcom,wf-repeat-count = <1>;
+ qcom,wf-s-repeat-count = <1>;
+ qcom,lra-auto-resonance-disable;
+ };
+
+ wf_1 {
+ /* DOUBLE CLICK */
+ qcom,effect-id = <1>;
+ qcom,wf-vmax-mv = <3600>;
+ qcom,wf-pattern = [3e 3e 3e 3e 3e 3e 3e 3e];
+ qcom,wf-play-rate-us = <6667>;
+ qcom,wf-brake-pattern = [00 00 00 00];
+ qcom,wf-repeat-count = <1>;
+ qcom,wf-s-repeat-count = <1>;
+ qcom,lra-auto-resonance-disable;
+ };
+
+ wf_2 {
+ /* TICK */
+ qcom,effect-id = <2>;
+ qcom,wf-vmax-mv = <3600>;
+ qcom,wf-pattern = [3e 3e 3e 3e 3e 3e 3e 3e];
+ qcom,wf-play-rate-us = <6667>;
+ qcom,wf-brake-pattern = [00 00 00 00];
+ qcom,wf-repeat-count = <1>;
+ qcom,wf-s-repeat-count = <1>;
+ qcom,lra-auto-resonance-disable;
+ };
+
+ wf_3 {
+ /* THUD */
+ qcom,effect-id = <3>;
+ qcom,wf-vmax-mv = <3600>;
+ qcom,wf-pattern = [3e 3e 3e 3e 3e 3e 3e 3e];
+ qcom,wf-play-rate-us = <6667>;
+ qcom,wf-brake-pattern = [00 00 00 00];
+ qcom,wf-repeat-count = <1>;
+ qcom,wf-s-repeat-count = <1>;
+ qcom,lra-auto-resonance-disable;
+ };
+
+ wf_4 {
+ /* POP */
+ qcom,effect-id = <4>;
+ qcom,wf-vmax-mv = <3600>;
+ qcom,wf-pattern = [3e 3e 3e 3e 3e 3e 3e 3e];
+ qcom,wf-play-rate-us = <6667>;
+ qcom,wf-brake-pattern = [00 00 00 00];
+ qcom,wf-repeat-count = <1>;
+ qcom,wf-s-repeat-count = <1>;
+ qcom,lra-auto-resonance-disable;
+ };
+
+ wf_5 {
+ /* HEAVY CLICK */
+ qcom,effect-id = <5>;
+ qcom,wf-vmax-mv = <3600>;
+ qcom,wf-pattern = [3e 3e 3e 3e 3e 3e 3e 3e];
+ qcom,wf-play-rate-us = <6667>;
+ qcom,wf-brake-pattern = [00 00 00 00];
+ qcom,wf-repeat-count = <1>;
+ qcom,wf-s-repeat-count = <1>;
+ qcom,lra-auto-resonance-disable;
+ };
+ };
+ };
+};
+
+&thermal_zones {
+ pm8150b_temp_alarm: pm8150b_tz {
+ polling-delay-passive = <100>;
+ polling-delay = <0>;
+ thermal-governor = "step_wise";
+ thermal-sensors = <&pm8150b_tz>;
+ wake-capable-sensor;
+
+ trips {
+ pm8150b_trip0: trip0 {
+ temperature = <95000>;
+ hysteresis = <0>;
+ type = "passive";
+ };
+
+ pm8150b_trip1: trip1 {
+ temperature = <115000>;
+ hysteresis = <0>;
+ type = "passive";
+ };
+
+ trip2 {
+ temperature = <145000>;
+ hysteresis = <0>;
+ type = "passive";
+ };
+ };
+ };
+
+ pm8150b-ibat-lvl0 {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-governor = "step_wise";
+ thermal-sensors = <&pm8150b_bcl 0>;
+ wake-capable-sensor;
+
+ trips {
+ ibat_lvl0:ibat-lvl0 {
+ temperature = <4500>;
+ hysteresis = <200>;
+ type = "passive";
+ };
+ };
+ };
+
+ pm8150b-ibat-lvl1 {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-governor = "step_wise";
+ thermal-sensors = <&pm8150b_bcl 1>;
+ wake-capable-sensor;
+
+ trips {
+ ibat_lvl1:ibat-lvl1 {
+ temperature = <5000>;
+ hysteresis = <200>;
+ type = "passive";
+ };
+ };
+ };
+
+ pm8150b-vbat-lvl0 {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-governor = "low_limits_cap";
+ thermal-sensors = <&pm8150b_bcl 2>;
+ tracks-low;
+ wake-capable-sensor;
+
+ trips {
+ vbat_lvl0: vbat-lvl0 {
+ temperature = <3000>;
+ hysteresis = <200>;
+ type = "passive";
+ };
+ };
+ };
+
+ pm8150b-vbat-lvl1 {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-governor = "low_limits_cap";
+ thermal-sensors = <&pm8150b_bcl 3>;
+ tracks-low;
+ wake-capable-sensor;
+
+ trips {
+ vbat_lvl1:vbat-lvl1 {
+ temperature = <2800>;
+ hysteresis = <200>;
+ type = "passive";
+ };
+ };
+ };
+
+ pm8150b-vbat-lvl2 {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-governor = "low_limits_cap";
+ thermal-sensors = <&pm8150b_bcl 4>;
+ tracks-low;
+ wake-capable-sensor;
+
+ trips {
+ vbat_lvl2:vbat-lvl2 {
+ temperature = <2600>;
+ hysteresis = <200>;
+ type = "passive";
+ };
+ };
+ };
+
+ pm8150b-bcl-lvl0 {
+ polling-delay-passive = <100>;
+ polling-delay = <0>;
+ thermal-governor = "step_wise";
+ thermal-sensors = <&pm8150b_bcl 5>;
+ wake-capable-sensor;
+
+ trips {
+ b_bcl_lvl0: b-bcl-lvl0 {
+ temperature = <1>;
+ hysteresis = <1>;
+ type = "passive";
+ };
+ };
+ };
+
+ pm8150b-bcl-lvl1 {
+ polling-delay-passive = <100>;
+ polling-delay = <0>;
+ thermal-governor = "step_wise";
+ thermal-sensors = <&pm8150b_bcl 6>;
+ wake-capable-sensor;
+
+ trips {
+ b_bcl_lvl1: b-bcl-lvl1 {
+ temperature = <1>;
+ hysteresis = <1>;
+ type = "passive";
+ };
+ };
+ };
+
+ pm8150b-bcl-lvl2 {
+ polling-delay-passive = <100>;
+ polling-delay = <0>;
+ thermal-governor = "step_wise";
+ thermal-sensors = <&pm8150b_bcl 7>;
+ wake-capable-sensor;
+
+ trips {
+ b_bcl_lvl2: b-bcl-lvl2 {
+ temperature = <1>;
+ hysteresis = <1>;
+ type = "passive";
+ };
+ };
+ };
+
+ soc {
+ polling-delay-passive = <100>;
+ polling-delay = <0>;
+ thermal-governor = "low_limits_cap";
+ thermal-sensors = <&bcl_soc>;
+ tracks-low;
+ wake-capable-sensor;
+
+ trips {
+ soc_trip:soc-trip {
+ temperature = <10>;
+ hysteresis = <0>;
+ type = "passive";
+ };
+ };
+ };
+};
diff --git a/qcom/pm8150l.dtsi b/qcom/pm8150l.dtsi
new file mode 100755
index 00000000..13132be8
--- /dev/null
+++ b/qcom/pm8150l.dtsi
@@ -0,0 +1,596 @@
+#include <dt-bindings/spmi/spmi.h>
+#include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/iio/qcom,spmi-vadc.h>
+
+&spmi_bus {
+ status = "ok";
+ #address-cells = <2>;
+ #size-cells = <0>;
+ interrupt-controller;
+ #interrupt-cells = <4>;
+
+ qcom,pm8150l@4 {
+ status = "okay";
+ compatible = "qcom,spmi-pmic";
+ reg = <0x4 SPMI_USID>;
+ #address-cells = <2>;
+ #size-cells = <0>;
+
+ pm8150l_revid: qcom,revid@100 {
+ status = "okay";
+ compatible = "qcom,qpnp-revid";
+ reg = <0x100 0x100>;
+ };
+
+ qcom,power-on@800 {
+ compatible = "qcom,qpnp-power-on";
+ reg = <0x800 0x100>;
+ };
+
+ pm8150l_tz: qcom,temp-alarm@2400 {
+ compatible = "qcom,spmi-temp-alarm";
+ reg = <0x2400 0x100>;
+ interrupts = <0x4 0x24 0x0 IRQ_TYPE_EDGE_BOTH>;
+ io-channels = <&pm8150l_vadc ADC5_DIE_TEMP>;
+ io-channel-names = "thermal";
+ #thermal-sensor-cells = <0>;
+ qcom,temperature-threshold-set = <1>;
+ };
+
+ pm8150l_clkdiv: clock-controller@5b00 {
+ compatible = "qcom,spmi-clkdiv";
+ reg = <0x5b00 0x100>;
+ #clock-cells = <1>;
+ qcom,num-clkdivs = <1>;
+ clock-output-names = "pm8150l_div_clk1";
+ clocks = <&rpmhcc RPMH_CXO_CLK>;
+ clock-names = "xo";
+ };
+
+ pm8150l_gpios: pinctrl@c000 {
+ compatible = "qcom,pm8150l-gpio";
+ reg = <0xc000 0xc00>;
+ interrupts = <0x4 0xc0 0x0 IRQ_TYPE_NONE>,
+ <0x4 0xc2 0x0 IRQ_TYPE_NONE>,
+ <0x4 0xc3 0x0 IRQ_TYPE_NONE>,
+ <0x4 0xc4 0x0 IRQ_TYPE_NONE>,
+ <0x4 0xc5 0x0 IRQ_TYPE_NONE>,
+ <0x4 0xc6 0x0 IRQ_TYPE_NONE>,
+ <0x4 0xc7 0x0 IRQ_TYPE_NONE>,
+ <0x4 0xc9 0x0 IRQ_TYPE_NONE>,
+ <0x4 0xca 0x0 IRQ_TYPE_NONE>;
+ interrupt-names = "pm8150l_gpio1", "pm8150l_gpio3",
+ "pm8150l_gpio4", "pm8150l_gpio5",
+ "pm8150l_gpio6", "pm8150l_gpio7",
+ "pm8150l_gpio8", "pm8150l_gpio10",
+ "pm8150l_gpio11";
+ gpio-controller;
+ #gpio-cells = <2>;
+ qcom,gpios-disallowed = <2 9 12>;
+ };
+
+ pm8150l_vadc: vadc@3100 {
+ status = "okay";
+ compatible = "qcom,spmi-adc5";
+ reg = <0x3100 0x100>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ interrupts = <0x4 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
+ interrupt-names = "eoc-int-en-set";
+ qcom,adc-vdd-reference = <1875>;
+ #io-channel-cells = <1>;
+ io-channel-ranges;
+
+ /* Channel node */
+ ref_gnd@0 {
+ reg = <ADC5_REF_GND>;
+ label = "ref_gnd";
+ qcom,pre-scaling = <1 1>;
+ };
+
+ vref_1p25@1 {
+ reg = <ADC5_1P25VREF>;
+ label = "vref_1p25";
+ qcom,pre-scaling = <1 1>;
+ };
+
+ die_temp@2 {
+ reg = <ADC5_DIE_TEMP>;
+ label = "die_temp";
+ qcom,pre-scaling = <1 1>;
+ };
+
+ vph_pwr@83 {
+ reg = <ADC5_VPH_PWR>;
+ label = "vph_pwr";
+ qcom,pre-scaling = <1 3>;
+ };
+
+ camera_flash_therm@4d {
+ reg = <ADC5_AMUX_THM1_100K_PU>;
+ label = "camera_flash_therm";
+ qcom,ratiometric;
+ qcom,hw-settle-time = <200>;
+ qcom,pre-scaling = <1 1>;
+ };
+
+ skin_msm_therm@4e {
+ reg = <ADC5_AMUX_THM2_100K_PU>;
+ label = "skin_msm_therm";
+ qcom,ratiometric;
+ qcom,hw-settle-time = <200>;
+ qcom,pre-scaling = <1 1>;
+ };
+
+ pa_therm2@4f {
+ reg = <ADC5_AMUX_THM3_100K_PU>;
+ label = "pa_therm2";
+ qcom,ratiometric;
+ qcom,hw-settle-time = <200>;
+ qcom,pre-scaling = <1 1>;
+ };
+ };
+
+ pm8150l_bcl: bcl@3d00 {
+ compatible = "qcom,bcl-v5";
+ reg = <0x3d00 0x100>;
+ interrupts = <0x4 0x3d 0x0 IRQ_TYPE_NONE>,
+ <0x4 0x3d 0x1 IRQ_TYPE_NONE>,
+ <0x4 0x3d 0x2 IRQ_TYPE_NONE>;
+ interrupt-names = "bcl-lvl0",
+ "bcl-lvl1",
+ "bcl-lvl2";
+ #thermal-sensor-cells = <1>;
+ };
+
+ pm8150l_adc_tm: adc_tm@3500 {
+ status = "okay";
+ compatible = "qcom,spmi-adc-tm5";
+ reg = <0x3500 0x100>;
+ interrupts = <0x4 0x35 0x0 IRQ_TYPE_EDGE_RISING>;
+ interrupt-names = "thr-int-en";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ #thermal-sensor-cells = <1>;
+ io-channels = <&pm8150l_vadc ADC5_AMUX_THM1_100K_PU>,
+ <&pm8150l_vadc ADC5_AMUX_THM2_100K_PU>,
+ <&pm8150l_vadc ADC5_AMUX_THM3_100K_PU>;
+ };
+ };
+
+ qcom,pm8150l@5 {
+ status = "okay";
+ compatible ="qcom,spmi-pmic";
+ reg = <0x5 SPMI_USID>;
+ #address-cells = <2>;
+ #size-cells = <0>;
+
+ pm8150l_lcdb: qcom,lcdb@ec00 {
+ compatible = "qcom,qpnp-lcdb-regulator";
+ reg = <0xec00 0x100>;
+ interrupts = <0x5 0xec 0x1 IRQ_TYPE_EDGE_RISING>;
+ interrupt-names = "sc-irq";
+ qcom,pmic-revid = <&pm8150l_revid>;
+ qcom,voltage-step-ramp;
+ status = "okay";
+
+ lcdb_ldo_vreg: ldo {
+ label = "ldo";
+ regulator-name = "lcdb_ldo";
+ regulator-min-microvolt = <4000000>;
+ regulator-max-microvolt = <6000000>;
+ };
+
+ lcdb_ncp_vreg: ncp {
+ label = "ncp";
+ regulator-name = "lcdb_ncp";
+ regulator-min-microvolt = <4000000>;
+ regulator-max-microvolt = <6000000>;
+ };
+
+ lcdb_bst_vreg: bst {
+ label = "bst";
+ regulator-name = "lcdb_bst";
+ regulator-min-microvolt = <4700000>;
+ regulator-max-microvolt = <6275000>;
+ };
+ };
+
+ flash_led: qcom,leds@d300 {
+ compatible = "qcom,qpnp-flash-led-v2";
+ status = "okay";
+ reg = <0xd300 0x100>;
+ label = "flash";
+ interrupts = <0x5 0xd3 0x0 IRQ_TYPE_EDGE_RISING>,
+ <0x5 0xd3 0x3 IRQ_TYPE_EDGE_RISING>,
+ <0x5 0xd3 0x4 IRQ_TYPE_EDGE_RISING>;
+ interrupt-names = "led-fault-irq",
+ "all-ramp-down-done-irq",
+ "all-ramp-up-done-irq";
+ qcom,hdrm-auto-mode;
+ qcom,short-circuit-det;
+ qcom,open-circuit-det;
+ qcom,vph-droop-det;
+ qcom,thermal-derate-en;
+ qcom,thermal-derate-current = <200 500 1000>;
+ qcom,isc-delay = <192>;
+ qcom,pmic-revid = <&pm8150l_revid>;
+
+ pm8150l_flash0: qcom,flash_0 {
+ label = "flash";
+ qcom,led-name = "led:flash_0";
+ qcom,max-current = <1500>;
+ qcom,default-led-trigger = "flash0_trigger";
+ qcom,id = <0>;
+ qcom,current-ma = <1000>;
+ qcom,duration-ms = <1280>;
+ qcom,ires-ua = <12500>;
+ qcom,hdrm-voltage-mv = <325>;
+ qcom,hdrm-vol-hi-lo-win-mv = <100>;
+ };
+
+ pm8150l_flash1: qcom,flash_1 {
+ label = "flash";
+ qcom,led-name = "led:flash_1";
+ qcom,max-current = <1500>;
+ qcom,default-led-trigger = "flash1_trigger";
+ qcom,id = <1>;
+ qcom,current-ma = <1000>;
+ qcom,duration-ms = <1280>;
+ qcom,ires-ua = <12500>;
+ qcom,hdrm-voltage-mv = <325>;
+ qcom,hdrm-vol-hi-lo-win-mv = <100>;
+ };
+
+ pm8150l_flash2: qcom,flash_2 {
+ label = "flash";
+ qcom,led-name = "led:flash_2";
+ qcom,max-current = <750>;
+ qcom,default-led-trigger = "flash2_trigger";
+ qcom,id = <2>;
+ qcom,current-ma = <500>;
+ qcom,duration-ms = <1280>;
+ qcom,ires-ua = <12500>;
+ qcom,hdrm-voltage-mv = <325>;
+ qcom,hdrm-vol-hi-lo-win-mv = <100>;
+ status = "disabled";
+ };
+
+ pm8150l_torch0: qcom,torch_0 {
+ label = "torch";
+ qcom,led-name = "led:torch_0";
+ qcom,max-current = <500>;
+ qcom,default-led-trigger = "torch0_trigger";
+ qcom,id = <0>;
+ qcom,current-ma = <300>;
+ qcom,ires-ua = <12500>;
+ qcom,hdrm-voltage-mv = <325>;
+ qcom,hdrm-vol-hi-lo-win-mv = <100>;
+ };
+
+ pm8150l_torch1: qcom,torch_1 {
+ label = "torch";
+ qcom,led-name = "led:torch_1";
+ qcom,max-current = <500>;
+ qcom,default-led-trigger = "torch1_trigger";
+ qcom,id = <1>;
+ qcom,current-ma = <300>;
+ qcom,ires-ua = <12500>;
+ qcom,hdrm-voltage-mv = <325>;
+ qcom,hdrm-vol-hi-lo-win-mv = <100>;
+ };
+
+ pm8150l_torch2: qcom,torch_2 {
+ label = "torch";
+ qcom,led-name = "led:torch_2";
+ qcom,max-current = <500>;
+ qcom,default-led-trigger = "torch2_trigger";
+ qcom,id = <2>;
+ qcom,current-ma = <300>;
+ qcom,ires-ua = <12500>;
+ qcom,hdrm-voltage-mv = <325>;
+ qcom,hdrm-vol-hi-lo-win-mv = <100>;
+ status = "disabled";
+ };
+
+ pm8150l_switch0: qcom,led_switch_0 {
+ label = "switch";
+ qcom,led-name = "led:switch_0";
+ qcom,led-mask = <1>; /* Channel 1 */
+ qcom,default-led-trigger = "switch0_trigger";
+ };
+
+ pm8150l_switch1: qcom,led_switch_1 {
+ label = "switch";
+ qcom,led-name = "led:switch_1";
+ qcom,led-mask = <2>; /* Channel 2 */
+ qcom,default-led-trigger = "switch1_trigger";
+ };
+
+ pm8150l_switch2: qcom,led_switch_2 {
+ label = "switch";
+ qcom,led-name = "led:switch_2";
+ qcom,led-mask = <3>; /* Channels 1 and 2 */
+ qcom,default-led-trigger = "switch2_trigger";
+ };
+
+ pm8150l_switch3: qcom,led_switch_3 {
+ label = "switch";
+ qcom,led-name = "led:switch_3";
+ qcom,led-mask = <4>; /* Channel 3 */
+ qcom,default-led-trigger = "switch3_trigger";
+ };
+ };
+
+ pm8150l_wled: qcom,wled@d800 {
+ compatible = "qcom,pm8150l-wled";
+ reg = <0xd800 0x100>, <0xd900 0x100>;
+ reg-names = "wled-ctrl-base", "wled-sink-base";
+ label = "backlight";
+ interrupts = <0x5 0xd8 0x1 IRQ_TYPE_EDGE_RISING>,
+ <0x5 0xd8 0x4 IRQ_TYPE_EDGE_BOTH>,
+ <0x5 0xd8 0x5 IRQ_TYPE_EDGE_BOTH>;
+ interrupt-names = "ovp-irq", "pre-flash-irq",
+ "flash-irq";
+ qcom,pmic-revid = <&pm8150l_revid>;
+ qcom,auto-calibration;
+ status = "okay";
+
+ wled_flash: qcom,wled-flash {
+ label = "flash";
+ qcom,default-led-trigger = "wled_flash";
+ };
+
+ wled_torch: qcom,wled-torch {
+ label = "torch";
+ qcom,default-led-trigger = "wled_torch";
+ qcom,wled-torch-timer = <1200>;
+ };
+
+ wled_switch: qcom,wled-switch {
+ label = "switch";
+ qcom,default-led-trigger = "wled_switch";
+ };
+ };
+
+ pm8150l_lpg: qcom,pwms@b100 {
+ status = "okay";
+ compatible = "qcom,pwm-lpg";
+ reg = <0xb100 0x300>, <0xb000 0x100>;
+ reg-names = "lpg-base", "lut-base";
+ #pwm-cells = <2>;
+ qcom,num-lpg-channels = <3>;
+ qcom,lut-patterns = <0 10 20 30 40 50 60 70 80 90 100
+ 90 80 70 60 50 40 30 20 10 0>;
+ lpg1 {
+ qcom,lpg-chan-id = <1>;
+ qcom,ramp-step-ms = <100>;
+ qcom,ramp-pause-hi-count = <2>;
+ qcom,ramp-pause-lo-count = <2>;
+ qcom,ramp-low-index = <0>;
+ qcom,ramp-high-index = <20>;
+ qcom,ramp-from-low-to-high;
+ qcom,ramp-pattern-repeat;
+ };
+
+ lpg2 {
+ qcom,lpg-chan-id = <2>;
+ qcom,ramp-step-ms = <100>;
+ qcom,ramp-pause-hi-count = <2>;
+ qcom,ramp-pause-lo-count = <2>;
+ qcom,ramp-low-index = <0>;
+ qcom,ramp-high-index = <20>;
+ qcom,ramp-from-low-to-high;
+ qcom,ramp-pattern-repeat;
+ };
+
+ lpg3 {
+ qcom,lpg-chan-id = <3>;
+ qcom,ramp-step-ms = <100>;
+ qcom,ramp-pause-hi-count = <2>;
+ qcom,ramp-pause-lo-count = <2>;
+ qcom,ramp-low-index = <0>;
+ qcom,ramp-high-index = <20>;
+ qcom,ramp-from-low-to-high;
+ qcom,ramp-pattern-repeat;
+ };
+ };
+
+ pm8150l_pwm: qcom,pwms@bc00 {
+ compatible = "qcom,pwm-lpg";
+ reg = <0xbc00 0x200>;
+ reg-names = "lpg-base";
+ #pwm-cells = <2>;
+ qcom,num-lpg-channels = <2>;
+ };
+
+ pm8150l_rgb_led: qcom,leds@d000 {
+ status = "okay";
+ compatible = "qcom,tri-led";
+ reg = <0xd000 0x100>;
+ red {
+ label = "red";
+ pwms = <&pm8150l_lpg 0 1000000>;
+ led-sources = <0>;
+ linux,default-trigger = "timer";
+ };
+
+ green {
+ label = "green";
+ pwms = <&pm8150l_lpg 1 1000000>;
+ led-sources = <1>;
+ linux,default-trigger = "timer";
+ };
+
+ blue {
+ label = "blue";
+ pwms = <&pm8150l_lpg 2 1000000>;
+ led-sources = <2>;
+ linux,default-trigger = "timer";
+ };
+ };
+
+ pm8150a_amoled: qcom,amoled {
+ compatible = "qcom,qpnp-amoled-regulator";
+ #address-cells = <1>;
+ #size-cells = <1>;
+ status = "okay";
+
+ oledb_vreg: oledb@e000 {
+ reg = <0xe000 0x100>;
+ reg-names = "oledb_base";
+ regulator-name = "oledb";
+ regulator-min-microvolt = <4925000>;
+ regulator-max-microvolt = <8100000>;
+ qcom,swire-control;
+ };
+
+ ab_vreg: ab@de00 {
+ reg = <0xde00 0x100>;
+ reg-names = "ab_base";
+ regulator-name = "ab";
+ regulator-min-microvolt = <4600000>;
+ regulator-max-microvolt = <6100000>;
+ qcom,swire-control;
+ };
+
+ ibb_vreg: ibb@dc00 {
+ reg = <0xdc00 0x100>;
+ reg-names = "ibb_base";
+ regulator-name = "ibb";
+ regulator-min-microvolt = <800000>;
+ regulator-max-microvolt = <5400000>;
+ qcom,swire-control;
+ };
+ };
+ };
+};
+
+&thermal_zones {
+ pm8150l_temp_alarm: pm8150l_tz {
+ polling-delay-passive = <100>;
+ polling-delay = <0>;
+ thermal-governor = "step_wise";
+ thermal-sensors = <&pm8150l_tz>;
+ wake-capable-sensor;
+
+ trips {
+ trip0 {
+ temperature = <95000>;
+ hysteresis = <0>;
+ type = "passive";
+ };
+
+ trip1 {
+ temperature = <115000>;
+ hysteresis = <0>;
+ type = "passive";
+ };
+
+ trip2 {
+ temperature = <145000>;
+ hysteresis = <0>;
+ type = "passive";
+ };
+ };
+ };
+
+ pm8150l-vph-lvl0 {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-governor = "low_limits_cap";
+ thermal-sensors = <&pm8150l_bcl 2>;
+ tracks-low;
+ wake-capable-sensor;
+
+ trips {
+ vph_lvl0: vph-lvl0 {
+ temperature = <3000>;
+ hysteresis = <200>;
+ type = "passive";
+ };
+ };
+ };
+
+ pm8150l-vph-lvl1 {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-governor = "low_limits_cap";
+ thermal-sensors = <&pm8150l_bcl 3>;
+ tracks-low;
+ wake-capable-sensor;
+
+ trips {
+ vph_lvl1:vph-lvl1 {
+ temperature = <2750>;
+ hysteresis = <200>;
+ type = "passive";
+ };
+ };
+ };
+
+ pm8150l-vph-lvl2 {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-governor = "low_limits_cap";
+ thermal-sensors = <&pm8150l_bcl 4>;
+ tracks-low;
+ wake-capable-sensor;
+
+ trips {
+ vph_lvl2:vph-lvl2 {
+ temperature = <2500>;
+ hysteresis = <200>;
+ type = "passive";
+ };
+ };
+ };
+
+ pm8150l-bcl-lvl0 {
+ polling-delay-passive = <100>;
+ polling-delay = <0>;
+ thermal-governor = "step_wise";
+ thermal-sensors = <&pm8150l_bcl 5>;
+ wake-capable-sensor;
+
+ trips {
+ l_bcl_lvl0: l-bcl-lvl0 {
+ temperature = <1>;
+ hysteresis = <1>;
+ type = "passive";
+ };
+ };
+ };
+
+ pm8150l-bcl-lvl1 {
+ polling-delay-passive = <100>;
+ polling-delay = <0>;
+ thermal-governor = "step_wise";
+ thermal-sensors = <&pm8150l_bcl 6>;
+ wake-capable-sensor;
+
+ trips {
+ l_bcl_lvl1: l-bcl-lvl1 {
+ temperature = <1>;
+ hysteresis = <1>;
+ type = "passive";
+ };
+ };
+ };
+
+ pm8150l-bcl-lvl2 {
+ polling-delay-passive = <100>;
+ polling-delay = <0>;
+ thermal-governor = "step_wise";
+ thermal-sensors = <&pm8150l_bcl 7>;
+ wake-capable-sensor;
+
+ trips {
+ l_bcl_lvl2: l-bcl-lvl2 {
+ temperature = <1>;
+ hysteresis = <1>;
+ type = "passive";
+ };
+ };
+ };
+};
diff --git a/qcom/pm8195-vm.dtsi b/qcom/pm8195-vm.dtsi
new file mode 100755
index 00000000..4a38d67d
--- /dev/null
+++ b/qcom/pm8195-vm.dtsi
@@ -0,0 +1,58 @@
+#include <dt-bindings/iio/qcom,spmi-vadc.h>
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/input/qcom,qpnp-power-on.h>
+#include <dt-bindings/spmi/spmi.h>
+
+&spmi_bus {
+ #address-cells = <2>;
+ #size-cells = <0>;
+ interrupt-controller;
+ #interrupt-cells = <4>;
+
+ qcom,pm8195@0 {
+ compatible = "qcom,spmi-pmic";
+ reg = <0 SPMI_USID>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ pm8195_1_rtc: qcom,pm8195_1_rtc {
+ compatible = "qcom,pm8941-rtc";
+ reg = <0x6000>, <0x6100>;
+ reg-names = "rtc", "alarm";
+ interrupts = <0x0 0x61 0x1 IRQ_TYPE_NONE>;
+ };
+
+ pm8195_1_gpios: pinctrl@c000 {
+ compatible = "qcom,pm8150-gpio";
+ reg = <0xc000>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ };
+
+ };
+};
+
+/* PMIC GPIO pin control configurations */
+&pm8195_1_gpios {
+ storage_sd_detect {
+ storage_cd_default: storage_cd_default {
+ pins = "gpio4";
+ function = "normal";
+ input-enable;
+ bias-pull-up;
+ power-source = <0>;
+ };
+ };
+
+ key_vol_up {
+ key_vol_up_default: key_vol_up_default {
+ pins = "gpio6";
+ function = "normal";
+ input-enable;
+ bias-pull-up;
+ power-source = <1>;
+ };
+ };
+};
diff --git a/qcom/pm8775-vm.dtsi b/qcom/pm8775-vm.dtsi
new file mode 100755
index 00000000..65ae17db
--- /dev/null
+++ b/qcom/pm8775-vm.dtsi
@@ -0,0 +1,77 @@
+#include <dt-bindings/spmi/spmi.h>
+
+&spmi_bus {
+
+ qcom,pm8775@0 {
+ compatible = "qcom,spmi-pmic";
+ reg = <0 SPMI_USID>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ pm8775_1_gpios: pinctrl@8800 {
+ compatible = "qcom,pm8775-gpio";
+ reg = <0x8800>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ };
+
+ pm8775_1_rtc: qcom,pm8775_1_rtc {
+ compatible = "qcom,pmk8350-rtc";
+ reg = <0x6100>, <0x6200>;
+ reg-names = "rtc", "alarm";
+ interrupts = <0x0 0x62 0x1 IRQ_TYPE_NONE>;
+ disable-alarm-wakeup;
+ };
+ };
+
+ qcom,pm8775@2 {
+ compatible = "qcom,spmi-pmic";
+ reg = <2 SPMI_USID>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ pm8775_2_gpios: pinctrl@8800 {
+ compatible = "qcom,pm8775-gpio";
+ reg = <0x8800>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ };
+ };
+
+ qcom,pm8775@4 {
+ compatible = "qcom,spmi-pmic";
+ reg = <4 SPMI_USID>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ pm8775_3_gpios: pinctrl@8800 {
+ compatible = "qcom,pm8775-gpio";
+ reg = <0x8800>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ };
+ };
+
+ qcom,pm8775@6 {
+ compatible = "qcom,spmi-pmic";
+ reg = <6 SPMI_USID>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ pm8775_4_gpios: pinctrl@8800 {
+ compatible = "qcom,pm8775-gpio";
+ reg = <0x8800>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ };
+ };
+};
+
diff --git a/qcom/pm8775.dtsi b/qcom/pm8775.dtsi
index 32b34cfe..766ac923 100755
--- a/qcom/pm8775.dtsi
+++ b/qcom/pm8775.dtsi
@@ -3,6 +3,7 @@
#include <dt-bindings/input/input.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/spmi/spmi.h>
+#include <dt-bindings/iio/qcom,spmi-adc5-gen3-pm8775.h>
&spmi_bus {
@@ -21,9 +22,47 @@
compatible = "qcom,spmi-temp-alarm";
reg = <0xa00>;
interrupts = <0x0 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
+ io-channels = <&pm8775_1_adc PM8775_1_ADC5_GEN3_DIE_TEMP>;
+ io-channel-names = "thermal";
#thermal-sensor-cells = <0>;
};
+ pm8775_1_adc: vadc@8000 {
+ compatible = "qcom,spmi-adc5-gen3";
+ reg = <0x8000>;
+ reg-names = "adc5-gen3-base";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ interrupts = <0x0 0x80 0x1 IRQ_TYPE_EDGE_RISING>;
+ interrupt-names = "adc-sdam0";
+ #io-channel-cells = <1>;
+ status = "disabled";
+
+ pm8775_1_ref_gnd {
+ reg = <PM8775_1_ADC5_GEN3_OFFSET_REF>;
+ label = "pm8775_1_ref_gnd";
+ qcom,pre-scaling = <1 1>;
+ };
+
+ pm8775_1_vref_1p25 {
+ reg = <PM8775_1_ADC5_GEN3_1P25VREF>;
+ label = "pm8775_1_vref_1p25";
+ qcom,pre-scaling = <1 1>;
+ };
+
+ pm8775_1_die_temp {
+ reg = <PM8775_1_ADC5_GEN3_DIE_TEMP>;
+ label = "pm8775_1_die_temp";
+ qcom,pre-scaling = <1 1>;
+ };
+
+ pm8775_1_vph_pwr {
+ reg = <PM8775_1_ADC5_GEN3_VPH_PWR>;
+ label = "pm8775_1_vph_pwr";
+ qcom,pre-scaling = <1 3>;
+ };
+ };
+
pon_pbs@800 {
compatible = "qcom,qpnp-power-on";
reg = <0x800>;
@@ -109,9 +148,47 @@
compatible = "qcom,spmi-temp-alarm";
reg = <0xa00>;
interrupts = <0x2 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
+ io-channels = <&pm8775_2_adc PM8775_2_ADC5_GEN3_DIE_TEMP>;
+ io-channel-names = "thermal";
#thermal-sensor-cells = <0>;
};
+ pm8775_2_adc: vadc@8000 {
+ compatible = "qcom,spmi-adc5-gen3";
+ reg = <0x8000>;
+ reg-names = "adc5-gen3-base";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ interrupts = <0x2 0x80 0x1 IRQ_TYPE_EDGE_RISING>;
+ interrupt-names = "adc-sdam0";
+ #io-channel-cells = <1>;
+ status = "disabled";
+
+ pm8775_2_ref_gnd {
+ reg = <PM8775_2_ADC5_GEN3_OFFSET_REF>;
+ label = "pm8775_2_ref_gnd";
+ qcom,pre-scaling = <1 1>;
+ };
+
+ pm8775_2_vref_1p25 {
+ reg = <PM8775_2_ADC5_GEN3_1P25VREF>;
+ label = "pm8775_2_vref_1p25";
+ qcom,pre-scaling = <1 1>;
+ };
+
+ pm8775_2_die_temp {
+ reg = <PM8775_2_ADC5_GEN3_DIE_TEMP>;
+ label = "pm8775_2_die_temp";
+ qcom,pre-scaling = <1 1>;
+ };
+
+ pm8775_2_vph_pwr {
+ reg = <PM8775_2_ADC5_GEN3_VPH_PWR>;
+ label = "pm8775_2_vph_pwr";
+ qcom,pre-scaling = <1 3>;
+ };
+ };
+
pon_pbs@800 {
compatible = "qcom,qpnp-power-on";
reg = <0x800>;
@@ -155,9 +232,47 @@
compatible = "qcom,spmi-temp-alarm";
reg = <0xa00>;
interrupts = <0x4 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
+ io-channels = <&pm8775_3_adc PM8775_3_ADC5_GEN3_DIE_TEMP>;
+ io-channel-names = "thermal";
#thermal-sensor-cells = <0>;
};
+ pm8775_3_adc: vadc@8000 {
+ compatible = "qcom,spmi-adc5-gen3";
+ reg = <0x8000>;
+ reg-names = "adc5-gen3-base";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ interrupts = <0x4 0x80 0x1 IRQ_TYPE_EDGE_RISING>;
+ interrupt-names = "adc-sdam0";
+ #io-channel-cells = <1>;
+ status = "disabled";
+
+ pm8775_3_ref_gnd {
+ reg = <PM8775_3_ADC5_GEN3_OFFSET_REF>;
+ label = "pm8775_3_ref_gnd";
+ qcom,pre-scaling = <1 1>;
+ };
+
+ pm8775_3_vref_1p25 {
+ reg = <PM8775_3_ADC5_GEN3_1P25VREF>;
+ label = "pm8775_3_vref_1p25";
+ qcom,pre-scaling = <1 1>;
+ };
+
+ pm8775_3_die_temp {
+ reg = <PM8775_3_ADC5_GEN3_DIE_TEMP>;
+ label = "pm8775_3_die_temp";
+ qcom,pre-scaling = <1 1>;
+ };
+
+ pm8775_3_vph_pwr {
+ reg = <PM8775_3_ADC5_GEN3_VPH_PWR>;
+ label = "pm8775_3_vph_pwr";
+ qcom,pre-scaling = <1 3>;
+ };
+ };
+
pon_pbs@800 {
compatible = "qcom,qpnp-power-on";
reg = <0x800>;
@@ -201,9 +316,47 @@
compatible = "qcom,spmi-temp-alarm";
reg = <0xa00>;
interrupts = <0x6 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
+ io-channels = <&pm8775_4_adc PM8775_4_ADC5_GEN3_DIE_TEMP>;
+ io-channel-names = "thermal";
#thermal-sensor-cells = <0>;
};
+ pm8775_4_adc: vadc@8000 {
+ compatible = "qcom,spmi-adc5-gen3";
+ reg = <0x8000>;
+ reg-names = "adc5-gen3-base";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ interrupts = <0x6 0x80 0x1 IRQ_TYPE_EDGE_RISING>;
+ interrupt-names = "adc-sdam0";
+ #io-channel-cells = <1>;
+ status = "disabled";
+
+ pm8775_4_ref_gnd {
+ reg = <PM8775_4_ADC5_GEN3_OFFSET_REF>;
+ label = "pm8775_4_ref_gnd";
+ qcom,pre-scaling = <1 1>;
+ };
+
+ pm8775_4_vref_1p25 {
+ reg = <PM8775_4_ADC5_GEN3_1P25VREF>;
+ label = "pm8775_4_vref_1p25";
+ qcom,pre-scaling = <1 1>;
+ };
+
+ pm8775_4_die_temp {
+ reg = <PM8775_4_ADC5_GEN3_DIE_TEMP>;
+ label = "pm8775_4_die_temp";
+ qcom,pre-scaling = <1 1>;
+ };
+
+ pm8775_4_vph_pwr {
+ reg = <PM8775_4_ADC5_GEN3_VPH_PWR>;
+ label = "pm8775_4_vph_pwr";
+ qcom,pre-scaling = <1 3>;
+ };
+ };
+
pon_pbs@800 {
compatible = "qcom,qpnp-power-on";
reg = <0x800>;
diff --git a/qcom/pmx35.dtsi b/qcom/pmx35.dtsi
index 4ec5ef1f..f8fc7081 100755
--- a/qcom/pmx35.dtsi
+++ b/qcom/pmx35.dtsi
@@ -1,5 +1,7 @@
#include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/input/input.h>
#include <dt-bindings/spmi/spmi.h>
+#include <dt-bindings/iio/qcom,spmi-adc5-gen3-pmx35.h>
&spmi_bus {
#address-cells = <2>;
@@ -71,5 +73,42 @@
reg-names = "rtc", "alarm";
interrupts = <0x0 0x65 0x1 IRQ_TYPE_NONE>;
};
+
+ pmx35_sdam_2: sdam@7100 {
+ compatible = "qcom,spmi-sdam";
+ reg = <0x7100>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ };
+
+ pmx35_vadc: qcom,pmx35_vadc {
+ compatible = "qcom,spmi-adc5-gen3";
+ reg = <0x7700>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ interrupts = <0x0 0x76 0x1 IRQ_TYPE_EDGE_RISING>;
+ interrupt-names = "adc-sdam0";
+ #io-channel-cells = <1>;
+ #thermal-sensor-cells = <1>;
+ status = "disabled";
+
+ pmx35_ref_gnd {
+ reg = <PMX35_ADC5_GEN3_OFFSET_REF>;
+ label = "pmx35_ref_gnd";
+ qcom,pre-scaling = <1 1>;
+ };
+
+ pmx35_vref_1p25 {
+ reg = <PMX35_ADC5_GEN3_1P25VREF>;
+ label = "pmx35_vref_1p25";
+ qcom,pre-scaling = <1 1>;
+ };
+
+ pmx35_die_temp {
+ reg = <PMX35_ADC5_GEN3_DIE_TEMP>;
+ label = "pmx35_die_temp";
+ qcom,pre-scaling = <1 1>;
+ };
+ };
};
};
diff --git a/qcom/qbg-battery-profile-305mAh.dtsi b/qcom/qbg-battery-profile-305mAh.dtsi
new file mode 100755
index 00000000..ab5846ac
--- /dev/null
+++ b/qcom/qbg-battery-profile-305mAh.dtsi
@@ -0,0 +1,661 @@
+qcom,qbg-305mAh-averaged {
+ qcom,battery-type = "305MAH_AVERAGED";
+ qcom,batt-id-kohm = <10>;
+ qcom,capacity = <306>;
+ qcom,max-voltage-uv = <4400000>;
+ qcom,fastchg-current-ma = <305>;
+ qcom,checksum = <4291097>; /*@5, 0.005V, 4% */
+ qcom,soh-range = <0 100>;
+ /*Nominal_Impedance in 10nohm @ SOC 50% 25C* 0:fresh cell, 1: aged cell*/
+ qcom,battery-impedance = <95906000 191812000>;
+ /*Nominal_Capacity in mAh. 0: fresh cell, 1:aged cell*/
+ qcom,battery-capacity = <290 229>;
+ /*SOC delta (in percent) dropped from EOC SOC to enable recharge*/
+ qcom,recharge-soc-delta =<5>;
+ /*vfloat delta (in mV) dropped from regular vfloat in recharge*/
+ qcom,recharge-vflt-delta =<50>;
+ /*termination current (in mA) in recharge*/
+ qcom,recharge-iterm-ma = <6>;
+
+ qcom,jeita-fcc-ranges = <0 150 300000
+ 151 420 300000
+ 421 450 300000>;
+
+ qcom,jeita-fv-ranges = <0 150 4350000
+ 151 420 4400000
+ 421 450 4350000>;
+
+ qcom,jeita-soft-fcc-ua = <156000 200000>;
+ qcom,jeita-soft-fv-uv = <4350000 4350000>;
+
+ /* COOL = 15 DegC, WARM = 45 DegC */
+ qcom,jeita-soft-thresholds = <0x084E 0x02F5>;
+ /* COLD = 0 DegC, HOT = 45.1 DegC */
+ qcom,jeita-hard-thresholds = <0x0E46 0x02F2>;
+ /* COOL = 18 DegC, WARM = 44 DegC*/
+ qcom,jeita-soft-hys-thresholds = <0x0775 0x030E>;
+
+ qcom,bp-c-table-0 {
+ qcom,temperature = <25>;
+ qcom,soc = < 0 39 58 78 97>,
+ < 136 195 292 429 605>,
+ < 703 820 1230 1660 2089>,
+ < 2519 2949 3378 3808 4238>,
+ < 4668 5097 5527 5957 6386>,
+ < 6679 7011 7441 7793 8046>,
+ < 8476 8906 9335 9765 10000>;
+ qcom,ocv = <30000 31624 32313 32890 33333>,
+ <33923 34535 35328 36111 36802>,
+ <36976 37009 37107 37404 37703>,
+ <37930 38068 38190 38327 38495>,
+ <38696 38937 39240 39626 40124>,
+ <40429 40749 41160 41525 41800>,
+ <42271 42754 43237 43691 43888>;
+ };
+
+ qcom,bp-c-table-1 {
+ qcom,temperature = <(-20)>;
+ qcom,nrows = <35>;
+ qcom,ncols = <8>;
+ qcom,conv-factor = <10000 10000 10000 10000 10000 100000 100000 10000>;
+ qcom,data = <43690 57242 33162 43935 47433 43683 43715 55044>,
+ <43661 53533 33154 43966 47535 43707 43717 53512>,
+ <43664 54313 33152 43605 47154 43711 43736 53256>,
+ <43748 10827 33152 43587 47238 43699 43743 54029>,
+ <43723 10257 33152 43640 47977 43703 43730 53790>,
+ <43554 12213 33164 43532 48042 43663 43732 56388>,
+ <43625 11560 33206 43730 47803 43655 43567 56850>,
+ <43918 8255 32859 43724 42418 43678 43559 55529>,
+ <43783 9997 33173 43744 42220 43753 43583 56047>,
+ <43255 15048 33252 43672 42915 43765 43581 50963>,
+ <43029 14912 33276 43648 42942 43712 43576 50743>,
+ <43422 15280 33244 43698 43005 43534 43579 49501>,
+ <44644 15111 33212 43659 42051 43576 43570 50814>,
+ <44246 14406 33270 43675 48101 43712 43577 50428>,
+ <41603 16039 33087 43666 47963 43760 43570 50947>,
+ <41853 15987 33222 43759 47130 43751 43577 50697>,
+ <41263 16376 33173 43718 47602 43670 43579 49503>,
+ <42904 16145 33183 43559 48866 43674 43579 50856>,
+ <42058 15543 33257 43313 47326 43664 43994 51104>,
+ <47652 15573 33214 42336 41919 43716 45031 50181>,
+ <47254 15760 32774 47854 41975 43719 44905 50334>,
+ <47427 12947 32811 42307 41914 43719 44978 50721>,
+ <48957 13263 32831 42199 41777 43719 43504 49549>,
+ <48623 12326 32865 42222 41119 43718 43129 49576>,
+ <45656 12574 33192 42352 41210 43713 43476 49464>,
+ <45245 13834 32976 47687 41196 43713 44793 49501>,
+ <45513 14161 32968 47714 41132 43718 43331 49435>,
+ <47035 13682 32986 47768 41794 43738 43116 49621>,
+ <46299 3001 32780 47692 41445 43728 43037 50616>,
+ <46532 2216 32855 48003 42610 43743 43021 55738>,
+ <35766 2306 33037 47884 48090 43713 43202 55029>,
+ <34912 4057 33124 47963 48182 43713 43196 11457>,
+ <36573 3528 34768 41839 36598 43753 43935 15406>,
+ <35983 1015 34644 43082 33289 43655 43549 2911>,
+ <36282 225 34228 43555 35807 43657 43740 13762>;
+ };
+
+ qcom,bp-c-table-2 {
+ qcom,temperature = <(-10)>;
+ qcom,nrows = <35>;
+ qcom,ncols = <8>;
+ qcom,conv-factor = <10000 10000 10000 10000 10000 100000 100000 10000>;
+ qcom,data = <43690 57242 33162 43935 47433 43683 43715 55044>,
+ <43661 53533 33154 43966 47535 43707 43717 53512>,
+ <43664 54313 33152 43605 47154 43711 43736 53256>,
+ <43748 10827 33152 43587 47238 43699 43743 54029>,
+ <43723 10257 33152 43640 47977 43703 43730 53790>,
+ <43554 12213 33164 43532 48042 43663 43732 56388>,
+ <43625 11560 33206 43730 47803 43655 43567 56850>,
+ <43918 8255 32859 43724 42418 43678 43559 55529>,
+ <43783 9997 33173 43744 42220 43753 43583 56047>,
+ <43255 15048 33252 43672 42915 43765 43581 50963>,
+ <43029 14912 33276 43648 42942 43712 43576 50743>,
+ <43422 15280 33244 43698 43005 43534 43579 49501>,
+ <44644 15111 33212 43659 42051 43576 43570 50814>,
+ <44246 14406 33270 43675 48101 43712 43577 50428>,
+ <41603 16039 33087 43666 47963 43760 43570 50947>,
+ <41853 15987 33222 43759 47130 43751 43577 50697>,
+ <41263 16376 33173 43718 47602 43670 43579 49503>,
+ <42904 16145 33183 43559 48866 43674 43579 50856>,
+ <42058 15543 33257 43313 47326 43664 43994 51104>,
+ <47652 15573 33214 42336 41919 43716 45031 50181>,
+ <47254 15760 32774 47854 41975 43719 44905 50334>,
+ <47427 12947 32811 42307 41914 43719 44978 50721>,
+ <48957 13263 32831 42199 41777 43719 43504 49549>,
+ <48623 12326 32865 42222 41119 43718 43129 49576>,
+ <45656 12574 33192 42352 41210 43713 43476 49464>,
+ <45245 13834 32976 47687 41196 43713 44793 49501>,
+ <45513 14161 32968 47714 41132 43718 43331 49435>,
+ <47035 13682 32986 47768 41794 43738 43116 49621>,
+ <46299 3001 32780 47692 41445 43728 43037 50616>,
+ <46532 2216 32855 48003 42610 43743 43021 55738>,
+ <35766 2306 33037 47884 48090 43713 43202 55029>,
+ <34912 4057 33124 47963 48182 43713 43196 11457>,
+ <36573 3528 34768 41839 36598 43753 43935 15406>,
+ <35983 1015 34644 43082 33289 43655 43549 2911>,
+ <36282 225 34228 43555 35807 43657 43740 13762>;
+ };
+
+ qcom,bp-c-table-3 {
+ qcom,temperature = <0>;
+ qcom,nrows = <35>;
+ qcom,ncols = <8>;
+ qcom,conv-factor = <10000 10000 10000 10000 10000 100000 100000 10000>;
+ qcom,data = <43690 57242 33162 43935 47433 43683 43715 55044>,
+ <43661 53533 33154 43966 47535 43707 43717 53512>,
+ <43664 54313 33152 43605 47154 43711 43736 53256>,
+ <43748 10827 33152 43587 47238 43699 43743 54029>,
+ <43723 10257 33152 43640 47977 43703 43730 53790>,
+ <43554 12213 33164 43532 48042 43663 43732 56388>,
+ <43625 11560 33206 43730 47803 43655 43567 56850>,
+ <43918 8255 32859 43724 42418 43678 43559 55529>,
+ <43783 9997 33173 43744 42220 43753 43583 56047>,
+ <43255 15048 33252 43672 42915 43765 43581 50963>,
+ <43029 14912 33276 43648 42942 43712 43576 50743>,
+ <43422 15280 33244 43698 43005 43534 43579 49501>,
+ <44644 15111 33212 43659 42051 43576 43570 50814>,
+ <44246 14406 33270 43675 48101 43712 43577 50428>,
+ <41603 16039 33087 43666 47963 43760 43570 50947>,
+ <41853 15987 33222 43759 47130 43751 43577 50697>,
+ <41263 16376 33173 43718 47602 43670 43579 49503>,
+ <42904 16145 33183 43559 48866 43674 43579 50856>,
+ <42058 15543 33257 43313 47326 43664 43994 51104>,
+ <47652 15573 33214 42336 41919 43716 45031 50181>,
+ <47254 15760 32774 47854 41975 43719 44905 50334>,
+ <47427 12947 32811 42307 41914 43719 44978 50721>,
+ <48957 13263 32831 42199 41777 43719 43504 49549>,
+ <48623 12326 32865 42222 41119 43718 43129 49576>,
+ <45656 12574 33192 42352 41210 43713 43476 49464>,
+ <45245 13834 32976 47687 41196 43713 44793 49501>,
+ <45513 14161 32968 47714 41132 43718 43331 49435>,
+ <47035 13682 32986 47768 41794 43738 43116 49621>,
+ <46299 3001 32780 47692 41445 43728 43037 50616>,
+ <46532 2216 32855 48003 42610 43743 43021 55738>,
+ <35766 2306 33037 47884 48090 43713 43202 55029>,
+ <34912 4057 33124 47963 48182 43713 43196 11457>,
+ <36573 3528 34768 41839 36598 43753 43935 15406>,
+ <35983 1015 34644 43082 33289 43655 43549 2911>,
+ <36282 225 34228 43555 35807 43657 43740 13762>;
+ };
+
+ qcom,bp-c-table-4 {
+ qcom,temperature = <10>;
+ qcom,nrows = <35>;
+ qcom,ncols = <8>;
+ qcom,conv-factor = <10000 10000 10000 10000 10000 100000 100000 10000>;
+ qcom,data = <43690 57242 35713 43533 42854 43686 43740 58470>,
+ <43661 53556 35433 43557 42989 43699 43734 59267>,
+ <43664 54518 35387 43563 42926 43662 43562 59135>,
+ <43748 10753 35528 43736 42603 43672 43561 57641>,
+ <43723 10460 35485 43721 42539 43753 43567 57373>,
+ <43554 11897 46404 43756 42659 43718 43553 58261>,
+ <43625 11665 46340 43661 41428 43538 43579 60704>,
+ <43918 8447 46434 43711 41387 43982 43571 60589>,
+ <43783 10183 46336 43694 41015 43442 43531 61136>,
+ <43255 14983 46394 43688 41822 44783 43522 59466>,
+ <43029 14959 46578 43688 41738 44688 43575 60224>,
+ <43422 14916 46572 43688 41841 44668 43569 60206>,
+ <44644 15297 46473 43154 41827 43968 43898 59625>,
+ <44246 14545 46519 41863 44885 43565 44059 61155>,
+ <41603 14603 46465 41969 44264 43555 44443 59728>,
+ <41853 15908 46160 41731 44193 43564 44152 59493>,
+ <41263 16302 46146 41855 44208 43566 44248 60287>,
+ <42904 16321 46147 41128 44185 43560 44175 60369>,
+ <42058 16244 46195 41167 44231 43733 44196 60193>,
+ <47652 15553 46086 40980 44460 43732 44897 60252>,
+ <47254 15805 46122 41038 41679 43732 44945 59515>,
+ <47427 15733 46090 41394 40998 43733 44919 60971>,
+ <48957 12885 46209 41392 41024 43729 44372 61171>,
+ <48623 12311 46929 41005 44104 43732 44202 38362>,
+ <45656 13978 46956 40966 44239 43562 44805 38105>,
+ <45245 14211 46877 41087 44138 43562 44908 37920>,
+ <45513 13328 46951 41832 44210 43563 43332 38848>,
+ <47035 2810 46915 41197 44171 43733 44773 38140>,
+ <46299 2877 46940 41060 44251 43735 44757 38162>,
+ <46532 2102 46967 41028 44132 43734 44699 60127>,
+ <35766 3788 46899 41229 44332 43728 44696 59634>,
+ <34912 3220 46902 42649 41815 43731 43281 60675>,
+ <36573 648 46929 42683 47850 43729 43008 63899>,
+ <35983 852 46174 41925 48379 43729 43882 63418>,
+ <36282 91 35476 44681 48555 43767 43633 63337>;
+ };
+
+ qcom,bp-c-table-5 {
+ qcom,temperature = <25>;
+ qcom,nrows = <35>;
+ qcom,ncols = <8>;
+ qcom,conv-factor = <10000 10000 10000 10000 10000 100000 100000 10000>;
+ qcom,data = <43690 57242 47424 44718 44638 43713 43932 32945>,
+ <43661 53538 48772 44779 44557 43738 43859 33766>,
+ <43664 54419 48879 44799 44754 43736 43239 33357>,
+ <43748 10960 48893 44745 44780 43743 43058 33321>,
+ <43723 10399 48841 44742 44734 43730 43123 33420>,
+ <43554 11817 48837 44760 43283 43733 43414 36316>,
+ <43625 11341 48837 44739 43460 43565 43472 35895>,
+ <43918 8362 48820 43351 43306 43579 43101 36612>,
+ <43783 10149 47437 44558 43115 43569 44623 36431>,
+ <43255 9576 47361 44796 43126 43534 44740 36530>,
+ <43029 15066 47384 44779 43219 43530 44973 35269>,
+ <43422 14907 47362 44791 43040 43575 45000 35300>,
+ <44644 14937 47581 44976 44675 43572 44817 36477>,
+ <44246 14518 47607 44832 44646 43575 44139 36825>,
+ <41603 14829 47612 44851 44981 43572 44427 36804>,
+ <41853 16000 47591 44205 45009 43571 44316 36727>,
+ <41263 15902 47491 44160 45030 43581 41713 36840>,
+ <42904 16260 47534 44170 44974 43580 44315 36600>,
+ <42058 16157 47218 44180 44627 43577 44433 35157>,
+ <47652 15605 47200 44244 44964 43557 44078 36539>,
+ <47254 15746 47208 44152 44842 43559 44834 36406>,
+ <47427 12979 47130 44475 44094 43559 44649 36707>,
+ <48957 13282 47165 44477 44383 43578 44742 35937>,
+ <48623 12384 47311 44075 41502 43576 44177 36037>,
+ <45656 13846 47311 44871 44570 43582 45041 35617>,
+ <45245 14151 47307 44871 44732 43582 45041 35757>,
+ <45513 13703 47346 44887 43346 43582 45009 35411>,
+ <47035 2658 47334 44223 44770 43583 44928 35778>,
+ <46299 2207 47252 44214 44592 43583 44597 35653>,
+ <46532 2530 47263 44173 44660 43582 44756 35019>,
+ <35766 4021 47258 44247 45002 43582 44552 35223>,
+ <34912 3496 47294 44145 44204 43582 44556 36572>,
+ <36573 591 47320 44427 41595 43577 43373 33328>,
+ <35983 1 47539 44668 42550 43557 43855 34343>,
+ <36282 474 48838 44588 41374 43731 43829 34533>;
+ };
+
+ qcom,bp-c-table-6 {
+ qcom,temperature = <40>;
+ qcom,nrows = <35>;
+ qcom,ncols = <8>;
+ qcom,conv-factor = <10000 10000 10000 10000 10000 100000 100000 10000>;
+ qcom,data = <43690 57242 42133 43465 43515 43567 43802 48586>,
+ <43661 53744 42121 43460 43454 43553 43412 48219>,
+ <43664 55132 42175 43482 43103 43556 44718 48145>,
+ <43748 10895 42157 43480 43135 43579 44651 48173>,
+ <43723 11109 42835 43483 43036 43582 45019 48382>,
+ <43554 11961 42826 43463 43222 43571 44088 48990>,
+ <43625 11485 42863 43464 43157 43530 44543 49119>,
+ <43918 9018 42756 43395 43194 43522 44238 48736>,
+ <43783 9743 42793 43101 43187 43527 45015 48840>,
+ <43255 9712 42945 43106 43190 43548 44988 47445>,
+ <43029 15030 42959 43052 43868 43542 44978 47404>,
+ <43422 15083 42993 43063 43842 43551 44818 47400>,
+ <44644 14899 42987 43429 43500 43549 44559 49054>,
+ <44246 15214 42905 43400 43517 43550 44858 49031>,
+ <41603 14415 42891 43470 43319 43536 44101 48933>,
+ <41853 14691 42919 43309 43271 43546 44465 48897>,
+ <41263 16065 42587 43476 43270 43547 44430 49115>,
+ <42904 15940 42619 43313 43465 43524 44328 49077>,
+ <42058 16174 42503 43282 43508 43522 44154 49083>,
+ <47652 15504 42537 43328 43475 43529 44913 49043>,
+ <47254 15804 42712 44723 43377 43528 44652 48924>,
+ <47427 12938 42697 44686 44753 43529 43356 48381>,
+ <48957 13252 42721 44711 44636 43533 43314 48188>,
+ <48623 12731 42730 43320 44638 43526 43323 48981>,
+ <45656 13916 42629 43496 43009 43533 44948 47599>,
+ <45245 13475 42637 43415 43008 43520 44963 47506>,
+ <45513 13801 42637 43412 43026 43521 44561 47593>,
+ <47035 2655 42628 43490 43448 43520 44769 47365>,
+ <46299 2267 42629 43492 43471 43526 43329 48828>,
+ <46532 2349 42653 43472 43320 43524 44685 48683>,
+ <35766 4035 42723 43361 43332 43525 44756 49145>,
+ <34912 3576 42751 43382 44583 43525 44730 48304>,
+ <36573 902 42695 44672 44941 43544 44769 48514>,
+ <35983 114 42608 43313 41563 43526 43115 45139>,
+ <36282 265 42141 43253 44158 43539 43805 45990>;
+ };
+
+ qcom,bp-c-table-7 {
+ qcom,temperature = <50>;
+ qcom,nrows = <35>;
+ qcom,ncols = <8>;
+ qcom,conv-factor = <10000 10000 10000 10000 10000 100000 100000 10000>;
+ qcom,data = <43690 57242 41227 43112 43026 43569 43403 47305>,
+ <43661 53643 41253 43118 43069 43573 44718 47282>,
+ <43664 55052 41260 43112 43052 43531 44591 47961>,
+ <43748 54633 41431 43028 43228 43528 44963 47994>,
+ <43723 11214 41438 43024 43212 43534 44833 47879>,
+ <43554 10499 41423 43013 43245 43522 44252 48070>,
+ <43625 11454 41464 43016 43189 43526 44539 48063>,
+ <43918 9115 41365 43047 43842 43544 44300 47627>,
+ <43783 9955 41355 43217 43878 43551 44289 47845>,
+ <43255 9634 41377 43213 43781 43627 44387 42320>,
+ <43029 9585 41387 43196 43824 43616 44109 42287>,
+ <43422 15021 41055 43860 43825 43619 44105 42434>,
+ <44644 15092 41029 43230 43025 43631 44641 47702>,
+ <44246 15150 41034 43200 43033 43625 44918 47734>,
+ <41603 14337 41086 43203 43089 43616 44202 48056>,
+ <41853 14628 41064 43218 43402 43627 44887 48025>,
+ <41263 16022 40975 43209 43396 43625 44811 48045>,
+ <42904 15995 41005 43042 43027 43536 44082 47625>,
+ <42058 16346 41176 43022 43119 43551 44900 47636>,
+ <47652 15492 41162 43114 43434 43524 44571 48033>,
+ <47254 15803 41188 43105 43481 43524 43279 47915>,
+ <47427 12943 41108 43121 43378 43546 43519 47937>,
+ <48957 13265 41093 43122 43333 43545 43501 47966>,
+ <48623 12682 41097 43219 43300 43538 43458 48045>,
+ <45656 13904 41138 43190 43157 43541 44746 42470>,
+ <45245 13484 41150 43187 43232 43624 44726 42491>,
+ <45513 13806 41145 43166 43254 43627 44768 42451>,
+ <47035 2647 41139 43225 43044 43626 44548 42323>,
+ <46299 2257 41096 43055 43125 43540 44738 47861>,
+ <46532 2367 41102 43042 43407 43541 44686 47621>,
+ <35766 4054 41088 43060 43320 43543 43359 48021>,
+ <34912 3528 41112 43108 43329 43537 44681 47997>,
+ <36573 914 41108 43094 44581 43626 44686 47213>,
+ <35983 117 40995 43438 44225 43624 43457 48705>,
+ <36282 263 41340 43829 44176 43645 43807 48659>;
+ };
+
+ qcom,bp-d-table-0 {
+ qcom,temperature = <25>;
+ qcom,soc = < 0 39 58 78 97>,
+ < 136 195 292 429 605>,
+ < 703 820 1230 1660 2089>,
+ < 2519 2949 3378 3808 4238>,
+ < 4668 5097 5527 5957 6386>,
+ < 6679 7011 7441 7793 8046>,
+ < 8476 8906 9335 9765 10000>;
+ qcom,ocv = <31073 31787 32126 32450 32757>,
+ <33307 33966 34776 35568 36347>,
+ <36629 36779 36885 37084 37355>,
+ <37558 37757 37937 38107 38291>,
+ <38507 38759 39063 39479 39993>,
+ <40313 40635 41062 41430 41705>,
+ <42182 42666 43143 43619 43880>;
+ };
+
+ qcom,bp-d-table-1 {
+ qcom,temperature = <(-20)>;
+ qcom,nrows = <35>;
+ qcom,ncols = <8>;
+ qcom,conv-factor = <10000 10000 10000 10000 10000 100000 100000 10000>;
+ qcom,data = <43690 53660 64259 21845 21845 43689 43705 21845>,
+ <43661 55283 63747 21845 21845 43688 43685 21845>,
+ <43664 54516 65027 21845 21845 43691 43707 21845>,
+ <43748 54781 65312 21845 21845 43691 43711 21845>,
+ <43723 10979 64671 21845 21845 43690 43697 21845>,
+ <43554 10413 64559 21845 21845 43690 43650 21845>,
+ <43625 11995 65471 21845 21845 43690 43768 21845>,
+ <43918 11772 65193 21845 21845 43690 43556 21845>,
+ <43783 9046 63525 21845 12654 43690 43541 21845>,
+ <43255 9875 64334 21845 62536 43690 43642 21845>,
+ <43029 10122 64245 21845 64090 43690 43632 21845>,
+ <43422 10052 58432 21845 61360 43690 43646 21845>,
+ <44644 9577 58479 21845 60678 43690 43941 21845>,
+ <44246 14944 58905 21845 37937 43690 43613 21845>,
+ <41603 15156 57646 21845 38947 43690 43936 21845>,
+ <41853 14584 57594 30648 33702 43691 43917 21845>,
+ <41263 14427 60725 27562 36567 43691 43908 21845>,
+ <42904 14628 60593 3502 35555 43691 44003 21845>,
+ <42058 16013 60942 9504 46887 43691 44024 21845>,
+ <47652 15979 59707 54774 45349 43691 44020 21845>,
+ <47254 16375 59901 55359 45899 43691 43992 21845>,
+ <47427 16213 59745 52773 45785 43691 43987 21845>,
+ <48957 15390 59604 61929 48535 43691 43813 21845>,
+ <48623 15678 59596 61556 48189 43691 43885 21845>,
+ <45656 12909 60290 61479 48571 43691 43146 21845>,
+ <45245 13157 59995 61550 45702 43691 43256 21845>,
+ <45513 12699 59988 63155 45060 43691 43042 21845>,
+ <47035 14233 60017 52167 46878 43691 43300 21845>,
+ <46299 13643 60023 49709 33362 43691 44591 21845>,
+ <46532 3038 59973 49605 33792 43691 44671 21845>,
+ <35766 2091 60209 49630 33206 43691 43171 21845>,
+ <34912 3638 60014 53309 35892 43691 43236 21845>,
+ <36573 3469 59923 8750 35237 43691 43149 21845>,
+ <35983 186 60411 14552 35339 43691 43993 21845>,
+ <36282 379 60263 15528 46403 43691 43599 21845>;
+ };
+
+ qcom,bp-d-table-2 {
+ qcom,temperature = <(-10)>;
+ qcom,nrows = <35>;
+ qcom,ncols = <8>;
+ qcom,conv-factor = <10000 10000 10000 10000 10000 100000 100000 10000>;
+ qcom,data = <43690 54802 38511 21845 21845 43708 43690 21845>,
+ <43661 54507 38770 21845 21845 43685 43706 21845>,
+ <43664 54697 38133 21845 21845 43681 43700 21845>,
+ <43748 54638 38012 21845 21845 43682 43674 21845>,
+ <43723 10798 38302 21845 21845 43694 43759 21845>,
+ <43554 11093 38352 21845 21845 43690 43741 21845>,
+ <43625 11926 38099 21845 26496 43690 43594 21845>,
+ <43918 11742 38511 17769 63508 43690 43826 21845>,
+ <43783 8197 36957 6979 33067 43690 43253 21845>,
+ <43255 10134 37434 11872 46839 43691 43115 21845>,
+ <43029 9351 40418 55369 45818 43691 43080 21845>,
+ <43422 9308 40097 53114 48256 43691 43116 21845>,
+ <44644 15047 40617 51903 45701 43691 43232 21845>,
+ <44246 15336 39176 63993 47360 43691 43165 21845>,
+ <41603 15195 39341 57419 47910 43691 43195 21845>,
+ <41853 14393 40628 60164 47721 43691 43851 21845>,
+ <41263 14745 39321 38593 47752 43688 43865 21845>,
+ <42904 14701 39386 40090 47661 43688 43880 21678>,
+ <42058 16115 40618 39879 47661 43688 43805 23876>,
+ <47652 15943 39269 34621 47760 43688 43797 22748>,
+ <47254 16163 39392 32897 47752 43688 43880 17639>,
+ <47427 15509 39233 33481 47846 43688 43883 17982>,
+ <48957 15770 40653 33286 42310 43688 43143 17979>,
+ <48623 13013 39191 33379 47966 43688 43066 18219>,
+ <45656 13140 39385 33336 48818 43688 43220 17499>,
+ <45245 12787 39380 32865 48374 43688 43413 22649>,
+ <45513 14314 39185 39738 45069 43688 44835 22280>,
+ <47035 13569 39340 39696 36710 43688 43349 21845>,
+ <46299 2657 39328 38978 36513 43688 43041 21845>,
+ <46532 2853 39348 40563 35809 43688 43194 21845>,
+ <35766 2519 39310 38436 46217 43688 43221 21845>,
+ <34912 3883 38978 61153 46097 43688 43206 21845>,
+ <36573 3351 39018 58953 46669 43688 43165 21845>,
+ <35983 149 38922 64705 48475 43691 43892 21845>,
+ <36282 278 38920 61786 48986 43691 43803 21845>;
+ };
+
+ qcom,bp-d-table-3 {
+ qcom,temperature = <0>;
+ qcom,nrows = <35>;
+ qcom,ncols = <8>;
+ qcom,conv-factor = <10000 10000 10000 10000 10000 100000 100000 10000>;
+ qcom,data = <43690 53322 33863 21845 21845 43708 43690 21845>,
+ <43661 55283 34269 21845 21845 43685 43690 21845>,
+ <43664 54316 34256 21845 21845 43686 43673 21845>,
+ <43748 54543 34294 21845 21845 43682 43730 21845>,
+ <43723 10782 34189 21845 21845 43695 43540 21845>,
+ <43554 10290 33841 6719 19581 43691 44006 21845>,
+ <43625 11898 34689 56657 63547 43691 43165 21845>,
+ <43918 11526 32845 61446 35202 43691 43513 21845>,
+ <43783 8312 33572 38179 48098 43691 43379 21594>,
+ <43255 10006 33686 40556 42268 43691 44774 17106>,
+ <43029 9219 33700 39137 42289 43691 43343 20084>,
+ <43422 9717 33316 34286 42425 43691 43404 19116>,
+ <44644 15062 36217 39155 42200 43691 43256 19098>,
+ <44246 15246 36132 33160 41293 43691 43188 30752>,
+ <41603 15172 33415 36549 41325 43688 43232 27956>,
+ <41853 14444 36216 46143 42557 43688 43050 5309>,
+ <41263 14786 33442 45669 42558 43688 43236 7830>,
+ <42904 14683 36160 48664 42559 43688 43197 1950>,
+ <42058 16088 36183 47657 42931 43689 43881 701>,
+ <47652 15953 33454 42987 42970 43689 43791 2362>,
+ <47254 16138 36198 42505 42912 43689 43881 13587>,
+ <47427 15403 36193 42244 42639 43689 43226 14166>,
+ <48957 15645 33414 47258 42212 43694 43127 13661>,
+ <48623 13232 33411 48814 47742 43694 43123 2532>,
+ <45656 12343 33436 48939 47339 43692 43131 3977>,
+ <45245 14050 33522 48174 48368 43701 43319 311>,
+ <45513 13314 33323 48604 46167 43721 44868 4246>,
+ <47035 13695 36319 48194 46605 43774 43038 7383>,
+ <46299 2962 36155 46822 48393 43750 43361 4642>,
+ <46532 2301 36101 46419 49096 43756 44559 4387>,
+ <35766 3748 36350 46384 48252 43678 43504 5425>,
+ <34912 3246 36279 35769 48415 43675 43440 28174>,
+ <36573 672 36322 36309 48558 43699 43048 24705>,
+ <35983 237 36172 39178 48677 43690 43998 31375>,
+ <36282 309 33509 37768 47195 43690 43585 31013>;
+ };
+
+ qcom,bp-d-table-4 {
+ qcom,temperature = <10>;
+ qcom,nrows = <35>;
+ qcom,ncols = <8>;
+ qcom,conv-factor = <10000 10000 10000 10000 10000 100000 100000 10000>;
+ qcom,data = <43690 53271 35077 22500 21845 43664 43690 21845>,
+ <43661 55175 34854 31526 21845 43674 43690 21845>,
+ <43664 54513 35674 7356 21974 43651 43690 21845>,
+ <43748 54741 35833 13192 30774 43659 43549 21845>,
+ <43723 10812 35350 55025 3927 43699 43826 21845>,
+ <43554 10300 46360 57507 64861 43681 43395 21845>,
+ <43625 11863 46177 36167 35314 43689 44670 26318>,
+ <43918 11622 46227 46964 48874 43689 44183 81>,
+ <43783 8301 46261 48620 42875 43689 44663 12523>,
+ <43255 10014 46935 48002 42614 43689 43488 10129>,
+ <43029 9339 46959 47988 42924 43694 43290 8490>,
+ <43422 9513 46873 42332 42530 43694 43123 8719>,
+ <44644 15085 46992 42601 41093 43694 43235 11942>,
+ <44246 15272 47011 42578 41498 43693 43084 56599>,
+ <41603 14504 46976 41110 41773 43709 43434 50432>,
+ <41853 14414 47078 41145 44352 43743 44210 50116>,
+ <41263 14810 47081 41943 44097 43734 45020 51453>,
+ <42904 14709 47050 41679 44258 43563 44716 61813>,
+ <42058 16074 47007 41703 44806 43560 44710 64931>,
+ <47652 16266 47030 41560 44198 43560 44912 64648>,
+ <47254 15540 47094 41735 41641 43561 44444 64959>,
+ <47427 15805 47101 41149 41538 43554 44211 64920>,
+ <48957 13036 46985 41384 41127 43560 44825 62142>,
+ <48623 13062 47037 42658 41218 43734 45033 61588>,
+ <45656 12751 47060 42824 42219 43741 44812 62670>,
+ <45245 13944 47059 41996 47951 43743 45024 51312>,
+ <45513 13374 47012 42380 48566 43736 43300 52568>,
+ <47035 2737 46709 47294 47275 43721 43488 52316>,
+ <46299 3028 46710 47279 48111 43773 43420 52578>,
+ <46532 2104 46708 47987 48038 43769 43416 50102>,
+ <35766 3800 47020 47296 47747 43775 43298 49554>,
+ <34912 3273 47018 47150 47850 43768 43463 51026>,
+ <36573 767 46689 47245 42096 43751 43415 50437>,
+ <35983 245 46837 48031 41435 43757 43095 55964>,
+ <36282 289 46721 47688 41007 43753 43133 50459>;
+ };
+
+ qcom,bp-d-table-5 {
+ qcom,temperature = <25>;
+ qcom,nrows = <35>;
+ qcom,ncols = <8>;
+ qcom,conv-factor = <10000 10000 10000 10000 10000 100000 100000 10000>;
+ qcom,data = <43690 54219 48371 21845 21845 43690 43690 21845>,
+ <43661 54913 49007 21845 21845 43690 43690 21845>,
+ <43664 55252 49112 29304 21845 43709 43577 21845>,
+ <43748 54376 49035 14095 21845 43667 43187 21845>,
+ <43723 54623 48767 52307 206 43773 43306 21845>,
+ <43554 10417 48846 46060 34294 43562 44814 56827>,
+ <43625 11780 48798 41983 47583 43561 44156 58008>,
+ <43918 11634 48775 44406 42177 43741 44292 60060>,
+ <43783 8282 47486 44470 41913 43729 44378 37438>,
+ <43255 10065 47457 44045 44442 43565 44323 39292>,
+ <43029 9663 47397 44133 44300 43552 44125 39294>,
+ <43422 9473 47413 44057 44266 43554 44902 39755>,
+ <44644 15039 47405 45020 44676 43567 44643 34664>,
+ <44246 14966 47593 44942 44777 43577 44610 32807>,
+ <41603 15169 47563 44934 44714 43569 44915 33463>,
+ <41853 14364 47196 44965 43367 43530 44240 36070>,
+ <41263 14807 47547 45004 44663 43573 44377 36281>,
+ <42904 16027 47521 45021 44816 43529 44536 36227>,
+ <42058 15985 47531 45012 44861 43528 44256 35896>,
+ <47652 16185 47223 44836 44985 43530 44198 36654>,
+ <47254 15553 47208 44813 44649 43572 44186 36449>,
+ <47427 15821 47215 44816 44547 43569 44283 36566>,
+ <48957 12861 47116 44925 44985 43570 44198 36429>,
+ <48623 12445 47104 44071 44510 43581 44894 36162>,
+ <45656 13971 47315 44434 41441 43580 44690 34454>,
+ <45245 14291 47301 44332 41440 43577 43519 34545>,
+ <45513 13329 47322 44393 41915 43554 43076 32803>,
+ <47035 2764 47302 44387 44525 43560 43320 33769>,
+ <46299 2940 47308 44296 44042 43563 44707 33307>,
+ <46532 2115 47307 44504 44239 43563 44773 33501>,
+ <35766 3692 47301 44425 44179 43564 44569 33511>,
+ <34912 3072 47308 44128 44275 43555 44553 33335>,
+ <36573 557 47142 44248 44167 43556 44760 33295>,
+ <35983 201 47174 44214 44810 43582 44682 33493>,
+ <36282 450 47543 44888 45049 43581 43347 33510>;
+ };
+
+ qcom,bp-d-table-6 {
+ qcom,temperature = <40>;
+ qcom,nrows = <35>;
+ qcom,ncols = <8>;
+ qcom,conv-factor = <10000 10000 10000 10000 10000 100000 100000 10000>;
+ qcom,data = <43690 53902 42383 33702 40084 43665 43923 53967>,
+ <43661 53736 42104 46522 34491 43737 43111 51998>,
+ <43664 54804 41999 45870 36264 43552 43312 65357>,
+ <43748 54412 42195 48804 34951 43572 44746 57387>,
+ <43723 54736 42235 42413 46864 43524 44978 60067>,
+ <43554 11108 42174 44291 48176 43624 44264 39592>,
+ <43625 11982 42846 44962 48039 43539 44425 35956>,
+ <43918 11739 42877 44683 42986 43582 41645 35605>,
+ <43783 8392 42815 43388 41558 43577 41494 46618>,
+ <43255 10133 42998 43291 44765 43528 41582 48436>,
+ <43029 9255 42983 43387 44704 43522 41611 48531>,
+ <43422 9677 42985 43342 43274 43522 44819 48255>,
+ <44644 9595 42892 43448 43245 43526 44856 48889>,
+ <44246 14889 42580 43435 43220 43537 44925 48820>,
+ <41603 15161 42597 43078 43065 43539 44202 47462>,
+ <41853 14528 42502 43126 43128 43539 44182 47466>,
+ <41263 14821 42507 43454 43363 43626 44203 48748>,
+ <42904 16004 42540 43516 44658 43627 44805 48298>,
+ <42058 15943 42715 43491 44561 43626 44624 49001>,
+ <47652 16141 42738 43402 43356 43543 44603 48640>,
+ <47254 15569 42653 43455 43498 43551 44556 47459>,
+ <47427 15839 42638 43400 43079 43524 44959 47559>,
+ <48957 12811 42685 43405 43454 43524 45035 47399>,
+ <48623 12432 42680 43295 44608 43547 44954 48979>,
+ <45656 13956 42687 44775 44102 43525 43423 45666>,
+ <45245 14287 42672 44598 44093 43520 43101 45599>,
+ <45513 13322 42676 44665 44576 43575 43479 48209>,
+ <47035 2789 42632 44678 43358 43580 43488 49000>,
+ <46299 2923 42624 43346 43479 43581 43321 49037>,
+ <46532 2169 42654 43380 43414 43571 43329 48754>,
+ <35766 3588 42746 43317 43439 43574 44688 48861>,
+ <34912 3130 42739 43511 43091 43531 44744 48874>,
+ <36573 710 42691 43516 43085 43533 44658 48875>,
+ <35983 146 42536 43505 43109 43525 44807 48839>,
+ <36282 390 42533 43470 43114 43545 44199 48653>;
+ };
+
+ qcom,bp-d-table-7 {
+ qcom,temperature = <50>;
+ qcom,nrows = <35>;
+ qcom,ncols = <8>;
+ qcom,conv-factor = <10000 10000 10000 10000 10000 100000 100000 10000>;
+ qcom,data = <43690 53934 41328 47651 35472 43932 43196 60132>,
+ <43661 53365 41244 42846 46743 43953 43491 37497>,
+ <43664 55019 41231 42697 45215 43943 43343 40560>,
+ <43748 55101 41278 40981 45727 43946 44756 39496>,
+ <43723 54389 41257 41911 48354 43614 44987 34720>,
+ <43554 11165 41423 44189 47224 43639 44211 35992>,
+ <43625 11944 41448 43351 42398 43626 44419 46439>,
+ <43918 11651 41395 43422 42669 43530 41659 45354>,
+ <43783 8320 41054 43083 41872 43529 41489 45735>,
+ <43255 9819 41060 43115 44692 43524 41570 47211>,
+ <43029 9361 40983 43107 43398 43544 41477 47872>,
+ <43422 9631 40985 43452 43428 43525 44063 47991>,
+ <44644 9482 41010 43160 43851 43541 45010 42279>,
+ <44246 15096 41173 43185 43149 43622 44632 42296>,
+ <41603 15299 41160 43239 43258 43646 44074 42341>,
+ <41853 14485 41197 43149 43221 43623 44891 42346>,
+ <41263 14734 41118 43166 43452 43621 45028 47847>,
+ <42904 16052 41102 43237 44787 43647 44764 47921>,
+ <42058 15936 41146 43158 44773 43644 43360 48091>,
+ <47652 16142 41812 43162 43509 43643 43390 47818>,
+ <47254 15575 41819 43258 43023 43622 44665 42269>,
+ <47427 15824 41807 43263 43263 43628 44839 42443>,
+ <48957 12802 41840 43210 43051 43626 44839 42297>,
+ <48623 12437 41851 43116 44697 43541 44622 47879>,
+ <45656 13954 41850 43477 44990 43536 43518 47556>,
+ <45245 14326 41850 43275 44668 43545 43395 47609>,
+ <45513 13374 41854 43278 43511 43523 43373 47951>,
+ <47035 2796 41841 43314 43221 43523 44984 48063>,
+ <46299 2834 41800 43394 43223 43535 44789 47662>,
+ <46532 2144 41795 43119 43051 43529 43365 47770>,
+ <35766 3599 41811 43058 43153 43524 44783 42340>,
+ <34912 3106 41135 43253 43136 43545 44751 42285>,
+ <36573 715 41150 43161 43137 43542 44755 42441>,
+ <35983 130 41090 43199 43158 43616 44591 42441>,
+ <36282 434 41112 43172 43237 43642 44591 42452>;
+ };
+};
diff --git a/qcom/qbg-battery-profile-alium-860-89032-0000-3600mAh.dtsi b/qcom/qbg-battery-profile-alium-860-89032-0000-3600mAh.dtsi
new file mode 100755
index 00000000..8e4974d1
--- /dev/null
+++ b/qcom/qbg-battery-profile-alium-860-89032-0000-3600mAh.dtsi
@@ -0,0 +1,552 @@
+qcom,qbg-battery-profile-alium-860-89032-0000-3600mAh {
+ qcom,battery-type = "ALIUM_860_89032_0000_3600MAH";
+ qcom,batt-id-kohm = <107>;
+ qcom,capacity = <3588>;
+ qcom,max-voltage-uv = <4350000>;
+ qcom,fastchg-current-ma = <3600>;
+ qcom,checksum = <4563678>; /*@5, 0.005V, 10% */
+ qcom,soh-range = <0 100>;
+ /* Nominal_Capacity in mAh. 0: fresh cell, 1:aged cell */
+ qcom,battery-capacity = <3408 2691>;
+ /* SOC delta (in percent) dropped from EOC SOC to enable recharge */
+ qcom,recharge-soc-delta =<5>;
+ /* vfloat delta (in mV) dropped from regular vfloat in recharge */
+ qcom,recharge-vflt-delta =<50>;
+ /* termination current (in mA) in recharge */
+ qcom,recharge-iterm-ma = <300>;
+ qcom,bp-c-table-0 {
+ qcom,temperature = <25>;
+ qcom,soc = < 0 19 39 58 78>,
+ < 97 136 214 312 449>,
+ < 605 722 1093 1640 2617>,
+ < 3886 5019 5683 6210 6621>,
+ < 7031 7343 7519 7871 8027>,
+ < 8554 9101 9628 10000>;
+ qcom,ocv = <30000 30863 31659 32364 32956>,
+ <33410 34016 34824 35559 36295>,
+ <36867 37001 37083 37388 37894>,
+ <38164 38590 38975 39497 39791>,
+ <40073 40586 40837 41110 41228>,
+ <41772 42360 42953 43365>;
+ };
+
+ qcom,bp-c-table-1 {
+ qcom,temperature = <(-20)>;
+ qcom,nrows = <29>;
+ qcom,ncols = <8>;
+ qcom,conv-factor = <10000 10000 10000 10000 10000 100000 100000 10000>;
+ qcom,data = <43690 57242 44160 43965 44002 43601 41390 42954>,
+ <43705 53789 44184 43942 44013 43604 41068 42903>,
+ <43661 53585 44179 43946 44012 43945 41181 42931>,
+ <43664 54350 44180 43614 44015 43949 41137 42589>,
+ <43748 11251 44267 43587 44014 43943 41746 42623>,
+ <43723 10728 44270 43639 44009 43961 41976 42526>,
+ <43554 12062 44268 43629 44010 43957 41534 42717>,
+ <43644 8826 44271 43523 43933 43920 44406 42687>,
+ <43922 8449 44185 43570 43907 43976 41611 41327>,
+ <43883 9254 44179 43730 43919 43808 44367 41425>,
+ <43255 14867 44167 43672 44001 44025 45053 41445>,
+ <43128 15244 44168 43672 44029 44024 45048 41451>,
+ <44783 15158 44173 43774 44013 43988 44048 41467>,
+ <44226 14421 44161 43540 44013 43793 41113 41326>,
+ <41107 15967 44173 43625 43776 43793 41789 41295>,
+ <42372 15526 44884 43584 43856 43898 41322 41282>,
+ <47409 15831 44867 43908 43900 43066 47981 41317>,
+ <48281 12906 44874 44012 43875 43131 48704 41247>,
+ <45800 13155 44916 43995 43899 43076 48598 41287>,
+ <45943 12500 44865 43789 43856 43091 45767 42694>,
+ <45533 12745 44884 43866 43224 43448 45801 42993>,
+ <46597 13859 44193 43189 43133 43499 45732 42112>,
+ <47093 14086 44221 43184 43128 43496 48592 42215>,
+ <46101 2729 44165 43176 43029 43392 48814 42199>,
+ <46577 2616 44188 43179 43085 43392 47122 42001>,
+ <35776 2202 44260 43180 43334 43496 42250 42316>,
+ <35111 3788 44259 43191 44671 43496 42897 48054>,
+ <36662 3128 44267 43146 44800 43421 41436 47272>,
+ <36282 748 44268 43594 44960 41594 44901 47858>;
+ };
+
+ qcom,bp-c-table-2 {
+ qcom,temperature = <(-10)>;
+ qcom,nrows = <29>;
+ qcom,ncols = <8>;
+ qcom,conv-factor = <10000 10000 10000 10000 10000 100000 100000 10000>;
+ qcom,data = <43690 57242 44160 43965 44002 43601 41390 42954>,
+ <43705 53789 44184 43942 44013 43604 41068 42903>,
+ <43661 53585 44179 43946 44012 43945 41181 42931>,
+ <43664 54350 44180 43614 44015 43949 41137 42589>,
+ <43748 11251 44267 43587 44014 43943 41746 42623>,
+ <43723 10728 44270 43639 44009 43961 41976 42526>,
+ <43554 12062 44268 43629 44010 43957 41534 42717>,
+ <43644 8826 44271 43523 43933 43920 44406 42687>,
+ <43922 8449 44185 43570 43907 43976 41611 41327>,
+ <43883 9254 44179 43730 43919 43808 44367 41425>,
+ <43255 14867 44167 43672 44001 44025 45053 41445>,
+ <43128 15244 44168 43672 44029 44024 45048 41451>,
+ <44783 15158 44173 43774 44013 43988 44048 41467>,
+ <44226 14421 44161 43540 44013 43793 41113 41326>,
+ <41107 15967 44173 43625 43776 43793 41789 41295>,
+ <42372 15526 44884 43584 43856 43898 41322 41282>,
+ <47409 15831 44867 43908 43900 43066 47981 41317>,
+ <48281 12906 44874 44012 43875 43131 48704 41247>,
+ <45800 13155 44916 43995 43899 43076 48598 41287>,
+ <45943 12500 44865 43789 43856 43091 45767 42694>,
+ <45533 12745 44884 43866 43224 43448 45801 42993>,
+ <46597 13859 44193 43189 43133 43499 45732 42112>,
+ <47093 14086 44221 43184 43128 43496 48592 42215>,
+ <46101 2729 44165 43176 43029 43392 48814 42199>,
+ <46577 2616 44188 43179 43085 43392 47122 42001>,
+ <35776 2202 44260 43180 43334 43496 42250 42316>,
+ <35111 3788 44259 43191 44671 43496 42897 48054>,
+ <36662 3128 44267 43146 44800 43421 41436 47272>,
+ <36282 748 44268 43594 44960 41594 44901 47858>;
+ };
+
+ qcom,bp-c-table-3 {
+ qcom,temperature = <0>;
+ qcom,nrows = <29>;
+ qcom,ncols = <8>;
+ qcom,conv-factor = <10000 10000 10000 10000 10000 100000 100000 10000>;
+ qcom,data = <43690 57242 44160 43965 44002 43601 41390 42954>,
+ <43705 53789 44184 43942 44013 43604 41068 42903>,
+ <43661 53585 44179 43946 44012 43945 41181 42931>,
+ <43664 54350 44180 43614 44015 43949 41137 42589>,
+ <43748 11251 44267 43587 44014 43943 41746 42623>,
+ <43723 10728 44270 43639 44009 43961 41976 42526>,
+ <43554 12062 44268 43629 44010 43957 41534 42717>,
+ <43644 8826 44271 43523 43933 43920 44406 42687>,
+ <43922 8449 44185 43570 43907 43976 41611 41327>,
+ <43883 9254 44179 43730 43919 43808 44367 41425>,
+ <43255 14867 44167 43672 44001 44025 45053 41445>,
+ <43128 15244 44168 43672 44029 44024 45048 41451>,
+ <44783 15158 44173 43774 44013 43988 44048 41467>,
+ <44226 14421 44161 43540 44013 43793 41113 41326>,
+ <41107 15967 44173 43625 43776 43793 41789 41295>,
+ <42372 15526 44884 43584 43856 43898 41322 41282>,
+ <47409 15831 44867 43908 43900 43066 47981 41317>,
+ <48281 12906 44874 44012 43875 43131 48704 41247>,
+ <45800 13155 44916 43995 43899 43076 48598 41287>,
+ <45943 12500 44865 43789 43856 43091 45767 42694>,
+ <45533 12745 44884 43866 43224 43448 45801 42993>,
+ <46597 13859 44193 43189 43133 43499 45732 42112>,
+ <47093 14086 44221 43184 43128 43496 48592 42215>,
+ <46101 2729 44165 43176 43029 43392 48814 42199>,
+ <46577 2616 44188 43179 43085 43392 47122 42001>,
+ <35776 2202 44260 43180 43334 43496 42250 42316>,
+ <35111 3788 44259 43191 44671 43496 42897 48054>,
+ <36662 3128 44267 43146 44800 43421 41436 47272>,
+ <36282 748 44268 43594 44960 41594 44901 47858>;
+ };
+
+ qcom,bp-c-table-4 {
+ qcom,temperature = <10>;
+ qcom,nrows = <29>;
+ qcom,ncols = <8>;
+ qcom,conv-factor = <10000 10000 10000 10000 10000 100000 100000 10000>;
+ qcom,data = <43690 57242 45033 43737 43603 43866 41563 41506>,
+ <43705 53766 44949 43738 43615 43178 41536 41690>,
+ <43661 53577 44945 43718 43611 43194 41551 41715>,
+ <43664 54292 44957 43715 43591 43147 41544 41705>,
+ <43748 11150 44953 43724 43587 43160 41547 41607>,
+ <43723 10326 44933 43721 43599 43246 41545 41661>,
+ <43554 12232 44930 43764 43636 43202 41536 44378>,
+ <43644 8751 44982 43774 43641 43036 41903 44295>,
+ <43922 8649 44987 43750 43619 43445 41931 44506>,
+ <43883 9454 44972 43751 43542 43300 41165 44527>,
+ <43255 15062 44630 43675 43626 43382 41676 44476>,
+ <43128 14925 44628 43679 43624 44718 41718 44452>,
+ <44783 15341 44627 43769 43549 43379 41249 44470>,
+ <44226 14371 44627 43637 43736 44651 37910 44528>,
+ <41107 15906 44613 43608 43735 44644 60857 44534>,
+ <42372 16330 44671 43960 43543 44544 57836 44350>,
+ <47409 15371 44642 43907 43608 44553 57110 44399>,
+ <48281 12899 44650 43963 43583 44742 57671 44522>,
+ <45800 12525 44571 43615 43579 44729 36578 44455>,
+ <45943 12714 44546 43958 43523 43379 36745 44437>,
+ <45533 13989 44546 44029 43592 43367 33164 44314>,
+ <46597 14183 44546 44013 43587 43369 36861 44292>,
+ <47093 13706 44550 43911 43595 43295 45396 44349>,
+ <46101 2616 44574 44008 43586 43268 45463 44309>,
+ <46577 2653 44562 44016 43607 43290 46905 44379>,
+ <35776 2120 44573 44021 44000 43285 45839 41703>,
+ <35111 4019 44651 44023 43872 43336 48949 41545>,
+ <36662 3523 44564 43604 43218 44073 42138 41879>,
+ <36282 937 44666 43576 43065 43488 41623 41555>;
+ };
+
+ qcom,bp-c-table-5 {
+ qcom,temperature = <25>;
+ qcom,nrows = <29>;
+ qcom,ncols = <8>;
+ qcom,conv-factor = <10000 10000 10000 10000 10000 100000 100000 10000>;
+ qcom,data = <43690 57242 43332 43718 43763 43378 46676 44985>,
+ <43705 53797 43329 43712 43763 44712 46710 44963>,
+ <43661 53505 43341 43725 43762 44672 46649 44629>,
+ <43664 54470 43342 43726 43773 44792 46721 44636>,
+ <43748 10774 43339 43720 43773 44755 45338 44614>,
+ <43723 10280 43380 43722 43772 44597 45443 44617>,
+ <43554 11850 43378 43761 43775 44623 45199 44665>,
+ <43644 8866 43367 43774 43769 45042 46057 44573>,
+ <43922 8269 43368 43770 43770 44818 46020 44554>,
+ <43883 10093 43283 43769 43746 44874 46300 44581>,
+ <43255 15017 43289 43749 43755 44267 35516 44753>,
+ <43128 14883 43288 43668 43748 44088 48866 44766>,
+ <44783 14961 43291 43763 43757 44915 36601 44589>,
+ <44226 14502 43268 43733 43770 44193 64491 44571>,
+ <41107 16044 43276 43565 43766 44884 63795 44561>,
+ <42372 16318 43312 43571 43720 44857 63606 44643>,
+ <47409 15380 43301 43577 43582 45042 33472 44609>,
+ <48281 12949 43298 43570 43545 44804 61244 44962>,
+ <45800 12515 43307 43558 43724 44812 58642 44599>,
+ <45943 12741 43472 43562 43722 44959 35952 44579>,
+ <45533 13859 43474 43533 43735 45034 39071 44647>,
+ <46597 13344 43472 43561 43728 44966 35574 44546>,
+ <47093 13615 43478 43743 43741 44634 45953 44594>,
+ <46101 2620 43473 43576 43740 44978 35216 44575>,
+ <46577 2982 43473 43568 43740 44935 35895 44567>,
+ <35776 2438 43475 43531 43560 44929 36356 44645>,
+ <35111 4050 43474 43532 43547 44954 35561 44975>,
+ <36662 3427 43473 43582 43603 45036 45867 44945>,
+ <36282 975 43472 43723 43960 44931 42369 44980>;
+ };
+
+ qcom,bp-c-table-6 {
+ qcom,temperature = <40>;
+ qcom,nrows = <29>;
+ qcom,ncols = <8>;
+ qcom,conv-factor = <10000 10000 10000 10000 10000 100000 100000 10000>;
+ qcom,data = <43690 57242 43505 43765 43675 44739 58612 44734>,
+ <43705 53966 43507 43767 43672 44606 58146 44709>,
+ <43661 53746 43517 43761 43672 44650 61420 44704>,
+ <43664 55133 43519 43763 43672 44615 60222 44716>,
+ <43748 10886 43513 43773 43673 44976 38086 44715>,
+ <43723 11080 43515 43775 43673 45039 37222 43351>,
+ <43554 11924 43495 43771 43673 44862 37542 43358>,
+ <43644 11736 43490 43751 43673 44202 40166 43341>,
+ <43922 8444 43497 43744 43674 44258 38461 43382>,
+ <43883 10129 43413 43756 43674 44094 38631 43384>,
+ <43255 9512 43414 43755 43648 44120 60617 43368>,
+ <43128 14976 43409 43666 43662 44472 40898 43289>,
+ <44783 15069 43408 43758 43678 44051 60003 43364>,
+ <44226 15113 43411 43750 43750 44093 59439 43332>,
+ <41107 14650 43420 43774 43770 44224 65165 43346>,
+ <42372 15936 43397 43763 43748 44800 38880 43357>,
+ <47409 15366 43394 43713 43721 44903 39733 44726>,
+ <48281 12945 43406 43721 43557 44205 40872 44688>,
+ <45800 12433 43402 43761 43714 44270 60945 44713>,
+ <45943 12572 43446 43774 43753 44908 40456 43385>,
+ <45533 13949 43440 43727 43723 44854 40753 44715>,
+ <46597 13367 43440 43749 43771 44922 35253 43377>,
+ <47093 13773 43441 43748 43750 44923 34973 43389>,
+ <46101 2603 43440 43764 43769 44811 34575 43334>,
+ <46577 2981 43443 43722 43775 44852 33813 43354>,
+ <35776 2543 43452 43720 43767 44850 33075 43346>,
+ <35111 3848 43455 43715 43730 44802 33637 44721>,
+ <36662 3422 43454 43765 43530 44914 34945 44700>,
+ <36282 808 43449 43712 43765 44073 36789 43345>;
+ };
+
+ qcom,bp-c-table-7 {
+ qcom,temperature = <50>;
+ qcom,nrows = <29>;
+ qcom,ncols = <8>;
+ qcom,conv-factor = <10000 10000 10000 10000 10000 100000 100000 10000>;
+ qcom,data = <43690 57242 43415 43760 43651 44707 65307 43336>,
+ <43705 53993 43409 43762 43648 44776 63897 43381>,
+ <43661 53693 43408 43772 43649 44759 64131 43377>,
+ <43664 55092 43410 43769 43654 44560 58990 43378>,
+ <43748 54635 43421 43771 43654 44637 58265 43390>,
+ <43723 11226 43420 43749 43655 44953 61196 43387>,
+ <43554 10599 43417 43745 43653 44810 38392 43361>,
+ <43644 11680 43397 43759 43674 44167 36864 43370>,
+ <43922 9049 43398 43755 43674 44072 38762 43293>,
+ <43883 9841 43395 43668 43652 44132 60565 43268>,
+ <43255 9603 43405 43666 43651 44505 64189 43317>,
+ <43128 9539 43404 43654 43701 44304 38320 43299>,
+ <44783 14995 43404 43676 43678 44532 37230 43267>,
+ <44226 15345 43404 43671 43745 44471 59557 43373>,
+ <41107 14817 43401 43754 43749 44115 57646 43366>,
+ <42372 15972 43447 43745 43759 44219 61314 43360>,
+ <47409 15366 43452 43774 43764 44823 32791 43328>,
+ <48281 13038 43451 43772 43733 44214 39831 44718>,
+ <45800 12516 43428 43756 43760 44284 37974 43367>,
+ <45943 12665 43425 43759 43668 44209 38319 43270>,
+ <45533 14270 43427 43748 43769 44874 38717 43360>,
+ <46597 13355 43427 43744 43753 44871 37475 43294>,
+ <47093 13725 43427 43745 43755 44864 36926 43294>,
+ <46101 2768 43437 43770 43744 44870 36983 43370>,
+ <46577 2994 43436 43770 43750 44874 37629 43368>,
+ <35776 2559 43438 43774 43775 44905 40470 43364>,
+ <35111 3858 43435 43773 43739 44822 33978 43329>,
+ <36662 687 43093 43748 43582 44877 36384 44712>,
+ <36282 813 43088 43768 43723 44316 35572 43367>;
+ };
+
+ qcom,bp-d-table-0 {
+ qcom,temperature = <25>;
+ qcom,soc = < 0 19 39 58 78>,
+ < 97 136 214 312 449>,
+ < 605 722 1093 1640 2617>,
+ < 3886 5019 5683 6210 6621>,
+ < 7031 7343 7519 7871 8027>,
+ < 8554 9101 9628 10000>;
+ qcom,ocv = <28020 29554 30909 31906 32434>,
+ <32777 33252 34082 34943 35817>,
+ <36507 36768 36886 37109 37543>,
+ <37954 38397 38781 39283 39670>,
+ <39927 40519 40770 40989 41101>,
+ <41666 42257 42876 43360>;
+ };
+
+ qcom,bp-d-table-1 {
+ qcom,temperature = <(-20)>;
+ qcom,nrows = <29>;
+ qcom,ncols = <8>;
+ qcom,conv-factor = <10000 10000 10000 10000 10000 100000 100000 10000>;
+ qcom,data = <43690 55845 41409 21845 21845 43694 43705 21845>,
+ <43705 57283 41409 21845 21845 43695 43649 21845>,
+ <43661 53814 41409 21845 21845 43692 43774 21845>,
+ <43664 53319 41409 21845 21845 43692 43553 21845>,
+ <43748 54810 41423 21845 21845 43693 43641 21845>,
+ <43723 54402 41459 21845 21845 43692 43908 21845>,
+ <43554 10764 41360 386 63661 43692 43862 21845>,
+ <43644 11815 41045 55488 35741 43693 43379 30577>,
+ <43922 11521 40982 63723 47555 43692 44886 2459>,
+ <43883 8395 40961 40248 41338 43693 41911 56339>,
+ <43255 9955 41091 36084 44402 43682 42515 62276>,
+ <43128 10223 41131 35399 44101 43683 42773 64460>,
+ <44783 9704 41823 46673 41699 43683 42089 59385>,
+ <44226 14850 41143 48413 44295 43683 41448 60636>,
+ <41107 14470 41122 47597 44870 43683 41937 38251>,
+ <42372 14606 41812 42195 44615 43680 41542 37878>,
+ <47409 15985 41854 41448 44604 43680 41607 40513>,
+ <48281 16148 41794 41828 44585 43681 41726 38979>,
+ <45800 15381 41806 41905 44594 43686 41969 39793>,
+ <45943 15731 41798 41478 44633 43686 41207 39887>,
+ <45533 13236 41801 41648 44856 43687 41125 39843>,
+ <46597 12457 41803 44366 44825 43684 41587 39528>,
+ <47093 12368 41847 44357 44282 43684 41945 39914>,
+ <46101 13694 41835 41903 42479 43707 48631 37286>,
+ <46577 2623 41749 41916 47842 43707 45706 38580>,
+ <35776 2973 41829 41705 42094 43684 44421 36912>,
+ <35111 2462 41744 42345 41789 43705 41209 38706>,
+ <36662 3291 41803 47453 41798 43680 44262 61324>,
+ <36282 824 41130 49041 41026 43690 43690 57741>;
+ };
+
+ qcom,bp-d-table-2 {
+ qcom,temperature = <(-10)>;
+ qcom,nrows = <29>;
+ qcom,ncols = <8>;
+ qcom,conv-factor = <10000 10000 10000 10000 10000 100000 100000 10000>;
+ qcom,data = <43690 50529 41780 21845 21845 43695 43710 21845>,
+ <43705 56941 41780 21845 21845 43686 43649 21845>,
+ <43661 53781 41780 21845 21845 43707 43726 21845>,
+ <43664 53705 41786 21845 21845 43705 43639 21845>,
+ <43748 55191 41926 21845 21845 43705 43783 21845>,
+ <43723 54284 41887 26259 21845 43706 43084 21845>,
+ <43554 10827 41570 57991 33374 43683 44899 13506>,
+ <43644 11872 41693 34887 41483 43693 41148 58785>,
+ <43922 8945 41723 45501 44208 43683 42555 59581>,
+ <43883 8511 41617 48394 44812 43683 42113 38905>,
+ <43255 10081 41616 48662 45012 43683 47757 37739>,
+ <43128 9325 41620 47175 45045 43683 47861 40400>,
+ <44783 14980 41610 47875 44222 43680 42894 40088>,
+ <44226 15283 41655 42088 44658 43680 41019 39731>,
+ <41107 14547 41612 40973 43366 43681 41203 33074>,
+ <42372 14666 41636 44169 43504 43685 41934 36413>,
+ <47409 15952 41614 44693 43437 43711 41572 35331>,
+ <48281 15535 41661 43367 43452 43703 40975 46479>,
+ <45800 15822 41647 43281 43387 43661 42933 46164>,
+ <45943 12863 41660 43314 44773 43673 42509 46146>,
+ <45533 13183 41609 43470 44759 43714 41320 46141>,
+ <46597 12703 41656 44685 44644 43848 46238 46364>,
+ <47093 14042 41634 44693 44831 43198 35723 35713>,
+ <46101 2988 44380 43499 47654 43534 47325 32959>,
+ <46577 3026 44383 43403 47882 43724 42882 32895>,
+ <35776 2975 41639 43307 41368 43771 44987 36726>,
+ <35111 3791 41637 41594 44489 43612 47500 33289>,
+ <36662 3194 44373 44431 44116 43624 43080 33297>,
+ <36282 806 44381 43232 41661 43649 43690 33325>;
+ };
+
+ qcom,bp-d-table-3 {
+ qcom,temperature = <0>;
+ qcom,nrows = <29>;
+ qcom,ncols = <8>;
+ qcom,conv-factor = <10000 10000 10000 10000 10000 100000 100000 10000>;
+ qcom,data = <43690 50372 44353 21845 21845 43695 43710 21845>,
+ <43705 57283 44353 21845 21845 43706 43651 21845>,
+ <43661 54080 44352 21845 21845 43710 43767 21845>,
+ <43664 54960 44390 21845 21845 43705 43833 21845>,
+ <43748 55060 44326 20286 21845 43706 43351 21845>,
+ <43723 54697 44523 8575 21845 43687 44153 21845>,
+ <43554 11163 44149 45557 41969 43683 40987 59942>,
+ <43644 12268 44132 48903 44256 43683 41247 40065>,
+ <43922 8812 44055 47152 44840 43683 42691 39684>,
+ <43883 9907 44055 42216 44970 43680 42793 33116>,
+ <43255 9257 44086 41051 44639 43686 42381 36297>,
+ <43128 9715 44088 41774 44651 43687 42165 36436>,
+ <44783 14980 44069 41632 44713 43685 41084 34994>,
+ <44226 15283 44072 44620 43468 43699 41436 45364>,
+ <41107 14462 44078 43247 43096 43761 41254 48684>,
+ <42372 14663 44241 44008 43855 43946 41385 47752>,
+ <47409 16281 44235 43946 43899 43992 41413 41992>,
+ <48281 15459 44275 43985 43177 43085 48564 42109>,
+ <45800 13044 44278 43898 43217 43307 45390 42432>,
+ <45943 13097 44233 43841 43056 43487 45412 42281>,
+ <45533 12396 44287 43863 43054 43412 47092 42489>,
+ <46597 13455 44268 43144 41636 43507 46025 48762>,
+ <47093 13798 44267 43246 41974 43510 48267 48266>,
+ <46101 13662 44267 43124 44571 43041 42674 47342>,
+ <46577 2789 44264 43076 43384 43200 41381 48070>,
+ <35776 2249 44256 43229 43274 43134 47578 48041>,
+ <35111 3588 44256 43228 43437 43013 47562 47678>,
+ <36662 3472 44265 43198 43011 43114 47227 47750>,
+ <36282 980 44181 43897 43040 43100 47147 42319>;
+ };
+
+ qcom,bp-d-table-4 {
+ qcom,temperature = <10>;
+ qcom,nrows = <29>;
+ qcom,ncols = <8>;
+ qcom,conv-factor = <10000 10000 10000 10000 10000 100000 100000 10000>;
+ qcom,data = <43690 51163 44874 51317 21845 43695 43708 21845>,
+ <43705 55613 44874 64906 21845 43698 43636 21845>,
+ <43661 53829 44874 57837 21845 43679 43162 21845>,
+ <43664 54785 44874 60052 56852 43762 43376 29256>,
+ <43748 54323 44912 40533 38120 43555 44277 11699>,
+ <43723 54611 44911 35962 35922 43634 41066 62404>,
+ <43554 11097 44833 41332 41454 43823 48856 35640>,
+ <43644 12252 45045 43397 44689 43875 48244 47349>,
+ <43922 8820 45050 43053 43496 43850 48900 42268>,
+ <43883 9961 45035 43182 43056 43167 48201 42964>,
+ <43255 9333 44954 43886 43063 43045 48146 42504>,
+ <43128 9578 44955 43805 43041 43011 48180 42750>,
+ <44783 14999 44936 44013 43879 43149 47866 41069>,
+ <44226 15256 44939 43960 43990 43433 48721 41832>,
+ <41107 14462 44986 43549 43913 43510 47298 41530>,
+ <42372 16045 44973 43540 43590 44761 45578 41651>,
+ <47409 16231 44639 43630 43606 44546 48572 44353>,
+ <48281 15843 44638 43643 43966 44595 45772 44379>,
+ <45800 12823 44608 43607 44029 44757 46718 41724>,
+ <45943 13124 44608 43958 43795 44746 46866 41596>,
+ <45533 12766 44623 43926 43210 44698 46792 41787>,
+ <46597 13469 44656 43800 43394 43368 47963 41080>,
+ <47093 13805 44669 43879 43500 43321 42473 41376>,
+ <46101 2737 44662 43970 43868 43458 47973 41931>,
+ <46577 2594 44663 44024 43779 43471 47119 41903>,
+ <35776 2079 44656 44013 43987 43460 47382 41598>,
+ <35111 3666 44618 43936 44031 43298 47241 41518>,
+ <36662 3521 44662 43605 44015 43385 48696 41682>,
+ <36282 990 44665 43913 44000 44710 45581 41527>;
+ };
+
+ qcom,bp-d-table-5 {
+ qcom,temperature = <25>;
+ qcom,nrows = <29>;
+ qcom,ncols = <8>;
+ qcom,conv-factor = <10000 10000 10000 10000 10000 100000 100000 10000>;
+ qcom,data = <43690 51166 44775 47124 21845 43693 43709 21845>,
+ <43705 55768 44775 42052 21845 43629 44600 21845>,
+ <43661 53783 44775 41259 21845 43987 41550 21845>,
+ <43664 54792 44775 41501 61566 43196 42926 50758>,
+ <43748 54296 44769 44058 42233 43056 48033 45433>,
+ <43723 10915 44689 44659 41117 43444 48945 48852>,
+ <43554 11086 44717 43849 45025 44716 46210 41271>,
+ <43644 12168 43343 43548 43241 44764 35739 44523>,
+ <43922 8917 43382 43569 44012 44547 35662 44210>,
+ <43883 8515 43365 43554 43593 44988 35035 44838>,
+ <43255 9265 43372 43741 43644 45034 46786 45047>,
+ <43128 9482 43374 43566 43602 45013 46325 44832>,
+ <44783 15036 43371 43767 43558 45011 48146 44634>,
+ <44226 14943 43287 43774 43732 44830 48165 44644>,
+ <41107 14349 43282 43772 43738 44804 45963 44562>,
+ <42372 16104 43271 43737 43582 44926 36856 44609>,
+ <47409 16215 43316 43774 43564 44894 48867 44547>,
+ <48281 15831 43325 43762 43580 44861 48983 44569>,
+ <45800 13273 43320 43572 43912 45050 47025 44833>,
+ <45943 12380 43322 43549 43835 44981 45972 44217>,
+ <45533 12637 43303 43534 43950 44554 48740 45022>,
+ <46597 13549 43308 43538 43604 44773 48921 45008>,
+ <47093 13800 43311 43542 43602 44779 49021 45008>,
+ <46101 2743 43311 43552 43628 44746 47348 44985>,
+ <46577 2599 43311 43733 43551 44739 47972 44638>,
+ <35776 2152 43310 43730 43575 44582 48877 44666>,
+ <35111 4027 43310 43772 43529 44971 42101 44568>,
+ <36662 3542 43308 43769 43568 45054 42333 44546>,
+ <36282 970 43309 43761 43553 45012 47510 44568>;
+ };
+
+ qcom,bp-d-table-6 {
+ qcom,temperature = <40>;
+ qcom,nrows = <29>;
+ qcom,ncols = <8>;
+ qcom,conv-factor = <10000 10000 10000 10000 10000 100000 100000 10000>;
+ qcom,data = <43690 51194 43317 43723 21845 43904 43699 21845>,
+ <43705 55597 43317 43433 21845 43858 44606 21845>,
+ <43661 53857 43317 44608 21845 43009 41891 21845>,
+ <43664 54971 43317 44840 43003 43402 42967 48409>,
+ <43748 55122 43325 44623 41934 43470 47118 48114>,
+ <43723 54745 43308 43277 44139 43275 45814 42567>,
+ <43554 11017 43466 43944 43384 44707 35608 41661>,
+ <43644 12196 43515 43725 43983 44640 35080 45034>,
+ <43922 8933 43495 43764 43549 45017 35968 44591>,
+ <43883 8451 43501 43750 43562 44206 35810 44702>,
+ <43255 9457 43502 43745 43576 44228 46407 44779>,
+ <43128 9716 43497 43768 43647 44266 46648 44576>,
+ <44783 9572 43496 43753 43773 44229 36065 43345>,
+ <44226 14901 43498 43752 43775 44067 33852 43359>,
+ <41107 14564 43415 43754 43746 44071 39629 43337>,
+ <42372 16023 43423 43754 43735 44087 35414 44730>,
+ <47409 15530 43393 43752 43762 44272 35657 43337>,
+ <48281 15656 43404 43747 43764 44882 35074 43334>,
+ <45800 13269 43400 43721 43618 44855 46400 44762>,
+ <45943 12730 43402 43717 43614 44840 45218 44545>,
+ <45533 14004 43445 43764 43573 44629 45722 44777>,
+ <46597 13474 43446 43725 43533 44665 45641 44793>,
+ <47093 13389 43441 43715 43522 44645 45991 44796>,
+ <46101 13640 43443 43768 43735 44980 48200 44709>,
+ <46577 2762 43442 43750 43738 44948 48336 43345>,
+ <35776 2098 43452 43750 43722 44838 45237 43340>,
+ <35111 3676 43454 43746 43760 44803 45373 43379>,
+ <36662 3569 43454 43747 43774 44828 46449 43384>,
+ <36282 900 43454 43744 43768 44830 35264 43385>;
+ };
+
+ qcom,bp-d-table-7 {
+ qcom,temperature = <50>;
+ qcom,nrows = <29>;
+ qcom,ncols = <8>;
+ qcom,conv-factor = <10000 10000 10000 10000 10000 100000 100000 10000>;
+ qcom,data = <43690 51120 43482 43723 21845 43917 43696 21845>,
+ <43705 55378 43482 43228 21845 43244 44765 21845>,
+ <43661 56668 43482 43346 24109 43423 41585 21159>,
+ <43664 53659 43482 44743 41335 43294 42982 48852>,
+ <43748 55195 43456 43333 41722 43382 47309 42416>,
+ <43723 54370 43511 43098 44877 43356 45742 41469>,
+ <43554 11136 43496 43641 43414 44726 35620 44432>,
+ <43644 11793 43410 43766 43926 44646 36626 44613>,
+ <43922 11605 43423 43775 43532 44855 33761 44773>,
+ <43883 8703 43419 43758 43743 44170 35271 44717>,
+ <43255 9378 43396 43668 43561 44090 46107 44705>,
+ <43128 9610 43399 43747 43635 44034 46844 44742>,
+ <44783 9529 43399 43666 43775 44116 36331 43385>,
+ <44226 15093 43393 43676 43762 44430 39369 43384>,
+ <41107 14501 43395 43674 43745 44433 39567 43287>,
+ <42372 16024 43403 43672 43743 44489 46412 43337>,
+ <47409 16209 43442 43676 43770 44142 36065 43282>,
+ <48281 15829 43448 43667 43774 44283 36585 43286>,
+ <45800 13278 43431 43744 43535 44800 46795 44727>,
+ <45943 12724 43425 43774 43631 44998 45964 44768>,
+ <45533 14071 43424 43748 43565 44993 45928 44718>,
+ <46597 14205 43426 43768 43552 44982 45526 44707>,
+ <47093 13363 43436 43768 43552 44961 45429 44707>,
+ <46101 13675 43438 43752 43724 45001 45164 43384>,
+ <46577 2810 43438 43754 43767 45009 45137 43374>,
+ <35776 2093 43432 43755 43771 44814 35455 43292>,
+ <35111 3651 43435 43752 43745 44851 36039 43269>,
+ <36662 3552 43093 43667 43751 44276 35743 43279>,
+ <36282 954 43092 43674 43771 44148 48769 43318>;
+ };
+};
diff --git a/qcom/qbg-battery-profile-qrd-zwd-520mAh.dtsi b/qcom/qbg-battery-profile-qrd-zwd-520mAh.dtsi
new file mode 100755
index 00000000..3661ca66
--- /dev/null
+++ b/qcom/qbg-battery-profile-qrd-zwd-520mAh.dtsi
@@ -0,0 +1,637 @@
+qcom,qbg-battery-profile-qrd-zwd-520mAh {
+ qcom,battery-type = "QRD_ZWD_520MAH";
+ qcom,batt-id-kohm = <33>;
+ qcom,capacity = <503>;
+ qcom,battery-beta = <4250>;
+ qcom,battery-therm-kohm = <100>;
+ qcom,max-voltage-uv = <4350000>;
+ qcom,fastchg-current-ma = <1040>;
+ qcom,checksum = <4295719>; /*@5, 0.005V, 4% */
+ qcom,soh-range = <0 100>;
+ /* Nominal_Impedance in 10nohm @ SOC 50% 25C* 0:fresh cell, 1: aged cell */
+ qcom,battery-impedance = <63931000 127862000>;
+ /* Nominal_Capacity in mAh. 0: fresh cell, 1:aged cell */
+ qcom,battery-capacity = <477 377>;
+ /* SOC delta (in percent) dropped from EOC SOC to enable recharge */
+ qcom,recharge-soc-delta =<5>;
+ /* vfloat delta (in mV) dropped from regular vfloat in recharge */
+ qcom,recharge-vflt-delta =<50>;
+ /* Termination current (in mA) in recharge */
+ qcom,recharge-iterm-ma = <10>;
+
+ qcom,jeita-fcc-ranges = <0 150 156000
+ 151 435 1040000
+ 436 445 800000
+ 446 450 650000>;
+
+ qcom,jeita-fv-ranges = <0 150 4300000
+ 151 435 4350000
+ 436 445 4350000
+ 446 450 4350000>;
+
+ /* COOL = 15 DegC, WARM = 45 DegC */
+ qcom,jeita-soft-thresholds = <0x27c1 0x128c>;
+ /* COLD = 0 DegC, HOT = 45.1 DegC */
+ qcom,jeita-hard-thresholds = <0x3257 0x127e>;
+ /* COOL = 18 DegC, WARM = 44 DegC*/
+ qcom,jeita-soft-hys-thresholds = <0x256e 0x131c>;
+ qcom,step-jeita-hysteresis = <5 5>;
+ qcom,jeita-soft-fcc-ua = <156000 520000>;
+ qcom,jeita-soft-fv-uv = <4300000 4300000>;
+
+ qcom,bp-c-table-0 {
+ qcom,temperature = <25>;
+ qcom,soc = < 0 39 78 97 136>,
+ < 195 292 410 585 722>,
+ < 917 1347 1777 2207 2636>,
+ < 3066 3496 3925 4355 4785>,
+ < 5214 5644 6074 6503 6933>,
+ < 7363 7714 7968 8398 8828>,
+ < 9257 9687 10000>;
+ qcom,ocv = <30000 31558 32793 33239 33837>,
+ <34450 35224 35898 36621 36960>,
+ <37035 37138 37388 37663 37892>,
+ <38079 38213 38351 38505 38683>,
+ <38898 39150 39436 39808 40303>,
+ <40790 41083 41316 41735 42171>,
+ <42614 43061 43361>;
+ };
+
+ qcom,bp-c-table-1 {
+ qcom,temperature = <(-20)>;
+ qcom,nrows = <33>;
+ qcom,ncols = <8>;
+ qcom,conv-factor = <10000 10000 10000 10000 10000 100000 100000 10000>;
+ qcom,data = <43690 57242 46249 43823 42806 43710 43528 63481>,
+ <43661 53696 46923 43968 42940 43711 43581 61818>,
+ <43748 10968 46957 44004 42559 43708 43578 61693>,
+ <43723 10488 46871 44011 42748 43709 43559 62219>,
+ <43554 11874 46853 43917 41291 43698 43554 62183>,
+ <43625 11653 46863 43944 41443 43697 43567 64560>,
+ <43918 8326 46959 43625 41011 43659 43555 65029>,
+ <43824 9826 46947 43521 41801 43663 43571 63926>,
+ <43235 9533 46877 43554 41474 43654 43523 64121>,
+ <43128 14970 46226 43714 41666 43679 43530 58694>,
+ <43327 15254 46921 43738 41551 43673 43535 64158>,
+ <45033 15227 46855 43560 41806 43652 43548 64432>,
+ <44123 14462 46153 43581 40975 43649 43625 64304>,
+ <41525 14716 46966 43582 41354 43649 43539 64323>,
+ <41190 15933 46306 43631 42710 43662 43617 64313>,
+ <41296 16266 46933 43136 42601 43656 43916 64487>,
+ <42754 16162 46939 44544 42664 43654 43869 64483>,
+ <42495 16192 46875 44079 41436 43664 43097 64508>,
+ <48041 15555 46710 44477 41240 43669 43267 64440>,
+ <47131 15449 46679 44333 42738 43759 44588 64440>,
+ <48884 15669 46610 44354 42532 43768 45005 64069>,
+ <48294 13014 46812 41619 42535 43764 44263 64146>,
+ <48400 13256 46819 41505 42501 43714 44490 58677>,
+ <46029 12514 46783 41890 42767 43719 44399 64505>,
+ <45503 12744 46805 41837 42275 43716 44515 64740>,
+ <46697 14216 46900 41082 47831 43717 44236 62641>,
+ <46216 13396 46370 41282 47713 43738 44835 52442>,
+ <46474 13648 46400 42707 47876 43739 44653 49493>,
+ <35428 3037 35486 42605 47434 43736 43307 57045>,
+ <35030 2476 35739 42498 48155 43716 43009 55120>,
+ <36483 3592 35625 42702 45888 43770 43194 8928>,
+ <36733 3273 35768 44271 46636 43710 43939 9217>,
+ <36282 3381 35760 43042 45296 43680 43580 14429>;
+ };
+
+ qcom,bp-c-table-2 {
+ qcom,temperature = <(-10)>;
+ qcom,nrows = <33>;
+ qcom,ncols = <8>;
+ qcom,conv-factor = <10000 10000 10000 10000 10000 100000 100000 10000>;
+ qcom,data = <43690 57242 46249 43823 42806 43710 43528 63481>,
+ <43661 53696 46923 43968 42940 43711 43581 61818>,
+ <43748 10968 46957 44004 42559 43708 43578 61693>,
+ <43723 10488 46871 44011 42748 43709 43559 62219>,
+ <43554 11874 46853 43917 41291 43698 43554 62183>,
+ <43625 11653 46863 43944 41443 43697 43567 64560>,
+ <43918 8326 46959 43625 41011 43659 43555 65029>,
+ <43824 9826 46947 43521 41801 43663 43571 63926>,
+ <43235 9533 46877 43554 41474 43654 43523 64121>,
+ <43128 14970 46226 43714 41666 43679 43530 58694>,
+ <43327 15254 46921 43738 41551 43673 43535 64158>,
+ <45033 15227 46855 43560 41806 43652 43548 64432>,
+ <44123 14462 46153 43581 40975 43649 43625 64304>,
+ <41525 14716 46966 43582 41354 43649 43539 64323>,
+ <41190 15933 46306 43631 42710 43662 43617 64313>,
+ <41296 16266 46933 43136 42601 43656 43916 64487>,
+ <42754 16162 46939 44544 42664 43654 43869 64483>,
+ <42495 16192 46875 44079 41436 43664 43097 64508>,
+ <48041 15555 46710 44477 41240 43669 43267 64440>,
+ <47131 15449 46679 44333 42738 43759 44588 64440>,
+ <48884 15669 46610 44354 42532 43768 45005 64069>,
+ <48294 13014 46812 41619 42535 43764 44263 64146>,
+ <48400 13256 46819 41505 42501 43714 44490 58677>,
+ <46029 12514 46783 41890 42767 43719 44399 64505>,
+ <45503 12744 46805 41837 42275 43716 44515 64740>,
+ <46697 14216 46900 41082 47831 43717 44236 62641>,
+ <46216 13396 46370 41282 47713 43738 44835 52442>,
+ <46474 13648 46400 42707 47876 43739 44653 49493>,
+ <35428 3037 35486 42605 47434 43736 43307 57045>,
+ <35030 2476 35739 42498 48155 43716 43009 55120>,
+ <36483 3592 35625 42702 45888 43770 43194 8928>,
+ <36733 3273 35768 44271 46636 43710 43939 9217>,
+ <36282 3381 35760 43042 45296 43680 43580 14429>;
+ };
+
+ qcom,bp-c-table-3 {
+ qcom,temperature = <0>;
+ qcom,nrows = <33>;
+ qcom,ncols = <8>;
+ qcom,conv-factor = <10000 10000 10000 10000 10000 100000 100000 10000>;
+ qcom,data = <43690 57242 46249 43823 42806 43710 43528 63481>,
+ <43661 53696 46923 43968 42940 43711 43581 61818>,
+ <43748 10968 46957 44004 42559 43708 43578 61693>,
+ <43723 10488 46871 44011 42748 43709 43559 62219>,
+ <43554 11874 46853 43917 41291 43698 43554 62183>,
+ <43625 11653 46863 43944 41443 43697 43567 64560>,
+ <43918 8326 46959 43625 41011 43659 43555 65029>,
+ <43824 9826 46947 43521 41801 43663 43571 63926>,
+ <43235 9533 46877 43554 41474 43654 43523 64121>,
+ <43128 14970 46226 43714 41666 43679 43530 58694>,
+ <43327 15254 46921 43738 41551 43673 43535 64158>,
+ <45033 15227 46855 43560 41806 43652 43548 64432>,
+ <44123 14462 46153 43581 40975 43649 43625 64304>,
+ <41525 14716 46966 43582 41354 43649 43539 64323>,
+ <41190 15933 46306 43631 42710 43662 43617 64313>,
+ <41296 16266 46933 43136 42601 43656 43916 64487>,
+ <42754 16162 46939 44544 42664 43654 43869 64483>,
+ <42495 16192 46875 44079 41436 43664 43097 64508>,
+ <48041 15555 46710 44477 41240 43669 43267 64440>,
+ <47131 15449 46679 44333 42738 43759 44588 64440>,
+ <48884 15669 46610 44354 42532 43768 45005 64069>,
+ <48294 13014 46812 41619 42535 43764 44263 64146>,
+ <48400 13256 46819 41505 42501 43714 44490 58677>,
+ <46029 12514 46783 41890 42767 43719 44399 64505>,
+ <45503 12744 46805 41837 42275 43716 44515 64740>,
+ <46697 14216 46900 41082 47831 43717 44236 62641>,
+ <46216 13396 46370 41282 47713 43738 44835 52442>,
+ <46474 13648 46400 42707 47876 43739 44653 49493>,
+ <35428 3037 35486 42605 47434 43736 43307 57045>,
+ <35030 2476 35739 42498 48155 43716 43009 55120>,
+ <36483 3592 35625 42702 45888 43770 43194 8928>,
+ <36733 3273 35768 44271 46636 43710 43939 9217>,
+ <36282 3381 35760 43042 45296 43680 43580 14429>;
+ };
+
+ qcom,bp-c-table-4 {
+ qcom,temperature = <10>;
+ qcom,nrows = <33>;
+ qcom,ncols = <8>;
+ qcom,conv-factor = <10000 10000 10000 10000 10000 100000 100000 10000>;
+ qcom,data = <43690 57242 48492 43621 41539 43657 43521 38680>,
+ <43661 53705 48409 43543 41519 43661 43523 38594>,
+ <43748 10994 48432 43522 41614 43654 43523 37248>,
+ <43723 10371 48422 43572 44383 43653 43523 36920>,
+ <43554 11813 48600 43555 44340 43679 43521 37855>,
+ <43625 11358 48638 43739 44442 43671 43525 37551>,
+ <43918 9053 48528 43762 44062 43744 43536 40160>,
+ <43824 9776 48590 43757 44286 43773 43625 40543>,
+ <43235 9692 48237 43703 44906 43520 43618 39212>,
+ <43128 14873 48213 43705 44843 43596 43541 39122>,
+ <43327 15266 48178 43707 44876 43911 43542 38973>,
+ <45033 15166 48573 43674 44039 43732 43636 39343>,
+ <44123 14390 48234 43753 44459 43720 43602 39340>,
+ <41525 14606 48515 43763 44451 43774 43936 38950>,
+ <41190 16087 48131 43771 44478 43761 43612 39798>,
+ <41296 15966 48129 44766 43333 43555 44865 39146>,
+ <42754 16372 48178 44808 43303 43582 41716 39147>,
+ <42495 16254 48344 44894 43386 43583 41778 39041>,
+ <48041 15566 48382 44265 44719 43583 41024 39092>,
+ <47131 15794 48318 44066 44684 43580 42738 39083>,
+ <48884 12972 48292 44094 43348 43576 41408 39879>,
+ <48294 13237 48266 44091 43386 43559 41929 39494>,
+ <48400 12522 48311 44046 43378 43555 44358 39453>,
+ <46029 12786 48903 44452 44697 43552 44308 39499>,
+ <45503 13879 48958 44482 44557 43556 44354 39883>,
+ <46697 13316 49105 44033 44632 43555 44547 39743>,
+ <46216 2730 48904 44122 44809 43555 44729 39403>,
+ <46474 2683 48987 44530 44243 43552 43348 40812>,
+ <35428 2303 48309 44319 44307 43553 43282 37756>,
+ <35030 2373 48257 44365 41878 43556 43272 38299>,
+ <36483 3847 48266 44614 42982 43730 43221 61356>,
+ <36733 3536 48302 43756 47846 43753 43598 57367>,
+ <36282 513 48308 43769 42998 43667 43547 58712>;
+ };
+
+ qcom,bp-c-table-5 {
+ qcom,temperature = <25>;
+ qcom,nrows = <33>;
+ qcom,ncols = <8>;
+ qcom,conv-factor = <10000 10000 10000 10000 10000 100000 100000 10000>;
+ qcom,data = <43690 57242 42192 43128 43244 43727 44594 46360>,
+ <43661 53740 42033 43027 43242 43719 44790 46504>,
+ <43748 10931 41985 43070 43163 43740 44676 46328>,
+ <43723 11133 41988 43050 43138 43728 44727 46934>,
+ <43554 11911 41989 43250 43196 43561 44713 47092>,
+ <43625 11320 41985 43136 43182 43559 43355 46603>,
+ <43918 9010 42202 43181 43858 43583 44711 45381>,
+ <43824 9872 42114 43199 43881 43575 44634 45547>,
+ <43235 9639 42864 43196 43827 43523 44916 45105>,
+ <43128 15050 42825 43815 43886 43551 43517 45891>,
+ <43327 14849 42844 43778 43903 43551 43504 45943>,
+ <45033 15288 42816 43063 43843 43527 41833 45265>,
+ <44123 14502 42850 43111 43167 43545 41290 45112>,
+ <41525 14773 42853 43072 43137 43543 42860 45186>,
+ <41190 16046 42779 43076 43156 43537 42902 45950>,
+ <41296 15893 42815 43110 43178 43550 41191 45652>,
+ <42754 16367 42968 43125 43180 43525 41810 45630>,
+ <42495 16229 42959 43103 43144 43520 41560 45766>,
+ <48041 15555 43002 43395 43259 43527 41895 45778>,
+ <47131 15793 42935 43463 43063 43538 41747 45679>,
+ <48884 15704 42923 43307 43405 43540 41763 45959>,
+ <48294 12868 42892 43307 43384 43628 41141 45835>,
+ <48400 12454 42939 43297 44789 43622 42133 45224>,
+ <46029 12586 42567 43298 43271 43642 42378 46003>,
+ <45503 14277 42584 43496 43204 43629 41437 48443>,
+ <46697 13820 42930 43089 43138 43547 44463 48615>,
+ <46216 2769 42890 43425 43222 43524 44241 48463>,
+ <46474 3022 42926 43392 43044 43547 44041 45697>,
+ <35428 2477 42573 43487 43008 43538 44505 45590>,
+ <35030 3601 42568 43271 43443 43551 44455 45926>,
+ <36483 3292 42565 43362 44582 43627 44872 46658>,
+ <36733 671 42898 43497 44078 43540 44672 35344>,
+ <36282 971 42578 43043 44115 43553 43059 35054>;
+ };
+
+ qcom,bp-c-table-6 {
+ qcom,temperature = <40>;
+ qcom,nrows = <33>;
+ qcom,ncols = <8>;
+ qcom,conv-factor = <10000 10000 10000 10000 10000 100000 100000 10000>;
+ qcom,data = <43690 57242 41793 43858 43922 43542 41226 47804>,
+ <43661 53646 41849 43895 43930 43631 41458 42348>,
+ <43748 54642 41747 43796 43906 43620 40993 42461>,
+ <43723 11042 41734 43781 43919 43641 41120 42491>,
+ <43554 10616 41791 43832 43956 43633 41890 42400>,
+ <43625 11416 41940 43993 43964 43599 41663 42014>,
+ <43918 9116 41951 44017 43943 43611 44291 42227>,
+ <43824 8574 41958 44022 43950 43615 41695 42114>,
+ <43235 9230 41880 44012 43939 43605 44373 42827>,
+ <43128 9555 41884 44008 43598 43947 41001 42763>,
+ <43327 15085 41880 44001 43634 43608 41407 42966>,
+ <45033 14863 41869 43822 43832 43615 41081 42215>,
+ <44123 15106 41899 43815 43801 43614 41253 42212>,
+ <41525 14441 41554 43786 43803 43609 42813 42115>,
+ <41190 14605 41567 43777 43885 43589 42861 42162>,
+ <41296 16114 41590 43795 43899 43590 42201 42152>,
+ <42754 16299 41494 43800 43823 43587 42961 42975>,
+ <42495 16179 41527 43799 43822 43596 42643 43003>,
+ <48041 15598 41517 43884 43824 43595 41122 43000>,
+ <47131 15776 41683 43854 43887 43633 41771 42960>,
+ <48884 15706 41669 43177 43169 43634 41964 42879>,
+ <48294 13225 41675 43179 43218 43647 44345 42118>,
+ <48400 12521 41721 43171 43082 43647 44405 42023>,
+ <46029 12654 41717 43176 43129 43636 42633 42183>,
+ <45503 14091 41718 43879 43781 43599 41290 42936>,
+ <46697 13810 41717 43792 44028 43596 41818 42502>,
+ <46216 2570 41674 43793 43995 43596 41893 42610>,
+ <46474 2866 41675 43883 43811 43587 41495 42924>,
+ <35428 2531 41664 43898 43794 43597 41723 42952>,
+ <35030 4014 41680 43842 43866 43593 41672 42872>,
+ <36483 3181 41512 43179 43251 43595 44369 42022>,
+ <36733 553 41478 43856 43305 43586 44882 47752>,
+ <36282 769 41691 43829 43494 43964 43315 42352>;
+ };
+
+ qcom,bp-c-table-7 {
+ qcom,temperature = <50>;
+ qcom,nrows = <33>;
+ qcom,ncols = <8>;
+ qcom,conv-factor = <10000 10000 10000 10000 10000 100000 100000 10000>;
+ qcom,data = <43690 57242 44354 44009 43908 43585 44092 41271>,
+ <43661 53331 44404 44014 43956 43611 44352 41434>,
+ <43748 54567 44411 44014 43936 43613 41958 41455>,
+ <43723 11167 44384 44009 43947 43600 41821 41370>,
+ <43554 10705 44311 44011 43588 43946 41357 41376>,
+ <43625 12145 44293 43926 43633 43949 42720 41075>,
+ <43918 8778 44303 43909 43623 43963 42544 41012>,
+ <43824 8491 44325 43906 43630 43966 42591 41177>,
+ <43235 9466 44504 43966 43616 43915 41225 41187>,
+ <43128 9497 44484 43610 43617 43930 41179 41144>,
+ <43327 15011 44535 43606 43550 43912 41989 41808>,
+ <45033 15053 44537 43955 43970 43913 41787 40978>,
+ <44123 15300 44513 43952 43974 43913 41169 40975>,
+ <41525 14372 44443 43913 43971 43913 42660 41017>,
+ <41190 14810 44467 43930 43811 43958 42710 41012>,
+ <41296 16010 44454 43921 43801 43964 42581 40978>,
+ <42754 15991 44120 43926 44000 43961 42210 41095>,
+ <42495 16340 44149 44013 44011 43939 42949 41149>,
+ <48041 15515 44140 44025 44027 43950 41275 41099>,
+ <47131 15787 44057 43983 43999 43605 41137 41196>,
+ <48884 15704 44044 43985 43780 43606 41552 40993>,
+ <48294 13216 44086 43810 43179 43600 44381 41032>,
+ <48400 12541 44095 43998 43233 43606 44468 41400>,
+ <46029 12623 44091 43983 43165 43607 41877 41033>,
+ <45503 14102 44094 43926 43932 43938 40990 41754>,
+ <46697 13762 44082 43917 43936 43942 41929 41950>,
+ <46216 2585 44081 43928 43959 43938 41957 41785>,
+ <46474 2817 44042 44001 43904 43948 40992 41832>,
+ <35428 2548 44033 44031 44024 43948 41100 41133>,
+ <35030 4021 44063 44031 43810 43950 41580 41191>,
+ <36483 3150 44143 43976 43892 43945 41648 41056>,
+ <36733 561 44152 43986 43218 43950 44124 41273>,
+ <36282 791 44033 43971 43227 44003 44622 41470>;
+ };
+
+ qcom,bp-d-table-0 {
+ qcom,temperature = <25>;
+ qcom,soc = < 0 39 78 97 136>,
+ < 195 292 410 585 722>,
+ < 917 1347 1777 2207 2636>,
+ < 3066 3496 3925 4355 4785>,
+ < 5214 5644 6074 6503 6933>,
+ < 7363 7714 7968 8398 8828>,
+ < 9257 9687 10000>;
+ qcom,ocv = <30573 31378 32148 32511 33171>,
+ <33946 34784 35511 36281 36628>,
+ <36800 36904 37089 37320 37504>,
+ <37676 37863 38059 38243 38435>,
+ <38653 38912 39204 39552 40019>,
+ <40572 40908 41136 41558 42004>,
+ <42457 42948 43345>;
+ };
+
+ qcom,bp-d-table-1 {
+ qcom,temperature = <(-20)>;
+ qcom,nrows = <33>;
+ qcom,ncols = <8>;
+ qcom,conv-factor = <10000 10000 10000 10000 10000 100000 100000 10000>;
+ qcom,data = <43690 54254 59705 21845 21845 43691 43699 21845>,
+ <43661 53723 59506 21845 21845 43691 43705 21845>,
+ <43748 55249 60243 21845 21845 43691 43697 21845>,
+ <43723 54488 60202 21845 21845 43691 43662 21845>,
+ <43554 10900 59939 21845 21845 43690 43670 21845>,
+ <43625 10291 38323 21845 21845 43690 43738 21845>,
+ <43918 12097 38553 21845 10225 43690 43604 21845>,
+ <43824 8758 37091 21845 58409 43690 43998 21845>,
+ <43235 8578 37390 21845 36992 43690 43864 21845>,
+ <43128 9920 40220 21845 40738 43691 43191 21845>,
+ <43327 10090 40216 21845 40568 43691 43229 21845>,
+ <45033 9514 40151 24910 33285 43691 43017 21845>,
+ <44123 14884 40581 3528 35824 43691 43200 21845>,
+ <41525 15304 40648 12876 47073 43691 43232 21845>,
+ <41190 14500 39183 14356 45543 43691 43146 21845>,
+ <41296 14345 40480 9894 45193 43691 43862 21845>,
+ <42754 14750 40936 11355 46008 43691 43871 21845>,
+ <42495 14702 40544 10366 45750 43691 43862 21845>,
+ <48041 16122 40638 55123 48428 43691 43841 21845>,
+ <47131 15947 40911 54106 48220 43691 43889 21845>,
+ <48884 16340 40499 56417 48328 43691 43901 21845>,
+ <48294 15491 40593 55745 48308 43691 43875 21845>,
+ <48400 15450 40879 56134 48972 43691 43872 21845>,
+ <46029 15694 40788 56203 48974 43691 43899 21845>,
+ <45503 13236 40660 56235 48334 43691 43178 21845>,
+ <46697 12293 40931 55627 48468 43691 43256 21845>,
+ <46216 13989 40843 56529 45879 43691 43249 21845>,
+ <46474 14306 40874 54079 45366 43691 43230 21845>,
+ <35428 2786 40929 12141 36437 43691 44553 21845>,
+ <35030 2209 40450 9760 36155 43691 43205 21845>,
+ <36483 3734 40551 12780 36661 43691 43842 21845>,
+ <36733 3481 40093 7190 46961 43691 43842 21845>,
+ <36282 886 40262 24682 48397 43691 43863 21845>;
+ };
+
+ qcom,bp-d-table-2 {
+ qcom,temperature = <(-10)>;
+ qcom,nrows = <33>;
+ qcom,ncols = <8>;
+ qcom,conv-factor = <10000 10000 10000 10000 10000 100000 100000 10000>;
+ qcom,data = <43690 56785 40870 21845 21845 43689 43690 21845>,
+ <43661 53639 39288 21845 21845 43688 43686 21845>,
+ <43748 54465 39134 21845 21845 43691 43727 21845>,
+ <43723 54631 39702 21845 21845 43691 43574 21845>,
+ <43554 10411 39582 21845 4257 43690 43914 21845>,
+ <43625 11819 34602 26974 37269 43691 43260 21845>,
+ <43918 11530 33620 8320 45420 43691 43280 21845>,
+ <43824 8344 33308 54068 49087 43691 43355 21845>,
+ <43235 9830 33695 55743 48755 43691 44747 21845>,
+ <43128 9379 33734 56293 48564 43691 44772 21845>,
+ <43327 9601 33715 56096 45294 43691 44729 21845>,
+ <45033 15095 33664 52620 48552 43691 43130 21845>,
+ <44123 15247 33717 62952 47594 43691 43213 21845>,
+ <41525 15201 33336 62243 47621 43691 43240 21845>,
+ <41190 14543 33335 63815 42243 43691 43144 21845>,
+ <41296 14419 33311 58803 42064 43691 43185 21845>,
+ <42754 14624 33362 57662 42043 43691 43147 21845>,
+ <42495 16063 33675 60766 42235 43691 43196 21505>,
+ <48041 15880 33737 61161 42833 43688 43188 20700>,
+ <47131 16280 33401 60355 42849 43688 43175 23937>,
+ <48884 16255 33570 38384 42753 43688 43192 24481>,
+ <48294 15419 33384 38819 42855 43688 43169 22640>,
+ <48400 15659 33339 38632 42216 43688 43164 22529>,
+ <46029 12829 33334 38633 42487 43688 43059 24261>,
+ <45503 12420 33690 38502 47968 43691 43015 23934>,
+ <46697 12667 33618 38362 47447 43691 43046 22349>,
+ <46216 13552 33788 60619 46526 43691 44565 21845>,
+ <46474 13641 33355 57366 36553 43691 44914 21845>,
+ <35428 2987 32907 58944 34908 43691 43213 21845>,
+ <35030 2069 33751 64791 35577 43691 43239 21845>,
+ <36483 3701 33677 52525 46855 43691 43136 21845>,
+ <36733 3549 33573 53471 45549 43691 43876 21845>,
+ <36282 878 33000 9066 45827 43691 43835 21845>;
+ };
+
+ qcom,bp-d-table-3 {
+ qcom,temperature = <0>;
+ qcom,nrows = <33>;
+ qcom,ncols = <8>;
+ qcom,conv-factor = <10000 10000 10000 10000 10000 100000 100000 10000>;
+ qcom,data = <43690 53448 36742 21845 21845 43690 43690 21845>,
+ <43661 54856 36530 21845 18713 43690 43690 21845>,
+ <43748 54767 34937 23067 3610 43691 43554 21845>,
+ <43723 10959 34951 25029 10706 43691 43985 21845>,
+ <43554 10449 35409 8904 60678 43691 43411 21845>,
+ <43625 12199 46459 62192 46757 43691 44555 21845>,
+ <43918 8894 46468 64077 48883 43691 44620 21078>,
+ <43824 8223 46377 57543 47704 43691 44640 17971>,
+ <43235 10190 46102 59746 42343 43691 44974 19234>,
+ <43128 9229 46556 61372 47241 43691 44572 20215>,
+ <43327 9483 46343 60865 47384 43691 43339 19467>,
+ <45033 15059 46362 38238 42785 43691 43042 32143>,
+ <44123 15241 46544 37732 41001 43691 43261 26154>,
+ <41525 15206 46554 40612 41849 43688 43153 28185>,
+ <41190 14383 46108 33863 41821 43688 43218 5277>,
+ <41296 14727 46482 32977 41091 43688 43222 5027>,
+ <42754 14698 46588 35951 41140 43688 43223 7898>,
+ <42495 16108 46536 35289 41796 43688 43222 6792>,
+ <48041 15977 46520 35522 41801 43688 43153 1776>,
+ <47131 16356 46513 46216 41762 43688 43258 607>,
+ <48884 16196 46519 46735 41763 43688 43237 3111>,
+ <48294 15382 46515 45445 41849 43688 43045 3941>,
+ <48400 15712 46495 45262 41449 43688 43111 3214>,
+ <46029 13234 46487 45243 42826 43688 43128 716>,
+ <45503 12291 46511 46761 47791 43688 43106 1589>,
+ <46697 14209 46504 35167 45822 43688 44270 4509>,
+ <46216 13729 46190 36856 35348 43688 44977 27890>,
+ <46474 2738 46092 36017 35282 43688 43314 24610>,
+ <35428 3050 46498 32977 46316 43688 43191 26253>,
+ <35030 2490 46149 39096 46970 43688 43138 32343>,
+ <36483 3978 46198 38556 45388 43688 43187 29988>,
+ <36733 3375 46157 57970 48224 43691 43888 17212>,
+ <36282 822 46464 63920 48776 43691 43786 23160>;
+ };
+
+ qcom,bp-d-table-4 {
+ qcom,temperature = <10>;
+ qcom,nrows = <33>;
+ qcom,ncols = <8>;
+ qcom,conv-factor = <10000 10000 10000 10000 10000 100000 100000 10000>;
+ qcom,data = <43690 54128 46077 2519 53838 43688 43690 21845>,
+ <43661 54827 45661 8656 51542 43688 43659 21845>,
+ <43748 54691 45761 51143 57682 43688 43790 21845>,
+ <43723 10896 45706 62699 60085 43688 43200 21845>,
+ <43554 10432 48439 59762 33229 43688 43386 17457>,
+ <43625 12193 48610 39799 45453 43691 44630 27786>,
+ <43918 11607 48220 33115 47354 43688 45029 7998>,
+ <43824 8219 48338 36051 42020 43688 45017 820>,
+ <43235 10028 48140 35776 42995 43688 44832 2762>,
+ <43128 9339 48346 35267 42247 43688 44637 4029>,
+ <43327 9521 48367 36552 42842 43688 43477 3804>,
+ <45033 15077 48967 46812 44318 43688 43063 14644>,
+ <44123 15273 48338 49001 44468 43688 43034 9139>,
+ <41525 15178 48273 47709 44290 43689 43120 11219>,
+ <41190 14388 48373 42987 44406 43689 43128 53367>,
+ <41296 14742 48383 40999 44363 43694 43026 57248>,
+ <42754 14697 48348 41702 44388 43694 43055 50523>,
+ <42495 16110 48142 44095 44399 43695 43205 49438>,
+ <48041 15980 48255 44550 41606 43693 43144 52530>,
+ <47131 16368 48355 43408 41587 43683 43872 52912>,
+ <48884 15542 48187 43352 41510 43682 43045 51259>,
+ <48294 15780 48325 44789 41939 43682 43076 51254>,
+ <48400 12954 48352 44948 41229 43682 43425 51479>,
+ <46029 13266 48322 44308 42578 43682 43492 52384>,
+ <45503 12374 48284 41831 42146 43687 43402 49761>,
+ <46697 13498 48178 42588 46614 43733 44203 54838>,
+ <46216 13800 48329 42966 46744 43775 43387 54941>,
+ <46474 2729 48285 42844 45212 43670 43205 53550>,
+ <35428 2916 48256 48838 47420 43727 44660 54569>,
+ <35030 2517 48289 47421 48782 43749 43323 10389>,
+ <36483 4085 48284 48957 47386 43663 43219 12185>,
+ <36733 3391 48244 47001 48104 43690 43140 8708>,
+ <36282 990 48639 35657 42431 43690 43025 8667>;
+ };
+
+ qcom,bp-d-table-5 {
+ qcom,temperature = <25>;
+ qcom,nrows = <33>;
+ qcom,ncols = <8>;
+ qcom,conv-factor = <10000 10000 10000 10000 10000 100000 100000 10000>;
+ qcom,data = <43690 56775 47640 35996 39236 43753 43690 15573>,
+ <43661 53304 47855 46557 32848 43765 43956 10253>,
+ <43748 55102 42338 48239 35801 43717 43017 50882>,
+ <43723 54357 42273 47345 46711 43742 43471 52003>,
+ <43554 11065 42380 40989 48763 43730 44648 58416>,
+ <43625 11824 42054 44925 42771 43737 44207 38198>,
+ <43918 11594 42428 44545 41542 43773 44063 40239>,
+ <43824 8221 42202 44731 44083 43721 44439 39102>,
+ <43235 10003 42183 43277 44233 43743 44478 33808>,
+ <43128 9662 42129 43374 41662 43730 44883 39673>,
+ <43327 9578 42226 43484 44208 43740 45006 34565>,
+ <45033 14978 42226 43019 43088 43735 45012 36333>,
+ <44123 14923 42170 43049 43121 43558 44921 36769>,
+ <41525 15202 42123 43224 43130 43570 44816 35310>,
+ <41190 14378 42841 43218 43011 43530 44193 35657>,
+ <41296 14726 42146 43054 43118 43529 44287 35416>,
+ <42754 14669 42166 43020 43468 43533 44124 35454>,
+ <42495 15873 42841 43124 43356 43527 44401 35396>,
+ <48041 16329 42829 43083 43335 43551 44464 35490>,
+ <47131 15497 42853 43118 43270 43525 44880 46492>,
+ <48884 15447 42848 43024 43485 43522 45041 46126>,
+ <48294 12970 42862 43101 43301 43527 44284 46095>,
+ <48400 13198 42857 43405 43329 43524 44089 46571>,
+ <46029 12330 42856 43512 44619 43527 44882 35379>,
+ <45503 14073 42782 44689 44327 43542 44079 36491>,
+ <46697 13526 42846 44961 41473 43545 44550 35942>,
+ <46216 13670 42845 44615 44499 43522 44966 36674>,
+ <46474 2586 42841 44651 44273 43531 45043 36792>,
+ <35428 2300 42861 44791 44854 43572 45026 36397>,
+ <35030 3774 42160 44688 45053 43530 44922 36380>,
+ <36483 3955 42148 43389 44615 43574 45012 36574>,
+ <36733 3438 42949 43093 44689 43553 43286 35272>,
+ <36282 1019 42507 43231 43269 43733 43145 34830>;
+ };
+
+ qcom,bp-d-table-6 {
+ qcom,temperature = <40>;
+ qcom,nrows = <33>;
+ qcom,ncols = <8>;
+ qcom,conv-factor = <10000 10000 10000 10000 10000 100000 100000 10000>;
+ qcom,data = <43690 57067 47769 21845 21845 43570 43690 21845>,
+ <43661 53839 42899 21845 21845 43644 43838 21845>,
+ <43748 54856 41403 57454 21845 43606 43454 21845>,
+ <43723 54317 40998 41129 33239 43946 43373 61234>,
+ <43554 11148 41209 43367 48002 43589 44984 35138>,
+ <43625 11967 41096 43226 42945 43616 44095 46219>,
+ <43918 11669 41823 43180 41874 43630 44389 45999>,
+ <43824 9048 41749 43892 44933 43623 41690 48833>,
+ <43235 10144 41778 43804 43114 43639 41908 48100>,
+ <43128 9239 41728 43795 43479 43585 44107 47948>,
+ <43327 9505 41786 43786 43075 43610 44180 48058>,
+ <45033 9588 41940 44027 43821 43584 44327 42070>,
+ <44123 14885 41933 44026 43834 43602 41639 42001>,
+ <41525 15317 41875 44030 43834 43605 41520 42196>,
+ <41190 14575 41879 44019 43836 43614 41513 42216>,
+ <41296 14783 41864 43968 43847 43614 41689 42201>,
+ <42754 14674 41889 43817 43105 43602 41503 42374>,
+ <42495 15995 41890 43823 43409 43612 44307 42451>,
+ <48041 16184 41556 43813 43130 43608 44329 42054>,
+ <47131 15612 41592 43988 43161 43588 44038 42160>,
+ <48884 15773 41598 43818 43849 43610 44100 42856>,
+ <48294 12956 41574 43808 43896 43591 44422 42776>,
+ <48400 13303 41572 43838 43849 43596 44124 42875>,
+ <46029 12397 41597 43781 43223 43639 44268 41991>,
+ <45503 13834 41547 43150 43379 43623 44279 47665>,
+ <46697 13355 41564 43145 43321 43541 44616 47660>,
+ <46216 13681 41554 43144 43101 43630 44815 47798>,
+ <46474 2660 41556 43191 43064 43618 44186 42256>,
+ <35428 2264 41918 43880 43248 43619 44661 42488>,
+ <35030 3712 41869 43886 43162 43620 44830 42465>,
+ <36483 3907 41881 43801 43197 43647 44866 42472>,
+ <36733 3347 41872 43818 43171 43594 44930 42372>,
+ <36282 944 41885 44031 43171 43596 43325 42378>;
+ };
+
+ qcom,bp-d-table-7 {
+ qcom,temperature = <50>;
+ qcom,nrows = <33>;
+ qcom,ncols = <8>;
+ qcom,conv-factor = <10000 10000 10000 10000 10000 100000 100000 10000>;
+ qcom,data = <43690 57019 42570 21845 21845 43613 43729 21845>,
+ <43661 54005 41159 21845 21845 43920 43900 21845>,
+ <43748 54927 41473 57872 21845 44026 43406 21845>,
+ <43723 55061 41705 41932 32907 44003 43374 38047>,
+ <43554 10947 41614 43393 42000 43959 44637 45330>,
+ <43625 10704 41632 43799 41407 43597 44241 48273>,
+ <43918 11389 44403 43980 41956 43586 44360 47477>,
+ <43824 9173 44387 44014 44603 43588 41701 42007>,
+ <43235 9780 44299 43934 43147 43949 41947 41303>,
+ <43128 9417 44322 43907 43177 43955 44502 41232>,
+ <43327 9720 44501 43956 43144 43953 44166 41238>,
+ <45033 9472 44484 43947 43928 43912 41837 40992>,
+ <44123 15101 44531 43615 44006 43905 41916 41180>,
+ <41525 15332 44437 43608 43971 43918 41522 41159>,
+ <41190 14512 44420 43600 43977 43959 41978 41189>,
+ <41296 14427 44467 43951 43812 43912 41863 41157>,
+ <42754 14659 44449 43954 43238 43919 41492 41355>,
+ <42495 15986 44118 43956 43134 43912 44352 41264>,
+ <48041 16191 44096 43963 43243 43959 44112 41026>,
+ <47131 15604 44106 43967 43880 43919 44325 41161>,
+ <48884 15850 44147 43954 43992 43959 41631 41121>,
+ <48294 13034 44156 43913 44028 43961 41858 41808>,
+ <48400 13261 44156 43907 43978 43938 41536 41120>,
+ <46029 12410 44157 43927 43903 43600 44288 40960>,
+ <45503 13834 44108 43989 43081 43590 44239 42684>,
+ <46697 13527 44103 43835 43070 43584 44220 41293>,
+ <46216 13691 44120 43968 43145 43586 44824 41459>,
+ <46474 2667 44124 44007 43901 43586 44832 41052>,
+ <35428 2241 44449 44003 43832 43591 44094 40982>,
+ <35030 3723 44465 43924 43973 43614 44524 41013>,
+ <36483 3956 44425 43931 44016 43603 44395 40995>,
+ <36733 3342 44416 43915 44027 43607 41651 41183>,
+ <36282 605 44420 43953 44028 43605 44380 41153>;
+ };
+};
diff --git a/qcom/qrb5165-iot.dts b/qcom/qrb5165-iot.dts
new file mode 100755
index 00000000..040b5018
--- /dev/null
+++ b/qcom/qrb5165-iot.dts
@@ -0,0 +1,9 @@
+/dts-v1/;
+
+#include "qrb5165-iot.dtsi"
+
+/ {
+ model = "Qualcomm Technologies, Inc. kona-iot RB5 Platform";
+ compatible = "qcom,kona-iot";
+ qcom,board-id = <0 0>;
+};
diff --git a/qcom/qrb5165-iot.dtsi b/qcom/qrb5165-iot.dtsi
new file mode 100755
index 00000000..d6cdd304
--- /dev/null
+++ b/qcom/qrb5165-iot.dtsi
@@ -0,0 +1,7 @@
+ #include "kona.dtsi"
+
+/ {
+ model = "Qualcomm Technologies, Inc. kona-iot RB5 Platform";
+ compatible = "qcom,kona-iot";
+ qcom,msm-id = <455 0x0>;
+};
diff --git a/qcom/qrb5165n-iot.dts b/qcom/qrb5165n-iot.dts
new file mode 100755
index 00000000..0831447c
--- /dev/null
+++ b/qcom/qrb5165n-iot.dts
@@ -0,0 +1,9 @@
+/dts-v1/;
+
+#include "qrb5165n-iot.dtsi"
+
+/ {
+ model = "Qualcomm Technologies, Inc. kona-iot RB5 NON POP Platform";
+ compatible = "qcom,kona-iot";
+ qcom,board-id = <0 0>;
+};
diff --git a/qcom/qrb5165n-iot.dtsi b/qcom/qrb5165n-iot.dtsi
new file mode 100755
index 00000000..e0637eb1
--- /dev/null
+++ b/qcom/qrb5165n-iot.dtsi
@@ -0,0 +1,7 @@
+ #include "qrb5165-iot.dtsi"
+
+/ {
+ model = "Qualcomm Technologies, Inc. kona-iot RB5 NON POP Platform";
+ compatible = "qcom,kona-iot";
+ qcom,msm-id = <496 0x0>;
+};
diff --git a/qcom/quin-vm-common.dtsi b/qcom/quin-vm-common.dtsi
index 18282678..2c736a90 100755
--- a/qcom/quin-vm-common.dtsi
+++ b/qcom/quin-vm-common.dtsi
@@ -14,7 +14,7 @@
};
chosen {
- bootargs = "rcupdate.rcu_expedited=1 rcu_nocbs=0-7 cgroup.memory=nokmem,nosocket";
+ bootargs = "rcupdate.rcu_expedited=1 rcu_nocbs=0-7 cgroup.memory=nokmem,nosocket kpti=0 qcom_dma_heaps.enable_bitstream_contig_heap=y arm64.nopauth kasan=off";
};
soc: soc { };
@@ -55,6 +55,14 @@
};
};
+ vdevs {
+ compatible = "simple-bus";
+ virtio_input_keyboard@1c150000 {
+ compatible = "virtio,mmio";
+ wakeup-source;
+ };
+ };
+
firmware: firmware {
android {
compatible = "android,firmware";
@@ -127,10 +135,14 @@
interrupt-controller;
};
- regulator: virtio_regulator@1c700000 {
+ virtio_regulator@1c700000 {
compatible = "virtio,mmio";
reg = <0x1c700000 0x1000>;
interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
+
+ regulator: virtio_regulator_device {
+ compatible = "virtio,device31";
+ };
};
qcom_dma_heaps: qcom,dma-heaps {
@@ -282,5 +294,18 @@
compatible = "virtio,device33";
};
};
-};
+ qcom,secure-buffer {
+ compatible = "qcom,secure-buffer";
+ };
+
+ qcom,mem-buf {
+ compatible = "qcom,mem-buf";
+ qcom,mem-buf-capabilities = "supplier";
+ qcom,vmid = <3>;
+ };
+
+ qcom,mem-buf-msgq {
+ compatible = "qcom,mem-buf-msgq";
+ };
+};
diff --git a/qcom/sa410m-pcie.dtsi b/qcom/sa410m-pcie.dtsi
index b5268ced..b76172a5 100755
--- a/qcom/sa410m-pcie.dtsi
+++ b/qcom/sa410m-pcie.dtsi
@@ -5,6 +5,9 @@
compatible = "qcom,pci-msm";
cell-index = <0>;
+ #address-cells = <3>;
+ #size-cells = <2>;
+
reg = <0x05020000 0x3000>,
<0x05026000 0x1000>,
<0x18000000 0xf20>,
@@ -15,8 +18,6 @@
reg-names = "parf", "phy", "dm_core", "elbi", "iatu",
"conf", "mhi";
- #adddress-cells = <3>;
- #size-cells = <2>;
ranges = <0x01000000 0x0 0x18200000 0x18200000 0x0 0x100000>,
<0x02000000 0x0 0x18300000 0x18300000 0x0 0x27d00000>;
@@ -160,7 +161,7 @@
qcom,phy-power-down-offset = <0x804>;
qcom,core-preset = <0x77777777>;
- qcom,boot-option = <0x0>;
+ qcom,boot-option = <0x1>;
linux,pci-domain = <0>;
diff --git a/qcom/sa410m.dtsi b/qcom/sa410m.dtsi
index c8d0e1c4..3665afc9 100755
--- a/qcom/sa410m.dtsi
+++ b/qcom/sa410m.dtsi
@@ -562,6 +562,55 @@
#reset-cells = <1>;
};
+ qcom_cedev: qcedev@1b20000 {
+ compatible = "qcom,qcedev";
+ reg = <0x1b20000 0x20000>,
+ <0x1b04000 0x24000>;
+ reg-names = "crypto-base","crypto-bam-base";
+ interrupts = <GIC_SPI 247 IRQ_TYPE_LEVEL_HIGH>;
+ qcom,bam-pipe-pair = <2>;
+ qcom,ce-hw-instance = <0>;
+ qcom,ce-device = <0>;
+ qcom,ce-hw-shared;
+ qcom,bam-ee = <0>;
+ qcom,smmu-s1-enable;
+ qcom,no-clock-support;
+ interconnect-names = "data_path";
+ interconnects = <&sys_noc MASTER_CRYPTO_CORE0 &bimc_noc SLAVE_EBI_CH0>;
+ iommus = <&apps_smmu 0x0084 0x0011>,
+ <&apps_smmu 0x0092 0x00>,
+ <&apps_smmu 0x0086 0x0011>;
+ qcom,iommu-dma = "atomic";
+ dma-coherent;
+
+ qcom_cedev_ns_cb {
+ compatible = "qcom,qcedev,context-bank";
+ label = "ns_context";
+ iommus = <&apps_smmu 0x0086 0x0011>,
+ <&apps_smmu 0x0092 0x00>,
+ <&apps_smmu 0x0098 0x0001>;
+ dma-coherent;
+ };
+
+ qcom_cedev_s_cb {
+ compatible = "qcom,qcedev,context-bank";
+ label = "secure_context";
+ iommus = <&apps_smmu 0x093 0x000>,
+ <&apps_smmu 0x09c 0x001>,
+ <&apps_smmu 0x09d 0x001>,
+ <&apps_smmu 0x09E 0x000>;
+ qcom,iommu-vmid = <0x9>;
+ qcom,secure-context-bank;
+ };
+ };
+
+ qcom_rng: qrng@4453000 {
+ compatible = "qcom,msm-rng";
+ reg = <0x4453000 0x1000>;
+ qcom,no-qrng-config;
+ qcom,no-clock-support;
+ };
+
mccc_debug: syscon@447d200 {
compatible = "syscon";
reg = <0x0447d200 0x100>;
diff --git a/qcom/sa8155-pmic-overlay.dtsi b/qcom/sa8155-pmic-overlay.dtsi
index a34b4c43..5d8ab9f3 100755
--- a/qcom/sa8155-pmic-overlay.dtsi
+++ b/qcom/sa8155-pmic-overlay.dtsi
@@ -226,6 +226,94 @@ pm8150_1_adc_tm: &pm8150_adc_tm {
};
};
+ cooling-maps {
+ trip0_cpu0 {
+ trip = <&pm8150_2_trip0>;
+ cooling-device =
+ <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT >;
+ };
+
+ trip0_cpu1 {
+ trip = <&pm8150_2_trip0>;
+ cooling-device = <&cpu1_pause 1 1>;
+ };
+
+ trip0_cpu2 {
+ trip = <&pm8150_2_trip0>;
+ cooling-device = <&cpu2_pause 1 1>;
+ };
+
+ trip0_cpu3 {
+ trip = <&pm8150_2_trip0>;
+ cooling-device = <&cpu3_pause 1 1>;
+ };
+
+ trip0_cpu4 {
+ trip = <&pm8150_2_trip0>;
+ cooling-device = <&cpu4_pause 1 1>;
+ };
+
+ trip0_cpu5 {
+ trip = <&pm8150_2_trip0>;
+ cooling-device = <&cpu5_pause 1 1>;
+ };
+
+ trip0_cpu6 {
+ trip = <&pm8150_2_trip0>;
+ cooling-device = <&cpu6_pause 1 1>;
+ };
+
+ trip0_cpu7 {
+ trip = <&pm8150_2_trip0>;
+ cooling-device = <&cpu7_pause 1 1>;
+ };
+ };
+ };
+
+ pm8150_tz {
+ cooling-maps {
+ trip0_cpu0 {
+ trip = <&pm8150_trip0>;
+ cooling-device =
+ <&CPU0 THERMAL_NO_LIMIT
+ THERMAL_NO_LIMIT>;
+ };
+
+ trip0_cpu1 {
+ trip = <&pm8150_trip0>;
+ cooling-device = <&cpu1_pause 1 1>;
+ };
+
+ trip0_cpu2 {
+ trip = <&pm8150_trip0>;
+ cooling-device = <&cpu2_pause 1 1>;
+ };
+
+ trip0_cpu3 {
+ trip = <&pm8150_trip0>;
+ cooling-device = <&cpu3_pause 1 1>;
+ };
+
+ trip0_cpu4 {
+ trip = <&pm8150_trip0>;
+ cooling-device = <&cpu4_pause 1 1>;
+ };
+
+ trip0_cpu5 {
+ trip = <&pm8150_trip0>;
+ cooling-device = <&cpu5_pause 1 1>;
+ };
+
+ trip0_cpu6 {
+ trip = <&pm8150_trip0>;
+ cooling-device = <&cpu6_pause 1 1>;
+ };
+
+ trip0_cpu7 {
+ trip = <&pm8150_trip0>;
+ cooling-device = <&cpu7_pause 1 1>;
+ };
+ };
};
xo-therm {
diff --git a/qcom/sa8155-vm-la.dtsi b/qcom/sa8155-vm-la.dtsi
index feb10fe9..6132aa88 100755
--- a/qcom/sa8155-vm-la.dtsi
+++ b/qcom/sa8155-vm-la.dtsi
@@ -18,25 +18,114 @@
};
&soc {
-};
-&usb0 {
- status = "ok";
-};
+ hsi2s: qcom,hsi2s@172c0000 {
+ compatible = "qcom,sa8155-hsi2s", "qcom,hsi2s";
+ number-of-interfaces = <3>;
+ reg = <0x172c0000 0x28000>,
+ <0x17080000 0xe000>;
+ reg-names = "lpa_if", "lpass_tcsr";
+ interrupts = <GIC_SPI 267 IRQ_TYPE_LEVEL_HIGH>;
+ number-of-rate-detectors = <2>;
+ rate-detector-interfaces = <0 1>;
+ iommus = <&apps_smmu 0x1B5C 0x1>,
+ <&apps_smmu 0x1B5E 0x0>;
+ qcom,iommu-dma-addr-pool = <0x0 0xFFFFFFFF>;
-&usb2_phy0 {
- status = "ok";
-};
+ sdr0: qcom,hs0_i2s {
+ compatible = "qcom,hsi2s-interface";
+ minor-number = <0>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&hs1_i2s_mclk_active &hs1_i2s_sck_active
+ &hs1_i2s_ws_active &hs1_i2s_data0_active
+ &hs1_i2s_data1_active>;
+ pinctrl-1 = <&hs1_i2s_mclk_sleep &hs1_i2s_sck_sleep
+ &hs1_i2s_ws_sleep &hs1_i2s_data0_sleep
+ &hs1_i2s_data1_sleep>;
+ bit-clock-hz = <12288000>;
+ data-buffer-ms = <10>;
+ bit-depth = <32>;
+ spkr-channel-count = <2>;
+ mic-channel-count = <2>;
+ pcm-rate = <2>;
+ pcm-sync-src = <0>;
+ aux-mode = <0>;
+ rpcm-width = <1>;
+ tpcm-width = <1>;
+ enable-tdm = <1>;
+ tdm-rate = <32>;
+ tdm-rpcm-width = <16>;
+ tdm-tpcm-width = <16>;
+ tdm-sync-delay = <2>;
+ tdm-inv-sync = <0>;
+ pcm-lane-config = <1>;
+ };
-&usb1 {
- status = "ok";
+ sdr1: qcom,hs1_i2s {
+ compatible = "qcom,hsi2s-interface";
+ minor-number = <1>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&hs2_i2s_mclk_active &hs2_i2s_sck_active
+ &hs2_i2s_ws_active &hs2_i2s_data0_active
+ &hs2_i2s_data1_active>;
+ pinctrl-1 = <&hs2_i2s_mclk_sleep &hs2_i2s_sck_sleep
+ &hs2_i2s_ws_sleep &hs2_i2s_data0_sleep
+ &hs2_i2s_data1_sleep>;
+ bit-clock-hz = <12288000>;
+ data-buffer-ms = <10>;
+ bit-depth = <32>;
+ spkr-channel-count = <2>;
+ mic-channel-count = <2>;
+ pcm-rate = <2>;
+ pcm-sync-src = <0>;
+ aux-mode = <0>;
+ rpcm-width = <1>;
+ tpcm-width = <1>;
+ enable-tdm = <1>;
+ tdm-rate = <32>;
+ tdm-rpcm-width = <16>;
+ tdm-tpcm-width = <16>;
+ tdm-sync-delay = <2>;
+ tdm-inv-sync = <0>;
+ pcm-lane-config = <1>;
+ };
+
+ sdr2: qcom,hs2_i2s {
+ compatible = "qcom,hsi2s-interface";
+ minor-number = <2>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&hs3_i2s_mclk_active &hs3_i2s_sck_active
+ &hs3_i2s_ws_active &hs3_i2s_data0_active
+ &hs3_i2s_data1_active>;
+ pinctrl-1 = <&hs3_i2s_mclk_sleep &hs3_i2s_sck_sleep
+ &hs3_i2s_ws_sleep &hs3_i2s_data0_sleep
+ &hs3_i2s_data1_sleep>;
+ bit-clock-hz = <12288000>;
+ data-buffer-ms = <10>;
+ bit-depth = <32>;
+ spkr-channel-count = <2>;
+ mic-channel-count = <2>;
+ pcm-rate = <2>;
+ pcm-sync-src = <0>;
+ aux-mode = <0>;
+ rpcm-width = <1>;
+ tpcm-width = <1>;
+ enable-tdm = <1>;
+ tdm-rate = <32>;
+ tdm-rpcm-width = <16>;
+ tdm-tpcm-width = <16>;
+ tdm-sync-delay = <2>;
+ tdm-inv-sync = <0>;
+ pcm-lane-config = <1>;
+ };
+ };
};
-&usb2_phy1 {
+&usb0 {
status = "ok";
};
-&usb_qmp_phy {
+&usb2_phy0 {
status = "ok";
};
@@ -52,11 +141,11 @@
"vdm", "vdn", "vdo",
"vdp", "vdq";
rename-dev = "super", "userdata", "metadata",
- "persist", "modem_a", "modem_b",
- "bluetooth_a", "bluetooth_b",
+ "persist", "modem_a","bluetooth_a",
"misc", "vbmeta_a", "vbmeta_b",
- "boot_a", "boot_b", "dtbo_a",
- "dtbo_b", "dsp_a", "dsp_b";
+ "boot_a", "dtbo_a","dsp_a",
+ "modem_b", "bluetooth_b", "boot_b",
+ "dtbo_b", "dsp_b";
};
};
};
diff --git a/qcom/sa8155-vm.dtsi b/qcom/sa8155-vm.dtsi
index 6646a79d..da1a0546 100755
--- a/qcom/sa8155-vm.dtsi
+++ b/qcom/sa8155-vm.dtsi
@@ -305,92 +305,88 @@
};
&regulator {
- virt_regulator {
- compatible = "virtio,device31";
-
- usb30_prim_gdsc: usb30_prim_gdsc {
- regulator-name = "usb30_prim_gdsc";
- };
+ usb30_prim_gdsc: usb30_prim_gdsc {
+ regulator-name = "usb30_prim_gdsc";
+ };
- usb30_sec_gdsc: usb30_sec_gdsc {
- regulator-name = "usb30_sec_gdsc";
- };
+ usb30_sec_gdsc: usb30_sec_gdsc {
+ regulator-name = "usb30_sec_gdsc";
+ };
- pcie_0_gdsc: pcie_0_gdsc {
- regulator-name = "pcie_0_gdsc";
- };
+ pcie_0_gdsc: pcie_0_gdsc {
+ regulator-name = "pcie_0_gdsc";
+ };
- pcie_1_gdsc: pcie_1_gdsc {
- regulator-name = "pcie_1_gdsc";
- };
+ pcie_1_gdsc: pcie_1_gdsc {
+ regulator-name = "pcie_1_gdsc";
+ };
- L2A: pm8150_1_l2: regulator-pm8150-1-l2 {
- regulator-name = "ldoa2";
- regulator-min-microvolt = <3072000>;
- regulator-max-microvolt = <3072000>;
- };
+ L2A: pm8150_1_l2: regulator-pm8150-1-l2 {
+ regulator-name = "ldoa2";
+ regulator-min-microvolt = <3072000>;
+ regulator-max-microvolt = <3072000>;
+ };
- L5A: pm8150_1_l5: regulator-pm8150-1-l5 {
- regulator-name = "ldoa5";
- regulator-min-microvolt = <880000>;
- regulator-max-microvolt = <880000>;
- };
+ L5A: pm8150_1_l5: regulator-pm8150-1-l5 {
+ regulator-name = "ldoa5";
+ regulator-min-microvolt = <880000>;
+ regulator-max-microvolt = <880000>;
+ };
- L12A: pm8150_1_l12: regulator-pm8150-1-l12 {
- regulator-name = "ldoa12";
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <1800000>;
- };
+ L12A: pm8150_1_l12: regulator-pm8150-1-l12 {
+ regulator-name = "ldoa12";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ };
- L17A: pm8150_1_l17: regulator-pm8150-1-l17 {
- regulator-name = "ldoa17";
- regulator-min-microvolt = <2704000>;
- regulator-max-microvolt = <2960000>;
- };
+ L17A: pm8150_1_l17: regulator-pm8150-1-l17 {
+ regulator-name = "ldoa17";
+ regulator-min-microvolt = <2704000>;
+ regulator-max-microvolt = <2960000>;
+ };
- L8C: pm8150_2_l8: regulator-pm8150-2-l8 {
- regulator-name = "ldoc8";
- regulator-min-microvolt = <1200000>;
- regulator-max-microvolt = <1200000>;
- regulator-allow-set-load;
- };
+ L8C: pm8150_2_l8: regulator-pm8150-2-l8 {
+ regulator-name = "ldoc8";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-allow-set-load;
+ };
- L13C: pm8150_2_l13: regulator-pm8150-2-l13 {
- regulator-name = "ldoc13";
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <2960000>;
- };
+ L13C: pm8150_2_l13: regulator-pm8150-2-l13 {
+ regulator-name = "ldoc13";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <2960000>;
+ };
- L15C: pm8150_2_l15: regulator-pm8150-2-l15 {
- regulator-name = "ldoc15";
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <1904000>;
- };
+ L15C: pm8150_2_l15: regulator-pm8150-2-l15 {
+ regulator-name = "ldoc15";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1904000>;
+ };
- L18C: pm8150_2_l18: regulator-pm8150-2-l18 {
- regulator-name = "ldoc18";
- regulator-min-microvolt = <880000>;
- regulator-max-microvolt = <880000>;
- regulator-allow-set-load;
- };
+ L18C: pm8150_2_l18: regulator-pm8150-2-l18 {
+ regulator-name = "ldoc18";
+ regulator-min-microvolt = <880000>;
+ regulator-max-microvolt = <880000>;
+ regulator-allow-set-load;
+ };
- S6A: pm8150_1_s6: regulator-pm8150-1-s6 {
- regulator-name = "smpa6";
- regulator-min-microvolt = <600000>;
- regulator-max-microvolt = <1352000>;
- };
+ S6A: pm8150_1_s6: regulator-pm8150-1-s6 {
+ regulator-name = "smpa6";
+ regulator-min-microvolt = <600000>;
+ regulator-max-microvolt = <1352000>;
+ };
- S4C: pm8150_2_s4: regulator-pm8150-2-s4 {
- regulator-name = "smpc4";
- regulator-min-microvolt = <800000>;
- regulator-max-microvolt = <1400000>;
- };
+ S4C: pm8150_2_s4: regulator-pm8150-2-s4 {
+ regulator-name = "smpc4";
+ regulator-min-microvolt = <800000>;
+ regulator-max-microvolt = <1400000>;
+ };
- S5C: pm8150_2_s5: regulator-pm8150-2-s5 {
- regulator-name = "smpc5";
- regulator-min-microvolt = <1824000>;
- regulator-max-microvolt = <2040000>;
- };
+ S5C: pm8150_2_s5: regulator-pm8150-2-s5 {
+ regulator-name = "smpc5";
+ regulator-min-microvolt = <1824000>;
+ regulator-max-microvolt = <2040000>;
};
};
diff --git a/qcom/sa8155.dtsi b/qcom/sa8155.dtsi
index 5ce5c715..e3a034d5 100755
--- a/qcom/sa8155.dtsi
+++ b/qcom/sa8155.dtsi
@@ -395,6 +395,31 @@ hsi2s: qcom,hsi2s {
status = "disabled";
};
+ ddr {
+ polling-delay-passive = <10>;
+ polling-delay = <0>;
+ thermal-sensors = <&tsens1 3>;
+ trips {
+ thermal-engine-config {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+
+ thermal-hal-config {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+
+ reset-mon-cfg {
+ temperature = <118000>;
+ hysteresis = <5000>;
+ type = "passive";
+ };
+ };
+ };
+
npu {
trips {
reset-mon-cfg {
diff --git a/qcom/sa8195-pmic.dtsi b/qcom/sa8195-pmic.dtsi
index 7567a662..42ca99f4 100755
--- a/qcom/sa8195-pmic.dtsi
+++ b/qcom/sa8195-pmic.dtsi
@@ -97,6 +97,50 @@
type = "critical";
};
};
+
+ cooling-maps {
+ trip0_cpu0 {
+ trip = <&pm8195_1_trip0>;
+ cooling-device =
+ <&CPU0 THERMAL_NO_LIMIT
+ THERMAL_NO_LIMIT>;
+ };
+
+ trip0_cpu1 {
+ trip = <&pm8195_1_trip0>;
+ cooling-device = <&cpu1_pause 1 1>;
+ };
+
+ trip0_cpu2 {
+ trip = <&pm8195_1_trip0>;
+ cooling-device = <&cpu2_pause 1 1>;
+ };
+
+ trip0_cpu3 {
+ trip = <&pm8195_1_trip0>;
+ cooling-device = <&cpu3_pause 1 1>;
+ };
+
+ trip0_cpu4 {
+ trip = <&pm8195_1_trip0>;
+ cooling-device = <&cpu4_pause 1 1>;
+ };
+
+ trip0_cpu5 {
+ trip = <&pm8195_1_trip0>;
+ cooling-device = <&cpu5_pause 1 1>;
+ };
+
+ trip0_cpu6 {
+ trip = <&pm8195_1_trip0>;
+ cooling-device = <&cpu6_pause 1 1>;
+ };
+
+ trip0_cpu7 {
+ trip = <&pm8195_1_trip0>;
+ cooling-device = <&cpu7_pause 1 1>;
+ };
+ };
};
pm8195_2_temp_alarm: pm8195_2_tz {
@@ -124,6 +168,50 @@
type = "critical";
};
};
+
+ cooling-maps {
+ trip0_cpu0 {
+ trip = <&pm8195_2_trip0>;
+ cooling-device =
+ <&CPU0 THERMAL_NO_LIMIT
+ THERMAL_NO_LIMIT>;
+ };
+
+ trip0_cpu1 {
+ trip = <&pm8195_2_trip0>;
+ cooling-device = <&cpu1_pause 1 1>;
+ };
+
+ trip0_cpu2 {
+ trip = <&pm8195_2_trip0>;
+ cooling-device = <&cpu2_pause 1 1>;
+ };
+
+ trip0_cpu3 {
+ trip = <&pm8195_2_trip0>;
+ cooling-device = <&cpu3_pause 1 1>;
+ };
+
+ trip0_cpu4 {
+ trip = <&pm8195_2_trip0>;
+ cooling-device = <&cpu4_pause 1 1>;
+ };
+
+ trip0_cpu5 {
+ trip = <&pm8195_2_trip0>;
+ cooling-device = <&cpu5_pause 1 1>;
+ };
+
+ trip0_cpu6 {
+ trip = <&pm8195_2_trip0>;
+ cooling-device = <&cpu6_pause 1 1>;
+ };
+
+ trip0_cpu7 {
+ trip = <&pm8195_2_trip0>;
+ cooling-device = <&cpu7_pause 1 1>;
+ };
+ };
};
pm8195_3_temp_alarm: pm8195_3_tz {
@@ -151,6 +239,50 @@
type = "critical";
};
};
+
+ cooling-maps {
+ trip0_cpu0 {
+ trip = <&pm8195_3_trip0>;
+ cooling-device =
+ <&CPU0 THERMAL_NO_LIMIT
+ THERMAL_NO_LIMIT>;
+ };
+
+ trip0_cpu1 {
+ trip = <&pm8195_3_trip0>;
+ cooling-device = <&cpu1_pause 1 1>;
+ };
+
+ trip0_cpu2 {
+ trip = <&pm8195_3_trip0>;
+ cooling-device = <&cpu2_pause 1 1>;
+ };
+
+ trip0_cpu3 {
+ trip = <&pm8195_3_trip0>;
+ cooling-device = <&cpu3_pause 1 1>;
+ };
+
+ trip0_cpu4 {
+ trip = <&pm8195_3_trip0>;
+ cooling-device = <&cpu4_pause 1 1>;
+ };
+
+ trip0_cpu5 {
+ trip = <&pm8195_3_trip0>;
+ cooling-device = <&cpu5_pause 1 1>;
+ };
+
+ trip0_cpu6 {
+ trip = <&pm8195_3_trip0>;
+ cooling-device = <&cpu6_pause 1 1>;
+ };
+
+ trip0_cpu7 {
+ trip = <&pm8195_3_trip0>;
+ cooling-device = <&cpu7_pause 1 1>;
+ };
+ };
};
};
diff --git a/qcom/sa8195-thermal.dtsi b/qcom/sa8195-thermal.dtsi
index c6eaba1d..c708ed82 100755
--- a/qcom/sa8195-thermal.dtsi
+++ b/qcom/sa8195-thermal.dtsi
@@ -224,6 +224,14 @@
type = "passive";
};
};
+
+ cooling-maps {
+ gpu_cdev {
+ trip = <&gpuss0_trip0>;
+ cooling-device = <&msm_gpu THERMAL_NO_LIMIT
+ THERMAL_NO_LIMIT>;
+ };
+ };
};
gpuss-1 {
@@ -255,6 +263,14 @@
type = "passive";
};
};
+
+ cooling-maps {
+ gpu1_cdev {
+ trip = <&gpuss1_trip0>;
+ cooling-device = <&msm_gpu THERMAL_NO_LIMIT
+ THERMAL_NO_LIMIT>;
+ };
+ };
};
gpuss-2 {
@@ -286,6 +302,14 @@
type = "passive";
};
};
+
+ cooling-maps {
+ gpu2_cdev {
+ trip = <&gpuss2_trip0>;
+ cooling-device = <&msm_gpu THERMAL_NO_LIMIT
+ THERMAL_NO_LIMIT>;
+ };
+ };
};
gpuss-3 {
@@ -317,6 +341,14 @@
type = "passive";
};
};
+
+ cooling-maps {
+ gpu3_cdev {
+ trip = <&gpuss3_trip0>;
+ cooling-device = <&msm_gpu THERMAL_NO_LIMIT
+ THERMAL_NO_LIMIT>;
+ };
+ };
};
cpu-0-0 {
diff --git a/qcom/sa8195-vm-la-overlay.dts b/qcom/sa8195-vm-la-overlay.dts
index ab8fc5f4..decf47e1 100755
--- a/qcom/sa8195-vm-la-overlay.dts
+++ b/qcom/sa8195-vm-la-overlay.dts
@@ -1,8 +1,6 @@
/dts-v1/;
/plugin/;
-#include "sa8195-vm.dtsi"
-#include "sa8195-vm-la.dtsi"
/ {
model = "Qualcomm Technologies, Inc. SA8195 Single LA Virtual Machine";
diff --git a/qcom/sa8195-vm-la.dtsi b/qcom/sa8195-vm-la.dtsi
index 17f1e228..2eea62b1 100755
--- a/qcom/sa8195-vm-la.dtsi
+++ b/qcom/sa8195-vm-la.dtsi
@@ -1,2 +1,62 @@
+&reserved_memory {
+ secure_display_memory: secure_display_region {
+ compatible = "shared-dma-pool";
+ alloc-ranges = <0x0 0x00000000 0x0 0xffffffff>;
+ reusable;
+ alignment = <0x0 0x400000>;
+ size = <0x0 0x0a000000>;
+ };
+};
+
+&qcom_dma_heaps {
+ qcom,display {
+ qcom,dma-heap-name = "qcom,display";
+ qcom,dma-heap-type = <HEAP_TYPE_CMA>;
+ qcom,max-align = <9>;
+ memory-region = <&secure_display_memory>;
+ };
+};
+
&soc {
};
+
+/ {
+ rename_devices: rename_devices {
+ compatible = "qcom,rename-devices";
+ rename_blk: rename_blk {
+ device-type = "block";
+ actual-dev = "vda", "vdb", "vdc",
+ "vdd", "vde", "vdf",
+ "vdg", "vdh", "vdi",
+ "vdj", "vdk", "vdl",
+ "vdm", "vdn", "vdo",
+ "vdp", "vdq";
+ rename-dev = "super", "userdata", "metadata",
+ "persist", "modem_a","bluetooth_a",
+ "misc", "vbmeta_a", "vbmeta_b",
+ "boot_a", "dtbo_a","dsp_a",
+ "modem_b", "bluetooth_b", "boot_b",
+ "dtbo_b", "dsp_b";
+ };
+ };
+};
+
+&usb0 {
+ status = "ok";
+};
+
+&usb2_phy0 {
+ status = "ok";
+};
+
+&qupv3_se17_4uart {
+ status = "ok";
+};
+
+&pcie0_msi {
+ status = "ok";
+};
+
+&pcie0 {
+ status = "ok";
+};
diff --git a/qcom/sa8195-vm-pcie.dtsi b/qcom/sa8195-vm-pcie.dtsi
new file mode 100755
index 00000000..bd3cce24
--- /dev/null
+++ b/qcom/sa8195-vm-pcie.dtsi
@@ -0,0 +1,1320 @@
+
+&soc {
+ pcie0: qcom,pcie@1c00000 {
+ compatible = "qcom,pci-msm";
+ cell-index = <0>;
+
+ reg = <0x1c00000 0x4000>,
+ <0x1c06000 0x1000>,
+ <0x60000000 0xf1d>,
+ <0x60000f20 0xa8>,
+ <0x60001000 0x1000>,
+ <0x60100000 0x100000>,
+ <0x60200000 0x100000>,
+ <0x60300000 0x3d00000>;
+
+ reg-names = "parf", "phy", "dm_core", "elbi",
+ "iatu", "conf", "io", "bars";
+
+ #address-cells = <3>;
+ #size-cells = <2>;
+ ranges = <0x01000000 0x0 0x60200000 0x60200000 0x0 0x100000>,
+ <0x02000000 0x0 0x60300000 0x60300000 0x0 0x3d00000>;
+ interrupt-parent = <&pcie0>;
+ interrupts = <0 1 2 3 4>;
+ interrupt-names = "int_global_int", "int_a", "int_b", "int_c",
+ "int_d";
+ #interrupt-cells = <1>;
+ interrupt-map-mask = <0 0 0 0xffffffff>;
+ interrupt-map = < 0 0 0 0 &intc GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH
+ 0 0 0 1 &intc GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH
+ 0 0 0 2 &intc GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH
+ 0 0 0 3 &intc GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH
+ 0 0 0 4 &intc GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>;
+
+ qcom,phy-sequence = <0x0840 0x03 0x0
+ 0x0094 0x08 0x0
+ 0x0154 0x34 0x0
+ 0x016c 0x08 0x0
+ 0x0058 0x0f 0x0
+ 0x00a4 0x42 0x0
+ 0x0110 0x24 0x0
+ 0x011c 0x03 0x0
+ 0x0118 0xb4 0x0
+ 0x010c 0x02 0x0
+ 0x01bc 0x11 0x0
+ 0x00bc 0x82 0x0
+ 0x00d4 0x03 0x0
+ 0x00d0 0x55 0x0
+ 0x00cc 0x55 0x0
+ 0x00b0 0x1a 0x0
+ 0x00ac 0x0a 0x0
+ 0x00c4 0x68 0x0
+ 0x00e0 0x02 0x0
+ 0x00dc 0xaa 0x0
+ 0x00d8 0xab 0x0
+ 0x00b8 0x34 0x0
+ 0x00b4 0x14 0x0
+ 0x0158 0x01 0x0
+ 0x0074 0x06 0x0
+ 0x007c 0x16 0x0
+ 0x0084 0x36 0x0
+ 0x0078 0x06 0x0
+ 0x0080 0x16 0x0
+ 0x0088 0x36 0x0
+ 0x01b0 0x1e 0x0
+ 0x01ac 0xb9 0x0
+ 0x01b8 0x18 0x0
+ 0x01b4 0x94 0x0
+ 0x0050 0x07 0x0
+ 0x0010 0x00 0x0
+ 0x001c 0x31 0x0
+ 0x0020 0x01 0x0
+ 0x0024 0xde 0x0
+ 0x0028 0x07 0x0
+ 0x0030 0x4c 0x0
+ 0x0034 0x06 0x0
+ 0x029c 0x12 0x0
+ 0x0284 0x35 0x0
+ 0x023c 0x11 0x0
+ 0x051c 0x03 0x0
+ 0x0518 0x1c 0x0
+ 0x0524 0x1e 0x0
+ 0x04e8 0x00 0x0
+ 0x04ec 0x0e 0x0
+ 0x04f0 0x4a 0x0
+ 0x04f4 0x0f 0x0
+ 0x05b4 0x04 0x0
+ 0x0434 0x7f 0x0
+ 0x0444 0x70 0x0
+ 0x0510 0x17 0x0
+ 0x04d4 0x54 0x0
+ 0x04d8 0x07 0x0
+ 0x0598 0xd4 0x0
+ 0x059c 0x54 0x0
+ 0x05a0 0xdb 0x0
+ 0x05a4 0x3b 0x0
+ 0x05a8 0x31 0x0
+ 0x0584 0x24 0x0
+ 0x0588 0xe4 0x0
+ 0x058c 0xec 0x0
+ 0x0590 0x3b 0x0
+ 0x0594 0x36 0x0
+ 0x0570 0xff 0x0
+ 0x0574 0xff 0x0
+ 0x0578 0xff 0x0
+ 0x057c 0x7f 0x0
+ 0x0580 0x66 0x0
+ 0x04fc 0x00 0x0
+ 0x04f8 0xc0 0x0
+ 0x0460 0x30 0x0
+ 0x0464 0xc0 0x0
+ 0x05bc 0x0c 0x0
+ 0x04dc 0x0d 0x0
+ 0x0408 0x0c 0x0
+ 0x0414 0x03 0x0
+ 0x09a4 0x01 0x0
+ 0x0c90 0x00 0x0
+ 0x0c40 0x01 0x0
+ 0x0c48 0x01 0x0
+ 0x0c50 0x00 0x0
+ 0x0cbc 0x00 0x0
+ 0x0ce0 0x58 0x0
+ 0x0048 0x90 0x0
+ 0x0c1c 0xc1 0x0
+ 0x0988 0x88 0x0
+ 0x0998 0x0b 0x0
+ 0x08dc 0x0d 0x0
+ 0x09ec 0x01 0x0
+ 0x0800 0x00 0x0
+ 0x0844 0x03 0x0>;
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&pcie0_clkreq_default
+ &pcie0_perst_default
+ &pcie0_wake_default>;
+
+ perst-gpio = <&tlmm 35 0>;
+ wake-gpio = <&tlmm 37 0>;
+
+ gdsc-core-vdd-supply = <&pcie_0_gdsc>;
+ vreg-1p2-supply = <&pm8195_1_l9>;
+ vreg-0p9-supply = <&pm8195_3_l5>;
+ vreg-cx-supply = <&VDD_CX_LEVEL>;
+
+ qcom,vreg-1p2-voltage-level = <1200000 1200000 24000>;
+ qcom,vreg-0p9-voltage-level = <880000 880000 24000>;
+ qcom,vreg-cx-voltage-level = <RPMH_REGULATOR_LEVEL_MAX
+ RPMH_REGULATOR_LEVEL_NOM 0>;
+
+ msi-parent = <&pcie0_msi>;
+
+ qcom,no-l0s-supported;
+ qcom,no-l1-supported;
+ qcom,no-l1ss-supported;
+ qcom,no-aux-clk-sync;
+
+ qcom,ep-latency = <10>;
+
+ qcom,slv-addr-space-size = <0x4000000>;
+
+ qcom,phy-status-offset = <0x814>;
+ qcom,phy-status-bit = <6>;
+ qcom,phy-power-down-offset = <0x840>;
+
+ qcom,boot-option = <0x1>;
+
+ linux,pci-domain = <0>;
+
+ qcom,pcie-phy-ver = <2110>;
+ qcom,use-19p2mhz-aux-clk;
+
+ qcom,smmu-sid-base = <0x1d80>;
+
+ iommu-map = <0x0 &apps_smmu 0x1d80 0x1>,
+ <0x100 &apps_smmu 0x1d81 0x1>,
+ <0x200 &apps_smmu 0x1d82 0x1>,
+ <0x300 &apps_smmu 0x1d83 0x1>,
+ <0x400 &apps_smmu 0x1d84 0x1>,
+ <0x500 &apps_smmu 0x1d85 0x1>,
+ <0x600 &apps_smmu 0x1d86 0x1>,
+ <0x700 &apps_smmu 0x1d87 0x1>,
+ <0x800 &apps_smmu 0x1d88 0x1>,
+ <0x900 &apps_smmu 0x1d89 0x1>,
+ <0xa00 &apps_smmu 0x1d8a 0x1>,
+ <0xb00 &apps_smmu 0x1d8b 0x1>,
+ <0xc00 &apps_smmu 0x1d8c 0x1>,
+ <0xd00 &apps_smmu 0x1d8d 0x1>,
+ <0xe00 &apps_smmu 0x1d8e 0x1>,
+ <0xf00 &apps_smmu 0x1d8f 0x1>;
+
+ clocks = <&gcc GCC_PCIE_0_PIPE_CLK>,
+ <&dummycc RPMH_CXO_CLK>,
+ <&gcc GCC_PCIE_0_AUX_CLK>,
+ <&gcc GCC_PCIE_0_CFG_AHB_CLK>,
+ <&gcc GCC_PCIE_0_MSTR_AXI_CLK>,
+ <&gcc GCC_PCIE_0_SLV_AXI_CLK>,
+ <&gcc GCC_PCIE_0_CLKREF_CLK>,
+ <&gcc GCC_PCIE_0_SLV_Q2A_AXI_CLK>,
+ <&gcc GCC_AGGRE_NOC_PCIE_TBU_CLK>,
+ <&gcc GCC_PCIE0_PHY_REFGEN_CLK>,
+ <&gcc GCC_PCIE_PHY_AUX_CLK>;
+
+ clock-names = "pcie_pipe_clk", "pcie_ref_clk_src",
+ "pcie_0_aux_clk", "pcie_0_cfg_ahb_clk",
+ "pcie_0_mstr_axi_clk", "pcie_0_slv_axi_clk",
+ "pcie_ldo", "pcie_0_slv_q2a_axi_clk",
+ "pcie_tbu_clk", "pcie_phy_refgen_clk",
+ "pcie_phy_aux_clk";
+
+ clock-frequency = <0>, <0>, <19200000>, <0>, <0>,
+ <0>, <0>, <0>, <0>, <100000000>, <0>;
+
+ clock-suppressible = <0>, <0>, <0>, <0>, <0>, <0>, <1>,
+ <0>, <0>, <0>, <0>;
+
+ resets = <&gcc GCC_PCIE_0_BCR>,
+ <&gcc GCC_PCIE_0_PHY_BCR>;
+
+ reset-names = "pcie_0_core_reset",
+ "pcie_0_phy_reset";
+
+ status = "disabled";
+
+ pcie_rc0: pcie_rc0 {
+ #address-cells = <5>;
+ #size-cells = <0>;
+ reg = <0 0 0 0 0>;
+ pci-ids = "17cb:0109";
+ };
+ };
+
+ pcie0_msi: qcom,pcie0_msi@17a00040 {
+ compatible = "qcom,pci-msi";
+ msi-controller;
+ reg = <0x17a00040 0x0>;
+ interrupts = <GIC_SPI 864 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 865 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 866 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 867 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 868 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 869 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 870 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 871 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 872 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 873 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 874 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 875 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 876 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 877 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 878 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 879 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 880 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 881 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 882 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 883 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 884 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 885 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 886 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 887 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 888 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 889 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 890 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 891 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 892 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 893 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 894 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 895 IRQ_TYPE_EDGE_RISING>;
+ status = "disabled";
+ };
+
+ pcie1: qcom,pcie@1c10000 {
+ compatible = "qcom,pci-msm";
+ cell-index = <1>;
+
+ reg = <0x1c10000 0x3000>,
+ <0x01c16000 0x2000>,
+ <0x68000000 0xf1d>,
+ <0x68000f20 0xa8>,
+ <0x68001000 0x1000>,
+ <0x68100000 0x100000>,
+ <0x68200000 0x100000>,
+ <0x68300000 0x3d00000>,
+ <0x01fec004 0x4>;
+
+ reg-names = "parf", "phy", "dm_core", "elbi",
+ "iatu", "conf", "io", "bars", "tcsr";
+
+ #address-cells = <3>;
+ #size-cells = <2>;
+ ranges = <0x01000000 0x0 0x68200000 0x68200000 0x0 0x100000>,
+ <0x02000000 0x0 0x68300000 0x68300000 0x0 0x3d00000>;
+ interrupt-parent = <&pcie1>;
+ interrupts = <0 1 2 3 4>;
+ interrupt-names = "int_global_int", "int_a", "int_b", "int_c",
+ "int_d";
+ #interrupt-cells = <1>;
+ interrupt-map-mask = <0 0 0 0xffffffff>;
+ interrupt-map = <0 0 0 0 &intc GIC_SPI 757 IRQ_TYPE_LEVEL_HIGH
+ 0 0 0 1 &intc GIC_SPI 747 IRQ_TYPE_LEVEL_HIGH
+ 0 0 0 2 &intc GIC_SPI 746 IRQ_TYPE_LEVEL_HIGH
+ 0 0 0 3 &intc GIC_SPI 745 IRQ_TYPE_LEVEL_HIGH
+ 0 0 0 4 &intc GIC_SPI 744 IRQ_TYPE_LEVEL_HIGH>;
+
+ qcom,tcsr = <0x0 0x0>;
+ qcom,phy-sequence = <0x0a40 0x03 0x0
+ 0x0010 0x00 0x0
+ 0x001c 0x31 0x0
+ 0x0020 0x01 0x0
+ 0x0024 0xde 0x0
+ 0x0028 0x07 0x0
+ 0x0030 0x4c 0x0
+ 0x0034 0x06 0x0
+ 0x0048 0x90 0x0
+ 0x0058 0x0f 0x0
+ 0x0074 0x06 0x0
+ 0x0078 0x06 0x0
+ 0x007c 0x16 0x0
+ 0x0080 0x16 0x0
+ 0x0084 0x36 0x0
+ 0x0088 0x36 0x0
+ 0x0094 0x08 0x0
+ 0x00a4 0x42 0x0
+ 0x00ac 0x0a 0x0
+ 0x00b0 0x1a 0x0
+ 0x00b4 0x14 0x0
+ 0x00b8 0x34 0x0
+ 0x00bc 0x82 0x0
+ 0x00c4 0x68 0x0
+ 0x00cc 0x55 0x0
+ 0x00d0 0x55 0x0
+ 0x00d4 0x03 0x0
+ 0x00d8 0xab 0x0
+ 0x00dc 0xaa 0x0
+ 0x00e0 0x02 0x0
+ 0x010c 0x02 0x0
+ 0x0110 0x24 0x0
+ 0x0118 0xb4 0x0
+ 0x011c 0x03 0x0
+ 0x0154 0x34 0x0
+ 0x0158 0x01 0x0
+ 0x016c 0x08 0x0
+ 0x01ac 0xb9 0x0
+ 0x01b0 0x1e 0x0
+ 0x01b4 0x94 0x0
+ 0x01b8 0x18 0x0
+ 0x01bc 0x11 0x0
+ 0x023c 0x11 0x0
+ 0x0284 0x35 0x0
+ 0x029c 0x12 0x0
+ 0x0304 0x02 0x0
+ 0x0408 0x0c 0x0
+ 0x0414 0x03 0x0
+ 0x0434 0x7f 0x0
+ 0x0444 0x70 0x0
+ 0x0460 0x30 0x0
+ 0x0464 0x00 0x0
+ 0x04d4 0x54 0x0
+ 0x04d8 0x07 0x0
+ 0x04dc 0x0d 0x0
+ 0x04e8 0x00 0x0
+ 0x04ec 0x0e 0x0
+ 0x04f0 0x4a 0x0
+ 0x04f4 0x0f 0x0
+ 0x04f8 0xc0 0x0
+ 0x04fc 0x00 0x0
+ 0x0510 0x17 0x0
+ 0x0518 0x1c 0x0
+ 0x051c 0x03 0x0
+ 0x0524 0x1e 0x0
+ 0x0570 0xff 0x0
+ 0x0574 0xff 0x0
+ 0x0578 0xff 0x0
+ 0x057c 0x7f 0x0
+ 0x0580 0x66 0x0
+ 0x0584 0x24 0x0
+ 0x0588 0xe4 0x0
+ 0x058c 0xec 0x0
+ 0x0590 0x3b 0x0
+ 0x0594 0x36 0x0
+ 0x0598 0xd4 0x0
+ 0x059c 0x54 0x0
+ 0x05a0 0xdb 0x0
+ 0x05a4 0x3b 0x0
+ 0x05a8 0x31 0x0
+ 0x05bc 0x0c 0x0
+ 0x063c 0x11 0x0
+ 0x0684 0x35 0x0
+ 0x069c 0x12 0x0
+ 0x0704 0x20 0x0
+ 0x0808 0x0c 0x0
+ 0x0814 0x03 0x0
+ 0x0834 0x7f 0x0
+ 0x0844 0x70 0x0
+ 0x0860 0x30 0x0
+ 0x0864 0x00 0x0
+ 0x08d4 0x54 0x0
+ 0x08d8 0x07 0x0
+ 0x08dc 0x0d 0x0
+ 0x08e8 0x00 0x0
+ 0x08ec 0x0e 0x0
+ 0x08f0 0x4a 0x0
+ 0x08f4 0x0f 0x0
+ 0x08f8 0xc0 0x0
+ 0x08fc 0x00 0x0
+ 0x0910 0x17 0x0
+ 0x0918 0x1c 0x0
+ 0x091c 0x03 0x0
+ 0x0924 0x1e 0x0
+ 0x0970 0xff 0x0
+ 0x0974 0xff 0x0
+ 0x0978 0xff 0x0
+ 0x097c 0x7f 0x0
+ 0x0980 0x66 0x0
+ 0x0984 0x24 0x0
+ 0x0988 0xe4 0x0
+ 0x098c 0xec 0x0
+ 0x0990 0x3b 0x0
+ 0x0994 0x36 0x0
+ 0x0998 0xd4 0x0
+ 0x099c 0x54 0x0
+ 0x09a0 0xdb 0x0
+ 0x09a4 0x3b 0x0
+ 0x09a8 0x31 0x0
+ 0x09bc 0x0c 0x0
+ 0x0adc 0x05 0x0
+ 0x0b88 0x88 0x0
+ 0x0b98 0x0b 0x0
+ 0x0ba4 0x01 0x0
+ 0x0bec 0x01 0x0
+ 0x0e0c 0x0d 0x0
+ 0x0e14 0x07 0x0
+ 0x0e1c 0xc1 0x0
+ 0x0e40 0x01 0x0
+ 0x0e48 0x01 0x0
+ 0x0e90 0x00 0x0
+ 0x0ebc 0x00 0x0
+ 0x0ee0 0x58 0x0
+ 0x0eb4 0x33 0x0
+ 0x0a00 0x00 0x0
+ 0x0a44 0x03 0x0>;
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&pcie1_clkreq_default
+ &pcie1_perst_default
+ &pcie1_wake_default>;
+
+ perst-gpio = <&tlmm 175 0>;
+ wake-gpio = <&tlmm 177 0>;
+
+ gdsc-core-vdd-supply = <&pcie_1_gdsc>;
+ vreg-1p2-supply = <&pm8195_1_l9>;
+ vreg-0p9-supply = <&pm8195_3_l5>;
+ vreg-cx-supply = <&VDD_CX_LEVEL>;
+
+ qcom,vreg-1p2-voltage-level = <1200000 1200000 24000>;
+ qcom,vreg-0p9-voltage-level = <880000 880000 24000>;
+ qcom,vreg-cx-voltage-level = <RPMH_REGULATOR_LEVEL_MAX
+ RPMH_REGULATOR_LEVEL_NOM 0>;
+
+ msi-parent = <&pcie1_msi>;
+
+ qcom,no-l0s-supported;
+
+ qcom,ep-latency = <10>;
+
+ qcom,slv-addr-space-size = <0x4000000>;
+
+ qcom,phy-status-offset = <0xa14>;
+ qcom,phy-status-bit = <6>;
+ qcom,phy-power-down-offset = <0xa40>;
+
+ qcom,boot-option = <0x1>;
+
+ linux,pci-domain = <1>;
+
+ qcom,pcie-phy-ver = <2113>;
+ qcom,use-19p2mhz-aux-clk;
+
+ qcom,smmu-sid-base = <0x1c80>;
+
+ iommu-map = <0x0 &apps_smmu 0x1c80 0x1>,
+ <0x100 &apps_smmu 0x1c81 0x1>,
+ <0x200 &apps_smmu 0x1c82 0x1>,
+ <0x300 &apps_smmu 0x1c83 0x1>,
+ <0x400 &apps_smmu 0x1c84 0x1>,
+ <0x500 &apps_smmu 0x1c85 0x1>,
+ <0x600 &apps_smmu 0x1c86 0x1>,
+ <0x700 &apps_smmu 0x1c87 0x1>,
+ <0x800 &apps_smmu 0x1c88 0x1>,
+ <0x900 &apps_smmu 0x1c89 0x1>,
+ <0xa00 &apps_smmu 0x1c8a 0x1>,
+ <0xb00 &apps_smmu 0x1c8b 0x1>,
+ <0xc00 &apps_smmu 0x1c8c 0x1>,
+ <0xd00 &apps_smmu 0x1c8d 0x1>,
+ <0xe00 &apps_smmu 0x1c8e 0x1>,
+ <0xf00 &apps_smmu 0x1c8f 0x1>;
+
+ clocks = <&gcc GCC_PCIE_1_PIPE_CLK>,
+ <&dummycc RPMH_CXO_CLK>,
+ <&gcc GCC_PCIE_1_AUX_CLK>,
+ <&gcc GCC_PCIE_1_CFG_AHB_CLK>,
+ <&gcc GCC_PCIE_1_MSTR_AXI_CLK>,
+ <&gcc GCC_PCIE_1_SLV_AXI_CLK>,
+ <&gcc GCC_PCIE_1_CLKREF_CLK>,
+ <&gcc GCC_PCIE_1_SLV_Q2A_AXI_CLK>,
+ <&gcc GCC_AGGRE_NOC_PCIE_TBU_CLK>,
+ <&gcc GCC_PCIE1_PHY_REFGEN_CLK>,
+ <&gcc GCC_PCIE_PHY_AUX_CLK>;
+
+ clock-names = "pcie_pipe_clk", "pcie_ref_clk_src",
+ "pcie_1_aux_clk", "pcie_1_cfg_ahb_clk",
+ "pcie_1_mstr_axi_clk", "pcie_1_slv_axi_clk",
+ "pcie_ldo", "pcie_1_slv_q2a_axi_clk",
+ "pcie_tbu_clk", "pcie_phy_refgen_clk",
+ "pcie_phy_aux_clk";
+
+ clock-frequency = <0>, <0>, <19200000>, <0>, <0>,
+ <0>, <0>, <0>, <0>, <100000000>, <0>;
+
+ clock-suppressible = <0>, <0>, <0>, <0>, <0>, <0>, <1>,
+ <0>, <0>, <0>, <0>;
+
+ resets = <&gcc GCC_PCIE_1_BCR>,
+ <&gcc GCC_PCIE_1_PHY_BCR>;
+
+ reset-names = "pcie_1_core_reset",
+ "pcie_1_phy_reset";
+
+ status = "disabled";
+
+ pcie_rc1: pcie_rc1 {
+ #address-cells = <5>;
+ #size-cells = <0>;
+ reg = <0 0 0 0 0>;
+ pci-ids = "17cb:0109";
+ };
+ };
+
+ pcie1_msi: qcom,pcie1_msi@17a00040 {
+ compatible = "qcom,pci-msi";
+ msi-controller;
+ reg = <0x17a00040 0x0>;
+ interrupt-parent = <&intc>;
+ interrupts = <GIC_SPI 896 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 897 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 898 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 899 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 900 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 901 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 902 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 903 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 904 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 905 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 906 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 907 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 908 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 909 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 910 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 911 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 912 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 913 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 914 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 915 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 916 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 917 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 918 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 919 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 920 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 921 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 922 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 923 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 924 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 925 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 926 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 927 IRQ_TYPE_EDGE_RISING>;
+ };
+
+ pcie2: qcom,pcie@1c18000 {
+ compatible = "qcom,pci-msm";
+ cell-index = <2>;
+
+ reg = <0x1c18000 0x3000>,
+ <0x01c1c000 0x2000>,
+ <0x70000000 0xf1d>,
+ <0x70000f20 0xa8>,
+ <0x70001000 0x1000>,
+ <0x70100000 0x100000>,
+ <0x70200000 0x100000>,
+ <0x70300000 0x3d00000>,
+ <0x01fec004 0x4>;
+
+ reg-names = "parf", "phy", "dm_core", "elbi",
+ "iatu", "conf", "io", "bars", "tcsr";
+
+ #address-cells = <3>;
+ #size-cells = <2>;
+ ranges = <0x01000000 0x0 0x70200000 0x70200000 0x0 0x100000>,
+ <0x02000000 0x0 0x70300000 0x70300000 0x0 0x3d00000>;
+ interrupt-parent = <&pcie2>;
+ interrupts = <0 1 2 3 4>;
+ interrupt-names = "int_global_int", "int_a", "int_b", "int_c",
+ "int_d";
+ #interrupt-cells = <1>;
+ interrupt-map-mask = <0 0 0 0xffffffff>;
+ interrupt-map = <0 0 0 0 &intc GIC_SPI 743 IRQ_TYPE_LEVEL_HIGH
+ 0 0 0 1 &intc GIC_SPI 663 IRQ_TYPE_LEVEL_HIGH
+ 0 0 0 2 &intc GIC_SPI 662 IRQ_TYPE_LEVEL_HIGH
+ 0 0 0 3 &intc GIC_SPI 661 IRQ_TYPE_LEVEL_HIGH
+ 0 0 0 4 &intc GIC_SPI 660 IRQ_TYPE_LEVEL_HIGH>;
+
+ qcom,tcsr = <0x0 0x0>;
+ qcom,phy-sequence = <0x0a40 0x03 0x0
+ 0x0010 0x00 0x0
+ 0x001c 0x31 0x0
+ 0x0020 0x01 0x0
+ 0x0024 0xde 0x0
+ 0x0028 0x07 0x0
+ 0x0030 0x4c 0x0
+ 0x0034 0x06 0x0
+ 0x0048 0x90 0x0
+ 0x0058 0x0f 0x0
+ 0x0074 0x06 0x0
+ 0x0078 0x06 0x0
+ 0x007c 0x16 0x0
+ 0x0080 0x16 0x0
+ 0x0084 0x36 0x0
+ 0x0088 0x36 0x0
+ 0x0094 0x08 0x0
+ 0x00a4 0x42 0x0
+ 0x00ac 0x0a 0x0
+ 0x00b0 0x1a 0x0
+ 0x00b4 0x14 0x0
+ 0x00b8 0x34 0x0
+ 0x00bc 0x82 0x0
+ 0x00c4 0x68 0x0
+ 0x00cc 0x55 0x0
+ 0x00d0 0x55 0x0
+ 0x00d4 0x03 0x0
+ 0x00d8 0xab 0x0
+ 0x00dc 0xaa 0x0
+ 0x00e0 0x02 0x0
+ 0x010c 0x02 0x0
+ 0x0110 0x24 0x0
+ 0x0118 0xb4 0x0
+ 0x011c 0x03 0x0
+ 0x0154 0x34 0x0
+ 0x0158 0x01 0x0
+ 0x016c 0x08 0x0
+ 0x01ac 0xb9 0x0
+ 0x01b0 0x1e 0x0
+ 0x01b4 0x94 0x0
+ 0x01b8 0x18 0x0
+ 0x01bc 0x11 0x0
+ 0x023c 0x11 0x0
+ 0x0284 0x35 0x0
+ 0x029c 0x12 0x0
+ 0x0304 0x02 0x0
+ 0x0408 0x0c 0x0
+ 0x0414 0x03 0x0
+ 0x0434 0x7f 0x0
+ 0x0444 0x70 0x0
+ 0x0460 0x30 0x0
+ 0x0464 0x00 0x0
+ 0x04d4 0x54 0x0
+ 0x04d8 0x07 0x0
+ 0x04dc 0x0d 0x0
+ 0x04e8 0x00 0x0
+ 0x04ec 0x0e 0x0
+ 0x04f0 0x4a 0x0
+ 0x04f4 0x0f 0x0
+ 0x04f8 0xc0 0x0
+ 0x04fc 0x00 0x0
+ 0x0510 0x17 0x0
+ 0x0518 0x1c 0x0
+ 0x051c 0x03 0x0
+ 0x0524 0x1e 0x0
+ 0x0570 0xff 0x0
+ 0x0574 0xff 0x0
+ 0x0578 0xff 0x0
+ 0x057c 0x7f 0x0
+ 0x0580 0x66 0x0
+ 0x0584 0x24 0x0
+ 0x0588 0xe4 0x0
+ 0x058c 0xec 0x0
+ 0x0590 0x3b 0x0
+ 0x0594 0x36 0x0
+ 0x0598 0xd4 0x0
+ 0x059c 0x54 0x0
+ 0x05a0 0xdb 0x0
+ 0x05a4 0x3b 0x0
+ 0x05a8 0x31 0x0
+ 0x05bc 0x0c 0x0
+ 0x063c 0x11 0x0
+ 0x0684 0x35 0x0
+ 0x069c 0x12 0x0
+ 0x0704 0x20 0x0
+ 0x0808 0x0c 0x0
+ 0x0814 0x03 0x0
+ 0x0834 0x7f 0x0
+ 0x0844 0x70 0x0
+ 0x0860 0x30 0x0
+ 0x0864 0x00 0x0
+ 0x08d4 0x54 0x0
+ 0x08d8 0x07 0x0
+ 0x08dc 0x0d 0x0
+ 0x08e8 0x00 0x0
+ 0x08ec 0x0e 0x0
+ 0x08f0 0x4a 0x0
+ 0x08f4 0x0f 0x0
+ 0x08f8 0xc0 0x0
+ 0x08fc 0x00 0x0
+ 0x0910 0x17 0x0
+ 0x0918 0x1c 0x0
+ 0x091c 0x03 0x0
+ 0x0924 0x1e 0x0
+ 0x0970 0xff 0x0
+ 0x0974 0xff 0x0
+ 0x0978 0xff 0x0
+ 0x097c 0x7f 0x0
+ 0x0980 0x66 0x0
+ 0x0984 0x24 0x0
+ 0x0988 0xe4 0x0
+ 0x098c 0xec 0x0
+ 0x0990 0x3b 0x0
+ 0x0994 0x36 0x0
+ 0x0998 0xd4 0x0
+ 0x099c 0x54 0x0
+ 0x09a0 0xdb 0x0
+ 0x09a4 0x3b 0x0
+ 0x09a8 0x31 0x0
+ 0x09bc 0x0c 0x0
+ 0x0adc 0x05 0x0
+ 0x0b88 0x88 0x0
+ 0x0b98 0x0b 0x0
+ 0x0ba4 0x01 0x0
+ 0x0bec 0x01 0x0
+ 0x0e0c 0x0d 0x0
+ 0x0e14 0x07 0x0
+ 0x0e1c 0xc1 0x0
+ 0x0e40 0x01 0x0
+ 0x0e48 0x01 0x0
+ 0x0e90 0x00 0x0
+ 0x0ebc 0x00 0x0
+ 0x0ee0 0x58 0x0
+ 0x0eb4 0x33 0x0
+ 0x0a00 0x00 0x0
+ 0x0a44 0x03 0x0>;
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&pcie2_clkreq_default
+ &pcie2_perst_default
+ &pcie2_wake_default>;
+
+ perst-gpio = <&tlmm 102 0>;
+ wake-gpio = <&tlmm 104 0>;
+
+ gdsc-core-vdd-supply = <&pcie_2_gdsc>;
+ vreg-1p2-supply = <&pm8195_1_l9>;
+ vreg-0p9-supply = <&pm8195_3_l5>;
+ vreg-cx-supply = <&VDD_CX_LEVEL>;
+
+ qcom,vreg-1p2-voltage-level = <1200000 1200000 24000>;
+ qcom,vreg-0p9-voltage-level = <880000 880000 24000>;
+ qcom,vreg-cx-voltage-level = <RPMH_REGULATOR_LEVEL_MAX
+ RPMH_REGULATOR_LEVEL_NOM 0>;
+
+ msi-parent = <&pcie2_msi>;
+
+ qcom,no-l0s-supported;
+
+ qcom,ep-latency = <10>;
+
+ qcom,slv-addr-space-size = <0x4000000>;
+
+ qcom,phy-status-offset = <0xa14>;
+ qcom,phy-status-bit = <6>;
+ qcom,phy-power-down-offset = <0xa40>;
+
+ qcom,boot-option = <0x1>;
+
+ linux,pci-domain = <2>;
+
+ qcom,pcie-phy-ver = <2105>;
+ qcom,use-19p2mhz-aux-clk;
+
+ qcom,smmu-sid-base = <0x1d00>;
+
+ iommu-map = <0x0 &apps_smmu 0x1d00 0x1>,
+ <0x100 &apps_smmu 0x1d01 0x1>,
+ <0x200 &apps_smmu 0x1d02 0x1>,
+ <0x300 &apps_smmu 0x1d03 0x1>,
+ <0x400 &apps_smmu 0x1d04 0x1>,
+ <0x500 &apps_smmu 0x1d05 0x1>,
+ <0x600 &apps_smmu 0x1d06 0x1>,
+ <0x700 &apps_smmu 0x1d07 0x1>,
+ <0x800 &apps_smmu 0x1d08 0x1>,
+ <0x900 &apps_smmu 0x1d09 0x1>,
+ <0xa00 &apps_smmu 0x1d0a 0x1>,
+ <0xb00 &apps_smmu 0x1d0b 0x1>,
+ <0xc00 &apps_smmu 0x1d0c 0x1>,
+ <0xd00 &apps_smmu 0x1d0d 0x1>,
+ <0xe00 &apps_smmu 0x1d0e 0x1>,
+ <0xf00 &apps_smmu 0x1d0f 0x1>;
+
+ clocks = <&gcc GCC_PCIE_2_PIPE_CLK>,
+ <&dummycc RPMH_CXO_CLK>,
+ <&gcc GCC_PCIE_2_AUX_CLK>,
+ <&gcc GCC_PCIE_2_CFG_AHB_CLK>,
+ <&gcc GCC_PCIE_2_MSTR_AXI_CLK>,
+ <&gcc GCC_PCIE_2_SLV_AXI_CLK>,
+ <&gcc GCC_PCIE_2_CLKREF_CLK>,
+ <&gcc GCC_PCIE_2_SLV_Q2A_AXI_CLK>,
+ <&gcc GCC_AGGRE_NOC_PCIE_TBU_CLK>,
+ <&gcc GCC_PCIE2_PHY_REFGEN_CLK>,
+ <&gcc GCC_PCIE_PHY_AUX_CLK>;
+
+ clock-names = "pcie_pipe_clk", "pcie_ref_clk_src",
+ "pcie_2_aux_clk", "pcie_2_cfg_ahb_clk",
+ "pcie_2_mstr_axi_clk", "pcie_2_slv_axi_clk",
+ "pcie_ldo", "pcie_2_slv_q2a_axi_clk",
+ "pcie_tbu_clk", "pcie_phy_refgen_clk",
+ "pcie_phy_aux_clk";
+
+ clock-frequency = <0>, <0>, <19200000>, <0>, <0>,
+ <0>, <0>, <0>, <0>, <100000000>, <0>;
+
+ clock-suppressible = <0>, <0>, <0>, <0>, <0>, <0>, <1>,
+ <0>, <0>, <0>, <0>;
+
+ resets = <&gcc GCC_PCIE_2_BCR>,
+ <&gcc GCC_PCIE_2_PHY_BCR>;
+
+ reset-names = "pcie_2_core_reset",
+ "pcie_2_phy_reset";
+
+ status = "disabled";
+
+ pcie_rc2: pcie_rc2 {
+ reg = <0 0 0 0 0>;
+ pci-ids = "17cb:0109";
+ #address-cells = <5>;
+ #size-cells = <0>;
+ };
+ };
+
+ pcie2_msi: qcom,pcie2_msi@17a00040 {
+ compatible = "qcom,pci-msi";
+ msi-controller;
+ reg = <0x17a00040 0x0>;
+ interrupts = <GIC_SPI 832 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 833 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 834 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 835 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 836 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 837 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 838 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 839 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 840 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 841 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 842 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 843 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 844 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 845 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 846 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 847 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 848 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 849 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 850 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 851 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 852 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 853 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 854 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 855 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 856 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 857 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 858 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 859 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 860 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 861 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 862 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 863 IRQ_TYPE_EDGE_RISING>;
+ status = "disabled";
+ };
+
+ pcie3: qcom,pcie@1c08000 {
+ compatible = "qcom,pci-msm";
+ cell-index = <3>;
+
+ reg = <0x1c08000 0x3000>,
+ <0x1c0c000 0x4000>,
+ <0x40000000 0xf1d>,
+ <0x40000f20 0xa8>,
+ <0x40001000 0x1000>,
+ <0x40100000 0x100000>,
+ <0x40200000 0x100000>,
+ <0x40300000 0x1fd00000> ;
+
+ reg-names = "parf", "phy", "dm_core", "elbi",
+ "iatu", "conf", "io", "bars";
+
+ #address-cells = <3>;
+ #size-cells = <2>;
+ ranges = <0x01000000 0x0 0x40200000 0x40200000 0x0 0x100000>,
+ <0x02000000 0x0 0x40300000 0x40300000 0x0 0x1fd00000>;
+ interrupt-parent = <&pcie3>;
+ interrupts = <0 1 2 3 4>;
+ interrupt-names = "int_global_int", "int_a", "int_b", "int_c",
+ "int_d";
+ #interrupt-cells = <1>;
+ interrupt-map-mask = <0 0 0 0xffffffff>;
+ interrupt-map = <0 0 0 0 &intc GIC_SPI 306 IRQ_TYPE_LEVEL_HIGH
+ 0 0 0 1 &intc GIC_SPI 434 IRQ_TYPE_LEVEL_HIGH
+ 0 0 0 2 &intc GIC_SPI 435 IRQ_TYPE_LEVEL_HIGH
+ 0 0 0 3 &intc GIC_SPI 438 IRQ_TYPE_LEVEL_HIGH
+ 0 0 0 4 &intc GIC_SPI 439 IRQ_TYPE_LEVEL_HIGH>;
+
+ qcom,phy-sequence = <0x0a40 0x03 0x0
+ 0x0010 0x00 0x0
+ 0x001c 0x31 0x0
+ 0x0020 0x01 0x0
+ 0x0024 0xde 0x0
+ 0x0028 0x07 0x0
+ 0x0030 0x4c 0x0
+ 0x0034 0x06 0x0
+ 0x0048 0x90 0x0
+ 0x0044 0x1c 0x0
+ 0x0058 0x0f 0x0
+ 0x0074 0x06 0x0
+ 0x0078 0x06 0x0
+ 0x007c 0x16 0x0
+ 0x0080 0x16 0x0
+ 0x0084 0x36 0x0
+ 0x0088 0x36 0x0
+ 0x0094 0x08 0x0
+ 0x00a4 0x42 0x0
+ 0x00ac 0x0a 0x0
+ 0x00b0 0x1a 0x0
+ 0x00b4 0x14 0x0
+ 0x00b8 0x34 0x0
+ 0x00bc 0x82 0x0
+ 0x00c4 0x68 0x0
+ 0x00cc 0x55 0x0
+ 0x00d0 0x55 0x0
+ 0x00d4 0x03 0x0
+ 0x00d8 0xab 0x0
+ 0x00dc 0xaa 0x0
+ 0x00e0 0x02 0x0
+ 0x010c 0x02 0x0
+ 0x0110 0x24 0x0
+ 0x0118 0xb4 0x0
+ 0x011c 0x03 0x0
+ 0x0154 0x34 0x0
+ 0x0158 0x01 0x0
+ 0x016c 0x08 0x0
+ 0x01ac 0xb9 0x0
+ 0x01b0 0x1e 0x0
+ 0x01b4 0x94 0x0
+ 0x01b8 0x18 0x0
+ 0x01bc 0x11 0x0
+ 0x0284 0x35 0x0
+ 0x023c 0x11 0x0
+ 0x029c 0x12 0x0
+ 0x0408 0x0c 0x0
+ 0x0414 0x03 0x0
+ 0x0434 0x7f 0x0
+ 0x0444 0x70 0x0
+ 0x0460 0x30 0x0
+ 0x0464 0x00 0x0
+ 0x04d4 0x54 0x0
+ 0x04d8 0x07 0x0
+ 0x04dc 0x0d 0x0
+ 0x04e8 0x00 0x0
+ 0x04ec 0x0e 0x0
+ 0x04f0 0x4a 0x0
+ 0x04f4 0x0f 0x0
+ 0x04f8 0xc0 0x0
+ 0x04fc 0x00 0x0
+ 0x0510 0x17 0x0
+ 0x0518 0x1c 0x0
+ 0x051c 0x03 0x0
+ 0x0524 0x1e 0x0
+ 0x0570 0xff 0x0
+ 0x0574 0xff 0x0
+ 0x0578 0xff 0x0
+ 0x057c 0x7f 0x0
+ 0x0580 0x66 0x0
+ 0x0584 0x24 0x0
+ 0x0588 0xe4 0x0
+ 0x058c 0xec 0x0
+ 0x0590 0x3b 0x0
+ 0x0594 0x36 0x0
+ 0x0598 0xd4 0x0
+ 0x059c 0x54 0x0
+ 0x05a0 0xdb 0x0
+ 0x05a4 0x3b 0x0
+ 0x05a8 0x31 0x0
+ 0x05bc 0x0c 0x0
+ 0x0684 0x35 0x0
+ 0x063c 0x11 0x0
+ 0x069c 0x12 0x0
+ 0x0808 0x0c 0x0
+ 0x0814 0x03 0x0
+ 0x0834 0x7f 0x0
+ 0x0844 0x70 0x0
+ 0x0860 0x30 0x0
+ 0x0864 0x00 0x0
+ 0x08d4 0x54 0x0
+ 0x08d8 0x07 0x0
+ 0x08dc 0x0d 0x0
+ 0x08e8 0x00 0x0
+ 0x08ec 0x0e 0x0
+ 0x08f0 0x4a 0x0
+ 0x08f4 0x0f 0x0
+ 0x08f8 0xc0 0x0
+ 0x08fc 0x00 0x0
+ 0x0910 0x17 0x0
+ 0x0918 0x1c 0x0
+ 0x091c 0x03 0x0
+ 0x0924 0x1e 0x0
+ 0x0970 0xff 0x0
+ 0x0974 0xff 0x0
+ 0x0978 0xff 0x0
+ 0x097c 0x7f 0x0
+ 0x0980 0x66 0x0
+ 0x0984 0x24 0x0
+ 0x0988 0xe4 0x0
+ 0x098c 0xec 0x0
+ 0x0990 0x3b 0x0
+ 0x0994 0x36 0x0
+ 0x0998 0xd4 0x0
+ 0x099c 0x54 0x0
+ 0x09a0 0xdb 0x0
+ 0x09a4 0x3b 0x0
+ 0x09a8 0x31 0x0
+ 0x09bc 0x0c 0x0
+ 0x0adc 0x05 0x0
+ 0x0b88 0x88 0x0
+ 0x0b98 0x0b 0x0
+ 0x0ba4 0x01 0x0
+ 0x0bec 0x01 0x0
+ 0x0e0c 0x0d 0x0
+ 0x0e14 0x07 0x0
+ 0x0e1c 0xc1 0x0
+ 0x0e40 0x01 0x0
+ 0x0e48 0x01 0x0
+ 0x0e90 0x00 0x0
+ 0x0ebc 0x00 0x0
+ 0x0ee0 0x58 0x0
+ 0x0eb4 0x33 0x0
+ 0x2a40 0x03 0x0
+ 0x2010 0x00 0x0
+ 0x201c 0x31 0x0
+ 0x2020 0x01 0x0
+ 0x2024 0xde 0x0
+ 0x2028 0x07 0x0
+ 0x2030 0x4c 0x0
+ 0x2034 0x06 0x0
+ 0x2048 0x90 0x0
+ 0x2044 0x1c 0x0
+ 0x2058 0x0f 0x0
+ 0x2074 0x06 0x0
+ 0x2078 0x06 0x0
+ 0x207c 0x16 0x0
+ 0x2080 0x16 0x0
+ 0x2084 0x36 0x0
+ 0x2088 0x36 0x0
+ 0x2094 0x08 0x0
+ 0x20a4 0x42 0x0
+ 0x20ac 0x0a 0x0
+ 0x20b0 0x1a 0x0
+ 0x20b4 0x14 0x0
+ 0x20b8 0x34 0x0
+ 0x20bc 0x82 0x0
+ 0x20c4 0x68 0x0
+ 0x20cc 0x55 0x0
+ 0x20d0 0x55 0x0
+ 0x20d4 0x03 0x0
+ 0x20d8 0xab 0x0
+ 0x20dc 0xaa 0x0
+ 0x20e0 0x02 0x0
+ 0x210c 0x02 0x0
+ 0x2110 0x24 0x0
+ 0x2118 0xb4 0x0
+ 0x211c 0x03 0x0
+ 0x2154 0x34 0x0
+ 0x2158 0x01 0x0
+ 0x216c 0x08 0x0
+ 0x21ac 0xb9 0x0
+ 0x21b0 0x1e 0x0
+ 0x21b4 0x94 0x0
+ 0x21b8 0x18 0x0
+ 0x21bc 0x11 0x0
+ 0x2284 0x35 0x0
+ 0x223c 0x11 0x0
+ 0x229c 0x12 0x0
+ 0x2408 0x0c 0x0
+ 0x2414 0x03 0x0
+ 0x2434 0x7f 0x0
+ 0x2444 0x70 0x0
+ 0x2460 0x30 0x0
+ 0x2464 0x00 0x0
+ 0x24d4 0x54 0x0
+ 0x24d8 0x07 0x0
+ 0x24dc 0x0d 0x0
+ 0x24e8 0x00 0x0
+ 0x24ec 0x0e 0x0
+ 0x24f0 0x4a 0x0
+ 0x24f4 0x0f 0x0
+ 0x24f8 0xc0 0x0
+ 0x24fc 0x00 0x0
+ 0x2510 0x17 0x0
+ 0x2518 0x1c 0x0
+ 0x251c 0x03 0x0
+ 0x2524 0x1e 0x0
+ 0x2570 0xff 0x0
+ 0x2574 0xff 0x0
+ 0x2578 0xff 0x0
+ 0x257c 0x7f 0x0
+ 0x2580 0x66 0x0
+ 0x2584 0x24 0x0
+ 0x2588 0xe4 0x0
+ 0x258c 0xec 0x0
+ 0x2590 0x3b 0x0
+ 0x2594 0x36 0x0
+ 0x2598 0xd4 0x0
+ 0x259c 0x54 0x0
+ 0x25a0 0xdb 0x0
+ 0x25a4 0x3b 0x0
+ 0x25a8 0x31 0x0
+ 0x25bc 0x0c 0x0
+ 0x2684 0x35 0x0
+ 0x263c 0x11 0x0
+ 0x269c 0x12 0x0
+ 0x2808 0x0c 0x0
+ 0x2814 0x03 0x0
+ 0x2834 0x7f 0x0
+ 0x2844 0x70 0x0
+ 0x2860 0x30 0x0
+ 0x2864 0x00 0x0
+ 0x28d4 0x54 0x0
+ 0x28d8 0x07 0x0
+ 0x28dc 0x0d 0x0
+ 0x28e8 0x00 0x0
+ 0x28ec 0x0e 0x0
+ 0x28f0 0x4a 0x0
+ 0x28f4 0x0f 0x0
+ 0x28f8 0xc0 0x0
+ 0x28fc 0x00 0x0
+ 0x2910 0x17 0x0
+ 0x2918 0x1c 0x0
+ 0x291c 0x03 0x0
+ 0x2924 0x1e 0x0
+ 0x2970 0xff 0x0
+ 0x2974 0xff 0x0
+ 0x2978 0xff 0x0
+ 0x297c 0x7f 0x0
+ 0x2980 0x66 0x0
+ 0x2984 0x24 0x0
+ 0x2988 0xe4 0x0
+ 0x298c 0xec 0x0
+ 0x2990 0x3b 0x0
+ 0x2994 0x36 0x0
+ 0x2998 0xd4 0x0
+ 0x299c 0x54 0x0
+ 0x29a0 0xdb 0x0
+ 0x29a4 0x3b 0x0
+ 0x29a8 0x31 0x0
+ 0x29bc 0x0c 0x0
+ 0x2adc 0x05 0x0
+ 0x2b88 0x88 0x0
+ 0x2b98 0x0b 0x0
+ 0x2ba4 0x01 0x0
+ 0x2bec 0x01 0x0
+ 0x2e0c 0x0d 0x0
+ 0x2e14 0x07 0x0
+ 0x2e1c 0xc1 0x0
+ 0x2e40 0x01 0x0
+ 0x2e48 0x01 0x0
+ 0x2e90 0x00 0x0
+ 0x2ebc 0x00 0x0
+ 0x2ee0 0x58 0x0
+ 0x2eb4 0x33 0x0
+ 0x0a00 0x00 0x0
+ 0x0a44 0x03 0x0>;
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&pcie3_clkreq_default
+ &pcie3_perst_default
+ &pcie3_wake_default>;
+
+ perst-gpio = <&tlmm 178 0>;
+ wake-gpio = <&tlmm 56 0>;
+
+ gdsc-core-vdd-supply = <&pcie_3_gdsc>;
+ vreg-1p2-supply = <&pm8195_1_l9>;
+ vreg-0p9-supply = <&pm8195_3_l5>;
+ vreg-cx-supply = <&VDD_CX_LEVEL>;
+
+ qcom,vreg-1p2-voltage-level = <1200000 1200000 24000>;
+ qcom,vreg-0p9-voltage-level = <880000 880000 24000>;
+ qcom,vreg-cx-voltage-level = <RPMH_REGULATOR_LEVEL_MAX
+ RPMH_REGULATOR_LEVEL_NOM 0>;
+
+ msi-parent = <&pcie3_msi>;
+
+ qcom,no-l0s-supported;
+
+ qcom,ep-latency = <10>;
+
+ qcom,slv-addr-space-size = <0x20000000>;
+
+ qcom,phy-status-offset = <0xa14>;
+ qcom,phy-status-bit = <6>;
+ qcom,phy-power-down-offset = <0xa40>;
+
+ qcom,boot-option = <0x1>;
+
+ linux,pci-domain = <3>;
+
+ qcom,pcie-phy-ver = <2105>;
+ qcom,use-19p2mhz-aux-clk;
+
+ qcom,smmu-sid-base = <0x1e00>;
+
+ iommu-map = <0x0 &apps_smmu 0x1e00 0x1>,
+ <0x100 &apps_smmu 0x1e01 0x1>,
+ <0x200 &apps_smmu 0x1e02 0x1>,
+ <0x300 &apps_smmu 0x1e03 0x1>,
+ <0x400 &apps_smmu 0x1e04 0x1>,
+ <0x500 &apps_smmu 0x1e05 0x1>,
+ <0x600 &apps_smmu 0x1e06 0x1>,
+ <0x700 &apps_smmu 0x1e07 0x1>,
+ <0x800 &apps_smmu 0x1e08 0x1>,
+ <0x900 &apps_smmu 0x1e09 0x1>,
+ <0xa00 &apps_smmu 0x1e0a 0x1>,
+ <0xb00 &apps_smmu 0x1e0b 0x1>,
+ <0xc00 &apps_smmu 0x1e0c 0x1>,
+ <0xd00 &apps_smmu 0x1e0d 0x1>,
+ <0xe00 &apps_smmu 0x1e0e 0x1>,
+ <0xf00 &apps_smmu 0x1e0f 0x1>;
+
+ clocks = <&gcc GCC_PCIE_3_PIPE_CLK>,
+ <&dummycc RPMH_CXO_CLK>,
+ <&gcc GCC_PCIE_3_AUX_CLK>,
+ <&gcc GCC_PCIE_3_CFG_AHB_CLK>,
+ <&gcc GCC_PCIE_3_MSTR_AXI_CLK>,
+ <&gcc GCC_PCIE_3_SLV_AXI_CLK>,
+ <&gcc GCC_PCIE_3_CLKREF_CLK>,
+ <&gcc GCC_PCIE_3_SLV_Q2A_AXI_CLK>,
+ <&gcc GCC_AGGRE_NOC_PCIE_TBU_CLK>,
+ <&gcc GCC_PCIE3_PHY_REFGEN_CLK>,
+ <&gcc GCC_PCIE_PHY_AUX_CLK>;
+
+ clock-names = "pcie_pipe_clk", "pcie_ref_clk_src",
+ "pcie_3_aux_clk", "pcie_3_cfg_ahb_clk",
+ "pcie_3_mstr_axi_clk", "pcie_3_slv_axi_clk",
+ "pcie_ldo", "pcie_3_slv_q2a_axi_clk",
+ "pcie_tbu_clk", "pcie_phy_refgen_clk",
+ "pcie_phy_aux_clk";
+
+ clock-frequency = <0>, <0>, <19200000>, <0>, <0>,
+ <0>, <0>, <0>, <0>, <100000000>, <0>;
+
+ clock-suppressible = <0>, <0>, <0>, <0>, <0>, <0>, <1>,
+ <0>, <0>, <0>, <0>;
+
+ resets = <&gcc GCC_PCIE_3_BCR>,
+ <&gcc GCC_PCIE_3_PHY_BCR>;
+
+ reset-names = "pcie_3_core_reset",
+ "pcie_3_phy_reset";
+
+ status = "disabled";
+
+ pcie_rc3: pcie_rc3 {
+ reg = <0 0 0 0 0>;
+ pci-ids = "17cb:0109";
+ };
+ };
+
+ pcie3_msi: qcom,pcie3_msi@17a00040 {
+ compatible = "qcom,pci-msi";
+ msi-controller;
+ reg = <0x17a00040 0x0>;
+ interrupts = <GIC_SPI 800 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 801 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 802 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 803 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 804 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 805 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 806 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 807 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 808 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 809 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 810 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 811 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 812 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 813 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 814 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 815 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 816 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 817 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 818 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 819 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 820 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 821 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 822 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 823 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 824 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 825 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 826 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 827 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 828 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 829 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 830 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 831 IRQ_TYPE_EDGE_RISING>;
+ status = "disabled";
+ };
+};
+
diff --git a/qcom/sa8195-vm-qupv3.dtsi b/qcom/sa8195-vm-qupv3.dtsi
new file mode 100755
index 00000000..4f1f384c
--- /dev/null
+++ b/qcom/sa8195-vm-qupv3.dtsi
@@ -0,0 +1,62 @@
+&soc {
+ /* QUPv3 SE Instances
+ * Qup0 0: SE 0
+ * Qup0 1: SE 1
+ * Qup0 2: SE 2
+ * Qup0 3: SE 3
+ * Qup0 4: SE 4
+ * Qup0 5: SE 5
+ * Qup0 6: SE 6
+ * Qup0 7: SE 7
+ * Qup1 0: SE 8
+ * Qup1 1: SE 9
+ * Qup1 2: SE 10
+ * Qup1 3: SE 11
+ * Qup1 4: SE 12
+ * Qup1 5: SE 13
+ * Qup2 0: SE 14
+ * Qup2 1: SE 15
+ * Qup2 2: SE 16
+ * Qup2 3: SE 17
+ * Qup2 4: SE 18
+ * Qup2 5: SE 19
+ */
+
+ /* QUPv3_2 wrapper instance */
+ qupv3_2: qcom,qupv3_2_geni_se@cc0000 {
+ compatible = "qcom,geni-se-qup";
+ reg = <0xcc0000 0x6000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+ clock-names = "m-ahb", "s-ahb";
+ clocks = <&gcc GCC_QUPV3_WRAP_2_M_AHB_CLK>,
+ <&gcc GCC_QUPV3_WRAP_2_S_AHB_CLK>;
+ iommus = <&apps_smmu 0x7a3 0x0>;
+ qcom,iommu-dma-addr-pool = <0x40000000 0x10000000>;
+ qcom,iommu-geometry = <0x40000000 0x10000000>;
+ qcom,iommu-dma = "fastmap";
+ status = "ok";
+
+ /* HS UART Instance */
+ qupv3_se17_4uart: qcom,qup_uart@c8c000 {
+ compatible = "qcom,msm-geni-serial-hs";
+ reg = <0xc8c000 0x4000>;
+ reg-names = "se_phys";
+ interrupts-extended = <&intc GIC_SPI 585 IRQ_TYPE_LEVEL_HIGH>,
+ <&tlmm 46 IRQ_TYPE_LEVEL_HIGH>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP2_S3_CLK>;
+ pinctrl-names = "default", "active", "sleep", "shutdown";
+ pinctrl-0 = <&qupv3_se17_default_ctsrtsrx>,
+ <&qupv3_se17_default_tx>;
+ pinctrl-1 = <&qupv3_se17_ctsrx>, <&qupv3_se17_rts>,
+ <&qupv3_se17_tx>;
+ pinctrl-2 = <&qupv3_se17_ctsrx>, <&qupv3_se17_rts>,
+ <&qupv3_se17_tx>;
+ pinctrl-3 = <&qupv3_se17_default_ctsrtsrx>,<&qupv3_se17_default_tx>;
+ qcom,wakeup-byte = <0xFD>;
+ status = "disabled";
+ };
+ };
+};
diff --git a/qcom/sa8195-vm-usb.dtsi b/qcom/sa8195-vm-usb.dtsi
new file mode 100755
index 00000000..8bd6b9e9
--- /dev/null
+++ b/qcom/sa8195-vm-usb.dtsi
@@ -0,0 +1,167 @@
+#include <dt-bindings/phy/qcom,sm8150-qmp-usb3.h>
+
+&soc {
+ /* Primary USB port related controller */
+ usb0: ssusb@a600000 {
+ compatible = "qcom,dwc-usb3-msm";
+ reg = <0x0a600000 0x100000>;
+ reg-names = "core_base";
+
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+
+ interrupts-extended = <&pdc 9 IRQ_TYPE_EDGE_RISING>,
+ <&intc GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>,
+ <&pdc 8 IRQ_TYPE_EDGE_RISING>;
+ interrupt-names = "dp_hs_phy_irq", "pwr_event_irq",
+ "dm_hs_phy_irq";
+ qcom,use-pdc-interrupts;
+
+ USB3_GDSC-supply = <&usb30_prim_gdsc>;
+ clocks = <&gcc GCC_USB30_PRIM_MASTER_CLK>,
+ <&gcc GCC_CFG_NOC_USB3_PRIM_AXI_CLK>,
+ <&gcc GCC_AGGRE_USB3_PRIM_AXI_CLK>,
+ <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>,
+ <&gcc GCC_USB30_PRIM_SLEEP_CLK>,
+ <&dummycc RPMH_CXO_CLK>;
+ clock-names = "core_clk", "iface_clk", "bus_aggr_clk",
+ "utmi_clk", "sleep_clk", "xo";
+
+ resets = <&gcc GCC_USB30_PRIM_BCR>;
+ reset-names = "core_reset";
+
+ qcom,core-clk-rate = <200000000>;
+ qcom,core-clk-rate-hs = <66666667>;
+ qcom,host-poweroff-in-pm-suspend;
+
+ status = "disabled";
+ dwc3@a600000 {
+ compatible = "snps,dwc3";
+ reg = <0x0a600000 0xcd00>;
+ iommus = <&apps_smmu 0x140 0x0>;
+ qcom,iommu-dma = "atomic";
+ qcom,iommu-dma-addr-pool = <0x90000000 0x60000000>;
+ interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
+ usb-phy = <&usb2_phy0>, <&usb_nop_phy>;
+ snps,disable-clk-gating;
+ snps,has-lpm-erratum;
+ snps,hird-threshold = /bits/ 8 <0x0>;
+ snps,is-utmi-l1-suspend;
+ snps,usb2-gadget-lpm-disable;
+ tx-fifo-resize;
+ maximum-speed = "high-speed";
+ dr_mode = "otg";
+ usb-role-switch;
+ };
+ };
+
+ /* Primary USB port related High Speed PHY */
+ usb2_phy0: hsphy@88e2000 {
+ compatible = "qcom,usb-hsphy-snps-femto";
+ reg = <0x88e2000 0x110>,
+ <0x007801f8 0x4>;
+ reg-names = "hsusb_phy_base",
+ "phy_rcal_reg";
+
+ vdd-supply = <&L5E>;
+ vdda18-supply = <&L12A>;
+ vdda33-supply = <&L16E>;
+ qcom,vdd-voltage-level = <0 880000 880000>;
+
+ clocks = <&dummycc RPMH_CXO_CLK>;
+ clock-names = "ref_clk_src";
+
+ resets = <&gcc GCC_QUSB2PHY_PRIM_BCR>;
+ reset-names = "phy_reset";
+ qcom,param-override-seq = <0x43 0x70>;
+ qcom,rcal-mask = <0x1e00000>;
+
+ status = "disabled";
+ };
+
+ usb_nop_phy: usb_nop_phy {
+ compatible = "usb-nop-xceiv";
+ };
+
+ /* Secondary USB port related controller */
+ usb1: ssusb@a800000 {
+ compatible = "qcom,dwc-usb3-msm";
+ reg = <0x0a800000 0x100000>;
+ reg-names = "core_base";
+
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+
+ interrupts-extended = <&pdc 11 IRQ_TYPE_EDGE_RISING>,
+ <&intc GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
+ <&pdc 10 IRQ_TYPE_EDGE_RISING>;
+ interrupt-names = "dp_hs_phy_irq", "pwr_event_irq",
+ "dm_hs_phy_irq";
+ qcom,use-pdc-interrupts;
+
+ qcom,default-mode-host;
+ qcom,host-poweroff-in-pm-suspend;
+
+ USB3_GDSC-supply = <&usb30_sec_gdsc>;
+ clocks = <&gcc GCC_USB30_SEC_MASTER_CLK>,
+ <&gcc GCC_CFG_NOC_USB3_SEC_AXI_CLK>,
+ <&gcc GCC_AGGRE_USB3_SEC_AXI_CLK>,
+ <&gcc GCC_USB30_SEC_MOCK_UTMI_CLK>,
+ <&gcc GCC_USB30_SEC_SLEEP_CLK>,
+ <&dummycc RPMH_CXO_CLK>;
+ clock-names = "core_clk", "iface_clk", "bus_aggr_clk",
+ "utmi_clk", "sleep_clk", "xo";
+
+ resets = <&gcc GCC_USB30_SEC_BCR>;
+ reset-names = "core_reset";
+
+ qcom,core-clk-rate = <200000000>;
+ qcom,core-clk-rate-hs = <66666667>;
+
+ status = "disabled";
+ dwc3@a800000 {
+ compatible = "snps,dwc3";
+ reg = <0x0a800000 0xcd00>;
+ iommus = <&apps_smmu 0x160 0x0>;
+ qcom,iommu-dma = "atomic";
+ qcom,iommu-dma-addr-pool = <0x90000000 0x60000000>;
+ interrupts = <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
+ usb-phy = <&usb2_phy1>, <&usb_nop_phy>;
+ snps,disable-clk-gating;
+ snps,has-lpm-erratum;
+ snps,hird-threshold = /bits/ 8 <0x0>;
+ snps,is-utmi-l1-suspend;
+ snps,usb2-gadget-lpm-disable;
+ tx-fifo-resize;
+ maximum-speed = "high-speed";
+ dr_mode = "otg";
+ usb-role-switch;
+ };
+ };
+
+ /* Secondary USB port related High Speed PHY */
+ usb2_phy1: hsphy@88e3000 {
+ compatible = "qcom,usb-hsphy-snps-femto";
+ reg = <0x88e3000 0x110>,
+ <0x007801f8 0x4>;
+ reg-names = "hsusb_phy_base",
+ "phy_rcal_reg";
+
+ vdd-supply = <&L5E>;
+ vdda18-supply = <&L12A>;
+ vdda33-supply = <&L16E>;
+ qcom,vdd-voltage-level = <0 880000 880000>;
+
+ clocks = <&dummycc RPMH_CXO_CLK>;
+ clock-names = "ref_clk_src";
+
+ resets = <&gcc GCC_QUSB2PHY_SEC_BCR>;
+ reset-names = "phy_reset";
+ qcom,param-override-seq = <0x43 0x70>;
+ qcom,rcal-mask = <0x1e00000>;
+
+ status = "disabled";
+ };
+};
diff --git a/qcom/sa8195-vm.dtsi b/qcom/sa8195-vm.dtsi
index 98ccd3f9..69853b52 100755
--- a/qcom/sa8195-vm.dtsi
+++ b/qcom/sa8195-vm.dtsi
@@ -1,7 +1,413 @@
+#include <dt-bindings/clock/qcom,gcc-sc8180x.h>
#include "quin-vm-common.dtsi"
+#include "pm8195-vm.dtsi"
/ {
model = "Qualcomm Technologies, Inc. SA8195 Virtual Machine";
qcom,msm-name = "SA8195P";
qcom,msm-id = <405 0x20000>;
+ aliases {
+ hsuart0 = &qupv3_se17_4uart;
+ };
+};
+
+&soc {
+ /* Rome 3.3V supply */
+ vreg_wlan: vreg_wlan {
+ compatible = "qcom,stub-regulator";
+ regulator-name = "vreg_wlan";
+ };
+
+ /* PWR_CTR2_VDD_1P8 supply */
+ vreg_conn_1p8: vreg_conn_1p8 {
+ compatible = "regulator-fixed";
+ regulator-name = "vreg_conn_1p8";
+ pinctrl-names = "default";
+ pinctrl-0 = <&conn_power_1p8_active>;
+ startup-delay-us = <4000>;
+ enable-active-high;
+ gpio = <&tlmm 173 0>;
+ };
+
+ /* PWR_CTR1_VDD_PA supply */
+ vreg_conn_pa: vreg_conn_pa {
+ compatible = "regulator-fixed";
+ regulator-name = "vreg_conn_pa";
+ pinctrl-names = "default";
+ pinctrl-0 = <&conn_power_pa_active>;
+ startup-delay-us = <4000>;
+ enable-active-high;
+ gpio = <&tlmm 174 0>;
+ };
+
+ apps_smmu: apps-smmu@15000000 {
+ compatible = "qcom,qsmmu-v500";
+ reg = <0x15000000 0x100000>,
+ <0x15182000 0x20>;
+ reg-names = "base", "tcu-base";
+ #iommu-cells = <2>;
+ qcom,skip-init;
+ qcom,use-3-lvl-tables;
+ qcom,handoff-smrs = <0xffff 0x0>;
+ qcom,multi-match-handoff-smr;
+ #global-interrupts = <1>;
+ #size-cells = <1>;
+ #address-cells = <1>;
+ ranges;
+ interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 181 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 182 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 183 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 315 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 316 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 317 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 318 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 319 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 320 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 321 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 322 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 323 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 324 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 325 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 332 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 333 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 334 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 335 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 336 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 338 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 339 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 340 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 341 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 342 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 343 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 344 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 395 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 396 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 397 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 398 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 399 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 400 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 401 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 402 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 403 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 404 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 405 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 406 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 407 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 408 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 409 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 410 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 411 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 412 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 413 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 641 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 642 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 643 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 644 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 707 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 708 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 709 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 710 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 711 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 712 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 713 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 714 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 715 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 716 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 769 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 770 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 771 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 772 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 773 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 774 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 775 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 776 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 777 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 778 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 779 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 780 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 781 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 782 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 783 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 784 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 785 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 786 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 787 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 788 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 789 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 790 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 791 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 792 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 793 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 794 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 795 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 796 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 797 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 798 IRQ_TYPE_LEVEL_HIGH>;
+ };
+
+ dma_dev@0x0 {
+ compatible = "qcom,iommu-dma";
+ memory-region = <&system_cma>;
+ };
+
+ qtee_shmbridge {
+ compatible = "qcom,tee-shared-memory-bridge";
+ };
+
+ qcom_qseecom: qseecom@87a00000 {
+ compatible = "qcom,qseecom";
+ reg = <0x87a00000 0x2100000>;
+ reg-names = "secapp-region";
+ memory-region = <&qseecom_mem>;
+ qcom,hlos-num-ce-hw-instances = <1>;
+ qcom,hlos-ce-hw-instance = <0>;
+ qcom,qsee-ce-hw-instance = <0>;
+ qcom,disk-encrypt-pipe-pair = <2>;
+ qcom,no-clock-support;
+ qcom,qsee-reentrancy-support = <2>;
+ };
+
+ qcom_rng: qrng@793000 {
+ compatible = "qcom,msm-rng";
+ reg = <0x793000 0x1000>;
+ qcom,no-qrng-config;
+ clocks = <&gcc GCC_PRNG_AHB_CLK>;
+ clock-names = "km_clk_src";
+ };
+
+ pdc: interrupt-controller@b220000 {
+ compatible = "qcom,pdc";
+ reg = <0xb220000 0x30000>, <0x17c000f0 0x64>;
+ qcom,pdc-ranges = <0 480 94>, <94 609 31>, <125 63 1>;
+ #interrupt-cells = <2>;
+ interrupt-parent = <&intc>;
+ interrupt-controller;
+ };
+
+ VDD_CX_LEVEL:
+ S3E_LEVEL: pm8195_3_s3_level: regulator-pm8195-3-s3-level {
+ compatible = "qcom,stub-regulator";
+ regulator-name = "pm8195_3_s3_level";
+ regulator-min-microvolt = <RPMH_REGULATOR_LEVEL_RETENTION>;
+ regulator-max-microvolt = <RPMH_REGULATOR_LEVEL_MAX>;
+ };
+};
+
+&firmware {
+ scm {
+ compatible = "qcom,scm";
+ };
+};
+
+#include "sdmshrike-pinctrl.dtsi"
+#include "sa8195-vm-qupv3.dtsi"
+#include "sa8195-vm-usb.dtsi"
+#include "sa8195-vm-pcie.dtsi"
+
+&tlmm {
+ /delete-property/ wakeup-parent;
+};
+
+&regulator {
+ usb30_prim_gdsc: usb30_prim_gdsc {
+ regulator-name = "usb30_prim_gdsc";
+ };
+
+ usb30_sec_gdsc: usb30_sec_gdsc {
+ regulator-name = "usb30_sec_gdsc";
+ };
+
+ usb30_mp_gdsc: qcom,gdsc@1a6004 {
+ regulator-name = "usb30_mp_gdsc";
+ };
+
+ ufs_card_2_gdsc: ufs_card_2_gdsc {
+ regulator-name = "ufs_card_2_gdsc";
+ };
+
+ pcie_0_gdsc: pcie_0_gdsc {
+ regulator-name = "pcie_0_gdsc";
+ };
+
+ pcie_1_gdsc: pcie_1_gdsc {
+ regulator-name = "pcie_1_gdsc";
+ };
+
+ pcie_2_gdsc: pcie_2_gdsc {
+ regulator-name = "pcie_2_gdsc";
+ };
+
+ pcie_3_gdsc: pcie_3_gdsc {
+ regulator-name = "pcie_3_gdsc";
+ };
+
+ L2A: pm8195_1_l2: regulator-pm8195-1-l2 {
+ regulator-name = "ldoa2";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <3300000>;
+ };
+
+ L9A: pm8195_1_l9: regulator-pm8195-1-l9 {
+ regulator-name = "ldoa9";
+ regulator-min-microvolt = <1150000>;
+ regulator-max-microvolt = <1250000>;
+ regulator-allow-set-load;
+ };
+
+ L10A: pm8195_1_l10: regulator-pm8195-1-l10 {
+ regulator-name = "ldoa10";
+ regulator-min-microvolt = <2700000>;
+ regulator-max-microvolt = <3544000>;
+ };
+
+ L12A: pm8195_1_l12: regulator-pm8195-1-l12 {
+ regulator-name = "ldoa12";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1890000>;
+ };
+
+ L7C: pm8195_2_l7: regulator-pm8195-2-l7 {
+ regulator-name = "ldoc7";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <2040000>;
+ };
+
+ L5E: pm8195_3_l5: regulator-pm8195-3-l5 {
+ regulator-name = "ldoe5";
+ regulator-min-microvolt = <800000>;
+ regulator-max-microvolt = <920000>;
+ regulator-allow-set-load;
+ };
+
+ L9E: pm8195_3_l9: regulator-pm8195-3-l9 {
+ regulator-name = "ldoe9";
+ regulator-min-microvolt = <830000>;
+ regulator-max-microvolt = <920000>;
+ };
+
+ L16E: pm8195_3_l16: regulator-pm8195-3-l16 {
+ regulator-name = "ldoe16";
+ regulator-min-microvolt = <2921000>;
+ regulator-max-microvolt = <3300000>;
+ };
+
+ S2A: pm8195_1_s2: regulator-pm8195-1-s2 {
+ regulator-name = "smpa2";
+ regulator-min-microvolt = <1179000>;
+ regulator-max-microvolt = <1379000>;
+ };
+
+ S5A: pm8195_1_s5: regulator-pm8195-1-s5 {
+ regulator-name = "smpa5";
+ regulator-min-microvolt = <900000>;
+ regulator-max-microvolt = <1000000>;
+ };
+
+ S5C: pm8195_2_s5: regulator-pm8195-2-s5 {
+ regulator-name = "smpc5";
+ regulator-min-microvolt = <1713000>;
+ regulator-max-microvolt = <2040000>;
+ };
+};
+
+&soc {
+ tcsr_compute_signal_glb: syscon@0x1fd8000 {
+ compatible = "syscon";
+ reg = <0x1fd8000 0x1000>;
+ };
+
+ tcsr_compute_signal_sender0: syscon@0x1fd9000 {
+ compatible = "syscon";
+ reg = <0x1fd9000 0x1000>;
+ };
+
+ tcsr_compute_signal_sender1: syscon@0x1fdd000 {
+ compatible = "syscon";
+ reg = <0x1fdd000 0x1000>;
+ };
+
+ tcsr_compute_signal_receiver0: syscon@0x1fdb000 {
+ compatible = "syscon";
+ reg = <0x1fdb000 0x1000>;
+ };
+
+ tcsr_compute_signal_receiver1: syscon@0x1fdf000 {
+ compatible = "syscon";
+ reg = <0x1fdf000 0x1000>;
+ };
+
+ hgsl_tcsr_sender0: hgsl_tcsr_sender0 {
+ compatible = "qcom,hgsl-tcsr-sender";
+ syscon = <&tcsr_compute_signal_sender0>;
+ syscon-glb = <&tcsr_compute_signal_glb>;
+ };
+
+ hgsl_tcsr_sender1: hgsl_tcsr_sender1 {
+ compatible = "qcom,hgsl-tcsr-sender";
+ syscon = <&tcsr_compute_signal_sender1>;
+ syscon-glb = <&tcsr_compute_signal_glb>;
+ };
+
+ hgsl_tcsr_receiver0: hgsl_tcsr_receiver0 {
+ compatible = "qcom,hgsl-tcsr-receiver";
+ syscon = <&tcsr_compute_signal_receiver0>;
+ interrupts = <0 238 IRQ_TYPE_LEVEL_HIGH>;
+ };
+
+ hgsl_tcsr_receiver1: hgsl_tcsr_receiver1 {
+ compatible = "qcom,hgsl-tcsr-receiver";
+ syscon = <&tcsr_compute_signal_receiver1>;
+ interrupts = <0 239 IRQ_TYPE_LEVEL_HIGH>;
+ };
+
+ msm_gpu_hyp: qcom,hgsl@0x2c00000 {
+ compatible = "qcom,hgsl";
+ reg = <0x2c00000 0x8>, <0x2c8f000 0x4>;
+ reg-names = "hgsl_reg_hwinf", "hgsl_reg_gmucx";
+
+ qcom,glb-db-senders = <&hgsl_tcsr_sender0
+ &hgsl_tcsr_sender1>;
+ qcom,glb-db-receivers = <&hgsl_tcsr_receiver0
+ &hgsl_tcsr_receiver1>;
+ };
};
diff --git a/qcom/sa8195p.dtsi b/qcom/sa8195p.dtsi
index fb46d767..89b1509d 100755
--- a/qcom/sa8195p.dtsi
+++ b/qcom/sa8195p.dtsi
@@ -171,7 +171,6 @@
vcc-max-microamp = <750000>;
vccq-max-microamp = <750000>;
vccq2-max-microamp = <750000>;
- qcom,disable-lpm;
qcom,vddp-ref-clk-supply = <&pm8195_2_l5>;
qcom,vddp-ref-clk-max-microamp = <100>;
diff --git a/qcom/sdmshrike-dma-heaps.dtsi b/qcom/sdmshrike-dma-heaps.dtsi
index a8e48717..e873e73a 100755
--- a/qcom/sdmshrike-dma-heaps.dtsi
+++ b/qcom/sdmshrike-dma-heaps.dtsi
@@ -24,8 +24,9 @@
qcom,qseecom {
qcom,dma-heap-name = "qcom,qseecom";
- qcom,dma-heap-type = <HEAP_TYPE_CARVEOUT>;
+ qcom,dma-heap-type = <HEAP_TYPE_CMA>;
memory-region = <&qseecom_mem>;
+ qcom,uncached-heap;
};
qcom,qseecom_ta {
diff --git a/qcom/sdmshrike.dtsi b/qcom/sdmshrike.dtsi
index 59710463..3180dd22 100755
--- a/qcom/sdmshrike.dtsi
+++ b/qcom/sdmshrike.dtsi
@@ -403,11 +403,6 @@
reg = <0x0 0x8b700000 0x0 0x500000>;
};
- pil_wlan_fw_mem: pil_wlan_fw_region@8bc00000 {
- no-map;
- reg = <0x0 0x8bc00000 0x0 0x180000>;
- };
-
pil_npu_mem: pil_npu_region@8bd80000 {
no-map;
reg = <0x0 0x8bd80000 0x0 0x80000>;
@@ -1449,7 +1444,7 @@
memory-region = <&rproc_adsp_mem>;
/* Inputs from ssc */
- interrupts-extended = <&pdc 6 IRQ_TYPE_EDGE_RISING>,
+ interrupts-extended = <&intc GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>,
<&adsp_smp2p_in 0 0>,
<&adsp_smp2p_in 2 0>,
<&adsp_smp2p_in 1 0>,
@@ -1783,6 +1778,7 @@
qtee_shmbridge {
compatible = "qcom,tee-shared-memory-bridge";
+ qcom,disable-shmbridge-support;
};
qcom_qseecom: qseecom@87900000 {
@@ -1802,6 +1798,49 @@
qcom,qsee-reentrancy-support = <2>;
};
+ qcom_cedev: qcedev@1de0000 {
+ compatible = "qcom,qcedev";
+ reg = <0x1de0000 0x20000>,
+ <0x1dc4000 0x28000>;
+ reg-names = "crypto-base","crypto-bam-base";
+ interrupts = <GIC_SPI 272 IRQ_TYPE_LEVEL_HIGH>;
+ qcom,bam-pipe-pair = <2>;
+ qcom,ce-hw-instance = <0>;
+ qcom,ce-device = <0>;
+ qcom,ce-hw-shared;
+ qcom,bam-ee = <0>;
+ qcom,smmu-s1-enable;
+ qcom,no-clock-support;
+ interconnect-names = "data_path";
+ interconnects = <&aggre2_noc MASTER_CRYPTO &mc_virt SLAVE_EBI1>;
+ iommus = <&apps_smmu 0x0512 0x0000>,
+ <&apps_smmu 0x051C 0x0005>,
+ <&apps_smmu 0x051D 0x0005>,
+ <&apps_smmu 0x051F 0x0000>;
+ qcom,iommu-dma = "atomic";
+ dma-coherent;
+
+ qcom_cedev_ns_cb {
+ compatible = "qcom,qcedev,context-bank";
+ label = "ns_context";
+ iommus = <&apps_smmu 0x0504 0x0013>,
+ <&apps_smmu 0x0508 0x0001>,
+ <&apps_smmu 0x0514 0x0013>,
+ <&apps_smmu 0x0518 0x0005>;
+ dma-coherent;
+ };
+
+ qcom_cedev_s_cb {
+ compatible = "qcom,qcedev,context-bank";
+ label = "secure_context";
+ iommus = <&apps_smmu 0x0513 0x0000>,
+ <&apps_smmu 0x051E 0x0000>;
+ qcom,iommu-vmid = <0x9>;
+ qcom,secure-context-bank;
+ dma-coherent;
+ };
+ };
+
qcom_rng: qrng@793000 {
compatible = "qcom,msm-rng";
reg = <0x793000 0x1000>;
@@ -1970,6 +2009,8 @@
dma-coherent;
};
};
+
+ msm_gpu: qcom,kgsl-3d0@2c00000 { };
};
&firmware {
diff --git a/qcom/sdxbaagha-pcie.dtsi b/qcom/sdxbaagha-pcie.dtsi
index b50fea61..d39e9848 100755
--- a/qcom/sdxbaagha-pcie.dtsi
+++ b/qcom/sdxbaagha-pcie.dtsi
@@ -47,7 +47,7 @@
&pcie0_perst_default
&pcie0_wake_default>;
- gdsc-vdd-supply = <&gcc_pcie_gdsc>;
+ gdsc-core-vdd-supply = <&gcc_pcie_gdsc>;
vreg-1p2-supply = <&L14A>;
vreg-0p9-supply = <&L3A>;
@@ -70,7 +70,7 @@
100000000>;
interconnect-names = "icc_path";
- //interconnects = <&system_noc MASTER_PCIE_0 &mc_virt SLAVE_EBI1>;
+ interconnects = <&pcie_anoc MASTER_PCIE_0 &mc_virt SLAVE_EBI1>;
clocks = <&gcc GCC_PCIE_PIPE_CLK>,
<&rpmhcc RPMH_CXO_CLK>,
@@ -106,7 +106,8 @@
iommu-map = <0x0 &apps_smmu 0x0400 0x1>,
<0x100 &apps_smmu 0x0401 0x1>;
- qcom,target-link-speed = <1>;
+ qcom,target-link-speed = <2>;
+ qcom,boot-option = <0x1>;
qcom,aux-clk-freq = <20>; /* 19.2 MHz */
qcom,tpwr-on-scale = <1>;
qcom,tpwr-on-value = <9>;
diff --git a/qcom/sdxbaagha-pinctrl.dtsi b/qcom/sdxbaagha-pinctrl.dtsi
index 2b9c9bb2..670aeac4 100755
--- a/qcom/sdxbaagha-pinctrl.dtsi
+++ b/qcom/sdxbaagha-pinctrl.dtsi
@@ -19,7 +19,7 @@
config {
pins = "gpio8";
- drive-strength= <2>;
+ drive-strength = <2>;
bias-disable;
};
};
@@ -32,7 +32,7 @@
config {
pins = "gpio9";
- drive-strength= <2>;
+ drive-strength = <2>;
bias-disable;
};
};
@@ -51,6 +51,374 @@
};
};
+ qupv3_se0_2uart_pins: qupv3_se0_2uart_pins {
+ qupv3_se0_2uart_tx_active: qupv3_se0_2uart_tx_active {
+ mux {
+ pins = "gpio48";
+ function = "qup0_se0_l2";
+ };
+
+ config {
+ pins = "gpio48";
+ drive-strength = <2>;
+ bias-disable;
+ };
+ };
+
+ qupv3_se0_2uart_rx_active: qupv3_se0_2uart_rx_active {
+ mux {
+ pins = "gpio49";
+ function = "qup0_se0_l3";
+ };
+
+ config {
+ pins = "gpio49";
+ drive-strength = <2>;
+ bias-disable;
+ };
+ };
+
+ qupv3_se0_2uart_sleep: qupv3_se0_2uart_sleep {
+ mux {
+ pins = "gpio48", "gpio49";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio48", "gpio49";
+ drive-strength = <2>;
+ bias-pull-down;
+ };
+ };
+ };
+
+ qupv3_se1_4uart_pins: qupv3_se1_4uart_pins {
+ qupv3_se1_default_cts: qupv3_se1_default_cts {
+ mux {
+ pins = "gpio65";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio65";
+ drive-strength = <2>;
+ bias-disable;
+ };
+ };
+
+ qupv3_se1_default_rts: qupv3_se1_default_rts {
+ mux {
+ pins = "gpio66";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio66";
+ drive-strength = <2>;
+ bias-pull-down;
+ };
+ };
+
+ qupv3_se1_default_tx: qupv3_se1_default_tx {
+ mux {
+ pins = "gpio63";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio63";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+
+ qupv3_se1_default_rx: qupv3_se1_default_rx {
+ mux {
+ pins = "gpio64";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio64";
+ drive-strength = <2>;
+ bias-pull-down;
+ };
+ };
+
+ qupv3_se1_cts: qupv3_se1_cts {
+ mux {
+ pins = "gpio65";
+ function = "qup0_se1_l0";
+ };
+
+ config {
+ pins = "gpio65";
+ drive-strength = <2>;
+ bias-disable;
+ };
+ };
+
+ qupv3_se1_rts: qupv3_se1_rts {
+ mux {
+ pins = "gpio66";
+ function = "qup0_se1_l1";
+ };
+
+ config {
+ pins = "gpio66";
+ drive-strength = <2>;
+ bias-pull-down;
+ };
+ };
+
+ qupv3_se1_tx: qupv3_se1_tx {
+ mux {
+ pins = "gpio63";
+ function = "qup0_se1_l2";
+ };
+
+ config {
+ pins = "gpio63";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+
+ qupv3_se1_rx: qupv3_se1_rx {
+ mux {
+ pins = "gpio64";
+ function = "qup0_se1_l3";
+ };
+
+ config {
+ pins = "gpio64";
+ drive-strength = <2>;
+ bias-disable;
+ };
+ };
+ };
+
+ qupv3_se2_i2c_pins: qupv3_se2_i2c_pins {
+ qupv3_se2_i2c_sda_active: qupv3_se2_i2c_sda_active {
+ mux {
+ pins = "gpio5";
+ function = "qup0_se2_l0";
+ };
+
+ config {
+ pins = "gpio5";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+
+ qupv3_se2_i2c_scl_active: qupv3_se2_i2c_scl_active {
+ mux {
+ pins = "gpio4";
+ function = "qup0_se2_l1";
+ };
+
+ config {
+ pins = "gpio4";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+
+ qupv3_se2_i2c_sleep: qupv3_se2_i2c_sleep {
+ mux {
+ pins = "gpio5", "gpio4";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio5", "gpio4";
+ drive-strength = <2>;
+ bias-pull-down;
+ };
+ };
+ };
+
+ qupv3_se2_spi_pins: qupv3_se2_spi_pins {
+ qupv3_se2_spi_miso_active: qupv3_se2_spi_miso_active {
+ mux {
+ pins = "gpio5";
+ function = "qup0_se2_l0";
+ };
+
+ config {
+ pins = "gpio5";
+ drive-strength = <6>;
+ bias-disable;
+ };
+ };
+
+ qupv3_se2_spi_mosi_active: qupv3_se2_spi_mosi_active {
+ mux {
+ pins = "gpio4";
+ function = "qup0_se2_l1";
+ };
+
+ config {
+ pins = "gpio4";
+ drive-strength = <6>;
+ bias-disable;
+ };
+ };
+
+ qupv3_se2_spi_clk_active: qupv3_se2_spi_clk_active {
+ mux {
+ pins = "gpio7";
+ function = "qup0_se2_l2";
+ };
+
+ config {
+ pins = "gpio7";
+ drive-strength = <6>;
+ bias-disable;
+ };
+ };
+
+ qupv3_se2_spi_cs_active: qupv3_se2_spi_cs_active {
+ mux {
+ pins = "gpio6";
+ function = "qup0_se2_l3";
+ };
+
+ config {
+ pins = "gpio6";
+ drive-strength = <6>;
+ bias-disable;
+ };
+ };
+
+ qupv3_se2_spi_sleep: qupv3_se2_spi_sleep {
+ mux {
+ pins = "gpio5", "gpio4",
+ "gpio7", "gpio6";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio5", "gpio4",
+ "gpio7", "gpio6";
+ drive-strength = <2>;
+ bias-pull-down;
+ };
+ };
+ };
+
+ qupv3_se4_i2c_pins: qupv3_se4_i2c_pins {
+ qupv3_se4_i2c_sda_active: qupv3_se4_i2c_sda_active {
+ mux {
+ pins = "gpio10";
+ function = "qup0_se4_l0";
+ };
+
+ config {
+ pins = "gpio10";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+
+ qupv3_se4_i2c_scl_active: qupv3_se4_i2c_scl_active {
+ mux {
+ pins = "gpio11";
+ function = "qup0_se4_l1";
+ };
+
+ config {
+ pins = "gpio11";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+
+ qupv3_se4_i2c_sleep: qupv3_se4_i2c_sleep {
+ mux {
+ pins = "gpio10", "gpio11";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio10", "gpio11";
+ drive-strength = <2>;
+ bias-pull-down;
+ };
+ };
+ };
+
+ qupv3_se4_spi_pins: qupv3_se4_spi_pins {
+ qupv3_se4_spi_miso_active: qupv3_se4_spi_miso_active {
+ mux {
+ pins = "gpio10";
+ function = "qup0_se4_l0";
+ };
+
+ config {
+ pins = "gpio10";
+ drive-strength = <6>;
+ bias-disable;
+ };
+ };
+
+ qupv3_se4_spi_mosi_active: qupv3_se4_spi_mosi_active {
+ mux {
+ pins = "gpio11";
+ function = "qup0_se4_l1";
+ };
+
+ config {
+ pins = "gpio11";
+ drive-strength = <6>;
+ bias-disable;
+ };
+ };
+
+ qupv3_se4_spi_clk_active: qupv3_se4_spi_clk_active {
+ mux {
+ pins = "gpio80";
+ function = "qup0_se4_l2";
+ };
+
+ config {
+ pins = "gpio80";
+ drive-strength = <6>;
+ bias-disable;
+ };
+ };
+
+ qupv3_se4_spi_cs_active: qupv3_se4_spi_cs_active {
+ mux {
+ pins = "gpio81";
+ function = "qup0_se4_l3";
+ };
+
+ config {
+ pins = "gpio81";
+ drive-strength = <6>;
+ bias-disable;
+ };
+ };
+
+ qupv3_se4_spi_sleep: qupv3_se4_spi_sleep {
+ mux {
+ pins = "gpio10", "gpio11",
+ "gpio80", "gpio81";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio10", "gpio11",
+ "gpio80", "gpio81";
+ drive-strength = <2>;
+ bias-pull-down;
+ };
+ };
+ };
+
+
pcie_ep {
pcie_ep_clkreq_default: pcie_ep_clkreq_default {
mux {
@@ -92,59 +460,59 @@
};
};
};
- };
-pcie0 {
- pcie0_perst_default: pcie0_perst_default {
- mux {
- pins = "gpio57";
- function = "gpio";
- };
- config {
- pins = "gpio57";
- drive-strength = <2>;
- bias-pull-down;
- };
- };
+ pcie0 {
+ pcie0_perst_default: pcie0_perst_default {
+ mux {
+ pins = "gpio57";
+ function = "gpio";
+ };
- pcie0_clkreq_default: pcie0_clkreq_default {
- mux {
- pins = "gpio56";
- function = "pcie0_clkreq_n";
+ config {
+ pins = "gpio57";
+ drive-strength = <2>;
+ bias-pull-down;
+ };
};
- config {
- pins = "gpio56";
- drive-strength = <2>;
- bias-pull-up;
- };
- };
+ pcie0_clkreq_default: pcie0_clkreq_default {
+ mux {
+ pins = "gpio56";
+ function = "pcie0_clkreq_n";
+ };
- pcie0_wake_default: pcie0_wake_default {
- mux {
- pins = "gpio53";
- function = "gpio";
+ config {
+ pins = "gpio56";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
};
- config {
- pins = "gpio53";
- drive-strength = <2>;
- bias-pull-up;
- };
- };
+ pcie0_wake_default: pcie0_wake_default {
+ mux {
+ pins = "gpio53";
+ function = "gpio";
+ };
- pcie0_clkreq_sleep: pcie0_clkreq_sleep {
- mux {
- pins = "gpio56";
- function = "gpio";
+ config {
+ pins = "gpio53";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
};
- config {
- pins = "gpio56";
- drive-strength = <2>;
- bias-pull-up;
+ pcie0_clkreq_sleep: pcie0_clkreq_sleep {
+ mux {
+ pins = "gpio56";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio56";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
};
};
};
-
};
diff --git a/qcom/sdxbaagha-pmic-overlay.dtsi b/qcom/sdxbaagha-pmic-overlay.dtsi
new file mode 100755
index 00000000..1a54923c
--- /dev/null
+++ b/qcom/sdxbaagha-pmic-overlay.dtsi
@@ -0,0 +1,196 @@
+#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
+#include <dt-bindings/iio/qcom,spmi-vadc.h>
+#include "pmx35.dtsi"
+
+&pmx35_gpios {
+ smb_int {
+ smb_int_default: smb_int_default {
+ pins = "gpio7";
+ function = "normal";
+ input-enable;
+ bias-pull-up;
+ qcom,pull-up-strength = <PMIC_GPIO_PULL_UP_30>;
+ power-source = <0>;
+ };
+ };
+
+ batt_id {
+ batt_id_default: batt_id_default {
+ pins = "gpio6";
+ bias-high-impedance;
+ };
+ };
+};
+
+&qupv3_se4_i2c {
+ smb23x-lbc@24 {
+ compatible = "qcom,smb231-lbc";
+ reg = <0x24>;
+ interrupt-parent = <&pmx35_gpios>;
+ interrupts = <&pmx35_gpios 7 IRQ_TYPE_LEVEL_LOW>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&smb_int_default>;
+ #io-channel-cells = <1>;
+ io-channels = <&pmx35_vadc PMX35_ADC5_GEN3_AMUX3_GPIO6_100K_PU>;
+ io-channel-names = "batt-id";
+
+ qcom,bms-psy-name = "bms";
+ qcom,float-voltage-mv = <4350>;
+ qcom,charging-timeout = <360>;
+ qcom,recharge-thresh-mv = <150>;
+ qcom,iterm-ma = <50>;
+ qcom,fastchg-ma = <1000>;
+ qcom,hot-bat-decidegc = <450>;
+ qcom,warm-bat-decidegc = <400>;
+ qcom,cool-bat-decidegc = <50>;
+ qcom,cold-bat-decidegc = <(0)>;
+ qcom,soft-temp-vfloat-comp-mv = <200>;
+ qcom,soft-temp-current-comp-ma = <400>;
+ qcom,chg-inhibit-disabled;
+ qcom,apsd-disabled;
+ qcom,thermal-mitigation = <1500 900 500 100>;
+ };
+};
+
+&soc {
+ pmic-pon-log {
+ compatible = "qcom,pmic-pon-log";
+ nvmem = <&pmx35_sdam_2>;
+ nvmem-names = "pon_log";
+ };
+};
+
+&pmx35_vbus_detect {
+ status = "okay";
+};
+
+&pmx35_vadc {
+ status = "okay";
+ pinctrl-names = "default";
+ pinctrl-0 = <&batt_id_default>;
+ pmx35_batt_id {
+ reg = <PMX35_ADC5_GEN3_AMUX3_GPIO6_100K_PU>;
+ label = "batt_id";
+ qcom,ratiometric;
+ qcom,hw-settle-time = <200>;
+ qcom,pre-scaling = <1 1>;
+ qcom,scale-fn-type = <ADC_SCALE_HW_CALIB_PM5_GEN3_BATT_ID_100K>;
+ };
+
+ pmx35_quiet_therm {
+ reg = <PMX35_ADC5_GEN3_AMUX_THM2_100K_PU>;
+ label = "pmx35_quiet_therm";
+ qcom,ratiometric;
+ qcom,adc-tm-type = <1>;
+ qcom,hw-settle-time = <200>;
+ qcom,pre-scaling = <1 1>;
+ };
+
+ pmx35_xo_therm {
+ reg = <PMX35_ADC5_GEN3_AMUX_THM5_100K_PU>;
+ label = "pmx35_xo_therm";
+ qcom,ratiometric;
+ qcom,adc-tm-type = <1>;
+ qcom,hw-settle-time = <200>;
+ qcom,pre-scaling = <1 1>;
+ };
+
+ pa-therm1 {
+ reg = <PMX35_ADC5_GEN3_AMUX_THM1_100K_PU>;
+ label = "pmx35_pa_therm1";
+ qcom,ratiometric;
+ qcom,adc-tm-type = <1>;
+ qcom,hw-settle-time = <200>;
+ qcom,pre-scaling = <1 1>;
+ };
+
+ mdm-skin-therm {
+ reg = <PMX35_ADC5_GEN3_AMUX_THM3_100K_PU>;
+ label = "mdm-skin-therm";
+ qcom,ratiometric;
+ qcom,adc-tm-type = <1>;
+ qcom,hw-settle-time = <200>;
+ qcom,pre-scaling = <1 1>;
+ };
+
+};
+
+&thermal_zones {
+ sys-therm-0 {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-sensors = <&pmx35_vadc PMX35_ADC5_GEN3_AMUX_THM1_100K_PU>;
+ trips {
+ active-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+
+ active-config1 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ sys-therm-1 {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-sensors = <&pmx35_vadc PMX35_ADC5_GEN3_AMUX_THM3_100K_PU>;
+ trips {
+ active-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+
+ active-config1 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ sys-therm-2 {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-sensors = <&pmx35_vadc PMX35_ADC5_GEN3_AMUX_THM5_100K_PU>;
+ trips {
+ active-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+
+ active-config1 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ sys-therm-3 {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-governor = "user_space";
+ thermal-sensors = <&pmx35_vadc PMX35_ADC5_GEN3_AMUX_THM2_100K_PU>;
+ wake-capable-sensor;
+ trips {
+ active-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+
+ active-config1 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+};
diff --git a/qcom/sdxbaagha-qupv3.dtsi b/qcom/sdxbaagha-qupv3.dtsi
index 8a77bfff..945ad02e 100755
--- a/qcom/sdxbaagha-qupv3.dtsi
+++ b/qcom/sdxbaagha-qupv3.dtsi
@@ -1,4 +1,33 @@
&soc {
+ /* QUPv3 SE Instances
+ * Qup0 0: SE 0
+ * Qup0 1: SE 1
+ * Qup0 2: SE 2
+ * Qup0 3: SE 3
+ * Qup0 4: SE 4
+ */
+
+ /* GPI Instance */
+ gpi_dma0: qcom,gpi-dma@900000 {
+ compatible = "qcom,gpi-dma";
+ #dma-cells = <5>;
+ reg = <0x900000 0x60000>;
+ reg-names = "gpi-top";
+ iommus = <&apps_smmu 0x156 0x0>;
+ qcom,max-num-gpii = <5>;
+ interrupts = <GIC_SPI 308 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 309 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 310 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 311 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 312 IRQ_TYPE_LEVEL_HIGH>;
+ qcom,gpii-mask = <0xf>;
+ qcom,ev-factor = <2>;
+ qcom,iommu-dma-addr-pool = <0x100000 0x100000>;
+ qcom,gpi-ee-offset = <0x10000>;
+ dma-coherent;
+ status = "ok";
+ };
+
/* QUPv3_0 wrapper instance */
qupv3_0: qcom,qupv3_0_geni_se@9c0000 {
compatible = "qcom,geni-se-qup";
@@ -9,7 +38,7 @@
clocks = <&gcc GCC_QUPV3_WRAP_0_M_AHB_CLK>,
<&gcc GCC_QUPV3_WRAP_0_S_AHB_CLK>;
/*
- * iommus = <&apps_smmu 0xa3 0x0>;
+ * iommus = <&apps_smmu 0x143 0x0>;
* qcom,iommu-dma-addr-pool = <0x40000000 0x10000000>;
* qcom,iommu-geometry = <0x40000000 0x10000000>;
* qcom,iommu-dma = "fastmap";
@@ -18,7 +47,7 @@
ranges;
status = "ok";
- /*PORed Debug UART Instance */
+ /* PORed Debug UART Instance */
qupv3_se3_2uart: qcom,qup_uart@98c000 {
compatible = "qcom,geni-debug-uart";
reg = <0x98c000 0x4000>;
@@ -29,14 +58,167 @@
/*
* interconnect-names = "qup-core", "qup-config", "qup-memory";
* interconnects =
- * <&clk_virt MASTER_QUP_CORE_1 &clk_virt SLAVE_QUP_CORE_1>,
- * <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_QUP_1>,
- * <&aggre1_noc MASTER_QUP_1 &mc_virt SLAVE_EBI1>;
+ * <&clk_virt MASTER_QUP_CORE_0 &clk_virt SLAVE_QUP_CORE_0>,
+ * <&mem_noc MASTER_APPSS_PROC &cnoc_main SLAVE_QUP_0>,
+ * <&aggre_noc MASTER_QUP_0 &mc_virt SLAVE_EBI1>;
*/
pinctrl-names = "default", "sleep";
pinctrl-0 = <&qupv3_se3_2uart_tx_active>, <&qupv3_se3_2uart_rx_active>;
pinctrl-1 = <&qupv3_se3_2uart_sleep>;
status = "disabled";
};
+
+ /* IPC HS UART Instance */
+ qupv3_se0_2uart: qcom,qup_uart@980000 {
+ compatible = "qcom,msm-geni-serial-hs";
+ reg = <0x980000 0x4000>;
+ reg-names = "se_phys";
+ interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP0_S0_CLK>;
+ /*
+ * interconnect-names = "qup-core", "qup-config", "qup-memory";
+ * interconnects =
+ * <&clk_virt MASTER_QUP_CORE_0 &clk_virt SLAVE_QUP_CORE_0>,
+ * <&mem_noc MASTER_APPSS_PROC &cnoc_main SLAVE_QUP_0>,
+ * <&aggre_noc MASTER_QUP_0 &mc_virt SLAVE_EBI1>;
+ */
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se0_2uart_tx_active>, <&qupv3_se0_2uart_rx_active>;
+ pinctrl-1 = <&qupv3_se0_2uart_sleep>;
+ status = "disabled";
+ };
+
+ /* BT HCI UART Instance */
+ qupv3_se1_4uart: qcom,qup_uart@984000 {
+ compatible = "qcom,msm-geni-serial-hs";
+ reg = <0x984000 0x4000>;
+ reg-names = "se_phys";
+ interrupts-extended = <&intc GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>,
+ <&tlmm 64 IRQ_TYPE_LEVEL_HIGH>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP0_S1_CLK>;
+ /*
+ * interconnect-names = "qup-core", "qup-config", "qup-memory";
+ * interconnects =
+ * <&clk_virt MASTER_QUP_CORE_0 &clk_virt SLAVE_QUP_CORE_0>,
+ * <&mem_noc MASTER_APPSS_PROC &cnoc_main SLAVE_QUP_0>,
+ * <&aggre_noc MASTER_QUP_0 &mc_virt SLAVE_EBI1>;
+ */
+ pinctrl-names = "default", "active", "sleep", "shutdown";
+ pinctrl-0 = <&qupv3_se1_default_cts>, <&qupv3_se1_default_rts>,
+ <&qupv3_se1_default_tx>, <&qupv3_se1_default_rx>;
+ pinctrl-1 = <&qupv3_se1_cts>, <&qupv3_se1_rts>,
+ <&qupv3_se1_tx>, <&qupv3_se1_rx>;
+ pinctrl-2 = <&qupv3_se1_cts>, <&qupv3_se1_rts>,
+ <&qupv3_se1_tx>, <&qupv3_se1_default_rx>;
+ pinctrl-3 = <&qupv3_se1_default_cts>, <&qupv3_se1_default_rts>,
+ <&qupv3_se1_default_tx>, <&qupv3_se1_default_rx>;
+ qcom,wakeup-byte = <0xFD>;
+ status = "disabled";
+ };
+
+ qupv3_se2_i2c: i2c@988000 {
+ compatible = "qcom,i2c-geni";
+ reg = <0x988000 0x4000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP0_S2_CLK>;
+ /*
+ * interconnect-names = "qup-core", "qup-config", "qup-memory";
+ * interconnects =
+ * <&clk_virt MASTER_QUP_CORE_0 &clk_virt SLAVE_QUP_CORE_0>,
+ * <&mem_noc MASTER_APPSS_PROC &cnoc_main SLAVE_QUP_0>,
+ * <&aggre_noc MASTER_QUP_0 &mc_virt SLAVE_EBI1>;
+ */
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se2_i2c_sda_active>, <&qupv3_se2_i2c_scl_active>;
+ pinctrl-1 = <&qupv3_se2_i2c_sleep>;
+ dmas = <&gpi_dma0 0 2 3 64 0>,
+ <&gpi_dma0 1 2 3 64 0>;
+ dma-names = "tx", "rx";
+ status = "disabled";
+ };
+
+ qupv3_se2_spi: spi@988000 {
+ compatible = "qcom,spi-geni";
+ reg = <0x988000 0x4000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg-names = "se_phys";
+ interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP0_S2_CLK>;
+ /*
+ * interconnect-names = "qup-core", "qup-config", "qup-memory";
+ * interconnects =
+ * <&clk_virt MASTER_QUP_CORE_0 &clk_virt SLAVE_QUP_CORE_0>,
+ * <&mem_noc MASTER_APPSS_PROC &cnoc_main SLAVE_QUP_0>,
+ * <&aggre_noc MASTER_QUP_0 &mc_virt SLAVE_EBI1>;
+ */
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se2_spi_mosi_active>, <&qupv3_se2_spi_miso_active>,
+ <&qupv3_se2_spi_clk_active>, <&qupv3_se2_spi_cs_active>;
+ pinctrl-1 = <&qupv3_se2_spi_sleep>;
+ dmas = <&gpi_dma0 0 2 1 64 0>,
+ <&gpi_dma0 1 2 1 64 0>;
+ dma-names = "tx", "rx";
+ spi-max-frequency = <50000000>;
+ status = "disabled";
+ };
+
+ qupv3_se4_i2c: i2c@990000 {
+ compatible = "qcom,i2c-geni";
+ reg = <0x990000 0x4000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP0_S4_CLK>;
+ /*
+ * interconnect-names = "qup-core", "qup-config", "qup-memory";
+ * interconnects =
+ * <&clk_virt MASTER_QUP_CORE_0 &clk_virt SLAVE_QUP_CORE_0>,
+ * <&mem_noc MASTER_APPSS_PROC &cnoc_main SLAVE_QUP_0>,
+ * <&aggre_noc MASTER_QUP_0 &mc_virt SLAVE_EBI1>;
+ */
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se4_i2c_sda_active>, <&qupv3_se4_i2c_scl_active>;
+ pinctrl-1 = <&qupv3_se4_i2c_sleep>;
+ dmas = <&gpi_dma0 0 4 3 64 0>,
+ <&gpi_dma0 1 4 3 64 0>;
+ dma-names = "tx", "rx";
+ qcom,shared;
+ status = "disabled";
+ };
+
+ qupv3_se4_spi: spi@990000 {
+ compatible = "qcom,spi-geni";
+ reg = <0x990000 0x4000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg-names = "se_phys";
+ interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
+ clock-names = "se-clk";
+ clocks = <&gcc GCC_QUPV3_WRAP0_S4_CLK>;
+ /*
+ * interconnect-names = "qup-core", "qup-config", "qup-memory";
+ * interconnects =
+ * <&clk_virt MASTER_QUP_CORE_0 &clk_virt SLAVE_QUP_CORE_0>,
+ * <&mem_noc MASTER_APPSS_PROC &cnoc_main SLAVE_QUP_0>,
+ * <&aggre_noc MASTER_QUP_0 &mc_virt SLAVE_EBI1>;
+ */
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&qupv3_se4_spi_mosi_active>, <&qupv3_se4_spi_miso_active>,
+ <&qupv3_se4_spi_clk_active>, <&qupv3_se4_spi_cs_active>;
+ pinctrl-1 = <&qupv3_se4_spi_sleep>;
+ dmas = <&gpi_dma0 0 4 1 64 0>,
+ <&gpi_dma0 1 4 1 64 0>;
+ dma-names = "tx", "rx";
+ spi-max-frequency = <50000000>;
+ status = "disabled";
+ };
};
};
diff --git a/qcom/sdxbaagha-regulators.dtsi b/qcom/sdxbaagha-regulators.dtsi
index 3671dbe3..4d38a328 100755
--- a/qcom/sdxbaagha-regulators.dtsi
+++ b/qcom/sdxbaagha-regulators.dtsi
@@ -1,6 +1,6 @@
#include <dt-bindings/regulator/qcom,rpmh-regulator-levels.h>
-&apps_rsc_drv1 {
+&apps_rsc_drv2 {
rpmh-regulator-cxlvl {
compatible = "qcom,rpmh-arc-regulator";
qcom,resource-name = "cx.lvl";
@@ -35,6 +35,7 @@
qcom,init-voltage-level =
<RPMH_REGULATOR_LEVEL_RETENTION>;
};
+ };
rpmh-regulator-mxlvl {
compatible = "qcom,rpmh-arc-regulator";
diff --git a/qcom/sdxbaagha-rumi.dtsi b/qcom/sdxbaagha-rumi.dtsi
index e3f70810..d4750a43 100755
--- a/qcom/sdxbaagha-rumi.dtsi
+++ b/qcom/sdxbaagha-rumi.dtsi
@@ -1,6 +1,6 @@
&soc {
pcie0: qcom,pcie@1bf0000 {
- status = "disabled";
+ status = "ok";
reg = <0x01bf0000 0x4000>,
<0x01bf6000 0x2000>,
<0x48000000 0xf1d>,
diff --git a/qcom/sdxbaagha.dtsi b/qcom/sdxbaagha.dtsi
index 8128cc80..becc6be6 100755
--- a/qcom/sdxbaagha.dtsi
+++ b/qcom/sdxbaagha.dtsi
@@ -4,8 +4,10 @@
#include <dt-bindings/soc/qcom,ipcc.h>
#include <dt-bindings/interconnect/qcom,icc.h>
#include <dt-bindings/interconnect/qcom,sdxbaagha.h>
+#include <dt-bindings/regulator/qcom,rpmh-regulator-levels.h>
#include <dt-bindings/soc/qcom,rpmh-rsc.h>
#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/spmi/spmi.h>
/ {
#address-cells = <1>;
@@ -18,6 +20,8 @@
aliases {
serial0 = &qupv3_se3_2uart;
+ serial1 = &qupv3_se0_2uart; /* MDM SAP UART Instance */
+ hsuart0 = &qupv3_se1_4uart; /* HST BT HCI UART Instance */
};
chosen {
@@ -149,7 +153,6 @@
soc: soc { };
};
-#include "sdxbaagha-stub-regulator.dtsi"
&soc {
#address-cells = <1>;
@@ -247,23 +250,29 @@
label = "apps_rsc";
compatible = "qcom,rpmh-rsc";
reg = <0x17040000 0x10000>,
- <0x17050000 0x10000>;
- reg-names = "drv-0", "drv-1";
- qcom,drv-count = <2>;
+ <0x17050000 0x10000>,
+ <0x17060000 0x10000>;
+ reg-names = "drv-0", "drv-1", "drv-2";
+ qcom,drv-count = <3>;
interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>, /* dummy */
<GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
- apps_rsc_drv1: drv@1 {
- qcom,drv-id = <1>;
+ apps_rsc_drv2: drv@2 {
+ qcom,drv-id = <2>;
qcom,tcs-offset = <0xd00>;
channel@0 {
qcom,tcs-config = <ACTIVE_TCS 2>,
- <SLEEP_TCS 1>,
- <WAKE_TCS 1>,
+ <SLEEP_TCS 3>,
+ <WAKE_TCS 3>,
<CONTROL_TCS 0>,
<FAST_PATH_TCS 0>;
};
+ apps_bcm_voter: bcm_voter {
+ compatible = "qcom,bcm-voter";
+ };
+
rpmhcc: clock-controller {
compatible = "qcom,sdxbaagha-rpmh-clk";
#clock-cells = <1>;
@@ -497,51 +506,74 @@
#mbox-cells = <2>;
};
- mc_virt: interconnect@0 {
+ clk_virt: interconnect@0 {
+ compatible = "qcom,sdxbaagha-clk_virt";
+ #interconnect-cells = <1>;
+ qcom,skip-qos;
+ qcom,bcm-voter-names = "hlos";
+ qcom,bcm-voters = <&apps_bcm_voter>;
+ };
+
+ mc_virt: interconnect@1 {
compatible = "qcom,sdxbaagha-mc_virt";
#interconnect-cells = <1>;
- qcom,stub;
qcom,skip-qos;
+ qcom,bcm-voter-names = "hlos";
+ qcom,bcm-voters = <&apps_bcm_voter>;
};
aggre_noc: interconnect@1640000 {
reg = <0x1640000 0x33400>;
compatible = "qcom,sdxbaagha-aggre_noc";
#interconnect-cells = <1>;
- qcom,stub;
qcom,skip-qos;
+ qcom,bcm-voter-names = "hlos";
+ qcom,bcm-voters = <&apps_bcm_voter>;
};
cnoc_main: interconnect@1580000 {
reg = <0x01580000 0x19200>;
compatible = "qcom,sdxbaagha-cnoc_main";
#interconnect-cells = <1>;
- qcom,stub;
qcom,skip-qos;
+ qcom,bcm-voter-names = "hlos";
+ qcom,bcm-voters = <&apps_bcm_voter>;
};
- dc_noc_dch: interconnect@190E0000 {
+ dc_noc: interconnect@190E0000 {
reg = <0x190E0000 0x5080>;
- compatible = "qcom,sdxbaagha-dc_noc_dch";
+ compatible = "qcom,sdxbaagha-dc_noc";
#interconnect-cells = <1>;
- qcom,stub;
qcom,skip-qos;
+ qcom,bcm-voter-names = "hlos";
+ qcom,bcm-voters = <&apps_bcm_voter>;
};
mem_noc: interconnect@19100000 {
reg = <0x19100000 0x2D080>;
compatible = "qcom,sdxbaagha-mem_noc";
#interconnect-cells = <1>;
- qcom,stub;
qcom,skip-qos;
+ qcom,bcm-voter-names = "hlos";
+ qcom,bcm-voters = <&apps_bcm_voter>;
};
- snoc: interconnect@15C0000 {
+ pcie_anoc: interconnect@16C0000 {
+ reg = <0x16C0000 0x16400>;
+ compatible = "qcom,sdxbaagha-pcie_anoc";
+ #interconnect-cells = <1>;
+ qcom,skip-qos;
+ qcom,bcm-voter-names = "hlos";
+ qcom,bcm-voters = <&apps_bcm_voter>;
+ };
+
+ system_noc: interconnect@15C0000 {
reg = <0x15C0000 0x14080>;
- compatible = "qcom,sdxbaagha-snoc";
+ compatible = "qcom,sdxbaagha-system_noc";
#interconnect-cells = <1>;
- qcom,stub;
qcom,skip-qos;
+ qcom,bcm-voter-names = "hlos";
+ qcom,bcm-voters = <&apps_bcm_voter>;
};
qcom,sps {
@@ -613,7 +645,7 @@
reset-names = "pcie_core_reset", "pcie_phy_reset";
interconnect-names = "icc_path";
- interconnects = <&aggre_noc MASTER_PCIE_0 &mc_virt SLAVE_EBI1>;
+ interconnects = <&pcie_anoc MASTER_PCIE_0 &mc_virt SLAVE_EBI1>;
qcom,pcie-vendor-id = /bits/ 16 <0x17cb>;
qcom,pcie-device-id = /bits/ 16 <0x011a>;
@@ -624,6 +656,7 @@
qcom,pcie-mhi-a7-irq;
qcom,phy-status-reg2 = <0x214>;
qcom,mhi-soc-reset-offset = <0xb001b8>;
+ qcom,pcie-cesta-clkreq-offset = <0x30b8>;
qcom,aoss-rst-clr;
qcom,aux-clk = <0x13>;
qcom,phy-init = <0x0240 0x01 0x0
@@ -719,6 +752,49 @@
compatible = "qcom,msm-mhi-dev-net";
status = "disabled";
};
+
+ spmi_bus: qcom,spmi@c42d000 {
+ compatible = "qcom,spmi-pmic-arb";
+ reg = <0xc42d000 0x4000>,
+ <0xc400000 0x3000>,
+ <0xc500000 0x400000>,
+ <0xc440000 0x80000>,
+ <0xc4c0000 0x10000>;
+ reg-names = "cnfg", "core", "chnls", "obsrvr", "intr";
+ interrupts-extended = <&pdc 1 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "periph_irq";
+ interrupt-controller;
+ #interrupt-cells = <4>;
+ #address-cells = <2>;
+ #size-cells = <0>;
+ cell-index = <0>;
+ qcom,channel = <0>;
+ qcom,ee = <0>;
+ qcom,bus-id = <0>;
+ };
+
+ spmi_debug_bus: qcom,spmi-debug@24b14000 {
+ compatible = "qcom,spmi-pmic-arb-debug";
+ reg = <0x24b14000 0x60>, <0x221c8784 0x4>;
+ reg-names = "core", "fuse";
+ clocks = <&aoss_qmp>;
+ clock-names = "core_clk";
+ qcom,fuse-enable-bit = <18>;
+ #address-cells = <2>;
+ #size-cells = <0>;
+ depends-on-supply = <&spmi_bus>;
+
+ qcom,pmx35-debug@0 {
+ compatible = "qcom,spmi-pmic";
+ reg = <0 SPMI_USID>;
+ #address-cells = <2>;
+ #size-cells = <0>;
+ qcom,can-sleep;
+ };
+ };
+
+ thermal_zones: thermal-zones {
+ };
};
#include "sdxbaagha-pinctrl.dtsi"
@@ -727,6 +803,8 @@
#include "sdxbaagha-pcie.dtsi"
#include "sdxbaagha-qupv3.dtsi"
#include "sdxbaagha-usb.dtsi"
+#include "sdxbaagha-pmic-overlay.dtsi"
+#include "sdxbaagha-regulators.dtsi"
&qupv3_se3_2uart {
status = "ok";
diff --git a/qcom/sdxpinn.dtsi b/qcom/sdxpinn.dtsi
index d534ebd9..47139301 100755
--- a/qcom/sdxpinn.dtsi
+++ b/qcom/sdxpinn.dtsi
@@ -349,6 +349,41 @@
hwlocks = <&tcsr_mutex 3>;
};
+ qcom_cedev: qcedev@1de0000 {
+ compatible = "qcom,qcedev";
+ reg = <0x1de0000 0x20000>,
+ <0x1dc4000 0x28000>;
+ reg-names = "crypto-base","crypto-bam-base";
+ interrupts = <GIC_SPI 252 IRQ_TYPE_LEVEL_HIGH>;
+ qcom,bam-pipe-pair = <2>;
+ qcom,ce-hw-instance = <0>;
+ qcom,ce-device = <0>;
+ qcom,ce-hw-shared;
+ qcom,bam-ee = <0>;
+ qcom,smmu-s1-enable;
+ qcom,no-clock-support;
+ interconnect-names = "data_path";
+ interconnects = <&system_noc MASTER_CRYPTO &mc_virt SLAVE_EBI1>;
+ iommus = <&apps_smmu 0x0020 0x0>,
+ <&apps_smmu 0x0021 0x0>;
+ qcom,iommu-dma = "atomic";
+ dma-coherent;
+
+ qcom_cedev_ns_cb {
+ compatible = "qcom,qcedev,context-bank";
+ label = "ns_context";
+ iommus = <&apps_smmu 0x0021 0x0>;
+ dma-coherent;
+ };
+ };
+
+ qcom_rng: qrng@10c3000 {
+ compatible = "qcom,msm-rng";
+ reg = <0x10c3000 0x1000>;
+ qcom,no-qrng-config;
+ qcom,no-clock-support;
+ };
+
qcom,smp2p-modem {
compatible = "qcom,smp2p";
qcom,smem = <435>, <428>;
@@ -486,7 +521,7 @@
pdc: interrupt-controller@b220000 {
compatible = "qcom,sdxpinn-pdc", "qcom,pdc";
reg = <0xb220000 0x30000>, <0x174000f0 0x64>;
- qcom,pdc-ranges = <0 147 52>, <52 558 91>;
+ qcom,pdc-ranges = <0 147 52>, <52 266 32>, <84 500 59>;
#interrupt-cells = <2>;
interrupt-parent = <&intc>;
interrupt-controller;
diff --git a/qcom/slate.dtsi b/qcom/slate.dtsi
index a5869c0d..11f9f7a2 100755
--- a/qcom/slate.dtsi
+++ b/qcom/slate.dtsi
@@ -26,10 +26,31 @@
qcom,rproc-handle = <&aon_pas>;
};
- qcom,glink-slatecom-xprt-slate {
+ glink_slatecom:qcom,glink-slatecom-xprt-slate {
compatible = "qcom,glink-slatecom-xprt";
label = "slate";
+ qcom,glink-slate-events-bridge {
+ qcom,glink-channels = "slate-event";
+ qcom,intents = <0x0181 1>;
+ };
+
+ qcom,glink-slatecom-ctrl {
+ qcom,glink-channels = "slate-ctrl";
+ qcom,intents = <0x0C 1>;
+ };
+
+ qcom,glink-slate-ux-ctl {
+ qcom,glink-channels = "slate-ux-ctl";
+ qcom,intents = <0x0C 1>;
+ };
+
+ qcom,glink-slate-rsb {
+ qcom,glink-channels = "slate-rsb-ctl";
+ qcom,intents = <0x0C 1>;
+ };
+
+
qcom,glinkpkt-slate-ssc-hal {
qcom,glink-channels = "ssc_hal";
qcom,intents = <0x2710 2
@@ -144,4 +165,32 @@
0x3E8 2>;
};
};
+
+ qcom,slatecom-rpmsg {
+ compatible = "qcom,slatecom-rpmsg";
+ qcom,glink-channels = "slate-ctrl";
+ qcom,glinkpkt-edge = "slate";
+ intents = <0x200 20>;
+ };
+
+ qcom,slate-events-bridge {
+ compatible = "qcom,slate-events-bridge";
+ };
+
+ qcom,slate-events-bridge-rpmsg {
+ compatible = "qcom,slate-events-bridge-rpmsg";
+ qcom,glink-channels = "slate-event";
+ qcom,glinkpkt-edge = "slate";
+ };
+
+ qcom,slate-rsb {
+ compatible = "qcom,slate-rsb";
+ };
+
+ qcom,slatersb-rpmsg {
+ compatible = "qcom,slatersb-rpmsg";
+ qcom,glink-channels = "slate-rsb-ctl";
+ qcom,glinkpkt-edge = "slate";
+ intents = <0x200 1>;
+ };
};
diff --git a/qcom/sm8150-coresight.dtsi b/qcom/sm8150-coresight.dtsi
new file mode 100755
index 00000000..ce155c64
--- /dev/null
+++ b/qcom/sm8150-coresight.dtsi
@@ -0,0 +1,2726 @@
+&soc {
+
+ replicator_qdss: replicator@6046000 {
+ compatible = "arm,coresight-dynamic-replicator",
+ "arm,primecell";
+
+ reg = <0x6046000 0x1000>;
+ reg-names = "replicator-base";
+
+ coresight-name = "coresight-replicator-qdss";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ replicator0_out_tmc_etr: endpoint {
+ remote-endpoint=
+ <&tmc_etr_in_replicator0>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+ replicator0_out_replicator1_in: endpoint {
+ remote-endpoint=
+ <&replicator1_in_replicator0_out>;
+ };
+ };
+ };
+
+ in-ports {
+ port {
+ replicator0_in_tmc_etf: endpoint {
+ remote-endpoint=
+ <&tmc_etf_out_replicator0>;
+ };
+ };
+ };
+ };
+
+ replicator_qdss1: replicator@604a000 {
+ compatible = "arm,coresight-dynamic-replicator",
+ "arm,primecell";
+
+ reg = <0x604a000 0x1000>;
+ reg-names = "replicator-base";
+
+ coresight-name = "coresight-replicator-qdss1";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ replicator1_out_funnel_swao: endpoint {
+ remote-endpoint=
+ <&funnel_swao_in_replicator1_out>;
+ };
+ };
+ };
+
+ in-ports {
+ port {
+ replicator1_in_replicator0_out: endpoint {
+ remote-endpoint=
+ <&replicator0_out_replicator1_in>;
+ };
+ };
+ };
+ };
+
+ replicator_swao: replicator@6b0a000 {
+ compatible = "arm,coresight-dynamic-replicator",
+ "arm,primecell";
+
+ reg = <0x6b0a000 0x1000>;
+ reg-names = "replicator-base";
+
+ coresight-name = "coresight-replicator-swao";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ /* Always have EUD before funnel leading to ETR. If both
+ * sink are active we need to give preference to EUD
+ * over ETR
+ */
+
+ port@1 {
+ reg = <1>;
+ replicator_swao_out_eud: endpoint {
+ remote-endpoint =
+ <&eud_in_replicator_swao>;
+ };
+ };
+
+ port@0 {
+ reg = <0>;
+ replicator_swao_out_funnel_in1: endpoint {
+ remote-endpoint =
+ <&funnel_in1_in_replicator_swao>;
+ };
+ };
+ };
+
+ in-ports {
+ port {
+ replicator_swao_in_tmc_etf_swao: endpoint {
+ remote-endpoint =
+ <&tmc_etf_swao_out_replicator_swao>;
+ };
+ };
+ };
+ };
+
+ tmc_etf_swao: tmc@6b09000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb961>;
+
+ reg = <0x6b09000 0x1000>;
+ reg-names = "tmc-base";
+
+ coresight-name = "coresight-tmc-etf-swao";
+ coresight-csr = <&csr>;
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ tmc_etf_swao_out_replicator_swao: endpoint {
+ remote-endpoint=
+ <&replicator_swao_in_tmc_etf_swao>;
+ };
+ };
+ };
+
+ in-ports {
+ port {
+ tmc_etf_swao_in_funnel_swao: endpoint {
+ remote-endpoint=
+ <&funnel_swao_out_tmc_etf_swao>;
+ };
+ };
+ };
+
+ };
+
+ funnel_swao:funnel@0x6b08000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb908>;
+
+ reg = <0x6b08000 0x1000>;
+ reg-names = "funnel-base";
+
+ coresight-name = "coresight-funnel-swao";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ funnel_swao_out_tmc_etf_swao: endpoint {
+ remote-endpoint =
+ <&tmc_etf_swao_in_funnel_swao>;
+ };
+ };
+ };
+
+ in-ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <5>;
+ funnel_swao_in_ssc_etm0: endpoint {
+ remote-endpoint=
+ <&ssc_etm0_out_funnel_swao>;
+ };
+ };
+
+ port@1 {
+ reg = <6>;
+ funnel_swao_in_replicator1_out: endpoint {
+ remote-endpoint=
+ <&replicator1_out_funnel_swao>;
+ };
+ };
+
+ port@2 {
+ reg = <7>;
+ funnel_swao_in_tpda_swao: endpoint {
+ remote-endpoint=
+ <&tpda_swao_out_funnel_swao>;
+ };
+ };
+ };
+ };
+
+ tpda_swao: tpda@6b01000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x0003b969>;
+ reg = <0x6b01000 0x1000>;
+ reg-names = "tpda-base";
+
+ coresight-name = "coresight-tpda-swao";
+
+ qcom,tpda-atid = <71>;
+ qcom,dsb-elem-size = <1 32>;
+ qcom,cmb-elem-size = <0 64>;
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ reg = <0>;
+ tpda_swao_out_funnel_swao: endpoint {
+ remote-endpoint =
+ <&funnel_swao_in_tpda_swao>;
+ };
+
+ };
+ };
+
+ in-ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ tpda_swao_in_tpdm_swao0: endpoint {
+ remote-endpoint =
+ <&tpdm_swao0_out_tpda_swao>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+ tpda_swao_in_tpdm_swao1: endpoint {
+ remote-endpoint =
+ <&tpdm_swao1_out_tpda_swao>;
+ };
+
+ };
+ };
+ };
+
+ tpdm_swao0: tpdm@6b02000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x0003b968>;
+
+ reg = <0x6b02000 0x1000>;
+ reg-names = "tpdm-base";
+
+ coresight-name = "coresight-tpdm-swao-0";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ tpdm_swao0_out_tpda_swao: endpoint {
+ remote-endpoint = <&tpda_swao_in_tpdm_swao0>;
+ };
+ };
+ };
+ };
+
+ tpdm_swao1: tpdm@6b03000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x0003b968>;
+ reg = <0x6b03000 0x1000>;
+ reg-names = "tpdm-base";
+
+ coresight-name="coresight-tpdm-swao-1";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ qcom,msr-fix-req;
+
+ out-ports {
+ port {
+ tpdm_swao1_out_tpda_swao: endpoint {
+ remote-endpoint = <&tpda_swao_in_tpdm_swao1>;
+ };
+ };
+ };
+ };
+
+ tmc_etr: tmc@6048000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb961>;
+ reg = <0x6048000 0x1000>,
+ <0x6064000 0x15000>;
+ reg-names = "tmc-base", "bam-base";
+
+ qcom,iommu-dma = "default";
+ iommus = <&apps_smmu 0x05e0 0>,
+ <&apps_smmu 0x04a0 0>;
+ qcom,iommu-dma-addr-pool = <0x0 0xffc00000>;
+
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+
+ arm,buffer-size = <0x400000>;
+ coresight-name = "coresight-tmc-etr";
+ coresight-ctis = <&cti0 &cti0>;
+ cti-reset-trig-num = <0>;
+ cti-flush-trig-num = <3>;
+ coresight-csr = <&csr>;
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ interrupts = <GIC_SPI 270 IRQ_TYPE_EDGE_RISING>;
+ interrupt-names = "byte-cntr-irq";
+
+ in-ports {
+ port {
+ tmc_etr_in_replicator0: endpoint {
+ remote-endpoint = <&replicator0_out_tmc_etr>;
+ };
+ };
+ };
+ };
+
+ tmc_etf: tmc@6047000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb961>;
+
+ reg = <0x6047000 0x1000>;
+ reg-names = "tmc-base";
+
+ coresight-name = "coresight-tmc-etf";
+ coresight-ctis = <&cti0 &cti0>;
+ cti-reset-trig-num = <0>;
+ cti-flush-trig-num = <1>;
+ coresight-csr = <&csr>;
+ arm,default-sink;
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ tmc_etf_out_replicator0: endpoint {
+ remote-endpoint =
+ <&replicator0_in_tmc_etf>;
+ };
+ };
+ };
+
+ in-ports {
+ port {
+ tmc_etf_in_funnel_merg: endpoint {
+ remote-endpoint =
+ <&funnel_merg_out_tmc_etf>;
+ };
+ };
+ };
+
+ };
+
+ funnel_merg: funnel@6045000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb908>;
+
+ reg = <0x6045000 0x1000>;
+ reg-names = "funnel-base";
+
+ coresight-name = "coresight-funnel-merg";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ reg = <0>;
+ funnel_merg_out_tmc_etf: endpoint {
+ remote-endpoint =
+ <&tmc_etf_in_funnel_merg>;
+ };
+ };
+ };
+
+ in-ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ funnel_merg_in_funnel_in0: endpoint {
+ remote-endpoint =
+ <&funnel_in0_out_funnel_merg>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+ funnel_merg_in_funnel_in1: endpoint {
+ remote-endpoint =
+ <&funnel_in1_out_funnel_merg>;
+ };
+ };
+
+ port@2 {
+ reg = <2>;
+ funnel_merg_in_funnel_in2: endpoint {
+ remote-endpoint =
+ <&funnel_in2_out_funnel_merg>;
+ };
+ };
+ };
+ };
+
+ stm: stm@6002000 {
+ compatible = "arm,primecell";
+
+ reg = <0x6002000 0x1000>,
+ <0x16280000 0x180000>,
+ <0x7820f0 0x4>;
+ reg-names = "stm-base", "stm-stimulus-base", "stm-debug-status";
+
+ coresight-name = "coresight-stm";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ stm_out_funnel_in0: endpoint {
+ remote-endpoint = <&funnel_in0_in_stm>;
+ };
+ };
+ };
+ };
+
+ hwevent: hwevent@0x091866F0 {
+ compatible = "qcom,coresight-hwevent";
+ reg = <0x091866F0 0x4>,
+ <0x91966F0 0x4>,
+ <0x9186038 0x4>,
+ <0x9196038 0x4>,
+ <0x17E00034 0x4>,
+ <0x18200050 0x80>,
+ <0x02C8D050 0x80>,
+ <0x0AF20050 0x80>;
+ reg-names = "ddr-ch0-cfg", "ddr-ch23-cfg", "ddr-ch0-ctrl",
+ "ddr-ch23-ctrl", "apss-testbus-mux-cfg",
+ "apss-rsc-hwevent-mux0-select",
+ "gpu-rsc-hwevent-mux0-select",
+ "sde-rsc-hwevent-mux0-select";
+
+ coresight-name = "coresight-hwevent";
+ coresight-csr = <&csr>;
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ csr: csr@6001000 {
+ compatible = "qcom,coresight-csr";
+ reg = <0x6001000 0x1000>;
+ reg-names = "csr-base";
+
+ coresight-name = "coresight-csr";
+ qcom,usb-bam-support;
+ qcom,hwctrl-set-support;
+ qcom,set-byte-cntr-support;
+
+ qcom,blk-size = <1>;
+ };
+
+ swao_csr: csr@6b0e000 {
+ compatible = "qcom,coresight-csr";
+ reg = <0x6b0e000 0x1000>;
+ reg-names = "csr-base";
+
+ coresight-name = "coresight-swao-csr";
+ qcom,timestamp-support;
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ qcom,blk-size = <1>;
+ };
+
+ funnel_in0: funnel@0x6041000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb908>;
+
+ reg = <0x6041000 0x1000>;
+ reg-names = "funnel-base";
+
+ coresight-name = "coresight-funnel-in0";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ funnel_in0_out_funnel_merg: endpoint {
+ remote-endpoint =
+ <&funnel_merg_in_funnel_in0>;
+ };
+ };
+ };
+
+ in-ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <1>;
+ funnel_in0_in_funnel_spss: endpoint {
+ remote-endpoint =
+ <&funnel_spss_out_funnel_in0>;
+ };
+ };
+
+ port@1 {
+ reg = <6>;
+ funnel_in0_in_funnel_qatb: endpoint {
+ remote-endpoint =
+ <&funnel_qatb_out_funnel_in0>;
+ };
+ };
+
+ port@2 {
+ reg = <7>;
+ funnel_in0_in_stm: endpoint {
+ remote-endpoint = <&stm_out_funnel_in0>;
+ };
+ };
+ };
+ };
+
+ funnel_in1: funnel@0x6042000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb908>;
+
+ reg = <0x6042000 0x1000>;
+ reg-names = "funnel-base";
+
+ coresight-name = "coresight-funnel-in1";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ funnel_in1_out_funnel_merg: endpoint {
+ remote-endpoint =
+ <&funnel_merg_in_funnel_in1>;
+ };
+ };
+ };
+
+ in-ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <2>;
+ funnel_in1_in_funnel_dl_south: endpoint {
+ remote-endpoint =
+ <&funnel_dl_south_out_funnel_in1>;
+ };
+ };
+
+ port@1 {
+ reg = <3>;
+ funnel_in1_in_modem_etm0: endpoint {
+ remote-endpoint =
+ <&modem_etm0_out_funnel_in1>;
+ };
+ };
+
+ port@2 {
+ reg = <4>;
+ funnel_in1_in_replicator_swao: endpoint {
+ remote-endpoint =
+ <&replicator_swao_out_funnel_in1>;
+ };
+ };
+
+ port@3 {
+ reg = <6>;
+ funnel_in1_in_funnel_dl_north: endpoint {
+ remote-endpoint =
+ <&funnel_dl_north_out_funnel_in1>;
+ };
+ };
+ };
+ };
+
+ funnel_in2: funnel@0x6043000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb908>;
+
+ reg = <0x6043000 0x1000>;
+ reg-names = "funnel-base";
+
+ coresight-name = "coresight-funnel-in2";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port@0 {
+ funnel_in2_out_funnel_merg: endpoint {
+ remote-endpoint =
+ <&funnel_merg_in_funnel_in2>;
+ };
+ };
+ };
+
+ in-ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ port@0 {
+ reg = <2>;
+ funnel_in2_in_funnel_apss_merg: endpoint {
+ remote-endpoint =
+ <&funnel_apss_merg_out_funnel_in2>;
+ };
+ };
+
+ port@1 {
+ reg = <3>;
+ funnel_in2_in_funnel_gfx: endpoint {
+ remote-endpoint =
+ <&funnel_gfx_out_funnel_in2>;
+ };
+ };
+
+ port@2 {
+ reg = <4>;
+ funnel_in2_in_tpda_modem: endpoint {
+ remote-endpoint =
+ <&tpda_modem_out_funnel_in2>;
+ };
+ };
+ };
+ };
+
+ funnel_gfx: funnel@0x6943000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb908>;
+
+ reg = <0x6943000 0x1000>;
+ reg-names = "funnel-base";
+
+ coresight-name = "coresight-funnel-gfx";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ funnel_gfx_out_funnel_in2: endpoint {
+ remote-endpoint =
+ <&funnel_in2_in_funnel_gfx>;
+ };
+ };
+ };
+ };
+
+ tpda: tpda@6004000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x0003b969>;
+ reg = <0x6004000 0x1000>;
+ reg-names = "tpda-base";
+
+ coresight-name = "coresight-tpda";
+
+ qcom,tpda-atid = <65>;
+ qcom,bc-elem-size = <10 32>,
+ <13 32>;
+ qcom,tc-elem-size = <13 32>;
+ qcom,dsb-elem-size = <0 32>,
+ <2 32>,
+ <3 32>,
+ <5 32>,
+ <6 32>,
+ <10 32>,
+ <11 32>,
+ <13 32>;
+ qcom,cmb-elem-size = <3 64>,
+ <7 64>,
+ <10 64>,
+ <13 64>;
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ tpda_out_funnel_qatb: endpoint {
+ remote-endpoint =
+ <&funnel_qatb_in_tpda>;
+ };
+ };
+ };
+
+ in-ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ tpda_in_funnel_dl_mm: endpoint {
+ remote-endpoint =
+ <&funnel_dl_mm_out_tpda>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+ tpda_in_funnel_dl_mm1: endpoint {
+ remote-endpoint =
+ <&funnel_dl_mm1_out_tpda>;
+ };
+ };
+
+ port@2 {
+ reg = <2>;
+ tpda_in_tpdm_center: endpoint {
+ remote-endpoint =
+ <&tpdm_center_out_tpda>;
+ };
+ };
+
+ port@3 {
+ reg = <4>;
+ tpda_in_funnel_lpass: endpoint {
+ remote-endpoint =
+ <&funnel_lpass_out_tpda>;
+ };
+ };
+
+ port@4 {
+ reg = <5>;
+ tpda_in_funnel_turing: endpoint {
+ remote-endpoint =
+ <&funnel_turing_out_tpda>;
+ };
+ };
+
+ port@5 {
+ reg = <6>;
+ tpda_in_funnel_ddr_0: endpoint {
+ remote-endpoint =
+ <&funnel_ddr_0_out_tpda>;
+ };
+ };
+
+ port@6 {
+ reg = <8>;
+ tpda_in_tpdm_vsense: endpoint {
+ remote-endpoint =
+ <&tpdm_vsense_out_tpda>;
+ };
+ };
+
+ port@7 {
+ reg = <10>;
+ tpda_in_tpdm_prng: endpoint {
+ remote-endpoint =
+ <&tpdm_prng_out_tpda>;
+ };
+ };
+
+ port@8 {
+ reg = <13>;
+ tpda_in_tpdm_pimem: endpoint {
+ remote-endpoint =
+ <&tpdm_pimem_out_tpda>;
+ };
+ };
+ };
+ };
+
+ tpda_modem: tpda@6832000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x0003b969>;
+ reg = <0x6832000 0x1000>;
+ reg-names = "tpda-base";
+
+ coresight-name = "coresight-tpda-modem";
+
+ qcom,tpda-atid = <67>;
+ qcom,dsb-elem-size = <0 32>;
+ qcom,cmb-elem-size = <0 64>;
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ tpda_modem_out_funnel_in2: endpoint {
+ remote-endpoint =
+ <&funnel_in2_in_tpda_modem>;
+ };
+ };
+ };
+
+ in-ports {
+ port {
+ tpda_modem_in_tpdm_modem: endpoint {
+ remote-endpoint =
+ <&tpdm_modem_out_tpda_modem>;
+ };
+ };
+ };
+ };
+
+ tpdm_modem: tpdm@6830000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x0003b968>;
+ reg = <0x6830000 0x1000>;
+ reg-names = "tpdm-base";
+
+ coresight-name = "coresight-tpdm-modem";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+
+ out-ports {
+ port {
+ tpdm_modem_out_tpda_modem: endpoint {
+ remote-endpoint = <&tpda_modem_in_tpdm_modem>;
+ };
+ };
+ };
+ };
+
+ funnel_lpass: funnel@6846000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb908>;
+
+ reg = <0x6846000 0x1000>;
+ reg-names = "funnel-base";
+
+ coresight-name = "coresight-funnel-lpass";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ reg = <0>;
+ funnel_lpass_out_tpda: endpoint {
+ remote-endpoint =
+ <&tpda_in_funnel_lpass>;
+ };
+ };
+ };
+
+ in-ports {
+ port {
+ reg = <0>;
+ funnel_lpass_in_tpdm_lpass: endpoint {
+ remote-endpoint =
+ <&tpdm_lpass_out_funnel_lpass>;
+ };
+ };
+ };
+ };
+
+ funnel_lpass_1: funnel_1@6846000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb908>;
+
+ reg = <0x6867020 0x10>,
+ <0x6846000 0x1000>;
+ reg-names = "funnel-base-dummy", "funnel-base-real";
+
+ coresight-name = "coresight-funnel-lpass-1";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ qcom,duplicate-funnel;
+
+ out-ports {
+ port {
+ reg = <0>;
+ funnel_lpass_1_out_funnel_qatb: endpoint {
+ remote-endpoint =
+ <&funnel_qatb_in_funnel_lpass_1>;
+ };
+ };
+ };
+
+ in-ports {
+ port {
+ reg = <2>;
+ funnel_lpass_1_in_audio_etm0: endpoint {
+ remote-endpoint =
+ <&audio_etm0_out_funnel_lpass_1>;
+ };
+ };
+ };
+ };
+
+ tpdm_lpass: tpdm@6844000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x0003b968>;
+ reg = <0x6844000 0x1000>;
+ reg-names = "tpdm-base";
+
+ coresight-name = "coresight-tpdm-lpass";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ qcom,msr-fix-req;
+
+ out-ports {
+ port {
+ tpdm_lpass_out_funnel_lpass: endpoint {
+ remote-endpoint = <&funnel_lpass_in_tpdm_lpass>;
+ };
+ };
+ };
+ };
+
+ tpdm_center: tpdm@6c28000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x0003b968>;
+ reg = <0x6c28000 0x1000>;
+ reg-names = "tpdm-base";
+
+ coresight-name = "coresight-tpdm-center";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ qcom,msr-fix-req;
+
+ out-ports {
+ port {
+ tpdm_center_out_tpda: endpoint {
+ remote-endpoint = <&tpda_in_tpdm_center>;
+ };
+ };
+ };
+ };
+
+ tpdm_dl_north: tpdm@6ac0000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x0003b968>;
+ reg = <0x6ac0000 0x1000>;
+ reg-names = "tpdm-base";
+
+ coresight-name = "coresight-tpdm-dl-north";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ qcom,msr-fix-req;
+
+ out-ports {
+ port {
+ tpdm_dl_north_out_tpda_dl_north: endpoint {
+ remote-endpoint =
+ <&tpda_dl_north_in_tpdm_dl_north>;
+ };
+ };
+ };
+ };
+
+ tpda_dl_north: tpda@6ac1000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x0003b969>;
+ reg = <0x06ac1000 0x1000>;
+ reg-names = "tpda-base";
+
+ coresight-name = "coresight-tpda-dl-north";
+ qcom,tpda-atid = <97>;
+
+ qcom,cmb-elem-size = <0 32>;
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ reg = <0>;
+ tpda_dl_north_out_funnel_dl_north: endpoint {
+ remote-endpoint =
+ <&funnel_dl_north_in_tpda_dl_north>;
+ };
+ };
+ };
+
+ in-ports {
+ port {
+ reg = <0>;
+ tpda_dl_north_in_tpdm_dl_north: endpoint {
+ remote-endpoint =
+ <&tpdm_dl_north_out_tpda_dl_north>;
+ };
+ };
+ };
+ };
+
+ funnel_dl_south: funnel@69c2000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb908>;
+ reg = <0x69c2000 0x1000>;
+ reg-names = "funnel-base";
+
+ coresight-name = "coresight-funnel-dl-south";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ funnel_dl_south_out_funnel_in1: endpoint {
+ remote-endpoint =
+ <&funnel_in1_in_funnel_dl_south>;
+ };
+ };
+ };
+
+ in-ports {
+ port {
+ funnel_dl_south_in_tpdm_dl_south: endpoint {
+ remote-endpoint =
+ <&tpdm_dl_south_out_funnel_dl_south>;
+ };
+ };
+ };
+ };
+
+ tpdm_dl_south: tpdm@69c0000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x0003b968>;
+ reg = <0x69c0000 0x1000>;
+ reg-names = "tpdm-base";
+
+ coresight-name = "coresight-tpdm-dl-south";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ tpdm_dl_south_out_funnel_dl_south: endpoint {
+ remote-endpoint =
+ <&funnel_dl_south_in_tpdm_dl_south>;
+ };
+ };
+ };
+ };
+
+ funnel_dl_north: funnel@6ac2000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb908>;
+
+ reg = <0x6ac2000 0x1000>;
+ reg-names = "funnel-base";
+
+ coresight-name = "coresight-funnel-dl-north";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ funnel_dl_north_out_funnel_in1: endpoint {
+ remote-endpoint =
+ <&funnel_in1_in_funnel_dl_north>;
+ };
+ };
+ };
+
+ in-ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ funnel_dl_north_in_tpda_dl_north: endpoint {
+ remote-endpoint =
+ <&tpda_dl_north_out_funnel_dl_north>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+ funnel_dl_north_in_tpdm_wcss: endpoint {
+ remote-endpoint =
+ <&tpdm_wcss_out_funnel_dl_north>;
+ };
+ };
+ };
+ };
+
+ tpdm_wcss: tpdm@699c000 {
+ compatible = "qcom,coresight-dummy";
+
+ coresight-name = "coresight-tpdm-wcss";
+ qcom,dummy-source;
+
+ out-ports {
+ port {
+ tpdm_wcss_out_funnel_dl_north: endpoint {
+ remote-endpoint = <&funnel_dl_north_in_tpdm_wcss>;
+ };
+ };
+ };
+ };
+
+ tpdm_prng: tpdm@684c000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x0003b968>;
+ reg = <0x684c000 0x1000>;
+ reg-names = "tpdm-base";
+
+ coresight-name = "coresight-tpdm-prng";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ tpdm_prng_out_tpda: endpoint {
+ remote-endpoint = <&tpda_in_tpdm_prng>;
+ };
+ };
+ };
+ };
+
+ funnel_spss: funnel@6883000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb908>;
+
+ reg = <0x6883000 0x1000>;
+ reg-names = "funnel-base";
+
+ coresight-name = "coresight-funnel-spss";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+
+ port@0 {
+ reg = <0>;
+ funnel_spss_out_funnel_in0: endpoint {
+ remote-endpoint =
+ <&funnel_in0_in_funnel_spss>;
+ };
+ };
+ };
+
+ in-ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ funnel_spss_in_tpda_spss: endpoint {
+ remote-endpoint =
+ <&tpda_spss_out_funnel_spss>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+ funnel_spss_in_spss_etm0: endpoint {
+ remote-endpoint =
+ <&spss_etm0_out_funnel_spss>;
+ };
+ };
+ };
+ };
+
+ tpda_spss: tpda@6882000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x0003b969>;
+ reg = <0x06882000 0x1000>;
+ reg-names = "tpda-base";
+
+ coresight-name = "coresight-tpda-spss";
+
+ qcom,tpda-atid = <70>;
+ qcom,cmb-elem-size = <0 32>;
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port@0 {
+ reg = <0>;
+ tpda_spss_out_funnel_spss: endpoint {
+ remote-endpoint =
+ <&funnel_spss_in_tpda_spss>;
+ };
+ };
+ };
+
+ in-ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@1 {
+ reg = <0>;
+ tpda_spss_in_tpdm_spss: endpoint {
+ remote-endpoint =
+ <&tpdm_spss_out_tpda_spss>;
+ };
+ };
+ };
+ };
+
+ tpdm_spss: tpdm@6880000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x0003b968>;
+ reg = <0x6880000 0x1000>;
+ reg-names = "tpdm-base";
+
+ coresight-name = "coresight-tpdm-spss";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ tpdm_spss_out_tpda_spss: endpoint {
+ remote-endpoint = <&tpda_spss_in_tpdm_spss>;
+ };
+ };
+ };
+ };
+
+ spss_etm0 {
+ compatible = "qcom,coresight-dummy";
+
+ coresight-name = "coresight-spss-etm0";
+ qcom,dummy-source;
+
+ out-ports {
+ port {
+ spss_etm0_out_funnel_spss: endpoint {
+ remote-endpoint = <&funnel_spss_in_spss_etm0>;
+ };
+ };
+ };
+ };
+
+ tpdm_qm: tpdm@69d0000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x0003b968>;
+ reg = <0x69d0000 0x1000>;
+ reg-names = "tpdm-base";
+
+ coresight-name = "coresight-tpdm-qm";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ tpdm_qm_out_funnel_dl_mm: endpoint {
+ remote-endpoint = <&funnel_dl_mm_in_tpdm_qm>;
+ };
+ };
+ };
+
+ tpda_apss: tpda@7862000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x0003b969>;
+ reg = <0x7862000 0x1000>;
+ reg-names = "tpda-base";
+
+ coresight-name = "coresight-tpda-apss";
+
+ qcom,tpda-atid = <66>;
+ qcom,dsb-elem-size = <0 32>;
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ reg = <0>;
+ tpda_apss_out_funnel_apss_merg: endpoint {
+ remote-endpoint =
+ <&funnel_apss_merg_in_tpda_apss>;
+ };
+ };
+ };
+
+ in-ports {
+ port {
+ reg = <0>;
+ tpda_apss_in_tpdm_apss: endpoint {
+ remote-endpoint =
+ <&tpdm_apss_out_tpda_apss>;
+ };
+ };
+ };
+ };
+
+ tpdm_apss: tpdm@7860000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x0003b968>;
+ reg = <0x7860000 0x1000>;
+ reg-names = "tpdm-base";
+
+ coresight-name = "coresight-tpdm-apss";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ tpdm_apss_out_tpda_apss: endpoint {
+ remote-endpoint = <&tpda_apss_in_tpdm_apss>;
+ };
+ };
+ };
+
+ tpda_llm_silver: tpda@78c0000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x0003b969>;
+ reg = <0x78c0000 0x1000>;
+ reg-names = "tpda-base";
+
+ coresight-name = "coresight-tpda-llm-silver";
+
+ qcom,tpda-atid = <72>;
+ qcom,cmb-elem-size = <0 32>;
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ reg = <0>;
+ tpda_llm_silver_out_funnel_apss_merg: endpoint {
+ remote-endpoint =
+ <&funnel_apss_merg_in_tpda_llm_silver>;
+ };
+ };
+ };
+
+ in-ports {
+ port {
+ reg = <0>;
+ tpda_llm_silver_in_tpdm_llm_silver: endpoint {
+ remote-endpoint =
+ <&tpdm_llm_silver_out_tpda_llm_silver>;
+ };
+ };
+ };
+ };
+
+ tpdm_llm_silver: tpdm@78a0000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x0003b968>;
+ reg = <0x78a0000 0x1000>;
+ reg-names = "tpdm-base";
+
+ coresight-name = "coresight-tpdm-llm-silver";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ tpdm_llm_silver_out_tpda_llm_silver: endpoint {
+ remote-endpoint =
+ <&tpda_llm_silver_in_tpdm_llm_silver>;
+ };
+ };
+ };
+
+ tpda_llm_gold: tpda@78d0000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x0003b969>;
+ reg = <0x78d0000 0x1000>;
+ reg-names = "tpda-base";
+
+ coresight-name = "coresight-tpda-llm-gold";
+
+ qcom,tpda-atid = <73>;
+ qcom,cmb-elem-size = <0 32>;
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ port@0 {
+ reg = <0>;
+ tpda_llm_gold_out_funnel_apss_merg: endpoint {
+ remote-endpoint =
+ <&funnel_apss_merg_in_tpda_llm_gold>;
+ };
+ };
+ };
+
+ in-ports {
+ port {
+ reg = <0>;
+ tpda_llm_gold_in_tpdm_llm_gold: endpoint {
+ remote-endpoint =
+ <&tpdm_llm_gold_out_tpda_llm_gold>;
+ };
+ };
+ };
+ };
+
+ tpdm_llm_gold: tpdm@78b0000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x0003b968>;
+ reg = <0x78b0000 0x1000>;
+ reg-names = "tpdm-base";
+
+ coresight-name = "coresight-tpdm-llm-gold";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ tpdm_llm_gold_out_tpda_llm_gold: endpoint {
+ remote-endpoint =
+ <&tpda_llm_gold_in_tpdm_llm_gold>;
+ };
+ };
+ };
+ };
+
+ funnel_dl_mm: funnel@6c0b000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb908>;
+
+ reg = <0x6c0b000 0x1000>;
+ reg-names = "funnel-base";
+
+ coresight-name = "coresight-funnel-dl-mm";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ reg = <0>;
+ funnel_dl_mm_out_tpda: endpoint {
+ remote-endpoint =
+ <&tpda_in_funnel_dl_mm>;
+ };
+ };
+ };
+
+ in-ports {
+ port {
+ reg = <0>;
+ funnel_dl_mm_in_tpdm_qm: endpoint {
+ remote-endpoint =
+ <&tpdm_qm_out_funnel_dl_mm>;
+ };
+ };
+ };
+ };
+
+ funnel_dl_mm1: funnel_1@6c0b000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb908>;
+
+ reg = <0x6867000 0x10>,
+ <0x6c0b000 0x1000>;
+ reg-names = "funnel-base-dummy", "funnel-base-real";
+
+ coresight-name = "coresight-funnel-dl-mm1";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ qcom,duplicate-funnel;
+
+ out-ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port {
+ reg = <0>;
+ funnel_dl_mm1_out_tpda: endpoint {
+ remote-endpoint =
+ <&tpda_in_funnel_dl_mm1>;
+ };
+ };
+ };
+
+ in-ports {
+ port {
+ reg = <1>;
+ funnel_dl_mm1_in_tpdm_mm: endpoint {
+ remote-endpoint =
+ <&tpdm_mm_out_funnel_dl_mm1>;
+ };
+ };
+ };
+ };
+
+ tpdm_mm: tpdm@6c08000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x0003b968>;
+ reg = <0x6c08000 0x1000>;
+ reg-names = "tpdm-base";
+
+ coresight-name = "coresight-tpdm-mm";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ qcom,msr-fix-req;
+
+ out-ports {
+ port {
+ tpdm_mm_out_funnel_dl_mm1: endpoint {
+ remote-endpoint = <&funnel_dl_mm1_in_tpdm_mm>;
+ };
+ };
+ };
+ };
+
+ funnel_turing: funnel@6861000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb908>;
+
+ reg = <0x6861000 0x1000>;
+ reg-names = "funnel-base";
+
+ coresight-name = "coresight-funnel-turing";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ reg = <0>;
+ funnel_turing_out_tpda: endpoint {
+ remote-endpoint =
+ <&tpda_in_funnel_turing>;
+ };
+ };
+ };
+
+ in-ports {
+ port {
+ reg = <0>;
+ funnel_turing_in_tpdm_turing: endpoint {
+ remote-endpoint =
+ <&tpdm_turing_out_funnel_turing>;
+ };
+ };
+ };
+ };
+
+ funnel_turing_1: funnel_1@6861000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb908>;
+
+ reg = <0x6867010 0x10>,
+ <0x6861000 0x1000>;
+ reg-names = "funnel-base-dummy", "funnel-base-real";
+
+ coresight-name = "coresight-funnel-turing-1";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ qcom,duplicate-funnel;
+
+ out-ports {
+
+ port {
+ reg = <0>;
+ funnel_turing_1_out_funnel_qatb: endpoint {
+ remote-endpoint =
+ <&funnel_qatb_in_funnel_turing_1>;
+ };
+ };
+ };
+
+ in-ports {
+ port {
+ reg = <1>;
+ funnel_turing_1_in_turing_etm0: endpoint {
+ remote-endpoint =
+ <&turing_etm0_out_funnel_turing_1>;
+ };
+ };
+ };
+ };
+
+ tpdm_turing: tpdm@6860000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x0003b968>;
+ reg = <0x6860000 0x1000>;
+ reg-names = "tpdm-base";
+
+ coresight-name = "coresight-tpdm-turing";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ qcom,msr-fix-req;
+
+ out-ports {
+ port {
+ tpdm_turing_out_funnel_turing: endpoint {
+ remote-endpoint =
+ <&funnel_turing_in_tpdm_turing>;
+ };
+ };
+ };
+ };
+
+ funnel_ddr_0: funnel@6a05000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb908>;
+
+ reg = <0x6a05000 0x1000>;
+ reg-names = "funnel-base";
+
+ coresight-name = "coresight-funnel-ddr-0";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ funnel_ddr_0_out_tpda: endpoint {
+ remote-endpoint =
+ <&tpda_in_funnel_ddr_0>;
+ };
+ };
+ };
+
+ in-ports {
+ port {
+ funnel_ddr_0_in_tpdm_ddr: endpoint {
+ remote-endpoint =
+ <&tpdm_ddr_out_funnel_ddr_0>;
+ };
+ };
+ };
+ };
+
+ tpdm_ddr: tpdm@6A00000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x0003b968>;
+ reg = <0x06A00000 0x1000>;
+ reg-names = "tpdm-base";
+
+ coresight-name = "coresight-tpdm-ddr";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ qcom,msr-fix-req;
+
+ out-ports {
+ port {
+ tpdm_ddr_out_funnel_ddr_0: endpoint {
+ remote-endpoint = <&funnel_ddr_0_in_tpdm_ddr>;
+ };
+ };
+ };
+ };
+
+ tpdm_pimem: tpdm@6850000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x0003b968>;
+ reg = <0x6850000 0x1000>;
+ reg-names = "tpdm-base";
+
+ coresight-name = "coresight-tpdm-pimem";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ tpdm_pimem_out_tpda: endpoint {
+ remote-endpoint = <&tpda_in_tpdm_pimem>;
+ };
+ };
+ };
+ };
+
+ tpdm_vsense: tpdm@6840000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x0003b968>;
+ reg = <0x6840000 0x1000>;
+ reg-names = "tpdm-base";
+
+ coresight-name = "coresight-tpdm-vsense";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ tpdm_vsense_out_tpda: endpoint {
+ remote-endpoint = <&tpda_in_tpdm_vsense>;
+ };
+ };
+ };
+ };
+
+ tpda_olc: tpda@7832000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x0003b969>;
+ reg = <0x7832000 0x1000>;
+ reg-names = "tpda-base";
+
+ coresight-name = "coresight-tpda-olc";
+
+ qcom,tpda-atid = <69>;
+ qcom,cmb-elem-size = <0 64>;
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ tpda_olc_out_funnel_apss_merg: endpoint {
+ remote-endpoint =
+ <&funnel_apss_merg_in_tpda_olc>;
+ };
+ };
+ };
+
+ in-ports {
+ port {
+ tpda_olc_in_tpdm_olc: endpoint {
+ remote-endpoint =
+ <&tpdm_olc_out_tpda_olc>;
+ };
+ };
+ };
+ };
+
+ tpdm_olc: tpdm@7830000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x0003b968>;
+ reg = <0x7830000 0x1000>;
+ reg-names = "tpdm-base";
+
+ coresight-name = "coresight-tpdm-olc";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ tpdm_olc_out_tpda_olc: endpoint {
+ remote-endpoint = <&tpda_olc_in_tpdm_olc>;
+ };
+ };
+ };
+ };
+
+ funnel_qatb: funnel@6005000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb908>;
+
+ reg = <0x6005000 0x1000>;
+ reg-names = "funnel-base";
+
+ coresight-name = "coresight-funnel-qatb";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ funnel_qatb_out_funnel_in0: endpoint {
+ remote-endpoint =
+ <&funnel_in0_in_funnel_qatb>;
+ };
+ };
+ };
+
+ in-ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@1 {
+ reg = <0>;
+ funnel_qatb_in_tpda: endpoint {
+ remote-endpoint =
+ <&tpda_out_funnel_qatb>;
+ };
+ };
+
+ port@2 {
+ reg = <4>;
+ funnel_qatb_in_funnel_lpass_1: endpoint {
+ remote-endpoint =
+ <&funnel_lpass_1_out_funnel_qatb>;
+ };
+ };
+
+ port@3 {
+ reg = <5>;
+ funnel_qatb_in_funnel_turing_1: endpoint {
+ remote-endpoint =
+ <&funnel_turing_1_out_funnel_qatb>;
+ };
+ };
+ };
+ };
+
+ cti0_apss: cti@78e0000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x0003b966>;
+ reg = <0x78e0000 0x1000>;
+ reg-names = "cti-base";
+
+ coresight-name = "coresight-cti-apss_cti0";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ cti1_apss: cti@78f0000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x0003b966>;
+ reg = <0x78f0000 0x1000>;
+ reg-names = "cti-base";
+
+ coresight-name = "coresight-cti-apss_cti1";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ cti2_apss: cti@7900000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x0003b966>;
+ reg = <0x7900000 0x1000>;
+ reg-names = "cti-base";
+
+ coresight-name = "coresight-cti-apss_cti2";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ cti0_ddr0: cti@6a02000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x0003b966>;
+ reg = <0x6a02000 0x1000>;
+ reg-names = "cti-base";
+
+ coresight-name = "coresight-cti-ddr_dl_0_cti_0";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ cti1_ddr0: cti@6a03000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x0003b966>;
+ reg = <0x6a03000 0x1000>;
+ reg-names = "cti-base";
+
+ coresight-name = "coresight-cti-ddr_dl_0_cti_1";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ cti0_ddr1: cti@6a10000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x0003b966>;
+ reg = <0x6a10000 0x1000>;
+ reg-names = "cti-base";
+
+ coresight-name = "coresight-cti-ddr_dl_1_cti_0";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ cti1_ddr1: cti@6a11000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x0003b966>;
+ reg = <0x6a11000 0x1000>;
+ reg-names = "cti-base";
+
+ coresight-name = "coresight-cti-ddr_dl_1_cti_1";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ cti0_dlmm: cti@6c09000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x0003b966>;
+ reg = <0x6c09000 0x1000>;
+ reg-names = "cti-base";
+
+ coresight-name = "coresight-cti-dlmm_cti0";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ cti1_dlmm: cti@6c0a000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x0003b966>;
+ reg = <0x6c0a000 0x1000>;
+ reg-names = "cti-base";
+
+ coresight-name = "coresight-cti-dlmm_cti1";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ cti0_dlct: cti@6c29000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x0003b966>;
+ reg = <0x6c29000 0x1000>;
+ reg-names = "cti-base";
+
+ coresight-name = "coresight-cti-dlct_cti0";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ cti1_dlct: cti@6c2a000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x0003b966>;
+ reg = <0x6c2a000 0x1000>;
+ reg-names = "cti-base";
+
+ coresight-name = "coresight-cti-dlct_cti1";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ cti0: cti@6010000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x0003b966>;
+ reg = <0x6010000 0x1000>;
+ reg-names = "cti-base";
+
+ coresight-name = "coresight-cti0";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ };
+
+ cti1: cti@6011000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x0003b966>;
+ reg = <0x6011000 0x1000>;
+ reg-names = "cti-base";
+
+ coresight-name = "coresight-cti1";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ };
+
+ cti2: cti@6012000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x0003b966>;
+ reg = <0x6012000 0x1000>;
+ reg-names = "cti-base";
+
+ coresight-name = "coresight-cti2";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ qcom,cti-gpio-trigout = <4>;
+ pinctrl-names = "cti-trigout-pctrl";
+ pinctrl-0 = <&trigout_a>;
+ };
+
+ cti3: cti@6013000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x0003b966>;
+ reg = <0x6013000 0x1000>;
+ reg-names = "cti-base";
+
+ coresight-name = "coresight-cti3";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ };
+
+ cti4: cti@6014000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x0003b966>;
+ reg = <0x6014000 0x1000>;
+ reg-names = "cti-base";
+
+ coresight-name = "coresight-cti4";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ };
+
+ cti5: cti@6015000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x0003b966>;
+ reg = <0x6015000 0x1000>;
+ reg-names = "cti-base";
+
+ coresight-name = "coresight-cti5";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ };
+
+ cti6: cti@6016000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x0003b966>;
+ reg = <0x6016000 0x1000>;
+ reg-names = "cti-base";
+
+ coresight-name = "coresight-cti6";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ };
+
+ cti7: cti@6017000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x0003b966>;
+ reg = <0x6017000 0x1000>;
+ reg-names = "cti-base";
+
+ coresight-name = "coresight-cti7";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ };
+
+ cti8: cti@6018000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x0003b966>;
+ reg = <0x6018000 0x1000>;
+ reg-names = "cti-base";
+
+ coresight-name = "coresight-cti8";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ };
+
+ cti9: cti@6019000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x0003b966>;
+ reg = <0x6019000 0x1000>;
+ reg-names = "cti-base";
+
+ coresight-name = "coresight-cti9";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ };
+
+ cti10: cti@601a000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x0003b966>;
+ reg = <0x601a000 0x1000>;
+ reg-names = "cti-base";
+
+ coresight-name = "coresight-cti10";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ };
+
+ cti11: cti@601b000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x0003b966>;
+ reg = <0x601b000 0x1000>;
+ reg-names = "cti-base";
+
+ coresight-name = "coresight-cti11";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ };
+
+ cti12: cti@601c000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x0003b966>;
+ reg = <0x601c000 0x1000>;
+ reg-names = "cti-base";
+
+ coresight-name = "coresight-cti12";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ };
+
+ cti13: cti@601d000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x0003b966>;
+ reg = <0x601d000 0x1000>;
+ reg-names = "cti-base";
+
+ coresight-name = "coresight-cti13";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ };
+
+ cti14: cti@601e000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x0003b966>;
+ reg = <0x601e000 0x1000>;
+ reg-names = "cti-base";
+
+ coresight-name = "coresight-cti14";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ };
+
+ cti15: cti@601f000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x0003b966>;
+ reg = <0x601f000 0x1000>;
+ reg-names = "cti-base";
+
+ coresight-name = "coresight-cti15";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ };
+
+ cti_cpu0: cti@7020000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x0003b966>;
+ reg = <0x7020000 0x1000>;
+ reg-names = "cti-base";
+
+ coresight-name = "coresight-cti-cpu0";
+ cpu = <&CPU0>;
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ };
+
+ cti_cpu1: cti@7120000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x0003b966>;
+ reg = <0x7120000 0x1000>;
+ reg-names = "cti-base";
+
+ coresight-name = "coresight-cti-cpu1";
+ cpu = <&CPU1>;
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ cti_cpu2: cti@7220000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x0003b966>;
+ reg = <0x7220000 0x1000>;
+ reg-names = "cti-base";
+
+ coresight-name = "coresight-cti-cpu2";
+ cpu = <&CPU2>;
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ cti_cpu3: cti@7320000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x0003b966>;
+ reg = <0x7320000 0x1000>;
+ reg-names = "cti-base";
+
+ coresight-name = "coresight-cti-cpu3";
+ cpu = <&CPU3>;
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ cti_cpu4: cti@7420000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x0003b966>;
+ reg = <0x7420000 0x1000>;
+ reg-names = "cti-base";
+
+ coresight-name = "coresight-cti-cpu4";
+ cpu = <&CPU4>;
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ cti_cpu5: cti@7520000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x0003b966>;
+ reg = <0x7520000 0x1000>;
+ reg-names = "cti-base";
+
+ coresight-name = "coresight-cti-cpu5";
+ cpu = <&CPU5>;
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ cti_cpu6: cti@7620000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x0003b966>;
+ reg = <0x7620000 0x1000>;
+ reg-names = "cti-base";
+
+ coresight-name = "coresight-cti-cpu6";
+ cpu = <&CPU6>;
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ cti_cpu7: cti@7720000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x0003b966>;
+ reg = <0x7720000 0x1000>;
+ reg-names = "cti-base";
+
+ coresight-name = "coresight-cti-cpu7";
+ cpu = <&CPU7>;
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ cti0_swao:cti@6b04000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x0003b966>;
+ reg = <0x6b04000 0x1000>;
+ reg-names = "cti-base";
+
+ coresight-name = "coresight-cti-swao_cti0";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ ipcb_tgu: tgu@6b0c000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x0003b999>;
+ reg = <0x06B0C000 0x1000>;
+ reg-names = "tgu-base";
+ tgu-steps = <3>;
+ tgu-conditions = <4>;
+ tgu-regs = <4>;
+ tgu-timer-counters = <8>;
+
+ coresight-name = "coresight-tgu-ipcb";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+ };
+
+ turing_etm0 {
+ compatible = "qcom,coresight-remote-etm";
+
+ coresight-name = "coresight-turing-etm0";
+ qcom,inst-id = <13>;
+
+ out-ports {
+ port {
+ turing_etm0_out_funnel_turing_1: endpoint {
+ remote-endpoint =
+ <&funnel_turing_1_in_turing_etm0>;
+ };
+ };
+ };
+ };
+
+ dummy_eud: dummy_sink {
+ compatible = "qcom,coresight-dummy";
+
+ coresight-name = "coresight-eud";
+ qcom,dummy-sink;
+
+ out-ports {
+ port {
+ eud_in_replicator_swao: endpoint {
+ remote-endpoint =
+ <&replicator_swao_out_eud>;
+ };
+ };
+ };
+ };
+
+ modem_etm0 {
+ compatible = "qcom,coresight-remote-etm";
+
+ coresight-name = "coresight-modem-etm0";
+ qcom,inst-id = <2>;
+
+ out-ports {
+ port {
+ modem_etm0_out_funnel_in1: endpoint {
+ remote-endpoint =
+ <&funnel_in1_in_modem_etm0>;
+ };
+ };
+ };
+ };
+
+ audio_etm0 {
+ compatible = "qcom,coresight-remote-etm";
+
+ coresight-name = "coresight-audio-etm0";
+ qcom,inst-id = <5>;
+
+ out-ports {
+ port {
+ audio_etm0_out_funnel_lpass_1: endpoint {
+ remote-endpoint =
+ <&funnel_lpass_1_in_audio_etm0>;
+ };
+ };
+ };
+ };
+
+ ssc_etm0 {
+ compatible = "qcom,coresight-remote-etm";
+
+ coresight-name = "coresight-ssc-etm0";
+ qcom,inst-id = <8>;
+
+ out-ports {
+ port {
+ ssc_etm0_out_funnel_swao: endpoint {
+ remote-endpoint =
+ <&funnel_swao_in_ssc_etm0>;
+ };
+ };
+ };
+ };
+
+ funnel_apss_merg: funnel@7810000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb908>;
+
+ reg = <0x7810000 0x1000>;
+ reg-names = "funnel-base";
+
+ coresight-name = "coresight-funnel-apss-merg";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+
+ port@0 {
+ reg = <0>;
+ funnel_apss_merg_out_funnel_in2: endpoint {
+ remote-endpoint =
+ <&funnel_in2_in_funnel_apss_merg>;
+ };
+ };
+ };
+
+ in-ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@1 {
+ reg = <0>;
+ funnel_apss_merg_in_funnel_apss: endpoint {
+ remote-endpoint =
+ <&funnel_apss_out_funnel_apss_merg>;
+ };
+ };
+
+ port@2 {
+ reg = <2>;
+ funnel_apss_merg_in_tpda_olc: endpoint {
+ remote-endpoint =
+ <&tpda_olc_out_funnel_apss_merg>;
+ };
+ };
+
+ port@3 {
+ reg = <3>;
+ funnel_apss_merg_in_tpda_llm_silver: endpoint {
+ remote-endpoint =
+ <&tpda_llm_silver_out_funnel_apss_merg>;
+ };
+ };
+
+ port@4 {
+ reg = <4>;
+ funnel_apss_merg_in_tpda_llm_gold: endpoint {
+ remote-endpoint =
+ <&tpda_llm_gold_out_funnel_apss_merg>;
+ };
+ };
+
+ port@5 {
+ reg = <5>;
+ funnel_apss_merg_in_tpda_apss: endpoint {
+ remote-endpoint =
+ <&tpda_apss_out_funnel_apss_merg>;
+ };
+ };
+
+ };
+ };
+
+ etm0: etm@7040000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb95d>;
+
+ reg = <0x7040000 0x1000>;
+ cpu = <&CPU0>;
+
+ qcom,tupwr-disable;
+ coresight-name = "coresight-etm0";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ etm0_out_funnel_apss: endpoint {
+ remote-endpoint = <&funnel_apss_in_etm0>;
+ };
+ };
+ };
+ };
+
+ etm1: etm@7140000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb95d>;
+
+ reg = <0x7140000 0x1000>;
+ cpu = <&CPU1>;
+
+ qcom,tupwr-disable;
+ coresight-name = "coresight-etm1";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ etm1_out_funnel_apss: endpoint {
+ remote-endpoint = <&funnel_apss_in_etm1>;
+ };
+ };
+ };
+ };
+
+ etm2: etm@7240000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb95d>;
+
+ reg = <0x7240000 0x1000>;
+ cpu = <&CPU2>;
+
+ qcom,tupwr-disable;
+ coresight-name = "coresight-etm2";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ etm2_out_funnel_apss: endpoint {
+ remote-endpoint = <&funnel_apss_in_etm2>;
+ };
+ };
+ };
+ };
+
+ etm3: etm@7340000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb95d>;
+
+ reg = <0x7340000 0x1000>;
+ cpu = <&CPU3>;
+
+ qcom,tupwr-disable;
+ coresight-name = "coresight-etm3";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ etm3_out_funnel_apss: endpoint {
+ remote-endpoint = <&funnel_apss_in_etm3>;
+ };
+ };
+ };
+ };
+
+ etm4: etm@7440000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb95d>;
+
+ reg = <0x7440000 0x1000>;
+ cpu = <&CPU4>;
+
+ qcom,tupwr-disable;
+ coresight-name = "coresight-etm4";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ etm4_out_funnel_apss: endpoint {
+ remote-endpoint = <&funnel_apss_in_etm4>;
+ };
+ };
+ };
+ };
+
+ etm5: etm@7540000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb95d>;
+
+ reg = <0x7540000 0x1000>;
+ cpu = <&CPU5>;
+
+ qcom,tupwr-disable;
+ coresight-name = "coresight-etm5";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ etm5_out_funnel_apss: endpoint {
+ remote-endpoint = <&funnel_apss_in_etm5>;
+ };
+ };
+ };
+ };
+
+ etm6: etm@7640000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb95d>;
+
+ reg = <0x7640000 0x1000>;
+ cpu = <&CPU6>;
+
+ qcom,tupwr-disable;
+ coresight-name = "coresight-etm6";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ etm6_out_funnel_apss: endpoint {
+ remote-endpoint = <&funnel_apss_in_etm6>;
+ };
+ };
+ };
+ };
+
+ etm7: etm@7740000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb95d>;
+
+ reg = <0x7740000 0x1000>;
+ cpu = <&CPU7>;
+
+ qcom,tupwr-disable;
+ coresight-name = "coresight-etm7";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port {
+ etm7_out_funnel_apss: endpoint {
+ remote-endpoint = <&funnel_apss_in_etm7>;
+ };
+ };
+ };
+ };
+
+ funnel_apss: funnel@7800000 {
+ compatible = "arm,primecell";
+ arm,primecell-periphid = <0x000bb908>;
+
+ reg = <0x7800000 0x1000>;
+ reg-names = "funnel-base";
+
+ coresight-name = "coresight-funnel-apss";
+
+ clocks = <&aoss_qmp>;
+ clock-names = "apb_pclk";
+
+ out-ports {
+ port@0 {
+ reg = <0>;
+ funnel_apss_out_funnel_apss_merg: endpoint {
+ remote-endpoint =
+ <&funnel_apss_merg_in_funnel_apss>;
+ };
+ };
+ };
+
+ in-ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@1 {
+ reg = <0>;
+ funnel_apss_in_etm0: endpoint {
+ remote-endpoint =
+ <&etm0_out_funnel_apss>;
+ };
+ };
+
+ port@2 {
+ reg = <1>;
+ funnel_apss_in_etm1: endpoint {
+ remote-endpoint =
+ <&etm1_out_funnel_apss>;
+ };
+ };
+
+ port@3 {
+ reg = <2>;
+ funnel_apss_in_etm2: endpoint {
+ remote-endpoint =
+ <&etm2_out_funnel_apss>;
+ };
+ };
+
+ port@4 {
+ reg = <3>;
+ funnel_apss_in_etm3: endpoint {
+ remote-endpoint =
+ <&etm3_out_funnel_apss>;
+ };
+ };
+
+ port@5 {
+ reg = <4>;
+ funnel_apss_in_etm4: endpoint {
+ remote-endpoint =
+ <&etm4_out_funnel_apss>;
+ };
+ };
+
+ port@6 {
+ reg = <5>;
+ funnel_apss_in_etm5: endpoint {
+ remote-endpoint =
+ <&etm5_out_funnel_apss>;
+ };
+ };
+
+ port@7 {
+ reg = <6>;
+ funnel_apss_in_etm6: endpoint {
+ remote-endpoint =
+ <&etm6_out_funnel_apss>;
+ };
+ };
+
+ port@8 {
+ reg = <7>;
+ funnel_apss_in_etm7: endpoint {
+ remote-endpoint =
+ <&etm7_out_funnel_apss>;
+ };
+ };
+ };
+ };
+};
diff --git a/qcom/sm8150-dma-heaps.dtsi b/qcom/sm8150-dma-heaps.dtsi
index c2a1bed8..4c1aa3a5 100755
--- a/qcom/sm8150-dma-heaps.dtsi
+++ b/qcom/sm8150-dma-heaps.dtsi
@@ -31,8 +31,9 @@
qcom,qseecom {
qcom,dma-heap-name = "qcom,qseecom";
- qcom,dma-heap-type = <HEAP_TYPE_CARVEOUT>;
+ qcom,dma-heap-type = <HEAP_TYPE_CMA>;
memory-region = <&qseecom_mem>;
+ qcom,uncached-heap;
};
qcom,qseecom_ta {
diff --git a/qcom/sm8150-thermal.dtsi b/qcom/sm8150-thermal.dtsi
index 7742408a..e7a931c2 100755
--- a/qcom/sm8150-thermal.dtsi
+++ b/qcom/sm8150-thermal.dtsi
@@ -204,6 +204,11 @@
qcom,qmi-dev-name = "cpuv_restriction_cold";
#cooling-cells = <2>;
};
+
+ cdsp_sw: cdsp_sw {
+ qcom,qmi-dev-name = "cdsp_sw";
+ #cooling-cells = <2>;
+ };
};
slpi {
@@ -266,6 +271,14 @@
type = "passive";
};
};
+
+ cooling-maps {
+ gpu_cdev {
+ trip = <&gpuss0_trip0>;
+ cooling-device = <&msm_gpu THERMAL_NO_LIMIT
+ THERMAL_NO_LIMIT>;
+ };
+ };
};
gpuss-1 {
@@ -297,6 +310,14 @@
type = "passive";
};
};
+
+ cooling-maps {
+ gpu1_cdev {
+ trip = <&gpuss1_trip0>;
+ cooling-device = <&msm_gpu THERMAL_NO_LIMIT
+ THERMAL_NO_LIMIT>;
+ };
+ };
};
pop-mem {
@@ -899,6 +920,18 @@
type = "passive";
};
};
+
+ cooling-maps {
+ hvx_cdev_lvl0 {
+ trip = <&q6_hvx_step0>;
+ cooling-device = <&cdsp_sw 0 6>;
+ };
+
+ hvx_cdev_lvl1 {
+ trip = <&q6_hvx_step1>;
+ cooling-device = <&cdsp_sw 6 6>;
+ };
+ };
};
aoss-1 {
diff --git a/qcom/sm8150-usb.dtsi b/qcom/sm8150-usb.dtsi
index 76042da1..1a89d08e 100755
--- a/qcom/sm8150-usb.dtsi
+++ b/qcom/sm8150-usb.dtsi
@@ -134,6 +134,7 @@
"ss_phy_irq","dm_hs_phy_irq";
qcom,use-pdc-interrupts;
qcom,default-mode-host;
+ qcom,force-gen1;
qcom,host-poweroff-in-pm-suspend;
USB3_GDSC-supply = <&usb30_sec_gdsc>;
@@ -172,7 +173,6 @@
snps,usb2-gadget-lpm-disable;
snps,dis-u1-entry-quirk;
snps,dis-u2-entry-quirk;
- snps,force-gen1;
tx-fifo-resize;
maximum-speed = "super-speed";
dr_mode = "otg";
diff --git a/qcom/sm8150.dtsi b/qcom/sm8150.dtsi
index 843eabbb..149b1198 100755
--- a/qcom/sm8150.dtsi
+++ b/qcom/sm8150.dtsi
@@ -1225,7 +1225,6 @@
iommus = <&apps_smmu 0x300 0x0>;
qcom,iommu-dma = "bypass";
dma-coherent;
- qcom,disable-lpm;
status = "disabled";
qos0 {
@@ -2082,6 +2081,8 @@
"l3-scu-errirq",
"l3-scu-faultirq";
};
+
+ msm_gpu: qcom,kgsl-3d0@2c00000 { };
};
&firmware {
@@ -2121,6 +2122,7 @@
#include "sm8150-slpi-pinctrl.dtsi"
#include "sm8150-gdsc.dtsi"
#include "msm-arm-smmu-sm8150.dtsi"
+#include "sm8150-coresight.dtsi"
#include "sm8150-smp2p.dtsi"
#include "sm8150-usb.dtsi"
#include "sm8150-debug.dtsi"