Lorenzo Bianconi <lorenzo@xxxxxxxxxx> writes: > mt76x0e users reported some devices (e.g TP-Link Archer VR200v) have > been flashed with big endian radio partition. Add the possibility to > specify eeprom endianness using big-endian dts property and in case > covert eeprom data in little endian > > Tested-by: Kevin Schmidt <kevin.patrick.schmidt@xxxxxxxxxxxxxx> > Signed-off-by: Lorenzo Bianconi <lorenzo@xxxxxxxxxx> > --- > drivers/net/wireless/mediatek/mt76/eeprom.c | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/drivers/net/wireless/mediatek/mt76/eeprom.c b/drivers/net/wireless/mediatek/mt76/eeprom.c > index 804224e81103..33d992d5662a 100644 > --- a/drivers/net/wireless/mediatek/mt76/eeprom.c > +++ b/drivers/net/wireless/mediatek/mt76/eeprom.c > @@ -64,6 +64,16 @@ mt76_get_of_eeprom(struct mt76_dev *dev, int len) > goto out_put_node; > } > > + if (of_property_read_bool(dev->dev->of_node, "big-endian")) { > + u8 *data = (u8 *)dev->eeprom.data; > + int i; > + > + /* convert eeprom data in Little Endian */ > + for (i = 0; i < round_down(len, 2); i += 2) > + put_unaligned_le16(get_unaligned_be16(&data[i]), > + &data[i]); > + } What about the bindings documentation? I don't see this "big-endian" documented in the mt76 doc, at least. -- https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches