Message ID | 20240320075554.8178-2-johan+linaro@kernel.org (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
Series | Bluetooth: qca: fix device-address endianness | expand |
On Wed, 20 Mar 2024 08:55:51 +0100, Johan Hovold wrote: > Several Qualcomm Bluetooth controllers lack persistent storage for the > device address and instead one can be provided by the boot firmware > using the 'local-bd-address' devicetree property. > > The Bluetooth bindings clearly states that the address should be > specified in little-endian order, but due to a long-standing bug in the > Qualcomm driver which reversed the address some boot firmware has been > providing the address in big-endian order instead. > > The only device out there that should be affected by this is the WCN3991 > used in some Chromebooks. > > Add a 'qcom,local-bd-address-broken' property which can be set on these > platforms to indicate that the boot firmware is using the wrong byte > order. > > Note that ChromeOS always updates the kernel and devicetree in lockstep > so that there is no need to handle backwards compatibility with older > devicetrees. > > Reviewed-by: Douglas Anderson <dianders@chromium.org> > Signed-off-by: Johan Hovold <johan+linaro@kernel.org> > --- > .../devicetree/bindings/net/bluetooth/qualcomm-bluetooth.yaml | 4 ++++ > 1 file changed, 4 insertions(+) > Reviewed-by: Rob Herring <robh@kernel.org>
diff --git a/Documentation/devicetree/bindings/net/bluetooth/qualcomm-bluetooth.yaml b/Documentation/devicetree/bindings/net/bluetooth/qualcomm-bluetooth.yaml index eba2f3026ab0..fdaea08e7442 100644 --- a/Documentation/devicetree/bindings/net/bluetooth/qualcomm-bluetooth.yaml +++ b/Documentation/devicetree/bindings/net/bluetooth/qualcomm-bluetooth.yaml @@ -94,6 +94,10 @@ properties: local-bd-address: true + qcom,local-bd-address-broken: + type: boolean + description: + boot firmware is incorrectly passing the address in big-endian order required: - compatible