mirror of
https://github.com/outbackdingo/mt76.git
synced 2026-10-24 13:26:48 +00:00
mt76: support reading EEPROM data embedded in fdt
Some platforms boot from SD card and don't come with calibration data stored anywhere on the board. As EEPROM data is rather small it can be embedded into the device tree to be loaded from there by the mt76. Signed-off-by: Daniel Golle <[email protected]> Signed-off-by: Felix Fietkau <[email protected]>
This commit is contained in:
committed by
Felix Fietkau
parent
69bb59df89
commit
03a9926453
@@ -15,6 +15,7 @@ int mt76_get_of_eeprom(struct mt76_dev *dev, void *eep, int offset, int len)
|
||||
struct device_node *np = dev->dev->of_node;
|
||||
struct mtd_info *mtd;
|
||||
const __be32 *list;
|
||||
const void *data;
|
||||
const char *part;
|
||||
phandle phandle;
|
||||
int size;
|
||||
@@ -24,6 +25,16 @@ int mt76_get_of_eeprom(struct mt76_dev *dev, void *eep, int offset, int len)
|
||||
if (!np)
|
||||
return -ENOENT;
|
||||
|
||||
data = of_get_property(np, "mediatek,eeprom-data", &size);
|
||||
if (data) {
|
||||
if (size > len)
|
||||
return -EINVAL;
|
||||
|
||||
memcpy(eep, data, size);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
list = of_get_property(np, "mediatek,mtd-eeprom", &size);
|
||||
if (!list)
|
||||
return -ENOENT;
|
||||
|
||||
Reference in New Issue
Block a user