[Letux-kernel] [PATCH RFC] bluetooth: add uart h4 devices via serdev/devicetree

Andreas Kemnade andreas at kemnade.info
Wed Nov 14 12:13:12 CET 2018


On Wed, 14 Nov 2018 08:51:17 +0100
Marcel Holtmann <marcel at holtmann.org> wrote:

> Hi Andreas,
> 
> >>>>> Am 12.11.2018 um 21:59 schrieb Andreas Kemnade <andreas at kemnade.info>:
> >>>>> On Sun, 11 Nov 2018 03:46:48 +0100
> >>>>> Sebastian Reichel <sebastian.reichel at collabora.com> wrote:    
> >>>>>> On Sun, Nov 11, 2018 at 12:20:34AM +0100, Andreas Kemnade wrote:    
> >>>>>>> This is a first try to be able to use h4 devices specified in
> >>>>>>> the devicetree, so you do not need to call hciattach and
> >>>>>>> it can be automatically probed.
> >>>>>>> 
> >>>>>>> Of course, proper devicetree bindings documentation is
> >>>>>>> missing. And also you would extend that by regulator/
> >>>>>>> enable gpio settings.
> >>>>>>> 
> >>>>>>> But before proceeding further it should be checked if the
> >>>>>>> general way of doing things is right.
> >>>>>>> 
> >>>>>>> Signed-off-by: Andreas Kemnade <andreas at kemnade.info>
> >>>>>>> ---    
> >>>>>> 
> >>>>>> Patch looks good to me, just one note
> >>>>>>   
> >>>>> I found one thing myself:
> >>>>> Shouldn't we have a generic compatible string like "generic-h4".
> >>>>> ehci-platform.c has for example:
> >>>>>       { .compatible = "generic-ehci", },    
> >>>> 
> >>>> There might be differences in h4 compatible devices (e.g. default
> >>>> baud rate) so that I would not bet there a "generic-h4" suffices
> >>>> in the long run.    
> >> 
> >> It will not because that doesn't define clocks, resets, gpios,
> >> supplies, etc. and the interactions of all those.
> >>   
> > well, we need a simple supply being on when the device is on.
> > Nothing more.
> >   
> >>> My suggestion is to use this in DT:
> >>> 
> >>> compatible = "wi2wi,w2cbw003-bluetooth", "<something generic>";
> >>>   
> > That would be my slight preference here.
> >   
> >>> The driver can start with supporting just the generic compatible
> >>> string. If somebody finds some incompatible differences, the driver
> >>> can add a custom handler for the wi2wi chip without breaking DT
> >>> ABI.    
> >> 
> >> Any idea how many H4 devices there are? Somehow I doubt there are that
> >> many to be unmanageable.
> >>   
> > Well, many devices are h4 devices with some more or less important
> > vendor-specific commands. Well, "hciattach any" uses simple h4 protocol.
> > 
> > those firmware download commands and they have their own drivers.
> > Most devices I had used bluetooth uart from the command line with, were
> > simple enough. The other question is whether those devices will run a
> > modern kernel.
> > 
> > No strong opinion here.   
> 
> doing the firmware load from user space via some magic tool is no longer going to work smoothly. It will be actually almost impossible with serdev. However I did post btuart.c driver which is pretty much just plain H:4. You would still somehow define the default baudraute since just picking 115200 is not always going to work.
> 
Just to avoid some misunderstandings here. With this RFC patch I have only
devices in mind where we do not know any vendor specific commands and
do not need to do any firmware download.

> Btw. I see nothing standing in the way of merging btuart.c driver and then go from there. Either I dig this out and submit or someone else does.
> 
Seems to be a good idea. So in the end I should not continue
that rtc patch?

And that thing has than a devicetree string of
"h4-generic" or a list of generic h4 devices?

Regards,
Andreas
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <http://lists.goldelico.com/pipermail/letux-kernel/attachments/20181114/a9e7e24f/attachment.asc>


More information about the Letux-kernel mailing list