arm64: dts: qcom: x1p42100: Add GPU support

X1P42100 SoC has a new GPU called Adreno X1-45 which is a smaller
version of Adreno X1-85 GPU. Describe this new GPU and also add
the secure gpu firmware path that should used for X1P42100 CRD.

Tested-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Tested-by: Aleksandrs Vinarskis <alex.vinarskis@gmail.com> # x1-26-100
Signed-off-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20250623-x1p-adreno-v4-4-d2575c839cbb@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
This commit is contained in:
Akhil P Oommen
2025-06-23 19:42:09 +05:30
committed by Bjorn Andersson
parent 71ef5e99e9
commit 1aa0b4e364
3 changed files with 129 additions and 2 deletions

View File

@@ -8251,6 +8251,13 @@ sbsa_watchdog: watchdog@1c840000 {
interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
};
qfprom: efuse@221c8000 {
compatible = "qcom,x1e80100-qfprom", "qcom,qfprom";
reg = <0 0x221c8000 0 0x1000>;
#address-cells = <1>;
#size-cells = <1>;
};
pmu@24091000 {
compatible = "qcom,x1e80100-llcc-bwmon", "qcom,sc7280-llcc-bwmon";
reg = <0 0x24091000 0 0x1000>;

View File

@@ -15,3 +15,7 @@ / {
model = "Qualcomm Technologies, Inc. X1P42100 CRD";
compatible = "qcom,x1p42100-crd", "qcom,x1p42100";
};
&gpu_zap_shader {
firmware-name = "qcom/x1p42100/gen71500_zap.mbn";
};

View File

@@ -17,6 +17,7 @@
/delete-node/ &cpu_pd9;
/delete-node/ &cpu_pd10;
/delete-node/ &cpu_pd11;
/delete-node/ &gpu_opp_table;
/delete-node/ &pcie3_phy;
/delete-node/ &thermal_zones;
@@ -24,9 +25,117 @@ &gcc {
compatible = "qcom,x1p42100-gcc", "qcom,x1e80100-gcc";
};
/* The GPU is physically different and will be brought up later */
&gmu {
compatible = "qcom,adreno-gmu-x145.0", "qcom,adreno-gmu";
};
&gpu {
/delete-property/ compatible;
compatible = "qcom,adreno-43030c00", "qcom,adreno";
nvmem-cells = <&gpu_speed_bin>;
nvmem-cell-names = "speed_bin";
gpu_opp_table: opp-table {
compatible = "operating-points-v2-adreno", "operating-points-v2";
opp-1400000000 {
opp-hz = /bits/ 64 <1400000000>;
opp-level = <RPMH_REGULATOR_LEVEL_TURBO_L4>;
opp-peak-kBps = <16500000>;
qcom,opp-acd-level = <0xa8295ffd>;
opp-supported-hw = <0x3>;
};
opp-1250000000 {
opp-hz = /bits/ 64 <1250000000>;
opp-level = <RPMH_REGULATOR_LEVEL_TURBO_L3>;
opp-peak-kBps = <16500000>;
qcom,opp-acd-level = <0x882a5ffd>;
opp-supported-hw = <0x7>;
};
opp-1107000000 {
opp-hz = /bits/ 64 <1107000000>;
opp-level = <RPMH_REGULATOR_LEVEL_TURBO_L1>;
opp-peak-kBps = <16500000>;
qcom,opp-acd-level = <0x882a5ffd>;
opp-supported-hw = <0xf>;
};
opp-1014000000 {
opp-hz = /bits/ 64 <1014000000>;
opp-level = <RPMH_REGULATOR_LEVEL_TURBO>;
opp-peak-kBps = <14398438>;
qcom,opp-acd-level = <0xa82a5ffd>;
opp-supported-hw = <0xf>;
};
opp-940000000 {
opp-hz = /bits/ 64 <940000000>;
opp-level = <RPMH_REGULATOR_LEVEL_NOM_L1>;
opp-peak-kBps = <14398438>;
qcom,opp-acd-level = <0xa82a5ffd>;
opp-supported-hw = <0xf>;
};
opp-825000000 {
opp-hz = /bits/ 64 <825000000>;
opp-level = <RPMH_REGULATOR_LEVEL_NOM>;
opp-peak-kBps = <12449219>;
qcom,opp-acd-level = <0x882b5ffd>;
opp-supported-hw = <0xf>;
};
opp-720000000 {
opp-hz = /bits/ 64 <720000000>;
opp-level = <RPMH_REGULATOR_LEVEL_SVS_L2>;
opp-peak-kBps = <10687500>;
qcom,opp-acd-level = <0xa82c5ffd>;
opp-supported-hw = <0xf>;
};
opp-666000000-0 {
opp-hz = /bits/ 64 <666000000>;
opp-level = <RPMH_REGULATOR_LEVEL_SVS_L1>;
opp-peak-kBps = <8171875>;
qcom,opp-acd-level = <0xa82d5ffd>;
opp-supported-hw = <0xf>;
};
/* Only applicable for SKUs which has 666Mhz as Fmax */
opp-666000000-1 {
opp-hz = /bits/ 64 <666000000>;
opp-level = <RPMH_REGULATOR_LEVEL_SVS_L1>;
opp-peak-kBps = <16500000>;
qcom,opp-acd-level = <0xa82d5ffd>;
opp-supported-hw = <0x10>;
};
opp-550000000 {
opp-hz = /bits/ 64 <550000000>;
opp-level = <RPMH_REGULATOR_LEVEL_SVS>;
opp-peak-kBps = <6074219>;
qcom,opp-acd-level = <0x882e5ffd>;
opp-supported-hw = <0x1f>;
};
opp-380000000 {
opp-hz = /bits/ 64 <380000000>;
opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS>;
opp-peak-kBps = <3000000>;
qcom,opp-acd-level = <0xc82f5ffd>;
opp-supported-hw = <0x1f>;
};
opp-280000000 {
opp-hz = /bits/ 64 <280000000>;
opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS_D1>;
opp-peak-kBps = <2136719>;
qcom,opp-acd-level = <0xc82f5ffd>;
opp-supported-hw = <0x1f>;
};
};
};
&gpucc {
@@ -42,6 +151,13 @@ &pcie6a_phy {
compatible = "qcom,x1p42100-qmp-gen4x4-pcie-phy";
};
&qfprom {
gpu_speed_bin: gpu-speed-bin@119 {
reg = <0x119 0x2>;
bits = <7 9>;
};
};
&soc {
/* The PCIe3 PHY on X1P42100 uses a different IP block */
pcie3_phy: phy@1bd4000 {