[PATCH v6 2/2] board: kontron: pitx-imx8m: Add Kontron pitx-imx8m board support

Simon Glass sjg at chromium.org
Sun Oct 24 21:54:03 CEST 2021


Hi Heiko,

On Fri, 22 Oct 2021 at 11:54, Heiko Thiery <heiko.thiery at gmail.com> wrote:
>
> Hi Simon,
>
> Am Fr., 22. Okt. 2021 um 18:07 Uhr schrieb Simon Glass <sjg at chromium.org>:
> >
> > Hi Heiko,
> >
> > On Fri, 22 Oct 2021 at 07:24, Heiko Thiery <heiko.thiery at gmail.com> wrote:
> > >
> > > Hi,
> > >
> > > Am Fr., 22. Okt. 2021 um 14:37 Uhr schrieb Stefano Babic <sbabic at denx.de>:
> > > >
> > > > Hi Heiko,
> > > >
> > > > On 22.10.21 10:19, Heiko Thiery wrote:
> > > > > Hi Stefano, Hi Simon,
> > > > >
> > > > > Am Do., 21. Okt. 2021 um 15:57 Uhr schrieb Heiko Thiery
> > > > > <heiko.thiery at gmail.com>:
> > > > >>
> > > > >> Hi Stefano, Hi Simon,
> > > > >>
> > > > >>
> > > > >> Am Do., 21. Okt. 2021 um 15:29 Uhr schrieb Stefano Babic <sbabic at denx.de>:
> > > > >>>
> > > > >>> On 21.10.21 15:17, Heiko Thiery wrote:
> > > > >>>> Hi Stefano,
> > > > >>>>
> > > > >>>>
> > > > >>>> Am Do., 21. Okt. 2021 um 13:31 Uhr schrieb Stefano Babic <sbabic at denx.de>:
> > > > >>>>>
> > > > >>>>> Hi Heiko,
> > > > >>>>>
> > > > >>>>> On 14.10.21 20:08, Heiko Thiery wrote:
> > > > >>>>>> The Kontron pitx-imx8m is an NXP i.MX8MQ based board in the pITX
> > > > >>>>>> form factor.
> > > > >>>>>>
> > > > >>>>>
> > > > >>>>> There is still something using binman that does not work with CI.
> > > > >>>>> Without CI, we load all firmware including signed_hdmi_imx8m.bin.
> > > > >>>>>
> > > > >>>>> But on CI, file is not loaded, but instead of warnings, build for this
> > > > >>>>> board fails with :
> > > > >>>>>
> > > > >>>>> +Image 'main-section' is missing external blobs and is non-functional:
> > > > >>>>> blob-ext at 1 blob-ext at 2 blob-ext at 3 blob-ext at 4
> > > > >>>>> +binman: Error 1 running 'mkimage -d ./mkimage.spl.mkimage -n
> > > > >>>>> spl/u-boot-spl.cfgout -T imx8mimage -e 0x7e1000
> > > > >>>>> ./mkimage-out.spl.mkimage': signed_hdmi_imx8m.bin: Can't open: No such
> > > > >>>>> file or directory
> > > > >>>>> +
> > > > >>>>>
> > > > >>>>> Could you take a look ?
> > > > >>>>
> > > > >>>> Sure. Could you point me to the right CI configuration?
> > > > >>>>
> > > > >>>
> > > > >>> Configuration is in .gitlab-ci.yml. For thsi board, buildman is called
> > > > >>> as part of aarch64 target, that is
> > > > >>>
> > > > >>>          buildman -o /tmp -P -E -W arm -x aarch64
> > > > >>>
> > > > >>>> I need to understand how the required imx-firmware files are copied to
> > > > >>>> the u-boot dir. This seems to work already for e. g. the imx8mm
> > > > >>>> boards. These require the lpdd* train fw files.
> > > > >>
> > > > >> Here we seem to hit an issue with the CI. blobs (lpddr*) are required
> > > > >> for the imx8mm boards. Binman reports the missing files only as a
> > > > >> warning and buildman does not care about that:
> > > > >> ----
> > > > >> +WARNING 'mkimage.flash.mkimage' not found, resulting binary is not-functional
> > > > >> ----
> > > > >>
> > > > >> With the imx8mq boards switching to binman we also need an additional
> > > > >> fw part (signed_hdmi_imx8m.bin). But other than the lpddr firmware as
> > > > >> blob the signed_hmdi'_imx8m.bin is passed to mkimage and mkimage exits
> > > > >> with an error. Thats leads to the error:
> > > > >> ----
> > > > >> binman: Error 1 running 'mkimage -d ./mkimage.spl.mkimage -n
> > > > >> spl/u-boot-spl.cfgout -T imx8mimage -e 0x7e1000
> > > > >> ./mkimage-out.spl.mkimage': signed_hdmi_imx8m.bin: Can't open: No such
> > > > >> file or directory
> > > > >> ----
> > > > >>
> > > > >> Currently I do not have an idea how to handle that. Anyone else?
> >
> > If I understand correctly:
> >
> > 1.You don't have these blobs in the tree so don't want to fail a build
> > in CI, which is why binman's blob-ext is used
>
> Correct, for the imx8mq e.g. the signed_hdmi_imx8m.bin is required
> that comes from NXP and has to be copied to the u-boot build dir.
>
> > 2. You sometimes need to ensure that they do exist
>
> For the build the "signed_hdmi_imx8m.bin" is required to successfully build.
>
> > Should we add a cmdline flag to binman to require all external blobs?
>
> I do not understand that. What should happen if this flag is present?
>
> > Could we drop the blobs and add code to generate them, or put the date
> > in a C struct?
>
> No, this is not possible because they are delivered by NXP from the
> firmware-imx package and has to be copied from there.

Perhaps they should upstream that stuff and turn it into code in U-Boot?

Anyway, I think you are working on this, per the irc chat.
[..]

Regards,
Simon


More information about the U-Boot mailing list