MIPS: lantiq: add support for xrx200 firmware depending on soc type

VR9 needs different firmware files for the various phy/soc revisions. Some
boards are ship with older and newer SoC revisions. To be able to boot a single
image on all versions we need to define both firmware files inside the
devicetree.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Signed-off-by: John Crispin <blogic@openwrt.org>
Patchwork: http://patchwork.linux-mips.org/patch/8045/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:
John Crispin 2014-09-10 22:39:19 +02:00 committed by Ralf Baechle
parent 50128fe816
commit 276229d2a9
1 changed files with 22 additions and 1 deletions

View File

@ -24,7 +24,28 @@ static dma_addr_t xway_gphy_load(struct platform_device *pdev)
void *fw_addr;
size_t size;
if (of_property_read_string(pdev->dev.of_node, "firmware", &fw_name)) {
if (of_get_property(pdev->dev.of_node, "firmware1", NULL) ||
of_get_property(pdev->dev.of_node, "firmware2", NULL)) {
switch (ltq_soc_type()) {
case SOC_TYPE_VR9:
if (of_property_read_string(pdev->dev.of_node,
"firmware1", &fw_name)) {
dev_err(&pdev->dev,
"failed to load firmware filename\n");
return 0;
}
break;
case SOC_TYPE_VR9_2:
if (of_property_read_string(pdev->dev.of_node,
"firmware2", &fw_name)) {
dev_err(&pdev->dev,
"failed to load firmware filename\n");
return 0;
}
break;
}
} else if (of_property_read_string(pdev->dev.of_node,
"firmware", &fw_name)) {
dev_err(&pdev->dev, "failed to load firmware filename\n");
return 0;
}