Date: Fri, 10 Feb 2017 17:52:31 -0800 From: Oleksandr Tymoshenko <gonzo@bluezbox.com> To: Tony Hain <tony@tndh.net> Cc: freebsd-arm@freebsd.org Subject: Re: Questions about BBB/BBG dtb names vs. content Message-ID: <20170211015231.GA56071@bluezbox.com> In-Reply-To: <0ee901d28406$052ed070$0f8c7150$@tndh.net> References: <0ee901d28406$052ed070$0f8c7150$@tndh.net>
next in thread | previous in thread | raw e-mail | index | archive | help
Tony Hain (tony@tndh.net) wrote: > When I built 12 current the other day, I found some confusing dtb file > names. > First there were identical files : > am335x-bone.dtb beaglebone.dtb > am335x-boneblack.dtb beaglebone-black.dtb > > But there was not a matching one for green. Is that intentional? > am335x-bonegreen.dtb > > Then the content didn't match the names: > am335x-boneblack.dtb -- > compatible = "ti,am335x-bone-black", "ti,am335x-bone", "ti,am33xx"; > > am335x-bonegreen.dtb -- > compatible = "ti,am335x-bone-green", "ti,am335x-bone-black", > "ti,am335x-bone", "ti,am33xx"; > > Aren't the strings in the compatible line supposed to match the file names? > Is there a reason there are identical files in the dtb path rather than a > link? > Is the fdt_file="" line required in loader.conf if the am335x file name > exists? > > I have the BBB running with fdt_file="beaglebone-black.dtb", and the changes > to it for turning on uart1. Should I have made the changes to the am335x > file instead, or should I create the beaglebone-green.dtb file for the BBG? beaglebone*dtb is FreeBSD-specific DTB names, dts files for them were created in early days of FDT support. am335x-*dtb are upstream names, Linux and U-Boot use them as standard names. U-Boot can detect type of board in run-time and set fdt_file env variable based on that type. Until recently we had sysutils/u-boot-beaglebone port with custom FreeBSD-specific patch where this autodetect logic used beaglebone*dtb names. Recently it was converted to being slave port to sysutils/u-boot-master as a part of U-Boot ports unification effort. During this conversion aforementioned patch was deleted so now u-boot operates with am335x-*.dtb names. To be backward-compatible with previously built systems, that still refer to old-style names, we now create links, beaglebone.dtb is a link to am335x-bone.dtb and beaglebone-black.dtb is a link to am335x-boneblack.dtb. There was no FreeBSD-specific DTS for beaglebone green previously, so am335x-bonegreen.dtb does not have beaglebone* counterpart. At the moment any changes toboot/fdt/dts/arm/beagebone-*.dts are not going affect beagebone-*.dtb because these dtbs created as links, not generated. I have patch in review that fixes it and brings back old-style DTBs along with some fixes that are in upstream but haven't been merged to FreeBSD tree yet: https://reviews.freebsd.org/D9432 With current tree you need to move your uart1-related change to sys/gnu/dts/arm/am335x-boneblack.dts, regenerate dtbs and that should do the trick. -- gonzo
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20170211015231.GA56071>