From owner-freebsd-arm@freebsd.org Thu Mar 30 20:29:03 2017 Return-Path: Delivered-To: freebsd-arm@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 42C73D26FA9 for ; Thu, 30 Mar 2017 20:29:03 +0000 (UTC) (envelope-from gonzo@bluezbox.com) Received: from id.bluezbox.com (id.bluezbox.com [45.55.20.155]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 24110BAB for ; Thu, 30 Mar 2017 20:29:02 +0000 (UTC) (envelope-from gonzo@bluezbox.com) Received: from [127.0.0.1] (helo=id.bluezbox.com) by id.bluezbox.com with esmtps (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.87 (FreeBSD)) (envelope-from ) id 1ctggl-0005rO-Ax; Thu, 30 Mar 2017 13:29:00 -0700 Received: (from gonzo@localhost) by id.bluezbox.com (8.15.2/8.15.2/Submit) id v2UKSwcu022529; Thu, 30 Mar 2017 13:28:58 -0700 (PDT) (envelope-from gonzo@bluezbox.com) X-Authentication-Warning: id.bluezbox.com: gonzo set sender to gonzo@bluezbox.com using -f Date: Thu, 30 Mar 2017 13:28:58 -0700 From: Oleksandr Tymoshenko To: "Dr. Rolf Jansen" Cc: freebsd-arm@FreeBSD.org Subject: Re: Enabling ADC on a Beaglebone Black running FreeBSD 12.0-CURRENT (BEAGLEBONE) Message-ID: <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> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <5D2FEB0D-64F3-488C-8458-85E7DF10EFB7@obsigna.com> X-Operating-System: FreeBSD/11.0-RELEASE-p2 (amd64) User-Agent: Mutt/1.6.1 (2016-04-27) X-Spam-Level: -- X-Spam-Report: Spam detection software, running on the system "id.bluezbox.com", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see The administrator of that system for details. Content preview: 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? [...] Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Porting FreeBSD to ARM processors." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Mar 2017 20:29:03 -0000 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