aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2017-01-10 17:22:05 -0500
committerTom Rini <trini@konsulko.com>2017-01-14 12:18:07 -0500
commitc63d270d153ec39b9d9b4bd3dd574404a0186b5f (patch)
treeed6d7dfa2ff255da4b56441b0e875670301f512d
parentb7127e3c51db4cc3ebe470153452b66c1f0ff83e (diff)
downloadu-boot-c63d270d153ec39b9d9b4bd3dd574404a0186b5f.zip
u-boot-c63d270d153ec39b9d9b4bd3dd574404a0186b5f.tar.gz
u-boot-c63d270d153ec39b9d9b4bd3dd574404a0186b5f.tar.bz2
omap3_logic: Rework MACH_TYPE and fdtfile logic
The MACH_TYPE values for the omap37xx based platforms are no longer officially valid, so we must not set and pass them. In order to not reference them but still be able to set the default fdtfile based on the board detection logic we need to combine the two steps into one. Cc: Adam Ford <aford173@gmail.com> Signed-off-by: Tom Rini <trini@konsulko.com> Acked-by: Adam Ford <aford173@gmail.com>
-rw-r--r--board/logicpd/omap3som/omap3logic.c54
1 files changed, 20 insertions, 34 deletions
diff --git a/board/logicpd/omap3som/omap3logic.c b/board/logicpd/omap3som/omap3logic.c
index de6a060..21b3fdc 100644
--- a/board/logicpd/omap3som/omap3logic.c
+++ b/board/logicpd/omap3som/omap3logic.c
@@ -60,25 +60,28 @@ U_BOOT_DEVICE(omap3logic_uart) = {
static struct board_id {
char *name;
int machine_id;
+ char *fdtfile;
} boards[2][2] = {
{
{
.name = "OMAP35xx SOM LV",
.machine_id = MACH_TYPE_OMAP3530_LV_SOM,
+ .fdtfile = "logicpd-som-lv-35xx-devkit.dtb",
},
{
.name = "OMAP35xx Torpedo",
.machine_id = MACH_TYPE_OMAP3_TORPEDO,
+ .fdtfile = "logicpd-torpedo-35xx-devkit.dtb",
},
},
{
{
.name = "DM37xx SOM LV",
- .machine_id = MACH_TYPE_DM3730_SOM_LV,
+ .fdtfile = "logicpd-som-lv-37xx-devkit.dtb",
},
{
.name = "DM37xx Torpedo",
- .machine_id = MACH_TYPE_DM3730_TORPEDO,
+ .fdtfile = "logicpd-torpedo-37xx-devkit.dtb",
},
},
};
@@ -165,14 +168,20 @@ int misc_init_r(void)
*/
int board_init(void)
{
- struct board_id *board;
- unsigned int val;
-
gpmc_init(); /* in SRAM or SDRAM, finish GPMC */
/* boot param addr */
gd->bd->bi_boot_params = (OMAP34XX_SDRC_CS0 + 0x100);
+ return 0;
+}
+
+#ifdef CONFIG_BOARD_LATE_INIT
+int board_late_init(void)
+{
+ struct board_id *board;
+ unsigned int val;
+
/*
* To identify between a SOM LV and Torpedo module,
* a pulldown resistor is on hsusb0_data5 for the SOM LV module.
@@ -207,39 +216,16 @@ int board_init(void)
printf("Board: %s\n", board->name);
/* Set the machine_id passed to Linux */
- gd->bd->bi_arch_number = board->machine_id;
+ if (board->machine_id)
+ gd->bd->bi_arch_number = board->machine_id;
+
+ /* If the user has not set fdtimage, set the default */
+ if (!getenv("fdtimage"))
+ setenv("fdtimage", board->fdtfile);
}
/* restore hsusb0_data5 pin as hsusb0_data5 */
MUX_VAL(CP(HSUSB0_DATA5), (IEN | PTD | DIS | M0));
-
- return 0;
-}
-
-#ifdef CONFIG_BOARD_LATE_INIT
-int board_late_init(void)
-{
- /* If we do not have an fdtimage, let's autodetect it*/
- if (getenv("fdtimage"))
- return 0;
-
- switch (gd->bd->bi_arch_number) {
- case MACH_TYPE_DM3730_TORPEDO:
- setenv("fdtimage", "logicpd-torpedo-37xx-devkit.dtb");
- break;
- case MACH_TYPE_DM3730_SOM_LV:
- setenv("fdtimage", "logicpd-som-lv-37xx-devkit.dtb");
- break;
- case MACH_TYPE_OMAP3_TORPEDO:
- setenv("fdtimage", "logicpd-torpedo-35xx-devkit.dtb");
- break;
- case MACH_TYPE_OMAP3530_LV_SOM:
- setenv("fdtimage", "logicpd-som-lv-35xx-devkit.dtb");
- break;
- default:
- /* unknown machine type */
- break;
- }
return 0;
}
#endif