[U-Boot] [PATCH v2] odroid-c2: Enable distro boot

Use the generic "distro" boot framework to enable automatic DHCP boot.
The fdt and kernel addresses are adopted from downstream; ramdisk and scriptaddr addresses were chosen arbitrarily.
Signed-off-by: Andreas Färber afaerber@suse.de --- Kconfig | 1 + configs/odroid-c2_defconfig | 1 - include/configs/meson-gxbb-common.h | 14 ++++++++++++++ include/configs/odroid-c2.h | 2 ++ 4 files changed, 17 insertions(+), 1 deletion(-)
diff --git a/Kconfig b/Kconfig index 3f79f6f..166fbf8 100644 --- a/Kconfig +++ b/Kconfig @@ -57,6 +57,7 @@ config DISTRO_DEFAULTS bool "Select defaults suitable for booting general purpose Linux distributions" default y if ARCH_SUNXI || TEGRA default y if ARCH_LS2080A + default y if ARCH_MESON default y if ARCH_ROCKCHIP default n select CMD_BOOTZ if ARM && !ARM64 diff --git a/configs/odroid-c2_defconfig b/configs/odroid-c2_defconfig index 7d0b2b1..119ab07 100644 --- a/configs/odroid-c2_defconfig +++ b/configs/odroid-c2_defconfig @@ -13,7 +13,6 @@ CONFIG_HUSH_PARSER=y # CONFIG_CMD_IMLS is not set # CONFIG_CMD_LOADS is not set # CONFIG_CMD_FPGA is not set -# CONFIG_CMD_SOURCE is not set # CONFIG_CMD_SETEXPR is not set CONFIG_OF_CONTROL=y CONFIG_NET_RANDOM_ETHADDR=y diff --git a/include/configs/meson-gxbb-common.h b/include/configs/meson-gxbb-common.h index 3bba2e6..75f6dc5 100644 --- a/include/configs/meson-gxbb-common.h +++ b/include/configs/meson-gxbb-common.h @@ -40,4 +40,18 @@
#include <config_distro_defaults.h>
+#define BOOT_TARGET_DEVICES(func) \ + func(DHCP, dhcp, na) + +#include <config_distro_bootcmd.h> + +#define CONFIG_EXTRA_ENV_SETTINGS \ + "fdt_addr_r=0x01000000\0" \ + "scriptaddr=0x1f000000\0" \ + "kernel_addr_r=0x01080000\0" \ + "pxefile_addr_r=0x01080000\0" \ + "ramdisk_addr_r=0x10000000\0" \ + MESON_FDTFILE_SETTING \ + BOOTENV + #endif /* __MESON_GXBB_COMMON_CONFIG_H */ diff --git a/include/configs/odroid-c2.h b/include/configs/odroid-c2.h index 1d5b3d5..bf7e1af 100644 --- a/include/configs/odroid-c2.h +++ b/include/configs/odroid-c2.h @@ -12,6 +12,8 @@ #define CONFIG_CONS_INDEX 0 #define CONFIG_BAUDRATE 115200
+#define MESON_FDTFILE_SETTING "fdtfile=amlogic/meson-gxbb-odroidc2.dtb\0" + #include <configs/meson-gxbb-common.h>
#endif /* __CONFIG_H */

On 15/01/2017 19:52, Andreas Färber wrote:
Use the generic "distro" boot framework to enable automatic DHCP boot.
The fdt and kernel addresses are adopted from downstream; ramdisk and scriptaddr addresses were chosen arbitrarily.
Signed-off-by: Andreas Färber afaerber@suse.de
Kconfig | 1 + configs/odroid-c2_defconfig | 1 - include/configs/meson-gxbb-common.h | 14 ++++++++++++++ include/configs/odroid-c2.h | 2 ++ 4 files changed, 17 insertions(+), 1 deletion(-)
diff --git a/Kconfig b/Kconfig index 3f79f6f..166fbf8 100644 --- a/Kconfig +++ b/Kconfig @@ -57,6 +57,7 @@ config DISTRO_DEFAULTS bool "Select defaults suitable for booting general purpose Linux distributions" default y if ARCH_SUNXI || TEGRA default y if ARCH_LS2080A
- default y if ARCH_MESON default y if ARCH_ROCKCHIP default n select CMD_BOOTZ if ARM && !ARM64
diff --git a/configs/odroid-c2_defconfig b/configs/odroid-c2_defconfig index 7d0b2b1..119ab07 100644 --- a/configs/odroid-c2_defconfig +++ b/configs/odroid-c2_defconfig @@ -13,7 +13,6 @@ CONFIG_HUSH_PARSER=y # CONFIG_CMD_IMLS is not set # CONFIG_CMD_LOADS is not set # CONFIG_CMD_FPGA is not set -# CONFIG_CMD_SOURCE is not set # CONFIG_CMD_SETEXPR is not set CONFIG_OF_CONTROL=y CONFIG_NET_RANDOM_ETHADDR=y diff --git a/include/configs/meson-gxbb-common.h b/include/configs/meson-gxbb-common.h index 3bba2e6..75f6dc5 100644 --- a/include/configs/meson-gxbb-common.h +++ b/include/configs/meson-gxbb-common.h @@ -40,4 +40,18 @@
#include <config_distro_defaults.h>
+#define BOOT_TARGET_DEVICES(func) \
- func(DHCP, dhcp, na)
I probably asked this 50 times before already. If so, please forgive me asking a 51st time.
Is network the only I/O you have available in U-Boot on that system? No SATA? No MMC?
If so, please note it in the patch description, so that it's clear to someone looking at U-Boot's patch history why we're limiting ourselves to DHCP boot.
The rest looks perfectly reasonable to me.
Alex
+#include <config_distro_bootcmd.h>
+#define CONFIG_EXTRA_ENV_SETTINGS \
- "fdt_addr_r=0x01000000\0" \
- "scriptaddr=0x1f000000\0" \
- "kernel_addr_r=0x01080000\0" \
- "pxefile_addr_r=0x01080000\0" \
- "ramdisk_addr_r=0x10000000\0" \
- MESON_FDTFILE_SETTING \
- BOOTENV
#endif /* __MESON_GXBB_COMMON_CONFIG_H */ diff --git a/include/configs/odroid-c2.h b/include/configs/odroid-c2.h index 1d5b3d5..bf7e1af 100644 --- a/include/configs/odroid-c2.h +++ b/include/configs/odroid-c2.h @@ -12,6 +12,8 @@ #define CONFIG_CONS_INDEX 0 #define CONFIG_BAUDRATE 115200
+#define MESON_FDTFILE_SETTING "fdtfile=amlogic/meson-gxbb-odroidc2.dtb\0"
#include <configs/meson-gxbb-common.h>
#endif /* __CONFIG_H */

Am 15.01.2017 um 20:03 schrieb Alexander Graf:
On 15/01/2017 19:52, Andreas Färber wrote:
Use the generic "distro" boot framework to enable automatic DHCP boot.
The fdt and kernel addresses are adopted from downstream; ramdisk and scriptaddr addresses were chosen arbitrarily.
Signed-off-by: Andreas Färber afaerber@suse.de
Kconfig | 1 + configs/odroid-c2_defconfig | 1 - include/configs/meson-gxbb-common.h | 14 ++++++++++++++ include/configs/odroid-c2.h | 2 ++ 4 files changed, 17 insertions(+), 1 deletion(-)
diff --git a/Kconfig b/Kconfig index 3f79f6f..166fbf8 100644 --- a/Kconfig +++ b/Kconfig @@ -57,6 +57,7 @@ config DISTRO_DEFAULTS bool "Select defaults suitable for booting general purpose Linux distributions" default y if ARCH_SUNXI || TEGRA default y if ARCH_LS2080A
- default y if ARCH_MESON default y if ARCH_ROCKCHIP default n select CMD_BOOTZ if ARM && !ARM64
diff --git a/configs/odroid-c2_defconfig b/configs/odroid-c2_defconfig index 7d0b2b1..119ab07 100644 --- a/configs/odroid-c2_defconfig +++ b/configs/odroid-c2_defconfig @@ -13,7 +13,6 @@ CONFIG_HUSH_PARSER=y # CONFIG_CMD_IMLS is not set # CONFIG_CMD_LOADS is not set # CONFIG_CMD_FPGA is not set -# CONFIG_CMD_SOURCE is not set # CONFIG_CMD_SETEXPR is not set CONFIG_OF_CONTROL=y CONFIG_NET_RANDOM_ETHADDR=y diff --git a/include/configs/meson-gxbb-common.h b/include/configs/meson-gxbb-common.h index 3bba2e6..75f6dc5 100644 --- a/include/configs/meson-gxbb-common.h +++ b/include/configs/meson-gxbb-common.h @@ -40,4 +40,18 @@
#include <config_distro_defaults.h>
+#define BOOT_TARGET_DEVICES(func) \
- func(DHCP, dhcp, na)
I probably asked this 50 times before already. If so, please forgive me asking a 51st time.
Is network the only I/O you have available in U-Boot on that system? No SATA? No MMC?
Yep, no improvement yet: https://patchwork.ozlabs.org/patch/690146/
I've tried to rebase Carlo's MMC patches and am able to boot into U-Boot, but when accessing SD or eMMC it freezes.
Lack of MMC drivers shouldn't hold up obviously missing address and fdtfile definitions here.
If so, please note it in the patch description, so that it's clear to someone looking at U-Boot's patch history why we're limiting ourselves to DHCP boot.
Honestly, I don't think that's the reason v1 hasn't been applied... ;)
The rest looks perfectly reasonable to me.
Thanks, I changed the addresses from v1 to the ones from the vendor as far as possible.
Cheers, Andreas

Am 15.01.2017 um 20:20 schrieb Andreas Färber afaerber@suse.de:
Am 15.01.2017 um 20:03 schrieb Alexander Graf:
On 15/01/2017 19:52, Andreas Färber wrote: Use the generic "distro" boot framework to enable automatic DHCP boot.
The fdt and kernel addresses are adopted from downstream; ramdisk and scriptaddr addresses were chosen arbitrarily.
Signed-off-by: Andreas Färber afaerber@suse.de
Kconfig | 1 + configs/odroid-c2_defconfig | 1 - include/configs/meson-gxbb-common.h | 14 ++++++++++++++ include/configs/odroid-c2.h | 2 ++ 4 files changed, 17 insertions(+), 1 deletion(-)
diff --git a/Kconfig b/Kconfig index 3f79f6f..166fbf8 100644 --- a/Kconfig +++ b/Kconfig @@ -57,6 +57,7 @@ config DISTRO_DEFAULTS bool "Select defaults suitable for booting general purpose Linux distributions" default y if ARCH_SUNXI || TEGRA default y if ARCH_LS2080A
- default y if ARCH_MESON default y if ARCH_ROCKCHIP default n select CMD_BOOTZ if ARM && !ARM64
diff --git a/configs/odroid-c2_defconfig b/configs/odroid-c2_defconfig index 7d0b2b1..119ab07 100644 --- a/configs/odroid-c2_defconfig +++ b/configs/odroid-c2_defconfig @@ -13,7 +13,6 @@ CONFIG_HUSH_PARSER=y # CONFIG_CMD_IMLS is not set # CONFIG_CMD_LOADS is not set # CONFIG_CMD_FPGA is not set -# CONFIG_CMD_SOURCE is not set # CONFIG_CMD_SETEXPR is not set CONFIG_OF_CONTROL=y CONFIG_NET_RANDOM_ETHADDR=y diff --git a/include/configs/meson-gxbb-common.h b/include/configs/meson-gxbb-common.h index 3bba2e6..75f6dc5 100644 --- a/include/configs/meson-gxbb-common.h +++ b/include/configs/meson-gxbb-common.h @@ -40,4 +40,18 @@
#include <config_distro_defaults.h>
+#define BOOT_TARGET_DEVICES(func) \
- func(DHCP, dhcp, na)
I probably asked this 50 times before already. If so, please forgive me asking a 51st time.
Is network the only I/O you have available in U-Boot on that system? No SATA? No MMC?
Yep, no improvement yet: https://patchwork.ozlabs.org/patch/690146/
I've tried to rebase Carlo's MMC patches and am able to boot into U-Boot, but when accessing SD or eMMC it freezes.
Lack of MMC drivers shouldn't hold up obviously missing address and fdtfile definitions here.
If so, please note it in the patch description, so that it's clear to someone looking at U-Boot's patch history why we're limiting ourselves to DHCP boot.
Honestly, I don't think that's the reason v1 hasn't been applied... ;)
I agree, so what is the holdup? The merge window is open.
Alex
participants (2)
-
Alexander Graf
-
Andreas Färber