forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-05-10 37f49e37ab4cb5d0bc4c60eb5c6d4dd57db767bb
kernel/drivers/soc/rockchip/rockchip-cpuinfo.c
....@@ -57,12 +57,9 @@
5757 }
5858
5959 cell = nvmem_cell_get(dev, "id");
60
- if (IS_ERR(cell)) {
61
- dev_err(dev, "failed to get id cell: %ld\n", PTR_ERR(cell));
62
- if (PTR_ERR(cell) == -EPROBE_DEFER)
63
- return PTR_ERR(cell);
64
- return PTR_ERR(cell);
65
- }
60
+ if (IS_ERR(cell))
61
+ return dev_err_probe(dev, PTR_ERR(cell), "failed to get id cell\n");
62
+
6663 efuse_buf = nvmem_cell_read(cell, &len);
6764 nvmem_cell_put(cell);
6865 if (IS_ERR(efuse_buf))
....@@ -214,7 +211,10 @@
214211
215212 static void rk3528_init(void)
216213 {
217
- rockchip_soc_id = ROCKCHIP_SOC_RK3528;
214
+ if (of_machine_is_compatible("rockchip,rk3528"))
215
+ rockchip_soc_id = ROCKCHIP_SOC_RK3528;
216
+ else if (of_machine_is_compatible("rockchip,rk3528a"))
217
+ rockchip_soc_id = ROCKCHIP_SOC_RK3528A;
218218 }
219219
220220 #define RK356X_PMU_GRF_PHYS 0xfdc20000
....@@ -235,6 +235,12 @@
235235 static void rk3566_init(void)
236236 {
237237 rockchip_soc_id = ROCKCHIP_SOC_RK3566;
238
+ rk356x_set_cpu_version();
239
+}
240
+
241
+static void rk3567_init(void)
242
+{
243
+ rockchip_soc_id = ROCKCHIP_SOC_RK3567;
238244 rk356x_set_cpu_version();
239245 }
240246
....@@ -270,6 +276,8 @@
270276 rk3528_init();
271277 } else if (cpu_is_rk3566()) {
272278 rk3566_init();
279
+ } else if (cpu_is_rk3567()) {
280
+ rk3567_init();
273281 } else if (cpu_is_rk3568()) {
274282 rk3568_init();
275283 } else if (cpu_is_px30()) {