* Robert Nelson <robertcnelson@xxxxxxxxx> [150518 09:51]: > On Mon, May 18, 2015 at 11:29 AM, Tony Lindgren <tony@xxxxxxxxxxx> wrote: > > * Robert Nelson <robertcnelson@xxxxxxxxx> [150518 09:15]: > >> On Mon, May 18, 2015 at 10:21 AM, Tony Lindgren <tony@xxxxxxxxxxx> wrote: > >> > >> All the rev information is in the board's eeprom: > >> > >> hexdump -e '8/1 "%c"' /sys/bus/i2c/devices/0-0050/eeprom -s 12 -n 4 > >> > >> Rev A5B > >> 0A5B > >> > >> Rev C > >> 000C > >> > >> Just another default qwerk to add to Pantelis' bone_capemgr. ;) > > > > It seems we should not even instantiate some devices on BBB > > until the EEPROM is parsed.. So maybe something like this: > > > > 1. The problem devices are initially set with status = "disabled" > > in the dts > > > > 2. We set up drivers/*/bbb-eeprom.c that parses the board > > revision at module_init time, and then flips the selected > > devices to have status = "enabled" and populates the revision > > info based on the eeprom and SoC revision passed in pdata. > > Then those devices get their struct device created and > > probed, but at a much later time. > > > > So rather than trying to init all that early, let's just > > init them much later when we have the proper I2C driver > > running? > > I see that working just fine. We (beagleboard.org) enforce the eeprom > data, as all the official images require a proper baseboard eeprom. OK > We just have to be very careful to limit the scope, otherwise we will > end up with Pantelis' rejected capebus from the v3.2.x days... Naturally I was thinking #2 above would use Pantelis' code for CONFIG_OF_OVERLAY in mainline. But instead of the earlier patches, we can make things happen much later on to avoid the detect of EEPROM early on. Regards, Tony -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html