Lines Matching refs:psc
81 const struct ti_psc_drv_data *psc = ti_to_psc_drv_data(ti_get_drv_data(dev)); in psc_read() local
83 if (psc->base == 0U) in psc_read()
86 return mmio_read_32(psc->base + reg); in psc_read()
91 const struct ti_psc_drv_data *psc = ti_to_psc_drv_data(ti_get_drv_data(dev)); in psc_write() local
93 if (psc->base == 0U) in psc_write()
96 mmio_write_32(psc->base + reg, val); in psc_write()
101 const struct ti_psc_drv_data *psc = ti_to_psc_drv_data(ti_get_drv_data(dev)); in ti_psc_pd_idx() local
102 ptrdiff_t diff = pd - psc->powerdomains; in ti_psc_pd_idx()
107 static inline struct ti_psc_pd *psc_idx2pd(const struct ti_psc_drv_data *psc, in psc_idx2pd() argument
110 return &psc->powerdomains[id]; in psc_idx2pd()
116 const struct ti_psc_drv_data *psc = ti_to_psc_drv_data(ti_get_drv_data(dev)); in get_psc_pd_data() local
118 return &psc->pd_data[ti_psc_pd_idx(dev, pd)]; in get_psc_pd_data()
123 const struct ti_psc_drv_data *psc = ti_to_psc_drv_data(ti_get_drv_data(dev)); in ti_lpsc_module_idx() local
124 ptrdiff_t diff = module - psc->modules; in ti_lpsc_module_idx()
129 static inline struct ti_lpsc_module *psc_idx2mod(const struct ti_psc_drv_data *psc, in psc_idx2mod() argument
132 return &psc->modules[id]; in psc_idx2mod()
198 const struct ti_psc_drv_data *psc = ti_to_psc_drv_data(ti_get_drv_data(dev)); in ti_psc_pd_get() local
203 psc->psc_idx, idx, pd->use_count); in ti_psc_pd_get()
209 if ((psc->pd_data[idx].flags & TI_PSC_PD_ALWAYSON) != 0U) { in ti_psc_pd_get()
216 if ((psc->pd_data[idx].flags & TI_PSC_PD_DEPENDS) != 0U) { in ti_psc_pd_get()
217 ti_psc_pd_get(dev, psc_idx2pd(psc, in ti_psc_pd_get()
218 (ti_pd_idx_t) psc->pd_data[idx].depends)); in ti_psc_pd_get()
221 psc_pd_clk_get(&psc->pd_data[idx]); in ti_psc_pd_get()
237 psc->data->pds_enabled |= (uint32_t) BIT(idx); in ti_psc_pd_get()
265 const struct ti_psc_drv_data *psc = ti_to_psc_drv_data(ti_get_drv_data(dev)); in ti_psc_pd_put() local
269 psc->psc_idx, idx, pd->use_count); in ti_psc_pd_put()
275 if ((psc->pd_data[idx].flags & TI_PSC_PD_ALWAYSON) != 0U) { in ti_psc_pd_put()
294 psc_pd_clk_put(&psc->pd_data[idx]); in ti_psc_pd_put()
296 if ((psc->pd_data[idx].flags & TI_PSC_PD_DEPENDS) != 0U) { in ti_psc_pd_put()
297 ti_psc_pd_put(dev, psc_idx2pd(psc, in ti_psc_pd_put()
298 (ti_pd_idx_t) psc->pd_data[idx].depends)); in ti_psc_pd_put()
301 psc->data->pds_enabled &= ~((uint32_t) BIT(idx)); in ti_psc_pd_put()
319 const struct ti_psc_drv_data *psc = ti_to_psc_drv_data(ti_get_drv_data(dev)); in lpsc_module_sync_state() local
322 const struct ti_lpsc_module_data *data = &psc->mod_data[idx]; in lpsc_module_sync_state()
323 struct ti_psc_pd *pd = psc_idx2pd(psc, (ti_pd_idx_t) data->powerdomain); in lpsc_module_sync_state()
424 const struct ti_psc_drv_data *depends_psc = psc; in lpsc_module_sync_state()
427 if (data->depends_psc_idx != psc->psc_idx) { in lpsc_module_sync_state()
433 psc->psc_idx, data->depends_psc_idx); in lpsc_module_sync_state()
491 const struct ti_psc_drv_data *depends_psc = psc; in lpsc_module_sync_state()
494 if (data->depends_psc_idx != psc->psc_idx) { in lpsc_module_sync_state()
500 psc->psc_idx, data->depends_psc_idx); in lpsc_module_sync_state()
541 const struct ti_psc_drv_data *psc = ti_to_psc_drv_data(ti_get_drv_data(dev)); in ti_lpsc_module_set_reset_iso() local
543 const struct ti_lpsc_module_data *data = &psc->mod_data[idx]; in ti_lpsc_module_set_reset_iso()
567 const struct ti_psc_drv_data *psc = ti_to_psc_drv_data(ti_get_drv_data(dev)); in ti_lpsc_module_get_reset_iso() local
569 const struct ti_lpsc_module_data *data = &psc->mod_data[idx]; in ti_lpsc_module_get_reset_iso()
584 const struct ti_psc_drv_data *psc = ti_to_psc_drv_data(ti_get_drv_data(dev)); in ti_lpsc_module_set_local_reset() local
586 const struct ti_lpsc_module_data *data = &psc->mod_data[idx]; in ti_lpsc_module_set_local_reset()
599 psc->psc_idx, idx, ((enable == true) ? 1U : 0U)); in ti_lpsc_module_set_local_reset()
615 const struct ti_psc_drv_data *psc = ti_to_psc_drv_data(ti_get_drv_data(dev)); in ti_lpsc_module_set_module_reset() local
617 const struct ti_lpsc_module_data *data = &psc->mod_data[idx]; in ti_lpsc_module_set_module_reset()
624 psc->psc_idx, idx, (enable ? 1U : 0U)); in ti_lpsc_module_set_module_reset()
639 const struct ti_psc_drv_data *psc = ti_to_psc_drv_data(ti_get_drv_data(dev)); in ti_lpsc_module_get_local_reset() local
641 const struct ti_lpsc_module_data *data = &psc->mod_data[idx]; in ti_lpsc_module_get_local_reset()
660 const struct ti_psc_drv_data *psc = ti_to_psc_drv_data(ti_get_drv_data(dev)); in ti_lpsc_module_wait() local
662 const struct ti_lpsc_module_data *data = &psc->mod_data[idx]; in ti_lpsc_module_wait()
663 struct ti_psc_pd *pd = psc_idx2pd(psc, (ti_pd_idx_t) data->powerdomain); in ti_lpsc_module_wait()
675 psc->psc_idx, idx); in ti_lpsc_module_wait()
694 psc->psc_idx, idx); in ti_lpsc_module_wait()
701 const struct ti_psc_drv_data *psc = ti_to_psc_drv_data(ti_get_drv_data(dev)); in lpsc_module_clk_get() local
703 const struct ti_lpsc_module_data *data = &psc->mod_data[idx]; in lpsc_module_clk_get()
731 const struct ti_psc_drv_data *psc = ti_to_psc_drv_data(ti_get_drv_data(dev)); in lpsc_module_clk_put() local
733 const struct ti_lpsc_module_data *data = &psc->mod_data[idx]; in lpsc_module_clk_put()
756 const struct ti_psc_drv_data *psc = ti_to_psc_drv_data(ti_get_drv_data(dev)); in lpsc_module_get_internal() local
761 psc->psc_idx, ti_lpsc_module_idx(dev, module), in lpsc_module_get_internal()
772 psc->psc_idx, ti_lpsc_module_idx(dev, module), in lpsc_module_get_internal()
791 const struct ti_psc_drv_data *psc = ti_to_psc_drv_data(ti_get_drv_data(dev)); in lpsc_module_put_internal() local
796 psc->psc_idx, ti_lpsc_module_idx(dev, module), in lpsc_module_put_internal()
806 psc->psc_idx, ti_lpsc_module_idx(dev, module), in lpsc_module_put_internal()
848 const struct ti_psc_drv_data *psc = ti_to_psc_drv_data(ti_get_drv_data(dev)); in psc_pd_drop_pwr_up_ref() local
851 for (idx = 0U; idx < psc->pd_count; idx++) { in psc_pd_drop_pwr_up_ref()
852 struct ti_psc_pd *pd = psc_idx2pd(psc, idx); in psc_pd_drop_pwr_up_ref()
867 const struct ti_psc_drv_data *psc; in ti_psc_lookup() local
869 psc = ti_to_psc_drv_data(ti_get_drv_data(dev)); in ti_psc_lookup()
871 if ((ti_psc_idx_t) psc->psc_idx == id) { in ti_psc_lookup()
875 dev = psc->data->next; in ti_psc_lookup()
883 const struct ti_psc_drv_data *psc = ti_to_psc_drv_data(ti_get_drv_data(dev)); in ti_psc_lookup_pd() local
886 if ((id < psc->pd_count) && in ti_psc_lookup_pd()
887 ((psc->pd_data[id].flags & TI_PSC_PD_EXISTS) != 0U)) { in ti_psc_lookup_pd()
888 pd = psc_idx2pd(psc, id); in ti_psc_lookup_pd()
895 const struct ti_psc_drv_data *psc = ti_to_psc_drv_data(ti_get_drv_data(dev)); in ti_psc_lookup_lpsc() local
898 if ((id < psc->module_count) && in ti_psc_lookup_lpsc()
899 ((psc->mod_data[id].flags & TI_LPSC_MODULE_EXISTS) != 0U)) { in ti_psc_lookup_lpsc()
900 mod = psc_idx2mod(psc, id); in ti_psc_lookup_lpsc()
914 const struct ti_psc_drv_data *psc = ti_to_psc_drv_data(ti_get_drv_data(dev)); in psc_initialize_pds() local
920 for (idx = 0U; idx < psc->pd_count; idx++) { in psc_initialize_pds()
921 pd = psc_idx2pd(psc, idx); in psc_initialize_pds()
923 if (0U == (psc->pd_data[idx].flags & TI_PSC_PD_EXISTS)) { in psc_initialize_pds()
927 VERBOSE("PD_INIT: psc_id=%d lpsc_id=%d\n", psc->psc_idx, idx); in psc_initialize_pds()
937 ((psc->pd_data[idx].flags & TI_PSC_PD_ALWAYSON) != 0U)); in psc_initialize_pds()
941 for (idx = 0U; idx < psc->pd_count; idx++) { in psc_initialize_pds()
942 pd = psc_idx2pd(psc, idx); in psc_initialize_pds()
961 const struct ti_psc_drv_data *psc = ti_to_psc_drv_data(ti_get_drv_data(dev)); in psc_uninitialize_pds() local
964 for (idx = 0U; idx < psc->pd_count; idx++) { in psc_uninitialize_pds()
965 struct ti_psc_pd *pd = psc_idx2pd(psc, idx); in psc_uninitialize_pds()
967 if (((psc->pd_data[idx].flags & TI_PSC_PD_EXISTS) != 0U) && in psc_uninitialize_pds()
969 ((psc->pd_data[idx].flags & TI_PSC_PD_ALWAYSON) == 0U)) { in psc_uninitialize_pds()
970 psc_pd_clk_put(&psc->pd_data[idx]); in psc_uninitialize_pds()
977 psc->data->pds_enabled = 0U; in psc_uninitialize_pds()
984 const struct ti_psc_drv_data *psc; in ti_psc_drop_pwr_up_ref() local
988 psc = ti_to_psc_drv_data(ti_get_drv_data(dev)); in ti_psc_drop_pwr_up_ref()
990 for (idx = 0U; idx < psc->module_count; idx++) { in ti_psc_drop_pwr_up_ref()
991 struct ti_lpsc_module *mod = psc_idx2mod(psc, idx); in ti_psc_drop_pwr_up_ref()
1002 dev = psc->data->next; in ti_psc_drop_pwr_up_ref()
1014 const struct ti_psc_drv_data *psc = ti_to_psc_drv_data(ti_get_drv_data(dev)); in psc_initialize_modules() local
1018 for (idx = 0U; idx < psc->module_count; idx++) { in psc_initialize_modules()
1019 struct ti_lpsc_module *mod = psc_idx2mod(psc, idx); in psc_initialize_modules()
1023 if (0U == (psc->mod_data[idx].flags & TI_LPSC_MODULE_EXISTS)) { in psc_initialize_modules()
1037 psc->psc_idx, idx); in psc_initialize_modules()
1072 const struct ti_psc_drv_data *psc = ti_to_psc_drv_data(ti_get_drv_data(dev)); in psc_initialize_modules_finish() local
1076 for (idx = 0U; idx < psc->module_count; idx++) { in psc_initialize_modules_finish()
1077 struct ti_lpsc_module *mod = psc_idx2mod(psc, idx); in psc_initialize_modules_finish()
1098 const struct ti_psc_drv_data *psc = ti_to_psc_drv_data(ti_get_drv_data(dev)); in psc_uninitialize_modules() local
1102 for (idx = 0U; idx < psc->module_count; idx++) { in psc_uninitialize_modules()
1103 struct ti_lpsc_module *mod = psc_idx2mod(psc, idx); in psc_uninitialize_modules()
1105 if ((psc->mod_data[idx].flags & TI_LPSC_MODULE_EXISTS) == 0U) { in psc_uninitialize_modules()
1140 const struct ti_psc_drv_data *psc = ti_to_psc_drv_data(ti_get_drv_data(dev)); in psc_module_deps_ready() local
1144 for (idx = 0; idx < psc->module_count; idx++) { in psc_module_deps_ready()
1145 if (((psc->mod_data[idx].flags & TI_LPSC_DEPENDS) != 0UL) && in psc_module_deps_ready()
1146 (psc->mod_data[idx].depends_psc_idx != psc->psc_idx)) { in psc_module_deps_ready()
1147 id = (ti_psc_idx_t) psc->mod_data[idx].depends_psc_idx; in psc_module_deps_ready()
1160 const struct ti_psc_drv_data *psc; in psc_pre_init() local
1163 psc = ti_to_psc_drv_data(data); in psc_pre_init()
1166 if (ti_psc_lookup((ti_psc_idx_t) psc->psc_idx) == NULL) { in psc_pre_init()
1167 if (psc->base == 0U) { in psc_pre_init()
1175 psc->data->next = psc_devs; in psc_pre_init()
1205 const struct ti_psc_drv_data *psc; in psc_uninit() local
1209 psc = ti_to_psc_drv_data(ti_get_drv_data(dev)); in psc_uninit()
1225 *last_dev = psc->data->next; in psc_uninit()
1226 psc->data->next = NULL; in psc_uninit()