[PATCH v9 14/14] treewide: Disable USE_SPL_FIT_GENERATOR by default

Michal Simek michal.simek at amd.com
Mon Jan 9 15:37:20 CET 2023



On 1/9/23 15:12, Tom Rini wrote:
> On Mon, Jan 09, 2023 at 12:07:05PM +0100, Michal Simek wrote:
>> Hi,
>>
>> On 1/8/23 20:36, Simon Glass wrote:
>>> Hi Tom,
>>>
>>> On Sun, 8 Jan 2023 at 09:24, Tom Rini <trini at konsulko.com> wrote:
>>>>
>>>> On Sun, Jan 08, 2023 at 09:20:09AM -0700, Simon Glass wrote:
>>>>> Hi Tom,
>>>>>
>>>>> On Sun, 8 Jan 2023 at 09:06, Tom Rini <trini at konsulko.com> wrote:
>>>>>>
>>>>>> On Sun, Jan 08, 2023 at 08:48:37AM -0700, Simon Glass wrote:
>>>>>>> Hi Tom,
>>>>>>>
>>>>>>> On Sun, 8 Jan 2023 at 06:41, Tom Rini <trini at konsulko.com> wrote:
>>>>>>>>
>>>>>>>> On Sat, Jan 07, 2023 at 02:07:21PM -0700, Simon Glass wrote:
>>>>>>>>
>>>>>>>>> This option is deprecated and only used by two boards. Enable it for just
>>>>>>>>> those two boards, so others don't accidentally enable it.
>>>>>>>>>
>>>>>>>>> Signed-off-by: Simon Glass <sjg at chromium.org>
>>>>>>>> [snip]
>>>>>>>>> diff --git a/boot/Kconfig b/boot/Kconfig
>>>>>>>>> index 55f06761ef8..7ab0dd14211 100644
>>>>>>>>> --- a/boot/Kconfig
>>>>>>>>> +++ b/boot/Kconfig
>>>>>>>>> @@ -282,12 +282,13 @@ config SPL_FIT_SOURCE
>>>>>>>>>    config USE_SPL_FIT_GENERATOR
>>>>>>>>>         bool "Use a script to generate the .its script"
>>>>>>>>>         depends on SPL_FIT
>>>>>>>>> -     default y if SPL_FIT && ARCH_ZYNQMP
>>>>>>>>> +     help
>>>>>>>>> +       This is deprecated. Please do not use it. Use binman instead.
>>>>>>>>
>>>>>>>> Lets remove the text around bool so it can't be enabled, and move to
>>>>>>>> select'ing it from the two boards that need it. Michal, Luca, what's
>>>>>>>> needed to move your two platforms
>>>>>>>> (avnet_ultrazedev_cc_v1_0_ultrazedev_som_v1_0 and xilinx_zynqmp_virt off
>>>>>>>> of this very legacy option, given that other xilinx platforms have
>>>>>>>> already migrated to binman ?
>>>>>>>
>>>>>>> That's a good idea, but these two boards do not have TARGET Kconfig
>>>>>>> options so it is not possible without adding some Kconfig specific to
>>>>>>> those boards, then defining it in the defconfig files.
>>>>>>>
>>>>>>> We already have the legacy warning.
>>>>>>
>>>>>> Yes, but I swear these are new legacy users as when we started trying to
>>>>>> kill off this option it was just a few i.MX platforms lagging behind.
>>>>>>
>>>>>> Maybe make ARCH_ZYNQMP select DEPRECATED, USE_SPL_FIT_GENERATOR depend
>>>>>> on DEPRECATED and add "DERECATED" to the end of the text line?  Or maybe
>>>>>> Michal or Luca will speak up soon and migrate these over quickly so we
>>>>>> can just nuke this.
>>>>>
>>>>> Isn't that just more tortuous? I can disable SPL_LOAD_FIT on these two
>>>>> boards since they don't appear in CI. Then they can convert them when
>>>>> ready.
>>>>>
>>>>> That way we can drop the option now, if that is your goal.
>>>>
>>>> I thought xilinx_zynqmp_virt was in CI, but I see I'm mistaken. I still
>>>> don't want to break platforms outright, and since it's Sunday right now
>>>> afterall, we should let Michal and Luca a chance to catch up and chime
>>>> in. I hope it's either going to be a quick conversion or expose
>>>> something missing and needed in binman, as to why these still haven't
>>>> been converted.
>>>>
>>>
>>> OK let's hold off on this patch for now. It is just a clean-up anyway.
>>
>> First of all. ZynqMP is not wired in CI simply because we are missing some
>> bits and pieces in upstream qemu to run it. If we can wire it with Xilinx
>> version we can do it. I have asked to fix it our qemu team but they have
>> never done it.
> 
> Ah yes, I remember you saying that now. I guess it comes down to how
> hard it would be to patch that support in to 6.1.0 (or, move us up to a
> newer release and patch on top of that) in tools/docker/Dockerfile. We
> special-case the nokia_rx51 support in QEMU because it's so old, so I'd
> rather avoid that for another platform if we can.

Issue is with firmware interface which is going over mailbox to microblaze unit 
which runs power management firmware. It means it not single qemu instance which 
Xilinx uses. There are 2. One microblaze and second ARM and IIRC communication 
is done via socket.
I don't think this will get to Qemu anytime soon.
But on the other hand in past we normally run arm core without any firmware on 
Microblaze. We would have to disable communication between ARM and Microblaze 
and work with fixed clock. After it we should be able to run zynqmp under CI.
I have already asked my colleagues to fix drivers which can't work with 
ZYNQMP_FIRMWARE off. Also I have seen one missing Kconfig dependency.

And then next step would be to identify some registers which Qemu doesn't model 
but u-boot is reading. I don't think they are modeled now.

IIRC we still have internal task to get ZynqMP CI in our tracking system that's 
why we will get there at some point.

Thanks,
Michal


More information about the U-Boot mailing list