hc
2023-12-08 01573e231f18eb2d99162747186f59511f56b64d
kernel/include/linux/rockchip/cpu.h
....@@ -19,15 +19,18 @@
1919 #define ROCKCHIP_CPU_MASK 0xffff0000
2020 #define ROCKCHIP_CPU_SHIFT 16
2121 #define ROCKCHIP_CPU_PX30 0x33260000
22
+#define ROCKCHIP_CPU_RV1103 0x11030000
23
+#define ROCKCHIP_CPU_RV1106 0x11060000
2224 #define ROCKCHIP_CPU_RV1109 0x11090000
2325 #define ROCKCHIP_CPU_RV1126 0x11260000
2426 #define ROCKCHIP_CPU_RK312X 0x31260000
2527 #define ROCKCHIP_CPU_RK3288 0x32880000
2628 #define ROCKCHIP_CPU_RK3308 0x33080000
29
+#define ROCKCHIP_CPU_RK3528 0x35280000
2730 #define ROCKCHIP_CPU_RK3566 0x35660000
2831 #define ROCKCHIP_CPU_RK3568 0x35680000
2932
30
-#if IS_ENABLED(CONFIG_ROCKCHIP_CPUINFO)
33
+#if IS_REACHABLE(CONFIG_ROCKCHIP_CPUINFO)
3134
3235 extern unsigned long rockchip_soc_id;
3336
....@@ -96,6 +99,25 @@
9699 static inline bool cpu_is_px30(void) { return false; }
97100 #endif
98101
102
+#if defined(CONFIG_CPU_RV1106)
103
+static inline bool cpu_is_rv1103(void)
104
+{
105
+ if (rockchip_soc_id)
106
+ return (rockchip_soc_id & ROCKCHIP_CPU_MASK) == ROCKCHIP_CPU_RV1103;
107
+ return of_machine_is_compatible("rockchip,rv1103");
108
+}
109
+
110
+static inline bool cpu_is_rv1106(void)
111
+{
112
+ if (rockchip_soc_id)
113
+ return (rockchip_soc_id & ROCKCHIP_CPU_MASK) == ROCKCHIP_CPU_RV1106;
114
+ return of_machine_is_compatible("rockchip,rv1106");
115
+}
116
+#else
117
+static inline bool cpu_is_rv1103(void) { return false; }
118
+static inline bool cpu_is_rv1106(void) { return false; }
119
+#endif
120
+
99121 #if defined(CONFIG_CPU_RV1126) || defined(CONFIG_CPU_RV1109)
100122 static inline bool cpu_is_rv1109(void)
101123 {
....@@ -147,10 +169,22 @@
147169 if (rockchip_soc_id)
148170 return (rockchip_soc_id & ROCKCHIP_CPU_MASK) == ROCKCHIP_CPU_RK3308;
149171
150
- return of_machine_is_compatible("rockchip,rk3308");
172
+ return of_machine_is_compatible("rockchip,rk3308") ||
173
+ of_machine_is_compatible("rockchip,rk3308bs");
151174 }
152175 #else
153176 static inline bool cpu_is_rk3308(void) { return false; }
177
+#endif
178
+
179
+#if defined(CONFIG_CPU_RK3528)
180
+static inline bool cpu_is_rk3528(void)
181
+{
182
+ if (rockchip_soc_id)
183
+ return (rockchip_soc_id & ROCKCHIP_CPU_MASK) == ROCKCHIP_CPU_RK3528;
184
+ return of_machine_is_compatible("rockchip,rk3528");
185
+}
186
+#else
187
+static inline bool cpu_is_rk3528(void) { return false; }
154188 #endif
155189
156190 #if defined(CONFIG_CPU_RK3568)
....@@ -175,6 +209,8 @@
175209 #define ROCKCHIP_SOC_MASK (ROCKCHIP_CPU_MASK | 0xff)
176210 #define ROCKCHIP_SOC_PX30 (ROCKCHIP_CPU_PX30 | 0x00)
177211 #define ROCKCHIP_SOC_PX30S (ROCKCHIP_CPU_PX30 | 0x01)
212
+#define ROCKCHIP_SOC_RV1103 (ROCKCHIP_CPU_RV1103 | 0x00)
213
+#define ROCKCHIP_SOC_RV1106 (ROCKCHIP_CPU_RV1106 | 0x00)
178214 #define ROCKCHIP_SOC_RV1109 (ROCKCHIP_CPU_RV1109 | 0x00)
179215 #define ROCKCHIP_SOC_RV1126 (ROCKCHIP_CPU_RV1126 | 0x00)
180216 #define ROCKCHIP_SOC_RK3126 (ROCKCHIP_CPU_RK312X | 0x00)
....@@ -185,30 +221,38 @@
185221 #define ROCKCHIP_SOC_RK3288W (ROCKCHIP_CPU_RK3288 | 0x01)
186222 #define ROCKCHIP_SOC_RK3308 (ROCKCHIP_CPU_RK3308 | 0x00)
187223 #define ROCKCHIP_SOC_RK3308B (ROCKCHIP_CPU_RK3308 | 0x01)
224
+#define ROCKCHIP_SOC_RK3308BS (ROCKCHIP_CPU_RK3308 | 0x02)
225
+#define ROCKCHIP_SOC_RK3528 (ROCKCHIP_CPU_RK3528 | 0x00)
188226 #define ROCKCHIP_SOC_RK3566 (ROCKCHIP_CPU_RK3566 | 0x00)
189227 #define ROCKCHIP_SOC_RK3568 (ROCKCHIP_CPU_RK3568 | 0x00)
190228
191
-#define ROCKCHIP_SOC(id, ID) \
229
+#define ROCKCHIP_SOC(CPU, id, ID) \
192230 static inline bool soc_is_##id(void) \
193231 { \
232
+ if (!IS_ENABLED(CONFIG_CPU_##CPU)) \
233
+ return false; \
194234 if (rockchip_soc_id) \
195235 return ((rockchip_soc_id & ROCKCHIP_SOC_MASK) == ROCKCHIP_SOC_ ##ID); \
196236 return of_machine_is_compatible("rockchip,"#id); \
197237 }
198238
199
-ROCKCHIP_SOC(px30, PX30)
200
-ROCKCHIP_SOC(px30s, PX30S)
201
-ROCKCHIP_SOC(rv1109, RV1109)
202
-ROCKCHIP_SOC(rv1126, RV1126)
203
-ROCKCHIP_SOC(rk3126, RK3126)
204
-ROCKCHIP_SOC(rk3126b, RK3126B)
205
-ROCKCHIP_SOC(rk3126c, RK3126C)
206
-ROCKCHIP_SOC(rk3128, RK3128)
207
-ROCKCHIP_SOC(rk3288, RK3288)
208
-ROCKCHIP_SOC(rk3288w, RK3288W)
209
-ROCKCHIP_SOC(rk3308, RK3308)
210
-ROCKCHIP_SOC(rk3308b, RK3308B)
211
-ROCKCHIP_SOC(rk3566, RK3566)
212
-ROCKCHIP_SOC(rk3568, RK3568)
239
+ROCKCHIP_SOC(PX30, px30, PX30)
240
+ROCKCHIP_SOC(PX30, px30s, PX30S)
241
+ROCKCHIP_SOC(RV1106, rv1103, RV1103)
242
+ROCKCHIP_SOC(RV1106, rv1106, RV1106)
243
+ROCKCHIP_SOC(RV1126, rv1109, RV1109)
244
+ROCKCHIP_SOC(RV1126, rv1126, RV1126)
245
+ROCKCHIP_SOC(RK312X, rk3126, RK3126)
246
+ROCKCHIP_SOC(RK312X, rk3126b, RK3126B)
247
+ROCKCHIP_SOC(RK312X, rk3126c, RK3126C)
248
+ROCKCHIP_SOC(RK312X, rk3128, RK3128)
249
+ROCKCHIP_SOC(RK3288, rk3288, RK3288)
250
+ROCKCHIP_SOC(RK3288, rk3288w, RK3288W)
251
+ROCKCHIP_SOC(RK3308, rk3308, RK3308)
252
+ROCKCHIP_SOC(RK3308, rk3308b, RK3308B)
253
+ROCKCHIP_SOC(RK3308, rk3308bs, RK3308BS)
254
+ROCKCHIP_SOC(RK3528, rk3528, RK3528)
255
+ROCKCHIP_SOC(RK3568, rk3566, RK3566)
256
+ROCKCHIP_SOC(RK3568, rk3568, RK3568)
213257
214258 #endif