Commit ec57571b authored by Arnd Bergmann's avatar Arnd Bergmann

Merge tag 'qcom-arm64-fixes-for-6.11' of...

Merge tag 'qcom-arm64-fixes-for-6.11' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into arm/fixes

Qualcomm Arm64 DeviceTree fixes for v6.11

On X1E the GPU node is disabled by default, to be enabled in the
individual devices once the developers install the required firmware.

The generic EDP panel driver used on the X1E CRD is replaced with the
Samsung ATNA45AF01 driver, in order to ensure backlight is brought back
up after being turned off.

The pin configuration for PCIe-related pins are corrected across all the
X1E targets. The PCIe controllers gain a minimum OPP vote, and PCIe
domain numbers are corrected.

WiFi calibration variant information is added to the Lenovo Yoga Slim
7x, to pick the right data from the firmware packages.

The incorrect Adreno SMMU global interrupt is corrected.

For IPQ5332, the IRQ triggers for the USB controller are corrected.

* tag 'qcom-arm64-fixes-for-6.11' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: (23 commits)
  arm64: dts: qcom: x1e80100: Fix Adreno SMMU global interrupt
  arm64: dts: qcom: disable GPU on x1e80100 by default
  arm64: dts: qcom: x1e80100-crd: Fix backlight
  arm64: dts: qcom: x1e80100-yoga-slim7x: fix missing PCIe4 gpios
  arm64: dts: qcom: x1e80100-yoga-slim7x: disable PCIe6a perst pull down
  arm64: dts: qcom: x1e80100-yoga-slim7x: fix up PCIe6a pinctrl node
  arm64: dts: qcom: x1e80100-yoga-slim7x: fix PCIe4 PHY supply
  arm64: dts: qcom: x1e80100-vivobook-s15: fix missing PCIe4 gpios
  arm64: dts: qcom: x1e80100-vivobook-s15: disable PCIe6a perst pull down
  arm64: dts: qcom: x1e80100-vivobook-s15: fix up PCIe6a pinctrl node
  arm64: dts: qcom: x1e80100-vivobook-s15: fix PCIe4 PHY supply
  arm64: dts: qcom: x1e80100-qcp: fix missing PCIe4 gpios
  arm64: dts: qcom: x1e80100-qcp: disable PCIe6a perst pull down
  arm64: dts: qcom: x1e80100-qcp: fix up PCIe6a pinctrl node
  arm64: dts: qcom: x1e80100-qcp: fix PCIe4 PHY supply
  arm64: dts: qcom: x1e80100-crd: fix missing PCIe4 gpios
  arm64: dts: qcom: x1e80100-crd: disable PCIe6a perst pull down
  arm64: dts: qcom: x1e80100-crd: fix up PCIe6a pinctrl node
  arm64: dts: qcom: x1e80100: add missing PCIe minimum OPP
  arm64: dts: qcom: x1e80100: fix PCIe domain numbers
  ...

Link: https://lore.kernel.org/r/20240826152426.1648383-1-andersson@kernel.orgSigned-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parents 015a00ef dfbe93f3
...@@ -320,8 +320,8 @@ usb: usb@8af8800 { ...@@ -320,8 +320,8 @@ usb: usb@8af8800 {
reg = <0x08af8800 0x400>; reg = <0x08af8800 0x400>;
interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>, interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 53 IRQ_TYPE_EDGE_BOTH>, <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 52 IRQ_TYPE_EDGE_BOTH>; <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "pwr_event", interrupt-names = "pwr_event",
"dp_hs_phy_irq", "dp_hs_phy_irq",
"dm_hs_phy_irq"; "dm_hs_phy_irq";
......
...@@ -278,6 +278,13 @@ regulators-6 { ...@@ -278,6 +278,13 @@ regulators-6 {
vdd-l3-supply = <&vreg_s1f_0p7>; vdd-l3-supply = <&vreg_s1f_0p7>;
vdd-s1-supply = <&vph_pwr>; vdd-s1-supply = <&vph_pwr>;
vdd-s2-supply = <&vph_pwr>; vdd-s2-supply = <&vph_pwr>;
vreg_l3i_0p8: ldo3 {
regulator-name = "vreg_l3i_0p8";
regulator-min-microvolt = <880000>;
regulator-max-microvolt = <920000>;
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
};
}; };
regulators-7 { regulators-7 {
...@@ -423,11 +430,17 @@ &mdss_dp3_phy { ...@@ -423,11 +430,17 @@ &mdss_dp3_phy {
}; };
&pcie4 { &pcie4 {
perst-gpios = <&tlmm 146 GPIO_ACTIVE_LOW>;
wake-gpios = <&tlmm 148 GPIO_ACTIVE_LOW>;
pinctrl-0 = <&pcie4_default>;
pinctrl-names = "default";
status = "okay"; status = "okay";
}; };
&pcie4_phy { &pcie4_phy {
vdda-phy-supply = <&vreg_l3j_0p8>; vdda-phy-supply = <&vreg_l3i_0p8>;
vdda-pll-supply = <&vreg_l3e_1p2>; vdda-pll-supply = <&vreg_l3e_1p2>;
status = "okay"; status = "okay";
...@@ -517,7 +530,30 @@ nvme_reg_en: nvme-reg-en-state { ...@@ -517,7 +530,30 @@ nvme_reg_en: nvme-reg-en-state {
bias-disable; bias-disable;
}; };
pcie6a_default: pcie2a-default-state { pcie4_default: pcie4-default-state {
clkreq-n-pins {
pins = "gpio147";
function = "pcie4_clk";
drive-strength = <2>;
bias-pull-up;
};
perst-n-pins {
pins = "gpio146";
function = "gpio";
drive-strength = <2>;
bias-disable;
};
wake-n-pins {
pins = "gpio148";
function = "gpio";
drive-strength = <2>;
bias-pull-up;
};
};
pcie6a_default: pcie6a-default-state {
clkreq-n-pins { clkreq-n-pins {
pins = "gpio153"; pins = "gpio153";
function = "pcie6a_clk"; function = "pcie6a_clk";
...@@ -529,7 +565,7 @@ perst-n-pins { ...@@ -529,7 +565,7 @@ perst-n-pins {
pins = "gpio152"; pins = "gpio152";
function = "gpio"; function = "gpio";
drive-strength = <2>; drive-strength = <2>;
bias-pull-down; bias-disable;
}; };
wake-n-pins { wake-n-pins {
......
...@@ -268,7 +268,6 @@ vreg_edp_3p3: regulator-edp-3p3 { ...@@ -268,7 +268,6 @@ vreg_edp_3p3: regulator-edp-3p3 {
pinctrl-0 = <&edp_reg_en>; pinctrl-0 = <&edp_reg_en>;
pinctrl-names = "default"; pinctrl-names = "default";
regulator-always-on;
regulator-boot-on; regulator-boot-on;
}; };
...@@ -637,6 +636,14 @@ vreg_l3j_0p8: ldo3 { ...@@ -637,6 +636,14 @@ vreg_l3j_0p8: ldo3 {
}; };
}; };
&gpu {
status = "okay";
zap-shader {
firmware-name = "qcom/x1e80100/gen70500_zap.mbn";
};
};
&i2c0 { &i2c0 {
clock-frequency = <400000>; clock-frequency = <400000>;
...@@ -724,9 +731,13 @@ &mdss_dp3 { ...@@ -724,9 +731,13 @@ &mdss_dp3 {
aux-bus { aux-bus {
panel { panel {
compatible = "edp-panel"; compatible = "samsung,atna45af01", "samsung,atna33xc20";
enable-gpios = <&pmc8380_3_gpios 4 GPIO_ACTIVE_HIGH>;
power-supply = <&vreg_edp_3p3>; power-supply = <&vreg_edp_3p3>;
pinctrl-0 = <&edp_bl_en>;
pinctrl-names = "default";
port { port {
edp_panel_in: endpoint { edp_panel_in: endpoint {
remote-endpoint = <&mdss_dp3_out>; remote-endpoint = <&mdss_dp3_out>;
...@@ -756,11 +767,17 @@ &mdss_dp3_phy { ...@@ -756,11 +767,17 @@ &mdss_dp3_phy {
}; };
&pcie4 { &pcie4 {
perst-gpios = <&tlmm 146 GPIO_ACTIVE_LOW>;
wake-gpios = <&tlmm 148 GPIO_ACTIVE_LOW>;
pinctrl-0 = <&pcie4_default>;
pinctrl-names = "default";
status = "okay"; status = "okay";
}; };
&pcie4_phy { &pcie4_phy {
vdda-phy-supply = <&vreg_l3j_0p8>; vdda-phy-supply = <&vreg_l3i_0p8>;
vdda-pll-supply = <&vreg_l3e_1p2>; vdda-pll-supply = <&vreg_l3e_1p2>;
status = "okay"; status = "okay";
...@@ -785,6 +802,16 @@ &pcie6a_phy { ...@@ -785,6 +802,16 @@ &pcie6a_phy {
status = "okay"; status = "okay";
}; };
&pmc8380_3_gpios {
edp_bl_en: edp-bl-en-state {
pins = "gpio4";
function = "normal";
power-source = <1>; /* 1.8V */
input-disable;
output-enable;
};
};
&qupv3_0 { &qupv3_0 {
status = "okay"; status = "okay";
}; };
...@@ -931,7 +958,30 @@ nvme_reg_en: nvme-reg-en-state { ...@@ -931,7 +958,30 @@ nvme_reg_en: nvme-reg-en-state {
bias-disable; bias-disable;
}; };
pcie6a_default: pcie2a-default-state { pcie4_default: pcie4-default-state {
clkreq-n-pins {
pins = "gpio147";
function = "pcie4_clk";
drive-strength = <2>;
bias-pull-up;
};
perst-n-pins {
pins = "gpio146";
function = "gpio";
drive-strength = <2>;
bias-disable;
};
wake-n-pins {
pins = "gpio148";
function = "gpio";
drive-strength = <2>;
bias-pull-up;
};
};
pcie6a_default: pcie6a-default-state {
clkreq-n-pins { clkreq-n-pins {
pins = "gpio153"; pins = "gpio153";
function = "pcie6a_clk"; function = "pcie6a_clk";
...@@ -943,15 +993,15 @@ perst-n-pins { ...@@ -943,15 +993,15 @@ perst-n-pins {
pins = "gpio152"; pins = "gpio152";
function = "gpio"; function = "gpio";
drive-strength = <2>; drive-strength = <2>;
bias-pull-down; bias-disable;
}; };
wake-n-pins { wake-n-pins {
pins = "gpio154"; pins = "gpio154";
function = "gpio"; function = "gpio";
drive-strength = <2>; drive-strength = <2>;
bias-pull-up; bias-pull-up;
}; };
}; };
tpad_default: tpad-default-state { tpad_default: tpad-default-state {
......
...@@ -625,16 +625,31 @@ &mdss_dp3_phy { ...@@ -625,16 +625,31 @@ &mdss_dp3_phy {
}; };
&pcie4 { &pcie4 {
perst-gpios = <&tlmm 146 GPIO_ACTIVE_LOW>;
wake-gpios = <&tlmm 148 GPIO_ACTIVE_LOW>;
pinctrl-0 = <&pcie4_default>;
pinctrl-names = "default";
status = "okay"; status = "okay";
}; };
&pcie4_phy { &pcie4_phy {
vdda-phy-supply = <&vreg_l3j_0p8>; vdda-phy-supply = <&vreg_l3i_0p8>;
vdda-pll-supply = <&vreg_l3e_1p2>; vdda-pll-supply = <&vreg_l3e_1p2>;
status = "okay"; status = "okay";
}; };
&pcie4_port0 {
wifi@0 {
compatible = "pci17cb,1107";
reg = <0x10000 0x0 0x0 0x0 0x0>;
qcom,ath12k-calibration-variant = "LES790";
};
};
&pcie6a { &pcie6a {
perst-gpios = <&tlmm 152 GPIO_ACTIVE_LOW>; perst-gpios = <&tlmm 152 GPIO_ACTIVE_LOW>;
wake-gpios = <&tlmm 154 GPIO_ACTIVE_LOW>; wake-gpios = <&tlmm 154 GPIO_ACTIVE_LOW>;
...@@ -782,7 +797,30 @@ nvme_reg_en: nvme-reg-en-state { ...@@ -782,7 +797,30 @@ nvme_reg_en: nvme-reg-en-state {
bias-disable; bias-disable;
}; };
pcie6a_default: pcie2a-default-state { pcie4_default: pcie4-default-state {
clkreq-n-pins {
pins = "gpio147";
function = "pcie4_clk";
drive-strength = <2>;
bias-pull-up;
};
perst-n-pins {
pins = "gpio146";
function = "gpio";
drive-strength = <2>;
bias-disable;
};
wake-n-pins {
pins = "gpio148";
function = "gpio";
drive-strength = <2>;
bias-pull-up;
};
};
pcie6a_default: pcie6a-default-state {
clkreq-n-pins { clkreq-n-pins {
pins = "gpio153"; pins = "gpio153";
function = "pcie6a_clk"; function = "pcie6a_clk";
...@@ -794,15 +832,15 @@ perst-n-pins { ...@@ -794,15 +832,15 @@ perst-n-pins {
pins = "gpio152"; pins = "gpio152";
function = "gpio"; function = "gpio";
drive-strength = <2>; drive-strength = <2>;
bias-pull-down; bias-disable;
}; };
wake-n-pins { wake-n-pins {
pins = "gpio154"; pins = "gpio154";
function = "gpio"; function = "gpio";
drive-strength = <2>; drive-strength = <2>;
bias-pull-up; bias-pull-up;
}; };
}; };
tpad_default: tpad-default-state { tpad_default: tpad-default-state {
......
...@@ -606,6 +606,14 @@ vreg_l3j_0p8: ldo3 { ...@@ -606,6 +606,14 @@ vreg_l3j_0p8: ldo3 {
}; };
}; };
&gpu {
status = "okay";
zap-shader {
firmware-name = "qcom/x1e80100/gen70500_zap.mbn";
};
};
&lpass_tlmm { &lpass_tlmm {
spkr_01_sd_n_active: spkr-01-sd-n-active-state { spkr_01_sd_n_active: spkr-01-sd-n-active-state {
pins = "gpio12"; pins = "gpio12";
...@@ -660,11 +668,17 @@ &mdss_dp3_phy { ...@@ -660,11 +668,17 @@ &mdss_dp3_phy {
}; };
&pcie4 { &pcie4 {
perst-gpios = <&tlmm 146 GPIO_ACTIVE_LOW>;
wake-gpios = <&tlmm 148 GPIO_ACTIVE_LOW>;
pinctrl-0 = <&pcie4_default>;
pinctrl-names = "default";
status = "okay"; status = "okay";
}; };
&pcie4_phy { &pcie4_phy {
vdda-phy-supply = <&vreg_l3j_0p8>; vdda-phy-supply = <&vreg_l3i_0p8>;
vdda-pll-supply = <&vreg_l3e_1p2>; vdda-pll-supply = <&vreg_l3e_1p2>;
status = "okay"; status = "okay";
...@@ -804,7 +818,30 @@ nvme_reg_en: nvme-reg-en-state { ...@@ -804,7 +818,30 @@ nvme_reg_en: nvme-reg-en-state {
bias-disable; bias-disable;
}; };
pcie6a_default: pcie2a-default-state { pcie4_default: pcie4-default-state {
clkreq-n-pins {
pins = "gpio147";
function = "pcie4_clk";
drive-strength = <2>;
bias-pull-up;
};
perst-n-pins {
pins = "gpio146";
function = "gpio";
drive-strength = <2>;
bias-disable;
};
wake-n-pins {
pins = "gpio148";
function = "gpio";
drive-strength = <2>;
bias-pull-up;
};
};
pcie6a_default: pcie6a-default-state {
clkreq-n-pins { clkreq-n-pins {
pins = "gpio153"; pins = "gpio153";
function = "pcie6a_clk"; function = "pcie6a_clk";
...@@ -816,15 +853,15 @@ perst-n-pins { ...@@ -816,15 +853,15 @@ perst-n-pins {
pins = "gpio152"; pins = "gpio152";
function = "gpio"; function = "gpio";
drive-strength = <2>; drive-strength = <2>;
bias-pull-down; bias-disable;
}; };
wake-n-pins { wake-n-pins {
pins = "gpio154"; pins = "gpio154";
function = "gpio"; function = "gpio";
drive-strength = <2>; drive-strength = <2>;
bias-pull-up; bias-pull-up;
}; };
}; };
wcd_default: wcd-reset-n-active-state { wcd_default: wcd-reset-n-active-state {
......
...@@ -2901,7 +2901,7 @@ pcie6a: pci@1bf8000 { ...@@ -2901,7 +2901,7 @@ pcie6a: pci@1bf8000 {
dma-coherent; dma-coherent;
linux,pci-domain = <7>; linux,pci-domain = <6>;
num-lanes = <2>; num-lanes = <2>;
interrupts = <GIC_SPI 773 IRQ_TYPE_LEVEL_HIGH>, interrupts = <GIC_SPI 773 IRQ_TYPE_LEVEL_HIGH>,
...@@ -2959,6 +2959,7 @@ &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>, ...@@ -2959,6 +2959,7 @@ &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>,
"link_down"; "link_down";
power-domains = <&gcc GCC_PCIE_6A_GDSC>; power-domains = <&gcc GCC_PCIE_6A_GDSC>;
required-opps = <&rpmhpd_opp_nom>;
phys = <&pcie6a_phy>; phys = <&pcie6a_phy>;
phy-names = "pciephy"; phy-names = "pciephy";
...@@ -3022,7 +3023,7 @@ pcie4: pci@1c08000 { ...@@ -3022,7 +3023,7 @@ pcie4: pci@1c08000 {
dma-coherent; dma-coherent;
linux,pci-domain = <5>; linux,pci-domain = <4>;
num-lanes = <2>; num-lanes = <2>;
interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>, interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>,
...@@ -3080,11 +3081,22 @@ &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>, ...@@ -3080,11 +3081,22 @@ &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>,
"link_down"; "link_down";
power-domains = <&gcc GCC_PCIE_4_GDSC>; power-domains = <&gcc GCC_PCIE_4_GDSC>;
required-opps = <&rpmhpd_opp_nom>;
phys = <&pcie4_phy>; phys = <&pcie4_phy>;
phy-names = "pciephy"; phy-names = "pciephy";
status = "disabled"; status = "disabled";
pcie4_port0: pcie@0 {
device_type = "pci";
reg = <0x0 0x0 0x0 0x0 0x0>;
bus-range = <0x01 0xff>;
#address-cells = <3>;
#size-cells = <2>;
ranges;
};
}; };
pcie4_phy: phy@1c0e000 { pcie4_phy: phy@1c0e000 {
...@@ -3155,9 +3167,10 @@ gpu: gpu@3d00000 { ...@@ -3155,9 +3167,10 @@ gpu: gpu@3d00000 {
interconnects = <&gem_noc MASTER_GFX3D 0 &mc_virt SLAVE_EBI1 0>; interconnects = <&gem_noc MASTER_GFX3D 0 &mc_virt SLAVE_EBI1 0>;
interconnect-names = "gfx-mem"; interconnect-names = "gfx-mem";
status = "disabled";
zap-shader { zap-shader {
memory-region = <&gpu_microcode_mem>; memory-region = <&gpu_microcode_mem>;
firmware-name = "qcom/gen70500_zap.mbn";
}; };
gpu_opp_table: opp-table { gpu_opp_table: opp-table {
...@@ -3288,7 +3301,7 @@ adreno_smmu: iommu@3da0000 { ...@@ -3288,7 +3301,7 @@ adreno_smmu: iommu@3da0000 {
reg = <0x0 0x03da0000 0x0 0x40000>; reg = <0x0 0x03da0000 0x0 0x40000>;
#iommu-cells = <2>; #iommu-cells = <2>;
#global-interrupts = <1>; #global-interrupts = <1>;
interrupts = <GIC_SPI 673 IRQ_TYPE_LEVEL_HIGH>, interrupts = <GIC_SPI 674 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 678 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 678 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 679 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 679 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 680 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 680 IRQ_TYPE_LEVEL_HIGH>,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment