On 4/23/22 00:50, Linus Walleij wrote: > On Mon, Apr 18, 2022 at 1:19 PM Dmitry Osipenko > <dmitry.osipenko@xxxxxxxxxxxxx> wrote: > >> What are the chances of seeing the kernel driver for BCM4751+? > > The kernel does not normally drive the GPS. The kernel has a small driver > dealing with hardware power on/off of the GPS and exposing > /dev/gnss0 to userspace. > > See Johans lecture at: > https://events19.linuxfoundation.org/wp-content/uploads/2017/12/The-GNSS-Subsystem-Johan-Hovold-Hovold-Consulting-AB.pdf IIUC, driver also should be needed for the firmware uploading, similarly to the BCM WiFi/BT chips, isn't it? >> There are >> myriads of Android devices using that GPS chip. Previously the >> proprietary firmware interface of BCM4751 was an obstacle for addition >> of the driver to upstream kernel, did anything change? > > Actually there is nothing stopping us from anyway merging device tree > bindings, even if no driver is on the horizon for Linux. The DT bindings > are not a Linux kernel thing. Actually we merged bindings like that in > the past. It makes it possible to create complete device trees, which > is nice. A driver for Linux can be slotted in at a later point. > > Anyway, that is the boring answer. > > Many if not all GPS:es (as all Wireless chips) have proprietary firmware > interfaces. This is normal. GPS:es are special since by tradition the > stack using them is in userspace. There exist free software userspace > stacks for misc GPS:es. > > gpsd is the most common userspace daemon for GPS. > gpsd will then talk to /dev/gnss0 as any other TTY IIUC. > > Replicant has a free implementation of the "MEIF" API for this GPS, > I think what is needed is really for someone to pick up, polish and > contribute that to gpsd > https://git.replicant.us/contrib/PaulK/bcm4751/ My main curiosity is about whether you already have a working driver prototype, something you could share with us all, so we could start playing with it too :)