board: ti: am574x-idk: Add hw data support
authorLokesh Vutla <lokeshvutla@ti.com>
Fri, 29 Dec 2017 06:17:53 +0000 (11:47 +0530)
committerTom Rini <trini@konsulko.com>
Fri, 19 Jan 2018 20:49:26 +0000 (15:49 -0500)
Update prcm, voltages and pinmux support for am574x-idk.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
arch/arm/include/asm/omap_common.h
board/ti/am57xx/board.c

index 9624fb8..5710136 100644 (file)
@@ -597,6 +597,7 @@ extern struct prcm_regs const dra7xx_prcm;
 extern struct dplls const **dplls_data;
 extern struct dplls dra7xx_dplls;
 extern struct dplls dra72x_dplls;
+extern struct dplls dra76x_dplls;
 extern struct vcores_data const **omap_vcores;
 extern const u32 sys_clk_array[8];
 extern struct omap_sys_ctrl_regs const **ctrl;
index 082346d..2d14ae5 100644 (file)
@@ -535,7 +535,7 @@ invalid_eeprom:
 
 void vcores_init(void)
 {
-       if (board_is_am572x_idk())
+       if (board_is_am572x_idk() || board_is_am574x_idk())
                *omap_vcores = &am572x_idk_volts;
        else if (board_is_am571x_idk())
                *omap_vcores = &am571x_idk_volts;
@@ -548,6 +548,8 @@ void hw_data_init(void)
        *prcm = &dra7xx_prcm;
        if (is_dra72x())
                *dplls_data = &dra72x_dplls;
+       else if (is_dra76x())
+               *dplls_data = &dra76x_dplls;
        else
                *dplls_data = &dra7xx_dplls;
        *ctrl = &dra7xx_ctrl;
@@ -688,7 +690,7 @@ void recalibrate_iodelay(void)
        int pconf_sz, iod_sz, delta_iod_sz = 0;
        int ret;
 
-       if (board_is_am572x_idk()) {
+       if (board_is_am572x_idk() || board_is_am574x_idk()) {
                pconf = core_padconf_array_essential_am572x_idk;
                pconf_sz = ARRAY_SIZE(core_padconf_array_essential_am572x_idk);
                iod = iodelay_cfg_array_am572x_idk;
@@ -995,7 +997,8 @@ int board_eth_init(bd_t *bis)
        writel(ctrl_val, (*ctrl)->control_core_control_io1);
 
        /* The phy address for the AM57xx IDK are different than x15 */
-       if (board_is_am572x_idk() || board_is_am571x_idk()) {
+       if (board_is_am572x_idk() || board_is_am571x_idk() ||
+           board_is_am574x_idk()) {
                cpsw_data.slave_data[0].phy_addr = 0;
                cpsw_data.slave_data[1].phy_addr = 1;
        }