i2c on Pi3?
Karl Denninger
karl at denninger.net
Fri Mar 24 21:09:49 UTC 2017
On 3/24/2017 14:44, Oleksandr Tymoshenko wrote:
> Karl Denninger (karl at denninger.net) wrote:
>> On 3/24/2017 13:56, Oleksandr Tymoshenko wrote:
>>> Karl Denninger (karl at denninger.net) wrote:
>>>> On 3/23/2017 12:53, Oleksandr Tymoshenko wrote:
>>>>> Karl Denninger (karl at denninger.net) wrote:
>>>>>> On 3/23/2017 12:34, John Howie wrote:
>>>>>>
>>>>>>> Hi Karl,
>>>>>>>
>>>>>>> I can only speak to the Raspberry Pi 2 kernel, but I2C is supported. For an example how to use it from userland, check out a project I posted on github eighteen months ago, that was for the PiFace RTC.
>>>>>>>
>>>>>>> https://github.com/jhowie/FreeBSDPiFaceRTC
>>>>>>>
>>>>>>> There are useful routines I created for working with devices on the I2C bus, which you are free to use. They are not RPI2-specific, so they should work on other boards.
>>>>> .. skipped ..
>>>>>> It works on the Pi2; I am using it in production.
>>>>>>
>>>>>> The driver appears to be /missing /in the Pi3 kernel.
>>>>> Probably it's not enabled in DTB. Try adding this line to config.txt:
>>>>>
>>>>> dtparam=i2c_arm=on,spi=on
>>>>>
>>>> Nope, already in the base config.txt file:
>>>>
>>>> arm_control=0x200
>>>> dtparam=audio=on,i2c_arm=on,spi=on
>>>> dtoverlay=mmc
>>>> dtoverlay=pi3-disable-bt
>>>> device_tree_address=0x4000
>>>> kernel=u-boot.bin
>>> I just built latest HEAD, i2c driver is available in GENERIC kernel:
>>> # dmesg | grep iic
>>> iichb0: <BCM2708/2835 BSC controller> mem 0x7e804000-0x7e804fff irq 31
>>> on simplebus0
>>> iicbus0: <OFW I2C bus> on iichb0
>>> random: harvesting attach, 8 bytes (4 bits) from iicbus0
>>> random: harvesting attach, 8 bytes (4 bits) from iichb0
>>>
>>> The driver itself is sys/arm/broadcom/bcm2835/bcm2835_bsc.c
>>>
>>> Could you run this command on your Pi3 and send output? Thanks
>>>
>>> sysctl -b hw.fdt.dtb | dtc -I dtb | grep -A 13 'i2c at .*{'
>>>
>> I have a copy of Generic with a couple of tweaks in it; I DO NOT get the
>> iic identifiers.
>>
>> Here's what I have in the dtb; I will svn update and rebuild with
>> GENERIC (don't see why the tweaks would change anything, but will try
>> with GENERIC anyway and see if anything changes.
> Looks like DTB in your firmware is different from what I have (my is
> relatively old). Try applying this patch to your kernel:
>
> https://people.freebsd.org/~gonzo/arm/patches/rpi3-bcm2835-i2c.diff
>
OK, that fixed it with "device iic" added to the kernel config (which is
NOT in GENERIC)
Can we get that one-liner committed in -HEAD and "device iic" added to
GENERIC? (There's no particular reason for it not to be there I don't
think.... without it the device nodes do not get set up and while the
device might be recognized getting to it is a bit of a problem!)
--
Karl Denninger
karl at denninger.net <mailto:karl at denninger.net>
/The Market Ticker/
/[S/MIME encrypted email preferred]/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2993 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://lists.freebsd.org/pipermail/freebsd-arm/attachments/20170324/c2ed6a51/attachment.bin>
More information about the freebsd-arm
mailing list