diff mbox series

[RFC,2/2] configs: Add am62x_beagleplay_* defconfigs

Message ID 20230829221457.101469-3-afd@ti.com
State RFC
Delegated to: Tom Rini
Headers show
Series Allow defconfigs defined from fragments | expand

Commit Message

Andrew Davis Aug. 29, 2023, 10:14 p.m. UTC
Add am62x_beagleplay_r5_defconfig for R5 SPL and
am62x_beagleplay_a53_defconfig for A53 SPL and U-Boot support.

These defconfigs are composite defconfigs built from the config fragment
board/ti/am62x/beagleplay_*.config applied onto the base
am62x_evm_*_defconfig.

Signed-off-by: Andrew Davis <afd@ti.com>
---
 configs/am62x_beagleplay_a53_defconfig | 3 +++
 configs/am62x_beagleplay_r5_defconfig  | 3 +++
 2 files changed, 6 insertions(+)
 create mode 100644 configs/am62x_beagleplay_a53_defconfig
 create mode 100644 configs/am62x_beagleplay_r5_defconfig

Comments

Nishanth Menon Aug. 30, 2023, 12:31 p.m. UTC | #1
On 17:14-20230829, Andrew Davis wrote:
> Add am62x_beagleplay_r5_defconfig for R5 SPL and
> am62x_beagleplay_a53_defconfig for A53 SPL and U-Boot support.
> 
> These defconfigs are composite defconfigs built from the config fragment
> board/ti/am62x/beagleplay_*.config applied onto the base
> am62x_evm_*_defconfig.
> 
> Signed-off-by: Andrew Davis <afd@ti.com>
> ---
>  configs/am62x_beagleplay_a53_defconfig | 3 +++
>  configs/am62x_beagleplay_r5_defconfig  | 3 +++
>  2 files changed, 6 insertions(+)
>  create mode 100644 configs/am62x_beagleplay_a53_defconfig
>  create mode 100644 configs/am62x_beagleplay_r5_defconfig
> 
> diff --git a/configs/am62x_beagleplay_a53_defconfig b/configs/am62x_beagleplay_a53_defconfig
> new file mode 100644
> index 00000000000..ad708e15397
> --- /dev/null
> +++ b/configs/am62x_beagleplay_a53_defconfig
> @@ -0,0 +1,3 @@
> +// The BeaglePlay defconfig for A53 core
> +#include "configs/am62x_evm_a53_defconfig"
> +#include "board/ti/am62x/beagleplay_a53.config"
> diff --git a/configs/am62x_beagleplay_r5_defconfig b/configs/am62x_beagleplay_r5_defconfig
> new file mode 100644
> index 00000000000..276b1f81a3e
> --- /dev/null
> +++ b/configs/am62x_beagleplay_r5_defconfig
> @@ -0,0 +1,3 @@
> +// The BeaglePlay defconfig for R5 core
> +#include "configs/am62x_evm_r5_defconfig"
> +#include "board/ti/am62x/beagleplay_r5.config"
> -- 
> 2.39.2
> 

my only complaint is that if we add lets say
board/ti/am62x/dfu.config, Then:

R5:
1. am62x_evm_r5_defconfig = am62x_evm_r5_defconfig
2. am62x_beagleplay_r5_defconfig = am62x_evm_r5_defconfig + beagleplay_r5.config
3. am62x_evm_r5_dfu_defconfig = am62x_evm_r5_defconfig + dfu.config
4. am62x_beagleplay_r5_dfu_defconfig = am62x_evm_r5_defconfig + beagleplay_r5.config + dfu.config

This information can be in a single txt file Rather than have a
defconfig file for each combination.
Tom Rini Aug. 30, 2023, 2:22 p.m. UTC | #2
On Wed, Aug 30, 2023 at 07:31:51AM -0500, Nishanth Menon wrote:
> On 17:14-20230829, Andrew Davis wrote:
> > Add am62x_beagleplay_r5_defconfig for R5 SPL and
> > am62x_beagleplay_a53_defconfig for A53 SPL and U-Boot support.
> > 
> > These defconfigs are composite defconfigs built from the config fragment
> > board/ti/am62x/beagleplay_*.config applied onto the base
> > am62x_evm_*_defconfig.
> > 
> > Signed-off-by: Andrew Davis <afd@ti.com>
> > ---
> >  configs/am62x_beagleplay_a53_defconfig | 3 +++
> >  configs/am62x_beagleplay_r5_defconfig  | 3 +++
> >  2 files changed, 6 insertions(+)
> >  create mode 100644 configs/am62x_beagleplay_a53_defconfig
> >  create mode 100644 configs/am62x_beagleplay_r5_defconfig
> > 
> > diff --git a/configs/am62x_beagleplay_a53_defconfig b/configs/am62x_beagleplay_a53_defconfig
> > new file mode 100644
> > index 00000000000..ad708e15397
> > --- /dev/null
> > +++ b/configs/am62x_beagleplay_a53_defconfig
> > @@ -0,0 +1,3 @@
> > +// The BeaglePlay defconfig for A53 core
> > +#include "configs/am62x_evm_a53_defconfig"
> > +#include "board/ti/am62x/beagleplay_a53.config"
> > diff --git a/configs/am62x_beagleplay_r5_defconfig b/configs/am62x_beagleplay_r5_defconfig
> > new file mode 100644
> > index 00000000000..276b1f81a3e
> > --- /dev/null
> > +++ b/configs/am62x_beagleplay_r5_defconfig
> > @@ -0,0 +1,3 @@
> > +// The BeaglePlay defconfig for R5 core
> > +#include "configs/am62x_evm_r5_defconfig"
> > +#include "board/ti/am62x/beagleplay_r5.config"
> > -- 
> > 2.39.2
> > 
> 
> my only complaint is that if we add lets say
> board/ti/am62x/dfu.config, Then:
> 
> R5:
> 1. am62x_evm_r5_defconfig = am62x_evm_r5_defconfig
> 2. am62x_beagleplay_r5_defconfig = am62x_evm_r5_defconfig + beagleplay_r5.config
> 3. am62x_evm_r5_dfu_defconfig = am62x_evm_r5_defconfig + dfu.config
> 4. am62x_beagleplay_r5_dfu_defconfig = am62x_evm_r5_defconfig + beagleplay_r5.config + dfu.config
> 
> This information can be in a single txt file Rather than have a
> defconfig file for each combination.

I know Andrew is trying to do what Simon's asked.  But yes, this is why
I don't think the right approach is to have some file that says "here
are all of the valid combinations".  We aren't going to be breaking
"make am62x_beagleplay_r5_dfu_defconfig local-fragment.config" in the
above example. And we don't need every possible combination in CI, we
just need to make sure unique paths are tested. So long as something
builds all of the dts files, the Tegra example in-tree now is fine
because we're checking all of those.  The beagle examples here too
should be fine.
Andrew Davis Aug. 30, 2023, 2:31 p.m. UTC | #3
On 8/30/23 7:31 AM, Nishanth Menon wrote:
> On 17:14-20230829, Andrew Davis wrote:
>> Add am62x_beagleplay_r5_defconfig for R5 SPL and
>> am62x_beagleplay_a53_defconfig for A53 SPL and U-Boot support.
>>
>> These defconfigs are composite defconfigs built from the config fragment
>> board/ti/am62x/beagleplay_*.config applied onto the base
>> am62x_evm_*_defconfig.
>>
>> Signed-off-by: Andrew Davis <afd@ti.com>
>> ---
>>   configs/am62x_beagleplay_a53_defconfig | 3 +++
>>   configs/am62x_beagleplay_r5_defconfig  | 3 +++
>>   2 files changed, 6 insertions(+)
>>   create mode 100644 configs/am62x_beagleplay_a53_defconfig
>>   create mode 100644 configs/am62x_beagleplay_r5_defconfig
>>
>> diff --git a/configs/am62x_beagleplay_a53_defconfig b/configs/am62x_beagleplay_a53_defconfig
>> new file mode 100644
>> index 00000000000..ad708e15397
>> --- /dev/null
>> +++ b/configs/am62x_beagleplay_a53_defconfig
>> @@ -0,0 +1,3 @@
>> +// The BeaglePlay defconfig for A53 core
>> +#include "configs/am62x_evm_a53_defconfig"
>> +#include "board/ti/am62x/beagleplay_a53.config"
>> diff --git a/configs/am62x_beagleplay_r5_defconfig b/configs/am62x_beagleplay_r5_defconfig
>> new file mode 100644
>> index 00000000000..276b1f81a3e
>> --- /dev/null
>> +++ b/configs/am62x_beagleplay_r5_defconfig
>> @@ -0,0 +1,3 @@
>> +// The BeaglePlay defconfig for R5 core
>> +#include "configs/am62x_evm_r5_defconfig"
>> +#include "board/ti/am62x/beagleplay_r5.config"
>> -- 
>> 2.39.2
>>
> 
> my only complaint is that if we add lets say
> board/ti/am62x/dfu.config, Then:
> 
> R5:
> 1. am62x_evm_r5_defconfig = am62x_evm_r5_defconfig
> 2. am62x_beagleplay_r5_defconfig = am62x_evm_r5_defconfig + beagleplay_r5.config
> 3. am62x_evm_r5_dfu_defconfig = am62x_evm_r5_defconfig + dfu.config
> 4. am62x_beagleplay_r5_dfu_defconfig = am62x_evm_r5_defconfig + beagleplay_r5.config + dfu.config
> 
> This information can be in a single txt file Rather than have a
> defconfig file for each combination.
> 

Having every combination in a text file vs in a directory of files doesn't
seem like much difference to me. `cat combinations.txt` vs `ls -l configs/`.
But using a file would mean extra tooling and non-standard usage.

Let's simply try to avoid these combinatorial problems by avoiding adding
too many fragments that apply broadly. That adds testing burden. When features
need added/removed, folks can use menuconfig or similar. We shouldn't need a
defconfig fragment for DFU..

Andrew
Nishanth Menon Aug. 30, 2023, 2:59 p.m. UTC | #4
On 09:31-20230830, Andrew Davis wrote:
> On 8/30/23 7:31 AM, Nishanth Menon wrote:
> > On 17:14-20230829, Andrew Davis wrote:
> > > Add am62x_beagleplay_r5_defconfig for R5 SPL and
> > > am62x_beagleplay_a53_defconfig for A53 SPL and U-Boot support.
> > > 
> > > These defconfigs are composite defconfigs built from the config fragment
> > > board/ti/am62x/beagleplay_*.config applied onto the base
> > > am62x_evm_*_defconfig.
> > > 
> > > Signed-off-by: Andrew Davis <afd@ti.com>
> > > ---
> > >   configs/am62x_beagleplay_a53_defconfig | 3 +++
> > >   configs/am62x_beagleplay_r5_defconfig  | 3 +++
> > >   2 files changed, 6 insertions(+)
> > >   create mode 100644 configs/am62x_beagleplay_a53_defconfig
> > >   create mode 100644 configs/am62x_beagleplay_r5_defconfig
> > > 
> > > diff --git a/configs/am62x_beagleplay_a53_defconfig b/configs/am62x_beagleplay_a53_defconfig
> > > new file mode 100644
> > > index 00000000000..ad708e15397
> > > --- /dev/null
> > > +++ b/configs/am62x_beagleplay_a53_defconfig
> > > @@ -0,0 +1,3 @@
> > > +// The BeaglePlay defconfig for A53 core
> > > +#include "configs/am62x_evm_a53_defconfig"
> > > +#include "board/ti/am62x/beagleplay_a53.config"
> > > diff --git a/configs/am62x_beagleplay_r5_defconfig b/configs/am62x_beagleplay_r5_defconfig
> > > new file mode 100644
> > > index 00000000000..276b1f81a3e
> > > --- /dev/null
> > > +++ b/configs/am62x_beagleplay_r5_defconfig
> > > @@ -0,0 +1,3 @@
> > > +// The BeaglePlay defconfig for R5 core
> > > +#include "configs/am62x_evm_r5_defconfig"
> > > +#include "board/ti/am62x/beagleplay_r5.config"
> > > -- 
> > > 2.39.2
> > > 
> > 
> > my only complaint is that if we add lets say
> > board/ti/am62x/dfu.config, Then:
> > 
> > R5:
> > 1. am62x_evm_r5_defconfig = am62x_evm_r5_defconfig
> > 2. am62x_beagleplay_r5_defconfig = am62x_evm_r5_defconfig + beagleplay_r5.config
> > 3. am62x_evm_r5_dfu_defconfig = am62x_evm_r5_defconfig + dfu.config
> > 4. am62x_beagleplay_r5_dfu_defconfig = am62x_evm_r5_defconfig + beagleplay_r5.config + dfu.config
> > 
> > This information can be in a single txt file Rather than have a
> > defconfig file for each combination.
> > 
> 
> Having every combination in a text file vs in a directory of files doesn't
> seem like much difference to me. `cat combinations.txt` vs `ls -l configs/`.
> But using a file would mean extra tooling and non-standard usage.

The .config usage is a standard already in kernel - nothing new there.

What we are attempting to solve is CI build coverage and test aspect of
things.

Thinking aloud here:
some sort of board/<vendor>/<board>/ci.conf yaml could probably be a better
approach with description of build, automated test information,
potentially board revisions etc.

> Let's simply try to avoid these combinatorial problems by avoiding adding
> too many fragments that apply broadly. That adds testing burden. When features

The combinations will be valid since the intent is a supported
configuration.
Andrew Davis Aug. 30, 2023, 3:16 p.m. UTC | #5
On 8/30/23 9:59 AM, Nishanth Menon wrote:
> On 09:31-20230830, Andrew Davis wrote:
>> On 8/30/23 7:31 AM, Nishanth Menon wrote:
>>> On 17:14-20230829, Andrew Davis wrote:
>>>> Add am62x_beagleplay_r5_defconfig for R5 SPL and
>>>> am62x_beagleplay_a53_defconfig for A53 SPL and U-Boot support.
>>>>
>>>> These defconfigs are composite defconfigs built from the config fragment
>>>> board/ti/am62x/beagleplay_*.config applied onto the base
>>>> am62x_evm_*_defconfig.
>>>>
>>>> Signed-off-by: Andrew Davis <afd@ti.com>
>>>> ---
>>>>    configs/am62x_beagleplay_a53_defconfig | 3 +++
>>>>    configs/am62x_beagleplay_r5_defconfig  | 3 +++
>>>>    2 files changed, 6 insertions(+)
>>>>    create mode 100644 configs/am62x_beagleplay_a53_defconfig
>>>>    create mode 100644 configs/am62x_beagleplay_r5_defconfig
>>>>
>>>> diff --git a/configs/am62x_beagleplay_a53_defconfig b/configs/am62x_beagleplay_a53_defconfig
>>>> new file mode 100644
>>>> index 00000000000..ad708e15397
>>>> --- /dev/null
>>>> +++ b/configs/am62x_beagleplay_a53_defconfig
>>>> @@ -0,0 +1,3 @@
>>>> +// The BeaglePlay defconfig for A53 core
>>>> +#include "configs/am62x_evm_a53_defconfig"
>>>> +#include "board/ti/am62x/beagleplay_a53.config"
>>>> diff --git a/configs/am62x_beagleplay_r5_defconfig b/configs/am62x_beagleplay_r5_defconfig
>>>> new file mode 100644
>>>> index 00000000000..276b1f81a3e
>>>> --- /dev/null
>>>> +++ b/configs/am62x_beagleplay_r5_defconfig
>>>> @@ -0,0 +1,3 @@
>>>> +// The BeaglePlay defconfig for R5 core
>>>> +#include "configs/am62x_evm_r5_defconfig"
>>>> +#include "board/ti/am62x/beagleplay_r5.config"
>>>> -- 
>>>> 2.39.2
>>>>
>>>
>>> my only complaint is that if we add lets say
>>> board/ti/am62x/dfu.config, Then:
>>>
>>> R5:
>>> 1. am62x_evm_r5_defconfig = am62x_evm_r5_defconfig
>>> 2. am62x_beagleplay_r5_defconfig = am62x_evm_r5_defconfig + beagleplay_r5.config
>>> 3. am62x_evm_r5_dfu_defconfig = am62x_evm_r5_defconfig + dfu.config
>>> 4. am62x_beagleplay_r5_dfu_defconfig = am62x_evm_r5_defconfig + beagleplay_r5.config + dfu.config
>>>
>>> This information can be in a single txt file Rather than have a
>>> defconfig file for each combination.
>>>
>>
>> Having every combination in a text file vs in a directory of files doesn't
>> seem like much difference to me. `cat combinations.txt` vs `ls -l configs/`.
>> But using a file would mean extra tooling and non-standard usage.
> 
> The .config usage is a standard already in kernel - nothing new there.
> 
> What we are attempting to solve is CI build coverage and test aspect of
> things.
> 

Exactly, when I say "standard" I mean CI standard, which is to take all
the configs/* and build them. No parsing these new combination files needed.
Just add a new configs/xx_defconfig for a combination you want to be
CI tested and you are done.

> Thinking aloud here:
> some sort of board/<vendor>/<board>/ci.conf yaml could probably be a better
> approach with description of build, automated test information,
> potentially board revisions etc.
> 
>> Let's simply try to avoid these combinatorial problems by avoiding adding
>> too many fragments that apply broadly. That adds testing burden. When features
> 
> The combinations will be valid since the intent is a supported
> configuration.
> 

In theory anything you do in menuconfig should result in a valid configuration
(if we have our kconfig symbol dependencies in order). And randomconfig testing
can handle that. The combinations we want always tested should be limited, and
making each have a dedicated configs/ file does that.

Andrew
Simon Glass Aug. 31, 2023, 2:49 a.m. UTC | #6
Hi,

On Wed, 30 Aug 2023 at 09:17, Andrew Davis <afd@ti.com> wrote:
>
> On 8/30/23 9:59 AM, Nishanth Menon wrote:
> > On 09:31-20230830, Andrew Davis wrote:
> >> On 8/30/23 7:31 AM, Nishanth Menon wrote:
> >>> On 17:14-20230829, Andrew Davis wrote:
> >>>> Add am62x_beagleplay_r5_defconfig for R5 SPL and
> >>>> am62x_beagleplay_a53_defconfig for A53 SPL and U-Boot support.
> >>>>
> >>>> These defconfigs are composite defconfigs built from the config fragment
> >>>> board/ti/am62x/beagleplay_*.config applied onto the base
> >>>> am62x_evm_*_defconfig.
> >>>>
> >>>> Signed-off-by: Andrew Davis <afd@ti.com>
> >>>> ---
> >>>>    configs/am62x_beagleplay_a53_defconfig | 3 +++
> >>>>    configs/am62x_beagleplay_r5_defconfig  | 3 +++
> >>>>    2 files changed, 6 insertions(+)
> >>>>    create mode 100644 configs/am62x_beagleplay_a53_defconfig
> >>>>    create mode 100644 configs/am62x_beagleplay_r5_defconfig
> >>>>
> >>>> diff --git a/configs/am62x_beagleplay_a53_defconfig b/configs/am62x_beagleplay_a53_defconfig
> >>>> new file mode 100644
> >>>> index 00000000000..ad708e15397
> >>>> --- /dev/null
> >>>> +++ b/configs/am62x_beagleplay_a53_defconfig
> >>>> @@ -0,0 +1,3 @@
> >>>> +// The BeaglePlay defconfig for A53 core
> >>>> +#include "configs/am62x_evm_a53_defconfig"
> >>>> +#include "board/ti/am62x/beagleplay_a53.config"
> >>>> diff --git a/configs/am62x_beagleplay_r5_defconfig b/configs/am62x_beagleplay_r5_defconfig
> >>>> new file mode 100644
> >>>> index 00000000000..276b1f81a3e
> >>>> --- /dev/null
> >>>> +++ b/configs/am62x_beagleplay_r5_defconfig
> >>>> @@ -0,0 +1,3 @@
> >>>> +// The BeaglePlay defconfig for R5 core
> >>>> +#include "configs/am62x_evm_r5_defconfig"
> >>>> +#include "board/ti/am62x/beagleplay_r5.config"
> >>>> --
> >>>> 2.39.2
> >>>>
> >>>
> >>> my only complaint is that if we add lets say
> >>> board/ti/am62x/dfu.config, Then:
> >>>
> >>> R5:
> >>> 1. am62x_evm_r5_defconfig = am62x_evm_r5_defconfig
> >>> 2. am62x_beagleplay_r5_defconfig = am62x_evm_r5_defconfig + beagleplay_r5.config
> >>> 3. am62x_evm_r5_dfu_defconfig = am62x_evm_r5_defconfig + dfu.config
> >>> 4. am62x_beagleplay_r5_dfu_defconfig = am62x_evm_r5_defconfig + beagleplay_r5.config + dfu.config
> >>>
> >>> This information can be in a single txt file Rather than have a
> >>> defconfig file for each combination.
> >>>
> >>
> >> Having every combination in a text file vs in a directory of files doesn't
> >> seem like much difference to me. `cat combinations.txt` vs `ls -l configs/`.
> >> But using a file would mean extra tooling and non-standard usage.
> >
> > The .config usage is a standard already in kernel - nothing new there.
> >
> > What we are attempting to solve is CI build coverage and test aspect of
> > things.
> >
>
> Exactly, when I say "standard" I mean CI standard, which is to take all
> the configs/* and build them. No parsing these new combination files needed.
> Just add a new configs/xx_defconfig for a combination you want to be
> CI tested and you are done.
>
> > Thinking aloud here:
> > some sort of board/<vendor>/<board>/ci.conf yaml could probably be a better
> > approach with description of build, automated test information,
> > potentially board revisions etc.
> >
> >> Let's simply try to avoid these combinatorial problems by avoiding adding
> >> too many fragments that apply broadly. That adds testing burden. When features
> >
> > The combinations will be valid since the intent is a supported
> > configuration.
> >
>
> In theory anything you do in menuconfig should result in a valid configuration
> (if we have our kconfig symbol dependencies in order). And randomconfig testing
> can handle that. The combinations we want always tested should be limited, and
> making each have a dedicated configs/ file does that.

I think this is a reasonable solution to what I see as the problem (we
don't know what we can build) but I am very open to others.

Reviewed-by: Simon Glass <sjg@chromium.org>

Regards,
Simon
diff mbox series

Patch

diff --git a/configs/am62x_beagleplay_a53_defconfig b/configs/am62x_beagleplay_a53_defconfig
new file mode 100644
index 00000000000..ad708e15397
--- /dev/null
+++ b/configs/am62x_beagleplay_a53_defconfig
@@ -0,0 +1,3 @@ 
+// The BeaglePlay defconfig for A53 core
+#include "configs/am62x_evm_a53_defconfig"
+#include "board/ti/am62x/beagleplay_a53.config"
diff --git a/configs/am62x_beagleplay_r5_defconfig b/configs/am62x_beagleplay_r5_defconfig
new file mode 100644
index 00000000000..276b1f81a3e
--- /dev/null
+++ b/configs/am62x_beagleplay_r5_defconfig
@@ -0,0 +1,3 @@ 
+// The BeaglePlay defconfig for R5 core
+#include "configs/am62x_evm_r5_defconfig"
+#include "board/ti/am62x/beagleplay_r5.config"