[U-Boot] [U-Boot, v2, 2/6] dm: sunxi: Add a new config for an FDT-based pcDuino3

Hans de Goede hdegoede at redhat.com
Fri Oct 24 10:38:37 CEST 2014


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 at 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

>  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


> +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 ?

>  /*
>   * Include common sunxi configuration where most the settings are
>   */
> 

Regards,

Hans


More information about the U-Boot mailing list