lkml.org 
[lkml]   [2018]   [Mar]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v4 2/3] dt-bindings: net: bluetooth: Add qualcomm-bluetooth
Hi Thierry,

On Thu, Mar 15, 2018 at 12:07:44PM +0100, Thierry Escande wrote:
> > > BT_DISABLE_N is the name of this pin in the datasheet of the QCA chip,
> > > not on the board, so this name is the same regardless of what you name
> > > the line or gpio your board connect it to.
> >
> > and QCA chip v1 and QCA chip v2 will use the same driver and
> > same firmware loading mechanism. So why do we have to add a new
> > GPIO naming if they decide to change the name in the data sheet.
> > With Bluetooth it is pretty much all the same. Every UART chip
> > has a shutdown/reset GPIO to enable/disable the chip behind the
> > UART.
> >
> > > > A new board should not require driver changes, you just ship a new DT
> > > > for that board and an existing driver hopefully just does the job. No
> > > > matter how someone named a GPIO in a piece of paper.
> > > >
> > >
> > > I totally agree with the fact that the board should not affect the
> > > naming of the gpio in the driver. But I do enjoy when we refer to pins
> > > by their real name - instead of having to guess which pin in the _chip_
> > > specification the driver actually refer to.
> > >
> > >
> > > That said, what name would you prefer for this?
> > >
> > > Afaict this is not "wakeup" and there are a few extra steps between the
> > > disabled state and "bluetooth is enabled", so "enable" feels slightly
> > > wrong. And it probably should be "bluetooth" and not just "device" as
> > > this refers to a pin on a WiFi/BT combo chip.
> >
> > The Broadcom side called it shutdown GPIO, it is essentially the
> > shutdown/reset GPIO or power on/off GPIO. Personally I do not
> > care what it is named, but it will be all the same for all
> > Bluetooth chips. Take a poll from Broadcom, Intel, Realtek and
> > Qualcomm and you can pick a reasonable common name.
>
> The Nokia driver has "bluetooth-wakeup" gpio. The Broadcom one has
> "device-wakeup" and "shutdown". The "shutdown" gpio is set to its active
> state to power on the chip which sounds reversed logic. Same for the
> "bt-disable-n" gpio in the Qualcomm driver, configured as ACTIVE_HIGH, and
> which is set to 1 to enable it...
>
> So for consistency, naming it as "shutdown" to stick to the bcm driver but
> it should be configured as ACTIVE_LOW in the dts so we actually do a
> gpiod_set_value(0) to un-shutdown it. Does that sound ok?

FWIW you picked the wrong gpio from the nokia bluetooth binding. The
gpio for shutdown would be "reset". The "bluetooth-wakeup" is
required for normal operation to exit idle mode. The "reset" name
used by the nokia binding is quite common for DT:

Documentation/devicetree/bindings $ git grep reset-gpios | wc -l
212

I guess it only makes sense when the device is actually being
reset, though (i.e. for Nokia the settings are back to defaults
and you need to re-upload the FW).

-- Sebastian

> Regards,
> Thierry
>
> > For the wakeup GPIOs, these are different and depend on if there
> > is some low-power mode provided. You would need to check the
> > data sheet to see if they provide more advanced low-power state
> > handling.
> >
> > Regards
> >
> > Marcel
> >
> --
> To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
[unhandled content-type:application/pgp-signature]
\
 
 \ /
  Last update: 2018-03-15 14:47    [W:1.969 / U:0.244 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site