diff options
author | QC Publisher <qcpublisher@qti.qualcomm.com> | 2022-07-22 12:34:36 -0700 |
---|---|---|
committer | Andrei Ciubotariu <aciubotariu@google.com> | 2022-10-05 00:30:28 +0000 |
commit | ba46ea70ba5b95ea34026bf2e536e2c6ffac3509 (patch) | |
tree | 1f7c35f1fb3e37ccaf132710c88374d241a70962 | |
parent | 6ff51b23d14be1560c18c9cbc756b6b58da83ee6 (diff) | |
download | devicetree-ba46ea70ba5b95ea34026bf2e536e2c6ffac3509.tar.gz |
Commit label r00009.1a - Pre-ES 0.0.009.1a
TRACKING-ID:aefb37b4-bce0-424b-9769-2d0c95fa087e
81 files changed, 3075 insertions, 120 deletions
diff --git a/bindings/arm/msm/msm.txt b/bindings/arm/msm/msm.txt index 38aa8617..2f33b86d 100755 --- a/bindings/arm/msm/msm.txt +++ b/bindings/arm/msm/msm.txt @@ -297,6 +297,7 @@ compatible = "qcom,sa2150p-ccard" compatible = "qcom,qcs403-iot" compatible = "qcom,sa8150-adp-star" compatible = "qcom,adp-star" +compatible = "qcom,qam-star" compatible = "qcom,sdxprairie-rumi" compatible = "qcom,sdxprairie-mtp" compatible = "qcom,sdxprairie-cdp" @@ -337,9 +338,11 @@ compatible = "qcom,direwolf-adas-adp-ride" compatible = "qcom,lemans-rumi" compatible = "qcom,lemans-ivi" compatible = "qcom,lemans-ivi-adp-star" +compatible = "qcom,lemans-ivi-qam-star" compatible = "qcom,lemans-ivi-adp-air" compatible = "qcom,lemans-adas-high" compatible = "qcom,lemans-adas-high-adp-star" +compatible = "qcom,lemans-adas-high-qam-star" compatible = "qcom,lemans-adas-high-adp-air" compatible = "qcom,quinvm" compatible = "qcom,sa410m-idp" diff --git a/bindings/clock/qcom,debugcc.txt b/bindings/clock/qcom,debugcc.txt index 2fa5be09..0e89973e 100755 --- a/bindings/clock/qcom,debugcc.txt +++ b/bindings/clock/qcom,debugcc.txt @@ -21,6 +21,7 @@ Required properties : "qcom,bengal-debugcc" "qcom,lemans-debugcc" "qcom,sdx55-debugcc" + "qcom,kona-debugcc" - qcom,gcc: phandle to the GCC device node. - qcom,videocc: phandle to the Video CC device node. diff --git a/bindings/sound/tlv320aic3x.txt b/bindings/sound/tlv320aic3x.txt index 9796c463..58a20dda 100755 --- a/bindings/sound/tlv320aic3x.txt +++ b/bindings/sound/tlv320aic3x.txt @@ -18,6 +18,7 @@ Required properties: Optional properties: - reset-gpios - GPIO specification for the active low RESET input. +- reset-inverted - set the reset gpio mode as active high - ai3x-gpio-func - <array of 2 int> - AIC3X_GPIO1 & AIC3X_GPIO2 Functionality - Not supported on tlv320aic3104 - ai3x-micbias-vg - MicBias Voltage required. diff --git a/qcom/Makefile b/qcom/Makefile index 1ef071ea..5b328cad 100755 --- a/qcom/Makefile +++ b/qcom/Makefile @@ -282,11 +282,11 @@ dtbo-$(CONFIG_ARCH_MONACO) += \ monaco-wdp-v1.1-overlay.dtbo monaco-rumi-overlay.dtbo-base := monaco.dtb -monaco-standalone-idp-v1-overlay.dtbo-base := monaco-standalone.dtb monacop-standalone.dtb -monaco-standalone-idp-v2-overlay.dtbo-base := monaco-standalone.dtb monacop-standalone.dtb -monaco-standalone-idp-v3-overlay.dtbo-base := monaco-standalone.dtb monacop-standalone.dtb -monacop-standalone-idp-v1-overlay.dtbo-base := monaco-standalone.dtb -monaco-standalone-atp-v1-overlay.dtbo-base := monaco-standalone.dtb monacop-standalone.dtb +monaco-standalone-idp-v1-overlay.dtbo-base := monaco-standalone.dtb monacop-standalone.dtb monaco-standalone-1gb.dtb monacop-standalone-1gb.dtb +monaco-standalone-idp-v2-overlay.dtbo-base := monaco-standalone.dtb monacop-standalone.dtb monaco-standalone-1gb.dtb monacop-standalone-1gb.dtb +monaco-standalone-idp-v3-overlay.dtbo-base := monaco-standalone.dtb monacop-standalone.dtb monaco-standalone-1gb.dtb monacop-standalone-1gb.dtb +monacop-standalone-idp-v1-overlay.dtbo-base := monaco-standalone-1gb.dtb monaco.dtb +monaco-standalone-atp-v1-overlay.dtbo-base := monaco-standalone.dtb monacop-standalone.dtb monaco-standalone-1gb.dtb monacop-standalone-1gb.dtb monaco-idp-v1-overlay.dtbo-base := monaco.dtb monacop.dtb monaco-idp-v2-overlay.dtbo-base := monaco.dtb monacop.dtb monaco-idp-v3-overlay.dtbo-base := monaco.dtb monacop.dtb @@ -294,7 +294,7 @@ monaco-idp-v1.1-overlay.dtbo-base := monaco.dtb monacop.dtb monaco-idp-v2.1-overlay.dtbo-base := monaco.dtb monaco-idp-v3.1-overlay.dtbo-base := monaco.dtb monaco-atp-v1-overlay.dtbo-base := monaco.dtb monacop.dtb -monaco-standalone-wdp-v1-overlay.dtbo-base := monaco-standalone.dtb monacop-standalone.dtb +monaco-standalone-wdp-v1-overlay.dtbo-base := monaco-standalone.dtb monacop-standalone.dtb monaco-standalone-1gb.dtb monacop-standalone-1gb.dtb monaco-wdp-v1-overlay.dtbo-base := monaco.dtb monacop.dtb monaco-wdp-v1.1-overlay.dtbo-base := monaco.dtb monacop.dtb @@ -584,7 +584,8 @@ ifeq ($(CONFIG_BUILD_ARM64_DT_OVERLAY),y) direwolf-vm-la-overlay.dtbo \ direwolf-vm-la1-mt-overlay.dtbo \ direwolf-vm-lv-mt-overlay.dtbo \ - direwolf-vm-lv-overlay.dtbo + direwolf-vm-lv-overlay.dtbo \ + lemans-vm-lv-overlay.dtbo sa8155-vm-la-overlay.dtbo-base := sa8155-vm-la.dtb sa8155-vm-lv-overlay.dtbo-base := sa8155-vm-lv.dtb @@ -601,6 +602,7 @@ direwolf-vm-la-overlay.dtbo-base := direwolf-vm-la.dtb direwolf-vm-la1-mt-overlay.dtbo-base := direwolf-vm-la1-mt.dtb direwolf-vm-lv-mt-overlay.dtbo-base := direwolf-vm-lv-mt.dtb direwolf-vm-lv-overlay.dtbo-base := direwolf-vm-lv.dtb +lemans-vm-lv-overlay.dtbo-base := lemans-vm-lv.dtb else dtb-$(CONFIG_QTI_QUIN_GVM) += sa8155-vm-la.dtb \ sa8155-vm-lv.dtb \ @@ -617,7 +619,8 @@ dtb-$(CONFIG_QTI_QUIN_GVM) += sa8155-vm-la.dtb \ direwolf-vm-la.dtb \ direwolf-vm-la-mt.dtb \ direwolf-vm-la1-mt.dtb \ - direwolf-vm-lv-mt.dtb + direwolf-vm-lv-mt.dtb \ + lemans-vm-lv.dtb endif ifeq ($(CONFIG_BUILD_ARM64_DT_OVERLAY),y) @@ -656,19 +659,25 @@ ifeq ($(CONFIG_BUILD_ARM64_DT_OVERLAY),y) dtbo-$(CONFIG_ARCH_LEMANS) += lemans-rumi-overlay.dtbo \ lemans-adas-high-adp-air-overlay.dtbo \ lemans-adas-high-adp-star-overlay.dtbo \ + lemans-adas-high-qam-star-overlay.dtbo \ lemans-ivi-adp-air-overlay.dtbo \ + lemans-ivi-qam-star-overlay.dtbo \ lemans-ivi-adp-star-overlay.dtbo lemans-rumi-overlay.dtbo-base := lemans-adas-high.dtb lemans-adas-high-adp-air-overlay.dtbo-base := lemans-adas-high.dtb lemans-adas-high-adp-star-overlay.dtbo-base := lemans-adas-high.dtb +lemans-adas-high-qam-star-overlay.dtbo-base := lemans-adas-high.dtb lemans-ivi-adp-air-overlay.dtbo-base := lemans-ivi.dtb lemans-ivi-adp-star-overlay.dtbo-base := lemans-ivi.dtb +lemans-ivi-qam-star-overlay.dtbo-base := lemans-ivi.dtb else dtb-$(CONFIG_ARCH_LEMANS) += lemans-rumi.dtb \ lemans-adas-high-adp-air.dtb \ lemans-adas-high-adp-star.dtb \ + lemans-adas-high-qam-star.dtb \ lemans-ivi-adp-air.dtb \ + lemans-ivi-qam-star.dtb \ lemans-ivi-adp-star.dtb endif diff --git a/qcom/blair-atp-overlay.dts b/qcom/blair-atp-overlay.dts index c96b78ec..855b8a3c 100755 --- a/qcom/blair-atp-overlay.dts +++ b/qcom/blair-atp-overlay.dts @@ -6,6 +6,6 @@ / { model = "Qualcomm Technologies, Inc. Blair ATP"; compatible = "qcom,blair-atp", "qcom,blair", "qcom,atp"; - qcom,msm-id = <507 0x10000>; + qcom,msm-id = <507 0x10000>, <578 0x10000>; qcom,board-id = <33 0>; }; diff --git a/qcom/blair-cdp-overlay.dts b/qcom/blair-cdp-overlay.dts index e4b36a58..4b19f257 100755 --- a/qcom/blair-cdp-overlay.dts +++ b/qcom/blair-cdp-overlay.dts @@ -6,6 +6,6 @@ / { model = "Qualcomm Technologies, Inc. Blair CDP"; compatible = "qcom,blair-cdp", "qcom,blair", "qcom,cdp"; - qcom,msm-id = <507 0x10000>; + qcom,msm-id = <507 0x10000>, <578 0x10000>; qcom,board-id = <1 0>; }; diff --git a/qcom/blair-mtp-nopmi-overlay.dts b/qcom/blair-mtp-nopmi-overlay.dts index 45f5b62a..0f587480 100755 --- a/qcom/blair-mtp-nopmi-overlay.dts +++ b/qcom/blair-mtp-nopmi-overlay.dts @@ -6,7 +6,7 @@ / { model = "Qualcomm Technologies, Inc. Blair MTP NOPMI"; compatible = "qcom,blair-mtp", "qcom,blair", "qcom,mtp"; - qcom,msm-id = <507 0x10000>; + qcom,msm-id = <507 0x10000>, <578 0x10000>; qcom,board-id = <8 0>; }; diff --git a/qcom/blair-mtp-overlay.dts b/qcom/blair-mtp-overlay.dts index 7f146408..b611eddd 100755 --- a/qcom/blair-mtp-overlay.dts +++ b/qcom/blair-mtp-overlay.dts @@ -6,7 +6,7 @@ / { model = "Qualcomm Technologies, Inc. Blair MTP"; compatible = "qcom,blair-mtp", "qcom,blair", "qcom,mtp"; - qcom,msm-id = <507 0x10000>; + qcom,msm-id = <507 0x10000>, <578 0x10000>; qcom,board-id = <8 0>; }; diff --git a/qcom/blair-mtp-usbc-overlay.dts b/qcom/blair-mtp-usbc-overlay.dts index f5161de1..18a665df 100755 --- a/qcom/blair-mtp-usbc-overlay.dts +++ b/qcom/blair-mtp-usbc-overlay.dts @@ -6,7 +6,7 @@ / { model = "Qualcomm Technologies, Inc. Blair MTP USBC audio"; compatible = "qcom,blair-mtp", "qcom,blair", "qcom,mtp"; - qcom,msm-id = <507 0x10000>; + qcom,msm-id = <507 0x10000>, <578 0x10000>; qcom,board-id = <8 1>; }; diff --git a/qcom/blair-qrd-nopmi-overlay.dts b/qcom/blair-qrd-nopmi-overlay.dts index 744a11f3..ddfc3dd4 100755 --- a/qcom/blair-qrd-nopmi-overlay.dts +++ b/qcom/blair-qrd-nopmi-overlay.dts @@ -6,7 +6,7 @@ / { model = "Qualcomm Technologies, Inc. Blair QRD NOPMI"; compatible = "qcom,blair-qrd", "qcom,blair", "qcom,qrd"; - qcom,msm-id = <507 0x10000>; + qcom,msm-id = <507 0x10000>, <578 0x10000>; qcom,board-id = <0x1000B 0>; }; diff --git a/qcom/blair-qrd-overlay.dts b/qcom/blair-qrd-overlay.dts index 04955e48..d0f42211 100755 --- a/qcom/blair-qrd-overlay.dts +++ b/qcom/blair-qrd-overlay.dts @@ -6,7 +6,7 @@ / { model = "Qualcomm Technologies, Inc. Blair QRD"; compatible = "qcom,blair-qrd", "qcom,blair", "qcom,qrd"; - qcom,msm-id = <507 0x10000>; + qcom,msm-id = <507 0x10000>, <578 0x10000>; qcom,board-id = <0x1000B 0>; }; diff --git a/qcom/blair-rumi-overlay.dts b/qcom/blair-rumi-overlay.dts index 36113587..b1720bf4 100755 --- a/qcom/blair-rumi-overlay.dts +++ b/qcom/blair-rumi-overlay.dts @@ -6,6 +6,6 @@ / { model = "Qualcomm Technologies, Inc. Blair RUMI"; compatible = "qcom,blair-rumi", "qcom,blair", "qcom,rumi"; - qcom,msm-id = <507 0x10000>; + qcom,msm-id = <507 0x10000>, <578 0x10000>; qcom,board-id = <15 0>; }; diff --git a/qcom/blair.dtsi b/qcom/blair.dtsi index 4fe63f0d..7e6ec4e1 100755 --- a/qcom/blair.dtsi +++ b/qcom/blair.dtsi @@ -17,7 +17,7 @@ / { model = "Qualcomm Technologies, Inc. Blair "; compatible = "qcom,blair"; - qcom,msm-id = <507 0x10000>; + qcom,msm-id = <507 0x10000>, <578 0x10000>; interrupt-parent = <&intc>; #address-cells = <2>; @@ -3705,6 +3705,73 @@ qcom,bus-max-ddr7 = <4>; }; }; + + qcom,gpu-pwrlevels-3 { + #address-cells = <1>; + #size-cells = <0>; + qcom,speed-bin = <148>; + qcom,ca-target-pwrlevel = <3>; + qcom,initial-pwrlevel = <4>; + + + /* NOM_L1 */ + qcom,gpu-pwrlevel@0 { + reg = <0>; + qcom,gpu-freq = <700000000>; + qcom,level = <RPMH_REGULATOR_LEVEL_NOM_L1>; + + qcom,bus-freq-ddr7 = <9>; + qcom,bus-min-ddr7 = <5>; + qcom,bus-max-ddr7 = <9>; + + }; + + /* NOM */ + qcom,gpu-pwrlevel@1 { + reg = <1>; + qcom,gpu-freq = <650000000>; + qcom,level = <RPMH_REGULATOR_LEVEL_NOM>; + + qcom,bus-freq-ddr7 = <6>; + qcom,bus-min-ddr7 = <5>; + qcom,bus-max-ddr7 = <8>; + + }; + + /* SVS_L1 */ + qcom,gpu-pwrlevel@2 { + reg = <2>; + qcom,gpu-freq = <490000000>; + qcom,level = <RPMH_REGULATOR_LEVEL_SVS_L1>; + + qcom,bus-freq-ddr7 = <5>; + qcom,bus-min-ddr7 = <4>; + qcom,bus-max-ddr7 = <7>; + + }; + + /* SVS */ + qcom,gpu-pwrlevel@3 { + reg = <3>; + qcom,gpu-freq = <390000000>; + qcom,level = <RPMH_REGULATOR_LEVEL_SVS>; + + qcom,bus-freq-ddr7 = <4>; + qcom,bus-min-ddr7 = <2>; + qcom,bus-max-ddr7= <5>; + }; + + /* LOW SVS */ + qcom,gpu-pwrlevel@4 { + reg = <4>; + qcom,gpu-freq = <266000000>; + qcom,level = <RPMH_REGULATOR_LEVEL_LOW_SVS>; + + qcom,bus-freq-ddr7 = <2>; + qcom,bus-min-ddr7 = <1>; + qcom,bus-max-ddr7 = <4>; + }; + }; }; }; diff --git a/qcom/direwolf-cnss-dual.dtsi b/qcom/direwolf-cnss-dual.dtsi index 9ca45c52..70bd8964 100755 --- a/qcom/direwolf-cnss-dual.dtsi +++ b/qcom/direwolf-cnss-dual.dtsi @@ -328,6 +328,134 @@ }; }; }; + + chip_cfg@3 { + reg = <0xb0000000 0x10000>; + reg-names = "smmu_iova_ipa"; + + supported-ids = <0x1103>; + wlan_vregs = "vdd-wlan-vl", "vdd-wlan-vm", + "vdd-wlan-vh"; + qcom,vdd-wlan-vl-config = <1055000 1055000 0 0 0>; + qcom,vdd-wlan-vm-config = <0 0 0 0 0>; + qcom,vdd-wlan-vh-config = <0 0 0 0 0>; + + qcom,wlan-ramdump-dynamic = <0x420000>; + mhi,max-channels = <30>; + mhi,timeout = <10000>; + mhi,m2-no-db-access; + + 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; + }; + }; + }; }; cnss_pcie2: qcom,cnss-qca-converged2 { @@ -575,6 +703,134 @@ }; }; }; + + chip_cfg@3 { + reg = <0xb0000000 0x10000>; + reg-names = "smmu_iova_ipa"; + + supported-ids = <0x1103>; + wlan_vregs = "vdd-wlan-vl", "vdd-wlan-vm", + "vdd-wlan-vh"; + qcom,vdd-wlan-vl-config = <1055000 1055000 0 0 0>; + qcom,vdd-wlan-vm-config = <0 0 0 0 0>; + qcom,vdd-wlan-vh-config = <0 0 0 0 0>; + + qcom,wlan-ramdump-dynamic = <0x420000>; + mhi,max-channels = <30>; + mhi,timeout = <10000>; + mhi,m2-no-db-access; + + 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/direwolf-vm-lv-mt.dtsi b/qcom/direwolf-vm-lv-mt.dtsi index def95592..add1fe4e 100755 --- a/qcom/direwolf-vm-lv-mt.dtsi +++ b/qcom/direwolf-vm-lv-mt.dtsi @@ -26,3 +26,15 @@ &pcie2a_msi_snps { status = "okay"; }; + +&qupv3_0 { + status = "disabled"; +}; + +&qupv3_1 { + status = "disabled"; +}; + +&qupv3_2 { + status = "disabled"; +}; diff --git a/qcom/direwolf-vm.dtsi b/qcom/direwolf-vm.dtsi index 071ccdc8..cee848ed 100755 --- a/qcom/direwolf-vm.dtsi +++ b/qcom/direwolf-vm.dtsi @@ -1,4 +1,5 @@ #include <dt-bindings/clock/qcom,gcc-direwolf.h> +#include <dt-bindings/interconnect/qcom,direwolf.h> #include "quin-vm-common.dtsi" / { @@ -443,6 +444,78 @@ }; }; + 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>; + }; + + xm_usb3_1 { + node-name = "usb3_1"; + node-id = /bits/ 16 <MASTER_USB3_1>; + node-num-links = /bits/ 16 <1>; + node-links = /bits/ 16 <SLAVE_EBI1>; + }; + + xm_usb3_mp { + node-name = "usb3_mp"; + node-id = /bits/ 16 <MASTER_USB3_MP>; + node-num-links = /bits/ 16 <1>; + node-links = /bits/ 16 <SLAVE_EBI1>; + }; + + qhm_pcie_2a { + node-name = "pcie_2a"; + node-id = /bits/ 16 <MASTER_PCIE_2A>; + 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 <4>; + node-links = /bits/ 16 <SLAVE_USB3_0 SLAVE_USB3_1 SLAVE_USB3_MP SLAVE_UFS_MEM_CFG>; + }; + + qhs_usb3_0 { + node-name = "usb3_0"; + node-id = /bits/ 16 <SLAVE_USB3_0>; + node-num-links = /bits/ 16 <0>; + }; + + qhs_usb3_1 { + node-name = "usb3_1"; + node-id = /bits/ 16 <SLAVE_USB3_1>; + node-num-links = /bits/ 16 <0>; + }; + + qhs_usb3_mp { + node-name = "usb3_mp"; + node-id = /bits/ 16 <SLAVE_USB3_MP>; + node-num-links = /bits/ 16 <0>; + }; + + qhs_ufs_mem_cfg { + node-name = "ufs_mem_1_cfg"; + node-id = /bits/ 16 <SLAVE_UFS_MEM_CFG>; + node-num-links = /bits/ 16 <0>; + }; + }; + VDD_CX_LEVEL: S1A0_LEVEL: pm8540_a0_s1_level: regulator-pm8540_a0-s1-level { compatible = "qcom,stub-regulator"; diff --git a/qcom/kona-qrd.dtsi b/qcom/kona-qrd.dtsi index e595bfbb..c85ff465 100755 --- a/qcom/kona-qrd.dtsi +++ b/qcom/kona-qrd.dtsi @@ -3,6 +3,8 @@ #include "kona-thermal-overlay.dtsi" #include "kona-audio-overlay.dtsi" #include <dt-bindings/iio/qti_power_supply_iio.h> +#include "display/kona-sde.dtsi" +#include "display/kona-sde-display.dtsi" &vendor { kona_qrd_batterydata: qcom,battery-data { diff --git a/qcom/kona-v2.1-iot-rb5.dtsi b/qcom/kona-v2.1-iot-rb5.dtsi index 9b02566a..93b9e4bc 100755 --- a/qcom/kona-v2.1-iot-rb5.dtsi +++ b/qcom/kona-v2.1-iot-rb5.dtsi @@ -1,5 +1,6 @@ #include "kona-qrd.dtsi" #include "kona-iot-rb5-audio.dtsi" +#include "camera/kona-camera-sensor-rb5.dtsi" &qupv3_se12_2uart { status = "okay"; @@ -246,7 +247,7 @@ reg = <0x45>; rst-gpios = <&tlmm 140 GPIO_ACTIVE_HIGH>; rtc_rst-gpios = <&tlmm 0 GPIO_ACTIVE_HIGH>; - //prg-gpios = <3 4 5>; + prg-gpios = <3 4 5>; int-gpios = <&tlmm 122 GPIO_ACTIVE_HIGH>, <&tlmm 123 GPIO_ACTIVE_HIGH>, <&tlmm 66 GPIO_ACTIVE_HIGH>; @@ -267,7 +268,7 @@ reg = <0x45>; rst-gpios = <&tlmm 140 GPIO_ACTIVE_HIGH>; rtc_rst-gpios = <&tlmm 0 GPIO_ACTIVE_HIGH>; - //prg-gpios = <0 1 2>; + prg-gpios = <0 1 2>; int-gpios = <&tlmm 129 GPIO_ACTIVE_HIGH>, <&tlmm 141 GPIO_ACTIVE_HIGH>, <&tlmm 113 GPIO_ACTIVE_HIGH>; @@ -285,3 +286,87 @@ status = "okay"; }; }; + +&sde_dsi { + qcom,dsi-default-panel = <&dsi_ext_bridge_1080p>; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + ext_dsi_out: endpoint { + remote-endpoint = <<9611_in>; + }; + }; + }; +}; + +&mdss_mdp { + connectors = <&smmu_sde_unsec &sde_wb &sde_dsi &sde_dsi1 &sde_rscc>; +}; + +&qupv3_se5_i2c { + status = "ok"; + lt9611: lt,lt9611@2b { + compatible = "lt,lt9611uxc"; + reg = <0x2b>; + interrupt-parent = <&tlmm>; + interrupts = <63 0>; + interrupt-names = "lt_irq"; + lt,irq-gpio = <&tlmm 63 0>; + lt,reset-gpio = <&pm8150l_gpios 5 0x0>; + instance_id = <0>; + lt,non-pluggable; + + pinctrl-names = "default"; + pinctrl-0 = <<9611_pins <9611_rst_pin_out_default>; + + lt,preferred-mode = "1920x1080"; + + totalVoltage-supply = <&pm8150a_l11>; + lt,supply-entries { + #address-cells = <1>; + #size-cells = <0>; + + lt,supply-entry@0 { + reg = <0>; + lt,supply-name = "totalVoltage"; + lt,supply-min-voltage = <3300000>; + lt,supply-max-voltage = <3300000>; + lt,supply-enable-load = <200000>; + lt,supply-post-on-sleep = <50>; + }; + }; + + lt,customize-modes { + lt,customize-mode-id@0 { + lt,mode-h-active = <1920>; + lt,mode-h-front-porch = <88>; + lt,mode-h-pulse-width = <44>; + lt,mode-h-back-porch = <148>; + lt,mode-h-active-high; + lt,mode-v-active = <1080>; + lt,mode-v-front-porch = <4>; + lt,mode-v-pulse-width = <5>; + lt,mode-v-back-porch = <36>; + lt,mode-v-active-high; + lt,mode-refresh-rate = <60>; + lt,mode-clock-in-khz = <148500>; + }; + }; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + lt9611_in: endpoint { + remote-endpoint = <&ext_dsi_out>; + }; + }; + }; + }; +}; diff --git a/qcom/kona.dtsi b/qcom/kona.dtsi index 9a59a631..dfdabadd 100755 --- a/qcom/kona.dtsi +++ b/qcom/kona.dtsi @@ -4003,7 +4003,7 @@ iommus = <&apps_smmu 0x1001 0x0460>; qcom,iommu-dma-addr-pool = <0x80000000 0x78000000>; qcom,iommu-faults = "stall-disable", "HUPCF"; - dma-coherent; + dma-coherent-hint-cached; }; qcom,msm_fastrpc_compute_cb2 { @@ -4012,7 +4012,7 @@ iommus = <&apps_smmu 0x1002 0x0460>; qcom,iommu-dma-addr-pool = <0x80000000 0x78000000>; qcom,iommu-faults = "stall-disable", "HUPCF"; - dma-coherent; + dma-coherent-hint-cached; }; qcom,msm_fastrpc_compute_cb3 { @@ -4021,7 +4021,7 @@ iommus = <&apps_smmu 0x1003 0x0460>; qcom,iommu-dma-addr-pool = <0x80000000 0x78000000>; qcom,iommu-faults = "stall-disable", "HUPCF"; - dma-coherent; + dma-coherent-hint-cached; }; qcom,msm_fastrpc_compute_cb4 { @@ -4030,7 +4030,7 @@ iommus = <&apps_smmu 0x1004 0x0460>; qcom,iommu-dma-addr-pool = <0x80000000 0x78000000>; qcom,iommu-faults = "stall-disable", "HUPCF"; - dma-coherent; + dma-coherent-hint-cached; }; qcom,msm_fastrpc_compute_cb5 { @@ -4039,7 +4039,7 @@ iommus = <&apps_smmu 0x1005 0x0460>; qcom,iommu-dma-addr-pool = <0x80000000 0x78000000>; qcom,iommu-faults = "stall-disable", "HUPCF"; - dma-coherent; + dma-coherent-hint-cached; }; qcom,msm_fastrpc_compute_cb6 { @@ -4048,7 +4048,7 @@ iommus = <&apps_smmu 0x1006 0x0460>; qcom,iommu-dma-addr-pool = <0x80000000 0x78000000>; qcom,iommu-faults = "stall-disable", "HUPCF"; - dma-coherent; + dma-coherent-hint-cached; }; qcom,msm_fastrpc_compute_cb7 { @@ -4057,7 +4057,7 @@ iommus = <&apps_smmu 0x1007 0x0460>; qcom,iommu-dma-addr-pool = <0x80000000 0x78000000>; qcom,iommu-faults = "stall-disable", "HUPCF"; - dma-coherent; + dma-coherent-hint-cached; }; qcom,msm_fastrpc_compute_cb8 { @@ -4066,7 +4066,7 @@ iommus = <&apps_smmu 0x1008 0x0460>; qcom,iommu-dma-addr-pool = <0x80000000 0x78000000>; qcom,iommu-faults = "stall-disable", "HUPCF"; - dma-coherent; + dma-coherent-hint-cached; }; qcom,msm_fastrpc_compute_cb9 { @@ -4077,7 +4077,7 @@ qcom,iommu-dma-addr-pool = <0x60000000 0x78000000>; qcom,iommu-faults = "stall-disable", "HUPCF"; qcom,iommu-vmid = <0xA>; /* VMID_CP_PIXEL */ - dma-coherent; + dma-coherent-hint-cached; }; qcom,msm_fastrpc_compute_cb10 { @@ -4086,7 +4086,7 @@ iommus = <&apps_smmu 0x1803 0x0>; qcom,iommu-dma-addr-pool = <0x80000000 0x78000000>; qcom,iommu-faults = "stall-disable", "HUPCF"; - dma-coherent; + dma-coherent-hint-cached; }; qcom,msm_fastrpc_compute_cb11 { @@ -4095,7 +4095,7 @@ iommus = <&apps_smmu 0x1804 0x0>; qcom,iommu-dma-addr-pool = <0x80000000 0x78000000>; qcom,iommu-faults = "stall-disable", "HUPCF"; - dma-coherent; + dma-coherent-hint-cached; }; qcom,msm_fastrpc_compute_cb12 { @@ -4104,7 +4104,7 @@ iommus = <&apps_smmu 0x1805 0x0>; qcom,iommu-dma-addr-pool = <0x80000000 0x78000000>; qcom,iommu-faults = "stall-disable", "HUPCF"; - dma-coherent; + dma-coherent-hint-cached; }; qcom,msm_fastrpc_compute_cb13 { @@ -4113,7 +4113,7 @@ iommus = <&apps_smmu 0x0541 0x0>; qcom,iommu-dma-addr-pool = <0x80000000 0x78000000>; qcom,iommu-faults = "stall-disable", "HUPCF"; - dma-coherent; + dma-coherent-hint-cached; }; qcom,msm_fastrpc_compute_cb14 { @@ -4122,7 +4122,7 @@ iommus = <&apps_smmu 0x0542 0x0>; qcom,iommu-dma-addr-pool = <0x80000000 0x78000000>; qcom,iommu-faults = "stall-disable", "HUPCF"; - dma-coherent; + dma-coherent-hint-cached; }; qcom,msm_fastrpc_compute_cb15 { @@ -4132,7 +4132,7 @@ qcom,iommu-dma-addr-pool = <0x80000000 0x78000000>; qcom,iommu-faults = "stall-disable", "HUPCF"; shared-cb = <4>; - dma-coherent; + dma-coherent-hint-cached; }; }; @@ -5024,6 +5024,7 @@ #include "msm-rdbg.dtsi" #include "kona-pm.dtsi" +#include "camera/kona-camera.dtsi" #include "kona-qupv3.dtsi" #include "kona-audio.dtsi" #include "kona-thermal.dtsi" diff --git a/qcom/lemans-adas-high-qam-star-overlay.dts b/qcom/lemans-adas-high-qam-star-overlay.dts new file mode 100755 index 00000000..a6a1b34f --- /dev/null +++ b/qcom/lemans-adas-high-qam-star-overlay.dts @@ -0,0 +1,12 @@ +/dts-v1/; +/plugin/; + +#include "lemans-qam-star.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. Lemans ADAS HIGH QAM STAR"; + compatible = "qcom,lemans-adas-high", "qcom,lemans", "qcom,qam-star", "qcom,lemans-adas-high-qam-star"; + qcom,msm-id = <533 0x10000>; + qcom,board-id = <0x10025 0>; +}; + diff --git a/qcom/lemans-adas-high-qam-star.dts b/qcom/lemans-adas-high-qam-star.dts new file mode 100755 index 00000000..5b9b612f --- /dev/null +++ b/qcom/lemans-adas-high-qam-star.dts @@ -0,0 +1,10 @@ +/dts-v1/; + +#include "lemans-adas-high.dtsi" +#include "lemans-qam-star.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. Lemans ADAS HIGH QAM STAR"; + compatible = "qcom,lemans-adas-high", "qcom,lemans", "qcom,qam-star", "qcom,lemans-adas-high-qam-star"; +}; + diff --git a/qcom/lemans-adp-common.dtsi b/qcom/lemans-adp-common.dtsi index a71710fe..b38cfbc7 100755 --- a/qcom/lemans-adp-common.dtsi +++ b/qcom/lemans-adp-common.dtsi @@ -1,4 +1,5 @@ #include "lemans-pmic-overlay.dtsi" +#include "lemans-thermal-overlay.dtsi" &soc { diff --git a/qcom/lemans-gpu.dtsi b/qcom/lemans-gpu.dtsi new file mode 100755 index 00000000..e4ec44f8 --- /dev/null +++ b/qcom/lemans-gpu.dtsi @@ -0,0 +1,282 @@ + +#define MHZ_TO_KBPS(mhz, w) ((mhz * 1000000 * w) / (1024)) + +&soc { + pil_gpu: qcom,kgsl-hyp { + compatible = "qcom,pil-tz-generic"; + qcom,pas-id = <13>; + qcom,firmware-name = "a663_zap"; + memory-region = <&pil_gpu_mem>; + }; + + kgsl_ddr_qos: qcom,kgsl-ddr-qos { + compatible = "qcom,devfreq-qoslat"; + governor = "powersave"; + operating-points-v2 = <&qoslat_opp_table>; + mboxes = <&qmp_aop 0>; + }; + + msm_gpu: qcom,kgsl-3d0@3d00000 { + compatible = "qcom,kgsl-3d0"; + status = "ok"; + reg = <0x3d00000 0x40000>, <0x3d61000 0x800>, + <0x3de0000 0x10000>, <0x4900000 0x80000>, + <0x3dff000 0x1000>; + reg-names = "kgsl_3d0_reg_memory", "cx_dbgc", "rscc", + "qdss_gfx", "fusa"; + interrupts = <0 300 IRQ_TYPE_LEVEL_HIGH>; + interrupt-names = "kgsl_3d0_irq"; + + clocks = <&gcc GCC_GPU_MEMNOC_GFX_CLK>, + <&gcc GCC_GPU_SNOC_DVM_GFX_CLK>, + <&gpucc GPU_CC_AHB_CLK>, + <&gpucc GPU_CC_CX_GMU_CLK>, + <&gpucc GPU_CC_HLOS1_VOTE_GPU_SMMU_CLK>, + <&gpucc GPU_CC_HUB_AON_CLK>, + <&gpucc GPU_CC_HUB_CX_INT_CLK>, + <&aopcc QDSS_CLK>; + clock-names = "gcc_gpu_memnoc_gfx", + "gcc_gpu_snoc_dvm_gfx", + "gpu_cc_ahb", + "gpu_cc_cx_gmu", + "gpu_cc_hlos1_vote_gpu_smmu", + "gpu_cc_hub_aon", + "gpu_cc_hub_cx_int", + "apb_pclk"; + + qcom,chipid = <0x06060300>; + + qcom,initial-pwrlevel = <5>; + + qcom,no-nap; + + qcom,highest-bank-bit = <16>; + + qcom,min-access-length = <32>; + + qcom,ubwc-mode = <4>; + + qcom,gpu-qdss-stm = <0x161c0000 0x40000>; /* base addr, size */ + + nvmem-cells = <&gpu_speed_bin>; + nvmem-cell-names = "speed_bin"; + + qcom,tzone-names = "gpuss-0-usr", "gpuss-1-usr"; + + interconnect-names = "gpu_icc_path", "l3_path"; + interconnects = <&gem_noc MASTER_GFX3D &mc_virt SLAVE_EBI1>, + <&epss_l3_cpu MASTER_EPSS_L3_APPS &epss_l3_cpu SLAVE_EPSS_L3_SHARED>; + + qcom,bus-table-ddr7 = + <MHZ_TO_KBPS(0, 4)>, /* index=0 */ + <MHZ_TO_KBPS(200, 4)>, /* index=1 */ + <MHZ_TO_KBPS(451, 4)>, /* index=2 */ + <MHZ_TO_KBPS(547, 4)>, /* index=3 */ + <MHZ_TO_KBPS(681, 4)>, /* index=4 */ + <MHZ_TO_KBPS(768, 4)>, /* index=5 */ + <MHZ_TO_KBPS(1017, 4)>, /* index=6 */ + <MHZ_TO_KBPS(1353, 4)>, /* index=7 */ + <MHZ_TO_KBPS(1555, 4)>, /* index=8 */ + <MHZ_TO_KBPS(1708, 4)>, /* index=9 */ + <MHZ_TO_KBPS(2092, 4)>, /* index=10 */ + <MHZ_TO_KBPS(2133, 4)>; /* index=11 */ + + + qcom,bus-table-ddr8 = + <MHZ_TO_KBPS(0, 4)>, /* index=0 */ + <MHZ_TO_KBPS(200, 4)>, /* index=1 */ + <MHZ_TO_KBPS(451, 4)>, /* index=2 */ + <MHZ_TO_KBPS(547, 4)>, /* index=3 */ + <MHZ_TO_KBPS(681, 4)>, /* index=4 */ + <MHZ_TO_KBPS(768, 4)>, /* index=5 */ + <MHZ_TO_KBPS(1017, 4)>, /* index=6 */ + <MHZ_TO_KBPS(1555, 4)>, /* index=7 */ + <MHZ_TO_KBPS(1708, 4)>, /* index=8 */ + <MHZ_TO_KBPS(2092, 4)>, /* index=9 */ + <MHZ_TO_KBPS(2736, 4)>, /* index=10 */ + <MHZ_TO_KBPS(3196, 4)>; /* index=11 */ + + qcom,bus-table-cnoc = + <0>, /* Off */ + <100>; /* On */ + + qcom,l3-pwrlevels { + #address-cells = <1>; + #size-cells = <0>; + + compatible = "qcom,l3-pwrlevels"; + + qcom,l3-pwrlevel@0 { + reg = <0>; + qcom,l3-freq = <0>; + }; + + qcom,l3-pwrlevel@1 { + reg = <1>; + qcom,l3-freq = <614400000>; + }; + + qcom,l3-pwrlevel@2 { + reg = <2>; + qcom,l3-freq = <1516800000>; + }; + }; + + qcom,gpu-mempools { + #address-cells = <1>; + #size-cells = <0>; + compatible = "qcom,gpu-mempools"; + + /* 4K Page Pool configuration */ + qcom,gpu-mempool@0 { + reg = <0>; + qcom,mempool-page-size = <4096>; + qcom,mempool-reserved = <2048>; + }; + /* 8K Page Pool configuration */ + qcom,gpu-mempool@1 { + reg = <1>; + qcom,mempool-page-size = <8192>; + qcom,mempool-reserved = <1024>; + }; + /* 64K Page Pool configuration */ + qcom,gpu-mempool@2 { + reg = <2>; + qcom,mempool-page-size = <65536>; + qcom,mempool-reserved = <256>; + }; + /* 128K Page Pool configuration */ + qcom,gpu-mempool@3 { + reg = <3>; + qcom,mempool-page-size = <131072>; + qcom,mempool-reserved = <128>; + }; + /* 256K Page Pool configuration */ + qcom,gpu-mempool@4 { + reg = <4>; + qcom,mempool-page-size = <262144>; + qcom,mempool-reserved = <80>; + }; + /* 1M Page Pool configuration */ + qcom,gpu-mempool@5 { + reg = <5>; + qcom,mempool-page-size = <1048576>; + qcom,mempool-reserved = <32>; + }; + }; + + /* Power levels */ + qcom,gpu-pwrlevels { + #address-cells = <1>; + #size-cells = <0>; + + compatible = "qcom,gpu-pwrlevels"; + + qcom,gpu-pwrlevel@0 { + reg = <0>; + qcom,gpu-freq = <840000000>; + qcom,level = <RPMH_REGULATOR_LEVEL_TURBO_L1>; + + qcom,bus-freq-ddr7 = <11>; + qcom,bus-min-ddr7 = <11>; + qcom,bus-max-ddr7 = <11>; + + qcom,bus-freq-ddr8 = <11>; + qcom,bus-min-ddr8 = <11>; + qcom,bus-max-ddr8 = <11>; + }; + + qcom,gpu-pwrlevel@1 { + reg = <1>; + qcom,gpu-freq = <778000000>; + qcom,level = <RPMH_REGULATOR_LEVEL_TURBO>; + + qcom,bus-freq-ddr7 = <11>; + qcom,bus-min-ddr7 = <11>; + qcom,bus-max-ddr7 = <11>; + + qcom,bus-freq-ddr8 = <10>; + qcom,bus-min-ddr8 = <10>; + qcom,bus-max-ddr8 = <11>; + }; + + qcom,gpu-pwrlevel@2 { + reg = <2>; + qcom,gpu-freq = <676000000>; + qcom,level = <RPMH_REGULATOR_LEVEL_NOM>; + + qcom,bus-freq-ddr7 = <8>; + qcom,bus-min-ddr7 = <7>; + qcom,bus-max-ddr7 = <11>; + + qcom,bus-freq-ddr8 = <7>; + qcom,bus-min-ddr8 = <7>; + qcom,bus-max-ddr8 = <11>; + }; + + }; + }; + + kgsl_msm_iommu: qcom,kgsl-iommu@3da0000 { + compatible = "qcom,kgsl-smmu-v2"; + reg = <0x03da0000 0x20000>; + + vddcx-supply = <&gpu_cc_cx_gdsc>; + + gfx3d_user: gfx3d_user { + compatible = "qcom,smmu-kgsl-cb"; + iommus = <&kgsl_smmu 0x0 0xc00>; + qcom,iommu-dma = "disabled"; + }; + + gfx3d_lpac: gfx3d_lpac { + compatible = "qcom,smmu-kgsl-cb"; + iommus = <&kgsl_smmu 0x1 0xc00>; + qcom,iommu-dma = "disabled"; + }; + + gfx3d_secure: gfx3d_secure { + compatible = "qcom,smmu-kgsl-cb"; + iommus = <&kgsl_smmu 0x2 0xc00>; + qcom,iommu-dma = "disabled"; + }; + }; + + gmu: qcom,gmu@3d69000 { + compatible = "qcom,gpu-gmu"; + + reg = <0x3d6a000 0x34000>, + <0xb290000 0x10000>, + <0xb490000 0x10000>; + + reg-names = "kgsl_gmu_reg", + "kgsl_gmu_pdc_cfg", + "kgsl_gmu_pdc_seq"; + + interrupts = <0 304 IRQ_TYPE_LEVEL_HIGH>, + <0 305 IRQ_TYPE_LEVEL_HIGH>; + interrupt-names = "kgsl_hfi_irq", "kgsl_gmu_irq"; + + regulator-names = "vddcx", "vdd", "vdd-parent"; + + iommus = <&kgsl_smmu 0x5 0xc00>; + qcom,iommu-dma = "disabled"; + + vddcx-supply = <&gpu_cc_cx_gdsc>; + vdd-supply = <&gpu_cc_gx_gdsc>; + + clocks = <&gpucc GPU_CC_CX_GMU_CLK>, + <&gpucc GPU_CC_CXO_CLK>, + <&gcc GCC_DDRSS_GPU_AXI_CLK>, + <&gcc GCC_GPU_MEMNOC_GFX_CLK>, + <&gpucc GPU_CC_AHB_CLK>, + <&gpucc GPU_CC_HUB_CX_INT_CLK>, + <&aopcc QDSS_CLK>; + + clock-names = "gmu_clk", "cxo_clk", "axi_clk", + "memnoc_clk", "ahb_clk", "hub_clk", "apb_pclk"; + + mboxes = <&qmp_aop 0>; + mbox-names = "aop"; + }; +}; diff --git a/qcom/lemans-ion.dtsi b/qcom/lemans-ion.dtsi index 5e5f5899..82c72439 100755 --- a/qcom/lemans-ion.dtsi +++ b/qcom/lemans-ion.dtsi @@ -16,5 +16,23 @@ memory-region = <&adsp_mem>; qcom,ion-heap-type = "DMA"; }; + + qcom,ion-heap@26 { /* USER CONTIG HEAP */ + reg = <ION_USER_CONTIG_HEAP_ID>; + memory-region = <&user_contig_mem>; + qcom,ion-heap-type = "DMA"; + }; + + qcom,ion-heap@27 { /* QSEECOM HEAP */ + reg = <ION_QSECOM_HEAP_ID>; + memory-region = <&qseecom_mem>; + qcom,ion-heap-type = "DMA"; + }; + + qcom,ion-heap@19 { /* QSEECOM TA HEAP */ + reg = <ION_QSECOM_TA_HEAP_ID>; + memory-region = <&qseecom_ta_mem>; + qcom,ion-heap-type = "DMA"; + }; }; }; diff --git a/qcom/lemans-ivi-qam-star-overlay.dts b/qcom/lemans-ivi-qam-star-overlay.dts new file mode 100755 index 00000000..997d8f3b --- /dev/null +++ b/qcom/lemans-ivi-qam-star-overlay.dts @@ -0,0 +1,12 @@ +/dts-v1/; +/plugin/; + +#include "lemans-qam-star.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. Lemans IVI QAM STAR"; + compatible = "qcom,lemans-ivi", "qcom,lemans", "qcom,qam-star", "qcom,lemans-ivi-qam-star"; + qcom,msm-id = <532 0x10000>; + qcom,board-id = <0x10025 0>; +}; + diff --git a/qcom/lemans-ivi-qam-star.dts b/qcom/lemans-ivi-qam-star.dts new file mode 100755 index 00000000..5b519c0a --- /dev/null +++ b/qcom/lemans-ivi-qam-star.dts @@ -0,0 +1,10 @@ +/dts-v1/; + +#include "lemans-ivi.dtsi" +#include "lemans-qam-star.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. Lemans IVI QAM STAR"; + compatible = "qcom,lemans-ivi", "qcom,lemans", "qcom,qam-star", "qcom,lemans-ivi-qam-star"; +}; + diff --git a/qcom/lemans-qam-star.dtsi b/qcom/lemans-qam-star.dtsi new file mode 100755 index 00000000..689bf563 --- /dev/null +++ b/qcom/lemans-qam-star.dtsi @@ -0,0 +1 @@ +#include "lemans-adp-common.dtsi" diff --git a/qcom/lemans-thermal-overlay.dtsi b/qcom/lemans-thermal-overlay.dtsi new file mode 100755 index 00000000..1d6f92b8 --- /dev/null +++ b/qcom/lemans-thermal-overlay.dtsi @@ -0,0 +1,62 @@ +#include <dt-bindings/thermal/thermal_qti.h> + +&thermal_zones { + pm8775_2_tz { + cooling-maps { + pm8775_2_cdsp0 { + trip = <&pm8775_2_trip0>; + cooling-device = <&cdsp_sw0 THERMAL_MAX_LIMIT + THERMAL_MAX_LIMIT>; + }; + }; + }; + + pm8775_3_tz { + cooling-maps { + pm8775_3_cpu1 { + trip = <&pm8775_3_trip0>; + cooling-device = <&cpu1_isolate 1 1>; + }; + + pm8775_3_cpu2 { + trip = <&pm8775_3_trip0>; + cooling-device = <&cpu2_isolate 1 1>; + }; + + pm8775_3_cpu3 { + trip = <&pm8775_3_trip0>; + cooling-device = <&cpu3_isolate 1 1>; + }; + + pm8775_3_cpu4 { + trip = <&pm8775_3_trip0>; + cooling-device = <&cpu4_isolate 1 1>; + }; + + pm8775_3_cpu5 { + trip = <&pm8775_3_trip0>; + cooling-device = <&cpu5_isolate 1 1>; + }; + + pm8775_3_cpu6 { + trip = <&pm8775_3_trip0>; + cooling-device = <&cpu6_isolate 1 1>; + }; + + pm8775_3_cpu7 { + trip = <&pm8775_3_trip0>; + cooling-device = <&cpu7_isolate 1 1>; + }; + }; + }; + + pm8775_4_tz { + cooling-maps { + pm8775_4_cdsp1 { + trip = <&pm8775_4_trip0>; + cooling-device = <&cdsp_sw1 THERMAL_MAX_LIMIT + THERMAL_MAX_LIMIT>; + }; + }; + }; +}; diff --git a/qcom/lemans-vm-lv-overlay.dts b/qcom/lemans-vm-lv-overlay.dts new file mode 100755 index 00000000..a0987ad3 --- /dev/null +++ b/qcom/lemans-vm-lv-overlay.dts @@ -0,0 +1,11 @@ +/dts-v1/; +/plugin/; + +#include "lemans-vm.dtsi" +#include "lemans-vm-lv.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. LeMans Single Linux Virtual Machine"; + compatible = "qcom,lemans", "qcom,quinvm"; + qcom,board-id = <0 0x1000002>; +}; diff --git a/qcom/lemans-vm-lv.dts b/qcom/lemans-vm-lv.dts new file mode 100755 index 00000000..c37ce993 --- /dev/null +++ b/qcom/lemans-vm-lv.dts @@ -0,0 +1,10 @@ +/dts-v1/; + +#include "lemans-vm.dtsi" +#include "lemans-vm-lv.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. LeMans Single Linux Virtual Machine"; + compatible = "qcom,lemans", "qcom,quinvm"; + qcom,board-id = <0 0x1000002>; +}; diff --git a/qcom/lemans-vm-lv.dtsi b/qcom/lemans-vm-lv.dtsi new file mode 100755 index 00000000..17f1e228 --- /dev/null +++ b/qcom/lemans-vm-lv.dtsi @@ -0,0 +1,2 @@ +&soc { +}; diff --git a/qcom/lemans-vm.dtsi b/qcom/lemans-vm.dtsi new file mode 100755 index 00000000..081cee49 --- /dev/null +++ b/qcom/lemans-vm.dtsi @@ -0,0 +1,34 @@ +#include "quin-vm-common.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. LeMans Virtual Machine"; + qcom,msm-name = "SA_LEMANS_IVI"; + qcom,msm-id = <532 0x10000>; +}; + +&soc { +}; + +&gcc { + status = "disabled"; +}; + +&scc { + status = "disabled"; +}; + +®ulator { + status = "disabled"; +}; + +&hab { + vmid = <3>; +}; + +&spmi_bus { + status = "disabled"; +}; + +&wdog { + status = "disabled"; +}; diff --git a/qcom/lemans.dtsi b/qcom/lemans.dtsi index ec003ec8..eaabd068 100755 --- a/qcom/lemans.dtsi +++ b/qcom/lemans.dtsi @@ -1,4 +1,6 @@ #include <dt-bindings/clock/qcom,rpmh.h> +#include <dt-bindings/soc/qcom,ipcc.h> +#include <dt-bindings/clock/qcom,aop-qmp.h> #include <dt-bindings/clock/qcom,camcc-lemans.h> #include <dt-bindings/clock/qcom,dispcc-lemans.h> #include <dt-bindings/clock/qcom,gcc-lemans.h> @@ -421,6 +423,28 @@ size = <0x0 0x1000000>; }; + qseecom_mem: qseecom_region { + compatible = "shared-dma-pool"; + no-map; + reg = <0x0 0xadc00000 0x0 0x1400000>; + }; + + user_contig_mem: user_contig_region { + compatible = "shared-dma-pool"; + alloc-ranges = <0x0 0x00000000 0x0 0xffffffff>; + reusable; + alignment = <0x0 0x400000>; + size = <0x0 0x1000000>; + }; + + qseecom_ta_mem: qseecom_ta_region { + compatible = "shared-dma-pool"; + alloc-ranges = <0x0 0x00000000 0x0 0xffffffff>; + reusable; + alignment = <0x0 0x400000>; + size = <0x0 0x1000000>; + }; + /* global autoconfigured region for contiguous allocations */ linux,cma { compatible = "shared-dma-pool"; @@ -876,6 +900,17 @@ #clock-cells = <1>; }; + qoslat_opp_table: qoslat-opp-table { + compatible = "operating-points-v2"; + opp-1 { + opp-hz = /bits/ 64 < 1 >; + }; + + opp-2 { + opp-hz = /bits/ 64 < 2 >; + }; + }; + tlmm: pinctrl@f000000 { compatible = "qcom,lemans-pinctrl"; reg = <0xf000000 0x1000000>; @@ -1396,6 +1431,27 @@ #mbox-cells = <1>; }; + qtee_shmbridge { + compatible = "qcom,tee-shared-memory-bridge"; + }; + + qcom_qseecom: qseecom@0xd1800000 { + compatible = "qcom,qseecom"; + reg = <0xd1800000 0x3900000>; + reg-names = "secapp-region"; + memory-region = <&qseecom_mem>; + qcom,hlos-num-ce-hw-instances = <1>; + qcom,hlos-ce-hw-instance = <0>; + qcom,qsee-ce-hw-instance = <0>; + qcom,disk-encrypt-pipe-pair = <2>; + qcom,support-fde; + qcom,no-clock-support; + qcom,fde-key-size; + qcom,appsbl-qseecom-support; + qcom,commonlib64-loaded-by-uefi; + qcom,qsee-reentrancy-support = <2>; + }; + qcom,glink { compatible = "qcom,glink"; #address-cells = <1>; @@ -2168,6 +2224,20 @@ qcom-secure-buffer { compatible = "qcom,secure-buffer"; }; + + qfprom: qfprom@784000 { + compatible = "qcom,qfprom"; + reg = <0x784000 0x3000>; + #address-cells = <1>; + #size-cells = <1>; + read-only; + ranges; + + gpu_speed_bin: gpu_speed_bin@18b { + reg = <0x18b 0x1>; + bits = <5 3>; + }; + }; }; #include "lemans-4pmic-regulators.dtsi" @@ -2419,3 +2489,4 @@ #include "lemans-thermal.dtsi" #include "lemans-pcie.dtsi" +#include "lemans-gpu.dtsi" diff --git a/qcom/monaco-standalone-1gb.dts b/qcom/monaco-standalone-1gb.dts new file mode 100755 index 00000000..73b99db5 --- /dev/null +++ b/qcom/monaco-standalone-1gb.dts @@ -0,0 +1,9 @@ +/dts-v1/; + +#include "monaco-standalone-1gb.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. Monaco Standalone 1GB SoC "; + compatible = "qcom,monaco"; + qcom,board-id = <0 0x301>; +}; diff --git a/qcom/monaco-standalone.dtsi b/qcom/monaco-standalone-1gb.dtsi index 79a11e94..79a11e94 100755 --- a/qcom/monaco-standalone.dtsi +++ b/qcom/monaco-standalone-1gb.dtsi diff --git a/qcom/monaco-standalone-atp-v1.dts b/qcom/monaco-standalone-atp-v1.dts index 458ad616..753943b5 100755 --- a/qcom/monaco-standalone-atp-v1.dts +++ b/qcom/monaco-standalone-atp-v1.dts @@ -1,10 +1,10 @@ /dts-v1/; -#include "monaco-standalone.dtsi" +#include "monaco-standalone-1gb.dtsi" #include "monaco-standalone-atp-v1.dtsi" / { model = "Qualcomm Technologies, Inc. Monaco standalone ATP V1.0"; compatible = "qcom,monaco", "qcom,atp"; - qcom,board-id = <0x010021 0x1>; + qcom,board-id = <0x010021 0x301>; }; diff --git a/qcom/monaco-standalone-idp-v1.dts b/qcom/monaco-standalone-idp-v1.dts index d5e81502..258c566e 100755 --- a/qcom/monaco-standalone-idp-v1.dts +++ b/qcom/monaco-standalone-idp-v1.dts @@ -1,10 +1,10 @@ /dts-v1/; -#include "monaco-standalone.dtsi" +#include "monaco-standalone-1gb.dtsi" #include "monaco-standalone-idp-v1.dtsi" / { model = "Qualcomm Technologies, Inc. Monaco standalone IDP V1.0"; compatible = "qcom,monaco", "qcom,idp"; - qcom,board-id = <0x010022 0x1>; + qcom,board-id = <0x010022 0x301>; }; diff --git a/qcom/monaco-standalone-idp-v2.dts b/qcom/monaco-standalone-idp-v2.dts index 0a036163..79dbe729 100755 --- a/qcom/monaco-standalone-idp-v2.dts +++ b/qcom/monaco-standalone-idp-v2.dts @@ -1,10 +1,10 @@ /dts-v1/; -#include "monaco-standalone.dtsi" +#include "monaco-standalone-1gb.dtsi" #include "monaco-standalone-idp-v2.dtsi" / { model = "Qualcomm Technologies, Inc. Monaco standalone IDP V2.0"; compatible = "qcom,monaco", "qcom,idp"; - qcom,board-id = <0x020022 0x1>; + qcom,board-id = <0x020022 0x301>; }; diff --git a/qcom/monaco-standalone-idp-v3.dts b/qcom/monaco-standalone-idp-v3.dts index 67f6c84c..4bef935a 100755 --- a/qcom/monaco-standalone-idp-v3.dts +++ b/qcom/monaco-standalone-idp-v3.dts @@ -1,10 +1,10 @@ /dts-v1/; -#include "monaco-standalone.dtsi" +#include "monaco-standalone-1gb.dtsi" #include "monaco-standalone-idp-v3.dtsi" / { model = "Qualcomm Technologies, Inc. Monaco standalone DP V3.0"; compatible = "qcom,monaco", "qcom,idp"; - qcom,board-id = <0x030022 0x1>; + qcom,board-id = <0x030022 0x301>; }; diff --git a/qcom/monaco-standalone-wdp-v1.dts b/qcom/monaco-standalone-wdp-v1.dts index 38fcfed0..9121b1b0 100755 --- a/qcom/monaco-standalone-wdp-v1.dts +++ b/qcom/monaco-standalone-wdp-v1.dts @@ -1,10 +1,10 @@ /dts-v1/; -#include "monaco-standalone.dtsi" +#include "monaco-standalone-1gb.dtsi" #include "monaco-standalone-wdp-v1.dtsi" / { model = "Qualcomm Technologies, Inc. Monaco standalone WDP V1.0"; compatible = "qcom,monaco", "qcom,wdp"; - qcom,board-id = <0x010024 0x1>; + qcom,board-id = <0x010024 0x301>; }; diff --git a/qcom/monaco-standalone.dts b/qcom/monaco-standalone.dts index e1a96ed9..c5d5c97e 100755 --- a/qcom/monaco-standalone.dts +++ b/qcom/monaco-standalone.dts @@ -1,9 +1,9 @@ /dts-v1/; -#include "monaco-standalone.dtsi" +#include "monaco.dtsi" / { - model = "Qualcomm Technologies, Inc. Monaco SoC "; + model = "Qualcomm Technologies, Inc. Monaco Standalone SoC"; compatible = "qcom,monaco"; - qcom,board-id = <0 0x1>; + qcom,board-id = <0 1>; }; diff --git a/qcom/monaco.dtsi b/qcom/monaco.dtsi index 4a52d060..148df7dd 100755 --- a/qcom/monaco.dtsi +++ b/qcom/monaco.dtsi @@ -2207,7 +2207,6 @@ qcom,msm-adsprpc-mem { &gpu_cx_gdsc { parent-supply = <&VDD_CX_LEVEL>; - qcom,need-pm-op; status = "ok"; }; diff --git a/qcom/monacop-standalone-1gb.dts b/qcom/monacop-standalone-1gb.dts new file mode 100755 index 00000000..e780e4d9 --- /dev/null +++ b/qcom/monacop-standalone-1gb.dts @@ -0,0 +1,9 @@ +/dts-v1/; + +#include "monacop-standalone-1gb.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. MonacoP Standalone 1GB SoC"; + compatible = "qcom,monacop"; + qcom,board-id = <0 0x301>; +}; diff --git a/qcom/monacop-standalone.dtsi b/qcom/monacop-standalone-1gb.dtsi index b2b69b8d..155c041b 100755 --- a/qcom/monacop-standalone.dtsi +++ b/qcom/monacop-standalone-1gb.dtsi @@ -1,4 +1,4 @@ -#include "monaco-standalone.dtsi" +#include "monaco-standalone-1gb.dtsi" / { model = "Qualcomm Technologies, Inc. MonacoP"; diff --git a/qcom/monacop-standalone-atp-v1.dts b/qcom/monacop-standalone-atp-v1.dts index 7e04dd90..f4ce6fc1 100755 --- a/qcom/monacop-standalone-atp-v1.dts +++ b/qcom/monacop-standalone-atp-v1.dts @@ -1,10 +1,10 @@ /dts-v1/; -#include "monacop-standalone.dtsi" +#include "monacop-standalone-1gb.dtsi" #include "monaco-standalone-atp-v1.dtsi" / { model = "Qualcomm Technologies, Inc. Monaco standalone ATP V1.0"; compatible = "qcom,monaco", "qcom,atp"; - qcom,board-id = <0x010021 0x1>; + qcom,board-id = <0x010021 0x301>; }; diff --git a/qcom/monacop-standalone-idp-v1.dts b/qcom/monacop-standalone-idp-v1.dts index 8fbb8631..66d1c594 100755 --- a/qcom/monacop-standalone-idp-v1.dts +++ b/qcom/monacop-standalone-idp-v1.dts @@ -1,10 +1,10 @@ /dts-v1/; -#include "monacop-standalone.dtsi" +#include "monacop-standalone-1gb.dtsi" #include "monaco-standalone-idp-v1.dtsi" / { model = "Qualcomm Technologies, Inc. Monaco standalone IDP V1.0"; compatible = "qcom,monaco", "qcom,idp"; - qcom,board-id = <0x010022 0x1>; + qcom,board-id = <0x010022 0x301>; }; diff --git a/qcom/monacop-standalone-idp-v2.dts b/qcom/monacop-standalone-idp-v2.dts index 241b8963..554e2bf2 100755 --- a/qcom/monacop-standalone-idp-v2.dts +++ b/qcom/monacop-standalone-idp-v2.dts @@ -1,10 +1,10 @@ /dts-v1/; -#include "monacop-standalone.dtsi" +#include "monacop-standalone-1gb.dtsi" #include "monaco-standalone-idp-v2.dtsi" / { model = "Qualcomm Technologies, Inc. Monaco standalone IDP V2.0"; compatible = "qcom,monaco", "qcom,idp"; - qcom,board-id = <0x020022 0x1>; + qcom,board-id = <0x020022 0x301>; }; diff --git a/qcom/monacop-standalone-idp-v3.dts b/qcom/monacop-standalone-idp-v3.dts index 8dd1428f..7ed69553 100755 --- a/qcom/monacop-standalone-idp-v3.dts +++ b/qcom/monacop-standalone-idp-v3.dts @@ -1,10 +1,10 @@ /dts-v1/; -#include "monacop-standalone.dtsi" +#include "monacop-standalone-1gb.dtsi" #include "monaco-standalone-idp-v3.dtsi" / { model = "Qualcomm Technologies, Inc. Monaco standalone DP V3.0"; compatible = "qcom,monaco", "qcom,idp"; - qcom,board-id = <0x030022 0x1>; + qcom,board-id = <0x030022 0x301>; }; diff --git a/qcom/monacop-standalone-wdp-v1.dts b/qcom/monacop-standalone-wdp-v1.dts index feef1ab2..819b951b 100755 --- a/qcom/monacop-standalone-wdp-v1.dts +++ b/qcom/monacop-standalone-wdp-v1.dts @@ -1,10 +1,10 @@ /dts-v1/; -#include "monacop-standalone.dtsi" +#include "monacop-standalone-1gb.dtsi" #include "monaco-standalone-wdp-v1.dtsi" / { model = "Qualcomm Technologies, Inc. Monaco standalone WDP V1.0"; compatible = "qcom,monaco", "qcom,wdp"; - qcom,board-id = <0x010024 0x1>; + qcom,board-id = <0x010024 0x301>; }; diff --git a/qcom/monacop-standalone.dts b/qcom/monacop-standalone.dts index 954206fb..1b33b38c 100755 --- a/qcom/monacop-standalone.dts +++ b/qcom/monacop-standalone.dts @@ -1,9 +1,9 @@ /dts-v1/; -#include "monacop-standalone.dtsi" +#include "monacop.dtsi" / { - model = "Qualcomm Technologies, Inc. MonacoP SoC"; + model = "Qualcomm Technologies, Inc. MonacoP Standalone SoC"; compatible = "qcom,monacop"; qcom,board-id = <0 1>; }; diff --git a/qcom/msm-arm-smmu-lemans.dtsi b/qcom/msm-arm-smmu-lemans.dtsi index cf6693b7..2945b5fe 100755 --- a/qcom/msm-arm-smmu-lemans.dtsi +++ b/qcom/msm-arm-smmu-lemans.dtsi @@ -3,8 +3,8 @@ &soc { kgsl_smmu: kgsl-smmu@3da0000 { compatible = "qcom,qsmmu-v500"; - reg = <0x3DA0000 0x20000>, - <0x3DCA000 0x28>; + reg = <0x3da0000 0x20000>, + <0x3dca000 0x28>; reg-names = "base", "tcu-base"; #iommu-cells = <2>; qcom,skip-init; @@ -13,6 +13,7 @@ #global-interrupts = <2>; #size-cells = <1>; #address-cells = <1>; + #tcu-testbus-version = <1>; ranges; dma-coherent; qcom,regulator-names = "vdd"; @@ -94,6 +95,7 @@ #global-interrupts = <2>; #size-cells = <1>; #address-cells = <1>; + #tcu-testbus-version = <1>; ranges; dma-coherent; @@ -166,6 +168,22 @@ interconnects = <&pcie_anoc MASTER_PCIE_0 &mc_virt SLAVE_EBI1>, <&pcie_anoc MASTER_PCIE_1 &mc_virt SLAVE_EBI1>; + + pcie_0_tbu: pcie_0_tbu@152f9000 { + compatible = "qcom,qsmmuv500-tbu"; + reg = <0x152F9000 0x1000>, + <0x152F2200 0x8>; + reg-names = "base", "status-reg"; + qcom,stream-id-range = <0x0 0x400>; + }; + + pcie_1_tbu: pcie_1_tbu@152fb000 { + compatible = "qcom,qsmmuv500-tbu"; + reg = <0x152FB000 0x1000>, + <0x152F3200 0x8>; + reg-names = "base", "status-reg"; + qcom,stream-id-range = <0x400 0x400>; + }; }; apps_smmu: apps-smmu@15000000 { @@ -179,6 +197,7 @@ #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>, @@ -313,6 +332,141 @@ interconnects = <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_IMEM_CFG>; + + anoc_1_tbu: anoc_1_tbu@15189000 { + compatible = "qcom,qsmmuv500-tbu"; + reg = <0x15189000 0x1000>, + <0x15182200 0x8>; + reg-names = "base", "status-reg"; + qcom,stream-id-range = <0x0 0x400>; + qcom,active-only; + }; + + anoc_2_tbu: anoc_2_tbu@15191000 { + compatible = "qcom,qsmmuv500-tbu"; + reg = <0x15191000 0x1000>, + <0x15182208 0x8>; + reg-names = "base", "status-reg"; + qcom,stream-id-range = <0x400 0x400>; + qcom,active-only; + }; + + mnoc_sf_0_tbu: mnoc_sf_0_tbu@15199000 { + compatible = "qcom,qsmmuv500-tbu"; + reg = <0x15199000 0x1000>, + <0x15182210 0x8>; + reg-names = "base", "status-reg"; + qcom,stream-id-range = <0x800 0x400>; + qcom,active-only; + }; + + mnoc_sf_1_tbu: mnoc_sf_1_tbu@0x151a1000 { + compatible = "qcom,qsmmuv500-tbu"; + reg = <0x151A1000 0x1000>, + <0x15182218 0x8>; + reg-names = "base", "status-reg"; + qcom,stream-id-range = <0xC00 0x400>; + qcom,active-only; + }; + + mdp_0_tbu: mdp_0_tbu@0x151a9000 { + compatible = "qcom,qsmmuv500-tbu"; + reg = <0x151A9000 0x1000>, + <0x15182220 0x8>; + reg-names = "base", "status-reg"; + qcom,stream-id-range = <0x1000 0x400>; + qcom,active-only; + }; + + mdp_1_tbu: mdp_1_tbu@0x151b1000 { + compatible = "qcom,qsmmuv500-tbu"; + reg = <0x151B1000 0x1000>, + <0x15182228 0x8>; + reg-names = "base", "status-reg"; + qcom,stream-id-range = <0x1400 0x400>; + qcom,active-only; + }; + + mdp_2_tbu: mdp_2_tbu@0x151b9000 { + compatible = "qcom,qsmmuv500-tbu"; + reg = <0x151B9000 0x1000>, + <0x15182230 0x8>; + reg-names = "base", "status-reg"; + qcom,stream-id-range = <0x1800 0x400>; + qcom,active-only; + }; + + mdp_3_tbu: mdp_3_tbu@151c1000 { + compatible = "qcom,qsmmuv500-tbu"; + reg = <0x151C1000 0x1000>, + < 0x15182238 0x8>; + reg-names = "base", "status-reg"; + qcom,stream-id-range = <0x1C00 0x400>; + qcom,active-only; + }; + + nsp_0_tbu: nsp_0_tbu@151c9000 { + compatible = "qcom,qsmmuv500-tbu"; + reg = <0x151C9000 0x1000>, + < 0x15182240 0x8>; + reg-names = "base", "status-reg"; + qcom,stream-id-range = <0x2000 0x400>; + qcom,active-only; + }; + + nsp_1_tbu: nsp_1_tbu@151d1000 { + compatible = "qcom,qsmmuv500-tbu"; + reg = <0x151D1000 0x1000>, + < 0x15182248 0x8>; + reg-names = "base", "status-reg"; + qcom,stream-id-range = <0x2400 0x400>; + qcom,active-only; + }; + + nsp_2_tbu: nsp_2_tbu@151d9000 { + compatible = "qcom,qsmmuv500-tbu"; + reg = <0x151D9000 0x1000>, + < 0x15182250 0x8>; + reg-names = "base", "status-reg"; + qcom,stream-id-range = <0x2800 0x400>; + qcom,active-only; + }; + + nsp_3_tbu: nsp_3_tbu@151e1000 { + compatible = "qcom,qsmmuv500-tbu"; + reg = <0x151E1000 0x1000>, + < 0x15182258 0x8>; + reg-names = "base", "status-reg"; + qcom,stream-id-range = <0x2C00 0x400>; + qcom,active-only; + }; + + lpass_0_tbu: lpass_0_tbu@151e9000 { + compatible = "qcom,qsmmuv500-tbu"; + reg = <0x151E9000 0x1000>, + < 0x15182260 0x8>; + reg-names = "base", "status-reg"; + qcom,stream-id-range = <0x3000 0x400>; + qcom,active-only; + }; + + cam_0_tbu: cam_0_tbu@151f1000 { + compatible = "qcom,qsmmuv500-tbu"; + reg = <0x151F1000 0x1000>, + < 0x15182268 0x8>; + reg-names = "base", "status-reg"; + qcom,stream-id-range = <0x3400 0x400>; + qcom,active-only; + }; + + gpdsp_sail_ss_0_tbu: gpdsp_sail_ss_0_tbu@151f9000 { + compatible = "qcom,qsmmuv500-tbu"; + reg = <0x151F9000 0x1000>, + < 0x15182270 0x8>; + reg-names = "base", "status-reg"; + qcom,stream-id-range = <0x3800 0x400>; + qcom,active-only; + }; }; kgsl_iommu_test_device { diff --git a/qcom/pm6155.dtsi b/qcom/pm6155.dtsi index 1c198e46..5954c57c 100755 --- a/qcom/pm6155.dtsi +++ b/qcom/pm6155.dtsi @@ -62,6 +62,7 @@ pm6155_1_rtc: qcom,pm6155_1_rtc { compatible = "qcom,pm8941-rtc"; interrupts = <0x0 0x61 0x1 IRQ_TYPE_NONE>; + disable-alarm-wakeup; }; pm6155_1_gpios: pinctrl@c000 { diff --git a/qcom/pm8150.dtsi b/qcom/pm8150.dtsi index 8baf9aa8..20a0660f 100755 --- a/qcom/pm8150.dtsi +++ b/qcom/pm8150.dtsi @@ -65,6 +65,7 @@ reg = <0x6000>, <0x6100>; reg-names = "rtc", "alarm"; interrupts = <0x0 0x61 0x1 IRQ_TYPE_NONE>; + disable-alarm-wakeup; }; pm8150_gpios: pinctrl@c000 { diff --git a/qcom/pm8150l.dtsi b/qcom/pm8150l.dtsi index 700fa382..b389b974 100755 --- a/qcom/pm8150l.dtsi +++ b/qcom/pm8150l.dtsi @@ -45,7 +45,7 @@ }; pm8150l_gpios: pinctrl@c000 { - compatible = "qcom,spmi-gpio"; + compatible = "qcom,pm8150l-gpio"; reg = <0xc000 0xc00>; interrupts = <0x4 0xc0 0x0 IRQ_TYPE_NONE>, <0x4 0xc2 0x0 IRQ_TYPE_NONE>, diff --git a/qcom/pm8195.dtsi b/qcom/pm8195.dtsi index af3b8ca5..ba426735 100755 --- a/qcom/pm8195.dtsi +++ b/qcom/pm8195.dtsi @@ -96,6 +96,7 @@ reg = <0x6000>, <0x6100>; reg-names = "rtc", "alarm"; interrupts = <0x0 0x61 0x1 IRQ_TYPE_NONE>; + disable-alarm-wakeup; }; pm8195_1_gpios: pinctrl@c000 { diff --git a/qcom/prairie-iot-idp.dtsi b/qcom/prairie-iot-idp.dtsi index 46fd7e9e..a936b0c9 100755 --- a/qcom/prairie-iot-idp.dtsi +++ b/qcom/prairie-iot-idp.dtsi @@ -1,3 +1,4 @@ +#include "sm6150-thermal-overlay.dtsi" #include <dt-bindings/gpio/gpio.h> #include <dt-bindings/iio/qcom,spmi-vadc.h> #include <dt-bindings/input/input.h> diff --git a/qcom/qcs410.dtsi b/qcom/qcs410.dtsi index b2b5fd2a..301d87bb 100755 --- a/qcom/qcs410.dtsi +++ b/qcom/qcs410.dtsi @@ -3,6 +3,7 @@ #include "sm6150-pmic-overlay.dtsi" #include "sm6150-pm.dtsi" +#include "sm6150-thermal-overlay.dtsi" #include "sm6150-thermal.dtsi" #include "sm6150-coresight.dtsi" @@ -12,10 +13,10 @@ qcom,msm-id = <406 0>; cpus { - /delete-node/ CPU2; - /delete-node/ CPU3; - /delete-node/ CPU4; - /delete-node/ CPU5; + /delete-node/ cpu@200; + /delete-node/ cpu@300; + /delete-node/ cpu@400; + /delete-node/ cpu@500; cpu-map { cluster0 { @@ -28,16 +29,6 @@ }; }; -&reserved_memory { - memshare_mem: memshare_region { - compatible = "shared-dma-pool"; - no-map; - alloc-ranges = <0x0 0x00000000 0x0 0xffffffff>; - alignment = <0x0 0x100000>; - size = <0x0 0x800000>; - }; -}; - &soc { qcom,memshare { compatible = "qcom,memshare"; @@ -60,7 +51,6 @@ qcom,client_3 { compatible = "qcom,memshare-peripheral"; qcom,peripheral-size = <0x500000>; - memory-region = <&memshare_mem>; qcom,client-id = <1>; qcom,allocate-on-request; label = "modem"; @@ -194,7 +184,7 @@ reg = <0x1de0000 0x20000>, <0x1dc4000 0x24000>; reg-names = "crypto-base","crypto-bam-base"; - interrupts = <0 272 0>; + interrupts = <GIC_SPI 272 IRQ_TYPE_LEVEL_HIGH>; qcom,bam-pipe-pair = <3>; qcom,ce-hw-instance = <0>; qcom,ce-device = <0>; @@ -214,7 +204,7 @@ reg = <0x1de0000 0x20000>, <0x1dc4000 0x24000>; reg-names = "crypto-base","crypto-bam-base"; - interrupts = <0 272 0>; + interrupts = <GIC_SPI 272 IRQ_TYPE_LEVEL_HIGH>; qcom,bam-pipe-pair = <2>; qcom,ce-hw-instance = <0>; qcom,ce-device = <0>; @@ -248,6 +238,13 @@ cpus = <&CPU0>, <&CPU1>, <&CPU6>, <&CPU7>; }; + qcom,chd_silver { + compatible = "qcom,core-hang-detect"; + label = "silver"; + qcom,threshold-arr = <0x18000058 0x18010058>; + qcom,config-arr = <0x18000060 0x18010060>; + }; + /delete-node/ cti@7220000; /delete-node/ cti@7320000; /delete-node/ cti@7420000; @@ -257,20 +254,24 @@ /delete-node/ etm@7440000; /delete-node/ etm@7540000; - qcom,cpu0-cpu-l3-latmon { + cpu0_memlat_cpugrp: qcom,cpu0-cpugrp { qcom,cpulist = <&CPU0 &CPU1>; - }; - qcom,cpu0-cpu-llcc-latmon { - qcom,cpulist = <&CPU0 &CPU1>; - }; + cpu0_cpu_l3_latmon: qcom,cpu0-cpu-l3-latmon { + qcom,cpulist = <&CPU0 &CPU1>; + }; - qcom,cpu0-llcc-ddr-latmon { - qcom,cpulist = <&CPU0 &CPU1>; - }; + cpu0_cpu_llcc_latmon: qcom,cpu0-cpu-llcc-latmon { + qcom,cpulist = <&CPU0 &CPU1>; + }; - qcom,cpu0-computemon { - qcom,cpulist = <&CPU0 &CPU1>; + cpu0_llcc_ddr_latmon: qcom,cpu0-llcc-ddr-latmon { + qcom,cpulist = <&CPU0 &CPU1>; + }; + + cpu0_computemon: qcom,cpu0-computemon { + qcom,cpulist = <&CPU0 &CPU1>; + }; }; funnel_apss: funnel@7800000 { @@ -334,7 +335,29 @@ status = "ok"; }; +&cpufreq_hw { + qcom,cpu-isolation { + /delete-node/ cpu2-isolate; + /delete-node/ cpu3-isolate; + /delete-node/ cpu4-isolate; + /delete-node/ cpu5-isolate; + }; +}; + &thermal_zones { + pm6150l_tz { + cooling-maps { + /delete-node/ trip0_cpu2; + /delete-node/ trip0_cpu3; + /delete-node/ trip0_cpu4; + /delete-node/ trip0_cpu5; + /delete-node/ trip1_cpu2; + /delete-node/ trip1_cpu3; + /delete-node/ trip1_cpu4; + /delete-node/ trip1_cpu5; + }; + }; + cpuss-0-step { /delete-node/ cooling-maps; }; diff --git a/qcom/qcs610.dtsi b/qcom/qcs610.dtsi index 552828d4..0215875b 100755 --- a/qcom/qcs610.dtsi +++ b/qcom/qcs610.dtsi @@ -142,6 +142,7 @@ vdd-1.3-rfa-supply = <&pm6150l_l2>; vdd-3.3-ch0-supply = <&pm6150l_l10>; qcom,vdd-cx-mx-config = <640000 640000>; + qcom,is_low_power = <1>; qcom,smp2p_map_wlan_1_in { interrupts-extended = <&smp2p_wlan_1_in 0 0>, <&smp2p_wlan_1_in 1 0>; diff --git a/qcom/quin-vm-common.dtsi b/qcom/quin-vm-common.dtsi index 3b8d1747..ebf4537b 100755 --- a/qcom/quin-vm-common.dtsi +++ b/qcom/quin-vm-common.dtsi @@ -209,12 +209,6 @@ remote-vmids = <0>; }; - mmidgrp800: mmidgrp800 { - grp-start-id = <800>; - role = "fe"; - remote-vmids = <0>; - }; - mmidgrp900: mmidgrp900 { grp-start-id = <900>; role = "fe"; @@ -238,6 +232,18 @@ role = "fe"; remote-vmids = <0>; }; + + mmidgrp1400: mmidgrp1400 { + grp-start-id = <1400>; + role = "fe"; + remote-vmids = <0>; + }; + + mmidgrp1500: mmidgrp1500 { + grp-start-id = <1500>; + role = "fe"; + remote-vmids = <0>; + }; }; qcom,msm-imem@14680000 { diff --git a/qcom/sa410m-qrd.dtsi b/qcom/sa410m-qrd.dtsi index a436bfa5..e19d23e7 100755 --- a/qcom/sa410m-qrd.dtsi +++ b/qcom/sa410m-qrd.dtsi @@ -31,6 +31,8 @@ pinctrl-0 = <&sdc2_on>; pinctrl-1 = <&sdc2_off>; + cd-gpios = <&tlmm 88 GPIO_ACTIVE_HIGH>; + status = "ok"; }; diff --git a/qcom/sa410m.dtsi b/qcom/sa410m.dtsi index 438433b1..7308c01b 100755 --- a/qcom/sa410m.dtsi +++ b/qcom/sa410m.dtsi @@ -311,7 +311,7 @@ compatible = "qcom,mpm-gic-scuba", "qcom,mpm"; interrupts = <GIC_SPI 197 IRQ_TYPE_EDGE_RISING>; reg = <0x45f01b8 0x1000>, - <0x0f40000c 0x4>; /* MSM_APCS_GCC_BASE 4K */ + <0xf111008 0x4>; /* MSM_APCS_GCC_BASE 4K */ reg-names = "vmpm", "ipc"; qcom,num-mpm-irqs = <96>; interrupt-controller; diff --git a/qcom/sa415m-pinctrl.dtsi b/qcom/sa415m-pinctrl.dtsi index 0eeb0753..5159917b 100755 --- a/qcom/sa415m-pinctrl.dtsi +++ b/qcom/sa415m-pinctrl.dtsi @@ -1,15 +1,23 @@ &soc { tlmm: pinctrl@3900000 { compatible = "qcom,sa415m-pinctrl"; - reg = <0x3900000 0x300000>, - <0xB204900 0x280>; - reg-names = "pinctrl", "pinctrl_reg"; - interrupts = <0 212 0>; + reg = <0x3900000 0x300000>; + reg-names = "pinctrl"; + interrupts = <GIC_SPI 212 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 213 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 214 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 215 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 216 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 217 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 218 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 219 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH>; gpio-controller; #gpio-cells = <2>; interrupt-controller; interrupt-parent = <&intc>; #interrupt-cells = <2>; + wakeup-parent = <&pdc>; uart2_console_active: uart2_console_active { mux { diff --git a/qcom/sa415m.dtsi b/qcom/sa415m.dtsi index 965a83be..16356c8c 100755 --- a/qcom/sa415m.dtsi +++ b/qcom/sa415m.dtsi @@ -1,4 +1,5 @@ #include <dt-bindings/interrupt-controller/arm-gic.h> +#include <dt-bindings/soc/qcom,rpmh-rsc.h> / { #address-cells = <1>; @@ -23,10 +24,21 @@ peripheral2_mem: peripheral2_region@8fe00000 { no-map; - reg = <0x8fe00000 0xe00000>; + reg = <0x8fe40000 0xdc0000>; label = "peripheral2_mem"; }; + cmd_db: reserved-memory@8fe20000 { + compatible = "qcom,cmd-db"; + no-map; + reg = <0x8fe20000 0x20000>; + }; + + aop_image_mem: aop_image_region@8fe00000 { + no-map; + reg = <0x8fe00000 0x20000>; + }; + sbl_region: sbl_region@8fd00000 { no-map; reg = <0x8fd00000 0x100000>; @@ -108,6 +120,27 @@ #size-cells = <1>; ranges; + psci { + compatible = "arm,psci-1.0"; + method = "smc"; + }; + + apps_rsc: rsc@17830000 { + label = "apps_rsc"; + compatible = "qcom,rpmh-rsc"; + reg = <0x17830000 0x10000>, + <0x17840000 0x10000>; + reg-names = "drv-0", "drv-1"; + interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>; + qcom,tcs-offset = <0xd00>; + qcom,drv-id = <1>; + qcom,tcs-config = <ACTIVE_TCS 2>, + <SLEEP_TCS 2>, + <WAKE_TCS 2>, + <CONTROL_TCS 1>; + }; + intc: interrupt-controller@17800000 { compatible = "qcom,msm-qgic2"; interrupt-controller; @@ -117,6 +150,20 @@ <0x17802000 0x1000>; }; + pdc: interrupt-controller@b210000 { + compatible = "qcom,sa415m-pdc"; + reg = <0xb210000 0x30000>, + <0xb204900 0x700>; + reg-names = "base", "mux-base"; + qcom,pdc-ranges = <0 147 52>; + qcom,pdc-mux-ranges = <20 20 0>, <21 27 1>, <22 30 2>, + <23 31 3>, <24 40 4>, <25 45 5>, + <26 54 6>; + #interrupt-cells = <2>; + interrupt-parent = <&intc>; + interrupt-controller; + }; + timer { compatible = "arm,armv7-timer"; interrupts = <1 13 0xf08>, diff --git a/qcom/sa515m-audio-overlay.dtsi b/qcom/sa515m-audio-overlay.dtsi index 155aaa86..0c179280 100755 --- a/qcom/sa515m-audio-overlay.dtsi +++ b/qcom/sa515m-audio-overlay.dtsi @@ -33,14 +33,13 @@ qcom,cdc-ext-clk-rate = <19200000>; qcom,tavil-mclk-clk-freq = <9600000>; - asoc-codec = <&stub_codec>; - asoc-codec-names = "msm-stub-codec.1"; - - qcom,wsa-max-devs = <2>; - qcom,wsa-devs = <&wsa881x_0211>, <&wsa881x_0212>, - <&wsa881x_0213>, <&wsa881x_0214>; - qcom,wsa-aux-dev-prefix = "SpkrLeft", "SpkrRight", - "SpkrLeft", "SpkrRight"; + asoc-codec = <&stub_codec>, <&wsa881x_0214>; + asoc-codec-names = "msm-stub-codec.1", "wsa-codec.1"; + + qcom,wsa-max-devs = <1>; + qcom,swr-num-dev = <1>; + qcom,wsa-devs = <&wsa881x_0214>; + qcom,wsa-aux-dev-prefix = "SpkrLeft"; qcom,msm_audio_ssr_devs = <&audio_apr>, <&wcd934x_cdc>, <&q6core>; }; diff --git a/qcom/sa515m-ccard-cnss.dtsi b/qcom/sa515m-ccard-cnss.dtsi index 27a67366..b048e24d 100755 --- a/qcom/sa515m-ccard-cnss.dtsi +++ b/qcom/sa515m-ccard-cnss.dtsi @@ -50,6 +50,272 @@ qcom,bt-vdd-rfa1-config = <1370000 1370000 0 0>; qcom,bt-vdd-rfa3-config = <1904000 1904000 0 0>; }; + + cnss_pcie: qcom,cnss-qca-converged { + compatible = "qcom,cnss-qca-converged"; + + qcom,converged-dt; + qcom,wlan-rc-num = <0>; + qcom,bus-type=<0>; + qcom,notify-modem-status; + + #address-cells=<1>; + #size-cells=<1>; + ranges = <0xa0000000 0xa0000000 0x10000000>, + <0xb0000000 0xb0000000 0x10000>; + + vdd-wlan-ctrl1-supply = <&vreg_conn_pa>; + vdd-wlan-ctrl2-supply = <&vreg_conn_1p8>; + vdd-wlan-aon-supply = <&pmx55_s3>; + vdd-wlan-rfa1-supply = <&pmx55_s2>; + vdd-wlan-rfa3-supply = <&pmx55_s4>; + + wlan_vregs = "vdd-wlan-ctrl1", "vdd-wlan-ctrl2", "vdd-wlan-aon", "vdd-wlan-rfa1", "vdd-wlan-rfa3"; + qcom,vdd-wlan-ctrl1-config = <0 0 0 0 0>; + qcom,vdd-wlan-ctrl2-config = <0 0 0 0 0>; + qcom,vdd-wlan-aon-config = <1000000 1000000 0 0 0>; + qcom,vdd-wlan-rfa1-config = <1370000 1370000 0 0 0>; + qcom,vdd-wlan-rfa3-config = <1904000 1904000 450000 0 0>; + wlan-en-gpio = <&tlmm 52 0>; + pinctrl-names = "wlan_en_active", "wlan_en_sleep"; + pinctrl-0 = <&cnss_wlan_en_active>; + pinctrl-1 = <&cnss_wlan_en_sleep>; + + chip_cfg@0 { + reg = <0xa0000000 0x10000000>, + <0xb0000000 0x10000>; + reg-names = "smmu_iova_base", "smmu_iova_ipa"; + + supported-ids = <0x003e>; + wlan_vregs = "vdd-wlan"; + qcom,vdd-wlan-config = <0 0 0 10 0>; + + qcom,smmu-s1-enable; + qcom,wlan-ramdump-dynamic = <0x200000>; + }; + + chip_cfg@1 { + reg = <0xa0000000 0x10000000>, + <0xb0000000 0x10000>; + reg-names = "smmu_iova_base", "smmu_iova_ipa"; + + supported-ids = <0x1101>; + wlan_vregs = "vdd-wlan-aon", "vdd-wlan-rfa1", + "vdd-wlan-rfa3"; + + qcom,vdd-wlan-aon-config = <1000000 1000000 0 0 0>; + qcom,vdd-wlan-rfa1-config = <1370000 1370000 0 0 0>; + qcom,vdd-wlan-rfa3-config = <1904000 1904000 450000 0 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>; + }; + }; + }; + + chip_cfg@2 { + reg = <0xa0000000 0x10000000>, + <0xb0000000 0x10000>; + reg-names = "smmu_iova_base", "smmu_iova_ipa"; + qcom,smmu-s1-enable; + supported-ids = <0x1102>; + wlan_vregs = "vdd-wlan-aon", "vdd-wlan-rfa1", + "vdd-wlan-rfa3"; + + qcom,vdd-wlan-aon-config = <1000000 1000000 0 0 0>; + qcom,vdd-wlan-rfa1-config = <1370000 1370000 0 0 0>; + qcom,vdd-wlan-rfa3-config = <1904000 1904000 0 0 0>; + + qcom,wlan-ramdump-dynamic = <0x300000>; + mhi,max-channels = <30>; + mhi,buffer-len = <0x8000>; + mhi,timeout = <10000>; + mhi,ee = <0x3>, <0x4>; + mhi,ee-names = "SBL", "RDDM"; + mhi,bhie-offset = <0x0324>; + mhi_channels { + 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@16 { + reg = <16>; + 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@17 { + reg = <17>; + 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>; + }; + }; + }; + }; }; &blsp1_uart2b_hs { diff --git a/qcom/sa515m-ccard-pcie-ep.dts b/qcom/sa515m-ccard-pcie-ep.dts index ca38d76a..fa967567 100755 --- a/qcom/sa515m-ccard-pcie-ep.dts +++ b/qcom/sa515m-ccard-pcie-ep.dts @@ -17,3 +17,30 @@ &pcie_ep { status = "ok"; }; + +&ipa_hw { + qcom,use-ipa-in-mhi-mode; + qcom,mhi-event-ring-id-limits = <7 13>; /* start and end */ + ipa_smmu_ap: ipa_smmu_ap { + qcom,iommu-dma = "bypass"; + }; + + ipa_smmu_wlan: ipa_smmu_wlan { + qcom,iommu-dma = "bypass"; + }; + + ipa_smmu_uc: ipa_smmu_uc { + qcom,iommu-dma = "bypass"; + }; +}; + +&mhi_device { + reg = <0x1c03000 0x1000>, + <0x1e15000 0x4>, + <0x1e15138 0x4>; + status = "ok"; +}; + +&mhi_net_device { + status = "ok"; +}; diff --git a/qcom/sa515m-ccard.dtsi b/qcom/sa515m-ccard.dtsi index 420067fa..1aeb63fa 100755 --- a/qcom/sa515m-ccard.dtsi +++ b/qcom/sa515m-ccard.dtsi @@ -1,5 +1,4 @@ #include "sdx55-mtp.dtsi" -#include "sa515m.dtsi" #include "sa515m-ccard-cnss.dtsi" &soc { @@ -93,7 +92,7 @@ tlv320aic3x_codec: tlv320aic3x@18 { compatible = "ti,tlv320aic3x"; reg = <0x18>; - gpio-reset = <&tlmm 92 0>; + reset-gpios = <&tlmm 92 0>; reset-inverted; AVDD-supply = <&codec_vreg>; IOVDD-supply = <&codec_vreg>; diff --git a/qcom/sa515m-pcie.dtsi b/qcom/sa515m-pcie.dtsi index 19b0bdda..85ca5054 100755 --- a/qcom/sa515m-pcie.dtsi +++ b/qcom/sa515m-pcie.dtsi @@ -421,4 +421,26 @@ 0x1244 0x003 0x0>; status = "disabled"; }; + + mhi_device: mhi_dev@1c03000 { + compatible = "qcom,msm-mhi-dev"; + reg = <0x1c03000 0x1000>, + <0x1e15000 0x4>, + <0x1e15148 0x4>; + reg-names = "mhi_mmio_base", "ipa_uc_mbox_crdb", + "ipa_uc_mbox_erdb"; + qcom,mhi-ep-msi = <0>; + qcom,mhi-version = <0x1000000>; + qcom,use-ipa-software-channel; + interrupts = <0 145 0>; + interrupt-names = "mhi-device-inta"; + qcom,mhi-ifc-id = <0x030617cb>; + qcom,mhi-interrupt; + status = "disabled"; + }; + + mhi_net_device: qcom,mhi_net_dev { + compatible = "qcom,msm-mhi-dev-net"; + status = "disabled"; + }; }; diff --git a/qcom/sa515m-v2-ccard-pcie-ep.dts b/qcom/sa515m-v2-ccard-pcie-ep.dts index c967203b..00387dae 100755 --- a/qcom/sa515m-v2-ccard-pcie-ep.dts +++ b/qcom/sa515m-v2-ccard-pcie-ep.dts @@ -33,3 +33,14 @@ qcom,iommu-dma = "bypass"; }; }; + +&mhi_device { + reg = <0x1c03000 0x1000>, + <0x1e15000 0x4>, + <0x1e15138 0x4>; + status = "ok"; +}; + +&mhi_net_device { + status = "ok"; +}; diff --git a/qcom/sa515m.dtsi b/qcom/sa515m.dtsi index 488a86bd..4e01586e 100755 --- a/qcom/sa515m.dtsi +++ b/qcom/sa515m.dtsi @@ -5,13 +5,14 @@ #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> / { #address-cells = <1>; #size-cells = <1>; model = "Qualcomm Technologies, Inc. SA515M"; compatible = "qcom,sa515m"; - qcom,msm-id = <418 0x20000>; + qcom,msm-id = <418 0x10000>; interrupt-parent = <&intc>; @@ -31,7 +32,7 @@ mpss_adsp_mem: mpss_adsp_region@90800000 { no-map; - reg = <0x90800000 0xf800000>; + reg = <0x90800000 0xe000000>; label = "mpss_adsp_mem"; }; @@ -950,6 +951,124 @@ interrupt-names = "ipa-smp2p-in"; }; }; + + mtl_rx_setup: rx-queues-config { + snps,rx-queues-to-use = <4>; + snps,rx-sched-sp; + + queue0 { + snps,dcb-algorithm; + snps,map-to-dma-channel = <0x0>; + snps,route-up; + snps,route-ptp; + snps,route-dcbcp; + }; + + queue1 { + snps,dcb-algorithm; + snps,map-to-dma-channel = <0x1>; + snps,route-avcp; + snps,route-multi-broad; + }; + + queue2 { + snps,avb-algorithm; + snps,map-to-dma-channel = <0x2>; + }; + + queue3 { + snps,avb-algorithm; + snps,map-to-dma-channel = <0x3>; + snps,priority = <0x0C>; + }; + }; + + mtl_tx_setup: tx-queues-config { + snps,tx-queues-to-use = <5>; + snps,tx-sched-sp; + queue0 { + snps,dcb-algorithm; + }; + + queue1 { + snps,dcb-algorithm; + }; + + queue2 { + snps,avb-algorithm; + snps,send_slope = <0x1000>; + snps,idle_slope = <0x1000>; + snps,high_credit = <0x3E800>; + snps,low_credit = <0xFFC18000>; + }; + + queue3 { + snps,avb-algorithm; + snps,send_slope = <0x1000>; + snps,idle_slope = <0x1000>; + snps,high_credit = <0x3E800>; + snps,low_credit = <0xFFC18000>; + }; + }; + + ethqos_hw: qcom,ethernet@00020000 { + compatible = "qcom,sdxprairie-ethqos"; + qcom,arm-smmu; + reg = <0x20000 0x10000>, + <0x36000 0x100>, + <0xf100000 0x300000>; + reg-names = "stmmaceth", "rgmii","tlmm-central-base"; + clocks = <&gcc GCC_ETH_AXI_CLK>, + <&gcc GCC_ETH_SLAVE_AHB_CLK>, + <&gcc GCC_ETH_PTP_CLK>, + <&gcc GCC_ETH_RGMII_CLK>; + clock-names = "stmmaceth", "pclk", "ptp_ref", "rgmii"; + 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", + "phy-intr", "ptp_pps_irq_0", "ptp_pps_irq_1"; + + snps,tso; + rx-fifo-depth = <16384>; + tx-fifo-depth = <16384>; + snps,mtl-rx-config = <&mtl_rx_setup>; + snps,mtl-tx-config = <&mtl_tx_setup>; + + vreg_rgmii-supply = <&pmx55_vref_rgmii>; + vreg_emac_phy-supply = <&vreg_emac_phy>; + vreg_rgmii_io_pads-supply = <&vreg_rgmii_io_pads>; + gdsc_emac-supply = <&gdsc_emac>; + + qcom,phy-intr-redirect = <&tlmm 90 GPIO_ACTIVE_LOW>; + pinctrl-names = "dev-emac_pin_pps_0", "dev-emac_pin_pps_1"; + pinctrl-0 = <&emac_pin_pps_0>; + pinctrl-1 = <&emac_pin_pps_1>; + snps,reset-gpios = <&tlmm 91 GPIO_ACTIVE_HIGH>; + + snps,reset-delays-us = <0 10000 100000>; + phy-mode = "rgmii"; + + ethqos_emb_smmu: ethqos_emb_smmu { + compatible = "qcom,emac-smmu-embedded"; + iommus = <&apps_smmu 0x1c0 0xf>; + qcom,iommu-dma = "fastmap"; + qcom,iommu-dma-addr-pool = <0x80000000 0x40000000>; + }; + + + rgmii-io-macro-info { + prg-rclk-dly = <1507>; + config-cdr-en = <0>; + mclk-gating-en = <1>; + cdr-fine-phase = <1>; + loopback-en = <0>; + rx-prog-swap = <1>; + tx-clk-phase-shift-en = <1>; + dll-clock-dis = <1>; + ddr-traffic-init-sel = <0>; + ddr-traffic-init-sw = <0>; + }; + }; }; #include "sa515m-pinctrl.dtsi" @@ -997,3 +1116,83 @@ cd-gpios = <&tlmm 99 GPIO_ACTIVE_LOW>; status = "ok"; }; + +#include "sdxprairie-thermal.dtsi" + +&thermal_zones { + /delete-node/ pm8150b-wp-therm; + /delete-node/ pm8150b_tz; + /delete-node/ pm8150b-ibat-lvl0; + /delete-node/ pm8150b-ibat-lvl1; + /delete-node/ pm8150b-vbat-lvl0; + /delete-node/ pm8150b-vbat-lvl1; + /delete-node/ pm8150b-vbat-lvl2; + /delete-node/ pm8150b-bcl-lvl0; + /delete-node/ pm8150b-bcl-lvl1; + /delete-node/ pm8150b-bcl-lvl2; + /delete-node/ soc; + + /* update Tj thresholds */ + mdm-core-0-step { + trips { + active-config0 { + temperature = <101000>; + hysteresis = <5000>; + }; + + active-config1 { + temperature = <103000>; + hysteresis = <3000>; + }; + + active-config2 { + temperature = <105000>; + hysteresis = <3000>; + }; + }; + }; + + mdm-core-0-v2x-step { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-sensors = <&tsens0 6>; + thermal-governor = "step_wise"; + + trips { + tj_v2x_config0: active-config0 { + temperature = <105000>; + hysteresis = <5000>; + type = "passive"; + }; + + tj_v2x_config1: active-config1 { + temperature = <110000>; + hysteresis = <5000>; + type = "passive"; + }; + + tj_v2x_config2: active-config2 { + temperature = <115000>; + hysteresis = <5000>; + type = "passive"; + }; + }; + + cooling-maps { + modem_tj0_v2x_cdev { + trip = <&tj_v2x_config0>; + cooling-device = <&modem_v2x 1 1>; + }; + + modem_tj1_v2x_cdev { + trip = <&tj_v2x_config1>; + cooling-device = <&modem_v2x 2 2>; + }; + + modem_tj2_v2x_cdev { + trip = <&tj_v2x_config2>; + cooling-device = <&modem_v2x 3 3>; + }; + }; + }; +}; diff --git a/qcom/sa6155p-vm.dtsi b/qcom/sa6155p-vm.dtsi index 9e37b137..8a2506ea 100755 --- a/qcom/sa6155p-vm.dtsi +++ b/qcom/sa6155p-vm.dtsi @@ -475,3 +475,8 @@ status = "ok"; }; +&hab { + /delete-node/ mmidgrp1400; + /delete-node/ mmidgrp1500; +}; + diff --git a/qcom/sa6155p.dtsi b/qcom/sa6155p.dtsi index a41e9e14..8886ced6 100755 --- a/qcom/sa6155p.dtsi +++ b/qcom/sa6155p.dtsi @@ -15,8 +15,8 @@ }; &reserved_memory { - uefi_log: uefi_log@9241C000 { - reg = <0x0 0x9241C000 0x0 0x10000>; + uefi_log: uefi_log@93900000 { + reg = <0x0 0x93900000 0x0 0x10000>; label = "uefi_log"; }; }; diff --git a/qcom/sa8155-vm.dtsi b/qcom/sa8155-vm.dtsi index 10d6f4f7..2827b9f6 100755 --- a/qcom/sa8155-vm.dtsi +++ b/qcom/sa8155-vm.dtsi @@ -915,3 +915,9 @@ qcom,iommu-dma = "bypass"; status = "disabled"; }; + +&hab { + /delete-node/ mmidgrp1400; + /delete-node/ mmidgrp1500; +}; + diff --git a/qcom/sa8155.dtsi b/qcom/sa8155.dtsi index c0db48d6..3ee4c524 100755 --- a/qcom/sa8155.dtsi +++ b/qcom/sa8155.dtsi @@ -164,7 +164,9 @@ "dev-emac-rgmii_rx_ctl_state", "dev-emac-phy_intr", "dev-emac-phy_reset_state", - "dev-emac_pin_pps_0"; + "dev-emac_pin_pps_0", + "dev-emac-rgmii_txc_suspend_state", + "dev-emac-rgmii_txc_resume_state"; pinctrl-0 = <&emac_mdc>; pinctrl-1 = <&emac_mdio>; @@ -186,6 +188,8 @@ pinctrl-14 = <&emac_phy_intr>; pinctrl-15 = <&emac_phy_reset_state>; pinctrl-16 = <&emac_pin_pps_0>; + pinctrl-17 = <&emac_rgmii_txc_suspend>; + pinctrl-18 = <&emac_rgmii_txc_resume>; snps,reset-delays-us = <0 11000 70000>; phy-mode = "rgmii"; diff --git a/qcom/sa8195-vm.dtsi b/qcom/sa8195-vm.dtsi index c8426307..bb13629f 100755 --- a/qcom/sa8195-vm.dtsi +++ b/qcom/sa8195-vm.dtsi @@ -960,3 +960,9 @@ qcom,iommu-dma = "atomic"; status = "disabled"; }; + +&hab { + /delete-node/ mmidgrp1400; + /delete-node/ mmidgrp1500; +}; + diff --git a/qcom/sdx55-regulator.dtsi b/qcom/sdx55-regulator.dtsi index 965ae891..801046d9 100755 --- a/qcom/sdx55-regulator.dtsi +++ b/qcom/sdx55-regulator.dtsi @@ -85,6 +85,15 @@ qcom,init-voltage-level = <RPMH_REGULATOR_LEVEL_RETENTION>; }; + + 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>; + }; }; /* PMX55 S5 = VDD_CX supply */ @@ -119,6 +128,13 @@ <RPMH_REGULATOR_LEVEL_RETENTION>; 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-ldoe1 { diff --git a/qcom/sdxprairie-thermal-common.dtsi b/qcom/sdxprairie-thermal-common.dtsi new file mode 100755 index 00000000..0335e50f --- /dev/null +++ b/qcom/sdxprairie-thermal-common.dtsi @@ -0,0 +1,650 @@ +&soc { + qmi-tmd-devices { + compatible = "qcom,qmi-cooling-devices"; + + modem { + qcom,instance-id = <QMI_MODEM_NR_INST_ID>; + + modem_pa: modem_pa { + qcom,qmi-dev-name = "pa"; + #cooling-cells = <2>; + }; + + modem_pa_fr1: modem_pa_fr1 { + qcom,qmi-dev-name = "pa_fr1"; + #cooling-cells = <2>; + }; + + modem_tj: modem_tj { + qcom,qmi-dev-name = "modem"; + #cooling-cells = <2>; + }; + + modem_current: modem_current { + qcom,qmi-dev-name = "modem_current"; + #cooling-cells = <2>; + }; + + modem_skin: modem_skin { + qcom,qmi-dev-name = "modem_skin"; + #cooling-cells = <2>; + }; + + modem_mmw_skin0: modem_mmw_skin0 { + qcom,qmi-dev-name = "mmw_skin0"; + #cooling-cells = <2>; + }; + + modem_mmw_skin1: modem_mmw_skin1 { + qcom,qmi-dev-name = "mmw_skin1"; + #cooling-cells = <2>; + }; + + modem_mmw_skin2: modem_mmw_skin2 { + qcom,qmi-dev-name = "mmw_skin2"; + #cooling-cells = <2>; + }; + + modem_mmw_skin3: modem_mmw_skin3 { + qcom,qmi-dev-name = "mmw_skin3"; + #cooling-cells = <2>; + }; + + modem_mmw0: modem_mmw0 { + qcom,qmi-dev-name = "mmw0"; + #cooling-cells = <2>; + }; + + modem_mmw1: modem_mmw1 { + qcom,qmi-dev-name = "mmw1"; + #cooling-cells = <2>; + }; + + modem_mmw2: modem_mmw2 { + qcom,qmi-dev-name = "mmw2"; + #cooling-cells = <2>; + }; + + modem_mmw3: modem_mmw3 { + qcom,qmi-dev-name = "mmw3"; + #cooling-cells = <2>; + }; + + modem_bcl: modem_bcl { + qcom,qmi-dev-name = "vbatt_low"; + #cooling-cells = <2>; + }; + + modem_charge_state: modem_charge_state { + qcom,qmi-dev-name = "charge_state"; + #cooling-cells = <2>; + }; + + modem_vdd: modem_vdd { + qcom,qmi-dev-name = "cpuv_restriction_cold"; + #cooling-cells = <2>; + }; + + modem_v2x: modem_v2x { + qcom,qmi-dev-name = "modem_v2x"; + #cooling-cells = <2>; + }; + }; + }; + + qmi_sensor: qmi-ts-sensors { + compatible = "qcom,qmi-sensors"; + #thermal-sensor-cells = <1>; + + modem { + qcom,instance-id = <QMI_MODEM_NR_INST_ID>; + qcom,qmi-sensor-names = "pa", + "pa_1", + "qfe_wtr0", + "modem_tsens", + "qfe_mmw0", + "qfe_mmw1", + "qfe_mmw2", + "qfe_mmw3", + "xo_therm", + "qfe_mmw_streamer0", + "qfe_mmw0_mod", + "qfe_mmw1_mod", + "qfe_mmw2_mod", + "qfe_mmw3_mod", + "qfe_ret_pa0", + "qfe_ret_pa1", + "qfe_wtr_pa0", + "qfe_wtr_pa1", + "qfe_wtr_pa2", + "qfe_wtr_pa3", + "sys_therm1", + "sys_therm2", + "modem_tsens1", + "qfe_ret_pa0_fr1", + "qfe_ret_pa1_fr1", + "qfe_wtr_pa0_fr1", + "qfe_wtr_pa1_fr1", + "qfe_wtr_pa2_fr1", + "qfe_wtr_pa3_fr1", + "qfe_wtr_pa4", + "qfe_wtr_pa5", + "qfe_wtr_pa6", + "qfe_wtr_pa4_fr1", + "qfe_wtr_pa5_fr1", + "qfe_wtr_pa6_fr1"; + }; + }; +}; + +&thermal_zones { + modem-lte-sub6-pa1 { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "user_space"; + thermal-sensors = <&qmi_sensor + (QMI_MODEM_NR_INST_ID+QMI_PA)>; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; + + modem-lte-sub6-pa2 { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "user_space"; + thermal-sensors = <&qmi_sensor + (QMI_MODEM_NR_INST_ID+QMI_PA_1)>; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; + + modem-mmw0-usr { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "user_space"; + thermal-sensors = <&qmi_sensor + (QMI_MODEM_NR_INST_ID+QMI_QFE_MMW_0)>; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; + + modem-mmw1-usr { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "user_space"; + thermal-sensors = <&qmi_sensor + (QMI_MODEM_NR_INST_ID+QMI_QFE_MMW_1)>; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; + + modem-mmw2-usr { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "user_space"; + thermal-sensors = <&qmi_sensor + (QMI_MODEM_NR_INST_ID+QMI_QFE_MMW_2)>; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; + + modem-mmw3-usr { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "user_space"; + thermal-sensors = <&qmi_sensor + (QMI_MODEM_NR_INST_ID+QMI_QFE_MMW_3)>; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; + + modem-skin-usr { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "user_space"; + thermal-sensors = <&qmi_sensor + (QMI_MODEM_NR_INST_ID+QMI_XO_THERM)>; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; + + modem-wifi-usr { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "user_space"; + thermal-sensors = <&qmi_sensor + (QMI_MODEM_NR_INST_ID+QMI_SYS_THERM_1)>; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; + + modem-ambient-usr { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "user_space"; + thermal-sensors = <&qmi_sensor + (QMI_MODEM_NR_INST_ID+QMI_SYS_THERM_2)>; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; + + modem-0-usr { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "user_space"; + thermal-sensors = <&qmi_sensor + (QMI_MODEM_NR_INST_ID+QMI_MODEM_TSENS)>; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; + + modem-1-usr { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "user_space"; + thermal-sensors = <&qmi_sensor + (QMI_MODEM_NR_INST_ID+QMI_MODEM_TSENS_1)>; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; + + modem-streamer-usr { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "user_space"; + thermal-sensors = <&qmi_sensor + (QMI_MODEM_NR_INST_ID+QMI_QFE_MMW_STREAMER_0)>; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; + + modem-mmw0-mod-usr { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "user_space"; + thermal-sensors = <&qmi_sensor + (QMI_MODEM_NR_INST_ID+QMI_QFE_MMW_0_MOD)>; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; + + modem-mmw1-mod-usr { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "user_space"; + thermal-sensors = <&qmi_sensor + (QMI_MODEM_NR_INST_ID+QMI_QFE_MMW_1_MOD)>; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; + + modem-mmw2-mod-usr { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "user_space"; + thermal-sensors = <&qmi_sensor + (QMI_MODEM_NR_INST_ID+QMI_QFE_MMW_2_MOD)>; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; + + modem-mmw3-mod-usr { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "user_space"; + thermal-sensors = <&qmi_sensor + (QMI_MODEM_NR_INST_ID+QMI_QFE_MMW_3_MOD)>; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; + + modem-ret-0-usr { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "user_space"; + thermal-sensors = <&qmi_sensor + (QMI_MODEM_NR_INST_ID+QMI_QFE_RET_PA_0)>; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; + + modem-ret-1-usr { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "user_space"; + thermal-sensors = <&qmi_sensor + (QMI_MODEM_NR_INST_ID+QMI_QFE_RET_PA_1)>; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; + + modem-wtr-0-usr { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "user_space"; + thermal-sensors = <&qmi_sensor + (QMI_MODEM_NR_INST_ID+QMI_QFE_WTR_PA_0)>; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; + + modem-wtr-1-usr { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "user_space"; + thermal-sensors = <&qmi_sensor + (QMI_MODEM_NR_INST_ID+QMI_QFE_WTR_PA_1)>; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; + + modem-wtr-2-usr { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "user_space"; + thermal-sensors = <&qmi_sensor + (QMI_MODEM_NR_INST_ID+QMI_QFE_WTR_PA_2)>; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; + + modem-wtr-3-usr { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "user_space"; + thermal-sensors = <&qmi_sensor + (QMI_MODEM_NR_INST_ID+QMI_QFE_WTR_PA_3)>; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; + + modem-wtr-4-usr { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "user_space"; + thermal-sensors = <&qmi_sensor + (QMI_MODEM_NR_INST_ID+QMI_QFE_WTR_PA_4)>; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; + + modem-wtr-5-usr { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "user_space"; + thermal-sensors = <&qmi_sensor + (QMI_MODEM_NR_INST_ID+QMI_QFE_WTR_PA_5)>; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; + + modem-wtr-6-usr { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "user_space"; + thermal-sensors = <&qmi_sensor + (QMI_MODEM_NR_INST_ID+QMI_QFE_WTR_PA_6)>; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; + + modem-ret-0-fr1-usr { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "user_space"; + thermal-sensors = <&qmi_sensor + (QMI_MODEM_NR_INST_ID+QMI_QFE_RET_PA0_FR1)>; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; + + modem-ret-1-fr1-usr { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "user_space"; + thermal-sensors = <&qmi_sensor + (QMI_MODEM_NR_INST_ID+QMI_QFE_RET_PA1_FR1)>; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; + + modem-wtr-0-fr1-usr { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "user_space"; + thermal-sensors = <&qmi_sensor + (QMI_MODEM_NR_INST_ID+QMI_QFE_WTR_PA0_FR1)>; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; + + modem-wtr-1-fr1-usr { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "user_space"; + thermal-sensors = <&qmi_sensor + (QMI_MODEM_NR_INST_ID+QMI_QFE_WTR_PA1_FR1)>; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; + + modem-wtr-2-fr1-usr { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "user_space"; + thermal-sensors = <&qmi_sensor + (QMI_MODEM_NR_INST_ID+QMI_QFE_WTR_PA2_FR1)>; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; + + modem-wtr-3-fr1-usr { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "user_space"; + thermal-sensors = <&qmi_sensor + (QMI_MODEM_NR_INST_ID+QMI_QFE_WTR_PA3_FR1)>; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; + + modem-wtr-4-fr1-usr { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "user_space"; + thermal-sensors = <&qmi_sensor + (QMI_MODEM_NR_INST_ID+QMI_QFE_WTR_PA4_FR1)>; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; + + modem-wtr-5-fr1-usr { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "user_space"; + thermal-sensors = <&qmi_sensor + (QMI_MODEM_NR_INST_ID+QMI_QFE_WTR_PA5_FR1)>; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; + + modem-wtr-6-fr1-usr { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "user_space"; + thermal-sensors = <&qmi_sensor + (QMI_MODEM_NR_INST_ID+QMI_QFE_WTR_PA6_FR1)>; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; +}; diff --git a/qcom/sdxprairie-thermal.dtsi b/qcom/sdxprairie-thermal.dtsi new file mode 100755 index 00000000..83f9da29 --- /dev/null +++ b/qcom/sdxprairie-thermal.dtsi @@ -0,0 +1,204 @@ +#include <dt-bindings/thermal/thermal.h> +#include <dt-bindings/thermal/thermal_qti.h> +#include "sdxprairie-thermal-common.dtsi" + + +&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"; + tsens-reinit-wa; + #thermal-sensor-cells = <1>; + }; +}; + +&thermal_zones { + aoss0-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"; + }; + + active-config1 { + temperature = <115000>; + hysteresis = <5000>; + 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"; + }; + + active-config1 { + temperature = <115000>; + hysteresis = <5000>; + type = "passive"; + }; + }; + }; + + ipa-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"; + }; + + active-config1 { + temperature = <115000>; + hysteresis = <5000>; + type = "passive"; + }; + }; + }; + + cpu0-0-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"; + }; + + active-config1 { + temperature = <115000>; + hysteresis = <5000>; + type = "passive"; + }; + }; + }; + + mdm-core-2-usr { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-sensors = <&tsens0 4>; + thermal-governor = "user_space"; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + + active-config1 { + temperature = <115000>; + hysteresis = <5000>; + type = "passive"; + }; + }; + }; + + mdm-core-1-usr { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-sensors = <&tsens0 5>; + thermal-governor = "user_space"; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + + active-config1 { + temperature = <115000>; + hysteresis = <5000>; + type = "passive"; + }; + }; + }; + + mdm-core-0-usr { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-sensors = <&tsens0 6>; + thermal-governor = "user_space"; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + + active-config1 { + temperature = <115000>; + hysteresis = <5000>; + type = "passive"; + }; + }; + }; + + mdm-core-0-step { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-sensors = <&tsens0 6>; + thermal-governor = "step_wise"; + trips { + tj_config0: active-config0 { + temperature = <85000>; + hysteresis = <3000>; + type = "passive"; + }; + + tj_config1: active-config1 { + temperature = <90000>; + hysteresis = <7000>; + type = "passive"; + }; + + tj_config2: active-config2 { + temperature = <95000>; + hysteresis = <7000>; + type = "passive"; + }; + }; + + cooling-maps { + modem_tj0_cdev { + trip = <&tj_config0>; + cooling-device = <&modem_tj 1 1>; + }; + + modem_tj1_cdev { + trip = <&tj_config1>; + cooling-device = <&modem_tj 2 2>; + }; + + modem_tj2_cdev { + trip = <&tj_config2>; + cooling-device = <&modem_tj 3 3>; + }; + }; + }; +}; diff --git a/qcom/sm6150-thermal-overlay.dtsi b/qcom/sm6150-thermal-overlay.dtsi new file mode 100755 index 00000000..9e514227 --- /dev/null +++ b/qcom/sm6150-thermal-overlay.dtsi @@ -0,0 +1,202 @@ +#include <dt-bindings/thermal/thermal_qti.h> + +&thermal_zones { + pm6150-tz { + cooling-maps { + trip0_bat { + trip = <&pm6150_trip0>; + cooling-device = + <&pm6150_charger (THERMAL_MAX_LIMIT-1) + (THERMAL_MAX_LIMIT-1)>; + }; + + trip1_bat { + trip = <&pm6150_trip1>; + cooling-device = + <&pm6150_charger THERMAL_MAX_LIMIT + THERMAL_MAX_LIMIT>; + }; + }; + }; + + pm6150l_tz { + cooling-maps { + trip0_cpu0 { + trip = <&pm6150l_trip0>; + cooling-device = + <&CPU0 (THERMAL_MAX_LIMIT-1) + (THERMAL_MAX_LIMIT-1)>; + }; + + trip0_cpu1 { + trip = <&pm6150l_trip0>; + cooling-device = + <&CPU1 (THERMAL_MAX_LIMIT-1) + (THERMAL_MAX_LIMIT-1)>; + }; + + trip0_cpu2 { + trip = <&pm6150l_trip0>; + cooling-device = + <&CPU2 (THERMAL_MAX_LIMIT-1) + (THERMAL_MAX_LIMIT-1)>; + }; + + trip0_cpu3 { + trip = <&pm6150l_trip0>; + cooling-device = + <&CPU3 (THERMAL_MAX_LIMIT-1) + (THERMAL_MAX_LIMIT-1)>; + }; + + trip0_cpu4 { + trip = <&pm6150l_trip0>; + cooling-device = + <&CPU4 (THERMAL_MAX_LIMIT-1) + (THERMAL_MAX_LIMIT-1)>; + }; + + trip0_cpu5 { + trip = <&pm6150l_trip0>; + cooling-device = + <&CPU5 (THERMAL_MAX_LIMIT-1) + (THERMAL_MAX_LIMIT-1)>; + }; + + trip0_cpu6 { + trip = <&pm6150l_trip0>; + cooling-device = + <&CPU6 (THERMAL_MAX_LIMIT-1) + (THERMAL_MAX_LIMIT-1)>; + }; + + trip0_cpu7 { + trip = <&pm6150l_trip0>; + cooling-device = + <&CPU7 (THERMAL_MAX_LIMIT-1) + (THERMAL_MAX_LIMIT-1)>; + }; + + trip1_cpu1 { + trip = <&pm6150l_trip1>; + cooling-device = + <&CPU1 THERMAL_MAX_LIMIT + THERMAL_MAX_LIMIT>; + }; + + trip1_cpu2 { + trip = <&pm6150l_trip1>; + cooling-device = + <&CPU2 THERMAL_MAX_LIMIT + THERMAL_MAX_LIMIT>; + }; + + trip1_cpu3 { + trip = <&pm6150l_trip1>; + cooling-device = + <&CPU3 THERMAL_MAX_LIMIT + THERMAL_MAX_LIMIT>; + }; + + trip1_cpu4 { + trip = <&pm6150l_trip1>; + cooling-device = + <&CPU4 THERMAL_MAX_LIMIT + THERMAL_MAX_LIMIT>; + }; + + trip1_cpu5 { + trip = <&pm6150l_trip1>; + cooling-device = + <&CPU5 THERMAL_MAX_LIMIT + THERMAL_MAX_LIMIT>; + }; + + trip1_cpu6 { + trip = <&pm6150l_trip1>; + cooling-device = + <&CPU6 THERMAL_MAX_LIMIT + THERMAL_MAX_LIMIT>; + }; + + trip1_cpu7 { + trip = <&pm6150l_trip1>; + cooling-device = + <&CPU7 THERMAL_MAX_LIMIT + THERMAL_MAX_LIMIT>; + }; + }; + }; + + pm6150-bcl-lvl0 { + cooling-maps { + vbat_cpu6 { + trip = <&bcl_lvl0>; + cooling-device = + <&CPU6 THERMAL_MAX_LIMIT + THERMAL_MAX_LIMIT>; + }; + + vbat_cpu7 { + trip = <&bcl_lvl0>; + cooling-device = + <&CPU7 THERMAL_MAX_LIMIT + THERMAL_MAX_LIMIT>; + }; + }; + }; + + pm6150-bcl-lvl1 { + cooling-maps { + ibat_cpu6 { + trip = <&bcl_lvl1>; + cooling-device = + <&CPU6 THERMAL_MAX_LIMIT + THERMAL_MAX_LIMIT>; + }; + + ibat_cpu7 { + trip = <&bcl_lvl1>; + cooling-device = + <&CPU7 THERMAL_MAX_LIMIT + THERMAL_MAX_LIMIT>; + }; + }; + }; + + pm6150-bcl-lvl2 { + cooling-maps { + ibat_cpu6 { + trip = <&bcl_lvl2>; + cooling-device = + <&CPU6 THERMAL_MAX_LIMIT + THERMAL_MAX_LIMIT>; + }; + + ibat_cpu7 { + trip = <&bcl_lvl2>; + cooling-device = + <&CPU7 THERMAL_MAX_LIMIT + THERMAL_MAX_LIMIT>; + }; + }; + }; + + socd { + cooling-maps { + soc_cpu6 { + trip = <&socd_trip>; + cooling-device = + <&CPU6 THERMAL_MAX_LIMIT + THERMAL_MAX_LIMIT>; + }; + + soc_cpu7 { + trip = <&socd_trip>; + cooling-device = + <&CPU7 THERMAL_MAX_LIMIT + THERMAL_MAX_LIMIT>; + }; + }; + }; +}; diff --git a/qcom/sm6150.dtsi b/qcom/sm6150.dtsi index 4ef75b7e..30852c60 100755 --- a/qcom/sm6150.dtsi +++ b/qcom/sm6150.dtsi @@ -646,7 +646,7 @@ }; llcc_pmu: llcc-pmu@90cc000 { - compatible = "qcom,llcc-pmu-ver2"; + compatible = "qcom,llcc-pmu-ver1"; reg = <0x090cc000 0x300>; reg-names = "lagg-base"; }; @@ -2565,7 +2565,7 @@ qcom,wakeup-enable; }; - qcom,chd_sliver { + qcom,chd_silver { compatible = "qcom,core-hang-detect"; label = "silver"; qcom,threshold-arr = <0x18000058 0x18010058 0x18020058 @@ -2604,6 +2604,10 @@ "l3-scu-errirq", "l3-scu-faultirq"; }; + + qcom,power-state { + compatible = "qcom,power-state"; + }; }; #include "sm6150-regulator.dtsi" diff --git a/qcom/sm8150-pinctrl.dtsi b/qcom/sm8150-pinctrl.dtsi index 2e1c7cbe..704a75da 100755 --- a/qcom/sm8150-pinctrl.dtsi +++ b/qcom/sm8150-pinctrl.dtsi @@ -4913,6 +4913,33 @@ }; }; + emac_rgmii_txc_suspend: emac_rgmii_txc_suspend { + mux { + pins = "gpio114"; + function = "gpio"; + }; + + config { + pins = "gpio114"; + output-low; + bias-disable; + }; + }; + + emac_rgmii_txc_resume: emac_rgmii_txc_resume { + mux { + pins = "gpio114"; + function = "rgmii"; + }; + + config { + pins = "gpio114"; + input-enable; + bias-pull-up; + drive-strength = <16>; + }; + }; + emac_rgmii_tx_ctl: emac_rgmii_tx_ctl { mux { pins = "gpio121"; |