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 > 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/ Yours, Linus Walleij