Message ID | 1402426956-21108-1-git-send-email-ashcharles@gmail.com |
---|---|
State | Accepted |
Delegated to: | Tom Rini |
Headers | show |
Am 10.06.2014 21:02, schrieb Ash Charles: > 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 | 14 ++++++++++++++ > include/configs/omap3_overo.h | 10 +++++----- > 2 files changed, 19 insertions(+), 5 deletions(-) > > diff --git a/board/overo/overo.c b/board/overo/overo.c > index 62b50a8..13220c5 100644 > --- a/board/overo/overo.c > +++ b/board/overo/overo.c > @@ -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"); You should add an additional case (0x0) above GUMSTIX_NO_EEPROM but an un-programmed eeprom returns GUMSTIX_NO_EEPROM (0xffffffff). > 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; > } > > diff --git a/include/configs/omap3_overo.h b/include/configs/omap3_overo.h > index 1a13633..f7483a0 100644 > --- a/include/configs/omap3_overo.h > +++ b/include/configs/omap3_overo.h > @@ -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" \ > @@ -152,10 +151,11 @@ > "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;" \
On Tue, Jun 10, 2014 at 12:29 PM, Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net> wrote: > You should add an additional case (0x0) above GUMSTIX_NO_EEPROM but an > un-programmed eeprom returns GUMSTIX_NO_EEPROM (0xffffffff). Forgive my stupidity---I don't follow. Either, 1. No eeprom is probed or expansion_id is 0xFFFFFFFF (blank)--->this gets caught by the GUMSTIX_NO_EEPROM case, or 2. An eeprom written with all zeros is read--->this gets caught by the if statement nested in the default case. Thanks for your patience in trying to find a change that works generally. --Ash
On Tue, Jun 10, 2014 at 12:02:36PM -0700, Ash Charles wrote: > 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> Applied to u-boot-ti/master, thanks!
diff --git a/board/overo/overo.c b/board/overo/overo.c index 62b50a8..13220c5 100644 --- a/board/overo/overo.c +++ b/board/overo/overo.c @@ -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; } diff --git a/include/configs/omap3_overo.h b/include/configs/omap3_overo.h index 1a13633..f7483a0 100644 --- a/include/configs/omap3_overo.h +++ b/include/configs/omap3_overo.h @@ -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" \ @@ -152,10 +151,11 @@ "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;" \
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 | 14 ++++++++++++++ include/configs/omap3_overo.h | 10 +++++----- 2 files changed, 19 insertions(+), 5 deletions(-)