| /optee_os/core/drivers/clk/sam/ |
| H A D | at91_main.c | 88 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 D | sama5d2_clk.c | 303 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 D | at91_clk.h | 124 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 D | at91_plldiv.c | 18 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 D | at91_h32mx.c | 20 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 D | at91_pmc.c | 45 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 D | at91_utmi.c | 108 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 D | at91_master.c | 114 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 D | at91_usb.c | 86 _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 D | at91_audio_pll.c | 299 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 D | at91_system.c | 64 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 D | clk-sam9x60-pll.c | 408 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 D | at91_programmable.c | 134 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 D | at91_pll.c | 256 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 D | at91_peripheral.c | 149 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 D | at91_generated.c | 152 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 D | sama7g5_clk.c | 1334 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 D | pm_suspend.S | 25 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 D | at91_pm.c | 122 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 D | pm-defines.c | 13 DEFINE(PM_DATA_PMC, offsetof(struct at91_pm_data, pmc));
|
| H A D | at91_pm.h | 27 vaddr_t pmc; member
|
| /optee_os/core/arch/arm/dts/ |
| H A D | sama7g5.dtsi | 33 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 D | sama5d2.dtsi | 35 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 D | at91-sama5d27_wlsom1.dtsi | 200 &pmc {
|
| H A D | at91-sama7g54_ek.dts | 71 assigned-clocks = <&pmc PMC_TYPE_CORE PMC_AUDIOPMCPLL>;
|