[patch 1/9] efikamx: read board id
Arnaud Patard (Rtp)
arnaud.patard at rtp-net.org
Wed Oct 20 04:35:28 EDT 2010
Sascha Hauer <s.hauer at pengutronix.de> writes:
> On Tue, Oct 19, 2010 at 04:30:25PM -0500, Matt Sealey wrote:
>> On Tue, Oct 19, 2010 at 4:15 PM, Sascha Hauer <s.hauer at pengutronix.de> wrote:
>> > On Tue, Oct 19, 2010 at 10:42:54PM +0200, Arnaud Patard wrote:
>> >> read board id value from the GPIO3_16/17/11
>> >>
>> >>
>> >> +/* PCBID2 PCBID1 PCBID0 STATE
>> >> + 1 1 1 ER1:rev1.1
>> >> + 1 1 0 ER2:rev1.2
>> >> + 1 0 1 ER3:rev1.3
>> >> + 1 0 0 ER4:rev1.4
>> >> +*/
>> >> +static void __init mx51_efikamx_board_id(void)
>> >> +{
>> >> + int id;
>> >> +
>> >> + /* things are taking time to settle */
>> >> + msleep(500);
>> >
>> > Is it really necessary to delay the boot process such a long time?
>>
>> Yes. On older boards the PCBID pins are pulled high by IOMUX settings
>> (a pulldown on the board on newer revisions will keep it down). IOMUX
>> and GPIO stuff takes a little while to settle in, so if you do it
>> immediately, it will return some freakish values based on random GPIO
>> setup (it may be high, low, or none of the above at any point before
>> the pad setting kicks in).
>
> Maybe it's possible to delay only the registering of the devices which
> depend on the board revision, perhaps with a workqueue. But ok, I don't
> care much and this won't be a show stopper for this patch.
ok. Will wait a little bit more for comments and send a new patchset.
Thanks,
Arnaud
More information about the linux-arm-kernel
mailing list