mirror of
https://github.com/outbackdingo/mt76.git
synced 2026-10-24 13:26:48 +00:00
mt76: eeprom: add support for big endian eeprom partition
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 <[email protected]> Signed-off-by: Lorenzo Bianconi <[email protected]> Signed-off-by: Felix Fietkau <[email protected]>
This commit is contained in:
committed by
Felix Fietkau
parent
19c8e20c55
commit
96c7b07d7e
@@ -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]);
|
||||
}
|
||||
|
||||
out_put_node:
|
||||
of_node_put(np);
|
||||
return ret;
|
||||
|
||||
Reference in New Issue
Block a user