diff options
54 files changed, 158 insertions, 52 deletions
@@ -1603,6 +1603,15 @@ The following options need to be configured: See doc/README.link-local for more information. + - MAC address from environment variables + + FDT_SEQ_MACADDR_FROM_ENV + + Fix-up device tree with MAC addresses fetched sequentially from + environment variables. This config work on assumption that + non-usable ethernet node of device-tree are either not present + or their status has been marked as "disabled". + - CDP Options: CONFIG_CDP_DEVICE_ID @@ -2168,16 +2177,6 @@ The following options need to be configured: currently only supports clearing the memory. - Error Recovery: - CONFIG_PANIC_HANG - - Define this variable to stop the system in case of a - fatal error, so that you have to reset it manually. - This is probably NOT a good idea for an embedded - system where you want the system to reboot - automatically as fast as possible, but it may be - useful during development since you can try to debug - the conditions that lead to the situation. - CONFIG_NET_RETRY_COUNT This variable defines the number of retries for diff --git a/arch/arm/cpu/armv8/fsl-layerscape/Kconfig b/arch/arm/cpu/armv8/fsl-layerscape/Kconfig index 66bc32cc851..6c03dfb1d58 100644 --- a/arch/arm/cpu/armv8/fsl-layerscape/Kconfig +++ b/arch/arm/cpu/armv8/fsl-layerscape/Kconfig @@ -11,6 +11,7 @@ config ARCH_LS1012A select SYS_FSL_ERRATUM_A009008 select ARCH_EARLY_INIT_R select BOARD_EARLY_INIT_F + imply PANIC_HANG config ARCH_LS1043A bool @@ -91,6 +92,7 @@ config ARCH_LS1088A select ARCH_EARLY_INIT_R select BOARD_EARLY_INIT_F imply SCSI + imply PANIC_HANG config ARCH_LS2080A bool @@ -129,6 +131,7 @@ config ARCH_LS2080A select SYS_FSL_ERRATUM_A009203 select ARCH_EARLY_INIT_R select BOARD_EARLY_INIT_F + imply PANIC_HANG config FSL_LSCH2 bool diff --git a/arch/arm/lib/bootm-fdt.c b/arch/arm/lib/bootm-fdt.c index eaa817b9ac8..fcc2a0e2146 100644 --- a/arch/arm/lib/bootm-fdt.c +++ b/arch/arm/lib/bootm-fdt.c @@ -25,6 +25,13 @@ DECLARE_GLOBAL_DATA_PTR; +#ifdef CONFIG_FMAN_ENET +__weak int fdt_update_ethernet_dt(void *blob) +{ + return 0; +} +#endif + int arch_fixup_fdt(void *blob) { int ret = 0; @@ -64,5 +71,10 @@ int arch_fixup_fdt(void *blob) #endif #endif +#ifdef CONFIG_FMAN_ENET + ret = fdt_update_ethernet_dt(blob); + if (ret) + return ret; +#endif return 0; } diff --git a/arch/powerpc/cpu/mpc85xx/Kconfig b/arch/powerpc/cpu/mpc85xx/Kconfig index 5df8175f1ed..19e8d02bf4f 100644 --- a/arch/powerpc/cpu/mpc85xx/Kconfig +++ b/arch/powerpc/cpu/mpc85xx/Kconfig @@ -29,6 +29,7 @@ config TARGET_B4420QDS select ARCH_B4420 select SUPPORT_SPL select PHYS_64BIT + imply PANIC_HANG config TARGET_B4860QDS bool "Support B4860QDS" @@ -36,6 +37,7 @@ config TARGET_B4860QDS select BOARD_LATE_INIT if CHAIN_OF_TRUST select SUPPORT_SPL select PHYS_64BIT + imply PANIC_HANG config TARGET_BSC9131RDB bool "Support BSC9131RDB" @@ -57,6 +59,7 @@ config TARGET_C29XPCIE select SUPPORT_SPL select SUPPORT_TPL select PHYS_64BIT + imply PANIC_HANG config TARGET_P3041DS bool "Support P3041DS" @@ -64,6 +67,7 @@ config TARGET_P3041DS select ARCH_P3041 select BOARD_LATE_INIT if CHAIN_OF_TRUST imply CMD_SATA + imply PANIC_HANG config TARGET_P4080DS bool "Support P4080DS" @@ -71,6 +75,7 @@ config TARGET_P4080DS select ARCH_P4080 select BOARD_LATE_INIT if CHAIN_OF_TRUST imply CMD_SATA + imply PANIC_HANG config TARGET_P5020DS bool "Support P5020DS" @@ -78,6 +83,7 @@ config TARGET_P5020DS select ARCH_P5020 select BOARD_LATE_INIT if CHAIN_OF_TRUST imply CMD_SATA + imply PANIC_HANG config TARGET_P5040DS bool "Support P5040DS" @@ -85,6 +91,7 @@ config TARGET_P5040DS select ARCH_P5040 select BOARD_LATE_INIT if CHAIN_OF_TRUST imply CMD_SATA + imply PANIC_HANG config TARGET_MPC8536DS bool "Support MPC8536DS" @@ -101,6 +108,7 @@ config TARGET_MPC8541CDS config TARGET_MPC8544DS bool "Support MPC8544DS" select ARCH_MPC8544 + imply PANIC_HANG config TARGET_MPC8548CDS bool "Support MPC8548CDS" @@ -124,6 +132,7 @@ config TARGET_MPC8572DS # Use DDR3 controller with DDR2 DIMMs on this board select SYS_FSL_DDRC_GEN3 imply SCSI + imply PANIC_HANG config TARGET_P1010RDB_PA bool "Support P1010RDB_PA" @@ -133,6 +142,7 @@ config TARGET_P1010RDB_PA select SUPPORT_TPL imply CMD_EEPROM imply CMD_SATA + imply PANIC_HANG config TARGET_P1010RDB_PB bool "Support P1010RDB_PB" @@ -142,6 +152,7 @@ config TARGET_P1010RDB_PB select SUPPORT_TPL imply CMD_EEPROM imply CMD_SATA + imply PANIC_HANG config TARGET_P1022DS bool "Support P1022DS" @@ -155,6 +166,7 @@ config TARGET_P1023RDB bool "Support P1023RDB" select ARCH_P1023 imply CMD_EEPROM + imply PANIC_HANG config TARGET_P1020MBG bool "Support P1020MBG-PC" @@ -163,6 +175,7 @@ config TARGET_P1020MBG select ARCH_P1020 imply CMD_EEPROM imply CMD_SATA + imply PANIC_HANG config TARGET_P1020RDB_PC bool "Support P1020RDB-PC" @@ -171,6 +184,7 @@ config TARGET_P1020RDB_PC select ARCH_P1020 imply CMD_EEPROM imply CMD_SATA + imply PANIC_HANG config TARGET_P1020RDB_PD bool "Support P1020RDB-PD" @@ -179,6 +193,7 @@ config TARGET_P1020RDB_PD select ARCH_P1020 imply CMD_EEPROM imply CMD_SATA + imply PANIC_HANG config TARGET_P1020UTM bool "Support P1020UTM" @@ -187,6 +202,7 @@ config TARGET_P1020UTM select ARCH_P1020 imply CMD_EEPROM imply CMD_SATA + imply PANIC_HANG config TARGET_P1021RDB bool "Support P1021RDB" @@ -195,6 +211,7 @@ config TARGET_P1021RDB select ARCH_P1021 imply CMD_EEPROM imply CMD_SATA + imply PANIC_HANG config TARGET_P1024RDB bool "Support P1024RDB" @@ -203,6 +220,7 @@ config TARGET_P1024RDB select ARCH_P1024 imply CMD_EEPROM imply CMD_SATA + imply PANIC_HANG config TARGET_P1025RDB bool "Support P1025RDB" @@ -256,6 +274,7 @@ config TARGET_T1023RDB select SUPPORT_SPL select PHYS_64BIT imply CMD_EEPROM + imply PANIC_HANG config TARGET_T1024RDB bool "Support T1024RDB" @@ -264,6 +283,7 @@ config TARGET_T1024RDB select SUPPORT_SPL select PHYS_64BIT imply CMD_EEPROM + imply PANIC_HANG config TARGET_T1040QDS bool "Support T1040QDS" @@ -272,6 +292,7 @@ config TARGET_T1040QDS select PHYS_64BIT imply CMD_EEPROM imply CMD_SATA + imply PANIC_HANG config TARGET_T1040RDB bool "Support T1040RDB" @@ -280,6 +301,7 @@ config TARGET_T1040RDB select SUPPORT_SPL select PHYS_64BIT imply CMD_SATA + imply PANIC_HANG config TARGET_T1040D4RDB bool "Support T1040D4RDB" @@ -288,6 +310,7 @@ config TARGET_T1040D4RDB select SUPPORT_SPL select PHYS_64BIT imply CMD_SATA + imply PANIC_HANG config TARGET_T1042RDB bool "Support T1042RDB" @@ -304,6 +327,7 @@ config TARGET_T1042D4RDB select SUPPORT_SPL select PHYS_64BIT imply CMD_SATA + imply PANIC_HANG config TARGET_T1042RDB_PI bool "Support T1042RDB_PI" @@ -312,6 +336,7 @@ config TARGET_T1042RDB_PI select SUPPORT_SPL select PHYS_64BIT imply CMD_SATA + imply PANIC_HANG config TARGET_T2080QDS bool "Support T2080QDS" @@ -328,6 +353,7 @@ config TARGET_T2080RDB select SUPPORT_SPL select PHYS_64BIT imply CMD_SATA + imply PANIC_HANG config TARGET_T2081QDS bool "Support T2081QDS" @@ -342,12 +368,14 @@ config TARGET_T4160QDS select SUPPORT_SPL select PHYS_64BIT imply CMD_SATA + imply PANIC_HANG config TARGET_T4160RDB bool "Support T4160RDB" select ARCH_T4160 select SUPPORT_SPL select PHYS_64BIT + imply PANIC_HANG config TARGET_T4240QDS bool "Support T4240QDS" @@ -356,6 +384,7 @@ config TARGET_T4240QDS select SUPPORT_SPL select PHYS_64BIT imply CMD_SATA + imply PANIC_HANG config TARGET_T4240RDB bool "Support T4240RDB" @@ -363,6 +392,7 @@ config TARGET_T4240RDB select SUPPORT_SPL select PHYS_64BIT imply CMD_SATA + imply PANIC_HANG config TARGET_CONTROLCENTERD bool "Support controlcenterd" @@ -393,16 +423,19 @@ config TARGET_UCP1020 bool "Support uCP1020" select ARCH_P1020 imply CMD_SATA + imply PANIC_HANG config TARGET_CYRUS_P5020 bool "Support Varisys Cyrus P5020" select ARCH_P5020 select PHYS_64BIT + imply PANIC_HANG config TARGET_CYRUS_P5040 bool "Support Varisys Cyrus P5040" select ARCH_P5040 select PHYS_64BIT + imply PANIC_HANG endchoice diff --git a/board/freescale/ls1046ardb/eth.c b/board/freescale/ls1046ardb/eth.c index ac8bbec9a3c..9a07609820c 100644 --- a/board/freescale/ls1046ardb/eth.c +++ b/board/freescale/ls1046ardb/eth.c @@ -75,3 +75,54 @@ int board_eth_init(bd_t *bis) return pci_eth_init(bis); } + +#ifdef CONFIG_FMAN_ENET +int fdt_update_ethernet_dt(void *blob) +{ + u32 srds_s1; + int i, prop; + int offset, nodeoff; + const char *path; + struct ccsr_gur *gur = (void *)(CONFIG_SYS_FSL_GUTS_ADDR); + + srds_s1 = in_be32(&gur->rcwsr[4]) & + FSL_CHASSIS2_RCWSR4_SRDS1_PRTCL_MASK; + srds_s1 >>= FSL_CHASSIS2_RCWSR4_SRDS1_PRTCL_SHIFT; + + /* Cycle through all aliases */ + for (prop = 0; ; prop++) { + const char *name; + + /* FDT might have been edited, recompute the offset */ + offset = fdt_first_property_offset(blob, + fdt_path_offset(blob, + "/aliases") + ); + /* Select property number 'prop' */ + for (i = 0; i < prop; i++) + offset = fdt_next_property_offset(blob, offset); + + if (offset < 0) + break; + + path = fdt_getprop_by_offset(blob, offset, &name, NULL); + nodeoff = fdt_path_offset(blob, path); + + switch (srds_s1) { + case 0x1133: + if (!strcmp(name, "ethernet0")) + fdt_status_disabled(blob, nodeoff); + + if (!strcmp(name, "ethernet1")) + fdt_status_disabled(blob, nodeoff); + break; + default: + printf("%s: Invalid SerDes prtcl 0x%x for LS1046ARDB\n", + __func__, srds_s1); + break; + } + } + + return 0; +} +#endif diff --git a/common/fdt_support.c b/common/fdt_support.c index 6896dcb285a..724452d7545 100644 --- a/common/fdt_support.c +++ b/common/fdt_support.c @@ -508,12 +508,16 @@ int fdt_fixup_memory(void *blob, u64 start, u64 size) void fdt_fixup_ethernet(void *fdt) { - int i, j, prop; + int i = 0, j, prop; char *tmp, *end; char mac[16]; const char *path; unsigned char mac_addr[ARP_HLEN]; int offset; +#ifdef FDT_SEQ_MACADDR_FROM_ENV + int nodeoff; + const struct fdt_property *fdt_prop; +#endif if (fdt_path_offset(fdt, "/aliases") < 0) return; @@ -526,7 +530,7 @@ void fdt_fixup_ethernet(void *fdt) offset = fdt_first_property_offset(fdt, fdt_path_offset(fdt, "/aliases")); /* Select property number 'prop' */ - for (i = 0; i < prop; i++) + for (j = 0; j < prop; j++) offset = fdt_next_property_offset(fdt, offset); if (offset < 0) @@ -535,11 +539,16 @@ void fdt_fixup_ethernet(void *fdt) path = fdt_getprop_by_offset(fdt, offset, &name, NULL); if (!strncmp(name, "ethernet", 8)) { /* Treat plain "ethernet" same as "ethernet0". */ - if (!strcmp(name, "ethernet")) + if (!strcmp(name, "ethernet") +#ifdef FDT_SEQ_MACADDR_FROM_ENV + || !strcmp(name, "ethernet0") +#endif + ) i = 0; +#ifndef FDT_SEQ_MACADDR_FROM_ENV else i = trailing_strtol(name); - +#endif if (i != -1) { if (i == 0) strcpy(mac, "ethaddr"); @@ -548,6 +557,14 @@ void fdt_fixup_ethernet(void *fdt) } else { continue; } +#ifdef FDT_SEQ_MACADDR_FROM_ENV + nodeoff = fdt_path_offset(fdt, path); + fdt_prop = fdt_get_property(fdt, nodeoff, "status", + NULL); + if (fdt_prop && !strcmp(fdt_prop->data, "disabled")) + continue; + i++; +#endif tmp = env_get(mac); if (!tmp) continue; diff --git a/configs/TWR-P1025_defconfig b/configs/TWR-P1025_defconfig index 1eedd3c21fd..1eeb5908e8b 100644 --- a/configs/TWR-P1025_defconfig +++ b/configs/TWR-P1025_defconfig @@ -35,4 +35,5 @@ CONFIG_SYS_NS16550=y CONFIG_FSL_ESPI=y CONFIG_USB=y CONFIG_USB_STORAGE=y +CONFIG_PANIC_HANG=y CONFIG_OF_LIBFDT=y diff --git a/configs/UCP1020_SPIFLASH_defconfig b/configs/UCP1020_SPIFLASH_defconfig index c8f22620a09..3c3e9fca5a2 100644 --- a/configs/UCP1020_SPIFLASH_defconfig +++ b/configs/UCP1020_SPIFLASH_defconfig @@ -43,4 +43,5 @@ CONFIG_FSL_ESPI=y CONFIG_USB=y CONFIG_USB_STORAGE=y CONFIG_FS_CRAMFS=y +CONFIG_PANIC_HANG=y CONFIG_OF_LIBFDT=y diff --git a/configs/UCP1020_defconfig b/configs/UCP1020_defconfig index 0092e992831..bd17e059b66 100644 --- a/configs/UCP1020_defconfig +++ b/configs/UCP1020_defconfig @@ -43,4 +43,5 @@ CONFIG_FSL_ESPI=y CONFIG_USB=y CONFIG_USB_STORAGE=y CONFIG_FS_CRAMFS=y +CONFIG_PANIC_HANG=y CONFIG_OF_LIBFDT=y diff --git a/configs/adp-ae3xx_defconfig b/configs/adp-ae3xx_defconfig index 600566955a3..cdbf8017039 100644 --- a/configs/adp-ae3xx_defconfig +++ b/configs/adp-ae3xx_defconfig @@ -39,3 +39,4 @@ CONFIG_DM_SPI=y CONFIG_ATCSPI200_SPI=y CONFIG_TIMER=y CONFIG_ATCPIT100_TIMER=y +CONFIG_PANIC_HANG=y diff --git a/configs/qemu-ppce500_defconfig b/configs/qemu-ppce500_defconfig index f1db0d0fc9a..9d2775519e5 100644 --- a/configs/qemu-ppce500_defconfig +++ b/configs/qemu-ppce500_defconfig @@ -24,4 +24,5 @@ CONFIG_DOS_PARTITION=y CONFIG_NETDEVICES=y CONFIG_E1000=y CONFIG_SYS_NS16550=y +CONFIG_PANIC_HANG=y CONFIG_OF_LIBFDT=y diff --git a/configs/tricorder_defconfig b/configs/tricorder_defconfig index 0f6cccc3023..27a3b6e0cab 100644 --- a/configs/tricorder_defconfig +++ b/configs/tricorder_defconfig @@ -40,4 +40,5 @@ CONFIG_NAND=y CONFIG_SPL_NAND_SIMPLE=y CONFIG_SYS_NS16550=y CONFIG_BCH=y +CONFIG_PANIC_HANG=y CONFIG_OF_LIBFDT=y diff --git a/configs/tricorder_flash_defconfig b/configs/tricorder_flash_defconfig index 7477b427ece..78afec03b89 100644 --- a/configs/tricorder_flash_defconfig +++ b/configs/tricorder_flash_defconfig @@ -39,4 +39,5 @@ CONFIG_NAND=y CONFIG_SPL_NAND_SIMPLE=y CONFIG_SYS_NS16550=y CONFIG_BCH=y +CONFIG_PANIC_HANG=y CONFIG_OF_LIBFDT=y diff --git a/configs/uniphier_ld4_sld8_defconfig b/configs/uniphier_ld4_sld8_defconfig index 08ba9cce505..0d12eb52de2 100644 --- a/configs/uniphier_ld4_sld8_defconfig +++ b/configs/uniphier_ld4_sld8_defconfig @@ -51,3 +51,4 @@ CONFIG_USB=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_EHCI_GENERIC=y CONFIG_USB_STORAGE=y +CONFIG_PANIC_HANG=y diff --git a/configs/uniphier_v7_defconfig b/configs/uniphier_v7_defconfig index d2a1e3bc1fb..47b90d67cc5 100644 --- a/configs/uniphier_v7_defconfig +++ b/configs/uniphier_v7_defconfig @@ -54,3 +54,4 @@ CONFIG_USB_EHCI_GENERIC=y CONFIG_USB_DWC3=y CONFIG_USB_DWC3_UNIPHIER=y CONFIG_USB_STORAGE=y +CONFIG_PANIC_HANG=y diff --git a/configs/uniphier_v8_defconfig b/configs/uniphier_v8_defconfig index b0b213dc56e..bbcf3b09686 100644 --- a/configs/uniphier_v8_defconfig +++ b/configs/uniphier_v8_defconfig @@ -51,3 +51,4 @@ CONFIG_USB_EHCI_GENERIC=y CONFIG_USB_DWC3=y CONFIG_USB_DWC3_UNIPHIER=y CONFIG_USB_STORAGE=y +CONFIG_PANIC_HANG=y diff --git a/configs/xpedite517x_defconfig b/configs/xpedite517x_defconfig index a2324c3e799..37735182b99 100644 --- a/configs/xpedite517x_defconfig +++ b/configs/xpedite517x_defconfig @@ -27,4 +27,5 @@ CONFIG_DS4510=y CONFIG_MTD_NOR_FLASH=y CONFIG_PHYLIB=y CONFIG_SYS_NS16550=y +CONFIG_PANIC_HANG=y CONFIG_OF_LIBFDT=y diff --git a/configs/xpedite520x_defconfig b/configs/xpedite520x_defconfig index 7518ef2e395..7fffaa8a218 100644 --- a/configs/xpedite520x_defconfig +++ b/configs/xpedite520x_defconfig @@ -28,4 +28,5 @@ CONFIG_CMD_PCA953X=y CONFIG_MTD_NOR_FLASH=y CONFIG_PHYLIB=y CONFIG_SYS_NS16550=y +CONFIG_PANIC_HANG=y CONFIG_OF_LIBFDT=y diff --git a/configs/xpedite537x_defconfig b/configs/xpedite537x_defconfig index ead06a75f85..223bc4c72e4 100644 --- a/configs/xpedite537x_defconfig +++ b/configs/xpedite537x_defconfig @@ -30,4 +30,5 @@ CONFIG_DS4510=y CONFIG_MTD_NOR_FLASH=y CONFIG_PHYLIB=y CONFIG_SYS_NS16550=y +CONFIG_PANIC_HANG=y CONFIG_OF_LIBFDT=y diff --git a/configs/xpedite550x_defconfig b/configs/xpedite550x_defconfig index 80bc914eaeb..f3b9280889a 100644 --- a/configs/xpedite550x_defconfig +++ b/configs/xpedite550x_defconfig @@ -30,4 +30,5 @@ CONFIG_PHYLIB=y CONFIG_SYS_NS16550=y CONFIG_USB=y CONFIG_USB_STORAGE=y +CONFIG_PANIC_HANG=y CONFIG_OF_LIBFDT=y diff --git a/include/configs/B4860QDS.h b/include/configs/B4860QDS.h index 661bc8bf58f..b1b672547b3 100644 --- a/include/configs/B4860QDS.h +++ b/include/configs/B4860QDS.h @@ -173,7 +173,6 @@ unsigned long get_board_ddr_clk(void); #define CONFIG_SYS_MEMTEST_START 0x00200000 /* memtest works on */ #define CONFIG_SYS_MEMTEST_END 0x00400000 #define CONFIG_SYS_ALT_MEMTEST -#define CONFIG_PANIC_HANG /* do not reset board on panic */ /* * Config the L3 Cache as L3 SRAM diff --git a/include/configs/C29XPCIE.h b/include/configs/C29XPCIE.h index 7e805ecff01..f9d8cc69da8 100644 --- a/include/configs/C29XPCIE.h +++ b/include/configs/C29XPCIE.h @@ -117,7 +117,6 @@ #define CONFIG_SYS_MEMTEST_START 0x00200000 #define CONFIG_SYS_MEMTEST_END 0x00400000 -#define CONFIG_PANIC_HANG /* DDR Setup */ #define CONFIG_DDR_SPD diff --git a/include/configs/MPC8536DS.h b/include/configs/MPC8536DS.h index 7587225bda6..eef16027a25 100644 --- a/include/configs/MPC8536DS.h +++ b/include/configs/MPC8536DS.h @@ -69,7 +69,6 @@ #define CONFIG_SYS_MEMTEST_START 0x00010000 /* skip exception vectors */ #define CONFIG_SYS_MEMTEST_END 0x1f000000 /* skip u-boot at top of RAM */ -#define CONFIG_PANIC_HANG /* do not reset board on panic */ /* * Config the L2 Cache as L2 SRAM diff --git a/include/configs/MPC8544DS.h b/include/configs/MPC8544DS.h index bec8a09b5f3..9d9456c5e58 100644 --- a/include/configs/MPC8544DS.h +++ b/include/configs/MPC8544DS.h @@ -46,7 +46,6 @@ extern unsigned long get_board_sys_clk(unsigned long dummy); #define CONFIG_SYS_MEMTEST_START 0x00200000 /* memtest works on */ #define CONFIG_SYS_MEMTEST_END 0x00400000 -#define CONFIG_PANIC_HANG /* do not reset board on panic */ #define CONFIG_SYS_CCSRBAR 0xe0000000 #define CONFIG_SYS_CCSRBAR_PHYS_LOW CONFIG_SYS_CCSRBAR diff --git a/include/configs/MPC8572DS.h b/include/configs/MPC8572DS.h index ebc2e3aad49..91a55917e9c 100644 --- a/include/configs/MPC8572DS.h +++ b/include/configs/MPC8572DS.h @@ -58,7 +58,6 @@ #define CONFIG_SYS_MEMTEST_START 0x00000000 /* memtest works on */ #define CONFIG_SYS_MEMTEST_END 0x7fffffff -#define CONFIG_PANIC_HANG /* do not reset board on panic */ /* * Config the L2 Cache as L2 SRAM diff --git a/include/configs/P1010RDB.h b/include/configs/P1010RDB.h index 72b6e3ad6d2..6a444aea61a 100644 --- a/include/configs/P1010RDB.h +++ b/include/configs/P1010RDB.h @@ -215,7 +215,6 @@ #define CONFIG_SYS_MEMTEST_START 0x00200000 /* memtest works on */ #define CONFIG_SYS_MEMTEST_END 0x1fffffff -#define CONFIG_PANIC_HANG /* do not reset board on panic */ /* DDR Setup */ #define CONFIG_SYS_DDR_RAW_TIMING diff --git a/include/configs/P1023RDB.h b/include/configs/P1023RDB.h index 1b78a4f5dc3..17ae6cfd40b 100644 --- a/include/configs/P1023RDB.h +++ b/include/configs/P1023RDB.h @@ -52,8 +52,6 @@ extern unsigned long get_clock_freq(void); #define CONFIG_SYS_MEMTEST_START 0x01000000 /* memtest works on */ #define CONFIG_SYS_MEMTEST_END 0x02000000 -#define CONFIG_PANIC_HANG /* do not reset board on panic */ - /* Implement conversion of addresses in the LBC */ #define CONFIG_SYS_LBC_LBCR 0x00000000 #define CONFIG_SYS_LBC_LCRR LCRR_CLKDIV_8 diff --git a/include/configs/P2041RDB.h b/include/configs/P2041RDB.h index 917e5d5a064..8e71fdfecd0 100644 --- a/include/configs/P2041RDB.h +++ b/include/configs/P2041RDB.h @@ -116,7 +116,6 @@ unsigned long get_board_sys_clk(unsigned long dummy); #define CONFIG_SYS_MEMTEST_START 0x00200000 /* memtest works on */ #define CONFIG_SYS_MEMTEST_END 0x00400000 #define CONFIG_SYS_ALT_MEMTEST -#define CONFIG_PANIC_HANG /* do not reset board on panic */ /* * Config the L3 Cache as L3 SRAM diff --git a/include/configs/T102xQDS.h b/include/configs/T102xQDS.h index ed6df539167..dd3cd6ecc6f 100644 --- a/include/configs/T102xQDS.h +++ b/include/configs/T102xQDS.h @@ -196,7 +196,6 @@ unsigned long get_board_ddr_clk(void); #define CONFIG_SYS_MEMTEST_START 0x00200000 /* memtest works on */ #define CONFIG_SYS_MEMTEST_END 0x00400000 #define CONFIG_SYS_ALT_MEMTEST -#define CONFIG_PANIC_HANG /* do not reset board on panic */ /* * Config the L3 Cache as L3 SRAM diff --git a/include/configs/T102xRDB.h b/include/configs/T102xRDB.h index 7dee2f0d451..791c6ef1b3f 100644 --- a/include/configs/T102xRDB.h +++ b/include/configs/T102xRDB.h @@ -219,7 +219,6 @@ unsigned long get_board_ddr_clk(void); #define CONFIG_SYS_MEMTEST_START 0x00200000 /* memtest works on */ #define CONFIG_SYS_MEMTEST_END 0x00400000 #define CONFIG_SYS_ALT_MEMTEST -#define CONFIG_PANIC_HANG /* do not reset board on panic */ /* * Config the L3 Cache as L3 SRAM diff --git a/include/configs/T1040QDS.h b/include/configs/T1040QDS.h index bc5c0d2e68f..fb79b6a5599 100644 --- a/include/configs/T1040QDS.h +++ b/include/configs/T1040QDS.h @@ -127,7 +127,6 @@ unsigned long get_board_ddr_clk(void); #define CONFIG_SYS_MEMTEST_START 0x00200000 /* memtest works on */ #define CONFIG_SYS_MEMTEST_END 0x00400000 #define CONFIG_SYS_ALT_MEMTEST -#define CONFIG_PANIC_HANG /* do not reset board on panic */ /* * Config the L3 Cache as L3 SRAM diff --git a/include/configs/T104xRDB.h b/include/configs/T104xRDB.h index 2b9c77f7c88..ceb9daaac2e 100644 --- a/include/configs/T104xRDB.h +++ b/include/configs/T104xRDB.h @@ -226,7 +226,6 @@ $(SRCTREE)/board/freescale/t104xrdb/t1042d4_sd_rcw.cfg #define CONFIG_SYS_MEMTEST_START 0x00200000 /* memtest works on */ #define CONFIG_SYS_MEMTEST_END 0x00400000 #define CONFIG_SYS_ALT_MEMTEST -#define CONFIG_PANIC_HANG /* do not reset board on panic */ /* * Config the L3 Cache as L3 SRAM diff --git a/include/configs/T4240RDB.h b/include/configs/T4240RDB.h index 98f8f4f10c5..ecf7f646597 100644 --- a/include/configs/T4240RDB.h +++ b/include/configs/T4240RDB.h @@ -96,7 +96,6 @@ #define CONFIG_SYS_MEMTEST_START 0x00200000 /* memtest works on */ #define CONFIG_SYS_MEMTEST_END 0x00400000 #define CONFIG_SYS_ALT_MEMTEST -#define CONFIG_PANIC_HANG /* do not reset board on panic */ /* * Config the L3 Cache as L3 SRAM diff --git a/include/configs/UCP1020.h b/include/configs/UCP1020.h index e8b1a74c64a..77bfd50cc99 100644 --- a/include/configs/UCP1020.h +++ b/include/configs/UCP1020.h @@ -136,7 +136,6 @@ #define CONFIG_SYS_MEMTEST_START 0x00200000 /* memtest works on */ #define CONFIG_SYS_MEMTEST_END 0x1fffffff -#define CONFIG_PANIC_HANG /* do not reset board on panic */ #define CONFIG_SYS_CCSRBAR 0xffe00000 #define CONFIG_SYS_CCSRBAR_PHYS_LOW CONFIG_SYS_CCSRBAR diff --git a/include/configs/adp-ae3xx.h b/include/configs/adp-ae3xx.h index 5644a6153bc..f75274e2736 100644 --- a/include/configs/adp-ae3xx.h +++ b/include/configs/adp-ae3xx.h @@ -21,7 +21,6 @@ #define CONFIG_SKIP_TRUNOFF_WATCHDOG #define CONFIG_CMDLINE_EDITING -#define CONFIG_PANIC_HANG #define CONFIG_ARCH_MAP_SYSMEM diff --git a/include/configs/corenet_ds.h b/include/configs/corenet_ds.h index d0e8bfbed77..de9bc532fe5 100644 --- a/include/configs/corenet_ds.h +++ b/include/configs/corenet_ds.h @@ -128,7 +128,6 @@ #define CONFIG_SYS_MEMTEST_START 0x00200000 /* memtest works on */ #define CONFIG_SYS_MEMTEST_END 0x00400000 #define CONFIG_SYS_ALT_MEMTEST -#define CONFIG_PANIC_HANG /* do not reset board on panic */ /* * Config the L3 Cache as L3 SRAM diff --git a/include/configs/cyrus.h b/include/configs/cyrus.h index 4fea53bf797..942fbe2849d 100644 --- a/include/configs/cyrus.h +++ b/include/configs/cyrus.h @@ -89,7 +89,6 @@ #define CONFIG_SYS_MEMTEST_START 0x00200000 /* memtest works on */ #define CONFIG_SYS_MEMTEST_END 0x00400000 #define CONFIG_SYS_ALT_MEMTEST -#define CONFIG_PANIC_HANG /* do not reset board on panic */ /* * Config the L3 Cache as L3 SRAM diff --git a/include/configs/ls1012a_common.h b/include/configs/ls1012a_common.h index db920bc5cca..9cbc6249dcc 100644 --- a/include/configs/ls1012a_common.h +++ b/include/configs/ls1012a_common.h @@ -117,7 +117,6 @@ #define CONFIG_AUTO_COMPLETE #define CONFIG_SYS_MAXARGS 64 /* max command args */ -#define CONFIG_PANIC_HANG #define CONFIG_SYS_BOOTM_LEN (64 << 20) /* Increase max gunzip size */ #include <asm/arch/soc.h> diff --git a/include/configs/ls1046ardb.h b/include/configs/ls1046ardb.h index 784894f0b7b..793e67506dc 100644 --- a/include/configs/ls1046ardb.h +++ b/include/configs/ls1046ardb.h @@ -195,6 +195,8 @@ #define FM1_10GEC1_PHY_ADDR 0x0 +#define FDT_SEQ_MACADDR_FROM_ENV + #define CONFIG_ETHPRIME "FM1@DTSEC3" #endif diff --git a/include/configs/ls1088a_common.h b/include/configs/ls1088a_common.h index 0cd2f3c2bc9..65872962372 100644 --- a/include/configs/ls1088a_common.h +++ b/include/configs/ls1088a_common.h @@ -223,8 +223,6 @@ unsigned long long get_qixis_addr(void); #define CONFIG_AUTO_COMPLETE #define CONFIG_SYS_MAXARGS 64 /* max command args */ -#define CONFIG_PANIC_HANG /* do not reset board on panic */ - #ifdef CONFIG_SPL #define CONFIG_SPL_BSS_START_ADDR 0x80100000 #define CONFIG_SPL_BSS_MAX_SIZE 0x00100000 diff --git a/include/configs/ls2080a_common.h b/include/configs/ls2080a_common.h index 576785e4b67..b995513bdfd 100644 --- a/include/configs/ls2080a_common.h +++ b/include/configs/ls2080a_common.h @@ -221,8 +221,6 @@ unsigned long long get_qixis_addr(void); #define CONFIG_AUTO_COMPLETE #define CONFIG_SYS_MAXARGS 64 /* max command args */ -#define CONFIG_PANIC_HANG /* do not reset board on panic */ - #define CONFIG_SPL_BSS_START_ADDR 0x80100000 #define CONFIG_SPL_BSS_MAX_SIZE 0x00100000 #define CONFIG_SPL_FRAMEWORK diff --git a/include/configs/p1_p2_rdb_pc.h b/include/configs/p1_p2_rdb_pc.h index 07c192aecc1..4522569c299 100644 --- a/include/configs/p1_p2_rdb_pc.h +++ b/include/configs/p1_p2_rdb_pc.h @@ -270,7 +270,6 @@ #define CONFIG_SYS_MEMTEST_START 0x00200000 /* memtest works on */ #define CONFIG_SYS_MEMTEST_END 0x1fffffff -#define CONFIG_PANIC_HANG /* do not reset board on panic */ #define CONFIG_SYS_CCSRBAR 0xffe00000 #define CONFIG_SYS_CCSRBAR_PHYS_LOW CONFIG_SYS_CCSRBAR diff --git a/include/configs/p1_twr.h b/include/configs/p1_twr.h index d2302636ac9..2ae77b0ad49 100644 --- a/include/configs/p1_twr.h +++ b/include/configs/p1_twr.h @@ -69,7 +69,6 @@ extern unsigned long get_board_sys_clk(unsigned long dummy); #define CONFIG_SYS_MEMTEST_START 0x00200000 /* memtest works on */ #define CONFIG_SYS_MEMTEST_END 0x1fffffff -#define CONFIG_PANIC_HANG /* do not reset board on panic */ #define CONFIG_SYS_CCSRBAR 0xffe00000 #define CONFIG_SYS_CCSRBAR_PHYS_LOW CONFIG_SYS_CCSRBAR diff --git a/include/configs/qemu-ppce500.h b/include/configs/qemu-ppce500.h index eb4cfae9284..8b78f084e9d 100644 --- a/include/configs/qemu-ppce500.h +++ b/include/configs/qemu-ppce500.h @@ -31,7 +31,6 @@ #define CONFIG_SYS_MEMTEST_START 0x00200000 /* memtest works on */ #define CONFIG_SYS_MEMTEST_END 0x00400000 #define CONFIG_SYS_ALT_MEMTEST -#define CONFIG_PANIC_HANG /* do not reset board on panic */ /* Needed to fill the ccsrbar pointer */ diff --git a/include/configs/t4qds.h b/include/configs/t4qds.h index 5a69708e303..7aaf2107d93 100644 --- a/include/configs/t4qds.h +++ b/include/configs/t4qds.h @@ -54,7 +54,6 @@ #define CONFIG_SYS_MEMTEST_START 0x00200000 /* memtest works on */ #define CONFIG_SYS_MEMTEST_END 0x00400000 #define CONFIG_SYS_ALT_MEMTEST -#define CONFIG_PANIC_HANG /* do not reset board on panic */ /* * Config the L3 Cache as L3 SRAM diff --git a/include/configs/tricorder.h b/include/configs/tricorder.h index d9ab91c967d..f892a5712ca 100644 --- a/include/configs/tricorder.h +++ b/include/configs/tricorder.h @@ -90,7 +90,6 @@ /* hang() the board on panic() */ -#define CONFIG_PANIC_HANG /* environment placement (for NAND), is different for FLASHCARD but does not * harm there */ diff --git a/include/configs/uniphier.h b/include/configs/uniphier.h index 453f3db9eba..12cbe9b79db 100644 --- a/include/configs/uniphier.h +++ b/include/configs/uniphier.h @@ -218,8 +218,6 @@ /* for LD20; the last 64 byte is used for dynamic DDR PHY training */ #define CONFIG_SYS_MEM_TOP_HIDE 64 -#define CONFIG_PANIC_HANG - #define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_TEXT_BASE) /* only for SPL */ diff --git a/include/configs/xpedite517x.h b/include/configs/xpedite517x.h index beedc9eda88..4326984b062 100644 --- a/include/configs/xpedite517x.h +++ b/include/configs/xpedite517x.h @@ -487,7 +487,6 @@ extern unsigned long get_board_sys_clk(unsigned long dummy); #define CONFIG_SYS_LOAD_ADDR 0x2000000 /* default load address */ #define CONFIG_CMDLINE_EDITING 1 /* Command-line editing */ #define CONFIG_LOADADDR 0x1000000 /* default location for tftp and bootm */ -#define CONFIG_PANIC_HANG /* do not reset board on panic */ #define CONFIG_PREBOOT /* enable preboot variable */ #define CONFIG_INTEGRITY /* support booting INTEGRITY OS */ diff --git a/include/configs/xpedite520x.h b/include/configs/xpedite520x.h index f589d1db9b0..5a56162e7ca 100644 --- a/include/configs/xpedite520x.h +++ b/include/configs/xpedite520x.h @@ -291,7 +291,6 @@ #define CONFIG_CMDLINE_EDITING 1 /* add command line history */ #define CONFIG_AUTO_COMPLETE 1 /* add autocompletion support */ #define CONFIG_LOADADDR 0x1000000 /* default location for tftp and bootm */ -#define CONFIG_PANIC_HANG /* do not reset board on panic */ #define CONFIG_PREBOOT /* enable preboot variable */ #define CONFIG_INTEGRITY /* support booting INTEGRITY OS */ #define CONFIG_INTERRUPTS /* enable pci, srio, ddr interrupts */ diff --git a/include/configs/xpedite537x.h b/include/configs/xpedite537x.h index d217eb3c7de..b26223794e6 100644 --- a/include/configs/xpedite537x.h +++ b/include/configs/xpedite537x.h @@ -341,7 +341,6 @@ extern unsigned long get_board_ddr_clk(unsigned long dummy); #define CONFIG_CMDLINE_EDITING 1 /* add command line history */ #define CONFIG_AUTO_COMPLETE 1 /* add autocompletion support */ #define CONFIG_LOADADDR 0x1000000 /* default location for tftp and bootm */ -#define CONFIG_PANIC_HANG /* do not reset board on panic */ #define CONFIG_PREBOOT /* enable preboot variable */ #define CONFIG_INTEGRITY /* support booting INTEGRITY OS */ diff --git a/include/configs/xpedite550x.h b/include/configs/xpedite550x.h index 6c0981b1135..624e9a82d07 100644 --- a/include/configs/xpedite550x.h +++ b/include/configs/xpedite550x.h @@ -339,7 +339,6 @@ extern unsigned long get_board_ddr_clk(unsigned long dummy); #define CONFIG_CMDLINE_EDITING 1 /* add command line history */ #define CONFIG_AUTO_COMPLETE 1 /* add autocompletion support */ #define CONFIG_LOADADDR 0x1000000 /* default location for tftp and bootm */ -#define CONFIG_PANIC_HANG /* do not reset board on panic */ #define CONFIG_PREBOOT /* enable preboot variable */ #define CONFIG_INTEGRITY /* support booting INTEGRITY OS */ diff --git a/include/configs/xtfpga.h b/include/configs/xtfpga.h index 3050f17b814..3119f007971 100644 --- a/include/configs/xtfpga.h +++ b/include/configs/xtfpga.h @@ -130,10 +130,6 @@ #define CONFIG_MX_CYCLIC #define CONFIG_SHOW_BOOT_PROGRESS -#ifdef DEBUG -#define CONFIG_PANIC_HANG 1 /* Require manual reboot */ -#endif - /*=========================================*/ /* FPGA Registers (board info and control) */ diff --git a/include/fdt_support.h b/include/fdt_support.h index e0f908636c2..f00fadcddbf 100644 --- a/include/fdt_support.h +++ b/include/fdt_support.h @@ -290,4 +290,7 @@ int fdt_overlay_apply_verbose(void *fdt, void *fdto); int fdtdec_get_int(const void *blob, int node, const char *prop_name, int default_val); #endif +#ifdef CONFIG_FMAN_ENET +int fdt_update_ethernet_dt(void *blob); +#endif #endif /* ifndef __FDT_SUPPORT_H */ diff --git a/lib/Kconfig b/lib/Kconfig index f447c53bdef..00ac650e741 100644 --- a/lib/Kconfig +++ b/lib/Kconfig @@ -45,6 +45,16 @@ config USE_TINY_PRINTF The supported format specifiers are %c, %s, %u/%d and %x. +config PANIC_HANG + bool "Do not reset the system on fatal error" + help + Define this option to stop the system in case of a fatal error, + so that you have to reset it manually. This is probably NOT a good + idea for an embedded system where you want the system to reboot + automatically as fast as possible, but it may be useful during + development since you can try to debug the conditions that lead to + the situation. + config REGEX bool "Enable regular expression support" default y if NET |