On Mon, 18 Mar 2024 at 13:09, Johan Hovold <johan+linaro@xxxxxxxxxx> 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 says 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 bootloaders have 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. To maintain backwards compatibility, mark the > current compatible string as deprecated and add a new > 'qcom,wcn3991-bt-bdaddr-le' for firmware which conforms with the > binding. > > Signed-off-by: Johan Hovold <johan+linaro@xxxxxxxxxx> > --- > .../net/bluetooth/qualcomm-bluetooth.yaml | 29 +++++++++++-------- > 1 file changed, 17 insertions(+), 12 deletions(-) > > diff --git a/Documentation/devicetree/bindings/net/bluetooth/qualcomm-bluetooth.yaml b/Documentation/devicetree/bindings/net/bluetooth/qualcomm-bluetooth.yaml > index eba2f3026ab0..b6fce6d02138 100644 > --- a/Documentation/devicetree/bindings/net/bluetooth/qualcomm-bluetooth.yaml > +++ b/Documentation/devicetree/bindings/net/bluetooth/qualcomm-bluetooth.yaml > @@ -15,18 +15,22 @@ description: > > properties: > compatible: > - enum: > - - qcom,qca2066-bt > - - qcom,qca6174-bt > - - qcom,qca9377-bt > - - qcom,wcn3988-bt > - - qcom,wcn3990-bt > - - qcom,wcn3991-bt > - - qcom,wcn3998-bt > - - qcom,qca6390-bt > - - qcom,wcn6750-bt > - - qcom,wcn6855-bt > - - qcom,wcn7850-bt > + oneOf: > + - enum: > + - qcom,qca2066-bt > + - qcom,qca6174-bt > + - qcom,qca9377-bt > + - qcom,wcn3988-bt > + - qcom,wcn3990-bt > + - qcom,wcn3991-bt-bdaddr-le This compatible doesn't describe new hardware kind. As such, I think, the better way would be to continue using qcom,wcn3991-bt compatible string + add some kind of qcom,bt-addr-le property. > + - qcom,wcn3998-bt > + - qcom,qca6390-bt > + - qcom,wcn6750-bt > + - qcom,wcn6855-bt > + - qcom,wcn7850-bt > + - enum: > + - qcom,wcn3991-bt > + deprecated: true > > enable-gpios: > maxItems: 1 > @@ -122,6 +126,7 @@ allOf: > - qcom,wcn3988-bt > - qcom,wcn3990-bt > - qcom,wcn3991-bt > + - qcom,wcn3991-bt-bdaddr-le > - qcom,wcn3998-bt > then: > required: > -- > 2.43.2 > > -- With best wishes Dmitry