[PATCH] ARM: dts: am335x-bone* enable pmic-shutdown-controller

Tony Lindgren tony at atomide.com
Mon May 18 10:03:55 PDT 2015


* Robert Nelson <robertcnelson at gmail.com> [150518 09:51]:
> On Mon, May 18, 2015 at 11:29 AM, Tony Lindgren <tony at atomide.com> wrote:
> > * Robert Nelson <robertcnelson at gmail.com> [150518 09:15]:
> >> On Mon, May 18, 2015 at 10:21 AM, Tony Lindgren <tony at atomide.com> 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



More information about the linux-arm-kernel mailing list