回复: [EXT] Re: [PATCH v2 16/17] imx95_evk: add i.MX95 19x19 EVK board basic support

Alice Guo (OSS) alice.guo at oss.nxp.com
Wed Dec 25 03:05:47 CET 2024


> -----邮件原件-----
> 发件人: João Paulo Gonçalves <jpaulo.silvagoncalves at gmail.com>
> 发送时间: 2024年12月24日 21:33
> 收件人: Alice Guo (OSS) <alice.guo at oss.nxp.com>
> 抄送: Tom Rini <trini at konsulko.com>; Stefano Babic <sbabic at denx.de>; Fabio
> Estevam <festevam at gmail.com>; dl-uboot-imx <uboot-imx at nxp.com>; Lukasz
> Majewski <lukma at denx.de>; Sean Anderson <seanga2 at gmail.com>; Simon
> Glass <sjg at chromium.org>; Alper Nebi Yasak <alpernebiyasak at gmail.com>;
> u-boot at lists.denx.de; marex at denx.de; Alice Guo <alice.guo at nxp.com>; Ye Li
> <ye.li at nxp.com>; Peng Fan <peng.fan at nxp.com>; Francesco Dolcini
> <francesco at dolcini.it>; joao.goncalves at toradex.com
> 主题: [EXT] Re: [PATCH v2 16/17] imx95_evk: add i.MX95 19x19 EVK board
> basic support
> 
> Caution: This is an external email. Please take care when clicking links or
> opening attachments. When in doubt, report the message using the 'Report
> this email' button
> 
> 
> On Fri, Dec 20, 2024 at 10:55:14AM +0800, Alice Guo wrote:
> > From: Ye Li <ye.li at nxp.com>
> >
> > This patch adds i.MX95 19x19 EVK board basic support.
> >
> > Signed-off-by: Ye Li <ye.li at nxp.com>
> > Signed-off-by: Alice Guo <alice.guo at nxp.com>
> > Reviewed-by: Peng Fan <peng.fan at nxp.com>
> > ---
> >  arch/arm/dts/imx95-19x19-evk-u-boot.dtsi      | 224
> ++++++++++++++++++++++++++
> >  arch/arm/mach-imx/imx9/Kconfig                |   6 +
> >  arch/arm/mach-imx/imx9/scmi/container.cfg     |  10 ++
> >  arch/arm/mach-imx/imx9/scmi/imximage.cfg      |  15 ++
> >  arch/arm/mach-imx/imx9/scmi/soc.c             |   1 +
> >  board/freescale/imx95_evk/Kconfig             |  12 ++
> >  board/freescale/imx95_evk/MAINTAINERS         |   6 +
> >  board/freescale/imx95_evk/Makefile            |  11 ++
> >  board/freescale/imx95_evk/imx95_19x19_evk.env |  95 +++++++++++
> >  board/freescale/imx95_evk/imx95_evk.c         |  54 +++++++
> >  board/freescale/imx95_evk/spl.c               | 117 ++++++++++++++
> >  configs/imx95_19x19_evk_defconfig             | 178
> ++++++++++++++++++++
> >  doc/board/nxp/imx95_evk.rst                   | 109 +++++++++++++
> >  doc/board/nxp/index.rst                       |   1 +
> >  include/configs/imx95_evk.h                   |  36 +++++
> >  15 files changed, 875 insertions(+)
> >
> > diff --git a/arch/arm/dts/imx95-19x19-evk-u-boot.dtsi
> > b/arch/arm/dts/imx95-19x19-evk-u-boot.dtsi
> > new file mode 100644
> > index
> >
> 0000000000000000000000000000000000000000..5c891518448d24204f5ca
> 2a00957
> > b47a0a24bd70
> > --- /dev/null
> > +++ b/arch/arm/dts/imx95-19x19-evk-u-boot.dtsi
> > @@ -0,0 +1,224 @@
> > +// SPDX-License-Identifier: GPL-2.0+
> > +/*
> > + * Copyright 2024 NXP
> > + */
> > +
> > +#ifdef CONFIG_BINMAN
> > +/ {
> > +     binman {
> > +             multiple-images;
> > +
> > +             m33-oei-ddrfw {
> > +                     filename = "m33-oei-ddrfw.bin";
> > +
> > +                     nxp-append-ddrfw {
> > +                             oei_m33_ddr_image = "oei-m33-ddr.bin";
> > +                             lpddr_imem =
> "lpddr5_imem_v202311.bin";
> > +                             lpddr_dmem =
> "lpddr5_dmem_v202311.bin";
> > +                             lpddr_imem_qb =
> "lpddr5_imem_qb_v202311.bin";
> > +                             lpddr_dmem_qb =
> "lpddr5_dmem_qb_v202311.bin";
> > +                     };
> > +             };
> > +
> > +             spl {
> > +                     filename = "spl.bin";
> > +
> > +                     mkimage {
> > +                             args = "-n spl/u-boot-spl.cfgout -T
> imx8image";
> > +                     };
> > +             };
> > +
> > +             u-boot {
> > +                     filename = "uboot.bin";
> > +
> > +                     mkimage {
> > +                             args = "-n u-boot-container.cfgout -T
> imx8image";
> > +                     };
> > +             };
> > +
> > +             imx-boot {
> > +                     filename = "imx-boot-imx95.bin";
> > +                     pad-byte = <0x00>;
> > +
> > +                     blob-ext at 1 {
> > +                             align = <0x400>;
> > +                             align-size = <0x400>;
> > +                             offset = <0x0>;
> > +                             filename = "spl.bin";
> > +                     };
> > +
> > +                     blob-ext at 2 {
> > +                             filename = "uboot.bin";
> > +                     };
> > +             };
> > +     };
> > +};
> > +#endif
> > +
> > +&{/soc} {
> > +     bootph-all;
> > +     bootph-pre-ram;
> > +};
> > +
> > +&aips1 {
> > +     bootph-all;
> > +     bootph-pre-ram;
> > +};
> > +
> > +&aips2 {
> > +     bootph-all;
> > +     bootph-pre-ram;
> > +};
> > +
> > +&aips3 {
> > +     bootph-pre-ram;
> > +};
> > +
> > +&gpio1 {
> > +     reg = <0 0x47400000 0 0x1000>, <0 0x47400040 0 0x40>; };
> > +
> > +&gpio2 {
> > +     reg = <0 0x43810000 0 0x1000>, <0 0x43810040 0 0x40>;
> > +     bootph-pre-ram;
> > +};
> > +
> > +&gpio3 {
> > +     reg = <0 0x43820000 0 0x1000>, <0 0x43820040 0 0x40>;
> > +     bootph-pre-ram;
> > +};
> > +
> > +&gpio4 {
> > +     reg = <0 0x43840000 0 0x1000>, <0 0x43840040 0 0x40>;
> > +     bootph-pre-ram;
> > +};
> > +
> > +&gpio5 {
> > +     reg = <0 0x43850000 0 0x1000>, <0 0x43850040 0 0x40>;
> > +     bootph-pre-ram;
> > +};
> > +
> > +&lpuart1 {
> > +     clocks = <&scmi_clk IMX95_CLK_LPUART1>, <&scmi_clk
> IMX95_CLK_LPUART1>;
> > +     clock-names = "ipg", "per";
> > +     bootph-pre-ram;
> > +};
> > +
> > +&mu2 {
> > +     bootph-all;
> > +     bootph-pre-ram;
> > +};
> > +
> > +&osc_24m {
> > +     bootph-all;
> > +     bootph-pre-ram;
> > +};
> > +
> > +&clk_ext1 {
> > +     bootph-all;
> > +     bootph-pre-ram;
> > +};
> > +
> > +&sram0 {
> > +     bootph-all;
> > +     bootph-pre-ram;
> > +};
> > +
> > +&scmi_buf0 {
> > +     bootph-all;
> > +     bootph-pre-ram;
> > +};
> > +
> > +&scmi_buf1 {
> > +     bootph-all;
> > +     bootph-pre-ram;
> > +};
> > +
> > +&{/firmware} {
> > +     bootph-all;
> > +     bootph-pre-ram;
> > +};
> > +
> > +&{/firmware/scmi} {
> > +     bootph-all;
> > +     bootph-pre-ram;
> > +};
> > +
> > +&{/firmware/scmi/protocol at 11} {
> > +     bootph-all;
> > +     bootph-pre-ram;
> > +};
> > +
> > +&{/firmware/scmi/protocol at 13} {
> > +     bootph-all;
> > +     bootph-pre-ram;
> > +};
> > +
> > +&{/firmware/scmi/protocol at 14} {
> > +     bootph-all;
> > +     bootph-pre-ram;
> > +};
> > +
> > +&{/firmware/scmi/protocol at 19} {
> > +     bootph-all;
> > +     bootph-pre-ram;
> > +};
> > +
> > +&pinctrl_uart1 {
> > +     bootph-pre-ram;
> > +};
> > +
> > +&usdhc1 {
> > +     bootph-pre-ram;
> > +};
> > +
> > +&pinctrl_usdhc1 {
> > +     bootph-pre-ram;
> > +};
> > +
> > +&pinctrl_usdhc1_100mhz {
> > +     bootph-pre-ram;
> > +};
> > +
> > +&pinctrl_usdhc1_200mhz {
> > +     bootph-pre-ram;
> > +};
> > +
> > +&usdhc2 {
> > +     bootph-pre-ram;
> > +};
> > +
> > +&pinctrl_usdhc2 {
> > +     bootph-pre-ram;
> > +};
> > +
> > +&pinctrl_usdhc2_100mhz {
> > +     bootph-pre-ram;
> > +};
> > +
> > +&pinctrl_usdhc2_200mhz {
> > +     bootph-pre-ram;
> > +};
> > +
> > +&pinctrl_usdhc2_gpio {
> > +     bootph-pre-ram;
> > +};
> > +
> > +&reg_usdhc2_vmmc {
> > +     bootph-pre-ram;
> > +};
> > +
> > +&pinctrl_reg_usdhc2_vmmc {
> > +     bootph-pre-ram;
> > +};
> > +
> > +&elemu3 {
> > +     compatible = "fsl,imx93-mu-s4";
> > +     status = "okay";
> > +     bootph-all;
> > +     bootph-pre-ram;
> > +};
> > +
> > +&wdog3 {
> > +     status = "disabled";
> > +};
> 
> Hi Alice,
> 
> Would it be possible to factor out the common parts of the U-Boot
> SPL/Pre-relocation device tree into an imx95-u-boot.dtsi file, like U-Boot
> already has for imx8mp/imx8mm? From what I understand, the binman
> configuration and some DT nodes (e.g. soc, aips*, scmi*, elemu*,
> gpio2-5) are required on all boards, as they are bus parent nodes or needed by
> the SoC implementation.
> 
> In the downstream kernel, there are already other boards apart from the EVK
> (e.g., Verdin-EVK), and we’re also working on a new SoM family (Toradex
> SMARC iMX95). Having the common parts factored out would make things
> more organized and easier to upstream.
> 
> Best regards,
> João Paulo

Hi João Paulo,

Will move these common parts to an imx95-u-boot.dtsi file in next version.

Best Regards,
Alice Guo


More information about the U-Boot mailing list