[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <cdb243d7-af84-b647-ee29-e4d4ab04834b@collabora.com>
Date: Sat, 23 Apr 2022 17:12:24 +0300
From: Dmitry Osipenko <dmitry.osipenko@...labora.com>
To: Linus Walleij <linus.walleij@...aro.org>
Cc: Johan Hovold <johan@...nel.org>, Rob Herring <robh+dt@...nel.org>,
David Heidelberg <david.heidelberg@...labora.com>,
Svyatoslav Ryhel <clamor95@...il.com>,
linux-kernel@...r.kernel.org, devicetree@...r.kernel.org
Subject: Re: [PATCH] dt-bindings: gnss: Add Broacom BCM4751 family bindings
On 4/23/22 00:50, Linus Walleij wrote:
> On Mon, Apr 18, 2022 at 1:19 PM Dmitry Osipenko
> <dmitry.osipenko@...labora.com> 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 :)
Powered by blists - more mailing lists