
Hi Tony,
On Thu, Jun 06, 2024 at 04:44:36PM -0700, Tony Dinh wrote:
- Switch to standard boot (in include/configs/ds414.h and
configs/ds414_defconfig)
- Implement board_late_init() to ensure successful enumeration
of USB3 devices
Oh, this makes the rear USB3 ports usable? I had failed to get there when working on DS414 support.
- Remove unnecessary misc_init_r(), since NET_RANDOM_ETHADDR is now
configured in
So u-boot will assign random MAC addresses to the NICs instead of the real ones? Won't this potentially break PXE boot setups?
- Remove unnecessary checkboard()
- Updated IDENT_STRING to indicate this u-boot supports both Synology
DS414 and DS214+ boards
- Add SYS_THUMB_BUILD to reduce binary size
- Add NET_RANDOM_ETHADDR
- Add CONFIG_LBA48 and CONFIG_SYS_64BIT_LBA to support >2TB HDD/SDD
Signed-off-by: Tony Dinh mibodhi@gmail.com
board/Synology/ds414/ds414.c | 15 +++-------- configs/ds414_defconfig | 20 ++++++-------- include/configs/ds414.h | 51 ++++++++++++++++++++++-------------- 3 files changed, 42 insertions(+), 44 deletions(-)
diff --git a/board/Synology/ds414/ds414.c b/board/Synology/ds414/ds414.c index abe6f9eb5e..f0b55fa095 100644 --- a/board/Synology/ds414/ds414.c +++ b/board/Synology/ds414/ds414.c @@ -181,18 +181,9 @@ int board_init(void) return 0; }
-int misc_init_r(void) +int board_late_init(void) {
- if (!env_get("ethaddr")) {
puts("Incomplete environment, populating from SPI flash\n");
do_syno_populate(0, NULL);
- }
- return 0;
-}
This is useful for first boot of flashed vanilla u-boot. Can this be retained somehow?
[...]
diff --git a/include/configs/ds414.h b/include/configs/ds414.h index 9446acba79..bbefe632e0 100644 --- a/include/configs/ds414.h +++ b/include/configs/ds414.h
[...]
@@ -38,23 +34,38 @@
- L2 cache thus cannot be used.
*/
-/* SPL */ -/* Defines for SPL */ +/* Keep device tree and initrd in lower memory so the kernel can access them */ +#define RELOCATION_LIMITS_ENV_SETTINGS \
- "fdt_high=0x10000000\0" \
- "initrd_high=0x10000000\0"
+/*
- mv-common.h should be defined after CMD configs since it used them
- to enable certain macros
- */
+#include "mv-common.h"
+#ifndef CONFIG_SPL_BUILD
-/* Default Environment */ +#define KERNEL_ADDR_R __stringify(0x1000000) +#define FDT_ADDR_R __stringify(0x2000000) +#define RAMDISK_ADDR_R __stringify(0x2200000) +#define SCRIPT_ADDR_R __stringify(0x1800000) +#define PXEFILE_ADDR_R __stringify(0x1900000)
-#define CFG_EXTRA_ENV_SETTINGS \
- "initrd_high=0xffffffff\0" \
- "ramdisk_addr_r=0x8000000\0" \
- "usb0Mode=host\0usb1Mode=host\0usb2Mode=device\0" \
- "ethmtu=1500\0eth1mtu=1500\0" \
- "update_uboot=sf probe; dhcp; " \
"mw.b ${loadaddr} 0x0 0xd0000; " \
"tftpboot ${loadaddr} u-boot-with-spl.kwb; " \
"sf update ${loadaddr} 0x0 0xd0000\0"
Are these dropped or am I missing a generic spot which adds them? IIRC, the usb*mode and eth*mtu settings are required, is that wrong? Lastly, that update_uboot macro at least helps preventing people from writing into wrong spots. What's the cause for dropping it?
Thanks, Phil