hc
2023-12-08 01573e231f18eb2d99162747186f59511f56b64d
kernel/include/linux/rockchip/cpu.h
....@@ -19,6 +19,8 @@
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
....@@ -28,7 +30,7 @@
2830 #define ROCKCHIP_CPU_RK3566 0x35660000
2931 #define ROCKCHIP_CPU_RK3568 0x35680000
3032
31
-#if IS_ENABLED(CONFIG_ROCKCHIP_CPUINFO)
33
+#if IS_REACHABLE(CONFIG_ROCKCHIP_CPUINFO)
3234
3335 extern unsigned long rockchip_soc_id;
3436
....@@ -97,6 +99,25 @@
9799 static inline bool cpu_is_px30(void) { return false; }
98100 #endif
99101
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
+
100121 #if defined(CONFIG_CPU_RV1126) || defined(CONFIG_CPU_RV1109)
101122 static inline bool cpu_is_rv1109(void)
102123 {
....@@ -148,7 +169,8 @@
148169 if (rockchip_soc_id)
149170 return (rockchip_soc_id & ROCKCHIP_CPU_MASK) == ROCKCHIP_CPU_RK3308;
150171
151
- return of_machine_is_compatible("rockchip,rk3308");
172
+ return of_machine_is_compatible("rockchip,rk3308") ||
173
+ of_machine_is_compatible("rockchip,rk3308bs");
152174 }
153175 #else
154176 static inline bool cpu_is_rk3308(void) { return false; }
....@@ -187,6 +209,8 @@
187209 #define ROCKCHIP_SOC_MASK (ROCKCHIP_CPU_MASK | 0xff)
188210 #define ROCKCHIP_SOC_PX30 (ROCKCHIP_CPU_PX30 | 0x00)
189211 #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)
190214 #define ROCKCHIP_SOC_RV1109 (ROCKCHIP_CPU_RV1109 | 0x00)
191215 #define ROCKCHIP_SOC_RV1126 (ROCKCHIP_CPU_RV1126 | 0x00)
192216 #define ROCKCHIP_SOC_RK3126 (ROCKCHIP_CPU_RK312X | 0x00)
....@@ -197,32 +221,38 @@
197221 #define ROCKCHIP_SOC_RK3288W (ROCKCHIP_CPU_RK3288 | 0x01)
198222 #define ROCKCHIP_SOC_RK3308 (ROCKCHIP_CPU_RK3308 | 0x00)
199223 #define ROCKCHIP_SOC_RK3308B (ROCKCHIP_CPU_RK3308 | 0x01)
224
+#define ROCKCHIP_SOC_RK3308BS (ROCKCHIP_CPU_RK3308 | 0x02)
200225 #define ROCKCHIP_SOC_RK3528 (ROCKCHIP_CPU_RK3528 | 0x00)
201226 #define ROCKCHIP_SOC_RK3566 (ROCKCHIP_CPU_RK3566 | 0x00)
202227 #define ROCKCHIP_SOC_RK3568 (ROCKCHIP_CPU_RK3568 | 0x00)
203228
204
-#define ROCKCHIP_SOC(id, ID) \
229
+#define ROCKCHIP_SOC(CPU, id, ID) \
205230 static inline bool soc_is_##id(void) \
206231 { \
232
+ if (!IS_ENABLED(CONFIG_CPU_##CPU)) \
233
+ return false; \
207234 if (rockchip_soc_id) \
208235 return ((rockchip_soc_id & ROCKCHIP_SOC_MASK) == ROCKCHIP_SOC_ ##ID); \
209236 return of_machine_is_compatible("rockchip,"#id); \
210237 }
211238
212
-ROCKCHIP_SOC(px30, PX30)
213
-ROCKCHIP_SOC(px30s, PX30S)
214
-ROCKCHIP_SOC(rv1109, RV1109)
215
-ROCKCHIP_SOC(rv1126, RV1126)
216
-ROCKCHIP_SOC(rk3126, RK3126)
217
-ROCKCHIP_SOC(rk3126b, RK3126B)
218
-ROCKCHIP_SOC(rk3126c, RK3126C)
219
-ROCKCHIP_SOC(rk3128, RK3128)
220
-ROCKCHIP_SOC(rk3288, RK3288)
221
-ROCKCHIP_SOC(rk3288w, RK3288W)
222
-ROCKCHIP_SOC(rk3308, RK3308)
223
-ROCKCHIP_SOC(rk3308b, RK3308B)
224
-ROCKCHIP_SOC(rk3528, RK3528)
225
-ROCKCHIP_SOC(rk3566, RK3566)
226
-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)
227257
228258 #endif