Message ID | 20220809023422.10001-1-mibodhi@gmail.com |
---|---|
State | Superseded |
Delegated to: | Stefan Roese |
Headers | show |
Series | arm: kirkwood: nsa310s: Add Distro boot capability | expand |
Hi Stefan, I need to resend this patch. Sorry for the noise! Thanks, Tony On Mon, Aug 8, 2022 at 7:35 PM Tony Dinh <mibodhi@gmail.com> wrote: > > - Add distro boot to board include file and deconfig file > - Miscellaneous changes: > - Remove Gerald from maintainer list (email bounced) > - Add CONFIG_SUPPORT_PASSING_ATAGS and friends to support legacy > kernel method of booting (e.g. OpenWrt) with appended DTB. > - Add CONFIG_UBIFS_SILENCE_MSG to reduce binary size. > > Note that this patch is depended on the following patch: > https://patchwork.ozlabs.org/project/uboot/patch/20220807192709.21717-1-pali@kernel.org/ > > Signed-off-by: Tony Dinh <mibodhi@gmail.com> > --- > > board/zyxel/nsa310s/MAINTAINERS | 1 - > configs/nsa310s_defconfig | 17 ++++-------- > include/configs/nsa310s.h | 48 +++++++++++++++++++++++++++++---- > 3 files changed, 48 insertions(+), 18 deletions(-) > > diff --git a/board/zyxel/nsa310s/MAINTAINERS b/board/zyxel/nsa310s/MAINTAINERS > index d153758c21..11106acf3e 100644 > --- a/board/zyxel/nsa310s/MAINTAINERS > +++ b/board/zyxel/nsa310s/MAINTAINERS > @@ -1,5 +1,4 @@ > NSA310S BOARD > -M: Gerald Kerma <dreagle@doukki.net> > M: Tony Dinh <mibodhi@gmail.com> > M: Luka Perkov <luka.perkov@sartura.hr> > S: Maintained > diff --git a/configs/nsa310s_defconfig b/configs/nsa310s_defconfig > index 2b39ae74b3..a5f01ef88e 100644 > --- a/configs/nsa310s_defconfig > +++ b/configs/nsa310s_defconfig > @@ -4,6 +4,9 @@ CONFIG_SYS_DCACHE_OFF=y > CONFIG_ARCH_CPU_INIT=y > CONFIG_SYS_THUMB_BUILD=y > CONFIG_ARCH_KIRKWOOD=y > +CONFIG_SUPPORT_PASSING_ATAGS=y > +CONFIG_CMDLINE_TAG=y > +CONFIG_INITRD_TAG=y > CONFIG_SYS_KWD_CONFIG="board/zyxel/nsa310s/kwbimage.cfg" > CONFIG_SYS_TEXT_BASE=0x600000 > CONFIG_SYS_MALLOC_F_LEN=0x400 > @@ -14,35 +17,25 @@ CONFIG_ENV_OFFSET=0xE0000 > CONFIG_DEFAULT_DEVICE_TREE="kirkwood-nsa310s" > CONFIG_IDENT_STRING="\nZyXEL NSA310S/320S 1/2-Bay Power Media Server" > CONFIG_SYS_LOAD_ADDR=0x800000 > +CONFIG_DISTRO_DEFAULTS=y > CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y > CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0xc8012000 > CONFIG_BOOTDELAY=3 > -CONFIG_USE_BOOTCOMMAND=y > -CONFIG_BOOTCOMMAND="setenv bootargs ${console} ${mtdparts} ${bootargs_root}; ubi part root; ubifsmount ubi:rootfs; ubifsload 0x800000 ${kernel}; ubifsload 0x700000 ${fdt}; ubifsumount; fdt addr 0x700000; fdt resize; fdt chosen; bootz 0x800000 - 0x700000" > CONFIG_USE_PREBOOT=y > # CONFIG_DISPLAY_BOARDINFO is not set > -CONFIG_HUSH_PARSER=y > CONFIG_SYS_PROMPT="NSA310s> " > CONFIG_SYS_MAXARGS=32 > CONFIG_SYS_PBSIZE=1050 > -CONFIG_CMD_BOOTZ=y > # CONFIG_CMD_FLASH is not set > CONFIG_CMD_NAND=y > CONFIG_CMD_SATA=y > CONFIG_CMD_USB=y > # CONFIG_CMD_SETEXPR is not set > -CONFIG_CMD_DHCP=y > -CONFIG_CMD_MII=y > -CONFIG_CMD_PING=y > -CONFIG_CMD_EXT2=y > -CONFIG_CMD_FAT=y > -CONFIG_CMD_FS_GENERIC=y > CONFIG_CMD_JFFS2=y > CONFIG_CMD_MTDPARTS=y > CONFIG_MTDIDS_DEFAULT="nand0=orion_nand" > CONFIG_MTDPARTS_DEFAULT="mtdparts=orion_nand:0xe0000@0x0(uboot),0x20000@0xe0000(uboot_env),0x100000@0x100000(second_stage_uboot),-@0x200000(root)" > CONFIG_CMD_UBI=y > -CONFIG_ISO_PARTITION=y > CONFIG_OF_CONTROL=y > CONFIG_ENV_OVERWRITE=y > CONFIG_ENV_IS_IN_NAND=y > @@ -65,6 +58,6 @@ CONFIG_MII=y > CONFIG_SYS_NS16550=y > CONFIG_USB=y > CONFIG_USB_EHCI_HCD=y > -CONFIG_USB_STORAGE=y > +CONFIG_UBIFS_SILENCE_MSG=y > CONFIG_LZMA=y > CONFIG_BZIP2=y > diff --git a/include/configs/nsa310s.h b/include/configs/nsa310s.h > index 027a47b5a3..a538721c45 100644 > --- a/include/configs/nsa310s.h > +++ b/include/configs/nsa310s.h > @@ -9,15 +9,53 @@ > #ifndef _CONFIG_NSA310S_H > #define _CONFIG_NSA310S_H > > +/* > + * mv-common.h should be defined after CMD configs since it used them > + * to enable certain macros > + */ > #include "mv-common.h" > > -/* default environment variables */ > +/* Include the common distro boot environment */ > +#ifndef CONFIG_SPL_BUILD > + > +#ifdef CONFIG_SATA > +#define BOOT_TARGET_DEVICES_SATA(func) func(SATA, sata, 0) > +#else > +#define BOOT_TARGET_DEVICES_SATA(func) > +#endif > + > +#ifdef CONFIG_USB_STORAGE > +#define BOOT_TARGET_DEVICES_USB(func) func(USB, usb, 0) > +#else > +#define BOOT_TARGET_DEVICES_USB(func) > +#endif > + > +#define BOOT_TARGET_DEVICES(func) \ > + BOOT_TARGET_DEVICES_USB(func) \ > + BOOT_TARGET_DEVICES_SATA(func) \ > + func(DHCP, dhcp, na) > + > +#define KERNEL_ADDR_R __stringify(0x800000) > +#define FDT_ADDR_R __stringify(0x2c00000) > +#define RAMDISK_ADDR_R __stringify(0x01100000) > +#define SCRIPT_ADDR_R __stringify(0x200000) > + > +#define LOAD_ADDRESS_ENV_SETTINGS \ > + "kernel_addr_r=" KERNEL_ADDR_R "\0" \ > + "fdt_addr_r=" FDT_ADDR_R "\0" \ > + "ramdisk_addr_r=" RAMDISK_ADDR_R "\0" \ > + "scriptaddr=" SCRIPT_ADDR_R "\0" > + > +#include <config_distro_bootcmd.h> > > #define CONFIG_EXTRA_ENV_SETTINGS \ > - "console=console=ttyS0,115200\0" \ > - "kernel=/boot/zImage\0" \ > - "fdt=/boot/nsa310s.dtb\0" \ > - "bootargs_root=ubi.mtd=3 root=ubi0:rootfs rootfstype=ubifs rw\0" > + LOAD_ADDRESS_ENV_SETTINGS \ > + "fdtfile=" CONFIG_DEFAULT_DEVICE_TREE ".dtb\0" \ > + "mtdparts=" CONFIG_MTDPARTS_DEFAULT "\0" \ > + "console=ttyS0,115200\0" \ > + BOOTENV > + > +#endif /* CONFIG_SPL_BUILD */ > > /* Ethernet driver configuration */ > #define CONFIG_MVGBE_PORTS {1, 0} /* enable port 0 only */ > -- > 2.30.2 >
diff --git a/board/zyxel/nsa310s/MAINTAINERS b/board/zyxel/nsa310s/MAINTAINERS index d153758c21..11106acf3e 100644 --- a/board/zyxel/nsa310s/MAINTAINERS +++ b/board/zyxel/nsa310s/MAINTAINERS @@ -1,5 +1,4 @@ NSA310S BOARD -M: Gerald Kerma <dreagle@doukki.net> M: Tony Dinh <mibodhi@gmail.com> M: Luka Perkov <luka.perkov@sartura.hr> S: Maintained diff --git a/configs/nsa310s_defconfig b/configs/nsa310s_defconfig index 2b39ae74b3..a5f01ef88e 100644 --- a/configs/nsa310s_defconfig +++ b/configs/nsa310s_defconfig @@ -4,6 +4,9 @@ CONFIG_SYS_DCACHE_OFF=y CONFIG_ARCH_CPU_INIT=y CONFIG_SYS_THUMB_BUILD=y CONFIG_ARCH_KIRKWOOD=y +CONFIG_SUPPORT_PASSING_ATAGS=y +CONFIG_CMDLINE_TAG=y +CONFIG_INITRD_TAG=y CONFIG_SYS_KWD_CONFIG="board/zyxel/nsa310s/kwbimage.cfg" CONFIG_SYS_TEXT_BASE=0x600000 CONFIG_SYS_MALLOC_F_LEN=0x400 @@ -14,35 +17,25 @@ CONFIG_ENV_OFFSET=0xE0000 CONFIG_DEFAULT_DEVICE_TREE="kirkwood-nsa310s" CONFIG_IDENT_STRING="\nZyXEL NSA310S/320S 1/2-Bay Power Media Server" CONFIG_SYS_LOAD_ADDR=0x800000 +CONFIG_DISTRO_DEFAULTS=y CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0xc8012000 CONFIG_BOOTDELAY=3 -CONFIG_USE_BOOTCOMMAND=y -CONFIG_BOOTCOMMAND="setenv bootargs ${console} ${mtdparts} ${bootargs_root}; ubi part root; ubifsmount ubi:rootfs; ubifsload 0x800000 ${kernel}; ubifsload 0x700000 ${fdt}; ubifsumount; fdt addr 0x700000; fdt resize; fdt chosen; bootz 0x800000 - 0x700000" CONFIG_USE_PREBOOT=y # CONFIG_DISPLAY_BOARDINFO is not set -CONFIG_HUSH_PARSER=y CONFIG_SYS_PROMPT="NSA310s> " CONFIG_SYS_MAXARGS=32 CONFIG_SYS_PBSIZE=1050 -CONFIG_CMD_BOOTZ=y # CONFIG_CMD_FLASH is not set CONFIG_CMD_NAND=y CONFIG_CMD_SATA=y CONFIG_CMD_USB=y # CONFIG_CMD_SETEXPR is not set -CONFIG_CMD_DHCP=y -CONFIG_CMD_MII=y -CONFIG_CMD_PING=y -CONFIG_CMD_EXT2=y -CONFIG_CMD_FAT=y -CONFIG_CMD_FS_GENERIC=y CONFIG_CMD_JFFS2=y CONFIG_CMD_MTDPARTS=y CONFIG_MTDIDS_DEFAULT="nand0=orion_nand" CONFIG_MTDPARTS_DEFAULT="mtdparts=orion_nand:0xe0000@0x0(uboot),0x20000@0xe0000(uboot_env),0x100000@0x100000(second_stage_uboot),-@0x200000(root)" CONFIG_CMD_UBI=y -CONFIG_ISO_PARTITION=y CONFIG_OF_CONTROL=y CONFIG_ENV_OVERWRITE=y CONFIG_ENV_IS_IN_NAND=y @@ -65,6 +58,6 @@ CONFIG_MII=y CONFIG_SYS_NS16550=y CONFIG_USB=y CONFIG_USB_EHCI_HCD=y -CONFIG_USB_STORAGE=y +CONFIG_UBIFS_SILENCE_MSG=y CONFIG_LZMA=y CONFIG_BZIP2=y diff --git a/include/configs/nsa310s.h b/include/configs/nsa310s.h index 027a47b5a3..a538721c45 100644 --- a/include/configs/nsa310s.h +++ b/include/configs/nsa310s.h @@ -9,15 +9,53 @@ #ifndef _CONFIG_NSA310S_H #define _CONFIG_NSA310S_H +/* + * mv-common.h should be defined after CMD configs since it used them + * to enable certain macros + */ #include "mv-common.h" -/* default environment variables */ +/* Include the common distro boot environment */ +#ifndef CONFIG_SPL_BUILD + +#ifdef CONFIG_SATA +#define BOOT_TARGET_DEVICES_SATA(func) func(SATA, sata, 0) +#else +#define BOOT_TARGET_DEVICES_SATA(func) +#endif + +#ifdef CONFIG_USB_STORAGE +#define BOOT_TARGET_DEVICES_USB(func) func(USB, usb, 0) +#else +#define BOOT_TARGET_DEVICES_USB(func) +#endif + +#define BOOT_TARGET_DEVICES(func) \ + BOOT_TARGET_DEVICES_USB(func) \ + BOOT_TARGET_DEVICES_SATA(func) \ + func(DHCP, dhcp, na) + +#define KERNEL_ADDR_R __stringify(0x800000) +#define FDT_ADDR_R __stringify(0x2c00000) +#define RAMDISK_ADDR_R __stringify(0x01100000) +#define SCRIPT_ADDR_R __stringify(0x200000) + +#define LOAD_ADDRESS_ENV_SETTINGS \ + "kernel_addr_r=" KERNEL_ADDR_R "\0" \ + "fdt_addr_r=" FDT_ADDR_R "\0" \ + "ramdisk_addr_r=" RAMDISK_ADDR_R "\0" \ + "scriptaddr=" SCRIPT_ADDR_R "\0" + +#include <config_distro_bootcmd.h> #define CONFIG_EXTRA_ENV_SETTINGS \ - "console=console=ttyS0,115200\0" \ - "kernel=/boot/zImage\0" \ - "fdt=/boot/nsa310s.dtb\0" \ - "bootargs_root=ubi.mtd=3 root=ubi0:rootfs rootfstype=ubifs rw\0" + LOAD_ADDRESS_ENV_SETTINGS \ + "fdtfile=" CONFIG_DEFAULT_DEVICE_TREE ".dtb\0" \ + "mtdparts=" CONFIG_MTDPARTS_DEFAULT "\0" \ + "console=ttyS0,115200\0" \ + BOOTENV + +#endif /* CONFIG_SPL_BUILD */ /* Ethernet driver configuration */ #define CONFIG_MVGBE_PORTS {1, 0} /* enable port 0 only */
- Add distro boot to board include file and deconfig file - Miscellaneous changes: - Remove Gerald from maintainer list (email bounced) - Add CONFIG_SUPPORT_PASSING_ATAGS and friends to support legacy kernel method of booting (e.g. OpenWrt) with appended DTB. - Add CONFIG_UBIFS_SILENCE_MSG to reduce binary size. Note that this patch is depended on the following patch: https://patchwork.ozlabs.org/project/uboot/patch/20220807192709.21717-1-pali@kernel.org/ Signed-off-by: Tony Dinh <mibodhi@gmail.com> --- board/zyxel/nsa310s/MAINTAINERS | 1 - configs/nsa310s_defconfig | 17 ++++-------- include/configs/nsa310s.h | 48 +++++++++++++++++++++++++++++---- 3 files changed, 48 insertions(+), 18 deletions(-)