[U-Boot] [PATCH 4/5] omap3_beagle: support findfdt and loadfdt for devicetree support

Robert Nelson robertcnelson at gmail.com
Fri Jul 12 01:17:02 CEST 2013


On Thu, Jul 11, 2013 at 5:17 PM, Nishanth Menon <nm at ti.com> wrote:
> On 17:05-20130711, Robert Nelson wrote:
>> On Thu, Jul 11, 2013 at 5:03 PM, Nishanth Menon <nm at ti.com> wrote:
>> > On 17:02-20130711, Robert Nelson wrote:
>> >> On Thu, Jul 11, 2013 at 4:52 PM, Nishanth Menon <nm at ti.com> wrote:
>> >> > For folks not using concatenated device tree with uImage, having
>> >> > an handy function to find and load device tree is very handy.
>> >> >
>> >> > So introduce findfdt and loadfdt and run findfdt by default to make
>> >> > it easier on user scripts.
>> >> >
>> >> > Signed-off-by: Nishanth Menon <nm at ti.com>
>> >> > ---
>> >> >  include/configs/omap3_beagle.h |   17 +++++++++++++++++
>> >> >  1 file changed, 17 insertions(+)
>> >> >
>> >> > diff --git a/include/configs/omap3_beagle.h b/include/configs/omap3_beagle.h
>> >> > index bdeee17..7833208 100644
>> >> > --- a/include/configs/omap3_beagle.h
>> >> > +++ b/include/configs/omap3_beagle.h
>> >> > @@ -210,6 +210,8 @@
>> >> >  #define CONFIG_EXTRA_ENV_SETTINGS \
>> >> >         "loadaddr=0x80200000\0" \
>> >> >         "rdaddr=0x81000000\0" \
>> >> > +       "fdt_high=0xffffffff\0" \
>> >> > +       "fdtaddr=0x80f80000\0" \
>> >> >         "usbtty=cdc_acm\0" \
>> >> >         "bootfile=uImage\0" \
>> >> >         "ramdisk=ramdisk.gz\0" \
>> >> > @@ -250,6 +252,19 @@
>> >> >                 "omapdss.def_disp=${defaultdisplay} " \
>> >> >                 "root=${nandroot} " \
>> >> >                 "rootfstype=${nandrootfstype}\0" \
>> >> > +       "findfdt=" \
>> >> > +               "if test $beaglerev = AxBx; then " \
>> >> > +                       "setenv fdtfile omap3-beagle.dtb; fi; " \
>> >> > +               "if test $beaglerev = Cx; then " \
>> >> > +                       "setenv fdtfile omap3-beagle.dtb; fi; " \
>> >> > +               "if test $beaglerev = xMA; then " \
>> >> > +                       "setenv fdtfile omap3-beagle-xm.dtb; fi; " \
>> >> > +               "if test $beaglerev = xMB; then " \
>> >> > +                       "setenv fdtfile omap3-beagle-xm.dtb; fi; " \
>> >>
>> >> There is no need for the "xMB" variant, as the gpio pins used for
>> >> identification where never changed from the xMA when the newer silcon
>> >> was used for the xMB (i guess if we look at the omap's es revision, we
>> >> could figure out which are xMB's, but right now that isn't done in
>> >> u-boot....)
>> > I suppose then the following is ok to do as well?
>> > diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
>> > index c686f40..6094b0f 100644
>> > --- a/board/ti/beagle/beagle.c
>> > +++ b/board/ti/beagle/beagle.c
>> > @@ -369,16 +369,6 @@ int misc_init_r(void)
>> >                                         TWL4030_PM_RECEIVER_VAUX2_DEV_GRP,
>> >                                         TWL4030_PM_RECEIVER_DEV_GRP_P1);
>> >                 break;
>> > -       case REVISION_XM_B:
>> > -               printf("Beagle xM Rev B\n");
>> > -               setenv("beaglerev", "xMB");
>> > -               MUX_BEAGLE_XM();
>> > -               /* Set VAUX2 to 1.8V for EHCI PHY */
>> > -               twl4030_pmrecv_vsel_cfg(TWL4030_PM_RECEIVER_VAUX2_DEDICATED,
>> > -                                       TWL4030_PM_RECEIVER_VAUX2_VSEL_18,
>> > -                                       TWL4030_PM_RECEIVER_VAUX2_DEV_GRP,
>> > -                                       TWL4030_PM_RECEIVER_DEV_GRP_P1);
>> > -               break;
>> >         case REVISION_XM_C:
>> >                 printf("Beagle xM Rev C\n");
>> >                 setenv("beaglerev", "xMC");
>>
>> Correct, as a cleanup we can nuke that xMB section..
>>
>> For some bike shed paining we could rename:
>>
>> Beagle xM Rev A -> Beagle xM Rev A/B
>>
>> Above that too. ;)
> OK - I suspect and am not sure how dvi_pup will get handled in the
> resultant diff, What do folks think of the following?

A quick review of all my old xM schematics i have access to and the
ones on https://github.com/CircuitCo/

For the "dvi_pup" function

GPIO_170 was only used on the pre-production xM's P8/P9, i doubt any
of them still operate (mine died)..

It was then switched to GPIO_129 for the xMA, however there where MMC
issues, so it was changed for xMA1 (and thus xMA2)
notes, top of this:
https://github.com/CircuitCo/BeagleBoard-xM-RevC/blob/master/BeagleBoard-xM_revC_SCH.pdf

TPS_GPIO_2: was then used on xMA3 -> and all later generations...

So also looking at:
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/arch/arm/mach-omap2/board-omap3beagle.c#n161

Looks like the original beagle needs GPIO_170..

So I'd just set GPIO_170 for:

case REVISION_AXBX:
case REVISION_CX:
case REVISION_C4:

and ignore all the pre-production xM P8/P8's/xMA..

Side note, I think 'first' customers just got the xMA2 and newer.. As
i was one of the first, and it's still running downstairs..

Regards,

-- 
Robert Nelson
http://www.rcn-ee.com/


More information about the U-Boot mailing list