Hi, On 10/28/2014 01:04 AM, Simon Glass wrote: > Hi Hans, > > On 24 October 2014 02:38, Hans de Goede <hdego...@redhat.com> wrote: >> Hi, >> >> On 10/23/2014 06:02 AM, Simon Glass wrote: >>> For now we won't want to mess with the existing configurations. Create a >>> new one which will enable device tree and driver model. Note that this >>> brings the device tree binary into u-boot-sunxi-with-spl.bin. >>> >>> Signed-off-by: Simon Glass <s...@chromium.org> >>> --- >>> >>> Changes in v2: None >>> >>> Makefile | 3 ++- >>> arch/arm/dts/Makefile | 1 + >>> board/sunxi/MAINTAINERS | 1 + >>> configs/Linksprite_pcDuino3_fdt_defconfig | 8 ++++++++ >>> include/configs/sun7i.h | 4 ++++ >>> 5 files changed, 16 insertions(+), 1 deletion(-) >>> create mode 100644 configs/Linksprite_pcDuino3_fdt_defconfig >>> >>> diff --git a/Makefile b/Makefile >>> index 99097e1..816f859 100644 >>> --- a/Makefile >>> +++ b/Makefile >>> @@ -941,7 +941,8 @@ u-boot-nand.gph: u-boot.bin FORCE >>> ifneq ($(CONFIG_SUNXI),) >>> OBJCOPYFLAGS_u-boot-sunxi-with-spl.bin = -I binary -O binary \ >>> --pad-to=$(CONFIG_SPL_PAD_TO) >>> --gap-fill=0xff >>> -u-boot-sunxi-with-spl.bin: spl/sunxi-spl.bin u-boot.img FORCE >>> +u-boot-sunxi-with-spl.bin: spl/sunxi-spl.bin \ >>> + u-boot$(if $(CONFIG_OF_CONTROL),-dtb,).img FORCE >>> $(call if_changed,pad_cat) >>> endif >>> >>> diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile >>> index 3299817..564eb76 100644 >>> --- a/arch/arm/dts/Makefile >>> +++ b/arch/arm/dts/Makefile >>> @@ -1,3 +1,4 @@ >>> +dtb-$(CONFIG_SUN7I) += sun7i-a20-pcduino3.dtb >> >> Please make this >> >> dtb-$(CONFIG_PCDUINO3) += sun7i-a20-pcduino3.dtb > > Well I can do that, but this should have no effect if we don't define > CONFIG_OF_CONTROL. The way I have it we will be able to add more > device tree files for sun7x without anyone having to change it. The > target should build all sun7i device trees eventually.
Ah, I see, ok lets keep this as is then. > >> >>> dtb-$(CONFIG_S5PC100) += s5pc1xx-smdkc100.dtb >>> dtb-$(CONFIG_S5PC110) += s5pc1xx-goni.dtb >>> dtb-$(CONFIG_EXYNOS4) += exynos4210-origen.dtb \ >>> diff --git a/board/sunxi/MAINTAINERS b/board/sunxi/MAINTAINERS >>> index 4f32195..3dbfe15 100644 >>> --- a/board/sunxi/MAINTAINERS >>> +++ b/board/sunxi/MAINTAINERS >>> @@ -21,6 +21,7 @@ F: configs/A20-OLinuXino_MICRO_defconfig >>> F: configs/Bananapi_defconfig >>> F: configs/i12-tvbox_defconfig >>> F: configs/Linksprite_pcDuino3_defconfig >>> +F: configs/Linksprite_pcDuino3_fdt_defconfig >>> F: configs/qt840a_defconfig >>> >>> CUBIEBOARD2 BOARD >>> diff --git a/configs/Linksprite_pcDuino3_fdt_defconfig >>> b/configs/Linksprite_pcDuino3_fdt_defconfig >>> new file mode 100644 >>> index 0000000..e5f6236 >>> --- /dev/null >>> +++ b/configs/Linksprite_pcDuino3_fdt_defconfig >>> @@ -0,0 +1,8 @@ >>> +CONFIG_SPL=y >>> +CONFIG_SYS_EXTRA_OPTIONS="PCDUINO3,AXP209_POWER,SUNXI_GMAC,AHCI,SATAPWR=SUNXI_GPH(2),USB_EHCI,DM" >>> +CONFIG_FDTFILE="sun7i-a20-pcduino3.dtb" >>> +CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-pcduino3" >> >> Hmm, I don't like this doubling of info. CONFIG_FDTFILE is sort of a sunxi >> specific thing >> here (some other boards have local usage of its too, but it is not used >> globably. >> >> Can you do a patch (and prepend it to this one in the next posting of this >> series), >> which replaces sunxi's CONFIG_FDTFILE usage with CONFIG_DEFAULT_DEVICE_TREE, >> dropping >> the .dtb appending in the defconfigs and instead append the .dtb in >> include/configs/sunxi-commom.h >> >> Note sunxi uses CONFIG_FDTFILE in 3 places: >> >> 1) board/sunxi/Kconfig >> 2) various board/*_defconfig files >> 3) include/configs/sunxi-common.h > > But isn't that used for passing to the kernel? Do you want to drop the > ability to have a separate file for each? A good question, there are 2 things here: 1) This is just the filename, it gets combined with a "basedir" set through extlinux.conf when booting the real kernel, so they can still be different 2) TBH even if this would make it mandatory for them to be 1 and the same file, I would not consider that a problem, I would very much like to avoid the need to have separate u-boot and kernel devicetree flavors for sunxi. > >> >> >>> +CONFIG_OF_CONTROL=y >>> +CONFIG_OF_SEPARATE=y >>> ++S:CONFIG_ARM=y >>> ++S:CONFIG_TARGET_SUN7I=y >>> diff --git a/include/configs/sun7i.h b/include/configs/sun7i.h >>> index a902b84..500d0e3 100644 >>> --- a/include/configs/sun7i.h >>> +++ b/include/configs/sun7i.h >>> @@ -36,6 +36,10 @@ >>> #define CONFIG_ARMV7_SECURE_BASE SUNXI_SRAM_B_BASE >>> #define CONFIG_SYS_CLK_FREQ 24000000 >>> >>> +#if !defined(CONFIG_SPL_BUILD) && defined(CONFIG_DM) >>> +# define CONFIG_CMD_DM >>> +#endif >>> + >> >> Can you please put this in include/configs/sunxi-common.h instead ? > > OK will do. > >> >>> /* >>> * Include common sunxi configuration where most the settings are >>> */ > > Regards, > Simon > Regards, Hans _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot