|
1047 | 1047 | #hwlock-cells = <1>;
|
1048 | 1048 | };
|
1049 | 1049 |
|
| 1050 | + gpu: gpu@3d00000 { |
| 1051 | + /* |
| 1052 | + * note: the amd,imageon compatible makes it possible |
| 1053 | + * to use the drm/msm driver without the display node, |
| 1054 | + * make sure to remove it when display node is added |
| 1055 | + */ |
| 1056 | + compatible = "qcom,adreno-650.2", |
| 1057 | + "qcom,adreno", |
| 1058 | + "amd,imageon"; |
| 1059 | + #stream-id-cells = <16>; |
| 1060 | + |
| 1061 | + reg = <0 0x03d00000 0 0x40000>; |
| 1062 | + reg-names = "kgsl_3d0_reg_memory"; |
| 1063 | + |
| 1064 | + interrupts = <GIC_SPI 300 IRQ_TYPE_LEVEL_HIGH>; |
| 1065 | + |
| 1066 | + iommus = <&adreno_smmu 0 0x401>; |
| 1067 | + |
| 1068 | + operating-points-v2 = <&gpu_opp_table>; |
| 1069 | + |
| 1070 | + qcom,gmu = <&gmu>; |
| 1071 | + |
| 1072 | + zap-shader { |
| 1073 | + memory-region = <&gpu_mem>; |
| 1074 | + }; |
| 1075 | + |
| 1076 | + /* note: downstream checks gpu binning for 670 Mhz */ |
| 1077 | + gpu_opp_table: opp-table { |
| 1078 | + compatible = "operating-points-v2"; |
| 1079 | + |
| 1080 | + opp-670000000 { |
| 1081 | + opp-hz = /bits/ 64 <670000000>; |
| 1082 | + opp-level = <RPMH_REGULATOR_LEVEL_NOM_L1>; |
| 1083 | + }; |
| 1084 | + |
| 1085 | + opp-587000000 { |
| 1086 | + opp-hz = /bits/ 64 <587000000>; |
| 1087 | + opp-level = <RPMH_REGULATOR_LEVEL_NOM>; |
| 1088 | + }; |
| 1089 | + |
| 1090 | + opp-525000000 { |
| 1091 | + opp-hz = /bits/ 64 <525000000>; |
| 1092 | + opp-level = <RPMH_REGULATOR_LEVEL_SVS_L2>; |
| 1093 | + }; |
| 1094 | + |
| 1095 | + opp-490000000 { |
| 1096 | + opp-hz = /bits/ 64 <490000000>; |
| 1097 | + opp-level = <RPMH_REGULATOR_LEVEL_SVS_L1>; |
| 1098 | + }; |
| 1099 | + |
| 1100 | + opp-441600000 { |
| 1101 | + opp-hz = /bits/ 64 <441600000>; |
| 1102 | + opp-level = <RPMH_REGULATOR_LEVEL_SVS_L0>; |
| 1103 | + }; |
| 1104 | + |
| 1105 | + opp-400000000 { |
| 1106 | + opp-hz = /bits/ 64 <400000000>; |
| 1107 | + opp-level = <RPMH_REGULATOR_LEVEL_SVS>; |
| 1108 | + }; |
| 1109 | + |
| 1110 | + opp-305000000 { |
| 1111 | + opp-hz = /bits/ 64 <305000000>; |
| 1112 | + opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS>; |
| 1113 | + }; |
| 1114 | + }; |
| 1115 | + }; |
| 1116 | + |
| 1117 | + gmu: gmu@3d6a000 { |
| 1118 | + compatible="qcom,adreno-gmu-650.2", "qcom,adreno-gmu"; |
| 1119 | + |
| 1120 | + reg = <0 0x03d6a000 0 0x30000>, |
| 1121 | + <0 0x3de0000 0 0x10000>, |
| 1122 | + <0 0xb290000 0 0x10000>, |
| 1123 | + <0 0xb490000 0 0x10000>; |
| 1124 | + reg-names = "gmu", "rscc", "gmu_pdc", "gmu_pdc_seq"; |
| 1125 | + |
| 1126 | + interrupts = <GIC_SPI 304 IRQ_TYPE_LEVEL_HIGH>, |
| 1127 | + <GIC_SPI 305 IRQ_TYPE_LEVEL_HIGH>; |
| 1128 | + interrupt-names = "hfi", "gmu"; |
| 1129 | + |
| 1130 | + clocks = <&gpucc 0>, |
| 1131 | + <&gpucc 3>, |
| 1132 | + <&gpucc 6>, |
| 1133 | + <&gcc GCC_DDRSS_GPU_AXI_CLK>, |
| 1134 | + <&gcc GCC_GPU_MEMNOC_GFX_CLK>; |
| 1135 | + clock-names = "ahb", "gmu", "cxo", "axi", "memnoc"; |
| 1136 | + |
| 1137 | + power-domains = <&gpucc 0>, |
| 1138 | + <&gpucc 1>; |
| 1139 | + power-domain-names = "cx", "gx"; |
| 1140 | + |
| 1141 | + iommus = <&adreno_smmu 5 0x400>; |
| 1142 | + |
| 1143 | + operating-points-v2 = <&gmu_opp_table>; |
| 1144 | + |
| 1145 | + gmu_opp_table: opp-table { |
| 1146 | + compatible = "operating-points-v2"; |
| 1147 | + |
| 1148 | + opp-200000000 { |
| 1149 | + opp-hz = /bits/ 64 <200000000>; |
| 1150 | + opp-level = <RPMH_REGULATOR_LEVEL_MIN_SVS>; |
| 1151 | + }; |
| 1152 | + }; |
| 1153 | + }; |
| 1154 | + |
| 1155 | + gpucc: clock-controller@3d90000 { |
| 1156 | + compatible = "qcom,sm8250-gpucc"; |
| 1157 | + reg = <0 0x03d90000 0 0x9000>; |
| 1158 | + clocks = <&rpmhcc RPMH_CXO_CLK>, |
| 1159 | + <&gcc GCC_GPU_GPLL0_CLK_SRC>, |
| 1160 | + <&gcc GCC_GPU_GPLL0_DIV_CLK_SRC>; |
| 1161 | + clock-names = "bi_tcxo", |
| 1162 | + "gcc_gpu_gpll0_clk_src", |
| 1163 | + "gcc_gpu_gpll0_div_clk_src"; |
| 1164 | + #clock-cells = <1>; |
| 1165 | + #reset-cells = <1>; |
| 1166 | + #power-domain-cells = <1>; |
| 1167 | + }; |
| 1168 | + |
| 1169 | + adreno_smmu: iommu@3da0000 { |
| 1170 | + compatible = "qcom,sm8250-smmu-500", "arm,mmu-500"; |
| 1171 | + reg = <0 0x03da0000 0 0x10000>; |
| 1172 | + #iommu-cells = <2>; |
| 1173 | + #global-interrupts = <2>; |
| 1174 | + interrupts = <GIC_SPI 672 IRQ_TYPE_LEVEL_HIGH>, |
| 1175 | + <GIC_SPI 673 IRQ_TYPE_LEVEL_HIGH>, |
| 1176 | + <GIC_SPI 678 IRQ_TYPE_LEVEL_HIGH>, |
| 1177 | + <GIC_SPI 679 IRQ_TYPE_LEVEL_HIGH>, |
| 1178 | + <GIC_SPI 680 IRQ_TYPE_LEVEL_HIGH>, |
| 1179 | + <GIC_SPI 681 IRQ_TYPE_LEVEL_HIGH>, |
| 1180 | + <GIC_SPI 682 IRQ_TYPE_LEVEL_HIGH>, |
| 1181 | + <GIC_SPI 683 IRQ_TYPE_LEVEL_HIGH>, |
| 1182 | + <GIC_SPI 684 IRQ_TYPE_LEVEL_HIGH>, |
| 1183 | + <GIC_SPI 685 IRQ_TYPE_LEVEL_HIGH>; |
| 1184 | + clocks = <&gpucc 0>, |
| 1185 | + <&gcc GCC_GPU_MEMNOC_GFX_CLK>, |
| 1186 | + <&gcc GCC_GPU_SNOC_DVM_GFX_CLK>; |
| 1187 | + clock-names = "ahb", "bus", "iface"; |
| 1188 | + |
| 1189 | + power-domains = <&gpucc 0>; |
| 1190 | + }; |
| 1191 | + |
1050 | 1192 | slpi: remoteproc@5c00000 {
|
1051 | 1193 | compatible = "qcom,sm8250-slpi-pas";
|
1052 | 1194 | reg = <0 0x05c00000 0 0x4000>;
|
|
0 commit comments