Re: [PATCHv3] ARM: OMAP2+: am335x-bone*: add DT for BeagleBone Black

From: Matt Porter
Date: Mon Sep 09 2013 - 10:16:16 EST


On Mon, Sep 09, 2013 at 09:59:26AM -0400, Matt Porter wrote:
> On Mon, Sep 09, 2013 at 02:51:13PM +0100, Jonathan Austin wrote:
> > Hi Matt,
> >
> > On 09/09/13 14:31, Matt Porter wrote:
> > >On Sun, Sep 08, 2013 at 01:12:26PM +0200, Koen Kooi wrote:
> > >>The BeagleBone Black is basically a regular BeagleBone with eMMC and HDMI added,
> > >>so create a common dtsi both can use.
> > >>
> > >>IMPORTANT: booting the existing am335x-bone.dts will blow up the HDMI transceiver
> > >>after a dozen boots with an uSD card inserted because LDO will be at 3.3V instead
> > >>of 1.8.
> > >>
> > >>MMC support for AM335x still isn't in, so only the LDO change has been added.
> > >>
> > >>Signed-off-by: Koen Kooi <koen@xxxxxxxxxxxxxxxxxxxxx>
> > >
> > >Tested-by: Matt Porter <matt.porter@xxxxxxxxxx>
> > >
> > >Works fine for me on tip and 3.11. I did notice a regression in musb (worked
> > >on 3.11, now failing to probe but this is not related to your new dts as it
> > >happens on am335x-bone.dts too, assuming merge window volatility). One nit,
> > >git-am picked up a whitespace error on that extra line at EOF so you should
> > >trim that out.
> > >
> > >Only thing is...for a clear bug like this that will destroy hardware, it
> > >should be marked Cc: stable@xxxxxxxxxxxxxxx to be picked up in stable.
> > >
> >
> > If I've understood Koen correctly then what he's saying is that if
> > you *were* to use the current (before this patch) am335x-bone.dts on
> > a Beagle Bone Black (which would be wrong, as that's not the board
> > you have...) then things would break.
> >
> > I don't see that this patch fixes that - as far as I can see, even
> > after the patch, using am335x-bone.dts with a Bone Black will risk
> > the damage?
> >
> > If so, I don't think this is a 'stable fix' kind of thing, as it
> > doesn't actually fix the problem?
>
> It fixes the problem by providing the correct dts for BBB which the
> vendor tree has had for sometime. In the absence of a specific dts
> for BBB, it appears everybody (TI and OMAP maintainers, included)
> has assumed that am335x-bone.dts is correct and safe.
>
> I'm sure there's plenty of systems represented in dts/* where you
> could cause damage by loading another dtb for a similar board from
> the same SoC family...it's a common risk if you get the wrong dtb
> with more-or-less arbitrary regulator settings.

Sorry to reply to myself, but I probably didn't make it 100% clear as
to why this effectively fixes the problem. Both mainline u-boot *and*
the vendor u-boot have findfdt implemented to load an
am335x-boneblack.dtb based on board detection.

Hopefully this makes it clear why this fixes a bug in the kernel. If
you use appended dtb to include the wrong one, well, you shouldn't
be using appended dtb. It's a *hack* and loading it separately
works fine if you use the U-Boot that ships with BBB or mainline.

-Matt

> > Koen - is there a way for a booting kernel to detect which board it
> > is on and avoid any potential damage if someone gives it the wrong
> > DT?
> >
> > Jonny
> >
> > >-Matt
> > >
> > >_______________________________________________
> > >linux-arm-kernel mailing list
> > >linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
> > >http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
> > >
> >
> >
> > --
> > To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> > the body of a message to majordomo@xxxxxxxxxxxxxxx
> > More majordomo info at http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/