| /rk3399_ARM-atf/plat/xilinx/common/pm_service/ |
| H A D | pm_ipi.c | 65 void pm_ipi_init(const struct pm_proc *proc) in pm_ipi_init() argument 67 ipi_mb_open(proc->ipi->local_ipi_id, proc->ipi->remote_ipi_id); in pm_ipi_init() 82 static enum pm_ret_status pm_ipi_send_common(const struct pm_proc *proc, in pm_ipi_send_common() argument 87 uintptr_t buffer_base = proc->ipi->buffer_base + in pm_ipi_send_common() 101 ipi_mb_notify(proc->ipi->local_ipi_id, proc->ipi->remote_ipi_id, in pm_ipi_send_common() 118 enum pm_ret_status pm_ipi_send_non_blocking(const struct pm_proc *proc, in pm_ipi_send_non_blocking() argument 125 ret = pm_ipi_send_common(proc, payload, IPI_NON_BLOCKING); in pm_ipi_send_non_blocking() 142 enum pm_ret_status pm_ipi_send(const struct pm_proc *proc, in pm_ipi_send() argument 149 ret = pm_ipi_send_common(proc, payload, IPI_BLOCKING); in pm_ipi_send() 167 static enum pm_ret_status pm_ipi_buff_read(const struct pm_proc *proc, in pm_ipi_buff_read() argument [all …]
|
| H A D | pm_api_sys.c | 154 const struct pm_proc *proc = pm_get_proc(cpuid); in pm_self_suspend() local 157 if (proc == NULL) { in pm_self_suspend() 166 pm_client_suspend(proc, state, flag); in pm_self_suspend() 171 ret = pm_ipi_send_sync(proc, payload, NULL, 0); in pm_self_suspend()
|
| /rk3399_ARM-atf/plat/marvell/armada/a3k/common/ |
| H A D | cm3_system_reset.c | 72 static inline uintptr_t a3700_rdist_base(unsigned int proc) in a3700_rdist_base() argument 74 return PLAT_MARVELL_GICR_BASE + (proc << GICR_V3_PCPUBASE_SHIFT); in a3700_rdist_base() 77 static inline uint32_t a3700_gicr_read(unsigned int proc, uint32_t reg) in a3700_gicr_read() argument 79 return mmio_read_32(a3700_rdist_base(proc) + reg); in a3700_gicr_read() 82 static inline void a3700_gicr_write(unsigned int proc, uint32_t reg, in a3700_gicr_write() argument 85 mmio_write_32(a3700_rdist_base(proc) + reg, value); in a3700_gicr_write() 88 static void a3700_gic_redist_disable_irqs(unsigned int proc) in a3700_gic_redist_disable_irqs() argument 90 a3700_gicr_write(proc, GICR_ICENABLER0, GENMASK_32(31, 0)); in a3700_gic_redist_disable_irqs() 93 if ((a3700_gicr_read(proc, GICR_CTLR) & GICR_CTLR_RWP_BIT) != 0U) { in a3700_gic_redist_disable_irqs() 94 ERROR("could not disable core %u PPIs & SGIs\n", proc); in a3700_gic_redist_disable_irqs() [all …]
|
| /rk3399_ARM-atf/plat/xilinx/common/include/ |
| H A D | pm_ipi.h | 20 void pm_ipi_init(const struct pm_proc *proc); 22 enum pm_ret_status pm_ipi_send(const struct pm_proc *proc, 24 enum pm_ret_status pm_ipi_send_non_blocking(const struct pm_proc *proc, 26 enum pm_ret_status pm_ipi_send_sync(const struct pm_proc *proc, 30 void pm_ipi_irq_enable(const struct pm_proc *proc); 31 void pm_ipi_irq_clear(const struct pm_proc *proc); 32 uint32_t pm_ipi_irq_status(const struct pm_proc *proc);
|
| H A D | pm_client.h | 21 void pm_client_suspend(const struct pm_proc *proc, uint32_t state, uint32_t flag); 22 void pm_client_wakeup(const struct pm_proc *proc);
|
| /rk3399_ARM-atf/plat/xilinx/zynqmp/ |
| H A D | plat_psci.c | 36 const struct pm_proc *proc; in zynqmp_pwr_domain_on() local 47 proc = pm_get_proc(cpu_id); in zynqmp_pwr_domain_on() 48 if (proc == NULL) { in zynqmp_pwr_domain_on() 53 ret = pm_get_node_status(proc->node_id, buff, NON_SECURE); in zynqmp_pwr_domain_on() 59 pm_client_wakeup(proc); in zynqmp_pwr_domain_on() 62 (void)pm_req_wakeup(proc->node_id, 1, zynqmp_sec_entry, REQ_ACK_BLOCKING, in zynqmp_pwr_domain_on() 74 const struct pm_proc *proc = pm_get_proc(cpu_id); in zynqmp_pwr_domain_off() local 76 if (proc == NULL) { in zynqmp_pwr_domain_off() 96 (void)pm_self_suspend(proc->node_id, MAX_LATENCY, PM_STATE_CPU_IDLE, 0, in zynqmp_pwr_domain_off() 104 const struct pm_proc *proc = pm_get_proc(cpu_id); in zynqmp_pwr_domain_suspend() local [all …]
|
| /rk3399_ARM-atf/plat/xilinx/versal/ |
| H A D | plat_psci.c | 34 const struct pm_proc *proc; in versal_pwr_domain_on() local 43 proc = pm_get_proc((uint32_t)cpu_id); in versal_pwr_domain_on() 44 if (proc == NULL) { in versal_pwr_domain_on() 49 (void)pm_req_wakeup(proc->node_id, in versal_pwr_domain_on() 54 pm_client_wakeup(proc); in versal_pwr_domain_on() 72 const struct pm_proc *proc = pm_get_proc(cpu_id); in versal_pwr_domain_suspend() local 74 if (proc == NULL) { in versal_pwr_domain_suspend() 93 (void)pm_self_suspend(proc->node_id, MAX_LATENCY, state, versal_sec_entry, in versal_pwr_domain_suspend() 113 const struct pm_proc *proc = pm_get_proc(cpu_id); in versal_pwr_domain_suspend_finish() local 115 if (proc == NULL) { in versal_pwr_domain_suspend_finish() [all …]
|
| /rk3399_ARM-atf/plat/amd/versal2/ |
| H A D | plat_psci_pm.c | 39 const struct pm_proc *proc; in versal2_pwr_domain_on() local 42 proc = pm_get_proc((uint32_t)cpu_id); in versal2_pwr_domain_on() 43 if (proc != NULL) { in versal2_pwr_domain_on() 44 pm_ret = pm_req_wakeup(proc->node_id, in versal2_pwr_domain_on() 51 pm_client_wakeup(proc); in versal2_pwr_domain_on() 66 const struct pm_proc *proc; in versal2_pwr_domain_off() local 71 proc = pm_get_proc(cpu_id); in versal2_pwr_domain_off() 72 if (proc == NULL) { in versal2_pwr_domain_off() 91 pm_ret = pm_self_suspend(proc->node_id, MAX_LATENCY, PM_STATE_CPU_OFF, 0, in versal2_pwr_domain_off() 156 const struct pm_proc *proc; in versal2_pwr_domain_suspend() local [all …]
|
| /rk3399_ARM-atf/plat/xilinx/versal_net/ |
| H A D | plat_psci_pm.c | 32 const struct pm_proc *proc; in versal_net_pwr_domain_on() local 42 proc = pm_get_proc(cpu_id); in versal_net_pwr_domain_on() 43 if (proc == NULL) { in versal_net_pwr_domain_on() 47 (void)pm_req_wakeup(proc->node_id, (versal_net_sec_entry & 0xFFFFFFFFU) | 0x1U, in versal_net_pwr_domain_on() 51 pm_client_wakeup(proc); in versal_net_pwr_domain_on() 69 const struct pm_proc *proc = pm_get_proc(cpu_id); in versal_net_pwr_domain_off() local 71 if (proc == NULL) { in versal_net_pwr_domain_off() 92 (void)pm_self_suspend(proc->node_id, MAX_LATENCY, PM_STATE_CPU_OFF, 0, in versal_net_pwr_domain_off() 95 (void)pm_self_suspend(proc->node_id, MAX_LATENCY, PM_STATE_CPU_IDLE, 0, in versal_net_pwr_domain_off() 215 const struct pm_proc *proc = pm_get_proc(cpu_id); in versal_net_pwr_domain_suspend() local [all …]
|
| /rk3399_ARM-atf/plat/xilinx/versal/pm_service/ |
| H A D | pm_client.c | 192 void pm_client_suspend(const struct pm_proc *proc, uint32_t state, uint32_t flag) in pm_client_suspend() argument 197 pm_client_set_wakeup_sources((uint32_t)proc->node_id, flag); in pm_client_suspend() 202 (uint32_t)proc->pwrdn_mask); in pm_client_suspend() 236 void pm_client_wakeup(const struct pm_proc *proc) in pm_client_wakeup() argument 238 uint32_t cpuid = pm_get_cpuid(proc->node_id); in pm_client_wakeup() 248 val &= ~(proc->pwrdn_mask); in pm_client_wakeup()
|
| /rk3399_ARM-atf/plat/amd/versal2/pm_service/ |
| H A D | pm_client.c | 101 const struct pm_proc *proc = NULL; in pm_get_proc() local 104 proc = &pm_procs_all[cpuid]; in pm_get_proc() 109 return proc; in pm_get_proc() 279 void pm_client_suspend(const struct pm_proc *proc, uint32_t state, uint32_t flag) in pm_client_suspend() argument 292 pm_client_set_wakeup_sources((uint32_t)proc->node_id, flag); in pm_client_suspend() 339 void pm_client_wakeup(const struct pm_proc *proc) in pm_client_wakeup() argument 341 uint32_t cpuid = pm_get_cpuid(proc->node_id); in pm_client_wakeup()
|
| /rk3399_ARM-atf/plat/xilinx/zynqmp/pm_service/ |
| H A D | pm_client.c | 287 void pm_client_suspend(const struct pm_proc *proc, uint32_t state, uint32_t flag) in pm_client_suspend() argument 296 mmio_write_32(APU_PWRCTL, mmio_read_32(APU_PWRCTL) | proc->pwrdn_mask); in pm_client_suspend() 309 void pm_client_wakeup(const struct pm_proc *proc) in pm_client_wakeup() argument 311 uint32_t cpuid = pm_get_cpuid(proc->node_id); in pm_client_wakeup() 320 val &= ~(proc->pwrdn_mask); in pm_client_wakeup()
|
| H A D | zynqmp_pm_api_sys.c | 273 const struct pm_proc *proc = pm_get_proc(cpuid); in pm_self_suspend() local 275 if (proc == NULL) { in pm_self_suspend() 284 pm_client_suspend(proc, state, flag); in pm_self_suspend() 286 PM_PACK_PAYLOAD6(payload, flag, PM_SELF_SUSPEND, proc->node_id, in pm_self_suspend() 288 return pm_ipi_send_sync(proc, payload, NULL, 0); in pm_self_suspend()
|
| /rk3399_ARM-atf/plat/xilinx/versal_net/pm_service/ |
| H A D | pm_client.c | 291 void pm_client_suspend(const struct pm_proc *proc, uint32_t state, uint32_t flag) in pm_client_suspend() argument 299 pm_client_set_wakeup_sources((uint32_t)proc->node_id, flag); in pm_client_suspend() 347 void pm_client_wakeup(const struct pm_proc *proc) in pm_client_wakeup() argument 349 uint32_t cpuid = pm_get_cpuid(proc->node_id); in pm_client_wakeup()
|
| /rk3399_ARM-atf/docs/ |
| H A D | change-log.md | 4273 …- check proc variable before use ([652c1ab](https://review.trustedfirmware.org/plugins/gitiles/TF-…
|