diff options
author | Linaro CI <ci_notify@linaro.org> | 2023-04-05 14:49:28 +0000 |
---|---|---|
committer | Linaro CI <ci_notify@linaro.org> | 2023-04-05 14:49:28 +0000 |
commit | b4a606f1030efa61a4330bc3f8a649307d14f48c (patch) | |
tree | 0cc5bf8e616a30ea24760d7cb8fa2516a8805730 | |
parent | a3343148f0cda5ebba0eedce7b9512768e3d3723 (diff) | |
parent | 028c6e749fd890e68e710ca1d6d941dc5a77b8c5 (diff) |
Merge remote-tracking branch 'sm8450-dts/tracking-qcomlt-sm8450-dts' into integration-linux-qcomlt
-rw-r--r-- | Documentation/devicetree/bindings/mfd/qcom,spmi-pmic.yaml | 1 | ||||
-rw-r--r-- | Documentation/devicetree/bindings/pci/qcom,pcie.yaml | 16 | ||||
-rw-r--r-- | arch/arm64/boot/dts/qcom/sm8450-hdk.dts | 118 | ||||
-rw-r--r-- | arch/arm64/boot/dts/qcom/sm8450-qrd.dts | 87 | ||||
-rw-r--r-- | arch/arm64/boot/dts/qcom/sm8450.dtsi | 11 |
5 files changed, 216 insertions, 17 deletions
diff --git a/Documentation/devicetree/bindings/mfd/qcom,spmi-pmic.yaml b/Documentation/devicetree/bindings/mfd/qcom,spmi-pmic.yaml index adf88245c409..256340f5ccb1 100644 --- a/Documentation/devicetree/bindings/mfd/qcom,spmi-pmic.yaml +++ b/Documentation/devicetree/bindings/mfd/qcom,spmi-pmic.yaml @@ -56,6 +56,7 @@ properties: - qcom,pm8350 - qcom,pm8350b - qcom,pm8350c + - qcom,pm8450 - qcom,pm8550 - qcom,pm8550b - qcom,pm8550ve diff --git a/Documentation/devicetree/bindings/pci/qcom,pcie.yaml b/Documentation/devicetree/bindings/pci/qcom,pcie.yaml index fb32c43dd12d..65496b2367ba 100644 --- a/Documentation/devicetree/bindings/pci/qcom,pcie.yaml +++ b/Documentation/devicetree/bindings/pci/qcom,pcie.yaml @@ -116,18 +116,28 @@ properties: description: GPIO controlled connection to WAKE# signal maxItems: 1 + msi-map: true + + msi-map-mask: true + required: - compatible - reg - reg-names - - interrupts - - interrupt-names - - "#interrupt-cells" - interrupt-map-mask - interrupt-map - clocks - clock-names +oneOf: + - required: + - interrupts + - interrupt-names + - "#interrupt-cells" + - required: + - msi-map + - msi-map-mask + allOf: - $ref: /schemas/pci/pci-bus.yaml# - if: diff --git a/arch/arm64/boot/dts/qcom/sm8450-hdk.dts b/arch/arm64/boot/dts/qcom/sm8450-hdk.dts index feef3837e4cd..d86712bd96e5 100644 --- a/arch/arm64/boot/dts/qcom/sm8450-hdk.dts +++ b/arch/arm64/boot/dts/qcom/sm8450-hdk.dts @@ -22,10 +22,11 @@ aliases { serial0 = &uart7; + serial1 = &uart20; }; wcd938x: audio-codec { - compatible = "qcom,wcd9380-codec"; + compatible = "qcom,wcd9385-codec"; pinctrl-names = "default"; pinctrl-0 = <&wcd_default>; @@ -87,6 +88,31 @@ enable-active-high; }; + pmic-glink { + compatible = "qcom,sm8450-pmic-glink", "qcom,pmic-glink"; + + #address-cells = <1>; + #size-cells = <0>; + + connector@0 { + compatible = "usb-c-connector"; + reg = <0>; + power-role = "dual"; + data-role = "dual"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + port@0 { + reg = <0>; + pmic_glink_dwc3_in: endpoint { + remote-endpoint = <&usb_1_dwc3_out>; + }; + }; + }; + }; + }; + vph_pwr: vph-pwr-regulator { compatible = "regulator-fixed"; regulator-name = "vph_pwr"; @@ -96,6 +122,24 @@ regulator-always-on; regulator-boot-on; }; + + wcn6856: wcn6856 { + compatible = "qcom,wcn6855"; + #power-domain-cells = <0>; + + vddaon-supply = <&vreg_s11b_0p95>; + vddcx-supply = <&vreg_s11b_0p95>; + vddmx-supply = <&vreg_s2e_0p85>; + vddrfa1-supply = <&vreg_s1c_1p86>; + vddrfa2-supply = <&vreg_s12b_1p25>; + vddio-supply = <&vreg_s10b_1p8>; + + pinctrl-names = "default"; + pinctrl-0 = <&wlan_en_state &xo_clk_state>; + + xo-clk-gpios = <&tlmm 204 GPIO_ACTIVE_HIGH>; + wlan-en-gpios = <&tlmm 80 GPIO_ACTIVE_HIGH>; + }; }; &apps_rsc { @@ -215,7 +259,7 @@ vreg_s1c_1p86: smps1 { regulator-name = "vreg_s1c_1p86"; - regulator-min-microvolt = <1800000>; + regulator-min-microvolt = <1900000>; regulator-max-microvolt = <2024000>; }; @@ -368,7 +412,7 @@ vreg_s2e_0p85: smps2 { regulator-name = "vreg_s2e_0p85"; - regulator-min-microvolt = <500000>; + regulator-min-microvolt = <1012000>; regulator-max-microvolt = <1040000>; }; @@ -493,6 +537,8 @@ status = "okay"; vdda-phy-supply = <&vreg_l5b_0p88>; vdda-pll-supply = <&vreg_l6b_1p2>; + + power-domains = <&wcn6856>; }; &pcie1 { @@ -533,6 +579,10 @@ status = "okay"; }; +&qupv3_id_2 { + status = "okay"; +}; + &sdhc_2 { cd-gpios = <&tlmm 92 GPIO_ACTIVE_HIGH>; pinctrl-names = "default", "sleep"; @@ -677,6 +727,17 @@ &tlmm { gpio-reserved-ranges = <28 4>, <36 4>; + bt_en_state: bt-default-state { + bt-en { + pins = "gpio81"; + function = "gpio"; + + drive-strength = <16>; + output-low; + bias-pull-up; + }; + }; + lt9611_irq_pin: lt9611-irq-state { pins = "gpio44"; function = "gpio"; @@ -695,12 +756,46 @@ drive-strength = <2>; bias-pull-up; }; + + xo_clk_state: xo_clk_state { + pinconf { + pins = "gpio204"; + function = "gpio"; + + drive-strength = <16>; + output-low; + bias-pull-down; + }; + }; + + wlan_en_state: wlan_en_state { + pinconf { + pins = "gpio80"; + function = "gpio"; + + drive-strength = <16>; + output-low; + bias-pull-down; + }; + }; }; &uart7 { status = "okay"; }; +&uart20 { + status = "okay"; + bluetooth { + /* a little lie */ + compatible = "qcom,wcn6855-bt"; + pinctrl-names = "default"; + pinctrl-0 = <&bt_en_state>; + power-domains = <&wcn6856>; + enable-gpios = <&tlmm 81 GPIO_ACTIVE_HIGH>; + }; +}; + &ufs_mem_hc { status = "okay"; @@ -724,7 +819,14 @@ }; &usb_1_dwc3 { - dr_mode = "peripheral"; + dr_mode = "otg"; + usb-role-switch; + + port { + usb_1_dwc3_out: endpoint { + remote-endpoint = <&pmic_glink_dwc3_in>; + }; + }; }; &usb_1_hsphy { @@ -755,7 +857,7 @@ spkr_1_sd_n_active: spkr-1-sd-n-active-state { pins = "gpio1"; function = "gpio"; - drive-strength = <4>; + drive-strength = <16>; bias-disable; output-low; }; @@ -763,14 +865,16 @@ spkr_2_sd_n_active: spkr-2-sd-n-active-state { pins = "gpio89"; function = "gpio"; - drive-strength = <4>; + drive-strength = <16>; bias-disable; output-low; }; - wcd_default: wcd-default-state { + wcd_default: wcd-reset-n-active-state { pins = "gpio43"; function = "gpio"; + drive-strength = <16>; bias-disable; + output-low; }; }; diff --git a/arch/arm64/boot/dts/qcom/sm8450-qrd.dts b/arch/arm64/boot/dts/qcom/sm8450-qrd.dts index f7592946c783..57fa3565a7d1 100644 --- a/arch/arm64/boot/dts/qcom/sm8450-qrd.dts +++ b/arch/arm64/boot/dts/qcom/sm8450-qrd.dts @@ -21,6 +21,7 @@ aliases { serial0 = &uart7; + serial1 = &uart20; }; chosen { @@ -36,6 +37,24 @@ regulator-always-on; regulator-boot-on; }; + + wcn6856: wcn6856 { + compatible = "qcom,wcn6855"; + #power-domain-cells = <0>; + + vddaon-supply = <&vreg_s11b_0p95>; + vddcx-supply = <&vreg_s11b_0p95>; + vddmx-supply = <&vreg_s2e_0p85>; + vddrfa1-supply = <&vreg_s1c_1p86>; + vddrfa2-supply = <&vreg_s12b_1p25>; + vddio-supply = <&vreg_s10b_1p8>; + + pinctrl-names = "default"; + pinctrl-0 = <&wlan_en_state &xo_clk_state>; + + xo-clk-gpios = <&tlmm 204 GPIO_ACTIVE_HIGH>; + wlan-en-gpios = <&tlmm 80 GPIO_ACTIVE_HIGH>; + }; }; &apps_rsc { @@ -70,13 +89,13 @@ vreg_s11b_0p95: smps11 { regulator-name = "vreg_s11b_0p95"; - regulator-min-microvolt = <848000>; + regulator-min-microvolt = <966000>; regulator-max-microvolt = <1104000>; }; vreg_s12b_1p25: smps12 { regulator-name = "vreg_s12b_1p25"; - regulator-min-microvolt = <1224000>; + regulator-min-microvolt = <1350000>; regulator-max-microvolt = <1400000>; }; @@ -154,7 +173,7 @@ vreg_s1c_1p86: smps1 { regulator-name = "vreg_s1c_1p86"; - regulator-min-microvolt = <1800000>; + regulator-min-microvolt = <1900000>; regulator-max-microvolt = <2024000>; }; @@ -307,8 +326,8 @@ vreg_s2e_0p85: smps2 { regulator-name = "vreg_s2e_0p85"; - regulator-min-microvolt = <500000>; - regulator-max-microvolt = <1040000>; + regulator-min-microvolt = <1012000>; + regulator-max-microvolt = <1012000>; }; vreg_l1e_0p8: ldo1 { @@ -346,17 +365,26 @@ regulator-min-microvolt = <1200000>; regulator-max-microvolt = <1200000>; }; + + vreg_l7e_2p8: ldo7 { + regulator-name = "vreg_l7e_2p8"; + regulator-min-microvolt = <2800000>; + regulator-max-microvolt = <2800000>; + }; }; }; &pcie0 { status = "okay"; + max-link-speed = <2>; }; &pcie0_phy { status = "okay"; vdda-phy-supply = <&vreg_l5b_0p88>; vdda-pll-supply = <&vreg_l6b_1p2>; + + power-domains = <&wcn6856>; }; &gpi_dma0 { @@ -375,6 +403,10 @@ status = "okay"; }; +&qupv3_id_2 { + status = "okay"; +}; + &remoteproc_adsp { status = "okay"; firmware-name = "qcom/sm8450/adsp.mbn"; @@ -422,18 +454,63 @@ &tlmm { gpio-reserved-ranges = <28 4>, <36 4>; + bt_en_state: bt-default-state { + bt-en { + pins = "gpio81"; + function = "gpio"; + + drive-strength = <16>; + output-low; + bias-pull-up; + }; + }; + sdc2_card_det_n: sd-card-det-n-state { pins = "gpio92"; function = "gpio"; drive-strength = <2>; bias-pull-up; }; + + xo_clk_state: xo_clk_state { + pinconf { + pins = "gpio204"; + function = "gpio"; + + drive-strength = <16>; + output-low; + bias-pull-down; + }; + }; + + wlan_en_state: wlan_en_state { + pinconf { + pins = "gpio80"; + function = "gpio"; + + drive-strength = <16>; + output-low; + bias-pull-down; + }; + }; }; &uart7 { status = "okay"; }; +&uart20 { + status = "okay"; + bluetooth { + /* a little lie */ + compatible = "qcom,wcn6855-bt"; + pinctrl-names = "default"; + pinctrl-0 = <&bt_en_state>; + power-domains = <&wcn6856>; + enable-gpios = <&tlmm 81 GPIO_ACTIVE_HIGH>; + }; +}; + &ufs_mem_hc { status = "okay"; diff --git a/arch/arm64/boot/dts/qcom/sm8450.dtsi b/arch/arm64/boot/dts/qcom/sm8450.dtsi index b285b1530c10..6c2703d127c0 100644 --- a/arch/arm64/boot/dts/qcom/sm8450.dtsi +++ b/arch/arm64/boot/dts/qcom/sm8450.dtsi @@ -1756,8 +1756,15 @@ msi-map = <0x0 &gic_its 0x5981 0x1>, <0x100 &gic_its 0x5980 0x1>; msi-map-mask = <0xff00>; - interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>; - interrupt-names = "msi"; + interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>; + interrupt-names = "msi0", "msi1", "msi2", "msi3", "msi4", "msi5", "msi6", "msi7"; #interrupt-cells = <1>; interrupt-map-mask = <0 0 0 0x7>; interrupt-map = <0 0 0 1 &intc 0 0 0 149 IRQ_TYPE_LEVEL_HIGH>, /* int_a */ |