|
27 | 27 | #define GPC_PGC_SW2ISO_SHIFT 0x8 |
28 | 28 | #define GPC_PGC_SW_SHIFT 0x0 |
29 | 29 |
|
| 30 | +#define GPC_PGC_PCI_PDN 0x200 |
| 31 | +#define GPC_PGC_PCI_SR 0x20c |
| 32 | + |
30 | 33 | #define GPC_PGC_GPU_PDN 0x260 |
31 | 34 | #define GPC_PGC_GPU_PUPSCR 0x264 |
32 | 35 | #define GPC_PGC_GPU_PDNSCR 0x268 |
| 36 | +#define GPC_PGC_GPU_SR 0x26c |
| 37 | + |
| 38 | +#define GPC_PGC_DISP_PDN 0x240 |
| 39 | +#define GPC_PGC_DISP_SR 0x24c |
33 | 40 |
|
34 | 41 | #define GPU_VPU_PUP_REQ BIT(1) |
35 | 42 | #define GPU_VPU_PDN_REQ BIT(0) |
@@ -323,10 +330,24 @@ static const struct of_device_id imx_gpc_dt_ids[] = { |
323 | 330 | { } |
324 | 331 | }; |
325 | 332 |
|
| 333 | +static const struct regmap_range yes_ranges[] = { |
| 334 | + regmap_reg_range(GPC_CNTR, GPC_CNTR), |
| 335 | + regmap_reg_range(GPC_PGC_PCI_PDN, GPC_PGC_PCI_SR), |
| 336 | + regmap_reg_range(GPC_PGC_GPU_PDN, GPC_PGC_GPU_SR), |
| 337 | + regmap_reg_range(GPC_PGC_DISP_PDN, GPC_PGC_DISP_SR), |
| 338 | +}; |
| 339 | + |
| 340 | +static const struct regmap_access_table access_table = { |
| 341 | + .yes_ranges = yes_ranges, |
| 342 | + .n_yes_ranges = ARRAY_SIZE(yes_ranges), |
| 343 | +}; |
| 344 | + |
326 | 345 | static const struct regmap_config imx_gpc_regmap_config = { |
327 | 346 | .reg_bits = 32, |
328 | 347 | .val_bits = 32, |
329 | 348 | .reg_stride = 4, |
| 349 | + .rd_table = &access_table, |
| 350 | + .wr_table = &access_table, |
330 | 351 | .max_register = 0x2ac, |
331 | 352 | }; |
332 | 353 |
|
|
0 commit comments