omap3: overo: Select fdtfile for expansion board
authorAsh Charles <ashcharles@gmail.com>
Tue, 10 Jun 2014 19:02:36 +0000 (12:02 -0700)
committerTom Rini <trini@ti.com>
Thu, 19 Jun 2014 21:53:59 +0000 (17:53 -0400)
The u-boot Overo board actually supports both Overo (OMAP35xx)
and Overo Storm (AM/DM37xx) COMs with a range of different expansion
boards.  This provides a mechanism to select the an appropriate device
tree file based on the processor version and, if available, the
expansion board ID written on the expansion board EEPROM. To match the
3.15+ kernels, fdtfile names have this format:
 "omap3-overo[-storm]-<expansion board name>.dtb"

By default, we use "omap3-overo-storm-tobi.dtb".

Signed-off-by: Ash Charles <ashcharles@gmail.com>
Conflicts:
include/configs/omap3_overo.h

board/overo/overo.c
include/configs/omap3_overo.h

index 62b50a8..13220c5 100644 (file)
@@ -267,12 +267,14 @@ int misc_init_r(void)
                        expansion_config.revision,
                        expansion_config.fab_revision);
                setenv("defaultdisplay", "dvi");
+               setenv("expansionname", "summit");
                break;
        case GUMSTIX_TOBI:
                printf("Recognized Tobi expansion board (rev %d %s)\n",
                        expansion_config.revision,
                        expansion_config.fab_revision);
                setenv("defaultdisplay", "dvi");
+               setenv("expansionname", "tobi");
                break;
        case GUMSTIX_TOBI_DUO:
                printf("Recognized Tobi Duo expansion board (rev %d %s)\n",
@@ -293,12 +295,14 @@ int misc_init_r(void)
                        expansion_config.revision,
                        expansion_config.fab_revision);
                setenv("defaultdisplay", "lcd43");
+               setenv("expansionname", "palo43");
                break;
        case GUMSTIX_CHESTNUT43:
                printf("Recognized Chestnut43 expansion board (rev %d %s)\n",
                        expansion_config.revision,
                        expansion_config.fab_revision);
                setenv("defaultdisplay", "lcd43");
+               setenv("expansionname", "chestnut43");
                break;
        case GUMSTIX_PINTO:
                printf("Recognized Pinto expansion board (rev %d %s)\n",
@@ -310,6 +314,7 @@ int misc_init_r(void)
                        expansion_config.revision,
                        expansion_config.fab_revision);
                setenv("defaultdisplay", "lcd43");
+               setenv("expansionname", "gallop43");
                break;
        case GUMSTIX_ALTO35:
                printf("Recognized Alto35 expansion board (rev %d %s)\n",
@@ -317,6 +322,7 @@ int misc_init_r(void)
                        expansion_config.fab_revision);
                MUX_ALTO35();
                setenv("defaultdisplay", "lcd35");
+               setenv("expansionname", "alto35");
                break;
        case GUMSTIX_STAGECOACH:
                printf("Recognized Stagecoach expansion board (rev %d %s)\n",
@@ -349,8 +355,11 @@ int misc_init_r(void)
                break;
        case GUMSTIX_NO_EEPROM:
                puts("No EEPROM on expansion board\n");
+               setenv("expansionname", "tobi");
                break;
        default:
+               if (expansion_id == 0x0)
+                       setenv("expansionname", "tobi");
                printf("Unrecognized expansion board 0x%08x\n", expansion_id);
                break;
        }
@@ -360,6 +369,11 @@ int misc_init_r(void)
 
        dieid_num_r();
 
+       if (get_cpu_family() == CPU_OMAP34XX)
+               setenv("boardname", "overo");
+       else
+               setenv("boardname", "overo-storm");
+
        return 0;
 }
 
index 1a13633..f7483a0 100644 (file)
@@ -83,7 +83,6 @@
 /* Environment information */
 #define CONFIG_EXTRA_ENV_SETTINGS \
        DEFAULT_LINUX_BOOT_ENV \
-       "fdtfile=overo.dtb\0" \
        "bootdir=/boot\0" \
        "bootfile=zImage\0" \
        "usbtty=cdc_acm\0" \
                        "run mmcboot;" \
                "fi;" \
                "if run loadzimage; then " \
-                       "if test -n $fdtfile; then " \
-                               "if run loadfdt; then " \
-                                       "run mmcbootfdt;" \
-                               "fi;" \
+                       "if test $fdtfile; then " \
+                               "setenv fdtfile omap3-${boardname}-${expansionname}.dtb;" \
+                       "fi;" \
+                       "if run loadfdt; then " \
+                               "run mmcbootfdt;" \
                        "fi;" \
                "fi;" \
        "fi;" \