Lines Matching refs:pd
291 static inline uint32_t pmu_power_domain_chain_st(uint32_t pd) in pmu_power_domain_chain_st() argument
293 return mmio_read_32(PMU_BASE + PMU2_PWR_CHAIN1_ST(pd / 32)) & BIT(pd % 32) ? in pmu_power_domain_chain_st()
298 static inline uint32_t pmu_power_domain_mem_st(uint32_t pd) in pmu_power_domain_mem_st() argument
300 return mmio_read_32(PMU_BASE + PMU2_PWR_MEM_ST(pd / 32)) & BIT(pd % 32) ? in pmu_power_domain_mem_st()
305 static inline uint32_t pmu_power_domain_st(uint32_t pd) in pmu_power_domain_st() argument
307 int8_t pd_repair = pd_repair_map[pd]; in pmu_power_domain_st()
314 return mmio_read_32(PMU_BASE + PMU2_PWR_GATE_ST(pd / 32)) & BIT(pd % 32) ? in pmu_power_domain_st()
319 static int pmu_power_domain_pd_to_mem_st(uint32_t pd, uint32_t *pd_mem_st) in pmu_power_domain_pd_to_mem_st() argument
323 switch (pd) { in pmu_power_domain_pd_to_mem_st()
405 static int pmu_power_domain_reset_mem(uint32_t pd, uint32_t pd_mem_st) in pmu_power_domain_reset_mem() argument
414 WARN("%s: %d chain up time out\n", __func__, pd); in pmu_power_domain_reset_mem()
422 mmio_write_32(PMU_BASE + PMU2_MEMPWR_GATE_SFTCON(pd / 16), in pmu_power_domain_reset_mem()
423 BITS_WITH_WMASK(pmu_pd_off, 0x1, pd % 16)); in pmu_power_domain_reset_mem()
431 WARN("%s: %d mem down time out\n", __func__, pd); in pmu_power_domain_reset_mem()
437 mmio_write_32(PMU_BASE + PMU2_MEMPWR_GATE_SFTCON(pd / 16), in pmu_power_domain_reset_mem()
438 BITS_WITH_WMASK(pmu_pd_on, 0x1, pd % 16)); in pmu_power_domain_reset_mem()
446 WARN("%s: %d mem up time out\n", __func__, pd); in pmu_power_domain_reset_mem()
458 static int pmu_power_domain_ctr(uint32_t pd, uint32_t pd_state) in pmu_power_domain_ctr() argument
466 ret = pmu_power_domain_pd_to_mem_st(pd, &pd_mem_st); in pmu_power_domain_ctr()
470 WARN("%s: %d mem is up\n", __func__, pd); in pmu_power_domain_ctr()
474 mmio_write_32(PMU_BASE + PMU2_PWR_GATE_SFTCON(pd / 16), in pmu_power_domain_ctr()
475 BITS_WITH_WMASK(pd_state, 0x1, pd % 16)); in pmu_power_domain_ctr()
479 ret = pmu_power_domain_reset_mem(pd, pd_mem_st); in pmu_power_domain_ctr()
482 WARN("%s: %d mem reset ok\n", __func__, pd); in pmu_power_domain_ctr()
485 while ((pmu_power_domain_st(pd) != pd_state) && (loop < PD_CTR_LOOP)) { in pmu_power_domain_ctr()
490 if (pmu_power_domain_st(pd) != pd_state) { in pmu_power_domain_ctr()
491 WARN("%s: %d, %d, (0x%x, 0x%x) error!\n", __func__, pd, pd_state, in pmu_power_domain_ctr()