Re: [PATCH v6 2/2] misc: nxp-sr1xx: UWB driver support for sr1xx series chip

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Dec 21, 2022 at 07:12:49AM +0100, Greg KH wrote:
> On Tue, Dec 20, 2022 at 09:17:47PM +0530, Manjunatha Venkatesh wrote:
> > Ultra-wideband (UWB) is a short-range wireless communication protocol.
> > 
> > NXP has SR1XX family of UWB Subsystems (UWBS) devices. SR1XX SOCs
> > are FiRa Compliant. SR1XX SOCs are flash less devices and they need
> > Firmware Download on every device boot. More details on the SR1XX Family
> > can be found at https://www.nxp.com/products/:UWB-TRIMENSION
> > 
> > The sr1xx driver work the SR1XX Family of UWBS, and uses UWB Controller
> > Interface (UCI).  The corresponding details are available in the FiRa
> > Consortium Website (https://www.firaconsortium.org/).
> > 
> > Internally driver will handle two modes of operation.
> > 1.HBCI mode (sr1xx BootROM Code Interface)
> >   Firmware download uses HBCI ptotocol packet structure which is
> >   Nxp proprietary,Firmware File(.bin) stored in user space context
> >   and during device init sequence pick the firmware packet in chunk
> >   and send it to the driver with write() api call.
> > 
> >   After the firmware download sequence at the end UWBS will
> >   send device status notification and its indication of device entered
> >   UCI mode.
> >   Here after any command/response/notification will follow
> >   UCI packet structure.
> > 
> > 2.UCI mode (UWB Command interface)
> >   Once Firmware download finishes sr1xx will switch to UCI mode.
> >   Then driver exchange command/response/notification as per the FIRA UCI
> >   standard format between user space and sr1xx device.
> >   Any response or notification received from sr1xx through SPI line
> >   will convey to user space.
> > 
> >   Its Interrupt based driver and IO Handshake needed with SR1XX Family of
> >   SOCs.
> >   This driver needs dts config update as per the sr1xx data sheet.
> >   Corresponding document available in Documentation/devicetree/bindings/uwb
> > 
[ ... ]
> 
> Also, I see no justification here for why this has to be a kernel
> driver, OR where the userspace code is that controls this.
> 

After seeing all the warnings generated by 0-day after this driver was
applied to chromeos-6.1, my basic question is similar but boils down to:
Why does this need a userspace component to start with, and why wasn't it
implemented as firmware download driver ?

Guenter




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux