Date: Sat, 5 Jul 2014 20:01:42 -0600 From: Tom Everett <tom@khubla.com> To: Ian Lepore <ian@freebsd.org> Cc: "freebsd-arm@freebsd.org" <freebsd-arm@freebsd.org> Subject: Re: Status of iic on wandboard Message-ID: <CAB3ij4B21wNwunWy0VQCG2BWAg_gO21ZcxeK7d1Wg7hfMW_4qw@mail.gmail.com> In-Reply-To: <CAB3ij4APXL00jBVfo2FyYOv=sZHhDqUqkWs4EnNkaVZP72jQDA@mail.gmail.com> References: <CAB3ij4CCyHO3tTx23MWDQcW45_L=HiwC0QJgTX4HG_Bj=X7dUg@mail.gmail.com> <1404326769.20883.396.camel@revolution.hippie.lan> <CAB3ij4APXL00jBVfo2FyYOv=sZHhDqUqkWs4EnNkaVZP72jQDA@mail.gmail.com>
index | next in thread | previous in thread | raw e-mail
[-- Attachment #1 --] After some help from Ian on IRC, I have a working kernel here <http://files.khubla.com/freebsd-wandboard/FreeBSD-armv6-11.0-IMX6-r268304.img.gz>, and a bootlog here <http://files.khubla.com/freebsd-wandboard/FreeBSD-armv6-11.0-IMX6-r268304.log> . I've attached some patch files. On Sat, Jul 5, 2014 at 12:35 PM, Tom Everett <tom@khubla.com> wrote: > ok, so I enabled iic and iicbus in the IMX6 kernel config. I also added > this to imx6.dtsi (below). > > i2c@021a0000 { > > #address-cells = <1>; > > #size-cells = <0>; > > compatible = "fsl,imx-i2c"; > > reg = <0x021a0000 0x4000>; > > interrupt-parent = <&gic>; interrupts = > <68>; > > }; > > > i2c@021a4000 { > > #address-cells = <1>; > > #size-cells = <0>; > > compatible = "fsl,imx-i2c"; > > reg = <0x021a4000 0x4000>; > > interrupt-parent = <&gic>; interrupts = > <69>; > > }; > > > i2c@021a8000 { > > #address-cells = <1>; > > #size-cells = <0>; > > compatible = "fsl,imx-i2c"; > > reg = <0x021a8000 0x4000>; > > interrupt-parent = <&gic>; interrupts = > <70>; > > }; > > kldstat shows that the modules are there: > > > $ kldstat -v | grep iic > > 13 iichb/iicbus > > 12 iicbus/iic > > 55 iichb/ofw_iicbus > > 54 iicbb/ofw_iicbus > > > and opfwdump shows that the DTS data is there: > > root@wandboard:/dev # ofwdump -a > > Node 0x38: > > Node 0xa8: cpus > > Node 0xd4: cpu@0 > > Node 0x190: aliases > > Node 0x1bc: soc@00000000 > > Node 0x230: generic-interrupt-controller@00a00100 > > Node 0x2cc: mp_tmr0@00a00200 > > Node 0x348: l2-cache@00a02000 > > Node 0x3d0: aips@02000000 > > Node 0x458: ccm@020c4000 > > Node 0x4b4: anatop@020c8000 > > Node 0x520: timer@02098000 > > Node 0x594: gpio@0209c000 > > Node 0x668: gpio@020a0000 > > Node 0x71c: gpio@020a4000 > > Node 0x7f0: gpio@020a8000 > > Node 0x8a4: gpio@020ac000 > > Node 0x958: gpio@020b0000 > > Node 0xa0c: gpio@020b4000 > > Node 0xac0: serial@02020000 > > Node 0xb4c: serial@021e8000 > > Node 0xbdc: serial@021ec000 > > Node 0xc6c: serial@021f0000 > > Node 0xcfc: serial@021f4000 > > Node 0xd8c: usbphy@020c9000 > > Node 0xe2c: usbphy@020ca000 > > Node 0xed0: aips@02100000 > > Node 0xf58: ethernet@02188000 > > Node 0xfec: usb@02184000 > > Node 0x1088: usb@02184200 > > Node 0x1124: usb@02184400 > > Node 0x11b4: usb@02184600 > > Node 0x1244: usbmisc@02184800 > > Node 0x12c4: usdhc@02190000 > > Node 0x1368: usdhc@02194000 > > Node 0x1404: usdhc@02198000 > > Node 0x14a8: usdhc@0219c000 > > Node 0x1538: i2c@021a0000 > > Node 0x15d0: i2c@021a4000 > > Node 0x1668: i2c@021a8000 > > Node 0x1700: ocotp@021bc000 > > Node 0x1750: memory > > Node 0x1774: chosen > > > However, the device is not detected on boot. Where do I look next? > > > > > > > On Wed, Jul 2, 2014 at 12:46 PM, Ian Lepore <ian@freebsd.org> wrote: > >> On Sun, 2014-06-29 at 18:47 -0600, Tom Everett wrote: >> > I see that there is an i2c driver for imx on the source tree, and there >> are >> > iic kernel options in /conf/IMX6, commented out. Does anyone know the >> > status of i2c for IMX? >> > >> > >> >> It works. I used it to write values to an i2c eeprom and read them back >> a few weeks ago. I haven't tested any other devices yet. >> >> -- Ian >> >> >> > > > -- > A better world shall emerge based on faith and understanding - Douglas > MacArthur > -- A better world shall emerge based on faith and understanding - Douglas MacArthur [-- Attachment #2 --] --- 11/head/sys/arm/freescale/imx/files.imx6 2014-07-05 19:51:32.483183536 -0600 +++ FreeBSDHead/head/sys/arm/freescale/imx/files.imx6 2014-07-05 17:12:05.183867649 -0600 @@ -52,6 +52,6 @@ #arm/freescale/imx/imx51_iomux.c optional iomux #arm/freescale/imx/imx51_gpio.c optional gpio #dev/ata/chipsets/ata-fsl.c optional imxata -#arm/freescale/imx/i2c.c optional fsliic +arm/freescale/imx/i2c.c optional fsliic #arm/freescale/imx/imx51_ipuv3.c optional sc [-- Attachment #3 --] --- 11/head/sys/arm/conf/IMX6 2014-07-05 19:51:32.273189985 -0600 +++ FreeBSDHead/head/sys/arm/conf/IMX6 2014-07-05 17:10:39.098860564 -0600 @@ -151,8 +151,8 @@ # SoC-specific devices device ffec # Freescale Fast Ethernet Controller -#device fsliic # Freescale i2c/iic (not ready yet) -#device iic # iic protocol -#device iicbus # iic bus +device fsliic # Freescale i2c/iic (not ready yet) +device iic # iic protocol +device iicbus # iic bus #device imxwdt # Watchdog. WARNING: can't be disabled!!! [-- Attachment #4 --] --- 11/head/sys/boot/fdt/dts/arm/imx6.dtsi 2014-07-05 19:51:24.519191819 -0600 +++ FreeBSDHead/head/sys/boot/fdt/dts/arm/imx6.dtsi 2014-07-04 17:05:40.257831398 -0600 @@ -348,6 +348,30 @@ status ="disabled"; }; + i2c@021a0000 { + #address-cells = <1>; + #size-cells = <0>; + compatible = "fsl,imx-i2c"; + reg = <0x021a0000 0x4000>; + interrupt-parent = <&gic>; interrupts = <68>; + }; + + i2c@021a4000 { + #address-cells = <1>; + #size-cells = <0>; + compatible = "fsl,imx-i2c"; + reg = <0x021a4000 0x4000>; + interrupt-parent = <&gic>; interrupts = <69>; + }; + + i2c@021a8000 { + #address-cells = <1>; + #size-cells = <0>; + compatible = "fsl,imx-i2c"; + reg = <0x021a8000 0x4000>; + interrupt-parent = <&gic>; interrupts = <70>; + }; + ocotp0: ocotp@021bc000 { compatible = "fsl,imx6q-ocotp"; reg = <0x021bc000 0x4000>; [-- Attachment #5 --] --- 11/head/sys/boot/fdt/dts/arm/wandboard-quad.dts 2014-07-05 19:51:24.534184060 -0600 +++ FreeBSDHead/head/sys/boot/fdt/dts/arm/wandboard-quad.dts 2014-07-04 19:55:48.569129202 -0600 @@ -71,6 +71,9 @@ usdhc@02194000 { status = "disabled"; }; usdhc@02198000 { status = "okay"; }; usdhc@0219c000 { status = "disabled"; }; + i2c@021a0000 { status = "okay"; }; + i2c@021a4000 { status = "okay"; }; + i2c@021a8000 { status = "okay"; }; }; };help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAB3ij4B21wNwunWy0VQCG2BWAg_gO21ZcxeK7d1Wg7hfMW_4qw>
