
Hi Steve,
On 11/03/15 14:22, Steve Kipisz wrote:
[...]
Signed-off-by: Steve Kipisz s-kipisz2@ti.com
v2 Based on: master a6104737 ARM: at91: sama5: change the environment address to 0x6000
Build testing: MAKEALL -s omap4 -s omap5 (no warnings/build errors) Boot Testing: am57xx_evm_nodt_config: http://pastebin.ubuntu.com/13039296/ beagle_x15_config: http://pastebin.ubuntu.com/13039331/
Changes in v2 (since v1):
- move the board detection code into the new routine do_board_detect
- eliminate board.h and move the ix_xxx into board.c
- redo commit message to be more clear
v1: http://marc.info/?t=144608007900002&r=1&w=2 http://marc.info/?t=144608007900004&r=1&w=2 (mailing list squashed original submission)
[...]
+#define is_x15() board_am_is("BBRDX15_") +#define is_am572x_evm() board_am_is("AM572PM_")
I think board_is_* much more appropriate here...
#ifdef CONFIG_DRIVER_TI_CPSW #include <cpsw.h> #endif @@ -246,6 +249,54 @@ struct vcores_data beagle_x15_volts = { .iva.pmic = &tps659038, };
+#ifdef CONFIG_SPL_BUILD +/* No env to setup for SPL */ +static inline void setup_board_eeprom_env(void) { }
+/* Override function to read eeprom information */ +void do_board_detect(void) +{
- struct ti_am_eeprom *ep;
- int rc;
- rc = ti_i2c_eeprom_am_get(CONFIG_EEPROM_BUS_ADDRESS,
CONFIG_EEPROM_CHIP_ADDRESS, &ep);
- if (rc)
printf("ti_i2c_eeprom_init failed %d\n", rc);
+}
Do you really need this in SPL?
+#else /* CONFIG_SPL_BUILD */
+static void setup_board_eeprom_env(void) +{
- char *name = NULL;
How about:
char *name = "beagle_x15";
- int rc;
- struct ti_am_eeprom_printable p;
- rc = ti_i2c_eeprom_am_get_print(CONFIG_EEPROM_BUS_ADDRESS,
CONFIG_EEPROM_CHIP_ADDRESS, &p);
- if (rc) {
printf("Invalid EEPROM data(@0x%p). Default to X15\n",
TI_AM_EEPROM_DATA);
goto invalid_eeprom;
- }
- if (is_x15())
name = "beagle_x15";
This will not be needed if the above comment is implemented.
- else if (is_am572x_evm())
name = "am57xx_evm";
- else
printf("Unidentified board claims %s in eeprom header\n",
p.name);
+invalid_eeprom:
- set_board_info_env(name, "beagle_x15", p.version, p.serial);
If the above comment is implemented, no more need for the default_name parameter...
+}
+/* Eeprom is alread read by SPL.. nothing more to do here.. */
+#endif /* CONFIG_SPL_BUILD */
[...]