On 5/5/2022 4:13 PM, Linus Walleij wrote:
I suppose a general flag could be useful but to be honest I don't know
if any other devices besides the ones using the Broadcom driver has any
use for it. You would probably also still want to be able to use
current-speed to set the link speed and end up using both
current-speed=x and current-speed-auto at the same time, which might
look a little confusing?
I do not think it is more confusing than being able to use
current-speed and brcm,uses-autobaud-mode at the same time.
Please let me know if you'd still prefer "current-speed-auto" over
"brcm,uses-autobaud-mode" and I'll revise the patch and rename it!
It actually depends a bit.
This:
+ The controller should be started in autobaud mode by asserting
+ BT_UART_CTS_N (i.e. host RTS) during startup. Only HCI commands supported
+ in autobaud mode should be used until patch FW has been loaded.
sounds a bit vague?
Yes, perhaps. I was thinking the details could be helpful but I can see
how they might be perceived as vague and confusing. Maybe it would be
better to just leave it at "The controller should be started in autobaud
mode"?
Does it mean that CTS is asserted, then you send a bit (CTS then goes low)
and then CTS is asserted again when the device is ready to receieve more
data? i.e is this some kind of one-bit mode, because it doesn't sound like
it is using CTS as it was used in legacy modems.
CTS and RTS are actually used in the normal way during communication.
The host will assert its RTS to indicate being ready to receive data
from the controller. This flag just controls whether this happens before
or after the controller is powered on. The controller will check the
initial state of its BT_UART_CTS_N pin (connected to host's RTS) when
starting up. It will enter autobaud mode if the signal is already asserted.
Some more explanation of this mode is needed so we can understand if
this is something generic or a BRCM-only thing.
Yours,
Linus Walleij
Thanks,
Håkan