Lorenzo Bianconi <lorenzo@xxxxxxxxxx> writes: >> 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. > > Right, I will fold a patch for it in v2. And remember to CC the devicetree list, we need an ack from them. -- Kalle Valo