.. | .. |
---|
19 | 19 | #define ROCKCHIP_CPU_MASK 0xffff0000 |
---|
20 | 20 | #define ROCKCHIP_CPU_SHIFT 16 |
---|
21 | 21 | #define ROCKCHIP_CPU_PX30 0x33260000 |
---|
| 22 | +#define ROCKCHIP_CPU_RV1103 0x11030000 |
---|
| 23 | +#define ROCKCHIP_CPU_RV1106 0x11060000 |
---|
22 | 24 | #define ROCKCHIP_CPU_RV1109 0x11090000 |
---|
23 | 25 | #define ROCKCHIP_CPU_RV1126 0x11260000 |
---|
24 | 26 | #define ROCKCHIP_CPU_RK312X 0x31260000 |
---|
.. | .. |
---|
28 | 30 | #define ROCKCHIP_CPU_RK3566 0x35660000 |
---|
29 | 31 | #define ROCKCHIP_CPU_RK3568 0x35680000 |
---|
30 | 32 | |
---|
31 | | -#if IS_ENABLED(CONFIG_ROCKCHIP_CPUINFO) |
---|
| 33 | +#if IS_REACHABLE(CONFIG_ROCKCHIP_CPUINFO) |
---|
32 | 34 | |
---|
33 | 35 | extern unsigned long rockchip_soc_id; |
---|
34 | 36 | |
---|
.. | .. |
---|
97 | 99 | static inline bool cpu_is_px30(void) { return false; } |
---|
98 | 100 | #endif |
---|
99 | 101 | |
---|
| 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 | + |
---|
100 | 121 | #if defined(CONFIG_CPU_RV1126) || defined(CONFIG_CPU_RV1109) |
---|
101 | 122 | static inline bool cpu_is_rv1109(void) |
---|
102 | 123 | { |
---|
.. | .. |
---|
148 | 169 | if (rockchip_soc_id) |
---|
149 | 170 | return (rockchip_soc_id & ROCKCHIP_CPU_MASK) == ROCKCHIP_CPU_RK3308; |
---|
150 | 171 | |
---|
151 | | - return of_machine_is_compatible("rockchip,rk3308"); |
---|
| 172 | + return of_machine_is_compatible("rockchip,rk3308") || |
---|
| 173 | + of_machine_is_compatible("rockchip,rk3308bs"); |
---|
152 | 174 | } |
---|
153 | 175 | #else |
---|
154 | 176 | static inline bool cpu_is_rk3308(void) { return false; } |
---|
.. | .. |
---|
187 | 209 | #define ROCKCHIP_SOC_MASK (ROCKCHIP_CPU_MASK | 0xff) |
---|
188 | 210 | #define ROCKCHIP_SOC_PX30 (ROCKCHIP_CPU_PX30 | 0x00) |
---|
189 | 211 | #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) |
---|
190 | 214 | #define ROCKCHIP_SOC_RV1109 (ROCKCHIP_CPU_RV1109 | 0x00) |
---|
191 | 215 | #define ROCKCHIP_SOC_RV1126 (ROCKCHIP_CPU_RV1126 | 0x00) |
---|
192 | 216 | #define ROCKCHIP_SOC_RK3126 (ROCKCHIP_CPU_RK312X | 0x00) |
---|
.. | .. |
---|
197 | 221 | #define ROCKCHIP_SOC_RK3288W (ROCKCHIP_CPU_RK3288 | 0x01) |
---|
198 | 222 | #define ROCKCHIP_SOC_RK3308 (ROCKCHIP_CPU_RK3308 | 0x00) |
---|
199 | 223 | #define ROCKCHIP_SOC_RK3308B (ROCKCHIP_CPU_RK3308 | 0x01) |
---|
| 224 | +#define ROCKCHIP_SOC_RK3308BS (ROCKCHIP_CPU_RK3308 | 0x02) |
---|
200 | 225 | #define ROCKCHIP_SOC_RK3528 (ROCKCHIP_CPU_RK3528 | 0x00) |
---|
201 | 226 | #define ROCKCHIP_SOC_RK3566 (ROCKCHIP_CPU_RK3566 | 0x00) |
---|
202 | 227 | #define ROCKCHIP_SOC_RK3568 (ROCKCHIP_CPU_RK3568 | 0x00) |
---|
203 | 228 | |
---|
204 | | -#define ROCKCHIP_SOC(id, ID) \ |
---|
| 229 | +#define ROCKCHIP_SOC(CPU, id, ID) \ |
---|
205 | 230 | static inline bool soc_is_##id(void) \ |
---|
206 | 231 | { \ |
---|
| 232 | + if (!IS_ENABLED(CONFIG_CPU_##CPU)) \ |
---|
| 233 | + return false; \ |
---|
207 | 234 | if (rockchip_soc_id) \ |
---|
208 | 235 | return ((rockchip_soc_id & ROCKCHIP_SOC_MASK) == ROCKCHIP_SOC_ ##ID); \ |
---|
209 | 236 | return of_machine_is_compatible("rockchip,"#id); \ |
---|
210 | 237 | } |
---|
211 | 238 | |
---|
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) |
---|
227 | 257 | |
---|
228 | 258 | #endif |
---|