| /rk3399_ARM-atf/drivers/brcm/spi/ |
| H A D | iproc_qspi.c | 31 struct bcmspi_priv *priv = NULL; in iproc_qspi_setup() local 34 priv = &spi_cfg; in iproc_qspi_setup() 35 priv->spi_mode = mode; in iproc_qspi_setup() 36 priv->state = QSPI_STATE_DISABLED; in iproc_qspi_setup() 37 priv->bspi_hw = QSPI_BSPI_MODE_REG_BASE; in iproc_qspi_setup() 38 priv->mspi_hw = QSPI_MSPI_MODE_REG_BASE; in iproc_qspi_setup() 44 priv->max_hz = max_hz; in iproc_qspi_setup() 47 mmio_write_32(priv->mspi_hw + MSPI_SPCR1_LSB_REG, 0); in iproc_qspi_setup() 48 mmio_write_32(priv->mspi_hw + MSPI_SPCR1_MSB_REG, 0); in iproc_qspi_setup() 49 mmio_write_32(priv->mspi_hw + MSPI_NEWQP_REG, 0); in iproc_qspi_setup() [all …]
|
| /rk3399_ARM-atf/drivers/st/clk/ |
| H A D | clk-stm32-core.c | 59 struct clk_oscillator_data *clk_oscillator_get_data(struct stm32_clk_priv *priv, int id) in clk_oscillator_get_data() argument 61 const struct clk_stm32 *clk = _clk_get(priv, id); in clk_oscillator_get_data() 65 return &priv->osci_data[osc_id]; in clk_oscillator_get_data() 68 void clk_oscillator_set_bypass(struct stm32_clk_priv *priv, int id, bool digbyp, bool bypass) in clk_oscillator_set_bypass() argument 70 struct clk_oscillator_data *osc_data = clk_oscillator_get_data(priv, id); in clk_oscillator_set_bypass() 79 address = priv->base + bypass_data->offset; in clk_oscillator_set_bypass() 90 void clk_oscillator_set_css(struct stm32_clk_priv *priv, int id, bool css) in clk_oscillator_set_css() argument 92 struct clk_oscillator_data *osc_data = clk_oscillator_get_data(priv, id); in clk_oscillator_set_css() 101 address = priv->base + css_data->offset; in clk_oscillator_set_css() 108 void clk_oscillator_set_drive(struct stm32_clk_priv *priv, int id, uint8_t lsedrv) in clk_oscillator_set_drive() argument [all …]
|
| H A D | clk-stm32-core.h | 46 unsigned long (*recalc_rate)(struct stm32_clk_priv *priv, int id, unsigned long rate); 47 int (*get_parent)(struct stm32_clk_priv *priv, int id); 48 int (*set_rate)(struct stm32_clk_priv *priv, int id, unsigned long rate, 50 int (*enable)(struct stm32_clk_priv *priv, int id); 51 void (*disable)(struct stm32_clk_priv *priv, int id); 52 bool (*is_enabled)(struct stm32_clk_priv *priv, int id); 53 void (*init)(struct stm32_clk_priv *priv, int id); 147 int clk_stm32_init(struct stm32_clk_priv *priv, uintptr_t base); 152 int clk_get_index(struct stm32_clk_priv *priv, unsigned long binding_id); 153 const struct clk_stm32 *_clk_get(struct stm32_clk_priv *priv, int id); [all …]
|
| H A D | clk-stm32mp2.c | 735 static unsigned long clk_get_pll_fvco(struct stm32_clk_priv *priv, in clk_get_pll_fvco() argument 741 uintptr_t pllxcfgr1 = priv->base + pll->reg_pllxcfgr1; in clk_get_pll_fvco() 770 static bool _clk_stm32_pll_is_enabled(struct stm32_clk_priv *priv, const struct stm32_clk_pll *pll) in _clk_stm32_pll_is_enabled() argument 772 uintptr_t pllxcfgr1 = priv->base + pll->reg_pllxcfgr1; in _clk_stm32_pll_is_enabled() 777 static void _clk_stm32_pll_set_on(struct stm32_clk_priv *priv, const struct stm32_clk_pll *pll) in _clk_stm32_pll_set_on() argument 779 uintptr_t pllxcfgr1 = priv->base + pll->reg_pllxcfgr1; in _clk_stm32_pll_set_on() 784 static void _clk_stm32_pll_set_off(struct stm32_clk_priv *priv, const struct stm32_clk_pll *pll) in _clk_stm32_pll_set_off() argument 786 uintptr_t pllxcfgr1 = priv->base + pll->reg_pllxcfgr1; in _clk_stm32_pll_set_off() 792 static int _clk_stm32_pll_wait_ready_on(struct stm32_clk_priv *priv, in _clk_stm32_pll_wait_ready_on() argument 795 uintptr_t pllxcfgr1 = priv->base + pll->reg_pllxcfgr1; in _clk_stm32_pll_wait_ready_on() [all …]
|
| H A D | clk-stm32mp13.c | 897 static void clk_oscillator_check_bypass(struct stm32_clk_priv *priv, int idx, in clk_oscillator_check_bypass() argument 900 struct clk_oscillator_data *osc_data = clk_oscillator_get_data(priv, idx); in clk_oscillator_check_bypass() 908 address = priv->base + bypass_data->offset; in clk_oscillator_check_bypass() 916 static void stm32_enable_oscillator_hse(struct stm32_clk_priv *priv) in stm32_enable_oscillator_hse() argument 918 struct stm32_clk_platdata *pdata = priv->pdata; in stm32_enable_oscillator_hse() 924 if (_clk_stm32_get_rate(priv, _CK_HSE) == 0U) { in stm32_enable_oscillator_hse() 928 clk_oscillator_set_bypass(priv, _CK_HSE, digbyp, bypass); in stm32_enable_oscillator_hse() 930 _clk_stm32_enable(priv, _CK_HSE); in stm32_enable_oscillator_hse() 933 clk_oscillator_check_bypass(priv, _CK_HSE, digbyp, bypass); in stm32_enable_oscillator_hse() 936 clk_oscillator_set_css(priv, _CK_HSE, css); in stm32_enable_oscillator_hse() [all …]
|
| /rk3399_ARM-atf/drivers/brcm/ |
| H A D | ocotp.c | 121 struct otpc_priv *priv = &otpc_info; in bcm_otpc_ecc() local 124 set_command(priv->base, OTPC_CMD_ECC); in bcm_otpc_ecc() 125 set_cpu_address(priv->base, OTPC_ECC_ADDR); in bcm_otpc_ecc() 128 write_cpu_data(priv->base, OTPC_ECC_VAL); in bcm_otpc_ecc() 130 write_cpu_data(priv->base, ~OTPC_ECC_VAL); in bcm_otpc_ecc() 132 set_start_bit(priv->base); in bcm_otpc_ecc() 133 ret = poll_cpu_status(priv->base, OTPC_STAT_CMD_DONE); in bcm_otpc_ecc() 138 reset_start_bit(priv->base); in bcm_otpc_ecc() 151 struct otpc_priv *priv = &otpc_info; in bcm_otpc_read() local 154 uint32_t address = offset / priv->map->word_size; in bcm_otpc_read() [all …]
|
| /rk3399_ARM-atf/drivers/st/ddr/ |
| H A D | stm32mp1_ddr.c | 274 static void stm32mp1_wait_operating_mode(struct stm32mp_ddr_priv *priv, uint32_t mode) in stm32mp1_wait_operating_mode() argument 285 stat = mmio_read_32((uintptr_t)&priv->ctl->stat); in stm32mp1_wait_operating_mode() 289 (uintptr_t)&priv->ctl->stat, stat); in stm32mp1_wait_operating_mode() 319 (uintptr_t)&priv->ctl->stat, stat); in stm32mp1_wait_operating_mode() 323 static void stm32mp1_mode_register_write(struct stm32mp_ddr_priv *priv, uint8_t addr, in stm32mp1_mode_register_write() argument 336 while ((mmio_read_32((uintptr_t)&priv->ctl->mrstat) & in stm32mp1_mode_register_write() 349 mmio_write_32((uintptr_t)&priv->ctl->mrctrl0, mrctrl0); in stm32mp1_mode_register_write() 351 (uintptr_t)&priv->ctl->mrctrl0, in stm32mp1_mode_register_write() 352 mmio_read_32((uintptr_t)&priv->ctl->mrctrl0), mrctrl0); in stm32mp1_mode_register_write() 353 mmio_write_32((uintptr_t)&priv->ctl->mrctrl1, data); in stm32mp1_mode_register_write() [all …]
|
| H A D | stm32mp1_ram.c | 26 int stm32mp1_ddr_clk_enable(struct stm32mp_ddr_priv *priv, uint32_t mem_speed) in stm32mp1_ddr_clk_enable() argument 55 struct stm32mp_ddr_priv *priv = &ddr_priv_data; in stm32mp1_ddr_setup() local 93 mmio_clrbits_32(priv->rcc + RCC_DDRITFCR, RCC_DDRITFCR_AXIDCGEN); in stm32mp1_ddr_setup() 95 stm32mp1_ddr_init(priv, &config); in stm32mp1_ddr_setup() 98 mmio_setbits_32(priv->rcc + RCC_DDRITFCR, RCC_DDRITFCR_AXIDCGEN); in stm32mp1_ddr_setup() 100 priv->info.size = config.info.size; in stm32mp1_ddr_setup() 103 (uint32_t)priv->info.base, (uint32_t)priv->info.size); in stm32mp1_ddr_setup() 141 struct stm32mp_ddr_priv *priv = &ddr_priv_data; in stm32mp1_ddr_probe() local 145 priv->ctl = (struct stm32mp_ddrctl *)stm32mp_ddrctrl_base(); in stm32mp1_ddr_probe() 146 priv->phy = (struct stm32mp_ddrphy *)stm32mp_ddrphyc_base(); in stm32mp1_ddr_probe() [all …]
|
| H A D | stm32mp2_ddr.c | 213 static void ddr_reset(struct stm32mp_ddr_priv *priv) in ddr_reset() argument 217 mmio_setbits_32(priv->rcc + RCC_DDRITFCFGR, RCC_DDRITFCFGR_DDRRST); in ddr_reset() 218 mmio_write_32(priv->rcc + RCC_DDRPHYCAPBCFGR, in ddr_reset() 221 mmio_write_32(priv->rcc + RCC_DDRCAPBCFGR, in ddr_reset() 224 mmio_write_32(priv->rcc + RCC_DDRCFGR, in ddr_reset() 229 mmio_setbits_32(priv->rcc + RCC_DDRITFCFGR, RCC_DDRITFCFGR_DDRRST); in ddr_reset() 230 mmio_write_32(priv->rcc + RCC_DDRPHYCAPBCFGR, in ddr_reset() 232 mmio_write_32(priv->rcc + RCC_DDRCAPBCFGR, in ddr_reset() 234 mmio_write_32(priv->rcc + RCC_DDRCFGR, RCC_DDRCFGR_DDRCFGEN | RCC_DDRCFGR_DDRCFGLPEN); in ddr_reset() 239 static void ddr_standby_reset(struct stm32mp_ddr_priv *priv) in ddr_standby_reset() argument [all …]
|
| H A D | stm32mp2_ram.c | 74 struct stm32mp_ddr_priv *priv = &ddr_priv_data; in stm32mp2_ddr_setup() local 124 stm32mp2_ddr_init(priv, &config); in stm32mp2_ddr_setup() 131 priv->info.size = config.info.size; in stm32mp2_ddr_setup() 133 VERBOSE("%s : ram size(%lx, %lx)\n", __func__, priv->info.base, priv->info.size); in stm32mp2_ddr_setup() 194 struct stm32mp_ddr_priv *priv = &ddr_priv_data; in stm32mp2_ddr_probe() local 198 priv->ctl = (struct stm32mp_ddrctl *)stm32mp_ddrctrl_base(); in stm32mp2_ddr_probe() 199 priv->phy = (struct stm32mp_ddrphy *)stm32mp_ddrphyc_base(); in stm32mp2_ddr_probe() 200 priv->pwr = stm32mp_pwr_base(); in stm32mp2_ddr_probe() 201 priv->rcc = stm32mp_rcc_base(); in stm32mp2_ddr_probe() 203 priv->info.base = STM32MP_DDR_BASE; in stm32mp2_ddr_probe() [all …]
|
| /rk3399_ARM-atf/drivers/nxp/ddr/nxp-ddr/ |
| H A D | ddr.c | 432 int cal_board_params(struct ddr_info *priv, in cal_board_params() argument 436 const unsigned long speed = priv->clk / 1000000; in cal_board_params() 437 const struct dimm_params *pdimm = &priv->dimm; in cal_board_params() 438 struct memctl_opt *popts = &priv->opt; in cal_board_params() 474 static int synthesize_ctlr(struct ddr_info *priv) in synthesize_ctlr() argument 478 ret = cal_odt(priv->clk, in synthesize_ctlr() 479 &priv->opt, in synthesize_ctlr() 480 &priv->conf, in synthesize_ctlr() 481 &priv->dimm, in synthesize_ctlr() 482 priv->dimm_on_ctlr); in synthesize_ctlr() [all …]
|
| H A D | utility.c | 105 int disable_unused_ddrc(struct ddr_info *priv, in disable_unused_ddrc() argument 119 if (priv->num_ctlrs < 2) { in disable_unused_ddrc() 123 switch (priv->dimm_on_ctlr) { in disable_unused_ddrc() 133 ERROR("Invalid number of DIMMs %d\n", priv->dimm_on_ctlr); in disable_unused_ddrc() 143 priv->num_ctlrs = 1; in disable_unused_ddrc() 144 priv->spd_addr = &priv->spd_addr[priv->dimm_on_ctlr]; in disable_unused_ddrc() 145 priv->ddr[0] = priv->ddr[1]; in disable_unused_ddrc() 146 priv->ddr[1] = NULL; in disable_unused_ddrc() 147 priv->phy[0] = priv->phy[0]; in disable_unused_ddrc() 148 priv->phy[1] = NULL; in disable_unused_ddrc() [all …]
|
| /rk3399_ARM-atf/drivers/nxp/ddr/fsl-mmdc/ |
| H A D | fsl_mmdc.c | 40 void mmdc_init(const struct fsl_mmdc_info *priv, uintptr_t nxp_ddr_addr) in mmdc_init() argument 49 ddr_out32(&mmdc->mdotc, priv->mdotc); in mmdc_init() 50 ddr_out32(&mmdc->mdcfg0, priv->mdcfg0); in mmdc_init() 51 ddr_out32(&mmdc->mdcfg1, priv->mdcfg1); in mmdc_init() 52 ddr_out32(&mmdc->mdcfg2, priv->mdcfg2); in mmdc_init() 55 ddr_out32(&mmdc->mdmisc, priv->mdmisc); in mmdc_init() 57 ddr_out32(&mmdc->mdrwd, priv->mdrwd); in mmdc_init() 58 ddr_out32(&mmdc->mpodtctrl, priv->mpodtctrl); in mmdc_init() 61 ddr_out32(&mmdc->mdor, priv->mdor); in mmdc_init() 65 tmp = priv->mdctl & ~(MDCTL_SDE0 | MDCTL_SDE1); in mmdc_init() [all …]
|
| /rk3399_ARM-atf/plat/mediatek/include/lpm_v2/ |
| H A D | mt_lp_rm.h | 52 int (*get_status)(unsigned int type, void *priv); 58 int stateid, void *priv); 60 int (*hwctrl)(unsigned int type, int set, void *priv); 67 int stateid, void *priv); 70 int stateid, void *priv); 74 extern int mt_lp_rm_get_status(unsigned int type, void *priv); 75 extern int mt_lp_rm_do_hwctrl(unsigned int type, int set, void *priv);
|
| /rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8189/ |
| H A D | mt_spm.c | 108 static int spm_is_md_sleep(void *priv) in spm_is_md_sleep() argument 111 int *sleep = (int *)priv; in spm_is_md_sleep() 113 if (!priv) in spm_is_md_sleep() 255 int mt_spm_hwctrl(uint32_t type, int set, void *priv) in mt_spm_hwctrl() argument 267 ret = spm_is_md_sleep(priv); in mt_spm_hwctrl() 270 if (!priv) in mt_spm_hwctrl() 272 *(int *)priv = AP_MDSRC_REQ_MD_26M_SETTLE; in mt_spm_hwctrl() 278 if (!priv) in mt_spm_hwctrl() 280 *(uint32_t *)priv = spm_ap_gpueb_get_pwr_status(); in mt_spm_hwctrl() 283 if (!priv) in mt_spm_hwctrl() [all …]
|
| /rk3399_ARM-atf/plat/mediatek/include/lpm/ |
| H A D | mt_lp_rm.h | 47 int (*get_status)(unsigned int type, void *priv); 53 int stateid, void *priv); 60 int stateid, void *priv); 62 int stateid, void *priv); 65 extern int mt_lp_rm_get_status(unsigned int type, void *priv);
|
| /rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8196/ |
| H A D | mt_spm.c | 110 static int spm_is_md_sleep(void *priv) in spm_is_md_sleep() argument 113 int *sleep = (int *)priv; in spm_is_md_sleep() 115 if (!priv) in spm_is_md_sleep() 267 int mt_spm_hwctrl(uint32_t type, int set, void *priv) in mt_spm_hwctrl() argument 276 ret = spm_is_md_sleep(priv); in mt_spm_hwctrl() 278 if (!priv) in mt_spm_hwctrl() 280 *(int *)priv = AP_MDSRC_REQ_MD_26M_SETTLE; in mt_spm_hwctrl() 284 if (!priv) in mt_spm_hwctrl() 286 *(uint32_t *)priv = spm_ap_gpueb_get_pwr_status(); in mt_spm_hwctrl() 288 if (!priv) in mt_spm_hwctrl() [all …]
|
| /rk3399_ARM-atf/plat/nxp/soc-lx2160a/lx2160ardb/ |
| H A D | ddr_init.c | 58 unsigned long long board_static_ddr(struct ddr_info *priv) in board_static_ddr() argument 60 memcpy(&priv->ddr_reg, &static_1600, sizeof(static_1600)); in board_static_ddr() 61 memcpy(&priv->dimm, &static_dimm, sizeof(static_dimm)); in board_static_ddr() 62 priv->conf.cs_on_dimm[0] = 0x3; in board_static_ddr() 63 ddr_board_options(priv); in board_static_ddr() 64 compute_ddr_phy(priv); in board_static_ddr() 124 int ddr_board_options(struct ddr_info *priv) in ddr_board_options() argument 126 struct memctl_opt *popts = &priv->opt; in ddr_board_options() 127 const struct ddr_conf *conf = &priv->conf; in ddr_board_options()
|
| /rk3399_ARM-atf/plat/mediatek/common/lpm_v2/ |
| H A D | mt_lp_rm.c | 54 int mt_lp_rm_get_status(unsigned int type, void *priv) in mt_lp_rm_get_status() argument 67 res = (*con)->get_status(type, priv); in mt_lp_rm_get_status() 92 int stateid, void *priv) in mt_lp_rm_find_constraint() argument 104 res = rm->update(rm->consts, plat_mt_rm.count, stateid, priv); in mt_lp_rm_find_constraint() 122 int stateid, void *priv) in mt_lp_rm_find_and_run_constraint() argument 126 res = mt_lp_rm_find_constraint(idx, cpuid, stateid, priv); in mt_lp_rm_find_and_run_constraint() 153 int mt_lp_rm_do_hwctrl(unsigned int type, int set, void *priv) in mt_lp_rm_do_hwctrl() argument 161 res = rm->hwctrl(type, set, priv); in mt_lp_rm_do_hwctrl()
|
| H A D | mt_lp_api.c | 68 int mt_gpueb_hwctrl(int type, void *priv) in mt_gpueb_hwctrl() argument 76 ret = mt_lp_rm_do_hwctrl(PLAT_AP_GPUEB_PLL_CONTROL, val, priv); in mt_gpueb_hwctrl() 79 ret = mt_lp_rm_do_hwctrl(PLAT_AP_GPUEB_PWR_STATUS, 0, priv); in mt_gpueb_hwctrl() 82 ret = mt_lp_rm_do_hwctrl(PLAT_AP_GPUEB_MFG0_PWR_CON, 0, priv); in mt_gpueb_hwctrl()
|
| /rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8189/constraints/ |
| H A D | mt_spm_rc_internal.h | 38 int spm_get_status_rc_cpu_buck_ldo(unsigned int type, void *priv); 46 int spm_get_status_rc_syspll(unsigned int type, void *priv); 54 int spm_get_status_rc_bus26m(unsigned int type, void *priv); 61 int spm_get_status_rc_vcore(unsigned int type, void *priv);
|
| /rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8188/constraints/ |
| H A D | mt_spm_rc_internal.h | 33 int spm_get_status_rc_cpu_buck_ldo(unsigned int type, void *priv); 41 int spm_get_status_rc_dram(unsigned int type, void *priv); 49 int spm_get_status_rc_syspll(unsigned int type, void *priv); 57 int spm_get_status_rc_bus26m(unsigned int type, void *priv);
|
| /rk3399_ARM-atf/include/drivers/nxp/ddr/ |
| H A D | ddr.h | 125 int disable_unused_ddrc(struct ddr_info *priv, int mask, 127 int ddr_board_options(struct ddr_info *priv); 134 int compute_ddr_phy(struct ddr_info *priv); 139 int cal_board_params(struct ddr_info *priv, 144 long long dram_init(struct ddr_info *priv
|
| /rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8196/constraints/ |
| H A D | mt_spm_rc_internal.h | 39 int spm_get_status_rc_cpu_buck_ldo(uint32_t type, void *priv); 47 int spm_get_status_rc_syspll(uint32_t type, void *priv); 55 int spm_get_status_rc_bus26m(uint32_t type, void *priv); 62 int spm_get_status_rc_vcore(uint32_t type, void *priv);
|
| /rk3399_ARM-atf/plat/mediatek/common/lpm/ |
| H A D | mt_lp_rm.c | 56 int mt_lp_rm_get_status(unsigned int type, void *priv) in mt_lp_rm_get_status() argument 70 res = (*con)->get_status(type, priv); in mt_lp_rm_get_status() 98 int stateid, void *priv) in mt_lp_rm_find_constraint() argument 111 res = rm->update(rm->consts, plat_mt_rm.count, stateid, priv); in mt_lp_rm_find_constraint() 130 int stateid, void *priv) in mt_lp_rm_find_and_run_constraint() argument 134 res = mt_lp_rm_find_constraint(idx, cpuid, stateid, priv); in mt_lp_rm_find_and_run_constraint()
|