mirror of
https://github.com/u-boot/u-boot.git
synced 2024-11-29 07:33:29 +08:00
imx8m: soc: drop phy-reset-gpios for fec
Need to drop phy-reset-gpios before booting linux, this property is legacy property and replaced with reset-gpios. If provide both, kernel would failed to request the same gpio twice and cause fec not work. Signed-off-by: Peng Fan <peng.fan@nxp.com>
This commit is contained in:
parent
8325ef3d77
commit
1166bd433a
@ -1152,36 +1152,36 @@ static int disable_cpu_nodes(void *blob, u32 disabled_cores)
|
||||
return 0;
|
||||
}
|
||||
|
||||
#if defined(CONFIG_IMX8MM)
|
||||
static int cleanup_nodes_for_efi(void *blob)
|
||||
{
|
||||
static const char * const usbotg_path[] = {
|
||||
"/soc@0/bus@32c00000/usb@32e40000",
|
||||
"/soc@0/bus@32c00000/usb@32e50000"
|
||||
};
|
||||
static const char * const path[][2] = {
|
||||
{ "/soc@0/bus@32c00000/usb@32e40000", "extcon" },
|
||||
{ "/soc@0/bus@32c00000/usb@32e50000", "extcon" },
|
||||
{ "/soc@0/bus@30800000/ethernet@30be0000", "phy-reset-gpios" },
|
||||
{ "/soc@0/bus@30800000/ethernet@30bf0000", "phy-reset-gpios" }
|
||||
};
|
||||
int nodeoff, i, rc;
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(usbotg_path); i++) {
|
||||
nodeoff = fdt_path_offset(blob, usbotg_path[i]);
|
||||
for (i = 0; i < ARRAY_SIZE(path); i++) {
|
||||
nodeoff = fdt_path_offset(blob, path[i][0]);
|
||||
if (nodeoff < 0)
|
||||
continue; /* Not found, skip it */
|
||||
debug("Found %s node\n", usbotg_path[i]);
|
||||
debug("Found %s node\n", path[i][0]);
|
||||
|
||||
rc = fdt_delprop(blob, nodeoff, "extcon");
|
||||
rc = fdt_delprop(blob, nodeoff, path[i][1]);
|
||||
if (rc == -FDT_ERR_NOTFOUND)
|
||||
continue;
|
||||
if (rc) {
|
||||
printf("Unable to update property %s:%s, err=%s\n",
|
||||
usbotg_path[i], "extcon", fdt_strerror(rc));
|
||||
path[i][0], path[i][1], fdt_strerror(rc));
|
||||
return rc;
|
||||
}
|
||||
|
||||
printf("Remove %s:%s\n", usbotg_path[i], "extcon");
|
||||
printf("Remove %s:%s\n", path[i][0], path[i][1]);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
int ft_system_setup(void *blob, struct bd_info *bd)
|
||||
{
|
||||
@ -1277,8 +1277,6 @@ usb_modify_speed:
|
||||
else if (is_imx8mms() || is_imx8mmsl())
|
||||
disable_cpu_nodes(blob, 3);
|
||||
|
||||
cleanup_nodes_for_efi(blob);
|
||||
|
||||
#elif defined(CONFIG_IMX8MN)
|
||||
if (is_imx8mnl() || is_imx8mndl() || is_imx8mnsl())
|
||||
disable_gpu_nodes(blob);
|
||||
@ -1326,6 +1324,7 @@ usb_modify_speed:
|
||||
disable_cpu_nodes(blob, 2);
|
||||
#endif
|
||||
|
||||
cleanup_nodes_for_efi(blob);
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user