
Hi,
On 10/28/2014 01:04 AM, Simon Glass wrote:
Hi Hans,
On 24 October 2014 02:38, Hans de Goede hdegoede@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 sjg@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:
- board/sunxi/Kconfig
- various board/*_defconfig files
- 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