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

Simon Glass sjg at chromium.org
Tue Oct 28 01:04:06 CET 2014


Hi Hans,

On 24 October 2014 02:38, Hans de Goede <hdegoede at 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 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

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.

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

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


More information about the U-Boot mailing list