On Thu, Jul 11, 2013 at 11:06 PM, Nishanth Menon <n...@ti.com> wrote: > On 18:17-20130711, Robert Nelson wrote: >> On Thu, Jul 11, 2013 at 5:17 PM, Nishanth Menon <n...@ti.com> wrote: >> > On 17:05-20130711, Robert Nelson wrote: >> >> On Thu, Jul 11, 2013 at 5:03 PM, Nishanth Menon <n...@ti.com> wrote: >> >> > On 17:02-20130711, Robert Nelson wrote: >> >> >> On Thu, Jul 11, 2013 at 4:52 PM, Nishanth Menon <n...@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 <n...@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.. > > ok, here is how the code looks like with the V2 of my series: > > Do we just default to none for XM_AB for dvi_pup? > > static void beagle_dvi_pup(void) > { > uchar val; > > switch (get_board_revision()) { > case REVISION_AXBX: > case REVISION_CX: > case REVISION_C4: > case REVISION_XM_AB: > gpio_request(170, ""); > gpio_direction_output(170, 0); > gpio_set_value(170, 1); > break; > case REVISION_XM_C: > default: > #define GPIODATADIR1 (TWL4030_BASEADD_GPIO+3) > #define GPIODATAOUT1 (TWL4030_BASEADD_GPIO+6) > > i2c_read(TWL4030_CHIP_GPIO, GPIODATADIR1, 1, &val, 1); > val |= 4; > i2c_write(TWL4030_CHIP_GPIO, GPIODATADIR1, 1, &val, 1); > > i2c_read(TWL4030_CHIP_GPIO, GPIODATAOUT1, 1, &val, 1); > val |= 4; > i2c_write(TWL4030_CHIP_GPIO, GPIODATAOUT1, 1, &val, 1); > break; > } > }
I'd do it like this, as... On the xMA, xMA1, & xMA2: TPS_GPIO2 is not connected to anything... xMA3->xMC: TPS_GPIO2 is connected to dvi_pup static void beagle_dvi_pup(void) { uchar val; switch (get_board_revision()) { case REVISION_AXBX: case REVISION_CX: case REVISION_C4: gpio_request(170, ""); gpio_direction_output(170, 0); gpio_set_value(170, 1); break; case REVISION_XM_AB: case REVISION_XM_C: default: #define GPIODATADIR1 (TWL4030_BASEADD_GPIO+3) #define GPIODATAOUT1 (TWL4030_BASEADD_GPIO+6) i2c_read(TWL4030_CHIP_GPIO, GPIODATADIR1, 1, &val, 1); val |= 4; i2c_write(TWL4030_CHIP_GPIO, GPIODATADIR1, 1, &val, 1); i2c_read(TWL4030_CHIP_GPIO, GPIODATAOUT1, 1, &val, 1); val |= 4; i2c_write(TWL4030_CHIP_GPIO, GPIODATAOUT1, 1, &val, 1); break; } } Regards, -- Robert Nelson http://www.rcn-ee.com/ _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot