distro bootcmd: enumerate PCI before network operations
The PCI bus must be enumerated before PCI devices, such as Ethernet devices, are known to U-Boot. Enhance the distro boot commands to perform PCI enumeration when needed. Signed-off-by: Stephen Warren <swarren@nvidia.com> Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
3483b75d94
commit
986691fb97
@ -349,6 +349,14 @@ boot_net_usb_start:
|
|||||||
device is not attached to USB, and you wish to increase boot speed by
|
device is not attached to USB, and you wish to increase boot speed by
|
||||||
avoiding unnecessary actions.
|
avoiding unnecessary actions.
|
||||||
|
|
||||||
|
boot_net_pci_enum:
|
||||||
|
|
||||||
|
If you want to prevent PCI enumeration by distro boot commands which execute
|
||||||
|
network operations, set the value to something innocuous, e.g. setenv
|
||||||
|
boot_net_pci_enum true. This would be useful if you know your Ethernet
|
||||||
|
device is not attached to PCI, and you wish to increase boot speed by
|
||||||
|
avoiding unnecessary actions.
|
||||||
|
|
||||||
Interactively booting from a specific device at the u-boot prompt
|
Interactively booting from a specific device at the u-boot prompt
|
||||||
=================================================================
|
=================================================================
|
||||||
|
|
||||||
|
@ -139,6 +139,15 @@
|
|||||||
BOOT_TARGET_DEVICES_references_IDE_without_CONFIG_CMD_IDE
|
BOOT_TARGET_DEVICES_references_IDE_without_CONFIG_CMD_IDE
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(CONFIG_CMD_PCI_ENUM) || defined(CONFIG_DM_PCI)
|
||||||
|
#define BOOTENV_RUN_NET_PCI_ENUM "run boot_net_pci_enum; "
|
||||||
|
#define BOOTENV_SHARED_PCI \
|
||||||
|
"boot_net_pci_enum=pci enum\0"
|
||||||
|
#else
|
||||||
|
#define BOOTENV_RUN_NET_PCI_ENUM
|
||||||
|
#define BOOTENV_SHARED_PCI
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_CMD_USB
|
#ifdef CONFIG_CMD_USB
|
||||||
#define BOOTENV_RUN_NET_USB_START "run boot_net_usb_start; "
|
#define BOOTENV_RUN_NET_USB_START "run boot_net_usb_start; "
|
||||||
#define BOOTENV_SHARED_USB \
|
#define BOOTENV_SHARED_USB \
|
||||||
@ -161,6 +170,7 @@
|
|||||||
#define BOOTENV_DEV_DHCP(devtypeu, devtypel, instance) \
|
#define BOOTENV_DEV_DHCP(devtypeu, devtypel, instance) \
|
||||||
"bootcmd_dhcp=" \
|
"bootcmd_dhcp=" \
|
||||||
BOOTENV_RUN_NET_USB_START \
|
BOOTENV_RUN_NET_USB_START \
|
||||||
|
BOOTENV_RUN_NET_PCI_ENUM \
|
||||||
"if dhcp ${scriptaddr} ${boot_script_dhcp}; then " \
|
"if dhcp ${scriptaddr} ${boot_script_dhcp}; then " \
|
||||||
"source ${scriptaddr}; " \
|
"source ${scriptaddr}; " \
|
||||||
"fi\0"
|
"fi\0"
|
||||||
@ -177,6 +187,7 @@
|
|||||||
#define BOOTENV_DEV_PXE(devtypeu, devtypel, instance) \
|
#define BOOTENV_DEV_PXE(devtypeu, devtypel, instance) \
|
||||||
"bootcmd_pxe=" \
|
"bootcmd_pxe=" \
|
||||||
BOOTENV_RUN_NET_USB_START \
|
BOOTENV_RUN_NET_USB_START \
|
||||||
|
BOOTENV_RUN_NET_PCI_ENUM \
|
||||||
"dhcp; " \
|
"dhcp; " \
|
||||||
"if pxe get; then " \
|
"if pxe get; then " \
|
||||||
"pxe boot; " \
|
"pxe boot; " \
|
||||||
@ -200,6 +211,7 @@
|
|||||||
#define BOOTENV \
|
#define BOOTENV \
|
||||||
BOOTENV_SHARED_HOST \
|
BOOTENV_SHARED_HOST \
|
||||||
BOOTENV_SHARED_MMC \
|
BOOTENV_SHARED_MMC \
|
||||||
|
BOOTENV_SHARED_PCI \
|
||||||
BOOTENV_SHARED_USB \
|
BOOTENV_SHARED_USB \
|
||||||
BOOTENV_SHARED_SATA \
|
BOOTENV_SHARED_SATA \
|
||||||
BOOTENV_SHARED_SCSI \
|
BOOTENV_SHARED_SCSI \
|
||||||
|
Loading…
Reference in New Issue
Block a user