[EXTERNAL] Re: BeagleBone Black Networking (wifi and/or wired)
Chris Johns
chrisj at rtems.org
Sun Jun 9 06:59:04 UTC 2019
On 9/6/19 4:29 pm, Vijay Kumar Banerjee wrote:
> On Sun, Jun 9, 2019 at 6:22 AM Chris Johns <chrisj at rtems.org
> <mailto:chrisj at rtems.org>> wrote:
> On 8/6/19 5:58 pm, Christian Mauderer wrote:
> > ----- Ursprüngliche Mail -----
> >> Von: "Oyake, Amalaye (386M)" <amalaye.oyake at jpl.nasa.gov
> <mailto:amalaye.oyake at jpl.nasa.gov>>
> >> An: "Chris Johns" <chrisj at rtems.org <mailto:chrisj at rtems.org>>, "Vijay
> Kumar Banerjee" <vijaykumar9597 at gmail.com
> <mailto:vijaykumar9597 at gmail.com>>, "Christian Mauderer"
> >> <christian.mauderer at embedded-brains.de
> <mailto:christian.mauderer at embedded-brains.de>>
> >> CC: "RTEMS Users" <users at rtems.org <mailto:users at rtems.org>>
> >> Gesendet: Samstag, 8. Juni 2019 04:57:02
> >> Betreff: Re: [EXTERNAL] Re: BeagleBone Black Networking (wifi and/or wired)
> >
> >> Device Tree overays are a method used to update the Device Tree. Given a
> device
> >> tree that describes all the devices, let's say you add a new SPI device, you
> >> can update the device tree with a (blob) device tree overlay.
> >>
> >> I should ask (without Googling), What is the Device Tree Overlay mechanism in
> >> RTEMS?
> >
> >
> > Hello Amalaye,
> >
> > as far as I know, the device tree overlay mechanism in RTEMS is not
> implemented. There is the prototype of fdt_overlay_apply() in libfdt.h but
> there is no implementation. So there are two methods:
> >
> > 1. Applying the overlay on a build machine. Vijay did that during his tests.
>
> How do you do this?
>
> I used `fdtoverlay` from libfdt on linux host.
Could cpukit/dtc/libfd in RTEMS be updated to support this code? I see freebsd's
kernel has the code.
>
> > 2. Use the U-Boot mechanism to apply overlays before booting RTEMS. That
> should most likely work too. But I didn't test it yet.
>
> OK
>
> >> On 6/7/19, 6:17 PM, "users on behalf of Chris Johns"
> <users-bounces at rtems.org <mailto:users-bounces at rtems.org> on
> >> behalf of chrisj at rtems.org <mailto:chrisj at rtems.org>> wrote:
> >>
> >> On 8/6/19 1:53 am, Vijay Kumar Banerjee wrote:
> >> >
> >> > I would like to add that in two projects of this year( I2C and
> PRU-ICSS drivers)
> >> > we
> >> > are using our own device tree overlays that make our drivers work.
> Where to add
> >> > the device
> >> > tree related stuff seems like an important question.
> >>
> >> What are device tree overlays?
> >
> > Like Oyake already said: They are some small pices of device trees that
> are just added to the base tree in it's binary form. Linux (and most likely
> FreeBSD too) supports that even after boot. If you add an overlay it
> re-parses the device tree, updates GPIO settings and loads new drivers. The
> alternative is to let the boot loader apply them during boot.
>
> What is needed to do this? Maybe I can add it to rtems-boot-image as a way to
> handle this at the u-boot version.
>
> I have also tried to automate it by adding it in uEnv.txt as a script, it worked
> nicely to apply
> the overlay on the blob, I haven't tested it with any app though, but the
> overlay applied
> successfully. Here's what the test uEnv.txt looks like.
> ```
> setenv bootdelay 5
> uenvcmd=run overlay_cmd boot
> overlay_cmd=fatload mmc 0 0x80800000 rtems-app.img; fatload mmc 0 0x88000000
> am335x-boneblack.dtb; fatload mmc 0 0x88100000 am335x-rtems.dtbo; fdt addr
> 0x88000000; fdt resize 0x1000; fdt apply 0x88100000;
> boot=bootm 0x80800000 - 0x88000000;
> ```
>
> You can add something like this to the uEnv.txt in SD card image. In the above
> script
> the am335x-boneblack.dtb is the one from linux and am335x-rtems.dtbo is generated
> with dtc from the overlay written by me.
Ah I see. I think this could be added to rtems-boot-image. There is something
attractive about building the fdt at run time on the board from the needed pieces.
Chris
More information about the users
mailing list