Lines Matching refs:hsem_d
71 static struct hsem_pdata *hsem_d; variable
85 io_clrbits32(hsem_d->base + HSEM_CnCIDCFGR(i + 1), in apply_rif_config()
90 io_clrbits32(hsem_d->base + HSEM_GpCIDCFGR(i), in apply_rif_config()
95 io_clrsetbits32(hsem_d->base + HSEM_SECCFGR, in apply_rif_config()
96 HSEM_SECCFGR_MASK & hsem_d->conf_data.access_mask[0], in apply_rif_config()
97 hsem_d->conf_data.sec_conf[0]); in apply_rif_config()
98 io_clrsetbits32(hsem_d->base + HSEM_PRIVCFGR, in apply_rif_config()
99 HSEM_PRIVCFGR_MASK & hsem_d->conf_data.access_mask[0], in apply_rif_config()
100 hsem_d->conf_data.priv_conf[0]); in apply_rif_config()
111 if (!hsem_d->rif_proc_conf[i]) in apply_rif_config()
114 io_clrsetbits32(hsem_d->base + HSEM_CnCIDCFGR(i + 1), in apply_rif_config()
116 _CIDCFGR_CFEN | hsem_d->rif_proc_conf[i]); in apply_rif_config()
127 uint32_t group_cid_value = hsem_d->conf_data.cid_confs[grp_idx]; in apply_rif_config()
136 if (hsem_d->conf_data.cid_confs[j + grp_idx] != in apply_rif_config()
149 uint32_t proc_cid = hsem_d->rif_proc_conf[j] >> in apply_rif_config()
163 io_clrsetbits32(hsem_d->base + HSEM_GpCIDCFGR(i), in apply_rif_config()
183 hsem_d->base = io_pa_or_va_secure(&addr, info.reg_size); in parse_dt()
186 res = clk_dt_get_by_index(fdt, node, 0, &hsem_d->hsem_clock); in parse_dt()
194 hsem_d->nb_channels = (unsigned int)(lenp / sizeof(uint32_t)); in parse_dt()
195 assert(hsem_d->nb_channels <= HSEM_RIF_RESOURCES); in parse_dt()
197 hsem_d->rif_proc_conf = calloc(HSEM_NB_PROC, sizeof(uint32_t)); in parse_dt()
198 assert(hsem_d->rif_proc_conf); in parse_dt()
199 hsem_d->conf_data.cid_confs = calloc(HSEM_RIF_RESOURCES, in parse_dt()
201 hsem_d->conf_data.sec_conf = calloc(1, sizeof(uint32_t)); in parse_dt()
202 hsem_d->conf_data.priv_conf = calloc(1, sizeof(uint32_t)); in parse_dt()
203 hsem_d->conf_data.access_mask = calloc(1, sizeof(uint32_t)); in parse_dt()
204 assert(hsem_d->conf_data.cid_confs && hsem_d->conf_data.sec_conf && in parse_dt()
205 hsem_d->conf_data.priv_conf && hsem_d->conf_data.access_mask); in parse_dt()
207 for (i = 0; i < hsem_d->nb_channels; i++) in parse_dt()
208 stm32_rif_parse_cfg(fdt32_to_cpu(cuint[i]), &hsem_d->conf_data, in parse_dt()
226 hsem_d->rif_proc_conf[pos] = SHIFT_U32(cid_value, in parse_dt()
243 hsem_d = calloc(1, sizeof(*hsem_d)); in stm32_hsem_probe()
244 if (!hsem_d) in stm32_hsem_probe()
249 free(hsem_d); in stm32_hsem_probe()
253 res = clk_enable(hsem_d->hsem_clock); in stm32_hsem_probe()
259 clk_disable(hsem_d->hsem_clock); in stm32_hsem_probe()