Date: Mon, 18 Mar 2019 14:51:59 -0500 From: Jedi Tek'Unum <jedi@jeditekunum.com> To: Ian Lepore <ian@freebsd.org> Cc: freebsd-arm@freebsd.org Subject: Re: Options for FBSD support with LCD device - new project Message-ID: <C68D7E6E-03C1-448F-8638-8BD1717DBF44@jeditekunum.com> 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
My impression wasn=E2=80=99t that support wasn=E2=80=99t there - but = =E2=80=9Cout of the box=E2=80=9D configuration wasn=E2=80=99t there. In = comparison, I didn=E2=80=99t have to do anything to get I2C enabled in = the binary distribution of Linux that comes through the manufacturer. Its the enabling part that isn=E2=80=99t obvious to most people IMO. Documentation/wiki is great. But even better would be all the enabling = overlays already in place and the entries in loader.conf already there = and commented out. It would be so much easier to go to a =E2=80=9Ccommon = place=E2=80=9D (loader.conf), skim through the notes, find the thing = that one wants, and then just uncomment the referenced line! (Or any = other similarly easy method.) For FBSD to get a better foothold in this space it needs to be better = documented. For example, the wiki for NEO2 = <http://wiki.friendlyarm.com/wiki/index.php/NanoPi_NEO2> is a = step-by-step guide for how to acquire and configure Linux for it. > On Mar 18, 2019, at 2:13 PM, 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. >=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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?C68D7E6E-03C1-448F-8638-8BD1717DBF44>