回复: [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;
> > +};
> > +
> > +®_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