Date: Thu, 30 Mar 2017 22:35:34 +0200 From: Emmanuel Vadot <manu@bidouilliste.com> To: freebsd-arm@freebsd.org Subject: Re: Enabling ADC on a Beaglebone Black running FreeBSD 12.0-CURRENT (BEAGLEBONE) Message-ID: <20170330223534.0ccc82eec0bf820651604cd7@bidouilliste.com> In-Reply-To: <20170330202858.GA22253@bluezbox.com> References: <0C4DCBB9-2642-4B0F-B15B-4139D5D8B249@obsigna.com> <271AFD8F-BD2C-445C-AB95-D7D07593E487@obsigna.com> <5D2FEB0D-64F3-488C-8458-85E7DF10EFB7@obsigna.com> <20170330202858.GA22253@bluezbox.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 30 Mar 2017 13:28:58 -0700 Oleksandr Tymoshenko <gonzo@bluezbox.com> wrote: > Dr. Rolf Jansen (rj@obsigna.com) wrote: > > Today I updated once again my Beaglebone Black by > > merging-in the latest FreeBSD 12.0-CURRENT (BEAGLEBONE) > > snapshot, and once again I enabled the ADCs on the > > Beaglebone in the device tree blob am335x-boneblack.dtb, > > and the ADC is still working fine. > > > > Even if it is not that a big hassle to modify the device > > tree blob, I am curious on why the ADC has been disabled > > in the blob in the first place, end even more, given the > > fact that the device ti_adc driver is built-in to kernel > > and once enabled, the ADC is functional. > > > > Didn't it work at some time in the past? Now it is. > > > > What is missing to activate the ADC in the device tree > > blob by default? > > Few months ago FreeBSD switched to using upstream DTB files > instead of custom-made ones. For some reason ADC is disabled > in upstream. If you're running recent FreeBSD you can use > dtb overlays to enable ADC without hassle of maintaining > custom dts file. You can do following: > > 1. Create am335x-beaglebone-tscadc.dts with following > content: > > /dts-v1/; > /plugin/; > > / { > compatible = "ti,am335x-bone-green", "ti,am335x-bone-black", "ti,am335x-bone", "ti,am33xx"; > > fragment@0 { > target = <&tscadc>; > __overlay__ { > status = "okay"; > adc { > ti,adc-channels = <0 1 2 3 4 5 6>; > }; > }; > }; > }; > > 2. Compile overlay: > $ dtc -I dts -O dtb -o am335x-beaglebone-tscadc.dtbo am335x-beaglebone-tscadc.dts > > 3. Copy it to /boot/dtb/ directory on your BBB > > 4. Enable overlay in /boot/loader.conf by adding following line: > > fdt_overlays="am335x-beaglebone-tscadc.dtbo" > > -- > gonzo I guess that ADC uses pins that can be used for other purpose so they didn't enabled it by default ? If it's not the case they should be enable by default. Note 1 : You need to use a recent dtc (i.e. the latest dtc imported in HEAD) Note 2 : We really need to add some dtbo facility for people in the buildkernel process. -- Emmanuel Vadot <manu@bidouilliste.com> <manu@freebsd.org>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20170330223534.0ccc82eec0bf820651604cd7>