From owner-freebsd-arm@freebsd.org Fri Mar 24 19:37:15 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 C0EA3D1C07F for ; Fri, 24 Mar 2017 19:37:15 +0000 (UTC) (envelope-from karl@denninger.net) Received: from mail.denninger.net (denninger.net [70.169.168.7]) by mx1.freebsd.org (Postfix) with ESMTP id 679509B3 for ; Fri, 24 Mar 2017 19:37:15 +0000 (UTC) (envelope-from karl@denninger.net) Received: from [192.168.1.40] (Karl-Desktop.Denninger.net [192.168.1.40]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.denninger.net (Postfix) with ESMTPSA id 3F94E5FBFF; Fri, 24 Mar 2017 14:37:14 -0500 (CDT) Subject: Re: i2c on Pi3? To: Oleksandr Tymoshenko References: <0b83d41a-1a9e-28cc-6ecd-03e6a63a06a2@denninger.net> <20170323175342.GA55627@bluezbox.com> <843bbe39-0b74-0d27-598d-ae16aea52a37@denninger.net> <20170324185652.GA65910@bluezbox.com> Cc: "freebsd-arm@freebsd.org" From: Karl Denninger Message-ID: Date: Fri, 24 Mar 2017 14:37:13 -0500 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: <20170324185652.GA65910@bluezbox.com> Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha-512; boundary="------------ms080901070107060608020301" X-Content-Filtered-By: Mailman/MimeDel 2.1.23 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: Fri, 24 Mar 2017 19:37:15 -0000 This is a cryptographically signed message in MIME format. --------------ms080901070107060608020301 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable On 3/24/2017 13:56, Oleksandr Tymoshenko wrote: > Karl Denninger (karl@denninger.net) wrote: >> On 3/23/2017 12:53, Oleksandr Tymoshenko wrote: >>> Karl Denninger (karl@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= =2E For an example how to use it from userland, check out a project I pos= ted 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.=20 >>> .. 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=3Di2c_arm=3Don,spi=3Don >>> >> Nope, already in the base config.txt file: >> >> arm_control=3D0x200 >> dtparam=3Daudio=3Don,i2c_arm=3Don,spi=3Don >> dtoverlay=3Dmmc >> dtoverlay=3Dpi3-disable-bt >> device_tree_address=3D0x4000 >> kernel=3Du-boot.bin > I just built latest HEAD, i2c driver is available in GENERIC kernel: > # dmesg | grep iic > iichb0: mem 0x7e804000-0x7e804fff irq 31 > on simplebus0 > iicbus0: 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@.*{' > 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. root@rpi3:~ # sysctl -b hw.fdt.dtb | dtc -I dtb | grep -A 13 'i2c@.*{' : Warning (unit_address_vs_reg): Node /axi/vc_mem has a reg or ranges property, but no unit name : Warning (unit_address_vs_reg): Node /soc has a reg or ranges property, but no unit name : Warning (unit_address_vs_reg): Node /soc/gpiomem has a reg or ranges property, but no unit name : Warning (unit_address_vs_reg): Node /soc/vchiq has a reg or ranges property, but no unit name : Warning (unit_address_vs_reg): Node /soc/local_intc has a reg or ranges property, but no unit name : Warning (unit_address_vs_reg): Node /memory has a reg or ranges property, but no unit name : Warning (avoid_default_addr_size): Relying on default #address-cells value for /axi/vc_mem : Warning (avoid_default_addr_size): Relying on default #size-cells value for /axi/vc_mem i2c@7e205000 { compatible =3D "brcm,bcm2835-i2c"; reg =3D <0x7e205000 0x1000>; interrupts =3D <0x2 0x15>; clocks =3D <0x7 0x14>; #address-cells =3D <0x1>; #size-cells =3D <0x0>; status =3D "disabled"; pinctrl-names =3D "default"; pinctrl-0 =3D <0xf>; clock-frequency =3D <0x186a0>; phandle =3D <0x25>; }; -- i2c@7e804000 { compatible =3D "brcm,bcm2835-i2c"; reg =3D <0x7e804000 0x1000>; interrupts =3D <0x2 0x15>; clocks =3D <0x7 0x14>; #address-cells =3D <0x1>; #size-cells =3D <0x0>; status =3D "okay"; pinctrl-names =3D "default"; pinctrl-0 =3D <0x13>; clock-frequency =3D <0x186a0>; phandle =3D <0x26>; }; i2c@7e805000 { compatible =3D "brcm,bcm2835-i2c"; reg =3D <0x7e805000 0x1000>; interrupts =3D <0x2 0x15>; clocks =3D <0x7 0x14>; #address-cells =3D <0x1>; #size-cells =3D <0x0>; status =3D "disabled"; clock-frequency =3D <0x186a0>; phandle =3D <0x14>; }; vec@7e806000 { compatible =3D "brcm,bcm2835-vec"; --=20 Karl Denninger karl@denninger.net /The Market Ticker/ /[S/MIME encrypted email preferred]/ --------------ms080901070107060608020301 Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature 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 r1IMZ4CbxhZSltnXKcLfTVgAAAAAAAA= --------------ms080901070107060608020301--