Date: Tue, 19 Mar 2019 08:28:24 +0200 From: Daniel Braniss <danny@cs.huji.ac.il> To: Ian Lepore <ian@freebsd.org> Cc: Jedi Tek'Unum <jedi@jeditekunum.com>, freebsd-arm@freebsd.org Subject: Re: Options for FBSD support with LCD device - new project Message-ID: <C47DE503-1E0E-4475-B62B-0055D2A582E7@cs.huji.ac.il> In-Reply-To: <004ddba628b94b80845d8e509ddcb648d21fd6c9.camel@freebsd.org> References: <ad61a598-53af-02a5-41db-0128da7d1a34@optiplex-networks.com> <CAF19XBLAjP4yKtGSBzA4QdT346Bnbnr8MutQNZgmERLbJkWAyA@mail.gmail.com> <8df902f6-20a3-31c4-71ac-91f5d5fdf50d@optiplex-networks.com> <0ecf23e129ca7ac6a92a01bbb34c03f1ac8c6dc8.camel@freebsd.org> <e5d42c67-e1f2-ede1-965f-c89226de46da@optiplex-networks.com> <89f5b8d1ab0614ac8d88b5d5f1afc63e640c3c17.camel@freebsd.org> <4EB5C6C1-7DB9-4DEE-BB23-CD1259581271@jeditekunum.com> <004ddba628b94b80845d8e509ddcb648d21fd6c9.camel@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
> On 18 Mar 2019, at 21:13, Ian Lepore <ian@freebsd.org> wrote: >=20 > On Mon, 2019-03-18 at 13:59 -0500, Jedi Tek'Unum wrote: >> I=E2=80=99ve been lurking here for some time. Long time (commercial) = unix >> expert. Not much FBSD. >>=20 >> I=E2=80=99m running Linux right now on NanoPi NEO (Allwinner H3) and = NEO 2 >> (Allwinner H5). Not because I love Linux (I don=E2=80=99t) but = because it >> works out of the box including I2C. I=E2=80=99d really like to use = FBSD on >> them. I hope that they will reach the same maturity as BB soon. >>=20 >> Perhaps I=E2=80=99m wrong but my impression following this list and = searching >> around is that I2C and SPI are not =E2=80=9Cout of the box=E2=80=9D = with FBSD on >> these platforms. >>=20 >> I=E2=80=99m not all that familiar with FDT. I=E2=80=99d like to learn = how to master >> it. If I understood it better I could probably bring anything I >> needed to life. BUT, that is back burner to actually completing the >> projects I=E2=80=99m trying to complete (where I just need I2C access = from >> user land). I really need those things to just work out of the box >> for now - or have clear instructions on how to enable. >>=20 >> In short I can=E2=80=99t use FBSD yet because it doesn=E2=80=99t = appear ready for >> these kinds of apps on these devices. I greatly appreciate all the >> effort that has and is going on to get there. If I had the knowledge >> I=E2=80=99d love to help, but I don=E2=80=99t currently. >>=20 >> Perhaps I=E2=80=99ve just not searched and read enough to find the = jewel >> document that explains all the FDT magic in sufficient detail. By >> that I mean *current* FDT magic (which is another confusing aspect as >> things seem to be in flux). >>=20 >> Any advice on these matters greatly appreciated. >>=20 >>=20 >=20 > I'm not sure what would give you that impression about i2c and spi. I > belive they're well-supported on virtually every arm SOC we have any > support for at all (except maybe amlogic/odroid and exynos, both of > which are rapidly bitrootting from neglect). We have command-line > tools to read and write data to i2c and spi devices from userland, as > well as programmatic interfaces using ioctl() for higher-performance > needs like a rasterized spi display. >=20 > I'm the person who does most of the i2c and spi driver work for all of > freebsd (not just arm), and it's something we use heavily in our > products at $work, so I tend to stay on top of it. I have several allwinner SoC, mainly from FriendlyArm, and neither i2c = or SPI work. I have a hacked i2c that mostly works, but hangs sometimes :-), mainly timing issues of which I have no idea how to fix. I=E2=80=99m willing to help here but my knowledge of the twsi tends to = zero. hint hint =E2=80=A6 cheers, danny >=20 > To enable i2c or spi on any given platform, you usually do have to > touch some FDT code along the way. That's because almost always, the > pins used by i2c or spi can be used for other things as well, so the > default config (which we get by importing fdt source code from linux) > usually isn't set up to enable those devices. >=20 > To enable them you typically have to write and compile a small dts > overlay and set a variable in /boot/loader.conf to have that overlay > loaded at boot time. None of that is hard, but there is quite a bit = to > explain, more than I can do right here in this email in the middle of = a > $work day. I guess maybe I should write a wiki page for it. >=20 > -- Ian >=20 > _______________________________________________ > freebsd-arm@freebsd.org <mailto:freebsd-arm@freebsd.org> mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-arm = <https://lists.freebsd.org/mailman/listinfo/freebsd-arm> > To unsubscribe, send any mail to "freebsd-arm-unsubscribe@freebsd.org = <mailto:freebsd-arm-unsubscribe@freebsd.org>"
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?C47DE503-1E0E-4475-B62B-0055D2A582E7>