/* * Configure the PLL/PRCM for necessary peripherals */ void prcm_init(void) { /* Enable the control module */ writel(PRCM_MOD_EN, &cmalwon->controlclkctrl); /* Configure PLLs */ mpu_pll_config(); l3_pll_config(); sata_pll_config(); /* Enable the required peripherals */ enable_per_clocks(); }
/* * Configure the PLL/PRCM for necessary peripherals */ void pll_init(int mpupll_M) { mpu_pll_config(mpupll_M); core_pll_config(); per_pll_config(); ddr_pll_config(); /* Enable the required interconnect clocks */ interface_clocks_enable(); /* Enable power domain transition */ power_domain_transition_enable(); /* Enable the required peripherals */ per_clocks_enable(); }
/* * Configure the PLL/PRCM for necessary peripherals */ void pll_init() { unlock_pll_control_mmr(); /* Enable the control module */ writel(PRCM_MOD_EN, &cmalwon->controlclkctrl); mpu_pll_config(); l3_pll_config(); /* Enable the required peripherals */ enable_per_clocks(); }
/* * Configure the PLL/PRCM for necessary peripherals */ void pll_init() { mpu_pll_config(); core_pll_config(); per_pll_config(); /* Enable the required interconnect clocks */ enable_interface_clocks(); /* Power domain wake up transition */ power_domain_wkup_transition(); /* Enable the required peripherals */ enable_per_clocks(); }
void am33xx_spl_board_init(void) { if (!strncmp("A335BONE", header.name, 8)) { /* BeagleBone PMIC Code */ uchar pmic_status_reg; if (i2c_probe(TPS65217_CHIP_PM)) return; if (tps65217_reg_read(STATUS, &pmic_status_reg)) return; /* Increase USB current limit to 1300mA */ if (tps65217_reg_write(PROT_LEVEL_NONE, POWER_PATH, USB_INPUT_CUR_LIMIT_1300MA, USB_INPUT_CUR_LIMIT_MASK)) printf("tps65217_reg_write failure\n"); /* Only perform PMIC configurations if board rev > A1 */ if (!strncmp(header.version, "00A1", 4)) return; /* Set DCDC2 (MPU) voltage to 1.275V */ if (tps65217_voltage_update(DEFDCDC2, DCDC_VOLT_SEL_1275MV)) { printf("tps65217_voltage_update failure\n"); return; } /* Set LDO3, LDO4 output voltage to 3.3V */ if (tps65217_reg_write(PROT_LEVEL_2, DEFLS1, LDO_VOLTAGE_OUT_3_3, LDO_MASK)) printf("tps65217_reg_write failure\n"); if (tps65217_reg_write(PROT_LEVEL_2, DEFLS2, LDO_VOLTAGE_OUT_3_3, LDO_MASK)) printf("tps65217_reg_write failure\n"); if (!(pmic_status_reg & PWR_SRC_AC_BITMASK)) { printf("No AC power, disabling frequency switch\n"); return; } /* Set MPU Frequency to 720MHz */ mpu_pll_config(MPUPLL_M_720); } else { uchar buf[4]; /* * EVM PMIC code. All boards currently want an MPU voltage * of 1.2625V and CORE voltage of 1.1375V to operate at * 720MHz. */ if (i2c_probe(PMIC_CTRL_I2C_ADDR)) return; /* VDD1/2 voltage selection register access by control i/f */ if (i2c_read(PMIC_CTRL_I2C_ADDR, PMIC_DEVCTRL_REG, 1, buf, 1)) return; buf[0] |= PMIC_DEVCTRL_REG_SR_CTL_I2C_SEL_CTL_I2C; if (i2c_write(PMIC_CTRL_I2C_ADDR, PMIC_DEVCTRL_REG, 1, buf, 1)) return; if (!voltage_update(MPU, PMIC_OP_REG_SEL_1_2_6) && !voltage_update(CORE, PMIC_OP_REG_SEL_1_1_3)) { if (board_is_evm_15_or_later()) mpu_pll_config(MPUPLL_M_800); else mpu_pll_config(MPUPLL_M_720); } } }