Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 06 Jan 2019 15:22:34 -0700
From:      Ian Lepore <ian@freebsd.org>
To:        Emmanuel Vadot <manu@bidouilliste.com>, Oleksandr Tymoshenko <gonzo@bluezbox.com>
Cc:        freebsd-arm@freebsd.org
Subject:   Re: i2c on RPi Zero?
Message-ID:  <1546813354.98537.18.camel@freebsd.org>
In-Reply-To: <20190105230306.2ad9d0ba2c2df0e8fac5f053@bidouilliste.com>
References:  <229e0d36-a07b-8551-9613-0bf5748352e7@hedeland.org> <dc9441e2-9858-989e-a135-3ae37de0925b@hedeland.org> <20190105195808.GA53872@bluezbox.com> <e981729d-bb71-c74e-aaa7-86c7447b1f24@hedeland.org> <20190105215608.GA55315@bluezbox.com> <20190105230306.2ad9d0ba2c2df0e8fac5f053@bidouilliste.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, 2019-01-05 at 23:03 +0100, Emmanuel Vadot wrote:
> On Sat, 5 Jan 2019 13:56:08 -0800
> Oleksandr Tymoshenko <gonzo@bluezbox.com> wrote:
> 
> > 
> > Per Hedeland (per@hedeland.org) wrote:
> > > 
> > > On 2019-01-05 20:58, Oleksandr Tymoshenko wrote:
> > > > 
> > > > Per Hedeland (per@hedeland.org) wrote:
> > > > > 
> > > > > I did a bit more testing on the Zero to see if the FreeBSD
> > > > > version
> > > > > mattered:
> > > > > 
> > > > > FreeBSD-12.0-STABLE-arm-armv6-RPI-B-20190103-r342709.img -
> > > > > still no
> > > > > luck.
> > > > > 
> > > > > FreeBSD-11.2-STABLE-arm-armv6-RPI-B-20190103-r342709.img -
> > > > > works!
> > > > > (I.e. dmesg reports as below and /dev/iic{0,1} get created -
> > > > > I haven't
> > > > > tested actual usage beyond having 'i2c -s' report "no devices
> > > > > found".)
> > > > > 
> > > > > I guess that the i2c support hasn't been removed
> > > > > intentionally,
> > > > > i.e. this seems to be a regression - or is there some
> > > > > additional
> > > > > config etc required to enable it with FreeBSD-12? The iic and
> > > > > iicbus
> > > > > drivers appear to be built into the kernel in both 11 and 12.
> > > > > 
> > > > > (I haven't tested FreeBSD-12 on the Pi B, but I would guess
> > > > > that the
> > > > > result will be the same as on the Zero, since it seems the
> > > > > hardware is
> > > > > the same.)
> > > > There was a transition in device tree files between 11 and 12.
> > > > bcm2708-rpi-0-w.dtb has i2c nodes but they're disabled by
> > > > default.
> > > > Try editing config.txt on FAT partition and adding following
> > > > line:
> > > > 
> > > > dtparam=i2c
> > > > 
> > > > This should make boot firmware to enable device nodes in the
> > > > device
> > > > tree blob during the boot.
> > > Thanks a lot! I can confirm that this makes i2c "work" on Zero
> > > with
> > > 12-RELEASE (almost) to the extent described above for 11.2-STABLE 
> > > (it
> > > detects/creates only iic0, not iic1, but as far as I understand
> > > from
> > > other sources, iic0 is all that is needed for "plain B" and thus
> > > also
> > > for Zero).
> > > 
> > > Should I file a PR for this? I assume that the i2c nodes being
> > > disabled is not intentional...
> > Yes, please do. There are also other devices, that should be
> > enabled by
> > default, like SPI.
>  Why should we enabled them by default ?
>  We have no correct way for switching a pin to gpio mode (you can do
> that with gpioctl on some system but I consider it as a bug) so if I
> want to use the i2c/spi/whatever pins as gpio and the default image
> set
> it to another function I'm stuck.
>  Using the rpi fundation dtb means that every settings that they set
> for Linux will also be set for us, so every tutorial on the web where
> people saying that you should set something in config.txt will apply
> to
> FreeBSD too.
>  The current settings aren't a bug, it's a feature (c).

I agree. SPI and i2c are not required to boot the board so there is no
reason to enable them by default. The pins used for those things can be
configured for multiple purposes, so the choice of how they should be
configured by default is completely arbitrary. There is no reason for
freebsd to make a different arbitrary decision than the one already
made by our upstream source of FDT data.

-- Ian



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1546813354.98537.18.camel>