Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 5 Jan 2019 23:03:06 +0100
From:      Emmanuel Vadot <manu@bidouilliste.com>
To:        Oleksandr Tymoshenko <gonzo@bluezbox.com>
Cc:        Per Hedeland <per@hedeland.org>, freebsd-arm@freebsd.org
Subject:   Re: i2c on RPi Zero?
Message-ID:  <20190105230306.2ad9d0ba2c2df0e8fac5f053@bidouilliste.com>
In-Reply-To: <20190105215608.GA55315@bluezbox.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>

next in thread | previous in thread | raw e-mail | index | archive | help
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).

> Thanks
> 
> -- 
> gonzo
> _______________________________________________
> freebsd-arm@freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-arm
> To unsubscribe, send any mail to "freebsd-arm-unsubscribe@freebsd.org"


-- 
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?20190105230306.2ad9d0ba2c2df0e8fac5f053>