arm: am57xx: Fix omap_vcores assignment for am572x-idk
authorKeerthy <j-keerthy@ti.com>
Tue, 24 May 2016 06:15:06 +0000 (11:45 +0530)
committerTom Rini <trini@konsulko.com>
Fri, 3 Jun 2016 01:42:18 +0000 (21:42 -0400)
Currently omap_vcores is wrongly assigned a default value of
beagle_x15_volts. Hence populating a new structure for am572x-idk
and assigning it to omap_vcores in the vcores_init function.

Fixes: c020d355c45ed40fe12a ("board: ti: am57xx: Add support for am572x idk in SPL")
Reported-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Keerthy <j-keerthy@ti.com>
board/ti/am57xx/board.c

index da5f499..f533b1a 100644 (file)
@@ -251,6 +251,42 @@ struct vcores_data beagle_x15_volts = {
        .iva.abb_tx_done_mask   = OMAP_ABB_IVA_TXDONE_MASK,
 };
 
+struct vcores_data am572x_idk_volts = {
+       .mpu.value              = VDD_MPU_DRA7,
+       .mpu.efuse.reg          = STD_FUSE_OPP_VMIN_MPU,
+       .mpu.efuse.reg_bits     = DRA752_EFUSE_REGBITS,
+       .mpu.addr               = TPS659038_REG_ADDR_SMPS12,
+       .mpu.pmic               = &tps659038,
+       .mpu.abb_tx_done_mask   = OMAP_ABB_MPU_TXDONE_MASK,
+
+       .eve.value              = VDD_EVE_DRA7,
+       .eve.efuse.reg          = STD_FUSE_OPP_VMIN_DSPEVE,
+       .eve.efuse.reg_bits     = DRA752_EFUSE_REGBITS,
+       .eve.addr               = TPS659038_REG_ADDR_SMPS45,
+       .eve.pmic               = &tps659038,
+       .eve.abb_tx_done_mask   = OMAP_ABB_EVE_TXDONE_MASK,
+
+       .gpu.value              = VDD_GPU_DRA7,
+       .gpu.efuse.reg          = STD_FUSE_OPP_VMIN_GPU,
+       .gpu.efuse.reg_bits     = DRA752_EFUSE_REGBITS,
+       .gpu.addr               = TPS659038_REG_ADDR_SMPS6,
+       .gpu.pmic               = &tps659038,
+       .gpu.abb_tx_done_mask   = OMAP_ABB_GPU_TXDONE_MASK,
+
+       .core.value             = VDD_CORE_DRA7,
+       .core.efuse.reg         = STD_FUSE_OPP_VMIN_CORE,
+       .core.efuse.reg_bits    = DRA752_EFUSE_REGBITS,
+       .core.addr              = TPS659038_REG_ADDR_SMPS7,
+       .core.pmic              = &tps659038,
+
+       .iva.value              = VDD_IVA_DRA7,
+       .iva.efuse.reg          = STD_FUSE_OPP_VMIN_IVA,
+       .iva.efuse.reg_bits     = DRA752_EFUSE_REGBITS,
+       .iva.addr               = TPS659038_REG_ADDR_SMPS8,
+       .iva.pmic               = &tps659038,
+       .iva.abb_tx_done_mask   = OMAP_ABB_IVA_TXDONE_MASK,
+};
+
 #ifdef CONFIG_SPL_BUILD
 /* No env to setup for SPL */
 static inline void setup_board_eeprom_env(void) { }
@@ -315,11 +351,18 @@ invalid_eeprom:
 
 #endif /* CONFIG_SPL_BUILD */
 
+void vcores_init(void)
+{
+       if (board_is_am572x_idk())
+               *omap_vcores = &am572x_idk_volts;
+       else
+               *omap_vcores = &beagle_x15_volts;
+}
+
 void hw_data_init(void)
 {
        *prcm = &dra7xx_prcm;
        *dplls_data = &dra7xx_dplls;
-       *omap_vcores = &beagle_x15_volts;
        *ctrl = &dra7xx_ctrl;
 }