* [Buildroot] [PATCH] boot/mv-ddr-marvell: support custom GIT settings @ 2018-12-24 13:18 kostap at marvell.com 2018-12-24 18:57 ` Yann E. MORIN 0 siblings, 1 reply; 9+ messages in thread From: kostap at marvell.com @ 2018-12-24 13:18 UTC (permalink / raw) To: buildroot From: Konstantin Porotchkin <kostap@marvell.com> Add support for custom repositories for mv-ddr-marvell sources. This patch allows getting the mv-ddr-marvell package sources out of user-defined repositories. The configuration options are similar to uboot package - once the BR2_TARGET_MV_DDR_MARVELL_CUSTOM_GIT=y, the following configuration entries are used for fetching the package sources: BR2_TARGET_MV_DDR_MARVELL_CUSTOM_REPO_URL BR2_TARGET_MV_DDR_MARVELL_CUSTOM_REPO_VERSION Change-Id: Ibdef65a3ccdfbe47123f27ab6ba311a75d66d50e Signed-off-by: Konstantin Porotchkin <kostap@marvell.com> --- boot/mv-ddr-marvell/Config.in | 16 ++++++++++++++++ boot/mv-ddr-marvell/mv-ddr-marvell.mk | 7 +++++++ 2 files changed, 23 insertions(+) diff --git a/boot/mv-ddr-marvell/Config.in b/boot/mv-ddr-marvell/Config.in index 4ee8c95b2c..0a9ed7aca5 100644 --- a/boot/mv-ddr-marvell/Config.in +++ b/boot/mv-ddr-marvell/Config.in @@ -8,3 +8,19 @@ config BR2_TARGET_MV_DDR_MARVELL and 8040 SoCs. https://github.com/MarvellEmbeddedProcessors/mv-ddr-marvell/ + +config BR2_TARGET_MV_DDR_MARVELL_CUSTOM_GIT + bool "Custom Git repository" + +if BR2_TARGET_MV_DDR_MARVELL_CUSTOM_GIT + +config BR2_TARGET_MV_DDR_MARVELL_CUSTOM_REPO_URL + string "URL of custom repository" + +config BR2_TARGET_MV_DDR_MARVELL_CUSTOM_REPO_VERSION + string "Custom repository version" + help + Revision to use in the typical format used by Git + E.G. a sha id, a tag, branch, .. + +endif diff --git a/boot/mv-ddr-marvell/mv-ddr-marvell.mk b/boot/mv-ddr-marvell/mv-ddr-marvell.mk index 8d508215f8..100aaccb5f 100644 --- a/boot/mv-ddr-marvell/mv-ddr-marvell.mk +++ b/boot/mv-ddr-marvell/mv-ddr-marvell.mk @@ -4,9 +4,16 @@ # ################################################################################ +ifeq ($(BR2_TARGET_MV_DDR_MARVELL_CUSTOM_GIT),y) +MV_DDR_MARVELL_VERSION = $(call qstrip,$(BR2_TARGET_MV_DDR_MARVELL_CUSTOM_REPO_VERSION)) +MV_DDR_MARVELL_SITE = $(call qstrip,$(BR2_TARGET_MV_DDR_MARVELL_CUSTOM_REPO_URL)) +MV_DDR_MARVELL_SITE_METHOD = git +BR_NO_CHECK_HASH_FOR += $(MV_DDR_MARVELL_SOURCE) +else # This is the commit for mv_ddr-armada-18.09.2 MV_DDR_MARVELL_VERSION = 99d772547314f84921268d57e53d8769197d3e21 MV_DDR_MARVELL_SITE = $(call github,MarvellEmbeddedProcessors,mv-ddr-marvell,$(MV_DDR_MARVELL_VERSION)) +endif MV_DDR_MARVELL_LICENSE = GPL-2.0+ or LGPL-2.1 with freertos-exception-2.0, BSD-3-Clause, Marvell Commercial MV_DDR_MARVELL_LICENSE_FILES = ddr3_init.c -- 2.17.1 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH] boot/mv-ddr-marvell: support custom GIT settings 2018-12-24 13:18 [Buildroot] [PATCH] boot/mv-ddr-marvell: support custom GIT settings kostap at marvell.com @ 2018-12-24 18:57 ` Yann E. MORIN 2018-12-25 9:09 ` [Buildroot] [EXT] " Kostya Porotchkin 0 siblings, 1 reply; 9+ messages in thread From: Yann E. MORIN @ 2018-12-24 18:57 UTC (permalink / raw) To: buildroot Konstantin, All, On 2018-12-24 15:18 +0200, kostap at marvell.com spake thusly: > From: Konstantin Porotchkin <kostap@marvell.com> > > Add support for custom repositories for mv-ddr-marvell sources. > This patch allows getting the mv-ddr-marvell package sources > out of user-defined repositories. > The configuration options are similar to uboot package - once > the BR2_TARGET_MV_DDR_MARVELL_CUSTOM_GIT=y, the following > configuration entries are used for fetching the package sources: > BR2_TARGET_MV_DDR_MARVELL_CUSTOM_REPO_URL > BR2_TARGET_MV_DDR_MARVELL_CUSTOM_REPO_VERSION > > Change-Id: Ibdef65a3ccdfbe47123f27ab6ba311a75d66d50e No need for this 'Change-Id' because it means nothing to us. > Signed-off-by: Konstantin Porotchkin <kostap@marvell.com> > --- > boot/mv-ddr-marvell/Config.in | 16 ++++++++++++++++ > boot/mv-ddr-marvell/mv-ddr-marvell.mk | 7 +++++++ > 2 files changed, 23 insertions(+) > > diff --git a/boot/mv-ddr-marvell/Config.in b/boot/mv-ddr-marvell/Config.in > index 4ee8c95b2c..0a9ed7aca5 100644 > --- a/boot/mv-ddr-marvell/Config.in > +++ b/boot/mv-ddr-marvell/Config.in > @@ -8,3 +8,19 @@ config BR2_TARGET_MV_DDR_MARVELL > and 8040 SoCs. > > https://github.com/MarvellEmbeddedProcessors/mv-ddr-marvell/ > + > +config BR2_TARGET_MV_DDR_MARVELL_CUSTOM_GIT > + bool "Custom Git repository" I think I would prefer that we have a choice selection, like for U-Boot for example: choice bool "mv-ddr-marvell version" config BR2_TARGET_MV_DDR_MARVELL_MARVELL bool "Marvell github" # Maybe get a better prompt here? config BR2_TARGET_MV_DDR_MARVELL_CUSTOM_GIT bool "Custom Git repository" endchoice if BR2_TARGET_MV_DDR_MARVELL_CUSTOM_GIT config BR2_TARGET_MV_DDR_MARVELL_CUSTOM_REPO_URL string "URL of custom repository" config BR2_TARGET_MV_DDR_MARVELL_CUSTOM_REPO_VERSION string "Custom repository version" endif # BR2_TARGET_MV_DDR_MARVELL_CUSTOM_GIT Otherwise, we usually frown upon adding custom location to packages. Is it customary for board integrators to have local adaptations to this, like there is for u-boot and the other bootloaders? As I see you're an @marvell.com, do you need that to use an internal repository during development? If so, then why can't you just use the OVERRIDE_SRCDIR mechanism instead? Regards, Yann E. MORIN. > +if BR2_TARGET_MV_DDR_MARVELL_CUSTOM_GIT > + > +config BR2_TARGET_MV_DDR_MARVELL_CUSTOM_REPO_URL > + string "URL of custom repository" > + > +config BR2_TARGET_MV_DDR_MARVELL_CUSTOM_REPO_VERSION > + string "Custom repository version" > + help > + Revision to use in the typical format used by Git > + E.G. a sha id, a tag, branch, .. > + > +endif > diff --git a/boot/mv-ddr-marvell/mv-ddr-marvell.mk b/boot/mv-ddr-marvell/mv-ddr-marvell.mk > index 8d508215f8..100aaccb5f 100644 > --- a/boot/mv-ddr-marvell/mv-ddr-marvell.mk > +++ b/boot/mv-ddr-marvell/mv-ddr-marvell.mk > @@ -4,9 +4,16 @@ > # > ################################################################################ > > +ifeq ($(BR2_TARGET_MV_DDR_MARVELL_CUSTOM_GIT),y) > +MV_DDR_MARVELL_VERSION = $(call qstrip,$(BR2_TARGET_MV_DDR_MARVELL_CUSTOM_REPO_VERSION)) > +MV_DDR_MARVELL_SITE = $(call qstrip,$(BR2_TARGET_MV_DDR_MARVELL_CUSTOM_REPO_URL)) > +MV_DDR_MARVELL_SITE_METHOD = git > +BR_NO_CHECK_HASH_FOR += $(MV_DDR_MARVELL_SOURCE) > +else > # This is the commit for mv_ddr-armada-18.09.2 > MV_DDR_MARVELL_VERSION = 99d772547314f84921268d57e53d8769197d3e21 > MV_DDR_MARVELL_SITE = $(call github,MarvellEmbeddedProcessors,mv-ddr-marvell,$(MV_DDR_MARVELL_VERSION)) > +endif > MV_DDR_MARVELL_LICENSE = GPL-2.0+ or LGPL-2.1 with freertos-exception-2.0, BSD-3-Clause, Marvell Commercial > MV_DDR_MARVELL_LICENSE_FILES = ddr3_init.c > > -- > 2.17.1 > > _______________________________________________ > buildroot mailing list > buildroot at busybox.net > http://lists.busybox.net/mailman/listinfo/buildroot -- .-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------' ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] [EXT] Re: [PATCH] boot/mv-ddr-marvell: support custom GIT settings 2018-12-24 18:57 ` Yann E. MORIN @ 2018-12-25 9:09 ` Kostya Porotchkin 2018-12-26 10:31 ` Thomas Petazzoni 0 siblings, 1 reply; 9+ messages in thread From: Kostya Porotchkin @ 2018-12-25 9:09 UTC (permalink / raw) To: buildroot Hi, Yann, > -----Original Message----- > From: Yann E. MORIN <yann.morin.1998@gmail.com> On Behalf Of Yann E. > MORIN > Sent: Monday, December 24, 2018 20:58 > To: Kostya Porotchkin <kostap@marvell.com> > Cc: buildroot at buildroot.org > Subject: [EXT] Re: [Buildroot] [PATCH] boot/mv-ddr-marvell: support custom > GIT settings > > External Email > > ---------------------------------------------------------------------- > Konstantin, All, > > On 2018-12-24 15:18 +0200, kostap at marvell.com spake thusly: > > From: Konstantin Porotchkin <kostap@marvell.com> > > > > Add support for custom repositories for mv-ddr-marvell sources. > > This patch allows getting the mv-ddr-marvell package sources out of > > user-defined repositories. > > The configuration options are similar to uboot package - once the > > BR2_TARGET_MV_DDR_MARVELL_CUSTOM_GIT=y, the following > configuration > > entries are used for fetching the package sources: > > BR2_TARGET_MV_DDR_MARVELL_CUSTOM_REPO_URL > > BR2_TARGET_MV_DDR_MARVELL_CUSTOM_REPO_VERSION > > > > Change-Id: Ibdef65a3ccdfbe47123f27ab6ba311a75d66d50e > > No need for this 'Change-Id' because it means nothing to us. [KP] OK, I will strip it > > > Signed-off-by: Konstantin Porotchkin <kostap@marvell.com> > > --- > > boot/mv-ddr-marvell/Config.in | 16 ++++++++++++++++ > > boot/mv-ddr-marvell/mv-ddr-marvell.mk | 7 +++++++ > > 2 files changed, 23 insertions(+) > > > > diff --git a/boot/mv-ddr-marvell/Config.in > > b/boot/mv-ddr-marvell/Config.in index 4ee8c95b2c..0a9ed7aca5 100644 > > --- a/boot/mv-ddr-marvell/Config.in > > +++ b/boot/mv-ddr-marvell/Config.in > > @@ -8,3 +8,19 @@ config BR2_TARGET_MV_DDR_MARVELL > > and 8040 SoCs. > > > > https://github.com/MarvellEmbeddedProcessors/mv-ddr-marvell/ > > + > > +config BR2_TARGET_MV_DDR_MARVELL_CUSTOM_GIT > > + bool "Custom Git repository" > > I think I would prefer that we have a choice selection, like for U-Boot for > example: > > choice > bool "mv-ddr-marvell version" > > config BR2_TARGET_MV_DDR_MARVELL_MARVELL > bool "Marvell github" # Maybe get a better prompt here? > > config BR2_TARGET_MV_DDR_MARVELL_CUSTOM_GIT > bool "Custom Git repository" > > endchoice [KP] OK, it's doable. I was less thinking about "menuconfig" when making this change, but it will be better to have a choice for such case. > > if BR2_TARGET_MV_DDR_MARVELL_CUSTOM_GIT > > config BR2_TARGET_MV_DDR_MARVELL_CUSTOM_REPO_URL > string "URL of custom repository" > > config BR2_TARGET_MV_DDR_MARVELL_CUSTOM_REPO_VERSION > string "Custom repository version" > > endif # BR2_TARGET_MV_DDR_MARVELL_CUSTOM_GIT > > Otherwise, we usually frown upon adding custom location to packages. Is it > customary for board integrators to have local adaptations to this, like there is > for u-boot and the other bootloaders? > > As I see you're an @marvell.com, do you need that to use an internal > repository during development? If so, then why can't you just use the > OVERRIDE_SRCDIR mechanism instead? [KP] It is more than just a local repository. I have to allow CI server to automatically build test and release images from the current internal GIT trees. I am trying to make the Buildroot a package manager for Marvell SDK releases. Regards Kosta > > Regards, > Yann E. MORIN. > > > +if BR2_TARGET_MV_DDR_MARVELL_CUSTOM_GIT > > + > > +config BR2_TARGET_MV_DDR_MARVELL_CUSTOM_REPO_URL > > + string "URL of custom repository" > > + > > +config BR2_TARGET_MV_DDR_MARVELL_CUSTOM_REPO_VERSION > > + string "Custom repository version" > > + help > > + Revision to use in the typical format used by Git > > + E.G. a sha id, a tag, branch, .. > > + > > +endif > > diff --git a/boot/mv-ddr-marvell/mv-ddr-marvell.mk > > b/boot/mv-ddr-marvell/mv-ddr-marvell.mk > > index 8d508215f8..100aaccb5f 100644 > > --- a/boot/mv-ddr-marvell/mv-ddr-marvell.mk > > +++ b/boot/mv-ddr-marvell/mv-ddr-marvell.mk > > @@ -4,9 +4,16 @@ > > # > > > > > ########################################################## > ############ > > ########## > > > > +ifeq ($(BR2_TARGET_MV_DDR_MARVELL_CUSTOM_GIT),y) > > +MV_DDR_MARVELL_VERSION = $(call > > +qstrip,$(BR2_TARGET_MV_DDR_MARVELL_CUSTOM_REPO_VERSION)) > > +MV_DDR_MARVELL_SITE = $(call > > +qstrip,$(BR2_TARGET_MV_DDR_MARVELL_CUSTOM_REPO_URL)) > > +MV_DDR_MARVELL_SITE_METHOD = git > > +BR_NO_CHECK_HASH_FOR += $(MV_DDR_MARVELL_SOURCE) else > > # This is the commit for mv_ddr-armada-18.09.2 > > MV_DDR_MARVELL_VERSION = > 99d772547314f84921268d57e53d8769197d3e21 > > MV_DDR_MARVELL_SITE = $(call > > github,MarvellEmbeddedProcessors,mv-ddr- > marvell,$(MV_DDR_MARVELL_VERSI > > ON)) > > +endif > > MV_DDR_MARVELL_LICENSE = GPL-2.0+ or LGPL-2.1 with > > freertos-exception-2.0, BSD-3-Clause, Marvell Commercial > > MV_DDR_MARVELL_LICENSE_FILES = ddr3_init.c > > > > -- > > 2.17.1 > > > > _______________________________________________ > > buildroot mailing list > > buildroot at busybox.net > > http://lists.busybox.net/mailman/listinfo/buildroot > > -- > .-----------------.--------------------.------------------.--------------------. > | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' > | conspiracy: | > | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | > | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | > | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | > '------------------------------^-------^------------------^--------------------' ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] [EXT] Re: [PATCH] boot/mv-ddr-marvell: support custom GIT settings 2018-12-25 9:09 ` [Buildroot] [EXT] " Kostya Porotchkin @ 2018-12-26 10:31 ` Thomas Petazzoni 2018-12-26 10:59 ` Kostya Porotchkin 0 siblings, 1 reply; 9+ messages in thread From: Thomas Petazzoni @ 2018-12-26 10:31 UTC (permalink / raw) To: buildroot Hello Kostya, On Tue, 25 Dec 2018 09:09:26 +0000, Kostya Porotchkin wrote: > > As I see you're an @marvell.com, do you need that to use an internal > > repository during development? If so, then why can't you just use the > > OVERRIDE_SRCDIR mechanism instead? > [KP] It is more than just a local repository. I have to allow CI server to automatically build test and release images from the current internal GIT trees. Sorry, but this is not a valid justification. With this justification, we would have to add version selection to *all* Buildroot packages. Indeed, one might want to do CI testing on any random user-space library or application. So if your use-case for wanting version selection in mv-ddr-marvell is CI testing, then we won't accept this patch. However, if people porting ATF/U-Boot to new Marvell-based platforms need to have their own custom version of mv-ddr-marvell, then having version selection can be accepted because it puts this package in the same situation as uboot, linux or atf, where we do offer version selection. Best regards, Thomas -- Thomas Petazzoni, CTO, Bootlin Embedded Linux and Kernel engineering https://bootlin.com ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] [EXT] Re: [PATCH] boot/mv-ddr-marvell: support custom GIT settings 2018-12-26 10:31 ` Thomas Petazzoni @ 2018-12-26 10:59 ` Kostya Porotchkin 2018-12-26 11:25 ` Yann E. MORIN 0 siblings, 1 reply; 9+ messages in thread From: Kostya Porotchkin @ 2018-12-26 10:59 UTC (permalink / raw) To: buildroot Hi, Thomas, > -----Original Message----- > From: Thomas Petazzoni <thomas.petazzoni@bootlin.com> > Sent: Wednesday, December 26, 2018 12:32 > To: Kostya Porotchkin <kostap@marvell.com> > Cc: Yann E. MORIN <yann.morin.1998@free.fr>; buildroot at buildroot.org > Subject: Re: [Buildroot] [EXT] Re: [PATCH] boot/mv-ddr-marvell: support > custom GIT settings > > Hello Kostya, > > On Tue, 25 Dec 2018 09:09:26 +0000, Kostya Porotchkin wrote: > > > > As I see you're an @marvell.com, do you need that to use an internal > > > repository during development? If so, then why can't you just use > > > the OVERRIDE_SRCDIR mechanism instead? > > [KP] It is more than just a local repository. I have to allow CI server to > automatically build test and release images from the current internal GIT > trees. > > Sorry, but this is not a valid justification. With this justification, we would > have to add version selection to *all* Buildroot packages. > Indeed, one might want to do CI testing on any random user-space library or > application. So if your use-case for wanting version selection in mv-ddr- > marvell is CI testing, then we won't accept this patch. [KP] Understand. We can keep this change private if you think others will not benefit from it. > > However, if people porting ATF/U-Boot to new Marvell-based platforms > need to have their own custom version of mv-ddr-marvell, then having > version selection can be accepted because it puts this package in the same > situation as uboot, linux or atf, where we do offer version selection. [KP] I am trying to find a reason for customer to use different mv-ddr releases. It may happen if a customer wants to use older ATF base, for instance v1.3 instead of v1.5 or v2.0. In such case the DDR API in latest mv-ddr release will not be compatible with it and the build will fail. Another reason is a customer willing to use latest fixes in mv-ddr GIT prior to the official release drop. For instance, the new V7 Espressobin boards were released with DDR4 chips, while our official SW only supported DDR3. So the new board customers were forced to use outdated SW from vendor builds that supported such memory type. Regards Kosta > > Best regards, > > Thomas > -- > Thomas Petazzoni, CTO, Bootlin > Embedded Linux and Kernel engineering > https://bootlin.com ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] [EXT] Re: [PATCH] boot/mv-ddr-marvell: support custom GIT settings 2018-12-26 10:59 ` Kostya Porotchkin @ 2018-12-26 11:25 ` Yann E. MORIN 2018-12-26 12:33 ` Kostya Porotchkin 2018-12-26 13:30 ` Thomas Petazzoni 0 siblings, 2 replies; 9+ messages in thread From: Yann E. MORIN @ 2018-12-26 11:25 UTC (permalink / raw) To: buildroot Kostya, All, Thomas, questions for you at the end. ;-) On 2018-12-26 10:59 +0000, Kostya Porotchkin spake thusly: > > -----Original Message----- > > From: Thomas Petazzoni <thomas.petazzoni@bootlin.com> > > Sent: Wednesday, December 26, 2018 12:32 > > To: Kostya Porotchkin <kostap@marvell.com> > > Cc: Yann E. MORIN <yann.morin.1998@free.fr>; buildroot at buildroot.org > > Subject: Re: [Buildroot] [EXT] Re: [PATCH] boot/mv-ddr-marvell: support > > custom GIT settings > > > > Hello Kostya, > > > > On Tue, 25 Dec 2018 09:09:26 +0000, Kostya Porotchkin wrote: > > > > > > As I see you're an @marvell.com, do you need that to use an internal > > > > repository during development? If so, then why can't you just use > > > > the OVERRIDE_SRCDIR mechanism instead? > > > [KP] It is more than just a local repository. I have to allow CI server to > > automatically build test and release images from the current internal GIT > > trees. > > > > Sorry, but this is not a valid justification. With this justification, we would > > have to add version selection to *all* Buildroot packages. > > Indeed, one might want to do CI testing on any random user-space library or > > application. So if your use-case for wanting version selection in mv-ddr- > > marvell is CI testing, then we won't accept this patch. > [KP] Understand. We can keep this change private if you think others will not benefit from it. If one wants a CI job to test a specific commit of a package, then this CI job has to be able to update the .config file and/or the defconfig file to point to the new commit to test anyway, so this already means there is a bit of "scripting" around to prepare for the test. What we recommend in this case, is that said "scripting": - does a git-clone (or whatvere VCS one is using) to a temporary location (and since those CI jobs more often than not, use a docker or docker-like container to run the job, this is by nature ephemeral and temporary), e.g. something not unlike: git clone ${CI_JOB_URL} /path/to/temp/git/clone/${CI_JOB_NAME} - create a local.mk file in the Buildroot build directory, that contains the definition for a package override-srcdir, like: ${CI_JOB_NAME_UPPER}_OVERRIDE_SRCDIR = /path/to/temp/git/clone/${CI_JOB_NAME} Which is a generic way to tell buildroot to use a specific local tree. It is true that we usually advertise this override-srcdir mechanism for development purposes, but it is also applicable for the CI testing stuff as well. As you also said eralier, you plan on using Buildroot as your "SDK" (not sure I grok all you said). I thus understand that it will be public in the end, so when you actually release a version of your "SDK", it would point to a released and plublic commit of the official mv-dd-rmarvell git tree on Github, so that means at some point someone will internaly prepare that and submit a version update in Buildroot. ;-) > > However, if people porting ATF/U-Boot to new Marvell-based platforms > > need to have their own custom version of mv-ddr-marvell, then having > > version selection can be accepted because it puts this package in the same > > situation as uboot, linux or atf, where we do offer version selection. > [KP] I am trying to find a reason for customer to use different mv-ddr releases. > It may happen if a customer wants to use older ATF base, for instance v1.3 instead of v1.5 or v2.0. > In such case the DDR API in latest mv-ddr release will not be compatible with it and the build will fail. > Another reason is a customer willing to use latest fixes in mv-ddr GIT prior to the official release drop. > For instance, the new V7 Espressobin boards were released with DDR4 chips, while our official SW only supported DDR3. > So the new board customers were forced to use outdated SW from vendor builds that supported such memory type. This is a kind of justification that would make us accept a version choice, though. If there are reasons that people have to have a local modified tree because they are porting it to their own devices, then it makes sense we allow them to use a custom git tree, as Thomas said. So, before reposting a new version: - I'd like Thomas to confirm we want to use a choice, like for the others where we allow using a custom VCS tree, - update your commit log to use the per-device customisation requirement as a justification for this change, not the CI testing. ;-) Thomas, is that OK with you, in the end? Regards, Yann E. MORIN. -- .-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------' ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] [EXT] Re: [PATCH] boot/mv-ddr-marvell: support custom GIT settings 2018-12-26 11:25 ` Yann E. MORIN @ 2018-12-26 12:33 ` Kostya Porotchkin 2018-12-26 13:24 ` Thomas Petazzoni 2018-12-26 13:30 ` Thomas Petazzoni 1 sibling, 1 reply; 9+ messages in thread From: Kostya Porotchkin @ 2018-12-26 12:33 UTC (permalink / raw) To: buildroot Yann, > -----Original Message----- > From: Yann E. MORIN <yann.morin.1998@gmail.com> On Behalf Of Yann E. > MORIN > Sent: Wednesday, December 26, 2018 13:25 > To: Kostya Porotchkin <kostap@marvell.com> > Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>; > buildroot at buildroot.org > Subject: Re: [Buildroot] [EXT] Re: [PATCH] boot/mv-ddr-marvell: support > custom GIT settings > > Kostya, All, > > Thomas, questions for you at the end. ;-) > > On 2018-12-26 10:59 +0000, Kostya Porotchkin spake thusly: > > > -----Original Message----- > > > From: Thomas Petazzoni <thomas.petazzoni@bootlin.com> > > > Sent: Wednesday, December 26, 2018 12:32 > > > To: Kostya Porotchkin <kostap@marvell.com> > > > Cc: Yann E. MORIN <yann.morin.1998@free.fr>; buildroot at buildroot.org > > > Subject: Re: [Buildroot] [EXT] Re: [PATCH] boot/mv-ddr-marvell: > > > support custom GIT settings > > > > > > Hello Kostya, > > > > > > On Tue, 25 Dec 2018 09:09:26 +0000, Kostya Porotchkin wrote: > > > > > > > > As I see you're an @marvell.com, do you need that to use an > > > > > internal repository during development? If so, then why can't > > > > > you just use the OVERRIDE_SRCDIR mechanism instead? > > > > [KP] It is more than just a local repository. I have to allow CI > > > > server to > > > automatically build test and release images from the current > > > internal GIT trees. > > > > > > Sorry, but this is not a valid justification. With this > > > justification, we would have to add version selection to *all* Buildroot > packages. > > > Indeed, one might want to do CI testing on any random user-space > > > library or application. So if your use-case for wanting version > > > selection in mv-ddr- marvell is CI testing, then we won't accept this patch. > > [KP] Understand. We can keep this change private if you think others will > not benefit from it. > > If one wants a CI job to test a specific commit of a package, then this CI job > has to be able to update the .config file and/or the defconfig file to point to > the new commit to test anyway, so this already means there is a bit of > "scripting" around to prepare for the test. > > What we recommend in this case, is that said "scripting": > > - does a git-clone (or whatvere VCS one is using) to a temporary > location (and since those CI jobs more often than not, use a > docker or docker-like container to run the job, this is by nature > ephemeral and temporary), e.g. something not unlike: > git clone ${CI_JOB_URL} /path/to/temp/git/clone/${CI_JOB_NAME} > > - create a local.mk file in the Buildroot build directory, that > contains the definition for a package override-srcdir, like: > ${CI_JOB_NAME_UPPER}_OVERRIDE_SRCDIR = > /path/to/temp/git/clone/${CI_JOB_NAME} > > Which is a generic way to tell buildroot to use a specific local tree. > It is true that we usually advertise this override-srcdir mechanism for > development purposes, but it is also applicable for the CI testing stuff as well. > > As you also said eralier, you plan on using Buildroot as your "SDK" (not sure I > grok all you said). [KP] Our intension to add vendor-specific (non-mainlined) components as external packages, which will be based on buildroot build system. At some moment they will be public, but will remain vendor-specific and maintained out of the buildroot tree. > I thus understand that it will be public in the end, so when > you actually release a version of your "SDK", it would point to a released and > plublic commit of the official mv-dd-rmarvell git tree on Github, so that > means at some point someone will internaly prepare that and submit a > version update in Buildroot. ;-) [KP] Actually I can already update the mv-ddr-marvell package version - we released the 18.12 drop to Guthub yesterday. > > > > However, if people porting ATF/U-Boot to new Marvell-based platforms > > > need to have their own custom version of mv-ddr-marvell, then having > > > version selection can be accepted because it puts this package in > > > the same situation as uboot, linux or atf, where we do offer version > selection. > > [KP] I am trying to find a reason for customer to use different mv-ddr > releases. > > It may happen if a customer wants to use older ATF base, for instance v1.3 > instead of v1.5 or v2.0. > > In such case the DDR API in latest mv-ddr release will not be compatible > with it and the build will fail. > > Another reason is a customer willing to use latest fixes in mv-ddr GIT prior > to the official release drop. > > For instance, the new V7 Espressobin boards were released with DDR4 > chips, while our official SW only supported DDR3. > > So the new board customers were forced to use outdated SW from vendor > builds that supported such memory type. > > This is a kind of justification that would make us accept a version choice, > though. If there are reasons that people have to have a local modified tree > because they are porting it to their own devices, then it makes sense we > allow them to use a custom git tree, as Thomas said. > > So, before reposting a new version: > > - I'd like Thomas to confirm we want to use a choice, like for the > others where we allow using a custom VCS tree, > > - update your commit log to use the per-device customisation > requirement as a justification for this change, not the CI > testing. ;-) > > Thomas, is that OK with you, in the end? > > Regards, > Yann E. MORIN. > > -- > .-----------------.--------------------.------------------.--------------------. > | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' > | conspiracy: | > | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | > | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | > | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | > '------------------------------^-------^------------------^--------------------' ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] [EXT] Re: [PATCH] boot/mv-ddr-marvell: support custom GIT settings 2018-12-26 12:33 ` Kostya Porotchkin @ 2018-12-26 13:24 ` Thomas Petazzoni 0 siblings, 0 replies; 9+ messages in thread From: Thomas Petazzoni @ 2018-12-26 13:24 UTC (permalink / raw) To: buildroot Hello Kostya, On Wed, 26 Dec 2018 12:33:56 +0000, Kostya Porotchkin wrote: > [KP] Our intension to add vendor-specific (non-mainlined) components as external packages, which will be based on buildroot build system. > At some moment they will be public, but will remain vendor-specific and maintained out of the buildroot tree. I don't think you should make the assumption that those packages will remain "out of the buildroot tree". As soon as something is publicly available, there is a chance that someone will be interested in having it supported as part of upstream Buildroot. So, you shouldn't base your design on the assumption that this or that package "will remain out of the Buildroot tree" because this may not be true in the future. Best regards, Thomas -- Thomas Petazzoni, CTO, Bootlin Embedded Linux and Kernel engineering https://bootlin.com ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] [EXT] Re: [PATCH] boot/mv-ddr-marvell: support custom GIT settings 2018-12-26 11:25 ` Yann E. MORIN 2018-12-26 12:33 ` Kostya Porotchkin @ 2018-12-26 13:30 ` Thomas Petazzoni 1 sibling, 0 replies; 9+ messages in thread From: Thomas Petazzoni @ 2018-12-26 13:30 UTC (permalink / raw) To: buildroot Hello, On Wed, 26 Dec 2018 12:25:02 +0100, Yann E. MORIN wrote: > What we recommend in this case, is that said "scripting": > > - does a git-clone (or whatvere VCS one is using) to a temporary > location (and since those CI jobs more often than not, use a > docker or docker-like container to run the job, this is by nature > ephemeral and temporary), e.g. something not unlike: > git clone ${CI_JOB_URL} /path/to/temp/git/clone/${CI_JOB_NAME} > > - create a local.mk file in the Buildroot build directory, that > contains the definition for a package override-srcdir, like: > ${CI_JOB_NAME_UPPER}_OVERRIDE_SRCDIR = /path/to/temp/git/clone/${CI_JOB_NAME} Not ${CI_JOB_NAME_UPPER}_OVERRIDE_SRCDIR, but <pkg>_OVERRIDE_SRCDIR. > As you also said eralier, you plan on using Buildroot as your "SDK" (not > sure I grok all you said). Marvell doesn't use the term "SDK" in the same sense as we do in the upstream Buildroot: - In upstream Buildroot, what we call the "SDK" is what is generated by "make sdk", i.e the cross-compilation toolchain + all the libraries and headers that are needed to build code for the target, matching a given Buildroot configuration. - In Marvell-speak, the "SDK" is basically an entire build system + set of source code tarballs that will allow you to build a Linux system for your target. Basically, Marvell SDK is a customized Buildroot + external trees + source code tarballs. > This is a kind of justification that would make us accept a version > choice, though. If there are reasons that people have to have a local > modified tree because they are porting it to their own devices, then it > makes sense we allow them to use a custom git tree, as Thomas said. > > So, before reposting a new version: > > - I'd like Thomas to confirm we want to use a choice, like for the > others where we allow using a custom VCS tree, I'm still unsure whether people making custom Marvell boards generally need to change mv-ddr-marvell code. However, it is true that the mv-ddr-marvell code version needs to be in sync with the ATF version in use (last time I updated the Macchiatobin defconfigs in upstream Buildroot, I had to update both ATF and mv-ddr-marvell at the same time). It is also highly HW-related low-level code, so I think it is OK to have a version selection. > - update your commit log to use the per-device customisation > requirement as a justification for this change, not the CI > testing. ;-) > > Thomas, is that OK with you, in the end? Yes, provided the code is changed to use a version selection more similar to what we use in other packages *and* the commit log is adjusted, I'm fine with merging something like this. Best regards, Thomas -- Thomas Petazzoni, CTO, Bootlin Embedded Linux and Kernel engineering https://bootlin.com ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2018-12-26 13:30 UTC | newest] Thread overview: 9+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2018-12-24 13:18 [Buildroot] [PATCH] boot/mv-ddr-marvell: support custom GIT settings kostap at marvell.com 2018-12-24 18:57 ` Yann E. MORIN 2018-12-25 9:09 ` [Buildroot] [EXT] " Kostya Porotchkin 2018-12-26 10:31 ` Thomas Petazzoni 2018-12-26 10:59 ` Kostya Porotchkin 2018-12-26 11:25 ` Yann E. MORIN 2018-12-26 12:33 ` Kostya Porotchkin 2018-12-26 13:24 ` Thomas Petazzoni 2018-12-26 13:30 ` Thomas Petazzoni
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox