summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQC Publisher <qcpublisher@qti.qualcomm.com>2022-08-24 09:31:24 -0700
committerAndrei Ciubotariu <aciubotariu@google.com>2022-10-05 00:30:28 +0000
commitdf06ad535378d1cdfa50a56be7f2b353d62ceb9d (patch)
tree804d85d3236857bd9681455a25d7f36c0e6bec72
parentba46ea70ba5b95ea34026bf2e536e2c6ffac3509 (diff)
downloaddevicetree-df06ad535378d1cdfa50a56be7f2b353d62ceb9d.tar.gz
Commit label r00013.2 - ES1 0.0.013.2
TRACKING-ID:7fbefb95-e97b-453f-81b3-0fff0e2e0eb9
-rwxr-xr-xbindings/clock/qcom,debugcc.txt1
-rwxr-xr-xbindings/clock/qcom,gcc.txt1
-rwxr-xr-xbindings/clock/qcom,rpmh-clk.txt1
-rwxr-xr-xbindings/clock/qcom,sdxlemur-apsscc.txt2
-rwxr-xr-xbindings/cnss/cnss-wlan.txt1
-rwxr-xr-xbindings/interconnect/qcom,sdxpoorwills.txt24
-rwxr-xr-xbindings/pinctrl/qcom,sa410m-pinctrl.yaml (renamed from bindings/qcom,sa410m-pinctrl.yaml)0
-rwxr-xr-xbindings/pinctrl/qcom,sa410m-vm-pinctrl.yaml194
-rwxr-xr-xbindings/qseecom/qseecom.txt1
-rwxr-xr-xbindings/sound/qcom-audio-dev.txt46
-rwxr-xr-xqcom/Makefile8
-rwxr-xr-xqcom/bengal-qrd.dtsi30
-rwxr-xr-xqcom/direwolf-pinctrl.dtsi114
-rwxr-xr-xqcom/direwolf-vm-la-mt.dtsi20
-rwxr-xr-xqcom/direwolf-vm-la1-mt.dtsi8
-rwxr-xr-xqcom/direwolf-vm-lv-mt.dtsi8
-rwxr-xr-xqcom/direwolf-vm-lv.dtsi4
-rwxr-xr-xqcom/direwolf-vm.dtsi1
-rwxr-xr-xqcom/direwolf.dtsi5
-rwxr-xr-xqcom/kona-7230-iot-rb5.dts7
-rwxr-xr-xqcom/kona-7230m-iot-rb5.dts7
-rwxr-xr-xqcom/kona-npu.dtsi5
-rwxr-xr-xqcom/kona-pm.dtsi87
-rwxr-xr-xqcom/kona.dtsi7
-rwxr-xr-xqcom/lemans-audio.dtsi119
-rwxr-xr-xqcom/lemans-pcie.dtsi426
-rwxr-xr-xqcom/lemans-pinctrl.dtsi625
-rwxr-xr-xqcom/lemans-qupv3.dtsi8
-rwxr-xr-xqcom/lemans-thermal-overlay.dtsi10
-rwxr-xr-xqcom/lemans-thermal.dtsi136
-rwxr-xr-xqcom/lemans-vm.dtsi270
-rwxr-xr-xqcom/lemans.dtsi597
-rwxr-xr-xqcom/monaco-amic-audio-overlay.dtsi4
-rwxr-xr-xqcom/monaco.dtsi12
-rwxr-xr-xqcom/pm2250.dtsi2
-rwxr-xr-xqcom/prairie-iot-idp.dtsi15
-rwxr-xr-xqcom/qcs610-iot.dtsi13
-rwxr-xr-xqcom/qrb5165-iot-rb5-pine.dts10
-rwxr-xr-xqcom/qrb5165-pine.dtsi148
-rwxr-xr-xqcom/qrb5165m-iot-rb5-pine.dts10
-rwxr-xr-xqcom/qrb5165m-iot-rb5-pine.dtsi2
-rwxr-xr-xqcom/sa415m-pm.dtsi104
-rwxr-xr-xqcom/sa415m.dtsi16
-rwxr-xr-xqcom/sa515m-blsp.dtsi16
-rwxr-xr-xqcom/sa515m-ccard-cnss.dtsi132
-rwxr-xr-xqcom/sa515m-ccard-eth-phy-ep.dts11
-rwxr-xr-xqcom/sa515m-v2-ccard-eth-phy-ep.dts11
-rwxr-xr-xqcom/sa515m.dtsi197
-rwxr-xr-xqcom/sa8155-vm-audio.dtsi8
-rwxr-xr-xqcom/scuba-qrd.dtsi67
-rwxr-xr-xqcom/scuba.dtsi1
-rwxr-xr-xqcom/sdxpoorwills-regulator.dtsi390
-rwxr-xr-xqcom/sdxpoorwills-thermal.dtsi176
-rwxr-xr-xqcom/slate.dtsi10
-rwxr-xr-xqcom/sm6150.dtsi1
55 files changed, 3833 insertions, 296 deletions
diff --git a/bindings/clock/qcom,debugcc.txt b/bindings/clock/qcom,debugcc.txt
index 0e89973e..b27e9a83 100755
--- a/bindings/clock/qcom,debugcc.txt
+++ b/bindings/clock/qcom,debugcc.txt
@@ -22,6 +22,7 @@ Required properties :
"qcom,lemans-debugcc"
"qcom,sdx55-debugcc"
"qcom,kona-debugcc"
+ "qcom,sdxpoorwills-debugcc"
- qcom,gcc: phandle to the GCC device node.
- qcom,videocc: phandle to the Video CC device node.
diff --git a/bindings/clock/qcom,gcc.txt b/bindings/clock/qcom,gcc.txt
index 1e25cfb5..f43b489b 100755
--- a/bindings/clock/qcom,gcc.txt
+++ b/bindings/clock/qcom,gcc.txt
@@ -46,6 +46,7 @@ Required properties :
"qcom,bengal-gcc"
"qcom,lemans-gcc"
"qcom,gcc-sdx55"
+ "qcom,sdxpoorwills-gcc"
- reg : shall contain base register location and length
- vdd_cx-supply: The vdd_cx logic rail supply.
diff --git a/bindings/clock/qcom,rpmh-clk.txt b/bindings/clock/qcom,rpmh-clk.txt
index 2661800e..fd5bd322 100755
--- a/bindings/clock/qcom,rpmh-clk.txt
+++ b/bindings/clock/qcom,rpmh-clk.txt
@@ -18,6 +18,7 @@ Required properties :
"qcom,direwolf-rpmh-clk"
"qcom,lemans-rpmh-clk"
"qcom,sdx55-rpmh-clk"
+ "qcom,sdxpoorwills-rpmh-clk"
- #clock-cells : must contain 1
diff --git a/bindings/clock/qcom,sdxlemur-apsscc.txt b/bindings/clock/qcom,sdxlemur-apsscc.txt
index 042705ee..f720b93e 100755
--- a/bindings/clock/qcom,sdxlemur-apsscc.txt
+++ b/bindings/clock/qcom,sdxlemur-apsscc.txt
@@ -10,6 +10,8 @@ Required properties:
"qcom,sdxnightjar-apsscc"
"qcom,qcs404-apsscc"
"qcom,sdx55-apsscc"
+ "qcom,sdxpoorwills-apsscc"
+
- clocks: Phandle to the clock device.
- clock-names: Names of the used clocks. Shall contain following:
"xo_ao", "gpll0_ao"
diff --git a/bindings/cnss/cnss-wlan.txt b/bindings/cnss/cnss-wlan.txt
index 55f22e80..3f5e54f2 100755
--- a/bindings/cnss/cnss-wlan.txt
+++ b/bindings/cnss/cnss-wlan.txt
@@ -18,6 +18,7 @@ Required properties:
"qcom,cnss-qca6490" for QCA6490 device
"qcom,cnss-kiwi" for KIWI device
"qcom,cnss-qca-converged" for converged QCA devices
+ "qcom,cnss-qcn9000" for QCN9000 device
- wlan-en-gpio: WLAN_EN GPIO signal specified by the chip specifications
- vdd-wlan-supply: phandle to the regulator device tree node
- pinctrl-names: Names corresponding to the numbered pinctrl states
diff --git a/bindings/interconnect/qcom,sdxpoorwills.txt b/bindings/interconnect/qcom,sdxpoorwills.txt
new file mode 100755
index 00000000..2beb3220
--- /dev/null
+++ b/bindings/interconnect/qcom,sdxpoorwills.txt
@@ -0,0 +1,24 @@
+Qualcomm Technologies, Inc. SDXPOORWILLS Network-On-Chip interconnect driver binding
+--------------------------------------------------------------------------------
+
+SDXPOORWILLS 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,sdxpoorwills-ipa_virt",
+ "qcom,sdxpoorwills-system_noc",
+ "qcom,sdxpoorwills-mem_noc",
+ "qcom,sdxpoorwills-mc_virt",
+- #interconnect-cells : should contain 1
+
+Examples:
+
+system_noc: interconnect@1620000 {
+ compatible = "qcom,sdxpoorwills-system_noc";
+ interconnect-cells = <1>;
+};
diff --git a/bindings/qcom,sa410m-pinctrl.yaml b/bindings/pinctrl/qcom,sa410m-pinctrl.yaml
index 2de2c065..2de2c065 100755
--- a/bindings/qcom,sa410m-pinctrl.yaml
+++ b/bindings/pinctrl/qcom,sa410m-pinctrl.yaml
diff --git a/bindings/pinctrl/qcom,sa410m-vm-pinctrl.yaml b/bindings/pinctrl/qcom,sa410m-vm-pinctrl.yaml
new file mode 100755
index 00000000..06bf8a16
--- /dev/null
+++ b/bindings/pinctrl/qcom,sa410m-vm-pinctrl.yaml
@@ -0,0 +1,194 @@
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/bindings/pinctrl/qcom,sa410m-vm-pinctrl.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Qualcomm Technologies, Inc. SA410M VM TLMM block
+
+description: |
+ This binding describes the Top Level Mode Multiplexer block found in the
+ SA410M VM platform.
+
+properties:
+ compatible:
+ Usage: required
+ Value type: <string>
+ Definition: must be "qcom,sa410m-vm-pinctrl"
+
+ reg:
+ Usage: required
+ Value type: <prop-encoded-array>
+ Definition: the base address and size of the TLMM register space.
+
+ interrupts-extended:
+ Usage: required
+ Value type: <prop-encoded-array>
+ Definition: should specify the TLMM summary IRQ.
+
+ interrupt-controller:
+ Usage: required
+ Value type: <none>
+ Definition: identifies this node as an interrupt controller
+
+ #interrupt-cells:
+ Usage: required
+ Value type: <u32>
+ Definition: must be 2. Specifying the pin number and flags, as defined
+ in <dt-bindings/interrupt-controller/irq.h>
+
+ gpio-controller:
+ Usage: required
+ Value type: <none>
+ Definition: identifies this node as a gpio controller
+
+ #gpio-cells:
+ Usage: required
+ Value type: <u32>
+ Definition: must be 2. Specifying the pin number and flags, as defined
+ in <dt-bindings/gpio/gpio.h>
+
+ gpios:
+ Definition: array of gpio pin number required by VM TLMM clients
+
+ Please refer to ../gpio/gpio.txt and ../interrupt-controller/interrupts.txt for
+ a general description of GPIO and interrupt bindings.
+
+ Please refer to pinctrl-bindings.txt in this directory for details of the
+ common pinctrl bindings used by client devices, including the meaning of the
+ phrase "pin configuration node".
+
+ The pin configuration nodes act as a container for an arbitrary number of
+ subnodes. Each of these subnodes represents some desired configuration for a
+ pin, a group, or a list of pins or groups. This configuration can include the
+ mux function to select on those pin(s)/group(s), and various pin configuration
+ parameters, such as pull-up, drive strength, etc.
+
+
+ PIN CONFIGURATION NODES:
+
+ The name of each subnode is not important; all subnodes should be enumerated
+ and processed purely based on their content.
+
+ Each subnode only affects those parameters that are explicitly listed. In
+ other words, a subnode that lists a mux function but no pin configuration
+ parameters implies no information about any pin configuration parameters.
+ Similarly, a pin subnode that describes a pullup parameter implies no
+ information about e.g. the mux function.
+
+
+ The following generic properties as defined in pinctrl-bindings.txt are valid
+ to specify in a pin configuration subnode:
+
+ pins:
+ Usage: required
+ Value type: <string-array>
+ Definition: List of gpio pins affected by the properties specified in
+ this subnode.
+
+ Valid pins:
+ gpio0-gpio155
+ Supports mux, bias and drive-strength
+
+ sdc1_clk, sdc1_cmd, sdc1_data sdc2_clk, sdc2_cmd,
+ sdc2_data sdc1_rclk
+ Supports bias and drive-strength
+
+ function:
+ Usage: required
+ Value type: <string>
+ Definition: Specify the alternative function to be configured for the
+ specified pins. Functions are only valid for gpio pins.
+ Valid values:
+ blsp_uart1, blsp_spi1, blsp_i2c1, blsp_uim1, atest_tsens,
+ bimc_dte1, dac_calib0, blsp_spi8, blsp_uart8, blsp_uim8,
+ qdss_cti_trig_out_b, bimc_dte0, dac_calib1, qdss_cti_trig_in_b,
+ dac_calib2, atest_tsens2, atest_usb1, blsp_spi10, blsp_uart10,
+ blsp_uim10, atest_bbrx1, atest_usb13, atest_bbrx0, atest_usb12,
+ mdp_vsync, edp_lcd, blsp_i2c10, atest_gpsadc1, atest_usb11,
+ atest_gpsadc0, edp_hot, atest_usb10, m_voc, dac_gpio, atest_char,
+ cam_mclk, pll_bypassnl, qdss_stm7, blsp_i2c8, qdss_tracedata_b,
+ pll_reset, qdss_stm6, qdss_stm5, qdss_stm4, atest_usb2, cci_i2c,
+ qdss_stm3, dac_calib3, atest_usb23, atest_char3, dac_calib4,
+ qdss_stm2, atest_usb22, atest_char2, qdss_stm1, dac_calib5,
+ atest_usb21, atest_char1, dbg_out, qdss_stm0, dac_calib6,
+ atest_usb20, atest_char0, dac_calib10, qdss_stm10,
+ qdss_cti_trig_in_a, cci_timer4, blsp_spi6, blsp_uart6, blsp_uim6,
+ blsp2_spi, qdss_stm9, qdss_cti_trig_out_a, dac_calib11,
+ qdss_stm8, cci_timer0, qdss_stm13, dac_calib7, cci_timer1,
+ qdss_stm12, dac_calib8, cci_timer2, blsp1_spi, qdss_stm11,
+ dac_calib9, cci_timer3, cci_async, dac_calib12, blsp_i2c6,
+ qdss_tracectl_a, dac_calib13, qdss_traceclk_a, dac_calib14,
+ dac_calib15, hdmi_rcv, dac_calib16, hdmi_cec, pwr_modem,
+ dac_calib17, hdmi_ddc, pwr_nav, dac_calib18, pwr_crypto,
+ dac_calib19, hdmi_hot, dac_calib20, dac_calib21, pci_e0,
+ dac_calib22, dac_calib23, dac_calib24, tsif1_sync, dac_calib25,
+ sd_write, tsif1_error, blsp_spi2, blsp_uart2, blsp_uim2,
+ qdss_cti, blsp_i2c2, blsp_spi3, blsp_uart3, blsp_uim3, blsp_i2c3,
+ uim3, blsp_spi9, blsp_uart9, blsp_uim9, blsp10_spi, blsp_i2c9,
+ blsp_spi7, blsp_uart7, blsp_uim7, qdss_tracedata_a, blsp_i2c7,
+ qua_mi2s, gcc_gp1_clk_a, ssc_irq, uim4, blsp_spi11, blsp_uart11,
+ blsp_uim11, gcc_gp2_clk_a, gcc_gp3_clk_a, blsp_i2c11, cri_trng0,
+ cri_trng1, cri_trng, qdss_stm18, pri_mi2s, qdss_stm17, blsp_spi4,
+ blsp_uart4, blsp_uim4, qdss_stm16, qdss_stm15, blsp_i2c4,
+ qdss_stm14, dac_calib26, spkr_i2s, audio_ref, lpass_slimbus,
+ isense_dbg, tsense_pwm1, tsense_pwm2, btfm_slimbus, ter_mi2s,
+ qdss_stm22, qdss_stm21, qdss_stm20, qdss_stm19, gcc_gp1_clk_b,
+ sec_mi2s, blsp_spi5, blsp_uart5, blsp_uim5, gcc_gp2_clk_b,
+ gcc_gp3_clk_b, blsp_i2c5, blsp_spi12, blsp_uart12, blsp_uim12,
+ qdss_stm25, qdss_stm31, blsp_i2c12, qdss_stm30, qdss_stm29,
+ tsif1_clk, qdss_stm28, tsif1_en, tsif1_data, sdc4_cmd, qdss_stm27,
+ qdss_traceclk_b, tsif2_error, sdc43, vfr_1, qdss_stm26, tsif2_clk,
+ sdc4_clk, qdss_stm24, tsif2_en, sdc42, qdss_stm23, qdss_tracectl_b,
+ sd_card, tsif2_data, sdc41, tsif2_sync, sdc40, mdp_vsync_p_b,
+ ldo_en, mdp_vsync_s_b, ldo_update, blsp11_uart_tx_b, blsp11_uart_rx_b,
+ blsp11_i2c_sda_b, prng_rosc, blsp11_i2c_scl_b, uim2, uim1, uim_batt,
+ pci_e2, pa_indicator, adsp_ext, ddr_bist, qdss_tracedata_11,
+ qdss_tracedata_12, modem_tsync, nav_dr, nav_pps, pci_e1, gsm_tx,
+ qspi_cs, ssbi2, ssbi1, mss_lte, qspi_clk, qspi0, qspi1, qspi2, qspi3,
+ gpio
+
+ bias-disable:
+ Usage: optional
+ Value type: <none>
+ Definition: The specified pins should be configured as no pull.
+
+ bias-pull-down:
+ Usage: optional
+ Value type: <none>
+ Definition: The specified pins should be configured as pull down.
+
+ bias-pull-up:
+ Usage: optional
+ Value type: <none>
+ Definition: The specified pins should be configured as pull up.
+
+ output-high:
+ Usage: optional
+ Value type: <none>
+ Definition: The specified pins are configured in output mode, driven high.
+ Not valid for sdc pins.
+
+ output-low:
+ Usage: optional
+ Value type: <none>
+ Definition: The specified pins are configured in output mode, driven low.
+ Not valid for sdc pins.
+
+ drive-strength:
+ Usage: optional
+ Value type: <u32>
+ Definition: Selects the drive strength for the specified pins, in mA.
+ Valid values: 2, 4, 6, 8, 10, 12, 14 and 16
+
+examples:
+ - |
+ tlmm: pinctrl@400000 {
+ compatible = "qcom,sa410m-vm-pinctrl";
+ reg = <0x400000 0x800000>;
+ interrupts-extended = <0 227 0>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ gpios = /bits/ 16 <0 1>;
+ };
diff --git a/bindings/qseecom/qseecom.txt b/bindings/qseecom/qseecom.txt
index 8200afda..89264722 100755
--- a/bindings/qseecom/qseecom.txt
+++ b/bindings/qseecom/qseecom.txt
@@ -26,6 +26,7 @@ Optional properties:
- vdd-hba-supply : handle for fixed power regulator
- qcom,qsee-reentrancy-support: indicates the qsee reentrancy phase supported by the target
- qcom,commonlib64-loaded-by-uefi: indicates commonlib64 is loaded by uefi already
+ - qcom,commonlib-loaded-by-hostvm: indicates commonlibs (commonlib and commonlib64) are loaded by host VM already
- qcom,fde-key-size: indicates which FDE key size is used in device.
Example:
diff --git a/bindings/sound/qcom-audio-dev.txt b/bindings/sound/qcom-audio-dev.txt
index f780188d..d9d238cd 100755
--- a/bindings/sound/qcom-audio-dev.txt
+++ b/bindings/sound/qcom-audio-dev.txt
@@ -3021,7 +3021,7 @@ Example:
qcom,msm_audio_ssr_devs = <&audio_apr>, <&q6core>;
};
-* SPF ASoC Machine driver
+* SPF SA8295 GVM ASoC Machine driver
Required properties:
- compatible : "qcom,gvm-auto-spf-asoc-snd-adp-star" for auto adp codec.
@@ -3041,3 +3041,47 @@ Example:
asoc-codec-names = "msm-stub-codec.1";
};
+* SPF SA8155 GVM ASoC Machine driver
+
+Required properties:
+- compatible : "qcom,8155-spf-asoc-snd-adp-star" for auto adp codec.
+- qcom,model : The user-visible name of this sound card.
+- asoc-codec: This is phandle list containing the references to codec dai device
+ nodes that are used as part of the sound card dai-links.
+- asoc-codec-names: This property contains list of codec dai names. The order of the
+ codec dai names should match to that of the phandle order given
+ in "asoc-codec".
+
+Example:
+
+ spf_snd_8155: spf-sound-adp-star {
+ compatible = "qcom,8155-spf-asoc-snd-adp-star";
+ qcom,model = "gvmauto-8155-snd-card";
+ asoc-codec = <&stub_codec>;
+ asoc-codec-names = "msm-stub-codec.1";
+ };
+
+* SPF SA8255 ASoC Machine driver
+
+Required properties:
+- compatible : "qcom,sa8255-asoc-snd-adp-star" for auto adp codec.
+- qcom,model : The user-visible name of this sound card.
+- asoc-codec: This is phandle list containing the references to codec dai device
+ nodes that are used as part of the sound card dai-links.
+- asoc-codec-names: This property contains list of codec dai names. The order of the
+ codec dai names should match to that of the phandle order given
+ in "asoc-codec".
+
+Optional properties:
+- qcom,mi2s-audio-intf : Property to specify if MI2S interface is used for the target
+- qcom,auxpcm-audio-intf : Property to specify if AUX PCM interface is used for the target
+- qcom,msm-mi2s-master : List of master/slave configuration for MI2S interfaces
+
+Example:
+
+ spf_snd_8255: spf-sound-adp-star {
+ compatible = "qcom,sa8255-asoc-snd-adp-star";
+ qcom,model = "sa8255-adp-star-snd-card";
+ asoc-codec = <&stub_codec>;
+ asoc-codec-names = "msm-stub-codec.1";
+ };
diff --git a/qcom/Makefile b/qcom/Makefile
index 5b328cad..f53d720b 100755
--- a/qcom/Makefile
+++ b/qcom/Makefile
@@ -460,10 +460,14 @@ dtb-$(CONFIG_ARCH_KONA) += kona-v2-qrd.dtb \
kona-v2.1-mtp.dtb \
kona-v2.1-qrd.dtb \
kona-v2.1-iot-rb5.dtb \
+ kona-7230-iot-rb5.dtb \
+ kona-7230m-iot-rb5.dtb \
qrb5165-iot-rb5.dtb \
qrb5165m-iot-rb5.dtb \
qrb5165n-v2-iot-rb5.dtb \
- qrb5165n-iot-rb5.dtb
+ qrb5165n-iot-rb5.dtb \
+ qrb5165m-iot-rb5-pine.dtb \
+ qrb5165-iot-rb5-pine.dtb
ifeq ($(CONFIG_BUILD_ARM64_DT_OVERLAY),y)
dtbo-$(CONFIG_ARCH_SM6150) += \
@@ -521,9 +525,11 @@ dtb-$(CONFIG_ARCH_SDXLEMUR) += sdxlemur-rumi.dtb \
dtb-$(CONFIG_ARCH_SA515M) += sa515m-ccard.dtb \
sa515m-ccard-eth-ep.dtb \
+ sa515m-ccard-eth-phy-ep.dtb \
sa515m-ccard-pcie-ep.dtb \
sa515m-ccard-usb-ep.dtb \
sa515m-v2-ccard-eth-ep.dtb \
+ sa515m-v2-ccard-eth-phy-ep.dtb \
sa515m-v2-ccard-pcie-ep.dtb \
sa515m-v2-ccard-usb-ep.dtb \
sa515m-v2-ccard.dtb \
diff --git a/qcom/bengal-qrd.dtsi b/qcom/bengal-qrd.dtsi
index 3b1c067c..d1572794 100755
--- a/qcom/bengal-qrd.dtsi
+++ b/qcom/bengal-qrd.dtsi
@@ -348,23 +348,23 @@
leds {
compatible = "gpio-leds";
- gpio52 {
- label = "user4-led_green";
- gpios = <&tlmm 52 GPIO_ACTIVE_HIGH>;
- default-state = "off";
- };
-
- gpio47 {
+ wifi_led {
label = "wifi-led_yellow";
gpios = <&tlmm 47 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
- gpio45 {
+ bt_led {
label = "bt-led_blue";
gpios = <&tlmm 45 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
+
+ user_led0 {
+ label = "user-led0_green";
+ gpios = <&tlmm 52 GPIO_ACTIVE_HIGH>;
+ default-state = "off";
+ };
};
fan0: pwm-fan {
@@ -381,6 +381,20 @@
};
};
+&pmi632_rgb {
+ blue {
+ label = "user-led1_green";
+ };
+
+ green {
+ label = "user-led2_green";
+ };
+
+ red {
+ label = "user-led3_green";
+ };
+};
+
&qupv3_se5_spi {
status = "okay";
mcp2518fd: can@0 {
diff --git a/qcom/direwolf-pinctrl.dtsi b/qcom/direwolf-pinctrl.dtsi
index f9d31416..6b31fa51 100755
--- a/qcom/direwolf-pinctrl.dtsi
+++ b/qcom/direwolf-pinctrl.dtsi
@@ -2683,6 +2683,62 @@
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";
};
@@ -2694,7 +2750,7 @@
};
};
- cci3_suspend: cci3_suspend {
+ cci5_suspend: cci5_suspend {
mux {
/* CLK, DATA */
pins = "gpio12","gpio13";
@@ -2708,6 +2764,62 @@
};
};
+ 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 {
diff --git a/qcom/direwolf-vm-la-mt.dtsi b/qcom/direwolf-vm-la-mt.dtsi
index ae1b3958..bc530e82 100755
--- a/qcom/direwolf-vm-la-mt.dtsi
+++ b/qcom/direwolf-vm-la-mt.dtsi
@@ -3,6 +3,14 @@
reg = <0x1 0x6a500000 0x0 0x51400000>;
label = "pmem_shared_mem";
};
+
+ secure_display_memory: secure_display_region {
+ compatible = "shared-dma-pool";
+ alloc-ranges = <0x0 0x00000000 0x0 0xffffffff>;
+ reusable;
+ alignment = <0x0 0x400000>;
+ size = <0x0 0x05000000>;
+ };
};
#include "display/quin-vm-display-la.dtsi"
@@ -41,10 +49,22 @@
status = "okay";
};
+&usb_qmp_dp_phy0 {
+ status = "okay";
+};
+
&usb2 {
status = "okay";
};
+&usb_qmp_phy0 {
+ status = "okay";
+};
+
+&usb_qmp_phy1 {
+ status = "okay";
+};
+
&usb2_phy2 {
status = "okay";
};
diff --git a/qcom/direwolf-vm-la1-mt.dtsi b/qcom/direwolf-vm-la1-mt.dtsi
index 0300d945..e63882c9 100755
--- a/qcom/direwolf-vm-la1-mt.dtsi
+++ b/qcom/direwolf-vm-la1-mt.dtsi
@@ -7,6 +7,14 @@
reg = <0x1 0x66500000 0x0 0x51400000>;
label = "pmem_shared_mem";
};
+
+ secure_display_memory: secure_display_region {
+ compatible = "shared-dma-pool";
+ alloc-ranges = <0x0 0x00000000 0x0 0xffffffff>;
+ reusable;
+ alignment = <0x0 0x400000>;
+ size = <0x0 0x05000000>;
+ };
};
/ {
diff --git a/qcom/direwolf-vm-lv-mt.dtsi b/qcom/direwolf-vm-lv-mt.dtsi
index add1fe4e..f66052d0 100755
--- a/qcom/direwolf-vm-lv-mt.dtsi
+++ b/qcom/direwolf-vm-lv-mt.dtsi
@@ -19,6 +19,10 @@
status = "okay";
};
+&usb_qmp_dp_phy1 {
+ status = "okay";
+};
+
&pcie0 {
status = "okay";
};
@@ -38,3 +42,7 @@
&qupv3_2 {
status = "disabled";
};
+
+&qcom_rng_ee3 {
+ status = "okay";
+};
diff --git a/qcom/direwolf-vm-lv.dtsi b/qcom/direwolf-vm-lv.dtsi
index 36e791a3..57054446 100755
--- a/qcom/direwolf-vm-lv.dtsi
+++ b/qcom/direwolf-vm-lv.dtsi
@@ -116,3 +116,7 @@
&cnss_pcie2 {
status = "ok";
};
+
+&qcom_rng_ee3 {
+ status = "okay";
+};
diff --git a/qcom/direwolf-vm.dtsi b/qcom/direwolf-vm.dtsi
index cee848ed..ceebe6fd 100755
--- a/qcom/direwolf-vm.dtsi
+++ b/qcom/direwolf-vm.dtsi
@@ -352,6 +352,7 @@
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>;
};
diff --git a/qcom/direwolf.dtsi b/qcom/direwolf.dtsi
index 8fe8f655..b9ceb2dd 100755
--- a/qcom/direwolf.dtsi
+++ b/qcom/direwolf.dtsi
@@ -3138,6 +3138,11 @@
compatible = "qcom,secure-buffer";
qcom,vmid-cp-camera-preview-ro;
};
+
+ qcom,sps {
+ compatible = "qcom,msm-sps-4k";
+ qcom,pipe-attr-ee;
+ };
};
#include "direwolf-gpu.dtsi"
diff --git a/qcom/kona-7230-iot-rb5.dts b/qcom/kona-7230-iot-rb5.dts
new file mode 100755
index 00000000..ecee912a
--- /dev/null
+++ b/qcom/kona-7230-iot-rb5.dts
@@ -0,0 +1,7 @@
+/dts-v1/;
+
+/ {
+ model = "Qualcomm Technologies, Inc. kona-7230 IOT RB5";
+ compatible = "qcom,kona-iot", "qcom,kona", "qcom,iot";
+ qcom,board-id = <11 3>;
+};
diff --git a/qcom/kona-7230m-iot-rb5.dts b/qcom/kona-7230m-iot-rb5.dts
new file mode 100755
index 00000000..30d8c930
--- /dev/null
+++ b/qcom/kona-7230m-iot-rb5.dts
@@ -0,0 +1,7 @@
+/dts-v1/;
+
+/ {
+ model = "Qualcomm Technologies, Inc. KONA-7230M IOT RB5";
+ compatible = "qcom,kona-iot", "qcom,kona", "qcom,iot";
+ qcom,board-id = <0x04000B 0x03>;
+};
diff --git a/qcom/kona-npu.dtsi b/qcom/kona-npu.dtsi
index 8baf90f6..31dd863a 100755
--- a/qcom/kona-npu.dtsi
+++ b/qcom/kona-npu.dtsi
@@ -93,9 +93,8 @@
IPCC_MPROC_SIGNAL_PING>;
mbox-names = "ipcc-glink", "ipcc-smp2p", "ipcc-ping";
#mbox-cells = <2>;
- qcom,npubw-devs = <&npu_npu_llcc_bw>, <&npu_llcc_ddr_bw>,
- <&npudsp_npu_ddr_bw>;
- qcom,npubw-dev-names = "llcc_bw", "llcc_ddr_bw", "dsp_ddr_bw";
+ qcom,npubw-devs = <&npu_npu_llcc_bw>, <&npu_llcc_ddr_bw>;
+ qcom,npubw-dev-names = "llcc_bw", "llcc_ddr_bw";
qcom,npu-pwrlevels {
#address-cells = <1>;
#size-cells = <0>;
diff --git a/qcom/kona-pm.dtsi b/qcom/kona-pm.dtsi
index a5eba344..d49c4a2f 100755
--- a/qcom/kona-pm.dtsi
+++ b/qcom/kona-pm.dtsi
@@ -7,27 +7,31 @@
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
- label = "L3";
+ idle-state-name = "L3";
qcom,clstr-tmr-add = <1000>;
qcom,psci-mode-shift = <4>;
qcom,psci-mode-mask = <0xfff>;
- qcom,pm-cluster-level@0 { /* D1 */
+ CLUSTER_WFI: qcom,pm-cluster-level@0 { /* D1 */
reg = <0>;
- label = "l3-wfi";
+ compatible = "arm,idle-state";
+ idle-state-name = "l3-wfi";
qcom,psci-mode = <0x1>;
- qcom,entry-latency-us = <48>;
- qcom,exit-latency-us = <51>;
- qcom,min-residency-us = <99>;
+ entry-latency-us = <48>;
+ exit-latency-us = <51>;
+ arm,psci-suspend-param = <0x10>;
+ min-residency-us = <99>;
};
- qcom,pm-cluster-level@1 { /* LLCC off, AOSS sleep */
+ LLCC_OFF: qcom,pm-cluster-level@1 { /* LLCC off, AOSS sleep */
reg = <1>;
- label = "llcc-off";
+ compatible = "arm,idle-state";
+ idle-state-name = "llcc-off";
qcom,psci-mode = <0xC24>;
- qcom,entry-latency-us = <3263>;
- qcom,exit-latency-us = <6562>;
- qcom,min-residency-us = <9987>;
+ arm,psci-suspend-param = <0xc240>;
+ entry-latency-us = <3263>;
+ exit-latency-us = <6562>;
+ min-residency-us = <9987>;
qcom,min-child-idx = <1>;
qcom,is-reset;
qcom,notify-rpm;
@@ -45,22 +49,26 @@
qcom,disable-ipi-prediction;
qcom,cpu = <&CPU0 &CPU1 &CPU2 &CPU3>;
- qcom,pm-cpu-level@0 { /* C1 */
+ SLVR_WFI: qcom,pm-cpu-level@0 { /* C1 */
reg = <0>;
- label = "wfi";
+ compatible = "arm,idle-state";
+ idle-state-name = "wfi";
qcom,psci-cpu-mode = <0x1>;
- qcom,entry-latency-us = <57>;
- qcom,exit-latency-us = <43>;
- qcom,min-residency-us = <100>;
+ arm,psci-suspend-param = <0x1>;
+ entry-latency-us = <57>;
+ exit-latency-us = <43>;
+ min-residency-us = <100>;
};
- qcom,pm-cpu-level@1 { /* C4 */
+ SLVR_RAIL_OFF: qcom,pm-cpu-level@1 { /* C4 */
reg = <1>;
- label = "rail-pc";
+ compatible = "arm,idle-state";
+ idle-state-name = "rail-pc";
qcom,psci-cpu-mode = <0x4>;
- qcom,entry-latency-us = <360>;
- qcom,exit-latency-us = <531>;
- qcom,min-residency-us = <3934>;
+ arm,psci-suspend-param = <0x40000004>;
+ entry-latency-us = <360>;
+ exit-latency-us = <531>;
+ min-residency-us = <3934>;
qcom,is-reset;
qcom,use-broadcast-timer;
};
@@ -75,22 +83,26 @@
qcom,disable-ipi-prediction;
qcom,cpu = <&CPU4 &CPU5 &CPU6 &CPU7>;
- qcom,pm-cpu-level@2 { /* C1 */
+ GOLD_WFI: qcom,pm-cpu-level@2 { /* C1 */
reg = <2>;
- label = "wfi";
+ compatible = "arm,idle-state";
+ idle-state-name = "wfi";
qcom,psci-cpu-mode = <0x1>;
- qcom,entry-latency-us = <57>;
- qcom,exit-latency-us = <43>;
- qcom,min-residency-us = <83>;
+ arm,psci-suspend-param = <0x1>;
+ entry-latency-us = <57>;
+ exit-latency-us = <43>;
+ min-residency-us = <83>;
};
- qcom,pm-cpu-level@3 { /* C4 */
+ GOLD_RAIL_OFF: qcom,pm-cpu-level@3 { /* C4 */
reg = <3>;
- label = "rail-pc";
+ compatible = "arm,idle-state";
+ idle-state-name = "rail-pc";
qcom,psci-cpu-mode = <0x4>;
- qcom,entry-latency-us = <702>;
- qcom,exit-latency-us = <1061>;
- qcom,min-residency-us = <4488>;
+ arm,psci-suspend-param = <0x40000004>;
+ entry-latency-us = <702>;
+ exit-latency-us = <1061>;
+ min-residency-us = <4488>;
qcom,is-reset;
qcom,use-broadcast-timer;
};
@@ -98,20 +110,19 @@
};
};
- qcom,rpm-stats@c3f0004 {
- compatible = "qcom,rpm-stats";
- reg = <0xc300000 0x1000>, <0xc3f0004 0x4>;
- reg-names = "phys_addr_base", "offset_addr";
- qcom,num-records = <3>;
+ soc-sleep-stats@c3f0000 {
+ compatible = "qcom,rpmh-sleep-stats";
+ reg = <0xc3f0000 0x400>;
};
- qcom,ddr-stats@c3f0000 {
+ ddr-stats@c300000 {
compatible = "qcom,ddr-stats";
reg = <0xc300000 0x1000>, <0xc3f001c 0x4>;
reg-names = "phys_addr_base", "offset_addr";
+ mboxes = <&qmp_aop 0>;
};
- qcom,rpmh-master-stats@b221200 {
+ rpmh-master-stats@b221200 {
compatible = "qcom,rpmh-master-stats-v1";
reg = <0xb221200 0x60>;
};
diff --git a/qcom/kona.dtsi b/qcom/kona.dtsi
index dfdabadd..1d4040b9 100755
--- a/qcom/kona.dtsi
+++ b/qcom/kona.dtsi
@@ -53,7 +53,6 @@
pci-domain1 = &pcie1; /* PCIe1 domain */
pci-domain2 = &pcie2; /* PCIe2 domain */
serial0 = &qupv3_se2_2uart; /* RUMI */
- mhi-netdev0 = &mhi_netdev_0;
hsuart0 = &qupv3_se6_4uart;
};
@@ -577,7 +576,7 @@
mailbox_mem: mailbox_region {
compatible = "shared-dma-pool";
- no-map;
+ reusable;
alloc-ranges = <0x0 0x00000000 0x0 0xffffffff>;
alignment = <0x0 0x400000>;
size = <0x0 0x20000>;
@@ -4622,6 +4621,10 @@
qcom,firmware-name = "slpi";
};
+ qtee_shmbridge {
+ compatible = "qcom,tee-shared-memory-bridge";
+ };
+
qcom_smcinvoke: smcinvoke@87900000 {
compatible = "qcom,smcinvoke";
reg = <0x87900000 0x2200000>;
diff --git a/qcom/lemans-audio.dtsi b/qcom/lemans-audio.dtsi
new file mode 100755
index 00000000..5215e7ed
--- /dev/null
+++ b/qcom/lemans-audio.dtsi
@@ -0,0 +1,119 @@
+#include "msm-audio-lpass.dtsi"
+#include "msm-arm-smmu-lemans.dtsi"
+
+/ {
+ aliases {
+ i2c4 = &qupv3_se11_i2c;
+ spi16 = &qupv3_se16_spi;
+ };
+};
+
+&soc {
+ spf_core_platform: spf_core_platform {
+ compatible = "qcom,spf-core-platform";
+ };
+
+ audio_pkt_core_platform: audio-pkt-platform {
+ compatible = "qcom,audio-pkt-core-platform";
+ };
+};
+
+&spf_core_platform {
+ spf_msm_audio_ion: qcom,spf-msm-audio-ion {
+ compatible = "qcom,msm-audio-ion";
+ qcom,smmu-version = <2>;
+ qcom,smmu-enabled;
+ iommus = <&apps_smmu 0x3001 0x0>;
+ qcom,smmu-sid-mask = /bits/ 64 <0xf>;
+ };
+
+ spf_tdm_sec: qcom,spf-msm-dai-tdm-sec {
+ compatible = "qcom,msm-pcm-pinctrl";
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&sec_tdm_sck_active &sec_tdm_ws_active
+ &sec_tdm_din_active &sec_tdm_dout_active>;
+ pinctrl-1 = <&sec_tdm_sck_sleep &sec_tdm_ws_sleep
+ &sec_tdm_din_sleep &sec_tdm_dout_sleep>;
+ #gpio-cells = <0>;
+ };
+
+ spf_tdm_tert: qcom,spf-msm-dai-tdm-tert {
+ compatible = "qcom,msm-pcm-pinctrl";
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&tert_tdm_sck_active &tert_tdm_ws_active
+ &tert_tdm_din_active &tert_tdm_dout_active>;
+ pinctrl-1 = <&tert_tdm_sck_sleep &tert_tdm_ws_sleep
+ &tert_tdm_din_sleep &tert_tdm_dout_sleep>;
+ #gpio-cells = <0>;
+ };
+
+ spf_tdm_hsif0: qcom,spf-msm-dai-tdm-hsif0 {
+ compatible = "qcom,msm-pcm-pinctrl";
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&hs0_i2s_sck_active &hs0_i2s_ws_active
+ &hs0_i2s_data0_active &hs0_i2s_data1_active>;
+ pinctrl-1 = <&hs0_i2s_sck_sleep &hs0_i2s_ws_sleep
+ &hs0_i2s_data0_sleep &hs0_i2s_data1_sleep>;
+ #gpio-cells = <0>;
+ };
+
+ spf_tdm_hsif1: qcom,spf-msm-dai-tdm-hsif1 {
+ compatible = "qcom,msm-pcm-pinctrl";
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&hs1_i2s_sck_active &hs1_i2s_ws_active
+ &hs1_i2s_data0_active &hs1_i2s_data1_active>;
+ pinctrl-1 = <&hs1_i2s_sck_sleep &hs1_i2s_ws_sleep
+ &hs1_i2s_data0_sleep &hs1_i2s_data1_sleep>;
+ #gpio-cells = <0>;
+ };
+
+ spf_tdm_hsif2: qcom,spf-msm-dai-tdm-hsif2 {
+ compatible = "qcom,msm-pcm-pinctrl";
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&hs2_i2s_sck_active &hs2_i2s_ws_active
+ &hs2_i2s_data0_active &hs2_i2s_data1_active>;
+ pinctrl-1 = <&hs2_i2s_sck_sleep &hs2_i2s_ws_sleep
+ &hs2_i2s_data0_sleep &hs2_i2s_data1_sleep>;
+ #gpio-cells = <0>;
+ };
+
+ spf_internal_mclk1: qcom,spf-msm-internal-mclk1 {
+ compatible = "qcom,msm-pcm-pinctrl";
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&audio_internal_mclk1_active>;
+ pinctrl-1 = <&audio_internal_mclk1_sleep>;
+ #gpio-cells = <0>;
+ };
+
+ spf_snd_8255: spf-sound-adp-star {
+ compatible = "qcom,sa8255-asoc-snd-adp-star";
+ qcom,model = "sa8255-adp-star-snd-card";
+ qcom,mi2s-audio-intf;
+ qcom,auxpcm-audio-intf;
+ qcom,msm-mi2s-master = <1>, <1>, <1>, <1>, <1>;
+
+ qcom,sec-tdm-gpios = <&spf_tdm_sec>;
+ qcom,tert-tdm-gpios = <&spf_tdm_tert>;
+ qcom,hsif0-tdm-gpios = <&spf_tdm_hsif0>;
+ qcom,hsif1-tdm-gpios = <&spf_tdm_hsif1>;
+ qcom,hsif2-tdm-gpios = <&spf_tdm_hsif2>;
+ qcom,internal-mclk1-gpios = <&spf_internal_mclk1>;
+
+ asoc-codec = <&stub_codec>;
+ asoc-codec-names = "msm-stub-codec.1";
+ };
+};
+
+&qupv3_se11_i2c {
+ status = "ok";
+};
+
+&qupv3_se16_spi {
+ status = "ok";
+ spi_codec@0 {
+ compatible = "qcom,spi-msm-codec-slave";
+ reg = <0>;
+ spi-max-frequency = <10000000>;
+ spi-cpha;
+ };
+};
diff --git a/qcom/lemans-pcie.dtsi b/qcom/lemans-pcie.dtsi
index d7592de9..9dfe50f9 100755
--- a/qcom/lemans-pcie.dtsi
+++ b/qcom/lemans-pcie.dtsi
@@ -85,25 +85,20 @@
<&gcc GCC_PCIE_0_MSTR_AXI_CLK>,
<&gcc GCC_PCIE_0_SLV_AXI_CLK>,
<&gcc GCC_PCIE_CLKREF_EN>,
- <&gcc GCC_PCIE_0_AUX_CLK_SRC>,
<&gcc GCC_PCIE_0_SLV_Q2A_AXI_CLK>,
<&gcc GCC_PCIE_0_PHY_RCHNG_CLK>,
- <&gcc GCC_PCIE_0_PHY_RCHNG_CLK_SRC>,
- <&gcc GCC_PCIE_0_PIPE_DIV_CLK_SRC>,
<&gcc GCC_PCIE_0_PIPE_CLK_SRC>,
<&gcc GCC_PCIE_0_PHY_AUX_CLK>,
<&gcc GCC_PCIE_0_PIPEDIV2_CLK>,
- <&gcc GCC_PCIE_0_PHY_AUX_CLK_SRC>,
<&pcie_0_pipe_clk>;
clock-names = "pcie_0_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_aux_clk_src",
+ "pcie_0_ldo",
"pcie_0_slv_q2a_axi_clk", "pcie_phy_refgen_clk",
- "pcie_phy_refgen_clk_src", "pcie_0_pipe_div_clk_src",
"pcie_pipe_clk_mux", "pcie_phy_aux_clk",
- "pcie_0_pipediv2_clk", "pcie_phy_aux_clk_src",
+ "pcie_0_pipediv2_clk",
"pcie_pipe_clk_ext_src";
max-clock-frequency-hz = <0>, <0>, <19200000>, <0>, <0>, <0>,
@@ -148,158 +143,213 @@
qcom,phy-status-bit = <7>;
qcom,phy-power-down-offset = <0x1240>;
qcom,phy-sequence = <0x1240 0x03 0x0
- 0x101c 0x31 0x0
- 0x1020 0x01 0x0
- 0x1024 0xde 0x0
- 0x1028 0x07 0x0
- 0x1030 0x97 0x0
- 0x1034 0x0c 0x0
- 0x1044 0x14 0x0
- 0x1048 0x90 0x0
- 0x1058 0x0f 0x0
- 0x1074 0x06 0x0
- 0x1078 0x06 0x0
- 0x107c 0x16 0x0
- 0x1080 0x16 0x0
- 0x1084 0x36 0x0
- 0x1088 0x36 0x0
- 0x1094 0x08 0x0
- 0x10a4 0x46 0x0
- 0x10a8 0x04 0x0
- 0x10ac 0x0a 0x0
- 0x10b0 0x1a 0x0
- 0x10b4 0x14 0x0
- 0x10b8 0x34 0x0
- 0x10bc 0x82 0x0
- 0x10c4 0xd0 0x0
- 0x10cc 0x55 0x0
- 0x10d0 0x55 0x0
- 0x10d4 0x03 0x0
- 0x10d8 0x55 0x0
- 0x10dc 0x55 0x0
- 0x10e0 0x05 0x0
- 0x110c 0x02 0x0
- 0x1154 0x34 0x0
- 0x1158 0x12 0x0
- 0x115c 0x00 0x0
- 0x1168 0x0a 0x0
- 0x116c 0x04 0x0
- 0x119c 0x88 0x0
- 0x1174 0x60 0x0
- 0x117c 0x06 0x0
- 0x11a0 0x14 0x0
- 0x11a8 0x0f 0x0
- 0x0220 0x16 0x0
- 0x03c0 0x38 0x0
- 0x0a20 0x16 0x0
- 0x0bc0 0x38 0x0
- 0x0360 0x9a 0x0
- 0x0364 0xb0 0x0
- 0x0368 0x12 0x0
- 0x036c 0xf0 0x0
- 0x0370 0x42 0x0
- 0x0374 0x99 0x0
- 0x0378 0x29 0x0
- 0x037c 0x9a 0x0
- 0x0380 0xb0 0x0
- 0x0384 0x12 0x0
- 0x0388 0xf0 0x0
- 0x038c 0x43 0x0
- 0x0390 0xdd 0x0
- 0x0394 0x0d 0x0
- 0x0398 0xdb 0x0
- 0x039c 0xb0 0x0
- 0x03a0 0x64 0x0
- 0x03a4 0xf0 0x0
- 0x03a8 0xc3 0x0
- 0x03ac 0xfd 0x0
- 0x03b0 0x7f 0x0
- 0x0b60 0x9a 0x0
- 0x0b64 0xb0 0x0
- 0x0b68 0x12 0x0
- 0x0b6c 0xf0 0x0
- 0x0b70 0x42 0x0
- 0x0b74 0x99 0x0
- 0x0b78 0x29 0x0
- 0x0b7c 0x9a 0x0
- 0x0b80 0xb0 0x0
- 0x0b84 0x12 0x0
- 0x0b88 0xf0 0x0
- 0x0b8c 0x43 0x0
- 0x0b90 0xdd 0x0
- 0x0b94 0x0d 0x0
- 0x0b98 0xdb 0x0
- 0x0b9c 0xb0 0x0
- 0x0ba0 0x64 0x0
- 0x0ba4 0xf0 0x0
- 0x0ba8 0xc3 0x0
- 0x0bac 0xfd 0x0
- 0x0bb0 0x7f 0x0
- 0x03b4 0x20 0x0
- 0x022c 0x3f 0x0
- 0x0230 0x37 0x0
- 0x0bb4 0x20 0x0
- 0x0a2c 0x3f 0x0
- 0x0a30 0x37 0x0
- 0x0078 0x05 0x0
- 0x007c 0x10 0x0
- 0x0878 0x05 0x0
- 0x087c 0x10 0x0
- 0x0290 0x05 0x0
- 0x0a90 0x05 0x0
- 0x03f8 0x1f 0x0
- 0x0400 0x1f 0x0
- 0x0408 0x1f 0x0
- 0x0410 0x1f 0x0
- 0x0418 0x1f 0x0
- 0x0420 0x1f 0x0
- 0x03f4 0x1f 0x0
- 0x03fc 0x1f 0x0
- 0x0404 0x1f 0x0
- 0x0bf8 0x1f 0x0
- 0x0c00 0x1f 0x0
- 0x0c08 0x1f 0x0
- 0x0c10 0x1f 0x0
- 0x0c18 0x1f 0x0
- 0x0c20 0x1f 0x0
- 0x0bf4 0x1f 0x0
- 0x0bfc 0x1f 0x0
- 0x0c04 0x1f 0x0
- 0x0208 0x0c 0x0
- 0x0a08 0x0c 0x0
- 0x020c 0x0a 0x0
- 0x0a0c 0x0a 0x0
- 0x02dc 0x0a 0x0
- 0x0adc 0x0a 0x0
- 0x0308 0x0b 0x0
- 0x0b08 0x0b 0x0
- 0x027c 0x10 0x0
- 0x0a7c 0x10 0x0
- 0x02b4 0x00 0x0
- 0x0ab4 0x00 0x0
- 0x02ec 0x0f 0x0
- 0x0aec 0x0f 0x0
- 0x02c4 0x00 0x0
- 0x02c8 0x1f 0x0
- 0x0ac4 0x00 0x0
- 0x0ac8 0x1f 0x0
- 0x0030 0x1a 0x0
- 0x0034 0x0c 0x0
- 0x0830 0x1a 0x0
- 0x0834 0x0c 0x0
- 0x141c 0xc1 0x0
- 0x1404 0x00 0x0
- 0x13e0 0x16 0x0
- 0x13e4 0x22 0x0
- 0x1508 0x02 0x0
- 0x14a0 0x16 0x0
- 0x1584 0x28 0x0
- 0x1370 0x2e 0x0
- 0x155c 0x2e 0x0
- 0x140c 0x1d 0x0
- 0x1388 0xaa 0x0
- 0x1200 0x00 0x0
- 0x1244 0x03 0x0>;
+ 0x1010 0x00 0x0
+ 0x101c 0x31 0x0
+ 0x1020 0x01 0x0
+ 0x1024 0xde 0x0
+ 0x1028 0x07 0x0
+ 0x1030 0x97 0x0
+ 0x1034 0x0c 0x0
+ 0x1044 0x14 0x0
+ 0x1048 0x90 0x0
+ 0x1058 0x0f 0x0
+ 0x1074 0x06 0x0
+ 0x1078 0x06 0x0
+ 0x107c 0x16 0x0
+ 0x1080 0x16 0x0
+ 0x1084 0x36 0x0
+ 0x1088 0x36 0x0
+ 0x1094 0x08 0x0
+ 0x10a4 0x46 0x0
+ 0x10a8 0x04 0x0
+ 0x10ac 0x0a 0x0
+ 0x10b0 0x1a 0x0
+ 0x10b4 0x14 0x0
+ 0x10b8 0x34 0x0
+ 0x10bc 0x82 0x0
+ 0x10c4 0xd0 0x0
+ 0x10cc 0x55 0x0
+ 0x10d0 0x55 0x0
+ 0x10d4 0x03 0x0
+ 0x10d8 0x55 0x0
+ 0x10dc 0x55 0x0
+ 0x10e0 0x05 0x0
+ 0x110c 0x02 0x0
+ 0x1154 0x34 0x0
+ 0x1158 0x12 0x0
+ 0x115c 0x00 0x0
+ 0x1168 0x0a 0x0
+ 0x116c 0x04 0x0
+ 0x119c 0x88 0x0
+ 0x1174 0x60 0x0
+ 0x117c 0x06 0x0
+ 0x11a0 0x14 0x0
+ 0x11a8 0x0f 0x0
+ 0x0220 0x16 0x0
+ 0x03c0 0x38 0x0
+ 0x0a20 0x16 0x0
+ 0x0bc0 0x38 0x0
+ 0x0360 0x9a 0x0
+ 0x0364 0xb0 0x0
+ 0x0368 0x12 0x0
+ 0x036c 0xf0 0x0
+ 0x0370 0x42 0x0
+ 0x0374 0x99 0x0
+ 0x0378 0x29 0x0
+ 0x037c 0x9a 0x0
+ 0x0380 0xb0 0x0
+ 0x0384 0x12 0x0
+ 0x0388 0xf0 0x0
+ 0x038c 0x43 0x0
+ 0x0390 0xdd 0x0
+ 0x0394 0x0d 0x0
+ 0x0398 0xf3 0x0
+ 0x039c 0xe7 0x0
+ 0x03a0 0x5e 0x0
+ 0x03a4 0xec 0x0
+ 0x03a8 0x83 0x0
+ 0x03ac 0xf5 0x0
+ 0x03b0 0x5e 0x0
+ 0x0b60 0x9a 0x0
+ 0x0b64 0xb0 0x0
+ 0x0b68 0x12 0x0
+ 0x0b6c 0xf0 0x0
+ 0x0b70 0x42 0x0
+ 0x0b74 0x99 0x0
+ 0x0b78 0x29 0x0
+ 0x0b7c 0x9a 0x0
+ 0x0b80 0xb0 0x0
+ 0x0b84 0x12 0x0
+ 0x0b88 0xf0 0x0
+ 0x0b8c 0x43 0x0
+ 0x0b90 0xdd 0x0
+ 0x0b94 0x0d 0x0
+ 0x0b98 0xf3 0x0
+ 0x0b9c 0xe7 0x0
+ 0x0ba0 0x5e 0x0
+ 0x0ba4 0xec 0x0
+ 0x0ba8 0x83 0x0
+ 0x0bac 0xf5 0x0
+ 0x0bb0 0x5e 0x0
+ 0x03b4 0x20 0x0
+ 0x022c 0x3f 0x0
+ 0x0230 0x37 0x0
+ 0x0bb4 0x20 0x0
+ 0x0a2c 0x3f 0x0
+ 0x0a30 0x37 0x0
+ 0x0078 0x05 0x0
+ 0x007c 0xf6 0x0
+ 0x0080 0x0f 0x0
+ 0x0878 0x05 0x0
+ 0x087c 0xf6 0x0
+ 0x0880 0x0f 0x0
+ 0x0290 0x00 0x0
+ 0x0a90 0x00 0x0
+ 0x0284 0x38 0x0
+ 0x0a84 0x38 0x0
+ 0x0318 0x7f 0x0
+ 0x0b18 0x7f 0x0
+ 0x03f8 0x1f 0x0
+ 0x0400 0x1f 0x0
+ 0x0408 0x1f 0x0
+ 0x0410 0x1f 0x0
+ 0x0418 0x1f 0x0
+ 0x0420 0x1f 0x0
+ 0x03f4 0x1f 0x0
+ 0x03fc 0x1f 0x0
+ 0x0404 0x1f 0x0
+ 0x0bf8 0x1f 0x0
+ 0x0c00 0x1f 0x0
+ 0x0c08 0x1f 0x0
+ 0x0c10 0x1f 0x0
+ 0x0c18 0x1f 0x0
+ 0x0c20 0x1f 0x0
+ 0x0bf4 0x1f 0x0
+ 0x0bfc 0x1f 0x0
+ 0x0c04 0x1f 0x0
+ 0x0438 0x01 0x0
+ 0x0c38 0x01 0x0
+ 0x0208 0x0c 0x0
+ 0x0a08 0x0c 0x0
+ 0x020c 0x08 0x0
+ 0x0a0c 0x08 0x0
+ 0x021c 0x04 0x0
+ 0x0a1c 0x04 0x0
+ 0x02d4 0x04 0x0
+ 0x0ad4 0x04 0x0
+ 0x02dc 0x08 0x0
+ 0x0adc 0x08 0x0
+ 0x0308 0x0b 0x0
+ 0x0b08 0x0b 0x0
+ 0x027c 0x10 0x0
+ 0x0a7c 0x10 0x0
+ 0x02b4 0x00 0x0
+ 0x0ab4 0x00 0x0
+ 0x02ec 0x0f 0x0
+ 0x0aec 0x0f 0x0
+ 0x02c4 0x00 0x0
+ 0x02c8 0x1f 0x0
+ 0x0ac4 0x00 0x0
+ 0x0ac8 0x1f 0x0
+ 0x0030 0x1f 0x0
+ 0x0034 0x07 0x0
+ 0x0830 0x1f 0x0
+ 0x0834 0x07 0x0
+ 0x0318 0x7c 0x0
+ 0x0b18 0x7c 0x0
+ 0x0398 0xf3 0x0
+ 0x039c 0xe7 0x0
+ 0x03a0 0x5e 0x0
+ 0x03a4 0xec 0x0
+ 0x03a8 0x81 0x0
+ 0x03ac 0xf5 0x0
+ 0x03b0 0x5e 0x0
+ 0x0b98 0xf3 0x0
+ 0x0b9c 0xe7 0x0
+ 0x0ba0 0x5e 0x0
+ 0x0ba4 0xec 0x0
+ 0x0ba8 0x81 0x0
+ 0x0bac 0xf5 0x0
+ 0x0bb0 0x5e 0x0
+ 0x0078 0x05 0x0
+ 0x007c 0xf6 0x0
+ 0x0080 0x0e 0x0
+ 0x0878 0x05 0x0
+ 0x087c 0xf6 0x0
+ 0x0880 0x0e 0x0
+ 0x0290 0x00 0x0
+ 0x0a90 0x00 0x0
+ 0x0284 0x38 0x0
+ 0x0a84 0x38 0x0
+ 0x0318 0x7f 0x0
+ 0x0b18 0x7f 0x0
+ 0x0030 0x1f 0x0
+ 0x0034 0x07 0x0
+ 0x0830 0x1f 0x0
+ 0x0834 0x07 0x0
+ 0x0318 0x7c 0x0
+ 0x0b18 0x7c 0x0
+ 0x03a8 0x83 0x0
+ 0x0ba8 0x83 0x0
+ 0x0080 0x0f 0x0
+ 0x0880 0x0f 0x0
+ 0x141c 0xc1 0x0
+ 0x1490 0x00 0x0
+ 0x13e0 0x16 0x0
+ 0x13e4 0x22 0x0
+ 0x1508 0x02 0x0
+ 0x14a0 0x16 0x0
+ 0x1584 0x28 0x0
+ 0x1370 0x2e 0x0
+ 0x155c 0x2e 0x0
+ 0x140c 0x1d 0x0
+ 0x1388 0xaa 0x0
+ 0x1e24 0x00 0x0
+ 0x1e28 0x00 0x0
+ 0x1828 0x00 0x0
+ 0x1c28 0x00 0x0
+ 0x1200 0x00 0x0
+ 0x1244 0x03 0x0>;
pcie0_rp: pcie0_rp {
reg = <0 0 0 0 0>;
@@ -389,25 +439,20 @@
<&gcc GCC_PCIE_1_MSTR_AXI_CLK>,
<&gcc GCC_PCIE_1_SLV_AXI_CLK>,
<&gcc GCC_PCIE_CLKREF_EN>,
- <&gcc GCC_PCIE_1_AUX_CLK_SRC>,
<&gcc GCC_PCIE_1_SLV_Q2A_AXI_CLK>,
<&gcc GCC_PCIE_1_PHY_RCHNG_CLK>,
- <&gcc GCC_PCIE_1_PHY_RCHNG_CLK_SRC>,
- <&gcc GCC_PCIE_1_PIPE_DIV_CLK_SRC>,
<&gcc GCC_PCIE_1_PIPE_CLK_SRC>,
<&gcc GCC_PCIE_1_PHY_AUX_CLK>,
<&gcc GCC_PCIE_1_PIPEDIV2_CLK>,
- <&gcc GCC_PCIE_1_PHY_AUX_CLK_SRC>,
<&pcie_1_pipe_clk>;
clock-names = "pcie_1_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_aux_clk_src",
+ "pcie_1_ldo",
"pcie_1_slv_q2a_axi_clk", "pcie_phy_refgen_clk",
- "pcie_phy_refgen_clk_src", "pcie_1_pipe_div_clk_src",
"pcie_pipe_clk_mux", "pcie_phy_aux_clk",
- "pcie_1_pipediv2_clk", "pcie_phy_aux_clk_src",
+ "pcie_1_pipediv2_clk",
"pcie_pipe_clk_ext_src";
max-clock-frequency-hz = <0>, <0>, <19200000>, <0>, <0>, <0>,
@@ -452,6 +497,7 @@
qcom,phy-power-down-offset = <0x2240>;
qcom,phy-sequence = <0x2240 0x03 0x0
+ 0x2010 0x00 0x0
0x201c 0x31 0x0
0x2020 0x01 0x0
0x2024 0xde 0x0
@@ -480,7 +526,7 @@
0x20d0 0x55 0x0
0x20d4 0x03 0x0
0x20d8 0x55 0x0
- 0x20dC 0x55 0x0
+ 0x20dc 0x55 0x0
0x20e0 0x05 0x0
0x210c 0x02 0x0
0x2154 0x34 0x0
@@ -495,7 +541,7 @@
0x21a8 0x0f 0x0
0x3a2c 0x3f 0x0
0x3a30 0x37 0x0
- 0x3a90 0x05 0x0
+ 0x3a90 0x00 0x0
0x3bc0 0x38 0x0
0x3ab4 0x00 0x0
0x3aec 0x0f 0x0
@@ -529,19 +575,53 @@
0x3b9c 0xb0 0x0
0x3ba0 0x64 0x0
0x3ba4 0xf0 0x0
- 0x3ba8 0xc3 0x0
+ 0x3ba8 0x81 0x0
0x3bac 0xfd 0x0
0x3bb0 0x7f 0x0
0x3ac4 0x00 0x0
0x3ac8 0x1f 0x0
0x3a08 0x0c 0x0
- 0x3a0C 0x0a 0x0
+ 0x3a0c 0x0a 0x0
0x3a20 0x16 0x0
0x3adc 0x0a 0x0
0x3878 0x05 0x0
- 0x387c 0x10 0x0
+ 0x387c 0xf6 0x0
+ 0x3880 0x0e 0x0
0x3834 0x0c 0x0
0x3830 0x1a 0x0
+ 0x3b18 0x7c 0x0
+ 0x02d4 0x04 0x0
+ 0x0ad4 0x04 0x0
+ 0x3a88 0x00 0x0
+ 0x3a8c 0x00 0x0
+ 0x3a90 0x00 0x0
+ 0x3a84 0x3b 0x0
+ 0x3b18 0x7f 0x0
+ 0x3c38 0x01 0x0
+ 0x3aec 0x19 0x0
+ 0x3b98 0xf3 0x0
+ 0x3b9c 0xe6 0x0
+ 0x3ba0 0x5e 0x0
+ 0x3ba4 0xec 0x0
+ 0x3ba8 0x81 0x0
+ 0x3bac 0xf9 0x0
+ 0x3bb0 0x3d 0x0
+ 0x3a0c 0x08 0x0
+ 0x3a1c 0x04 0x0
+ 0x3ad4 0x04 0x0
+ 0x3ad8 0x00 0x0
+ 0x3878 0x05 0x0
+ 0x387c 0xf6 0x0
+ 0x3880 0x0e 0x0
+ 0x3834 0x07 0x0
+ 0x3830 0x1f 0x0
+ 0x3a84 0x38 0x0
+ 0x3b18 0x7c 0x0
+ 0x3ba8 0x83 0x0
+ 0x3878 0x05 0x0
+ 0x387c 0xf6 0x0
+ 0x3880 0x0f 0x0
+ 0x3a84 0x10 0x0
0x241c 0xc1 0x0
0x2490 0x00 0x0
0x23e0 0x16 0x0
@@ -553,6 +633,10 @@
0x255c 0x2e 0x0
0x2388 0x99 0x0
0x240c 0x1d 0x0
+ 0x2e24 0x00 0x0
+ 0x2e28 0x00 0x0
+ 0x2828 0x00 0x0
+ 0x2c28 0x00 0x0
0x2200 0x00 0x0
0x2244 0x03 0x0>;
diff --git a/qcom/lemans-pinctrl.dtsi b/qcom/lemans-pinctrl.dtsi
index 854a8a1f..4d18130d 100755
--- a/qcom/lemans-pinctrl.dtsi
+++ b/qcom/lemans-pinctrl.dtsi
@@ -1606,4 +1606,629 @@
};
};
};
+
+ sec_tdm_sck {
+ sec_tdm_sck_sleep: sec_tdm_sck_sleep {
+ mux {
+ pins = "gpio106";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio106";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ sec_tdm_sck_active: sec_tdm_sck_active {
+ mux {
+ pins = "gpio106";
+ function = "mi2s1_sck";
+ };
+
+ config {
+ pins = "gpio106";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+ };
+
+ sec_tdm_ws {
+ sec_tdm_ws_sleep: sec_tdm_ws_sleep {
+ mux {
+ pins = "gpio107";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio107";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ sec_tdm_ws_active: sec_tdm_ws_active {
+ mux {
+ pins = "gpio107";
+ function = "mi2s1_ws";
+ };
+
+ config {
+ pins = "gpio107";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+ };
+
+ sec_tdm_din {
+ sec_tdm_din_sleep: sec_tdm_din_sleep {
+ mux {
+ pins = "gpio108";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio108";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ sec_tdm_din_active: sec_tdm_din_active {
+ mux {
+ pins = "gpio108";
+ function = "mi2s1_data0";
+ };
+
+ config {
+ pins = "gpio108";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ };
+ };
+ };
+
+ sec_tdm_dout {
+ sec_tdm_dout_sleep: sec_tdm_dout_sleep {
+ mux {
+ pins = "gpio109";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio109";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ sec_tdm_dout_active: sec_tdm_dout_active {
+ mux {
+ pins = "gpio109";
+ function = "mi2s1_data1";
+ };
+
+ config {
+ pins = "gpio109";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+ };
+
+ tert_tdm_sck {
+ tert_tdm_sck_sleep: tert_tdm_sck_sleep {
+ mux {
+ pins = "gpio110";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio110";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ tert_tdm_sck_active: tert_tdm_sck_active {
+ mux {
+ pins = "gpio110";
+ function = "mi2s2_sck";
+ };
+
+ config {
+ pins = "gpio110";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+ };
+
+ tert_tdm_ws {
+ tert_tdm_ws_sleep: tert_tdm_ws_sleep {
+ mux {
+ pins = "gpio111";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio111";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ tert_tdm_ws_active: tert_tdm_ws_active {
+ mux {
+ pins = "gpio111";
+ function = "mi2s2_ws";
+ };
+
+ config {
+ pins = "gpio111";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+ };
+
+ tert_tdm_din {
+ tert_tdm_din_sleep: tert_tdm_din_sleep {
+ mux {
+ pins = "gpio112";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio112";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ tert_tdm_din_active: tert_tdm_din_active {
+ mux {
+ pins = "gpio112";
+ function = "mi2s2_data0";
+ };
+
+ config {
+ pins = "gpio112";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ };
+ };
+ };
+
+ tert_tdm_dout {
+ tert_tdm_dout_sleep: tert_tdm_dout_sleep {
+ mux {
+ pins = "gpio113";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio113";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ tert_tdm_dout_active: tert_tdm_dout_active {
+ mux {
+ pins = "gpio113";
+ function = "mi2s2_data1";
+ };
+
+ config {
+ pins = "gpio113";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+ };
+
+ hs0_i2s_sck {
+ hs0_i2s_sck_sleep: hs0_i2s_sck_sleep {
+ mux {
+ pins = "gpio114";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio114";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ hs0_i2s_sck_active: hs0_i2s_sck_active {
+ mux {
+ pins = "gpio114";
+ function = "hs0_mi2s";
+ };
+
+ config {
+ pins = "gpio114";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+ };
+
+ hs0_i2s_ws {
+ hs0_i2s_ws_sleep: hs0_i2s_ws_sleep {
+ mux {
+ pins = "gpio115";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio115";
+ drive-strength = <2>; /* 8 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ hs0_i2s_ws_active: hs0_i2s_ws_active {
+ mux {
+ pins = "gpio115";
+ function = "hs0_mi2s";
+ };
+
+ config {
+ pins = "gpio115";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+ };
+
+ hs0_i2s_data0 {
+ hs0_i2s_data0_sleep: hs0_i2s_data0_sleep {
+ mux {
+ pins = "gpio116";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio116";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ hs0_i2s_data0_active: hs0_i2s_data0_active {
+ mux {
+ pins = "gpio116";
+ function = "hs0_mi2s";
+ };
+
+ config {
+ pins = "gpio116";
+ drive-strength = <8>; /* 2 mA */
+ bias-disable; /* NO PULL */
+ };
+ };
+ };
+
+ hs0_i2s_data1 {
+ hs0_i2s_data1_sleep: hs0_i2s_data1_sleep {
+ mux {
+ pins = "gpio117";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio117";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ hs0_i2s_data1_active: hs0_i2s_data1_active {
+ mux {
+ pins = "gpio117";
+ function = "hs0_mi2s";
+ };
+
+ config {
+ pins = "gpio117";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+ };
+
+ hs1_i2s_sck {
+ hs1_i2s_sck_sleep: hs1_i2s_sck_sleep {
+ mux {
+ pins = "gpio118";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio118";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ hs1_i2s_sck_active: hs1_i2s_sck_active {
+ mux {
+ pins = "gpio118";
+ function = "hs1_mi2s";
+ };
+
+ config {
+ pins = "gpio118";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+ };
+
+ hs1_i2s_ws {
+ hs1_i2s_ws_sleep: hs1_i2s_ws_sleep {
+ mux {
+ pins = "gpio119";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio119";
+ drive-strength = <2>; /* 8 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ hs1_i2s_ws_active: hs1_i2s_ws_active {
+ mux {
+ pins = "gpio119";
+ function = "hs1_mi2s";
+ };
+
+ config {
+ pins = "gpio119";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+ };
+
+ hs1_i2s_data0 {
+ hs1_i2s_data0_sleep: hs1_i2s_data0_sleep {
+ mux {
+ pins = "gpio120";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio120";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ hs1_i2s_data0_active: hs1_i2s_data0_active {
+ mux {
+ pins = "gpio120";
+ function = "hs1_mi2s";
+ };
+
+ config {
+ pins = "gpio120";
+ drive-strength = <8>; /* 2 mA */
+ bias-disable; /* NO PULL */
+ };
+ };
+ };
+
+ hs1_i2s_data1 {
+ hs1_i2s_data1_sleep: hs1_i2s_data1_sleep {
+ mux {
+ pins = "gpio121";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio121";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ hs1_i2s_data1_active: hs1_i2s_data1_active {
+ mux {
+ pins = "gpio121";
+ function = "hs1_mi2s";
+ };
+
+ config {
+ pins = "gpio121";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+ };
+
+ hs2_i2s_sck {
+ hs2_i2s_sck_sleep: hs2_i2s_sck_sleep {
+ mux {
+ pins = "gpio122";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio122";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ hs2_i2s_sck_active: hs2_i2s_sck_active {
+ mux {
+ pins = "gpio122";
+ function = "hs2_mi2s";
+ };
+
+ config {
+ pins = "gpio122";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+ };
+
+ hs2_i2s_ws {
+ hs2_i2s_ws_sleep: hs2_i2s_ws_sleep {
+ mux {
+ pins = "gpio123";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio123";
+ drive-strength = <2>; /* 8 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ hs2_i2s_ws_active: hs2_i2s_ws_active {
+ mux {
+ pins = "gpio123";
+ function = "hs2_mi2s";
+ };
+
+ config {
+ pins = "gpio123";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+ };
+
+ hs2_i2s_data0 {
+ hs2_i2s_data0_sleep: hs2_i2s_data0_sleep {
+ mux {
+ pins = "gpio124";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio124";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ hs2_i2s_data0_active: hs2_i2s_data0_active {
+ mux {
+ pins = "gpio124";
+ function = "hs2_mi2s";
+ };
+
+ config {
+ pins = "gpio124";
+ drive-strength = <8>; /* 2 mA */
+ bias-disable; /* NO PULL */
+ };
+ };
+ };
+
+ hs2_i2s_data1 {
+ hs2_i2s_data1_sleep: hs2_i2s_data1_sleep {
+ mux {
+ pins = "gpio125";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio125";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ input-enable;
+ };
+ };
+
+ hs2_i2s_data1_active: hs2_i2s_data1_active {
+ mux {
+ pins = "gpio125";
+ function = "hs2_mi2s";
+ };
+
+ config {
+ pins = "gpio125";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+ };
+
+ audio_internal_mclk1 {
+ audio_internal_mclk1_sleep: audio_internal_mclk1_sleep {
+ mux {
+ pins = "gpio105";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio105";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ };
+ };
+
+ audio_internal_mclk1_active: audio_internal_mclk1_active {
+ mux {
+ pins = "gpio105";
+ function = "mi2s_mclk0";
+ };
+
+ config {
+ pins = "gpio105";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ output-high;
+ };
+ };
+ };
+
};
diff --git a/qcom/lemans-qupv3.dtsi b/qcom/lemans-qupv3.dtsi
index 366f8b9b..1e09942d 100755
--- a/qcom/lemans-qupv3.dtsi
+++ b/qcom/lemans-qupv3.dtsi
@@ -7,7 +7,7 @@
qcom,msm-bus,vectors-bus-ids =
<MASTER_QUP_CORE_0 SLAVE_QUP_CORE_0>,
<MASTER_QUP_0 SLAVE_EBI1>;
- iommus = <&apps_smmu 0x417 0x0>;
+ iommus = <&apps_smmu 0x403 0x0>;
qcom,iommu-dma-addr-pool = <0x40000000 0x10000000>;
qcom,iommu-geometry = <0x40000000 0x10000000>;
qcom,iommu-dma = "fastmap";
@@ -22,7 +22,7 @@
qcom,msm-bus,vectors-bus-ids =
<MASTER_QUP_CORE_1 SLAVE_QUP_CORE_1>,
<MASTER_QUP_1 SLAVE_EBI1>;
- iommus = <&apps_smmu 0x457 0x0>;
+ iommus = <&apps_smmu 0x443 0x0>;
qcom,iommu-dma-addr-pool = <0x40000000 0x10000000>;
qcom,iommu-geometry = <0x40000000 0x10000000>;
qcom,iommu-dma = "fastmap";
@@ -37,7 +37,7 @@
qcom,msm-bus,vectors-bus-ids =
<MASTER_QUP_CORE_2 SLAVE_QUP_CORE_2>,
<MASTER_QUP_2 SLAVE_EBI1>;
- iommus = <&apps_smmu 0x5b7 0x0>;
+ iommus = <&apps_smmu 0x5a3 0x0>;
qcom,iommu-dma-addr-pool = <0x40000000 0x10000000>;
qcom,iommu-geometry = <0x40000000 0x10000000>;
qcom,iommu-dma = "fastmap";
@@ -52,7 +52,7 @@
qcom,msm-bus,vectors-bus-ids =
<MASTER_QUP_CORE_3 SLAVE_QUP_CORE_3>,
<MASTER_QUP_3 SLAVE_EBI1>;
- iommus = <&apps_smmu 0x57 0x0>;
+ iommus = <&apps_smmu 0x43 0x0>;
qcom,iommu-dma-addr-pool = <0x40000000 0x10000000>;
qcom,iommu-geometry = <0x40000000 0x10000000>;
qcom,iommu-dma = "fastmap";
diff --git a/qcom/lemans-thermal-overlay.dtsi b/qcom/lemans-thermal-overlay.dtsi
index 1d6f92b8..652887e4 100755
--- a/qcom/lemans-thermal-overlay.dtsi
+++ b/qcom/lemans-thermal-overlay.dtsi
@@ -1,6 +1,16 @@
#include <dt-bindings/thermal/thermal_qti.h>
&thermal_zones {
+ pm8775_1_tz {
+ cooling-maps {
+ pm8775_1_gpu {
+ trip = <&pm8775_1_trip0>;
+ cooling-device = <&msm_gpu THERMAL_MAX_LIMIT
+ THERMAL_MAX_LIMIT>;
+ };
+ };
+ };
+
pm8775_2_tz {
cooling-maps {
pm8775_2_cdsp0 {
diff --git a/qcom/lemans-thermal.dtsi b/qcom/lemans-thermal.dtsi
index 7d5d7760..d3f23406 100755
--- a/qcom/lemans-thermal.dtsi
+++ b/qcom/lemans-thermal.dtsi
@@ -82,6 +82,10 @@
};
};
+&msm_gpu {
+ #cooling-cells = <2>;
+};
+
&cpufreq_hw {
qcom,cpu-isolation {
compatible = "qcom,cpu-isolate";
@@ -280,14 +284,14 @@
};
gpuss-0-step {
- polling-delay-passive = <0>;
+ polling-delay-passive = <10>;
polling-delay = <0>;
thermal-governor = "step_wise";
thermal-sensors = <&tsens0 5>;
trips {
gpuss0_config: gpuss0-config {
- temperature = <110000>;
- hysteresis = <10000>;
+ temperature = <105000>;
+ hysteresis = <5000>;
type = "passive";
};
@@ -297,17 +301,25 @@
type = "passive";
};
};
+
+ cooling-maps {
+ gpu0_cdev {
+ trip = <&gpuss0_config>;
+ cooling-device = <&msm_gpu THERMAL_NO_LIMIT
+ THERMAL_NO_LIMIT>;
+ };
+ };
};
gpuss-1-step {
- polling-delay-passive = <0>;
+ polling-delay-passive = <10>;
polling-delay = <0>;
thermal-governor = "step_wise";
thermal-sensors = <&tsens0 6>;
trips {
gpuss1_config: gpuss1-config {
- temperature = <110000>;
- hysteresis = <10000>;
+ temperature = <105000>;
+ hysteresis = <5000>;
type = "passive";
};
@@ -317,17 +329,25 @@
type = "passive";
};
};
+
+ cooling-maps {
+ gpu1_cdev {
+ trip = <&gpuss1_config>;
+ cooling-device = <&msm_gpu THERMAL_NO_LIMIT
+ THERMAL_NO_LIMIT>;
+ };
+ };
};
gpuss-2-step {
- polling-delay-passive = <0>;
+ polling-delay-passive = <10>;
polling-delay = <0>;
thermal-governor = "step_wise";
thermal-sensors = <&tsens0 7>;
trips {
gpuss2_config: gpuss2-config {
- temperature = <110000>;
- hysteresis = <10000>;
+ temperature = <105000>;
+ hysteresis = <5000>;
type = "passive";
};
@@ -337,6 +357,14 @@
type = "passive";
};
};
+
+ cooling-maps {
+ gpu2_cdev {
+ trip = <&gpuss2_config>;
+ cooling-device = <&msm_gpu THERMAL_NO_LIMIT
+ THERMAL_NO_LIMIT>;
+ };
+ };
};
cpu-0-0-1-step {
@@ -448,14 +476,14 @@
};
gpuss-3-step {
- polling-delay-passive = <0>;
+ polling-delay-passive = <10>;
polling-delay = <0>;
thermal-governor = "step_wise";
thermal-sensors = <&tsens1 5>;
trips {
gpuss3_config: gpuss3-config {
- temperature = <110000>;
- hysteresis = <10000>;
+ temperature = <105000>;
+ hysteresis = <5000>;
type = "passive";
};
@@ -465,17 +493,25 @@
type = "passive";
};
};
+
+ cooling-maps {
+ gpu3_cdev {
+ trip = <&gpuss3_config>;
+ cooling-device = <&msm_gpu THERMAL_NO_LIMIT
+ THERMAL_NO_LIMIT>;
+ };
+ };
};
gpuss-4-step {
- polling-delay-passive = <0>;
+ polling-delay-passive = <10>;
polling-delay = <0>;
thermal-governor = "step_wise";
thermal-sensors = <&tsens1 6>;
trips {
gpuss4_config: gpuss4-config {
- temperature = <110000>;
- hysteresis = <10000>;
+ temperature = <105000>;
+ hysteresis = <5000>;
type = "passive";
};
@@ -485,17 +521,25 @@
type = "passive";
};
};
+
+ cooling-maps {
+ gpu4_cdev {
+ trip = <&gpuss4_config>;
+ cooling-device = <&msm_gpu THERMAL_NO_LIMIT
+ THERMAL_NO_LIMIT>;
+ };
+ };
};
gpuss-5-step {
- polling-delay-passive = <0>;
+ polling-delay-passive = <10>;
polling-delay = <0>;
thermal-governor = "step_wise";
thermal-sensors = <&tsens1 7>;
trips {
gpuss5_config: gpuss5-config {
- temperature = <110000>;
- hysteresis = <10000>;
+ temperature = <105000>;
+ hysteresis = <5000>;
type = "passive";
};
@@ -505,6 +549,14 @@
type = "passive";
};
};
+
+ cooling-maps {
+ gpu5_cdev {
+ trip = <&gpuss5_config>;
+ cooling-device = <&msm_gpu THERMAL_NO_LIMIT
+ THERMAL_NO_LIMIT>;
+ };
+ };
};
cpu-1-0-0-step {
@@ -616,14 +668,14 @@
};
nsp-0-0-0-step {
- polling-delay-passive = <0>;
+ polling-delay-passive = <10>;
polling-delay = <0>;
thermal-governor = "step_wise";
thermal-sensors = <&tsens2 5>;
trips {
nsp000_config: nsp000-config {
temperature = <105000>;
- hysteresis = <10000>;
+ hysteresis = <5000>;
type = "passive";
};
@@ -644,14 +696,14 @@
};
nsp-0-1-0-step {
- polling-delay-passive = <0>;
+ polling-delay-passive = <10>;
polling-delay = <0>;
thermal-governor = "step_wise";
thermal-sensors = <&tsens2 6>;
trips {
nsp010_config: nsp010-config {
temperature = <105000>;
- hysteresis = <10000>;
+ hysteresis = <5000>;
type = "passive";
};
@@ -672,14 +724,14 @@
};
nsp-0-2-0-step {
- polling-delay-passive = <0>;
+ polling-delay-passive = <10>;
polling-delay = <0>;
thermal-governor = "step_wise";
thermal-sensors = <&tsens2 7>;
trips {
nsp020_config: nsp020-config {
temperature = <105000>;
- hysteresis = <10000>;
+ hysteresis = <5000>;
type = "passive";
};
@@ -700,14 +752,14 @@
};
nsp-1-0-0-step {
- polling-delay-passive = <0>;
+ polling-delay-passive = <10>;
polling-delay = <0>;
thermal-governor = "step_wise";
thermal-sensors = <&tsens2 8>;
trips {
nsp100_config: nsp100-config {
temperature = <105000>;
- hysteresis = <10000>;
+ hysteresis = <5000>;
type = "passive";
};
@@ -728,14 +780,14 @@
};
nsp-1-1-0-step {
- polling-delay-passive = <0>;
+ polling-delay-passive = <10>;
polling-delay = <0>;
thermal-governor = "step_wise";
thermal-sensors = <&tsens2 9>;
trips {
nsp110_config: nsp110-config {
temperature = <105000>;
- hysteresis = <10000>;
+ hysteresis = <5000>;
type = "passive";
};
@@ -756,14 +808,14 @@
};
nsp-1-2-0-step {
- polling-delay-passive = <0>;
+ polling-delay-passive = <10>;
polling-delay = <0>;
thermal-governor = "step_wise";
thermal-sensors = <&tsens2 10>;
trips {
nsp120_config: nsp120-config {
temperature = <105000>;
- hysteresis = <10000>;
+ hysteresis = <5000>;
type = "passive";
};
@@ -892,14 +944,14 @@
};
nsp-0-0-1-step {
- polling-delay-passive = <0>;
+ polling-delay-passive = <10>;
polling-delay = <0>;
thermal-governor = "step_wise";
thermal-sensors = <&tsens3 5>;
trips {
nsp001_config: nsp001-config {
temperature = <105000>;
- hysteresis = <10000>;
+ hysteresis = <5000>;
type = "passive";
};
@@ -920,14 +972,14 @@
};
nsp-0-1-1-step {
- polling-delay-passive = <0>;
+ polling-delay-passive = <10>;
polling-delay = <0>;
thermal-governor = "step_wise";
thermal-sensors = <&tsens3 6>;
trips {
nsp011_config: nsp011-config {
temperature = <105000>;
- hysteresis = <10000>;
+ hysteresis = <5000>;
type = "passive";
};
@@ -948,14 +1000,14 @@
};
nsp-0-2-1-step {
- polling-delay-passive = <0>;
+ polling-delay-passive = <10>;
polling-delay = <0>;
thermal-governor = "step_wise";
thermal-sensors = <&tsens3 7>;
trips {
nsp021_config: nsp021-config {
temperature = <105000>;
- hysteresis = <10000>;
+ hysteresis = <5000>;
type = "passive";
};
@@ -976,14 +1028,14 @@
};
nsp-1-0-1-step {
- polling-delay-passive = <0>;
+ polling-delay-passive = <10>;
polling-delay = <0>;
thermal-governor = "step_wise";
thermal-sensors = <&tsens3 8>;
trips {
nsp101_config: nsp101-config {
temperature = <105000>;
- hysteresis = <10000>;
+ hysteresis = <5000>;
type = "passive";
};
@@ -1004,14 +1056,14 @@
};
nsp-1-1-1-step {
- polling-delay-passive = <0>;
+ polling-delay-passive = <10>;
polling-delay = <0>;
thermal-governor = "step_wise";
thermal-sensors = <&tsens3 9>;
trips {
nsp111_config: nsp111-config {
temperature = <105000>;
- hysteresis = <10000>;
+ hysteresis = <5000>;
type = "passive";
};
@@ -1032,14 +1084,14 @@
};
nsp-1-2-1-step {
- polling-delay-passive = <0>;
+ polling-delay-passive = <10>;
polling-delay = <0>;
thermal-governor = "step_wise";
thermal-sensors = <&tsens3 10>;
trips {
nsp121_config: nsp121-config {
temperature = <105000>;
- hysteresis = <10000>;
+ hysteresis = <5000>;
type = "passive";
};
diff --git a/qcom/lemans-vm.dtsi b/qcom/lemans-vm.dtsi
index 081cee49..8a4c2fba 100755
--- a/qcom/lemans-vm.dtsi
+++ b/qcom/lemans-vm.dtsi
@@ -1,3 +1,4 @@
+#include <dt-bindings/interconnect/qcom,lemans.h>
#include "quin-vm-common.dtsi"
/ {
@@ -7,17 +8,278 @@
};
&soc {
+ 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>;
+ };
+
+ 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>;
+ #tcu-testbus-version = <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>;
+ };
+
+ virtio_icc: virtio_icc@0x1cc00000 {
+ compatible = "virtio,mmio";
+ reg = <0x1cc00000 0x1000>;
+ interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>;
+ #interconnect-cells = <1>;
+
+ xm_usb3_0 {
+ node-name = "usb3_0";
+ node-id = /bits/ 16 <MASTER_USB3_0>;
+ node-num-links = /bits/ 16 <1>;
+ node-links = /bits/ 16 <SLAVE_EBI1>;
+ };
+
+ qhm_pcie_0 {
+ node-name = "pcie_0";
+ node-id = /bits/ 16 <MASTER_PCIE_0>;
+ node-num-links = /bits/ 16 <1>;
+ node-links = /bits/ 16 <SLAVE_EBI1>;
+ };
+
+ qhm_pcie_1 {
+ node-name = "pcie_1";
+ node-id = /bits/ 16 <MASTER_PCIE_1>;
+ node-num-links = /bits/ 16 <1>;
+ node-links = /bits/ 16 <SLAVE_EBI1>;
+ };
+
+ ebi {
+ node-name = "ebi1";
+ node-id = /bits/ 16 <SLAVE_EBI1>;
+ node-num-links = /bits/ 16 <0>;
+ };
+
+ chm_apps {
+ node-name = "appss_proc";
+ node-id = /bits/ 16 <MASTER_APPSS_PROC>;
+ node-num-links = /bits/ 16 <1>;
+ node-links = /bits/ 16 <SLAVE_USB3_0>;
+ };
+
+ qhs_usb3_0 {
+ node-name = "usb3_0";
+ node-id = /bits/ 16 <SLAVE_USB3_0>;
+ node-num-links = /bits/ 16 <0>;
+ };
+ };
+
+ 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>;
+ };
+
+ rpmh_cxo_clk: rpmh_cxo_clk {
+ compatible = "qcom,dummycc";
+ clock-output-names = "bi_tcxo";
+ #clock-cells = <0>;
+ };
};
-&gcc {
- status = "disabled";
+&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";
+ };
+
+ 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>;
+ };
+
+ 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 {
+&gcc {
status = "disabled";
};
-&regulator {
+&scc {
status = "disabled";
};
diff --git a/qcom/lemans.dtsi b/qcom/lemans.dtsi
index eaabd068..f1864b7f 100755
--- a/qcom/lemans.dtsi
+++ b/qcom/lemans.dtsi
@@ -14,6 +14,15 @@
#include <dt-bindings/soc/qcom,ipcc.h>
#include <dt-bindings/regulator/qcom,rpmh-regulator-levels.h>
#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/interconnect/qcom,epss-l3.h>
+#include <dt-bindings/sound/qcom,gpr.h>
+
+#define MHZ_TO_MBPS(mhz, w) ((mhz * 1000000 * w) / (1024 * 1024))
+#define BW_OPP_ENTRY(mhz, w) opp-mhz {opp-hz = /bits/ 64 <MHZ_TO_MBPS(mhz, w)>;}
+#define BW_OPP_ENTRY_DDR(mhz, w, ddrtype) opp-mhz {\
+ opp-hz = /bits/ 64 <MHZ_TO_MBPS(mhz, w)>;\
+ opp-supported-hw = <ddrtype>;}
+#define DDR_TYPE_LPDDR5 8
/ {
model = "Qualcomm Technologies, Inc. Lemans";
@@ -32,6 +41,8 @@
aliases {
serial0 = &qupv3_se10_2uart;
ufshc1 = &ufshc_mem; /* Embedded UFS slot */
+ ufshc2 = &ufshc2_mem; /* Embedded 2nd UFS Slot */
+ hsuart0 = &qupv3_se17_4uart;
};
soc: soc { };
@@ -1377,6 +1388,390 @@
};
};
+ llcc_pmu: llcc-pmu@9095000 {
+ compatible = "qcom,llcc-pmu-ver2";
+ reg = <0x09095000 0x300>;
+ reg-names = "lagg-base";
+ };
+
+ llcc_bw_opp_table: llcc-bw-opp-table {
+ compatible = "operating-points-v2";
+ BW_OPP_ENTRY( 600, 16);
+ BW_OPP_ENTRY( 806, 16);
+ BW_OPP_ENTRY( 933, 16);
+ BW_OPP_ENTRY( 1066, 16);
+ };
+
+ ddr_bw_opp_table: ddr-bw-opp-table {
+ compatible = "operating-points-v2";
+ BW_OPP_ENTRY_DDR( 200, 4, 0x180);
+ BW_OPP_ENTRY_DDR( 451, 4, 0x180);
+ BW_OPP_ENTRY_DDR( 547, 4, 0x180);
+ BW_OPP_ENTRY_DDR( 682, 4, 0x180);
+ BW_OPP_ENTRY_DDR( 768, 4, 0x180);
+ BW_OPP_ENTRY_DDR( 1555, 4, 0x180);
+ BW_OPP_ENTRY_DDR( 1708, 4, 0x180);
+ BW_OPP_ENTRY_DDR( 2093, 4, 0x180);
+ BW_OPP_ENTRY_DDR( 2736, 4, 0x180);
+ BW_OPP_ENTRY_DDR( 3197, 4, 0x180);
+ };
+
+ qoslat_opp_table: qoslat-opp-table {
+ compatible = "operating-points-v2";
+ opp-1 {
+ opp-hz = /bits/ 64 < 1 >;
+ };
+
+ opp-2 {
+ opp-hz = /bits/ 64 < 2 >;
+ };
+ };
+
+ cpu_cpu_llcc_bw: qcom,cpu-cpu-llcc-bw {
+ compatible = "qcom,devfreq-icc";
+ governor = "bw_hwmon";
+ interconnects = <&gem_noc MASTER_APPSS_PROC &gem_noc SLAVE_LLCC>;
+ qcom,active-only;
+ operating-points-v2 = <&llcc_bw_opp_table>;
+ };
+
+ cpu_cpu_llcc_bwmon: qcom,cpu-cpu-llcc-bwmon@90b6400 {
+ compatible = "qcom,bimc-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,target-dev = <&cpu_cpu_llcc_bw>;
+ qcom,count-unit = <0x10000>;
+ };
+
+ cpu_llcc_ddr_bw: qcom,cpu-llcc-ddr-bw {
+ compatible = "qcom,devfreq-icc-ddr";
+ governor = "bw_hwmon";
+ interconnects = <&mc_virt MASTER_LLCC &mc_virt SLAVE_EBI1>;
+ qcom,active-only;
+ operating-points-v2 = <&ddr_bw_opp_table>;
+ };
+
+ cpu_llcc_ddr_bwmon: qcom,cpu-llcc-ddr-bwmon@9091000 {
+ compatible = "qcom,bimc-bwmon5";
+ reg = <0x9091000 0x1000>;
+ reg-names = "base";
+ interrupts = <GIC_SPI 620 IRQ_TYPE_LEVEL_HIGH>;
+ qcom,hw-timer-hz = <19200000>;
+ qcom,target-dev = <&cpu_llcc_ddr_bw>;
+ qcom,count-unit = <0x10000>;
+ };
+
+ cpu0_cpu_l3_lat: qcom,cpu0-cpu-l3-lat {
+ compatible = "qcom,devfreq-icc-l3";
+ reg = <0x18590100 0xa0>;
+ reg-names = "ftbl-base";
+ governor = "mem_latency";
+ interconnects =
+ <&epss_l3_cpu MASTER_EPSS_L3_APPS
+ &epss_l3_cpu SLAVE_EPSS_L3_CPU0>;
+ };
+
+ cpu1_cpu_l3_lat: qcom,cpu1-cpu-l3-lat {
+ compatible = "qcom,devfreq-icc-l3";
+ reg = <0x18590100 0xa0>;
+ reg-names = "ftbl-base";
+ governor = "mem_latency";
+ interconnects =
+ <&epss_l3_cpu MASTER_EPSS_L3_APPS
+ &epss_l3_cpu SLAVE_EPSS_L3_CPU1>;
+ };
+
+ cpu2_cpu_l3_lat: qcom,cpu2-cpu-l3-lat {
+ compatible = "qcom,devfreq-icc-l3";
+ reg = <0x18590100 0xa0>;
+ reg-names = "ftbl-base";
+ governor = "mem_latency";
+ interconnects =
+ <&epss_l3_cpu MASTER_EPSS_L3_APPS
+ &epss_l3_cpu SLAVE_EPSS_L3_CPU2>;
+ };
+
+ cpu3_cpu_l3_lat: qcom,cpu3-cpu-l3-lat {
+ compatible = "qcom,devfreq-icc-l3";
+ reg = <0x18590100 0xa0>;
+ reg-names = "ftbl-base";
+ governor = "mem_latency";
+ interconnects =
+ <&epss_l3_cpu MASTER_EPSS_L3_APPS
+ &epss_l3_cpu SLAVE_EPSS_L3_CPU3>;
+ };
+
+ cpu4_cpu_l3_lat: qcom,cpu4-cpu-l3-lat {
+ compatible = "qcom,devfreq-icc-l3";
+ reg = <0x18590100 0xa0>;
+ reg-names = "ftbl-base";
+ governor = "mem_latency";
+ interconnects =
+ <&epss_l3_cpu MASTER_EPSS_L3_1_APPS
+ &epss_l3_cpu SLAVE_EPSS_L3_CPU4>;
+ };
+
+ cpu5_cpu_l3_lat: qcom,cpu5-cpu-l3-lat {
+ compatible = "qcom,devfreq-icc-l3";
+ reg = <0x18590100 0xa0>;
+ reg-names = "ftbl-base";
+ governor = "mem_latency";
+ interconnects =
+ <&epss_l3_cpu MASTER_EPSS_L3_1_APPS
+ &epss_l3_cpu SLAVE_EPSS_L3_CPU5>;
+ };
+
+ cpu6_cpu_l3_lat: qcom,cpu6-cpu-l3-lat {
+ compatible = "qcom,devfreq-icc-l3";
+ reg = <0x18590100 0xa0>;
+ reg-names = "ftbl-base";
+ governor = "mem_latency";
+ interconnects =
+ <&epss_l3_cpu MASTER_EPSS_L3_1_APPS
+ &epss_l3_cpu SLAVE_EPSS_L3_CPU6>;
+ };
+
+ cpu7_cpu_l3_lat: qcom,cpu7-cpu-l3-lat {
+ compatible = "qcom,devfreq-icc-l3";
+ reg = <0x18590100 0xa0>;
+ reg-names = "ftbl-base";
+ governor = "mem_latency";
+ interconnects =
+ <&epss_l3_cpu MASTER_EPSS_L3_1_APPS
+ &epss_l3_cpu SLAVE_EPSS_L3_CPU7>;
+ };
+
+ cpu0_cpu_llcc_lat: qcom,cpu0-cpu-llcc-lat {
+ compatible = "qcom,devfreq-icc";
+ governor = "mem_latency";
+ interconnects = <&gem_noc MASTER_APPSS_PROC &gem_noc SLAVE_LLCC>;
+ qcom,active-only;
+ operating-points-v2 = <&llcc_bw_opp_table>;
+ };
+
+ cpu4_cpu_llcc_lat: qcom,cpu4-cpu-llcc-lat {
+ compatible = "qcom,devfreq-icc";
+ governor = "mem_latency";
+ interconnects = <&gem_noc MASTER_APPSS_PROC &gem_noc SLAVE_LLCC>;
+ qcom,active-only;
+ operating-points-v2 = <&llcc_bw_opp_table>;
+ };
+
+ cpu0_llcc_ddr_lat: qcom,cpu0-llcc-ddr-lat {
+ compatible = "qcom,devfreq-icc-ddr";
+ governor = "mem_latency";
+ interconnects = <&mc_virt MASTER_LLCC &mc_virt SLAVE_EBI1>;
+ qcom,active-only;
+ operating-points-v2 = <&ddr_bw_opp_table>;
+ };
+
+ cpu4_llcc_ddr_lat: qcom,cpu4-llcc-ddr-lat {
+ compatible = "qcom,devfreq-icc-ddr";
+ governor = "mem_latency";
+ interconnects = <&mc_virt MASTER_LLCC &mc_virt SLAVE_EBI1>;
+ qcom,active-only;
+ operating-points-v2 = <&ddr_bw_opp_table>;
+ };
+
+ cpu4_cpu_ddr_latfloor: qcom,cpu4-cpu-ddr-latfloor {
+ compatible = "qcom,devfreq-icc-ddr";
+ governor = "compute";
+ interconnects = <&mc_virt MASTER_LLCC &mc_virt SLAVE_EBI1>;
+ qcom,active-only;
+ operating-points-v2 = <&ddr_bw_opp_table>;
+ };
+
+ cpu4_cpu_llcc_latfloor: qcom,cpu4-cpu-llcc-latfloor {
+ compatible = "qcom,devfreq-icc";
+ governor = "compute";
+ interconnects = <&gem_noc MASTER_APPSS_PROC &gem_noc SLAVE_LLCC>;
+ qcom,active-only;
+ operating-points-v2 = <&llcc_bw_opp_table>;
+ };
+
+ cpu4_cpu_ddr_qoslat: qcom,cpu4-cpu-ddr-qoslat {
+ compatible = "qcom,devfreq-qoslat";
+ governor = "mem_latency";
+ operating-points-v2 = <&qoslat_opp_table>;
+ mboxes = <&qmp_aop 0>;
+ };
+
+ cpu0_cpu_l3_tbl: qcom,cpu0-cpu-l3-tbl {
+ qcom,core-dev-table =
+ < 1286400 1094400000 >;
+ };
+
+ cpu4_cpu_l3_tbl: qcom,cpu4-cpu-l3-tbl {
+ qcom,core-dev-table =
+ < 1286400 1094400000 >;
+ };
+
+ memlat_cpugrp: qcom,memlat-cpugrp {
+ compatible = "qcom,arm-memlat-cpugrp";
+ qcom,cpulist = <&CPU0 &CPU1 &CPU2 &CPU3
+ &CPU4 &CPU5 &CPU6 &CPU7>;
+
+ cpu0_cpu_l3_latmon: qcom,cpu0-cpu-l3-latmon {
+ compatible = "qcom,arm-memlat-mon";
+ qcom,cpulist = <&CPU0>;
+ qcom,target-dev = <&cpu0_cpu_l3_lat>;
+ qcom,cachemiss-ev = <0x17>;
+ qcom,core-dev-table = <&cpu0_cpu_l3_tbl>;
+ };
+
+ cpu1_cpu_l3_latmon: qcom,cpu1-cpu-l3-latmon {
+ compatible = "qcom,arm-memlat-mon";
+ qcom,cpulist = <&CPU1>;
+ qcom,target-dev = <&cpu1_cpu_l3_lat>;
+ qcom,cachemiss-ev = <0x17>;
+ qcom,core-dev-table = <&cpu0_cpu_l3_tbl>;
+ };
+
+ cpu2_cpu_l3_latmon: qcom,cpu2-cpu-l3-latmon {
+ compatible = "qcom,arm-memlat-mon";
+ qcom,cpulist = <&CPU2>;
+ qcom,target-dev = <&cpu2_cpu_l3_lat>;
+ qcom,cachemiss-ev = <0x17>;
+ qcom,core-dev-table = <&cpu0_cpu_l3_tbl>;
+ };
+
+ cpu3_cpu_l3_latmon: qcom,cpu3-cpu-l3-latmon {
+ compatible = "qcom,arm-memlat-mon";
+ qcom,cpulist = <&CPU3>;
+ qcom,target-dev = <&cpu3_cpu_l3_lat>;
+ qcom,cachemiss-ev = <0x17>;
+ qcom,core-dev-table = <&cpu0_cpu_l3_tbl>;
+ };
+
+
+ cpu0_cpu_llcc_latmon: qcom,cpu0-cpu-llcc-latmon {
+ compatible = "qcom,arm-memlat-mon";
+ qcom,cpulist = <&CPU0 &CPU1 &CPU2 &CPU3>;
+ qcom,target-dev = <&cpu0_cpu_llcc_lat>;
+ qcom,cachemiss-ev = <0x2A>;
+ qcom,core-dev-table =
+ < 1268000 MHZ_TO_MBPS( 600, 16) >,
+ < 1632000 MHZ_TO_MBPS( 806, 16) >,
+ < 2112000 MHZ_TO_MBPS( 933, 16) >,
+ < 2362000 MHZ_TO_MBPS( 1066, 16) >;
+ };
+
+ cpu0_llcc_ddr_latmon: qcom,cpu0-llcc-ddr-latmon {
+ compatible = "qcom,arm-memlat-mon";
+ qcom,cpulist = <&CPU0 &CPU1 &CPU2 &CPU3>;
+ qcom,target-dev = <&cpu0_llcc_ddr_lat>;
+ qcom,cachemiss-ev = <0x1000>;
+
+ ddr-map {
+ qcom,ddr-type = <DDR_TYPE_LPDDR5>;
+ qcom,core-dev-table =
+ < 1268000 MHZ_TO_MBPS( 768, 4) >,
+ < 1632000 MHZ_TO_MBPS( 2092, 4) >,
+ < 2112000 MHZ_TO_MBPS( 2736, 4) >,
+ < 2362000 MHZ_TO_MBPS( 3196, 4) >;
+ };
+ };
+
+ cpu4_cpu_l3_latmon: qcom,cpu4-cpu-l3-latmon {
+ compatible = "qcom,arm-memlat-mon";
+ qcom,cpulist = <&CPU4>;
+ qcom,target-dev = <&cpu4_cpu_l3_lat>;
+ qcom,cachemiss-ev = <0x17>;
+ qcom,core-dev-table = <&cpu4_cpu_l3_tbl>;
+ };
+
+ cpu5_cpu_l3_latmon: qcom,cpu5-cpu-l3-latmon {
+ compatible = "qcom,arm-memlat-mon";
+ qcom,cpulist = <&CPU5>;
+ qcom,target-dev = <&cpu5_cpu_l3_lat>;
+ qcom,cachemiss-ev = <0x17>;
+ qcom,core-dev-table = <&cpu4_cpu_l3_tbl>;
+ };
+
+ cpu6_cpu_l3_latmon: qcom,cpu6-cpu-l3-latmon {
+ compatible = "qcom,arm-memlat-mon";
+ qcom,cpulist = <&CPU6>;
+ qcom,target-dev = <&cpu6_cpu_l3_lat>;
+ qcom,cachemiss-ev = <0x17>;
+ qcom,core-dev-table = <&cpu4_cpu_l3_tbl>;
+ };
+
+ cpu7_cpu_l3_latmon: qcom,cpu7-cpu-l3-latmon {
+ compatible = "qcom,arm-memlat-mon";
+ qcom,cpulist = <&CPU7>;
+ qcom,target-dev = <&cpu7_cpu_l3_lat>;
+ qcom,cachemiss-ev = <0x17>;
+ qcom,core-dev-table = <&cpu4_cpu_l3_tbl>;
+ };
+
+ cpu4_cpu_llcc_latmon: qcom,cpu4-cpu-llcc-latmon {
+ compatible = "qcom,arm-memlat-mon";
+ qcom,cpulist = <&CPU4 &CPU5 &CPU6 &CPU7>;
+ qcom,target-dev = <&cpu4_cpu_llcc_lat>;
+ qcom,cachemiss-ev = <0x2A>;
+ qcom,core-dev-table =
+ < 1268000 MHZ_TO_MBPS( 600, 16) >,
+ < 1632000 MHZ_TO_MBPS( 806, 16) >,
+ < 2112000 MHZ_TO_MBPS( 933, 16) >,
+ < 2362000 MHZ_TO_MBPS( 1066, 16) >;
+ };
+
+ cpu4_llcc_ddr_latmon: qcom,cpu4-llcc-ddr-latmon {
+ compatible = "qcom,arm-memlat-mon";
+ qcom,cpulist = <&CPU4 &CPU5 &CPU6 &CPU7>;
+ qcom,target-dev = <&cpu4_llcc_ddr_lat>;
+ qcom,cachemiss-ev = <0x1000>;
+
+ ddr-map {
+ qcom,ddr-type = <DDR_TYPE_LPDDR5>;
+ qcom,core-dev-table =
+ < 1268000 MHZ_TO_MBPS( 768, 4) >,
+ < 1632000 MHZ_TO_MBPS( 2092, 4) >,
+ < 2112000 MHZ_TO_MBPS( 2736, 4) >,
+ < 2362000 MHZ_TO_MBPS( 3196, 4) >;
+ };
+ };
+
+ cpu4_computemon: qcom,cpu4-computemon {
+ compatible = "qcom,arm-compute-mon";
+ qcom,cpulist = <&CPU4 &CPU5 &CPU6 &CPU7>;
+ qcom,target-dev = <&cpu4_cpu_ddr_latfloor>;
+
+ ddr-map {
+ qcom,ddr-type = <DDR_TYPE_LPDDR5>;
+ qcom,core-dev-table =
+ < 1268000 MHZ_TO_MBPS( 768, 4) >,
+ < 1632000 MHZ_TO_MBPS( 2092, 4) >,
+ < 2112000 MHZ_TO_MBPS( 2736, 4) >,
+ < 2362000 MHZ_TO_MBPS( 3196, 4) >;
+ };
+ };
+
+ cpu4_llcc_computemon: qcom,cpu4-llcc-computemon {
+ compatible = "qcom,arm-compute-mon";
+ qcom,cpulist = <&CPU4 &CPU5 &CPU6 &CPU7>;
+ qcom,target-dev = <&cpu4_cpu_llcc_latfloor>;
+ qcom,core-dev-table =
+ < 1268000 MHZ_TO_MBPS( 600, 16) >,
+ < 1632000 MHZ_TO_MBPS( 806, 16) >,
+ < 2112000 MHZ_TO_MBPS( 933, 16) >,
+ < 2362000 MHZ_TO_MBPS( 1066, 16) >;
+ };
+
+ cpu4_qoslatmon: qcom,cpu4-qoslatmon {
+ compatible = "qcom,arm-memlat-mon";
+ qcom,cpulist = <&CPU4 &CPU5 &CPU6 &CPU7>;
+ qcom,target-dev = <&cpu4_cpu_ddr_qoslat>;
+ qcom,cachemiss-ev = <0x1000>;
+ qcom,core-dev-table =
+ < 300000 1 >,
+ < 3000000 2 >;
+ };
+ };
+
ipcc_mproc: qcom,ipcc@408000 {
compatible = "qcom,ipcc";
reg = <0x408000 0x1000>;
@@ -1496,6 +1891,29 @@
qcom,notify-edges = <&glink_gpdsp0>,
<&glink_gpdsp1>;
};
+
+ audio_gpr: qcom,gpr {
+ compatible = "qcom,gpr";
+ qcom,glink-channels = "adsp_apps";
+ qcom,intents = <0x200 20>;
+ reg = <GPR_DOMAIN_ADSP>;
+
+ spf_core {
+ compatible = "qcom,spf_core";
+ reg = <GPR_SVC_ADSP_CORE>;
+ };
+
+ audio-pkt {
+ compatible = "qcom,audio-pkt";
+ qcom,audiopkt-ch-name = "apr_audio_svc";
+ reg = <GPR_SVC_MAX>;
+ };
+
+ audio_prm {
+ compatible = "qcom,audio_prm";
+ reg = <GPR_SVC_ASM>;
+ };
+ };
};
glink_cdsp0: cdsp {
@@ -2062,6 +2480,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>;
+ };
+
+ };
+
mtl_rx_setup: rx-queues-config {
snps,rx-queues-to-use = <1>;
snps,rx-sched-sp;
@@ -2249,6 +2812,7 @@
#include "lemans-usb.dtsi"
#include "lemans-smp2p.dtsi"
#include "lemans-pm.dtsi"
+#include "lemans-audio.dtsi"
&cam_cc_titan_top_gdsc {
reg = <0xadf31bc 0x4>;
@@ -2487,6 +3051,37 @@
status = "ok";
};
-#include "lemans-thermal.dtsi"
+&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";
+};
+
#include "lemans-pcie.dtsi"
#include "lemans-gpu.dtsi"
+#include "lemans-thermal.dtsi"
diff --git a/qcom/monaco-amic-audio-overlay.dtsi b/qcom/monaco-amic-audio-overlay.dtsi
index 7f714137..bc7b6eda 100755
--- a/qcom/monaco-amic-audio-overlay.dtsi
+++ b/qcom/monaco-amic-audio-overlay.dtsi
@@ -11,13 +11,13 @@
<3 COMP_L 0x1>, <3 COMP_R 0x2>,
<4 LO 0x1>, <5 DSD_L 0x1>,
<5 DSD_R 0x2>,
- <7 SWRM_RX_PCM_IN 0x3>;
+ <7 SWRM_TX1_CH1 0x1>, <7 SWRM_TX1_CH2 0x2>;
};
};
&besbev_codec {
qcom,swr_ch_map = <0 SPKR_L 0x1 0 LO>,
- <2 ADC1 0x1 0 SWRM_RX_PCM_IN>, <2 ADC2 0x2 0 SWRM_RX_PCM_IN>;
+ <2 ADC1 0x1 0 SWRM_TX1_CH1>, <2 ADC2 0x2 0 SWRM_TX1_CH2>;
};
diff --git a/qcom/monaco.dtsi b/qcom/monaco.dtsi
index 148df7dd..0c5c6342 100755
--- a/qcom/monaco.dtsi
+++ b/qcom/monaco.dtsi
@@ -1665,6 +1665,18 @@ qcom,msm-adsprpc-mem {
qcom,glinkpkt-ch-name = "slate_bt_app";
qcom,glinkpkt-dev-name = "glink_pkt_slate_bt_app";
};
+
+ qcom,glinkpkt-dcf-bt-ctrl {
+ qcom,glinkpkt-edge = "slate";
+ qcom,glinkpkt-ch-name = "dcf_bt_ctrl";
+ qcom,glinkpkt-dev-name = "glink_pkt_dcf_bt_ctrl";
+ };
+
+ qcom,glinkpkt-dcf-bt-data {
+ qcom,glinkpkt-edge = "slate";
+ qcom,glinkpkt-ch-name = "dcf_bt_data";
+ qcom,glinkpkt-dev-name = "glink_pkt_dcf_bt_data";
+ };
};
qcom,smp2p-modem {
diff --git a/qcom/pm2250.dtsi b/qcom/pm2250.dtsi
index f6a57667..8210ed5b 100755
--- a/qcom/pm2250.dtsi
+++ b/qcom/pm2250.dtsi
@@ -167,6 +167,8 @@
pm2250_rtc: qcom,pm2250_rtc {
compatible = "qcom,pm8941-rtc";
+ reg = <0x6000>, <0x6100>;
+ reg-names = "rtc", "alarm";
interrupts = <0x0 0x61 0x1 IRQ_TYPE_NONE>;
};
diff --git a/qcom/prairie-iot-idp.dtsi b/qcom/prairie-iot-idp.dtsi
index a936b0c9..ed8d909a 100755
--- a/qcom/prairie-iot-idp.dtsi
+++ b/qcom/prairie-iot-idp.dtsi
@@ -187,6 +187,21 @@
io-channel-names = "chg_type";
};
+&qusb_phy0 {
+ reg = <0x88e2000 0x180>,
+ <0x01fcb250 0x4>,
+ <0x007801f8 0x4>,
+ <0x01fcb3e4 0x4>;
+ reg-names = "qusb_phy_base",
+ "tcsr_clamp_dig_n_1p8",
+ "tune2_efuse_addr",
+ "tcsr_conn_box_spare_0";
+};
+
+&usb1 {
+ status = "disabled";
+};
+
&qupv3_se0_2uart {
status = "ok";
};
diff --git a/qcom/qcs610-iot.dtsi b/qcom/qcs610-iot.dtsi
index c69038b0..30abcba1 100755
--- a/qcom/qcs610-iot.dtsi
+++ b/qcom/qcs610-iot.dtsi
@@ -144,8 +144,19 @@
status = "okay";
};
+&qusb_phy0 {
+ reg = <0x88e2000 0x180>,
+ <0x01fcb250 0x4>,
+ <0x007801f8 0x4>,
+ <0x01fcb3e4 0x4>;
+ reg-names = "qusb_phy_base",
+ "tcsr_clamp_dig_n_1p8",
+ "tune2_efuse_addr",
+ "tcsr_conn_box_spare_0";
+};
+
&usb1 {
- status = "okay";
+ status = "disabled";
pinctrl-names = "default";
pinctrl-0 = <&usb_typea_host_en>;
};
diff --git a/qcom/qrb5165-iot-rb5-pine.dts b/qcom/qrb5165-iot-rb5-pine.dts
new file mode 100755
index 00000000..0c869c4d
--- /dev/null
+++ b/qcom/qrb5165-iot-rb5-pine.dts
@@ -0,0 +1,10 @@
+/dts-v1/;
+
+#include "qrb5165-pine.dtsi"
+#include "kona-v2.1-iot-rb5.dtsi"
+
+/ {
+ model = "Qualcomm Technologies, Inc. qrb5165 IOT RB5 PINE";
+ compatible = "qcom,kona-iot", "qcom,kona", "qcom,iot";
+ qcom,board-id = <0x01010B 0x03>;
+};
diff --git a/qcom/qrb5165-pine.dtsi b/qcom/qrb5165-pine.dtsi
new file mode 100755
index 00000000..e2f9f9e7
--- /dev/null
+++ b/qcom/qrb5165-pine.dtsi
@@ -0,0 +1,148 @@
+#include "qrb5165.dtsi"
+
+&soc {
+ qcnwlan: qcom,qcn9000@b0000000 {
+ compatible = "qcom,cnss-qcn9000";
+ reg = <0xb0000000 0x10000>,
+ <0xb2e5510 0x5c0>;
+ reg-names = "smmu_iova_ipa", "tcs_cmd";
+ base-addr = <0xb0000000>;
+ qcom,wlan-rc-num = <2>;
+ qcom,wlan-ramdump-dynamic = <0x420000>;
+ mhi,max-channels = <30>;
+ mhi,timeout = <10000>;
+ qrtr_node_id = <0x20>;
+ status="okay";
+
+ mhi_channels {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ mhi_chan@0 {
+ label = "LOOPBACK";
+ mhi,chan-dir = <1>;
+ mhi,data-type = <0>;
+ mhi,doorbell-mode = <2>;
+ mhi,ee = <0x14>;
+ mhi,event-ring = <1>;
+ mhi,num-elements = <32>;
+ reg = <0>;
+ };
+
+ mhi_chan@1 {
+ label = "LOOPBACK";
+ mhi,chan-dir = <2>;
+ mhi,data-type = <0>;
+ mhi,doorbell-mode = <2>;
+ mhi,ee = <0x14>;
+ mhi,event-ring = <1>;
+ mhi,num-elements = <32>;
+ reg = <1>;
+ };
+
+ mhi_chan@20 {
+ label = "IPCR";
+ mhi,auto-start;
+ mhi,chan-dir = <1>;
+ mhi,data-type = <1>;
+ mhi,doorbell-mode = <2>;
+ mhi,ee = <0x14>;
+ mhi,event-ring = <1>;
+ mhi,num-elements = <32>;
+ reg = <20>;
+ };
+
+ mhi_chan@21 {
+ label = "IPCR";
+ mhi,auto-queue;
+ mhi,auto-start;
+ mhi,chan-dir = <2>;
+ mhi,data-type = <0>;
+ mhi,doorbell-mode = <2>;
+ mhi,ee = <0x14>;
+ mhi,event-ring = <1>;
+ mhi,num-elements = <32>;
+ reg = <21>;
+ };
+
+ mhi_chan@4 {
+ label = "DIAG";
+ mhi,chan-dir = <1>;
+ mhi,data-type = <0>;
+ mhi,doorbell-mode = <2>;
+ mhi,ee = <0x14>;
+ mhi,event-ring = <1>;
+ mhi,num-elements = <32>;
+ reg = <4>;
+ };
+
+ mhi_chan@5 {
+ label = "DIAG";
+ mhi,chan-dir = <2>;
+ mhi,data-type = <0>;
+ mhi,doorbell-mode = <2>;
+ mhi,ee = <0x14>;
+ mhi,event-ring = <1>;
+ mhi,num-elements = <32>;
+ reg = <5>;
+ };
+ };
+
+ mhi_events {
+ mhi_event@0 {
+ mhi,brstmode = <2>;
+ mhi,data-type = <1>;
+ mhi,intmod = <1>;
+ mhi,msi = <1>;
+ mhi,num-elements = <32>;
+ mhi,priority = <1>;
+ };
+
+ mhi_event@1 {
+ mhi,brstmode = <2>;
+ mhi,intmod = <1>;
+ mhi,msi = <2>;
+ mhi,num-elements = <256>;
+ mhi,priority = <1>;
+ };
+ };
+
+ mhi_devices {
+ mhi_qrtr {
+ mhi,chan = "IPCR";
+ qcom,net-id = <0>;
+ };
+ };
+ };
+};
+
+&pcie0_rp {
+ /delete-node/ cnss_pci;
+};
+
+&pcie2_rp {
+ #address-cells = <5>;
+ #size-cells = <0>;
+ status = "ok";
+
+ /delete-node/ qcom,mhi@0;
+
+ cnss2_pci: cnss2_pci {
+ reg = <0 0 0 0 0>;
+ qcom,iommu-group = <&cnss2_pci_iommu_group>;
+ memory-region = <&cnss_wlan_mem>;
+ qrtr_instance_id = <0x20>;
+ status = "ok";
+
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ cnss2_pci_iommu_group: cnss2_pci_iommu_group {
+ qcom,iommu-dma-addr-pool = <0xa0000000 0x10000000>;
+ qcom,iommu-dma = "fastmap";
+ qcom,iommu-pagetable = "coherent";
+ qcom,iommu-faults = "stall-disable", "HUPCF", "no-CFRE",
+ "non-fatal";
+ };
+ };
+};
diff --git a/qcom/qrb5165m-iot-rb5-pine.dts b/qcom/qrb5165m-iot-rb5-pine.dts
new file mode 100755
index 00000000..4541066a
--- /dev/null
+++ b/qcom/qrb5165m-iot-rb5-pine.dts
@@ -0,0 +1,10 @@
+/dts-v1/;
+
+#include "qrb5165.dtsi"
+#include "qrb5165m-iot-rb5-pine.dtsi"
+
+/ {
+ model = "Qualcomm Technologies, Inc. QRB5165M IOT RB5 PINE";
+ compatible = "qcom,kona-iot", "qcom,kona", "qcom,iot";
+ qcom,board-id = <0x04010B 0x03>;
+};
diff --git a/qcom/qrb5165m-iot-rb5-pine.dtsi b/qcom/qrb5165m-iot-rb5-pine.dtsi
new file mode 100755
index 00000000..d1dfc51e
--- /dev/null
+++ b/qcom/qrb5165m-iot-rb5-pine.dtsi
@@ -0,0 +1,2 @@
+#include "kona-v2.1-iot-rb5.dtsi"
+
diff --git a/qcom/sa415m-pm.dtsi b/qcom/sa415m-pm.dtsi
new file mode 100755
index 00000000..ac0fbde0
--- /dev/null
+++ b/qcom/sa415m-pm.dtsi
@@ -0,0 +1,104 @@
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+
+&soc {
+ qcom,lpm-levels {
+ compatible = "qcom,lpm-levels";
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ qcom,pm-cluster@0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0>;
+ idle-state-name = "system";
+ qcom,psci-mode-shift = <0>;
+ qcom,psci-mode-mask = <0xf>;
+
+ CX_ACTIVE: qcom,pm-cluster-level@0 {
+ reg = <0>;
+ idle-state-name = "cx-active";
+ compatible = "arm,idle-state";
+ qcom,psci-mode = <0>;
+ arm,psci-suspend-param = <0x40000004>;
+ entry-latency-us = <230>;
+ exit-latency-us = <270>;
+ min-residency-us = <6488>;
+ };
+
+ CX_MIN: qcom,pm-cluster-level@1 {/* C8=>XO off in f/w */
+ reg = <1>;
+ idle-state-name = "cx-min";
+ compatible = "arm,idle-state";
+ qcom,psci-mode = <0x4>;
+ arm,psci-suspend-param = <0x40000008>;
+ entry-latency-us = <255>;
+ exit-latency-us = <285>;
+ min-residency-us = <8000>;
+ local-timer-stop;
+ qcom,min-child-idx = <2>;
+ qcom,notify-rpm;
+ qcom,is-reset;
+ };
+
+ qcom,pm-cpu@0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ qcom,psci-mode-shift = <0>;
+ qcom,psci-mode-mask = <0xf>;
+ qcom,disable-ipi-prediction;
+ qcom,cpu = <&CPU0>;
+
+ qcom,pm-cpu-level@0 {
+ reg = <0>;
+ idle-state-name = "wfi";
+ compatible = "arm,idle-state";
+ qcom,psci-cpu-mode = <0x1>;
+ arm,psci-suspend-param = <0x1>;
+ entry-latency-us = <24>;
+ exit-latency-us = <1>;
+ min-residency-us = <419>;
+ };
+
+ A7_SPC: qcom,pm-cpu-level@1 {/* C3 */
+ reg = <1>;
+ idle-state-name ="standalone-pc";
+ compatible = "arm,idle-state";
+ qcom,psci-cpu-mode = <0x3>;
+ arm,psci-suspend-param = <0x40000003>;
+ entry-latency-us = <180>;
+ exit-latency-us = <240>;
+ min-residency-us = <3040>;
+ local-timer-stop;
+ qcom,use-broadcast-timer;
+ qcom,is-reset;
+ };
+
+ A7_PC: qcom,pm-cpu-level@2 { /* C4 */
+ reg = <2>;
+ idle-state-name = "pc";
+ compatible = "arm,idle-state";
+ qcom,psci-cpu-mode = <0x4>;
+ arm,psci-suspend-param = <0x40000004>;
+ entry-latency-us = <230>;
+ exit-latency-us = <270>;
+ min-residency-us = <6488>;
+ local-timer-stop;
+ qcom,use-broadcast-timer;
+ qcom,is-reset;
+ };
+
+ };
+ };
+ };
+
+ rpmh-master-stats@b211200 {
+ compatible = "qcom,rpmh-master-stats-v1";
+ reg = <0xb211200 0x60>;
+ };
+
+ soc-sleep-stats@C370000 {
+ compatible = "qcom,rpmh-sleep-stats";
+ reg = <0xc370000 0x400>;
+ };
+
+};
diff --git a/qcom/sa415m.dtsi b/qcom/sa415m.dtsi
index 16356c8c..ba3effda 100755
--- a/qcom/sa415m.dtsi
+++ b/qcom/sa415m.dtsi
@@ -105,6 +105,7 @@
device_type = "cpu";
compatible = "arm,cortex-a7";
enable-method = "psci";
+ cpu-idle-states = <&A7_SPC &A7_PC &CX_MIN>;
reg = <0x0>;
#cooling-cells = <2>;
};
@@ -139,6 +140,10 @@
<SLEEP_TCS 2>,
<WAKE_TCS 2>,
<CONTROL_TCS 1>;
+
+ system_pm {
+ compatible = "qcom,system-pm";
+ };
};
intc: interrupt-controller@17800000 {
@@ -173,6 +178,11 @@
clock-frequency = <19200000>;
};
+ qcom,sps {
+ compatible = "qcom,msm-sps-4k";
+ qcom,pipe-attr-ee;
+ };
+
timer@17820000 {
#address-cells = <1>;
#size-cells = <1>;
@@ -283,6 +293,12 @@
compatible = "qcom,msm-rtb";
qcom,rtb-size = <0x100000>;
};
+
+ thermal_zones: thermal-zones {
+ };
};
+#include "sdxpoorwills-regulator.dtsi"
#include "sa415m-pinctrl.dtsi"
+#include "sa415m-pm.dtsi"
+#include "sdxpoorwills-thermal.dtsi"
diff --git a/qcom/sa515m-blsp.dtsi b/qcom/sa515m-blsp.dtsi
index 5abac944..1bc4614d 100755
--- a/qcom/sa515m-blsp.dtsi
+++ b/qcom/sa515m-blsp.dtsi
@@ -24,7 +24,7 @@
qcom,summing-threshold = <0x10>;
};
- i2c_1: i2c@835000 { /* BLSP1 QUP1 */
+ i2c_1: i2c@835000 { /* BLSP1 QUP1: GPIO: 2,3 */
compatible = "qcom,i2c-msm-v2";
#address-cells = <1>;
#size-cells = <0>;
@@ -47,7 +47,7 @@
status = "disabled";
};
- i2c_2: i2c@836000 { /* BLSP1 QUP2 */
+ i2c_2: i2c@836000 { /* BLSP1 QUP2: GPIO: 6,7 */
compatible = "qcom,i2c-msm-v2";
#address-cells = <1>;
#size-cells = <0>;
@@ -70,7 +70,7 @@
status = "disabled";
};
- i2c_3: i2c@837000 { /* BLSP1 QUP3 */
+ i2c_3: i2c@837000 { /* BLSP1 QUP3: GPIO: 10,11 */
compatible = "qcom,i2c-msm-v2";
#address-cells = <1>;
#size-cells = <0>;
@@ -93,7 +93,7 @@
status = "ok";
};
- i2c_4: i2c@838000 { /* BLSP1 QUP4 */
+ i2c_4: i2c@838000 { /* BLSP1 QUP4: GPIO: 78,79 */
compatible = "qcom,i2c-msm-v2";
#address-cells = <1>;
#size-cells = <0>;
@@ -116,7 +116,7 @@
status = "disabled";
};
- i2c_5: i2c@835000 { /* BLSP1 QUP1 */
+ i2c_5: i2cb@835000 { /* BLSP1 QUP1: GPIO: 82,83 */
compatible = "qcom,i2c-msm-v2";
#address-cells = <1>;
#size-cells = <0>;
@@ -139,7 +139,7 @@
status = "disabled";
};
- i2c_6: i2c@836000 { /* BLSP1 QUP2 */
+ i2c_6: i2cb@836000 { /* BLSP1 QUP2: GPIO: 65,66 */
compatible = "qcom,i2c-msm-v2";
#address-cells = <1>;
#size-cells = <0>;
@@ -162,7 +162,7 @@
status = "disabled";
};
- i2c_7: i2c@838000 { /* BLSP1 QUP3 */
+ i2c_7: i2cb@838000 { /* BLSP1 QUP4: GPIO: 18,19 */
compatible = "qcom,i2c-msm-v2";
#address-cells = <1>;
#size-cells = <0>;
@@ -178,7 +178,7 @@
qcom,clk-freq-in = <19200000>;
clock-names = "iface_clk", "core_clk";
clocks = <&gcc GCC_BLSP1_AHB_CLK>,
- <&gcc GCC_BLSP1_QUP3_I2C_APPS_CLK>;
+ <&gcc GCC_BLSP1_QUP4_I2C_APPS_CLK>;
pinctrl-names = "i2c_active", "i2c_sleep";
pinctrl-0 = <&i2c_7_active>;
pinctrl-1 = <&i2c_7_sleep>;
diff --git a/qcom/sa515m-ccard-cnss.dtsi b/qcom/sa515m-ccard-cnss.dtsi
index b048e24d..b1638b4f 100755
--- a/qcom/sa515m-ccard-cnss.dtsi
+++ b/qcom/sa515m-ccard-cnss.dtsi
@@ -315,6 +315,138 @@
};
};
};
+
+ chip_cfg@3 {
+ reg = <0xa0000000 0x10000000>,
+ <0xb0000000 0x10000>;
+ reg-names = "smmu_iova_base", "smmu_iova_ipa";
+
+ supported-ids = <0x1103>;
+ wlan_vregs = "vdd-wlan-aon", "vdd-wlan-rfa1",
+ "vdd-wlan-rfa3";
+
+ qcom,vdd-wlan-aon-info = <1000000 1000000 0 0>;
+ qcom,vdd-wlan-rfa1-info = <1370000 1370000 0 0>;
+ qcom,vdd-wlan-rfa3-info = <1904000 1904000 450000 0>;
+
+ qcom,wlan-ramdump-dynamic = <0x400000>;
+ mhi,max-channels = <30>;
+ mhi,buffer-len = <0x8000>;
+ mhi,timeout = <10000>;
+ qcom,smmu-s1-enable;
+ pcie-disable-l1ss;
+
+ mhi_channels {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ mhi_chan@0 {
+ reg = <0>;
+ label = "LOOPBACK";
+ mhi,num-elements = <32>;
+ mhi,event-ring = <1>;
+ mhi,chan-dir = <1>;
+ mhi,data-type = <0>;
+ mhi,doorbell-mode = <2>;
+ mhi,ee = <0x14>;
+ };
+
+ mhi_chan@1 {
+ reg = <1>;
+ label = "LOOPBACK";
+ mhi,num-elements = <32>;
+ mhi,event-ring = <1>;
+ mhi,chan-dir = <2>;
+ mhi,data-type = <0>;
+ mhi,doorbell-mode = <2>;
+ mhi,ee = <0x14>;
+ };
+
+ mhi_chan@4 {
+ reg = <4>;
+ label = "DIAG";
+ mhi,num-elements = <32>;
+ mhi,event-ring = <1>;
+ mhi,chan-dir = <1>;
+ mhi,data-type = <0>;
+ mhi,doorbell-mode = <2>;
+ mhi,ee = <0x14>;
+ };
+
+ mhi_chan@5 {
+ reg = <5>;
+ label = "DIAG";
+ mhi,num-elements = <32>;
+ mhi,event-ring = <1>;
+ mhi,chan-dir = <2>;
+ mhi,data-type = <0>;
+ mhi,doorbell-mode = <2>;
+ mhi,ee = <0x14>;
+ };
+
+ mhi_chan@20 {
+ reg = <20>;
+ label = "IPCR";
+ mhi,num-elements = <32>;
+ mhi,event-ring = <1>;
+ mhi,chan-dir = <1>;
+ mhi,data-type = <1>;
+ mhi,doorbell-mode = <2>;
+ mhi,ee = <0x14>;
+ mhi,auto-start;
+ };
+
+ mhi_chan@21 {
+ reg = <21>;
+ label = "IPCR";
+ mhi,num-elements = <32>;
+ mhi,event-ring = <1>;
+ mhi,chan-dir = <2>;
+ mhi,data-type = <0>;
+ mhi,doorbell-mode = <2>;
+ mhi,ee = <0x14>;
+ mhi,auto-queue;
+ mhi,auto-start;
+ };
+ };
+
+ mhi_events {
+ mhi_event@0 {
+ mhi,num-elements = <32>;
+ mhi,intmod = <1>;
+ mhi,msi = <1>;
+ mhi,priority = <1>;
+ mhi,brstmode = <2>;
+ mhi,data-type = <1>;
+ };
+
+ mhi_event@1 {
+ mhi,num-elements = <256>;
+ mhi,intmod = <1>;
+ mhi,msi = <2>;
+ mhi,priority = <1>;
+ mhi,brstmode = <2>;
+ };
+
+ mhi_event@2 {
+ mhi,num-elements = <32>;
+ mhi,intmod = <1>;
+ mhi,msi = <0>;
+ mhi,priority = <2>;
+ mhi,brstmode = <2>;
+ mhi,data-type = <3>;
+ };
+
+ };
+
+ mhi_devices {
+ mhi_qrtr {
+ mhi,chan = "IPCR";
+ qcom,net-id = <0>;
+ qcom,low-latency;
+ mhi,early-notify;
+ };
+ };
+ };
};
};
diff --git a/qcom/sa515m-ccard-eth-phy-ep.dts b/qcom/sa515m-ccard-eth-phy-ep.dts
new file mode 100755
index 00000000..f055c0f3
--- /dev/null
+++ b/qcom/sa515m-ccard-eth-phy-ep.dts
@@ -0,0 +1,11 @@
+/dts-v1/;
+
+#include "sa515m.dtsi"
+#include "sa515m-ccard.dtsi"
+
+/ {
+ model = "Qualcomm Technologies, Inc. SA515M CCARD ETH";
+ compatible = "qcom,sa515m-ccard",
+ "qcom,sa515m", "qcom,ccard";
+ qcom,board-id = <0x020019 5>;
+};
diff --git a/qcom/sa515m-v2-ccard-eth-phy-ep.dts b/qcom/sa515m-v2-ccard-eth-phy-ep.dts
new file mode 100755
index 00000000..a1ec4993
--- /dev/null
+++ b/qcom/sa515m-v2-ccard-eth-phy-ep.dts
@@ -0,0 +1,11 @@
+/dts-v1/;
+
+#include "sa515m-v2.dtsi"
+#include "sa515m-ccard.dtsi"
+
+/ {
+ model = "Qualcomm Technologies, Inc. SA515M CCARD ETH V2 MAC SWT";
+ compatible = "qcom,sa515m-ccard",
+ "qcom,sa515m", "qcom,ccard";
+ qcom,board-id = <0x020019 5>;
+};
diff --git a/qcom/sa515m.dtsi b/qcom/sa515m.dtsi
index 4e01586e..836076d9 100755
--- a/qcom/sa515m.dtsi
+++ b/qcom/sa515m.dtsi
@@ -2,11 +2,15 @@
#include <dt-bindings/clock/qcom,rpmh.h>
#include <dt-bindings/interconnect/qcom,icc.h>
#include <dt-bindings/interconnect/qcom,sdx55.h>
+#include <dt-bindings/clock/qcom,apsscc-sdxlemur.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/regulator/qcom,rpmh-regulator-levels.h>
#include <dt-bindings/soc/qcom,rpmh-rsc.h>
#include <dt-bindings/gpio/gpio.h>
+#define MHZ_TO_MBPS(mhz, w) ((mhz * 1000000 * w) / (1024 * 1024))
+#define BW_OPP_ENTRY(mhz, w) opp-mhz {opp-hz = /bits/ 64 <MHZ_TO_MBPS(mhz, w)>;}
+
/ {
#address-cells = <1>;
#size-cells = <1>;
@@ -158,6 +162,53 @@
method = "smc";
};
+ msm_cpufreq: qcom,msm-cpufreq {
+ compatible = "qcom,msm-cpufreq";
+ clocks = <&apsscc APCS_MUX_CLK>;
+ clock-names = "cpu0_clk";
+
+ qcom,cpufreq-table-0 =
+ < 153600 >,
+ < 300000 >,
+ < 345600 >,
+ < 576000 >,
+ < 1094400 >,
+ < 1555200 >;
+ };
+
+ ddr_bw_opp_table: ddr-bw-opp-table {
+ compatible = "operating-points-v2";
+ BW_OPP_ENTRY( 100, 4); /* 381 MB/s */
+ BW_OPP_ENTRY( 200, 4); /* 762 MB/s */
+ BW_OPP_ENTRY( 300, 4); /* 1144 MB/s */
+ BW_OPP_ENTRY( 451, 4); /* 1720 MB/s */
+ BW_OPP_ENTRY( 547, 4); /* 2086 MB/s */
+ BW_OPP_ENTRY( 681, 4); /* 2597 MB/s */
+ BW_OPP_ENTRY( 768, 4); /* 2929 MB/s */
+ BW_OPP_ENTRY(1017, 4); /* 3879 MB/s */
+ BW_OPP_ENTRY(1353, 4); /* 5161 MB/s */
+ BW_OPP_ENTRY(1555, 4); /* 5931 MB/s */
+ BW_OPP_ENTRY(1804, 4); /* 6881 MB/s */
+ };
+
+ cpubw: qcom,cpubw {
+ compatible = "qcom,devfreq-icc";
+ governor = "cpufreq";
+ interconnects = <&mc_virt MASTER_LLCC &mc_virt SLAVE_EBI1>;
+ qcom,active-only;
+ operating-points-v2 = <&ddr_bw_opp_table>;
+ };
+
+ devfreq-cpufreq {
+ cpubw-cpufreq {
+ target-dev = <&cpubw>;
+ cpu-to-dev-map =
+ < 576000 MHZ_TO_MBPS( 300, 4) >,
+ < 1497600 MHZ_TO_MBPS(1017, 4) >,
+ < 1555200 MHZ_TO_MBPS(1804, 4) >;
+ };
+ };
+
apps_rsc: rsc@17830000 {
label = "apps_rsc";
compatible = "qcom,rpmh-rsc";
@@ -456,6 +507,30 @@
qcom,rtb-size = <0x100000>;
};
+ keepalive_opp_table: keepalive-opp-table {
+ compatible = "operating-points-v2";
+ opp-1 {
+ opp-hz = /bits/ 64 < 1 >;
+ };
+ };
+
+ snoc_pcnoc_keepalive: qcom,snoc_pcnoc_keepalive {
+ compatible = "qcom,devfreq-icc";
+ governor = "powersave";
+ interconnects = <&mem_noc MASTER_APPSS_PROC &system_noc SLAVE_IMEM_CFG>;
+ qcom,active-only;
+ status = "ok";
+ operating-points-v2 = <&keepalive_opp_table>;
+ };
+
+ ddr_keepalive: qcom,ddr_keepalive {
+ compatible = "qcom,devfreq-icc";
+ governor = "powersave";
+ interconnects = <&mem_noc MASTER_APPSS_PROC &mc_virt SLAVE_EBI1>;
+ qcom,active-only;
+ status = "ok";
+ operating-points-v2 = <&keepalive_opp_table>;
+ };
qnand_1: nand@1b00000 {
compatible = "qcom,msm-nand";
@@ -488,8 +563,8 @@
reg = <0x8804000 0x1000>;
reg-names = "hc_mem";
- interrupts = <GIC_SPI 210 IRQ_TYPE_NONE>,
- <GIC_SPI 227 IRQ_TYPE_NONE>;
+ interrupts = <GIC_SPI 210 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 227 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "hc_irq", "pwr_irq";
bus-width = <4>;
@@ -609,6 +684,112 @@
};
};
+
+ qcom_tzlog: tz-log@0x1468f720 {
+ compatible = "qcom,tz-log";
+ reg = <0x1468f720 0x2000>;
+ };
+
+ qtee_shmbridge {
+ compatible = "qcom,tee-shared-memory-bridge";
+ };
+
+ qcom_rng: qrng@793000 {
+ compatible = "qcom,msm-rng";
+ reg = <0x793000 0x1000>;
+ qcom,no-qrng-config;
+ qcom,msm-bus,name = "msm-rng-noc";
+ qcom,msm-bus,num-cases = <2>;
+ qcom,msm-bus,num-paths = <1>;
+ qcom,msm-bus,vectors-KBps =
+ <1 618 0 0>, /* No vote */
+ <1 618 0 300000>; /* 75 MHz */
+ qcom,no-clock-support;
+ };
+
+ qcom_crypto: qcrypto@1de0000 {
+ compatible = "qcom,qcrypto";
+ reg = <0x1de0000 0x20000>,
+ <0x1dc4000 0x24000>;
+ reg-names = "crypto-base","crypto-bam-base";
+ interrupts = <0 252 0>;
+ qcom,bam-pipe-pair = <2>;
+ qcom,ce-hw-instance = <0>;
+ qcom,ce-device = <0>;
+ qcom,bam-ee = <0>;
+ qcom,ce-hw-shared;
+ qcom,msm-bus,name = "qcrypto-noc";
+ qcom,msm-bus,num-cases = <2>;
+ qcom,msm-bus,num-paths = <1>;
+ qcom,msm-bus,vectors-KBps =
+ <125 512 0 0>,
+ <125 512 393600 393600>;
+ qcom,use-sw-aes-cbc-ecb-ctr-algo;
+ qcom,use-sw-aes-xts-algo;
+ qcom,use-sw-aes-ccm-algo;
+ qcom,use-sw-aead-algo;
+ qcom,use-sw-ahash-algo;
+ qcom,use-sw-hmac-algo;
+ qcom,no-clock-support;
+ qcom,iommu-s1-enable;
+ interconnect-names = "data_path";
+ interconnects = <&system_noc MASTER_CRYPTO &mc_virt SLAVE_EBI1>;
+ iommus = <&apps_smmu 0x0064 0x0011>,
+ <&apps_smmu 0x0074 0x0011>;
+ };
+
+ qcom_cedev: qcedev@1de0000 {
+ compatible = "qcom,qcedev";
+ reg = <0x1de0000 0x20000>,
+ <0x1dc4000 0x24000>;
+ reg-names = "crypto-base","crypto-bam-base";
+ interrupts = <0 252 0>;
+ qcom,bam-pipe-pair = <3>;
+ qcom,ce-hw-instance = <0>;
+ qcom,ce-device = <0>;
+ qcom,bam-ee = <0>;
+ qcom,ce-hw-shared;
+ qcom,msm-bus,name = "qcedev-noc";
+ qcom,msm-bus,num-cases = <2>;
+ qcom,msm-bus,num-paths = <1>;
+ qcom,msm-bus,vectors-KBps =
+ <125 512 0 0>,
+ <125 512 393600 393600>;
+ qcom,no-clock-support;
+ qcom,iommu-s1-enable;
+ interconnect-names = "data_path";
+ interconnects = <&system_noc MASTER_CRYPTO &mc_virt SLAVE_EBI1>;
+ iommus = <&apps_smmu 0x0066 0x0011>,
+ <&apps_smmu 0x0076 0x0011>;
+ };
+
+ qcom_seecom: qseecom@90000000 {
+ compatible = "qcom,qseecom";
+ reg = <0x90000000 0x500000>;
+ 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,no-clock-support;
+ qcom,msm-bus,name = "qseecom-noc";
+ qcom,msm-bus,num-cases = <4>;
+ qcom,msm-bus,num-paths = <1>;
+ qcom,msm-bus,vectors-KBps =
+ <125 512 0 0>,
+ <125 512 20000 40000>,
+ <125 512 30000 80000>,
+ <125 512 40000 100000>;
+ qcom,qsee-reentrancy-support = <2>;
+ };
+
+ qcom_smcinvoke: smcinvoke@90000000 {
+ compatible = "qcom,smcinvoke";
+ qcom,support-legacy_smc;
+ reg = <0x90000000 0x500000>;
+ reg-names = "secapp-region";
+ };
+
tcsr_mutex_block: syscon@1f40000 {
compatible = "syscon";
reg = <0x1f40000 0x20000>;
@@ -960,26 +1141,25 @@
snps,dcb-algorithm;
snps,map-to-dma-channel = <0x0>;
snps,route-up;
- snps,route-ptp;
- snps,route-dcbcp;
+ snps,priority = <0x1>;
};
queue1 {
snps,dcb-algorithm;
snps,map-to-dma-channel = <0x1>;
- snps,route-avcp;
- snps,route-multi-broad;
+ 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 = <0x0C>;
+ snps,priority = <0xC>;
};
};
@@ -1023,6 +1203,8 @@
<&gcc GCC_ETH_PTP_CLK>,
<&gcc GCC_ETH_RGMII_CLK>;
clock-names = "stmmaceth", "pclk", "ptp_ref", "rgmii";
+ snps,ptp-ref-clk-rate = <230400000>;
+ snps,ptp-req-clk-rate = <57600000>;
interrupts-extended = <&intc 0 62 4>, <&intc 0 60 4>,
<&tlmm 90 2>, <&intc 0 290 1>, <&intc 0 291 1>;
interrupt-names = "macirq", "eth_lpi",
@@ -1067,6 +1249,7 @@
dll-clock-dis = <1>;
ddr-traffic-init-sel = <0>;
ddr-traffic-init-sw = <0>;
+ rgmii-tx-drv = <1>;
};
};
};
diff --git a/qcom/sa8155-vm-audio.dtsi b/qcom/sa8155-vm-audio.dtsi
index 34bc5d4f..f8b9cbc8 100755
--- a/qcom/sa8155-vm-audio.dtsi
+++ b/qcom/sa8155-vm-audio.dtsi
@@ -552,3 +552,11 @@
};
};
+&soc {
+ spf_snd_8155: spf-sound-adp-star {
+ compatible = "qcom,8155-spf-asoc-snd-adp-star";
+ qcom,model = "gvmauto-8155-snd-card";
+ asoc-codec = <&stub_codec>;
+ asoc-codec-names = "msm-stub-codec.1";
+ };
+};
diff --git a/qcom/scuba-qrd.dtsi b/qcom/scuba-qrd.dtsi
index a1621464..b06b5766 100755
--- a/qcom/scuba-qrd.dtsi
+++ b/qcom/scuba-qrd.dtsi
@@ -223,7 +223,74 @@
status = "ok";
};
+&tlmm {
+ key_vol_up {
+ key_vol_up_default: key_vol_up_default {
+ pins = "gpio96";
+ function = "normal";
+ input-enable;
+ bias-pull-up;
+ power-source = <0>;
+ };
+ };
+};
+
&soc {
+ gpio_keys {
+ compatible = "gpio-keys";
+ label = "gpio-keys";
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&key_vol_up_default>;
+
+ vol_up {
+ label = "volume_up";
+ gpios = <&tlmm 96 GPIO_ACTIVE_LOW>;
+ linux,input-type = <1>;
+ linux,code = <KEY_VOLUMEUP>;
+ linux,can-disable;
+ debounce-interval = <15>;
+ gpio-key,wakeup;
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ wifi_led {
+ label = "wifi-led_yellow";
+ gpios = <&tlmm 47 GPIO_ACTIVE_HIGH>;
+ default-state = "off";
+ };
+
+ bt_led {
+ label = "bt-led_blue";
+ gpios = <&tlmm 45 GPIO_ACTIVE_HIGH>;
+ default-state = "off";
+ };
+
+ user_led0 {
+ label = "user-led0_green";
+ gpios = <&tlmm 52 GPIO_ACTIVE_HIGH>;
+ default-state = "off";
+ };
+ };
+
+ pm2250_rg_leds: qcom,rg_leds {
+ compatible = "pwm-leds";
+ user_led1 {
+ label = "user-led1_green";
+ pwms = <&pm2250_pwm1 0 1000000>;
+ max-brightness = <255>;
+ };
+
+ user_led2 {
+ label = "user-led2_green";
+ pwms = <&pm2250_pwm2 0 1000000>;
+ max-brightness = <255>;
+ };
+ };
+
clk40M: can_clock {
compatible = "fixed-clock";
#clock-cells = <0>;
diff --git a/qcom/scuba.dtsi b/qcom/scuba.dtsi
index 9356174d..98bedd53 100755
--- a/qcom/scuba.dtsi
+++ b/qcom/scuba.dtsi
@@ -624,7 +624,6 @@
no-sd;
no-sdio;
- max-frequency = <192000000>;
qcom,devfreq,freq-table = <50000000 200000000>;
qcom,scaling-lower-bus-speed-mode = "DDR52";
diff --git a/qcom/sdxpoorwills-regulator.dtsi b/qcom/sdxpoorwills-regulator.dtsi
new file mode 100755
index 00000000..fcb2fbd0
--- /dev/null
+++ b/qcom/sdxpoorwills-regulator.dtsi
@@ -0,0 +1,390 @@
+#include <dt-bindings/regulator/qcom,rpmh-regulator-levels.h>
+#include <dt-bindings/gpio/gpio.h>
+
+&apps_rsc {
+ /* RPMh regulators */
+
+ /* pmxpoorwills S1 - VDD_MODEM supply */
+ rpmh-regulator-modemlvl {
+ compatible = "qcom,rpmh-arc-regulator";
+ qcom,resource-name = "mss.lvl";
+ VDD_MODEM_LEVEL:
+ S1A_LEVEL: pmxpoorwills_s1_level: regulator-pmxpoorwills-s1 {
+ regulator-name = "pmxpoorwills_s1_level";
+ qcom,set = <RPMH_REGULATOR_SET_ALL>;
+ regulator-min-microvolt =
+ <RPMH_REGULATOR_LEVEL_RETENTION>;
+ regulator-max-microvolt = <RPMH_REGULATOR_LEVEL_MAX>;
+ };
+ };
+
+ rpmh-regulator-smpa4 {
+ compatible = "qcom,rpmh-vrm-regulator";
+ qcom,resource-name = "smpa4";
+ S4A: pmxpoorwills_s4: regulator-pmxpoorwills-s4 {
+ regulator-name = "pmxpoorwills_s4";
+ qcom,set = <RPMH_REGULATOR_SET_ALL>;
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ qcom,init-voltage = <1800000>;
+ };
+ };
+
+ /* pmxpoorwills S5 - VDD_CX supply */
+ rpmh-regulator-cxlvl {
+ compatible = "qcom,rpmh-arc-regulator";
+ qcom,resource-name = "cx.lvl";
+ VDD_CX_LEVEL: S5A_LEVEL:
+ pmxpoorwills_s5_level: regulator-pmxpoorwills-s5-level {
+ regulator-name = "pmxpoorwills_s5_level";
+ qcom,set = <RPMH_REGULATOR_SET_ALL>;
+ pmxpoorwills_s5_level-parent-supply = <&pmxpoorwills_l9_level>;
+ regulator-min-microvolt =
+ <RPMH_REGULATOR_LEVEL_LOW_SVS>;
+ regulator-max-microvolt = <RPMH_REGULATOR_LEVEL_MAX>;
+ qcom,min-dropout-voltage-level = <(-1)>;
+ };
+
+ VDD_CX_LEVEL_AO: S5A_LEVEL_AO:
+ pmxpoorwills_s5_level_ao: regulator-pmxpoorwills-s5-level-ao {
+ regulator-name = "pmxpoorwills_s5_level_ao";
+ qcom,set = <RPMH_REGULATOR_SET_ACTIVE>;
+ pmxpoorwills_s5_level_ao-parent-supply =
+ <&pmxpoorwills_l9_level_ao>;
+ regulator-min-microvolt =
+ <RPMH_REGULATOR_LEVEL_LOW_SVS>;
+ regulator-max-microvolt = <RPMH_REGULATOR_LEVEL_MAX>;
+ qcom,min-dropout-voltage-level = <(-1)>;
+ };
+
+ cx_cdev: regulator-cdev {
+ compatible = "qcom,rpmh-reg-cdev";
+ mboxes = <&qmp_aop 0>;
+ qcom,reg-resource-name = "cx";
+ #cooling-cells = <2>;
+ };
+ };
+
+ rpmh-regulator-ldoa1 {
+ compatible = "qcom,rpmh-vrm-regulator";
+ qcom,resource-name = "ldoa1";
+ qcom,regulator-type = "pmic5-ldo";
+ qcom,supported-modes =
+ <RPMH_REGULATOR_MODE_LPM
+ RPMH_REGULATOR_MODE_HPM>;
+ qcom,mode-threshold-currents = <0 1>;
+ L1A: pmxpoorwills_l1: regulator-pmxpoorwills-11 {
+ regulator-name = "pmxpoorwills_l1";
+ qcom,set = <RPMH_REGULATOR_SET_ALL>;
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ qcom,init-voltage = <1200000>;
+ qcom,init-mode = <RPMH_REGULATOR_MODE_LPM>;
+ };
+ };
+
+ rpmh-regulator-ldoa2 {
+ compatible = "qcom,rpmh-vrm-regulator";
+ qcom,resource-name = "ldoa2";
+ qcom,regulator-type = "pmic5-ldo";
+ qcom,supported-modes =
+ <RPMH_REGULATOR_MODE_LPM
+ RPMH_REGULATOR_MODE_HPM>;
+ qcom,mode-threshold-currents = <0 1>;
+ L2A: pmxpoorwills_l2: regulator-pmxpoorwills-12 {
+ regulator-name = "pmxpoorwills_l2";
+ qcom,set = <RPMH_REGULATOR_SET_ALL>;
+ regulator-min-microvolt = <1128000>;
+ regulator-max-microvolt = <1128000>;
+ qcom,init-voltage = <1128000>;
+ qcom,init-mode = <RPMH_REGULATOR_MODE_LPM>;
+ };
+ };
+
+ rpmh-regulator-ldoa3 {
+ compatible = "qcom,rpmh-vrm-regulator";
+ qcom,resource-name = "ldoa3";
+ qcom,regulator-type = "pmic5-ldo";
+ qcom,supported-modes =
+ <RPMH_REGULATOR_MODE_LPM
+ RPMH_REGULATOR_MODE_HPM>;
+ qcom,mode-threshold-currents = <0 1>;
+ L3A: pmxpoorwills_l3: regulator-pmxpoorwills-l3 {
+ regulator-name = "pmxpoorwills_l3";
+ qcom,set = <RPMH_REGULATOR_SET_ALL>;
+ regulator-min-microvolt = <800000>;
+ regulator-max-microvolt = <800000>;
+ qcom,init-voltage = <800000>;
+ qcom,init-mode = <RPMH_REGULATOR_MODE_LPM>;
+ };
+ };
+
+ rpmh-regulator-ldoa4 {
+ compatible = "qcom,rpmh-vrm-regulator";
+ qcom,resource-name = "ldoa4";
+ qcom,regulator-type = "pmic5-ldo";
+ qcom,supported-modes =
+ <RPMH_REGULATOR_MODE_LPM
+ RPMH_REGULATOR_MODE_HPM>;
+ qcom,mode-threshold-currents = <0 1>;
+ L4A: pmxpoorwills_l4: regulator-pmxpoorwills-l4 {
+ regulator-name = "pmxpoorwills_l4";
+ qcom,set = <RPMH_REGULATOR_SET_ALL>;
+ regulator-min-microvolt = <872000>;
+ regulator-max-microvolt = <872000>;
+ qcom,init-voltage = <872000>;
+ qcom,init-mode = <RPMH_REGULATOR_MODE_LPM>;
+ };
+ };
+
+ rpmh-regulator-ldoa5 {
+ compatible = "qcom,rpmh-vrm-regulator";
+ qcom,resource-name = "ldoa5";
+ qcom,regulator-type = "pmic5-ldo";
+ qcom,supported-modes =
+ <RPMH_REGULATOR_MODE_LPM
+ RPMH_REGULATOR_MODE_HPM>;
+ qcom,mode-threshold-currents = <0 1>;
+ L5A: pmxpoorwills_l5: regulator-pmxpoorwills-l5 {
+ regulator-name = "pmxpoorwills_l5";
+ qcom,set = <RPMH_REGULATOR_SET_ALL>;
+ regulator-min-microvolt = <1704000>;
+ regulator-max-microvolt = <1704000>;
+ qcom,init-voltage = <1704000>;
+ qcom,init-mode = <RPMH_REGULATOR_MODE_LPM>;
+ };
+ };
+
+ rpmh-regulator-ldoa7 {
+ compatible = "qcom,rpmh-vrm-regulator";
+ qcom,resource-name = "ldoa7";
+ qcom,regulator-type = "pmic5-ldo";
+ qcom,supported-modes =
+ <RPMH_REGULATOR_MODE_LPM
+ RPMH_REGULATOR_MODE_HPM>;
+ qcom,mode-threshold-currents = <0 1>;
+ L7A: pmxpoorwills_l7: regulator-pmxpoorwills-l7 {
+ regulator-name = "pmxpoorwills_l7";
+ qcom,set = <RPMH_REGULATOR_SET_ALL>;
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <2952000>;
+ qcom,init-voltage = <1800000>;
+ qcom,init-mode = <RPMH_REGULATOR_MODE_LPM>;
+ };
+ };
+
+ rpmh-regulator-ldoa8 {
+ compatible = "qcom,rpmh-vrm-regulator";
+ qcom,resource-name = "ldoa8";
+ qcom,regulator-type = "pmic5-ldo";
+ qcom,supported-modes =
+ <RPMH_REGULATOR_MODE_LPM
+ RPMH_REGULATOR_MODE_HPM>;
+ qcom,mode-threshold-currents = <0 1>;
+ L8A: pmxpoorwills_l8: regulator-pmxpoorwills-l8 {
+ regulator-name = "pmxpoorwills_l8";
+ qcom,set = <RPMH_REGULATOR_SET_ALL>;
+ regulator-min-microvolt = <480000>;
+ regulator-max-microvolt = <900000>;
+ qcom,init-voltage = <480000>;
+ qcom,init-mode = <RPMH_REGULATOR_MODE_LPM>;
+ };
+ };
+
+ /* pmxpoorwills L9 - VDD_MX supply */
+ rpmh-regulator-mxlvl {
+ compatible = "qcom,rpmh-arc-regulator";
+ qcom,resource-name = "mx.lvl";
+ VDD_MX_LEVEL: L9A_LEVEL:
+ pmxpoorwills_l9_level: regulator-pmxpoorwills-l9-level {
+ regulator-name = "pmxpoorwills_l9_level";
+ qcom,set = <RPMH_REGULATOR_SET_ALL>;
+ regulator-min-microvolt = <RPMH_REGULATOR_LEVEL_RETENTION>;
+ regulator-max-microvolt = <RPMH_REGULATOR_LEVEL_MAX>;
+ };
+
+ VDD_MX_LEVEL_AO: L9A_LEVEL_AO:
+ pmxpoorwills_l9_level_ao: regulator-pmxpoorwills-l9-level-ao {
+ regulator-name = "pmxpoorwills_l9_level_ao";
+ qcom,set = <RPMH_REGULATOR_SET_ACTIVE>;
+ regulator-min-microvolt = <RPMH_REGULATOR_LEVEL_RETENTION>;
+ regulator-max-microvolt = <RPMH_REGULATOR_LEVEL_MAX>;
+ };
+
+ mx_cdev: mx-cdev-lvl {
+ compatible = "qcom,regulator-cooling-device";
+ regulator-cdev-supply = <&VDD_MX_LEVEL>;
+ regulator-levels =
+ <RPMH_REGULATOR_LEVEL_RETENTION
+ RPMH_REGULATOR_LEVEL_NOM>;
+ #cooling-cells = <2>;
+ };
+ };
+
+ rpmh-regulator-ldoa10 {
+ compatible = "qcom,rpmh-vrm-regulator";
+ qcom,resource-name = "ldoa10";
+ qcom,regulator-type = "pmic5-ldo";
+ qcom,supported-modes =
+ <RPMH_REGULATOR_MODE_LPM
+ RPMH_REGULATOR_MODE_HPM>;
+ qcom,mode-threshold-currents = <0 1>;
+ L10A: pmxpoorwills_l10: regulator-pmxpoorwills-l10 {
+ regulator-name = "pmxpoorwills_l10";
+ qcom,set = <RPMH_REGULATOR_SET_ALL>;
+ regulator-min-microvolt = <3088000>;
+ regulator-max-microvolt = <3088000>;
+ qcom,init-voltage = <3088000>;
+ qcom,init-mode = <RPMH_REGULATOR_MODE_LPM>;
+ };
+ };
+
+ rpmh-regulator-ldoa11 {
+ compatible = "qcom,rpmh-vrm-regulator";
+ qcom,resource-name = "ldoa11";
+ qcom,regulator-type = "pmic5-ldo";
+ qcom,supported-modes =
+ <RPMH_REGULATOR_MODE_LPM
+ RPMH_REGULATOR_MODE_HPM>;
+ qcom,mode-threshold-currents = <0 1>;
+ L11A: pmxpoorwills_l11: regulator-pmxpoorwills-l11 {
+ regulator-name = "pmxpoorwills_l11";
+ qcom,set = <RPMH_REGULATOR_SET_ALL>;
+ regulator-min-microvolt = <1704000>;
+ regulator-max-microvolt = <3000000>;
+ qcom,init-voltage = <1704000>;
+ qcom,init-mode = <RPMH_REGULATOR_MODE_LPM>;
+ };
+ };
+
+ rpmh-regulator-ldoa12 {
+ compatible = "qcom,rpmh-vrm-regulator";
+ qcom,resource-name = "ldoa12";
+ qcom,regulator-type = "pmic5-ldo";
+ qcom,supported-modes =
+ <RPMH_REGULATOR_MODE_LPM
+ RPMH_REGULATOR_MODE_HPM>;
+ qcom,mode-threshold-currents = <0 1>;
+ L12A: pmxpoorwills_l12: regulator-pmxpoorwills-l12 {
+ regulator-name = "pmxpoorwills_l12";
+ qcom,set = <RPMH_REGULATOR_SET_ALL>;
+ regulator-min-microvolt = <2704000>;
+ regulator-max-microvolt = <2704000>;
+ qcom,init-voltage = <2704000>;
+ qcom,init-mode = <RPMH_REGULATOR_MODE_LPM>;
+ };
+ };
+
+ rpmh-regulator-ldoa13 {
+ compatible = "qcom,rpmh-vrm-regulator";
+ qcom,resource-name = "ldoa13";
+ qcom,regulator-type = "pmic5-ldo";
+ qcom,supported-modes =
+ <RPMH_REGULATOR_MODE_LPM
+ RPMH_REGULATOR_MODE_HPM>;
+ qcom,mode-threshold-currents = <0 1>;
+ L13A: pmxpoorwills_l13: regulator-pmxpoorwills-l13 {
+ regulator-name = "pmxpoorwills_l13";
+ qcom,set = <RPMH_REGULATOR_SET_ALL>;
+ regulator-min-microvolt = <1704000>;
+ regulator-max-microvolt = <3000000>;
+ qcom,init-voltage = <1704000>;
+ qcom,init-mode = <RPMH_REGULATOR_MODE_LPM>;
+ };
+ };
+
+ rpmh-regulator-ldoa14 {
+ compatible = "qcom,rpmh-vrm-regulator";
+ qcom,resource-name = "ldoa14";
+ qcom,regulator-type = "pmic5-ldo";
+ qcom,supported-modes =
+ <RPMH_REGULATOR_MODE_LPM
+ RPMH_REGULATOR_MODE_HPM>;
+ qcom,mode-threshold-currents = <0 1>;
+ L14A: pmxpoorwills_l14: regulator-pmxpoorwills-l14 {
+ regulator-name = "pmxpoorwills_l14";
+ qcom,set = <RPMH_REGULATOR_SET_ALL>;
+ regulator-min-microvolt = <600000>;
+ regulator-max-microvolt = <800000>;
+ qcom,init-voltage = <600000>;
+ qcom,init-mode = <RPMH_REGULATOR_MODE_LPM>;
+ };
+ };
+
+ rpmh-regulator-ldoa16 {
+ compatible = "qcom,rpmh-vrm-regulator";
+ qcom,resource-name = "ldoa16";
+ qcom,regulator-type = "pmic5-ldo";
+ qcom,supported-modes =
+ <RPMH_REGULATOR_MODE_LPM
+ RPMH_REGULATOR_MODE_HPM>;
+ qcom,mode-threshold-currents = <0 1>;
+ L16A: pmxpoorwills_l16: regulator-pmxpoorwills-l16 {
+ regulator-name = "pmxpoorwills_l16";
+ qcom,set = <RPMH_REGULATOR_SET_ALL>;
+ regulator-min-microvolt = <304000>;
+ regulator-max-microvolt = <880000>;
+ qcom,init-voltage = <304000>;
+ qcom,init-mode = <RPMH_REGULATOR_MODE_LPM>;
+ };
+ };
+
+ /* VREF_RGMII */
+ rpmh-regulator-rgmii {
+ compatible = "qcom,rpmh-xob-regulator";
+ qcom,resource-name = "vrefa2";
+ vreg_rgmii: regulator-rgmii {
+ regulator-name = "vreg_rgmii";
+ qcom,set = <RPMH_REGULATOR_SET_ALL>;
+ };
+ };
+
+ /* Stub regulators */
+
+ /*
+ * RPMh does not provide support for pmxpoorwills L6 because it is
+ * always on at 1.8 V. Therefore, use a fixed regulator for L6.
+ */
+ L6A: pmxpoorwills_l6: regulator-pmxpoorwills-l6 {
+ compatible = "regulator-fixed";
+ regulator-name = "pmxpoorwills_l6";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-always-on;
+ };
+
+ vreg_sd_mmc: vreg_sd_mmc {
+ compatible = "regulator-fixed";
+ regulator-name = "vreg_sd_mmc";
+ startup-delay-us = <4000>;
+ enable-active-high;
+ gpio = <&tlmm 92 GPIO_ACTIVE_HIGH>;
+ };
+
+ vreg_emac_phy: emac_phy_regulator {
+ compatible = "regulator-fixed";
+ regulator-name = "emac_phy";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-enable-ramp-delay = <100>;
+ gpio = <&tlmm 83 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+
+ vreg_rgmii_io_pads: rgmii_io_pads_regulator {
+ compatible = "regulator-fixed";
+ regulator-name = "rgmii_io_pads";
+ regulator-min-microvolt = <2500000>;
+ regulator-max-microvolt = <2500000>;
+ regulator-enable-ramp-delay = <100>;
+ gpio = <&tlmm 96 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+
+ vreg_wlan: vreg_wlan {
+ compatible = "regulator-fixed";
+ regulator-name = "vreg_wlan";
+ startup-delay-us = <4000>;
+ enable-active-high;
+ };
+};
diff --git a/qcom/sdxpoorwills-thermal.dtsi b/qcom/sdxpoorwills-thermal.dtsi
new file mode 100755
index 00000000..d6b0e3a7
--- /dev/null
+++ b/qcom/sdxpoorwills-thermal.dtsi
@@ -0,0 +1,176 @@
+#include <dt-bindings/thermal/thermal.h>
+#include <dt-bindings/thermal/thermal_qti.h>
+
+&soc {
+ tsens0: tsens@c222000 {
+ compatible = "qcom,tsens24xx";
+ reg = <0xc222000 0x4>,
+ <0xc263000 0x1ff>;
+ reg-names = "tsens_srot_physical",
+ "tsens_tm_physical";
+ interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "tsens-upper-lower", "tsens-critical";
+ #thermal-sensor-cells = <1>;
+ };
+
+ qmi-tmd-devices {
+ compatible = "qcom,qmi-cooling-devices";
+
+ modem {
+ qcom,instance-id = <QMI_MODEM_INST_ID>;
+
+ modem_pa: modem_pa {
+ qcom,qmi-dev-name = "pa";
+ #cooling-cells = <2>;
+ };
+
+ modem_proc: modem_proc {
+ 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_vdd: modem_vdd {
+ qcom,qmi-dev-name = "cpuv_restriction_cold";
+ #cooling-cells = <2>;
+ };
+ };
+
+ adsp {
+ qcom,instance-id = <QMI_ADSP_INST_ID>;
+
+ adsp_vdd: adsp_vdd {
+ qcom,qmi-dev-name = "cpuv_restriction_cold";
+ #cooling-cells = <2>;
+ };
+ };
+ };
+};
+
+&thermal_zones {
+ aoss-usr {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-governor = "user_space";
+ thermal-sensors = <&tsens0 0>;
+ trips {
+ active-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ mdm-q6-usr {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-governor = "user_space";
+ thermal-sensors = <&tsens0 1>;
+ trips {
+ active-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ ddrss-usr {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-governor = "user_space";
+ thermal-sensors = <&tsens0 2>;
+ trips {
+ active-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ cpu-usr {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-governor = "user_space";
+ thermal-sensors = <&tsens0 3>;
+ trips {
+ active-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ mdm-core-usr {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-governor = "user_space";
+ thermal-sensors = <&tsens0 4>;
+ trips {
+ active-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ mdm-vpe-usr {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-governor = "user_space";
+ thermal-sensors = <&tsens0 5>;
+ trips {
+ active-config0 {
+ temperature = <125000>;
+ hysteresis = <1000>;
+ type = "passive";
+ };
+ };
+ };
+
+ mdm-core-step {
+ polling-delay-passive = <0>;
+ polling-delay = <0>;
+ thermal-governor = "step_wise";
+ thermal-sensors = <&tsens0 4>;
+ trips {
+ mdm_step_trip0: mdm-step-trip-0 {
+ temperature = <95000>;
+ hysteresis = <5000>;
+ type = "passive";
+ };
+
+ mdm_step_trip1: mdm-step-trip-1 {
+ temperature = <105000>;
+ hysteresis = <5000>;
+ type = "passive";
+ };
+ };
+
+ cooling-maps {
+ modem_proc-lv11 {
+ trip = <&mdm_step_trip0>;
+ cooling-device = <&modem_proc 1 1>;
+ };
+
+ modem_proc_lvl3 {
+ trip = <&mdm_step_trip1>;
+ cooling-device = <&modem_proc 3 3>;
+ };
+ };
+ };
+};
diff --git a/qcom/slate.dtsi b/qcom/slate.dtsi
index 212b1a78..42cc37c8 100755
--- a/qcom/slate.dtsi
+++ b/qcom/slate.dtsi
@@ -214,6 +214,16 @@
qcom,intents = <0xF2F8 1>;
};
+ qcom,glin-dcf-bt-ctrl {
+ qcom,glink-channels = "dcf_bt_ctrl";
+ qcom,intents = <0x50 1>;
+ };
+
+ qcom,glink-dcf-bt-data {
+ qcom,glink-channels = "dcf_bt_data";
+ qcom,intents = <0x100 1>;
+ };
+
audio_ipc: qcom,audio_cc_ipc {
compatible = "qcom,audio_cc_ipc";
qcom,glink-channels = "gpr_cc_apps";
diff --git a/qcom/sm6150.dtsi b/qcom/sm6150.dtsi
index 30852c60..cb3d6e46 100755
--- a/qcom/sm6150.dtsi
+++ b/qcom/sm6150.dtsi
@@ -1674,7 +1674,6 @@
resets = <&gcc GCC_UFS_PHY_BCR>;
reset-names = "rst";
- non-removable;
status = "disabled";
qos0 {