Message ID | 1414036962-28463-3-git-send-email-sjg@chromium.org |
---|---|
State | Superseded |
Delegated to: | Hans de Goede |
Headers | show |
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 > 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
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. > >> 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
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: >> >> 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
Hi Hans, On 28 October 2014 03:13, Hans de Goede <hdegoede@redhat.com> wrote: > 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: >>> >>> 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. OK fair enough, but actually I feel that this should be unrelated to my change. The CONFIG_DEFAULT_DEVICE_TREE setting is used by all boards that use device tree. It seems that CONFIG_FDTFILE is used in a few places but is not very widespread. So I suppose what I am saying is, how about you do the patch you are talking about? I need to be careful to focus on drivel model changes and not boil the ocearn, or I will never get done! > > >> >>> >>> >>>> +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
Hi, On 10/29/2014 04:02 AM, Simon Glass wrote: > Hi Hans, > > On 28 October 2014 03:13, Hans de Goede <hdegoede@redhat.com> wrote: >> 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: >>>> >>>> 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. > > OK fair enough, but actually I feel that this should be unrelated to > my change. The CONFIG_DEFAULT_DEVICE_TREE setting is used by all > boards that use device tree. It seems that CONFIG_FDTFILE is used in a > few places but is not very widespread. > > So I suppose what I am saying is, how about you do the patch you are > talking about? I need to be careful to focus on drivel model changes > and not boil the ocearn, or I will never get done! Ok, I lets leave this bit of the patch as is then, and I'll put fixing this on my todo list. So... > >> >> >>> >>>> >>>> >>>>> +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. If you can do a respin based on tip of the latest master and with this one small item fixed, then I'll queue up your patches in u-boot-sunxi/next Thanks & Regards, Hans
Hi Hans, On 29 October 2014 03:32, Hans de Goede <hdegoede@redhat.com> wrote: > Hi, > > On 10/29/2014 04:02 AM, Simon Glass wrote: >> Hi Hans, >> >> On 28 October 2014 03:13, Hans de Goede <hdegoede@redhat.com> wrote: >>> 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: >>>>> >>>>> 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. >> >> OK fair enough, but actually I feel that this should be unrelated to >> my change. The CONFIG_DEFAULT_DEVICE_TREE setting is used by all >> boards that use device tree. It seems that CONFIG_FDTFILE is used in a >> few places but is not very widespread. >> >> So I suppose what I am saying is, how about you do the patch you are >> talking about? I need to be careful to focus on drivel model changes >> and not boil the ocearn, or I will never get done! > > Ok, I lets leave this bit of the patch as is then, and I'll put fixing this > on my todo list. > > So... Thank you, you are very kind :-) I still have a sunxi board and expect to be doing more here in future, but right now am a bit tight for time. > >> >>> >>> >>>> >>>>> >>>>> >>>>>> +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. > > If you can do a respin based on tip of the latest master and with this one > small item fixed, then I'll queue up your patches in u-boot-sunxi/next I will respin with the changes and retest. I was planning to bring it through -dm with suitable acks, but it is all sunxi stuff now and there are no DM-dependent patches outstanding, so going through sunxi sounds good. But would like to make sure it merges to mainline next week. Regards, Simon
Hi, On 10/29/2014 08:30 PM, Simon Glass wrote: > Hi Hans, > > On 29 October 2014 03:32, Hans de Goede <hdegoede@redhat.com> wrote: <snip> >> If you can do a respin based on tip of the latest master and with this one >> small item fixed, then I'll queue up your patches in u-boot-sunxi/next > > I will respin with the changes and retest. I was planning to bring it > through -dm with suitable acks, but it is all sunxi stuff now and > there are no DM-dependent patches outstanding, so going through sunxi > sounds good. But would like to make sure it merges to mainline next > week. I can do a pull-req as soon as you've a v3 ready. Or if you prefer you can take this in through the dm tree, that works for me too. In that case consider this patch: Acked-by: Hans de Goede <hdegoede@redhat.com> Once the CONFIG_CMD_DM defining code block has been moved to sunxi-common.h Regards, Hans
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 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" +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 + /* * Include common sunxi configuration where most the settings are */
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