Add APIs to read/write PGGS and GGS registers.
Showing the changes to include/linux (1 of 2 files). Show all
Unified · Split
| @@ -107,6 +107,10 @@ enum pm_ioctl_id { · 106 unmodified lines | ||
| 107 | 107 | IOCTL_GET_PLL_FRAC_MODE, |
| 108 | 108 | IOCTL_SET_PLL_FRAC_DATA, |
| 109 | 109 | IOCTL_GET_PLL_FRAC_DATA, |
| 110 | + IOCTL_WRITE_GGS = 12, | |
| 111 | + IOCTL_READ_GGS = 13, | |
| 112 | + IOCTL_WRITE_PGGS = 14, | |
| 113 | + IOCTL_READ_PGGS = 15, | |
| 110 | 114 | }; |
| 111 | 115 | |
| 112 | 116 | enum pm_query_id { |
| @@ -330,6 +334,10 @@ int zynqmp_pm_set_requirement(const u32 node, const u32 capabilities, · 217 unmodified lines | ||
| 330 | 334 | int zynqmp_pm_aes_engine(const u64 address, u32 *out); |
| 331 | 335 | int zynqmp_pm_fpga_load(const u64 address, const u32 size, const u32 flags); |
| 332 | 336 | int zynqmp_pm_fpga_get_status(u32 *value); |
| 337 | +int zynqmp_pm_write_ggs(u32 index, u32 value); | |
| 338 | +int zynqmp_pm_read_ggs(u32 index, u32 *value); | |
| 339 | +int zynqmp_pm_write_pggs(u32 index, u32 value); | |
| 340 | +int zynqmp_pm_read_pggs(u32 index, u32 *value); | |
| 333 | 341 | #else |
| 334 | 342 | static inline struct zynqmp_eemi_ops *zynqmp_pm_get_eemi_ops(void) |
| 335 | 343 | { |
| @@ -456,6 +464,22 @@ static inline int zynqmp_pm_fpga_get_status(u32 *value) · 120 unmodified lines | ||
| 456 | 464 | { |
| 457 | 465 | return -ENODEV; |
| 458 | 466 | } |
| 467 | +static inline int zynqmp_pm_write_ggs(u32 index, u32 value) | |
| 468 | +{ | |
| 469 | + return -ENODEV; | |
| 470 | +} | |
| 471 | +static inline int zynqmp_pm_read_ggs(u32 index, u32 *value) | |
| 472 | +{ | |
| 473 | + return -ENODEV; | |
| 474 | +} | |
| 475 | +static inline int zynqmp_pm_write_pggs(u32 index, u32 value) | |
| 476 | +{ | |
| 477 | + return -ENODEV; | |
| 478 | +} | |
| 479 | +static inline int zynqmp_pm_read_pggs(u32 index, u32 *value) | |
| 480 | +{ | |
| 481 | + return -ENODEV; | |
| 482 | +} | |
| 459 | 483 | #endif |
| 460 | 484 | |
| 461 | 485 | #endif /* __FIRMWARE_ZYNQMP_H__ */ |