Home
last modified time | relevance | path

Searched refs:pmc (Results 1 – 25 of 25) sorted by relevance

/optee_os/core/drivers/clk/sam/
H A Dat91_main.c88 struct clk *pmc_register_main_rc_osc(struct pmc_data *pmc, const char *name, in pmc_register_main_rc_osc() argument
105 osc->base = pmc->base; in pmc_register_main_rc_osc()
121 static bool pmc_main_osc_ready(struct pmc_data *pmc) in pmc_main_osc_ready() argument
123 uint32_t status = io_read32(pmc->base + AT91_PMC_SR); in pmc_main_osc_ready()
130 struct pmc_data *pmc = clk->priv; in pmc_main_osc_enable() local
131 uint32_t mor = io_read32(pmc->base + AT91_CKGR_MOR); in pmc_main_osc_enable()
140 io_write32(pmc->base + AT91_CKGR_MOR, mor); in pmc_main_osc_enable()
143 while (!pmc_main_osc_ready(pmc)) in pmc_main_osc_enable()
151 struct pmc_data *pmc = clk->priv; in pmc_main_osc_disable() local
152 uint32_t mor = io_read32(pmc->base + AT91_CKGR_MOR); in pmc_main_osc_disable()
[all …]
H A Dsama5d2_clk.c303 static struct pmc_data *pmc; variable
307 assert(pmc); in at91_pmc_get_base()
309 return pmc->base; in at91_pmc_get_base()
315 return pmc_clk_get(pmc, type, idx, clk); in at91_pmc_clk_get()
367 pmc = pmc_data_allocate(PMC_SAMA5D2_CORE_CLK_COUNT, in pmc_setup()
373 if (!pmc) in pmc_setup()
375 pmc->base = base; in pmc_setup()
377 main_rc_osc = pmc_register_main_rc_osc(pmc, "main_rc_osc", 12000000); in pmc_setup()
385 main_osc = pmc_register_main_osc(pmc, "main_osc", main_xtal_clk, in pmc_setup()
392 main_clk = at91_clk_register_sam9x5_main(pmc, "mainck", parents, 2); in pmc_setup()
[all …]
H A Dat91_clk.h124 TEE_Result pmc_clk_get(struct pmc_data *pmc, unsigned int type,
139 struct clk *pmc_register_main_rc_osc(struct pmc_data *pmc, const char *name,
142 struct clk *pmc_register_main_osc(struct pmc_data *pmc, const char *name,
145 struct clk *at91_clk_register_sam9x5_main(struct pmc_data *pmc,
152 at91_clk_register_pll(struct pmc_data *pmc, const char *name,
158 at91_clk_register_plldiv(struct pmc_data *pmc, const char *name,
161 struct clk *sam9x60_clk_register_frac_pll(struct pmc_data *pmc,
169 struct clk *sam9x60_clk_register_div_pll(struct pmc_data *pmc,
180 at91_clk_register_utmi(struct pmc_data *pmc, const char *name,
183 struct clk *at91_clk_sama7g5_register_utmi(struct pmc_data *pmc,
[all …]
H A Dat91_plldiv.c18 struct pmc_data *pmc = clk->priv; in clk_plldiv_get_rate() local
19 unsigned int mckr = io_read32(pmc->base + AT91_PMC_MCKR); in clk_plldiv_get_rate()
30 struct pmc_data *pmc = clk->priv; in clk_plldiv_set_rate() local
35 io_clrsetbits32(pmc->base + AT91_PMC_MCKR, AT91_PMC_PLLADIV2, in clk_plldiv_set_rate()
47 at91_clk_register_plldiv(struct pmc_data *pmc, const char *name, in at91_clk_register_plldiv() argument
56 clk->priv = pmc; in at91_clk_register_plldiv()
H A Dat91_h32mx.c20 struct pmc_data *pmc = clk->priv; in clk_sama5d4_h32mx_get_rate() local
21 unsigned int mckr = io_read32(pmc->base + AT91_PMC_MCKR); in clk_sama5d4_h32mx_get_rate()
36 struct pmc_data *pmc = clk->priv; in clk_sama5d4_h32mx_set_rate() local
45 io_clrsetbits32(pmc->base + AT91_PMC_MCKR, AT91_PMC_H32MXDIV, mckr); in clk_sama5d4_h32mx_set_rate()
56 at91_clk_register_h32mx(struct pmc_data *pmc, const char *name, in at91_clk_register_h32mx() argument
66 clk->priv = pmc; in at91_clk_register_h32mx()
H A Dat91_pmc.c45 TEE_Result pmc_clk_get(struct pmc_data *pmc, unsigned int type, in pmc_clk_get() argument
53 nclk = pmc->ncore; in pmc_clk_get()
54 clks = pmc->chws; in pmc_clk_get()
57 nclk = pmc->nsystem; in pmc_clk_get()
58 clks = pmc->shws; in pmc_clk_get()
61 nclk = pmc->nperiph; in pmc_clk_get()
62 clks = pmc->phws; in pmc_clk_get()
65 nclk = pmc->ngck; in pmc_clk_get()
66 clks = pmc->ghws; in pmc_clk_get()
69 nclk = pmc->npck; in pmc_clk_get()
[all …]
H A Dat91_utmi.c108 static struct clk *at91_clk_register_utmi_internal(struct pmc_data *pmc, in at91_clk_register_utmi_internal() argument
126 utmi->pmc_base = pmc->base; in at91_clk_register_utmi_internal()
141 struct clk *at91_clk_register_utmi(struct pmc_data *pmc, in at91_clk_register_utmi() argument
145 return at91_clk_register_utmi_internal(pmc, name, &utmi_ops, parent); in at91_clk_register_utmi()
187 struct clk *at91_clk_sama7g5_register_utmi(struct pmc_data *pmc, in at91_clk_sama7g5_register_utmi() argument
191 return at91_clk_register_utmi_internal(pmc, name, &sama7g5_utmi_ops, in at91_clk_sama7g5_register_utmi()
H A Dat91_master.c114 at91_clk_register_master_internal(struct pmc_data *pmc, in at91_clk_register_master_internal() argument
139 master->base = pmc->base; in at91_clk_register_master_internal()
155 at91_clk_register_master_pres(struct pmc_data *pmc, in at91_clk_register_master_pres() argument
162 return at91_clk_register_master_internal(pmc, name, num_parents, in at91_clk_register_master_pres()
169 at91_clk_register_master_div(struct pmc_data *pmc, in at91_clk_register_master_div() argument
174 return at91_clk_register_master_internal(pmc, name, 1, in at91_clk_register_master_div()
262 struct clk *at91_clk_sama7g5_register_master(struct pmc_data *pmc, in at91_clk_sama7g5_register_master() argument
289 master->base = pmc->base; in at91_clk_sama7g5_register_master()
H A Dat91_usb.c86 _at91sam9x5_clk_register_usb(struct pmc_data *pmc, const char *name, in _at91sam9x5_clk_register_usb() argument
101 usb->base = pmc->base; in _at91sam9x5_clk_register_usb()
117 at91sam9x5_clk_register_usb(struct pmc_data *pmc, const char *name, in at91sam9x5_clk_register_usb() argument
120 return _at91sam9x5_clk_register_usb(pmc, name, parents, in at91sam9x5_clk_register_usb()
H A Dat91_audio_pll.c299 at91_clk_register_audio_pll_frac(struct pmc_data *pmc, const char *name, in at91_clk_register_audio_pll_frac() argument
317 frac_ck->base = pmc->base; in at91_clk_register_audio_pll_frac()
330 at91_clk_register_audio_pll_pad(struct pmc_data *pmc, const char *name, in at91_clk_register_audio_pll_pad() argument
348 apad_ck->base = pmc->base; in at91_clk_register_audio_pll_pad()
361 at91_clk_register_audio_pll_pmc(struct pmc_data *pmc, const char *name, in at91_clk_register_audio_pll_pmc() argument
379 apmc_ck->base = pmc->base; in at91_clk_register_audio_pll_pmc()
H A Dat91_system.c64 at91_clk_register_system(struct pmc_data *pmc, const char *name, in at91_clk_register_system() argument
84 sys->base = pmc->base; in at91_clk_register_system()
H A Dclk-sam9x60-pll.c408 struct clk *sam9x60_clk_register_frac_pll(struct pmc_data *pmc, in sam9x60_clk_register_frac_pll() argument
437 frac->core.base = pmc->base; in sam9x60_clk_register_frac_pll()
439 if (sam9x60_pll_ready(pmc->base, id)) { in sam9x60_clk_register_frac_pll()
442 val = io_read32(pmc->base + AT91_PMC_PLL_CTRL1); in sam9x60_clk_register_frac_pll()
482 struct clk *sam9x60_clk_register_div_pll(struct pmc_data *pmc, in sam9x60_clk_register_div_pll() argument
516 div->core.base = pmc->base; in sam9x60_clk_register_div_pll()
519 io_clrsetbits32(pmc->base + AT91_PMC_PLL_UPDT, in sam9x60_clk_register_div_pll()
521 val = io_read32(pmc->base + AT91_PMC_PLL_CTRL0); in sam9x60_clk_register_div_pll()
H A Dat91_programmable.c134 at91_clk_register_programmable(struct pmc_data *pmc, in at91_clk_register_programmable() argument
151 prog->base = pmc->base; in at91_clk_register_programmable()
H A Dat91_pll.c256 at91_clk_register_pll(struct pmc_data *pmc, const char *name, in at91_clk_register_pll() argument
285 pll->base = pmc->base; in at91_clk_register_pll()
286 pllr = io_read32(pmc->base + offset); in at91_clk_register_pll()
H A Dat91_peripheral.c149 at91_clk_register_sam9x5_periph(struct pmc_data *pmc, in at91_clk_register_sam9x5_periph() argument
172 periph->base = pmc->base; in at91_clk_register_sam9x5_periph()
H A Dat91_generated.c152 at91_clk_register_generated(struct pmc_data *pmc, in at91_clk_register_generated() argument
176 gck->base = pmc->base; in at91_clk_register_generated()
H A Dsama7g5_clk.c1334 struct pmc_data *pmc = sama7g5_pmc; in pmc_setup_sama7g5() local
1349 parent = pmc_clk_get_by_name(pmc->chws, in pmc_setup_sama7g5()
1350 pmc->ncore, in pmc_setup_sama7g5()
/optee_os/core/drivers/pm/sam/
H A Dpm_suspend.S25 pmc .req r0 label
40 2: ldr tmp1, [pmc, #AT91_PMC_SR]
45 1: ldr tmp1, [pmc, #AT91_PMC_SR]
55 1: ldr tmp1, [pmc, #AT91_PMC_SR]
64 1: ldr tmp1, [pmc, #AT91_PMC_SR]
75 str tmp1, [pmc, #AT91_PMC_SCDR]
384 ldr pmc, .pmc_base
408 ldr pmc, .pmc_base
409 ldr tmp1, [pmc, #AT91_PMC_MCKR]
411 str tmp1, [pmc, #AT91_PMC_MCKR]
[all …]
H A Dat91_pm.c122 static int at91_sam_config_pmc_ws(vaddr_t pmc, uint32_t mode, uint32_t polarity) in at91_sam_config_pmc_ws() argument
124 io_write32(pmc + AT91_PMC_FSMR, mode); in at91_sam_config_pmc_ws()
126 io_write32(pmc + AT91_PMC_FSPR, polarity); in at91_sam_config_pmc_ws()
189 io_write32(soc_pm.pmc + AT91_PMC_FSMR, mode); in at91_pm_config_ws_ulp1()
226 at91_sam_config_pmc_ws(soc_pm.pmc, mode, polarity); in at91_pm_config_ws_ulp1()
240 scsr = io_read32(soc_pm.pmc + AT91_PMC_SCSR); in at91_pm_verify_clocks()
254 css = io_read32(soc_pm.pmc + AT91_PMC_PCKR(i)) & AT91_PMC_CSS; in at91_pm_verify_clocks()
542 soc_pm.pmc = at91_pmc_get_base(); in sam_pm_init_all()
543 if (!soc_pm.pmc) in sam_pm_init_all()
H A Dpm-defines.c13 DEFINE(PM_DATA_PMC, offsetof(struct at91_pm_data, pmc));
H A Dat91_pm.h27 vaddr_t pmc; member
/optee_os/core/arch/arm/dts/
H A Dsama7g5.dtsi33 clocks = <&pmc PMC_TYPE_CORE PMC_CPUPLL>;
135 clocks = <&pmc PMC_TYPE_CORE PMC_UTMI>;
214 clocks = <&pmc PMC_TYPE_PERIPHERAL 104>, <&usb_clk>;
226 clocks = <&pmc PMC_TYPE_PERIPHERAL 105>, <&usb_clk>;
243 clocks = <&usb_clk>, <&pmc PMC_TYPE_PERIPHERAL 106>;
272 clocks = <&pmc PMC_TYPE_CORE PMC_MCK1>;
290 clocks = <&pmc PMC_TYPE_PERIPHERAL 18>;
325 clocks = <&pmc PMC_TYPE_PERIPHERAL 11>;
330 pmc: pmc@e0018000 { label
331 compatible = "microchip,sama7g5-pmc", "syscon";
[all …]
H A Dsama5d2.dtsi35 clocks = <&pmc PMC_TYPE_CORE PMC_MCK_PRES>;
49 clocks = <&pmc PMC_TYPE_CORE PMC_MCK>;
65 clocks = <&pmc PMC_TYPE_CORE PMC_MCK>;
127 clocks = <&pmc PMC_TYPE_PERIPHERAL 42>, <&pmc PMC_TYPE_CORE PMC_UTMI>;
129 assigned-clocks = <&pmc PMC_TYPE_CORE PMC_USBCK>;
130 assigned-clock-parents = <&pmc PMC_TYPE_CORE PMC_UTMI>;
139 clocks = <&pmc PMC_TYPE_PERIPHERAL 41>, <&pmc PMC_TYPE_PERIPHERAL 41>, <&pmc PMC_TYPE_SYSTEM 6>;
141 assigned-clocks = <&pmc PMC_TYPE_CORE PMC_USBCK>;
142 assigned-clock-parents = <&pmc PMC_TYPE_CORE PMC_UTMI>;
151 clocks = <&pmc PMC_TYPE_CORE PMC_UTMI>, <&pmc PMC_TYPE_PERIPHERAL 41>;
[all …]
H A Dat91-sama5d27_wlsom1.dtsi200 &pmc {
H A Dat91-sama7g54_ek.dts71 assigned-clocks = <&pmc PMC_TYPE_CORE PMC_AUDIOPMCPLL>;