Hi Fabien,
On 02/08/2016 09:31, Fabien Lahoudere wrote: > In order to simplify the use of various images on various media > for nitrogen6x, the configuration of the board must follow the > generic distro configuration (doc/README.distro). > > In order to boot your old rootfs, move your kernel and your device > tree in /boot/. Then create /boot/extlinux/extlinux.conf with for > example: > > default Buildroot > > label Buildroot > kernel /boot/zImage > append console=ttymxc1,115200 root=/dev/mmcblk0p1 rootwait rw > fdtdir /boot > > Signed-off-by: Fabien Lahoudere <fabien.lahoud...@collabora.co.uk> > --- > Changes for V2: > - reintegration of deleted env > - changes are applied only if CONFIG_DISTRO_DEFAULTS=y > > Changes for V3: > - remove undefined device tree > > Changes for v4: > - remove default definition of CONFIG_FDTADDR in mx6_common.h > > configs/mx6qsabrelite_defconfig | 1 + > configs/nitrogen6dl2g_defconfig | 1 + > configs/nitrogen6dl_defconfig | 1 + > configs/nitrogen6q2g_defconfig | 1 + > configs/nitrogen6q_defconfig | 1 + > configs/nitrogen6s1g_defconfig | 1 + > configs/nitrogen6s_defconfig | 1 + > doc/README.imx6 | 47 > +++++++++++++++++++++++++++++++++++++++++ > include/configs/mx6_common.h | 22 +++++++++++++++++++ > include/configs/nitrogen6x.h | 38 +++++++++++++++++++++++++++------ > 10 files changed, 108 insertions(+), 6 deletions(-) > > diff --git a/configs/mx6qsabrelite_defconfig > b/configs/mx6qsabrelite_defconfig > index fa6139a..27b64c4 100644 > --- a/configs/mx6qsabrelite_defconfig > +++ b/configs/mx6qsabrelite_defconfig > @@ -36,3 +36,4 @@ CONFIG_G_DNL_MANUFACTURER="Boundary" > CONFIG_G_DNL_VENDOR_NUM=0x0525 > CONFIG_G_DNL_PRODUCT_NUM=0xa4a5 > CONFIG_OF_LIBFDT=y > +CONFIG_DISTRO_DEFAULTS=y > \ No newline at end of file > diff --git a/configs/nitrogen6dl2g_defconfig > b/configs/nitrogen6dl2g_defconfig > index 02b2462..b1344c6 100644 > --- a/configs/nitrogen6dl2g_defconfig > +++ b/configs/nitrogen6dl2g_defconfig > @@ -34,3 +34,4 @@ CONFIG_G_DNL_MANUFACTURER="Boundary" > CONFIG_G_DNL_VENDOR_NUM=0x0525 > CONFIG_G_DNL_PRODUCT_NUM=0xa4a5 > CONFIG_OF_LIBFDT=y > +CONFIG_DISTRO_DEFAULTS=y > \ No newline at end of file > diff --git a/configs/nitrogen6dl_defconfig b/configs/nitrogen6dl_defconfig > index 52553f6..f794c08 100644 > --- a/configs/nitrogen6dl_defconfig > +++ b/configs/nitrogen6dl_defconfig > @@ -34,3 +34,4 @@ CONFIG_G_DNL_MANUFACTURER="Boundary" > CONFIG_G_DNL_VENDOR_NUM=0x0525 > CONFIG_G_DNL_PRODUCT_NUM=0xa4a5 > CONFIG_OF_LIBFDT=y > +CONFIG_DISTRO_DEFAULTS=y > \ No newline at end of file > diff --git a/configs/nitrogen6q2g_defconfig > b/configs/nitrogen6q2g_defconfig > index 11188b7..56cebe0 100644 > --- a/configs/nitrogen6q2g_defconfig > +++ b/configs/nitrogen6q2g_defconfig > @@ -34,3 +34,4 @@ CONFIG_G_DNL_MANUFACTURER="Boundary" > CONFIG_G_DNL_VENDOR_NUM=0x0525 > CONFIG_G_DNL_PRODUCT_NUM=0xa4a5 > CONFIG_OF_LIBFDT=y > +CONFIG_DISTRO_DEFAULTS=y > \ No newline at end of file > diff --git a/configs/nitrogen6q_defconfig b/configs/nitrogen6q_defconfig > index 05bf140..c150b97 100644 > --- a/configs/nitrogen6q_defconfig > +++ b/configs/nitrogen6q_defconfig > @@ -34,3 +34,4 @@ CONFIG_G_DNL_MANUFACTURER="Boundary" > CONFIG_G_DNL_VENDOR_NUM=0x0525 > CONFIG_G_DNL_PRODUCT_NUM=0xa4a5 > CONFIG_OF_LIBFDT=y > +CONFIG_DISTRO_DEFAULTS=y > \ No newline at end of file > diff --git a/configs/nitrogen6s1g_defconfig > b/configs/nitrogen6s1g_defconfig > index bb081a2..dfd096d 100644 > --- a/configs/nitrogen6s1g_defconfig > +++ b/configs/nitrogen6s1g_defconfig > @@ -34,3 +34,4 @@ CONFIG_G_DNL_MANUFACTURER="Boundary" > CONFIG_G_DNL_VENDOR_NUM=0x0525 > CONFIG_G_DNL_PRODUCT_NUM=0xa4a5 > CONFIG_OF_LIBFDT=y > +CONFIG_DISTRO_DEFAULTS=y > \ No newline at end of file > diff --git a/configs/nitrogen6s_defconfig b/configs/nitrogen6s_defconfig > index 08e91c9..5e2e693 100644 > --- a/configs/nitrogen6s_defconfig > +++ b/configs/nitrogen6s_defconfig > @@ -34,3 +34,4 @@ CONFIG_G_DNL_MANUFACTURER="Boundary" > CONFIG_G_DNL_VENDOR_NUM=0x0525 > CONFIG_G_DNL_PRODUCT_NUM=0xa4a5 > CONFIG_OF_LIBFDT=y > +CONFIG_DISTRO_DEFAULTS=y > \ No newline at end of file > diff --git a/doc/README.imx6 b/doc/README.imx6 > index 1823fb2..36452f6 100644 > --- a/doc/README.imx6 > +++ b/doc/README.imx6 > @@ -138,3 +138,50 @@ c > The last "c" command tells kermit (from ckermit package in most distros) > to switch from command line mode to communication mode, and when the > script is finished, the U-Boot prompt is shown in the same shell. > + > +3. Using generic distro configuration > +------------------------------------- > + > +In order to simplify the use of various images on various media > +for imx6 boards, the configuration of the board must follow the > +generic distro configuration (doc/README.distro). > + > +3.1. Setup uboot configuration for your board > +--------------------------------------------- > + > +First, you have to set 'CONFIG_DISTRO_DEFAULTS=y' in your board defconfig > + > +Some mandatory variable are set in mx6_common.h but can be overwritten > like: > + - fdtfile with CONFIG_FDTFILE > + - fdt_addr_r and fdt_addr with CONFIG_FDTADDR > + - ramdisk_addr_r, ramdiskaddr CONFIG_RAMDISKADDR > + > +You also have to define BOOT_TARGET_DEVICES with available media. > +For example added in include/configs/nitrogen6x.h: > +#define BOOT_TARGET_DEVICES(func) \ > + func(MMC, mmc, 0) \ > + func(MMC, mmc, 1) \ > + func(SATA, sata, 0) \ > + func(USB, usb, 0) \ > + func(PXE, pxe, na) \ > + func(DHCP, dhcp, na) > + > +All this configuration should be done before '#include "mx6_common.h"' > + > +3.2. Setup your distribution > +---------------------------- > + > +Set the partition containing /boot/ bootable. > +Copy your kernel and device tree in /boot. > +Create /boot/extlinux/extlinux.conf on your rootfs and fill it > according to specification > +at http://www.freedesktop.org/wiki/Specifications/BootLoaderSpec/ > + > +For example: > + > +default Buildroot > + > +label Buildroot > + kernel /boot/zImage > + append console=ttymxc1,115200 root=/dev/mmcblk0p1 rootwait rw > + fdtdir /boot > + > diff --git a/include/configs/mx6_common.h b/include/configs/mx6_common.h > index fb49322..3337538 100644 > --- a/include/configs/mx6_common.h > +++ b/include/configs/mx6_common.h > @@ -59,6 +59,10 @@ > #endif > #define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR > +#ifndef CONFIG_RAMDISKADDR > +#define CONFIG_RAMDISKADDR 0x13000000 > +#endif > + > /* allow to overwrite serial and ethaddr */ > #define CONFIG_ENV_OVERWRITE > #define CONFIG_CONS_INDEX 1 > @@ -93,4 +97,22 @@ > #define CONFIG_CMD_FUSE > #define CONFIG_MXC_OCOTP > +#ifdef CONFIG_DISTRO_DEFAULTS > +#include <config_distro_defaults.h> > + > +#include <config_distro_bootcmd.h> > + > +#define CONFIG_EXTRA_DEFAULT_ENV_SETTINGS \ > + "fdtfile=" CONFIG_FDTFILE "\0" \ > + "fdt_addr_r=" __stringify(CONFIG_FDTADDR) "\0" \ > + "fdt_addr=" __stringify(CONFIG_FDTADDR) "\0" \ > + "kernel_addr_r=" __stringify(CONFIG_LOADADDR) "\0" \ > + "pxefile_addr_r=" __stringify(CONFIG_LOADADDR) "\0" \ > + "scriptaddr=" __stringify(CONFIG_LOADADDR) "\0" \ > + "ramdisk_addr_r=" __stringify(CONFIG_RAMDISKADDR) "\0" \ > + "ramdiskaddr=" __stringify(CONFIG_RAMDISKADDR) "\0" \ > + BOOTENV > + > +#endif > + > #endif > diff --git a/include/configs/nitrogen6x.h b/include/configs/nitrogen6x.h > index b651eb3..b2708e9 100644 > --- a/include/configs/nitrogen6x.h > +++ b/include/configs/nitrogen6x.h > @@ -10,8 +10,6 @@ > #ifndef __CONFIG_H > #define __CONFIG_H > -#include "mx6_common.h" > - > #define CONFIG_MACH_TYPE 3769 > /* Size of malloc() pool */ > @@ -38,9 +36,9 @@ > /* I2C Configs */ > #define CONFIG_SYS_I2C > #define CONFIG_SYS_I2C_MXC > -#define CONFIG_SYS_I2C_MXC_I2C1 /* enable I2C bus 1 */ > -#define CONFIG_SYS_I2C_MXC_I2C2 /* enable I2C bus 2 */ > -#define CONFIG_SYS_I2C_MXC_I2C3 /* enable I2C bus 3 */ > +#define CONFIG_SYS_I2C_MXC_I2C1 /* enable I2C bus 1 */ > +#define CONFIG_SYS_I2C_MXC_I2C2 /* enable I2C bus 2 */ > +#define CONFIG_SYS_I2C_MXC_I2C3 /* enable I2C bus 3 */ > #define CONFIG_SYS_I2C_SPEED 100000 > #define CONFIG_I2C_EDID > @@ -113,6 +111,8 @@ > #define CONFIG_PREBOOT "" > +#ifndef CONFIG_DISTRO_DEFAULTS > + > #ifdef CONFIG_CMD_SATA > #define CONFIG_DRIVE_SATA "sata " > #else > @@ -266,6 +266,32 @@ > "done\0" \ > #endif > + > +#else > + > +#if defined(CONFIG_SABRELITE) > +#define CONFIG_FDTFILE "imx6q-sabrelite.dtb" > +#else > +#define CONFIG_FDTFILE "imx6q-nitrogen6x.dtb" > +#endif > + > +#define CONFIG_FDTADDR 0x18000000 > + > +#define BOOT_TARGET_DEVICES(func) \ > + func(MMC, mmc, 0) \ > + func(MMC, mmc, 1) \ > + func(SATA, sata, 0) \ > + func(USB, usb, 0) \ > + func(PXE, pxe, na) \ > + func(DHCP, dhcp, na) > + > +#define CONFIG_EXTRA_ENV_SETTINGS \ > + CONFIG_EXTRA_DEFAULT_ENV_SETTINGS > + > +#endif > + > +#include "mx6_common.h" > + > /* Miscellaneous configurable options */ > #define CONFIG_SYS_MEMTEST_START 0x10000000 > #define CONFIG_SYS_MEMTEST_END 0x10010000 > @@ -327,4 +353,4 @@ > #define CONFIG_FASTBOOT_BUF_ADDR CONFIG_SYS_LOAD_ADDR > #define CONFIG_FASTBOOT_BUF_SIZE 0x07000000 > -#endif /* __CONFIG_H */ > +#endif /* __CONFIG_H */ CC to Troy as nitrogen's maintainer. On my side: Reviewed-by: Stefano Babic <sba...@denx.de> Best regards, Stefano Babic -- ===================================================================== DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sba...@denx.de ===================================================================== _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot