Lines Matching refs:omm

42 	struct stm32_omm *omm = dev_get_drvdata(dev);  in stm32_omm_set_amcr()  local
52 for (i = 0; i < omm->nb_child; i++) { in stm32_omm_set_amcr()
75 if (!resource_contains(omm->mm_res, &res)) { in stm32_omm_set_amcr()
78 dev_err(dev, "%pR doesn't fit inside %pR\n", &res, omm->mm_res); in stm32_omm_set_amcr()
125 struct stm32_omm *omm = dev_get_drvdata(dev); in stm32_omm_toggle_child_clock() local
128 for (i = 0; i < omm->nb_child; i++) { in stm32_omm_toggle_child_clock()
130 ret = clk_prepare_enable(omm->clk_bulk[i + 1].clk); in stm32_omm_toggle_child_clock()
136 clk_disable_unprepare(omm->clk_bulk[i + 1].clk); in stm32_omm_toggle_child_clock()
144 clk_disable_unprepare(omm->clk_bulk[i + 1].clk); in stm32_omm_toggle_child_clock()
151 struct stm32_omm *omm = dev_get_drvdata(dev); in stm32_omm_disable_child() local
160 for (i = 0; i < omm->nb_child; i++) { in stm32_omm_disable_child()
162 reset = omm->child_reset[i]; in stm32_omm_disable_child()
183 struct stm32_omm *omm = dev_get_drvdata(dev); in stm32_omm_configure() local
194 omm->clk_bulk[i].id = clocks_name[i]; in stm32_omm_configure()
197 ret = devm_clk_bulk_get(dev, OMM_CLK_NB, omm->clk_bulk); in stm32_omm_configure()
211 for (i = 1; i <= omm->nb_child; i++) { in stm32_omm_configure()
212 clk_rate = clk_get_rate(omm->clk_bulk[i].clk); in stm32_omm_configure()
233 omm->cr = readl_relaxed(omm->io_base + OMM_CR); in stm32_omm_configure()
249 omm->cr &= ~CR_REQ2ACK_MASK; in stm32_omm_configure()
250 omm->cr |= FIELD_PREP(CR_REQ2ACK_MASK, req2ack); in stm32_omm_configure()
261 omm->cr &= ~CR_MUXENMODE_MASK; in stm32_omm_configure()
262 omm->cr |= FIELD_PREP(CR_MUXENMODE_MASK, mux); in stm32_omm_configure()
268 omm->cr &= ~CR_CSSEL_OVR_MASK; in stm32_omm_configure()
269 omm->cr |= FIELD_PREP(CR_CSSEL_OVR_MASK, cssel_ovr); in stm32_omm_configure()
270 omm->cr |= CR_CSSEL_OVR_EN; in stm32_omm_configure()
273 omm->restore_omm = true; in stm32_omm_configure()
274 writel_relaxed(omm->cr, omm->io_base + OMM_CR); in stm32_omm_configure()
301 struct stm32_omm *omm; in stm32_omm_probe() local
304 omm = devm_kzalloc(dev, sizeof(*omm), GFP_KERNEL); in stm32_omm_probe()
305 if (!omm) in stm32_omm_probe()
308 omm->io_base = devm_platform_ioremap_resource_byname(pdev, "regs"); in stm32_omm_probe()
309 if (IS_ERR(omm->io_base)) in stm32_omm_probe()
310 return PTR_ERR(omm->io_base); in stm32_omm_probe()
312 omm->mm_res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "memory_map"); in stm32_omm_probe()
313 if (!omm->mm_res) in stm32_omm_probe()
318 if (omm->nb_child >= OMM_CHILD_NB) { in stm32_omm_probe()
330 omm->nb_child++; in stm32_omm_probe()
333 if (omm->nb_child != OMM_CHILD_NB) in stm32_omm_probe()
336 platform_set_drvdata(pdev, omm); in stm32_omm_probe()
345 for (i = 0; i < omm->nb_child; i++) { in stm32_omm_probe()
346 omm->child_reset[i] = devm_reset_control_get_exclusive_released(dev, in stm32_omm_probe()
349 if (IS_ERR(omm->child_reset[i])) in stm32_omm_probe()
350 return dev_err_probe(dev, PTR_ERR(omm->child_reset[i]), in stm32_omm_probe()
371 if (omm->cr & CR_MUXEN) in stm32_omm_probe()
382 struct stm32_omm *omm = platform_get_drvdata(pdev); in stm32_omm_remove() local
384 if (omm->cr & CR_MUXEN) in stm32_omm_remove()
396 struct stm32_omm *omm = dev_get_drvdata(dev); in stm32_omm_runtime_suspend() local
398 clk_disable_unprepare(omm->clk_bulk[0].clk); in stm32_omm_runtime_suspend()
405 struct stm32_omm *omm = dev_get_drvdata(dev); in stm32_omm_runtime_resume() local
407 return clk_prepare_enable(omm->clk_bulk[0].clk); in stm32_omm_runtime_resume()
412 struct stm32_omm *omm = dev_get_drvdata(dev); in stm32_omm_suspend() local
414 if (omm->restore_omm && omm->cr & CR_MUXEN) in stm32_omm_suspend()
422 struct stm32_omm *omm = dev_get_drvdata(dev); in stm32_omm_resume() local
427 if (!omm->restore_omm) in stm32_omm_resume()
439 writel_relaxed(omm->cr, omm->io_base + OMM_CR); in stm32_omm_resume()
445 if (omm->cr & CR_MUXEN) in stm32_omm_resume()