[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <86A3A2E6-FC89-42FE-8410-9C8273EC9CF7@holtmann.org>
Date: Wed, 14 Nov 2018 08:51:17 +0100
From: Marcel Holtmann <marcel@...tmann.org>
To: Andreas Kemnade <andreas@...nade.info>
Cc: Rob Herring <robh@...nel.org>, sebastian.reichel@...labora.com,
hns@...delico.com, devicetree@...r.kernel.org,
Johan Hedberg <johan.hedberg@...il.com>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
linux-bluetooth@...r.kernel.org, letux-kernel@...nphoenux.org
Subject: Re: [Letux-kernel] [PATCH RFC] bluetooth: add uart h4 devices via
serdev/devicetree
Hi Andreas,
>>>>> Am 12.11.2018 um 21:59 schrieb Andreas Kemnade <andreas@...nade.info>:
>>>>> On Sun, 11 Nov 2018 03:46:48 +0100
>>>>> Sebastian Reichel <sebastian.reichel@...labora.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@...nade.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.
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.
Regards
Marcel
Powered by blists - more mailing lists