
-----邮件原件----- 发件人: João Paulo Gonçalves jpaulo.silvagoncalves@gmail.com 发送时间: 2024年12月24日 21:33 收件人: Alice Guo (OSS) alice.guo@oss.nxp.com 抄送: Tom Rini trini@konsulko.com; Stefano Babic sbabic@denx.de; Fabio Estevam festevam@gmail.com; dl-uboot-imx uboot-imx@nxp.com; Lukasz Majewski lukma@denx.de; Sean Anderson seanga2@gmail.com; Simon Glass sjg@chromium.org; Alper Nebi Yasak alpernebiyasak@gmail.com; u-boot@lists.denx.de; marex@denx.de; Alice Guo alice.guo@nxp.com; Ye Li ye.li@nxp.com; Peng Fan peng.fan@nxp.com; Francesco Dolcini francesco@dolcini.it; joao.goncalves@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@nxp.com
This patch adds i.MX95 19x19 EVK board basic support.
Signed-off-by: Ye Li ye.li@nxp.com Signed-off-by: Alice Guo alice.guo@nxp.com Reviewed-by: Peng Fan peng.fan@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@1 {
align = <0x400>;
align-size = <0x400>;
offset = <0x0>;
filename = "spl.bin";
};
blob-ext@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@11} {
bootph-all;
bootph-pre-ram;
+};
+&{/firmware/scmi/protocol@13} {
bootph-all;
bootph-pre-ram;
+};
+&{/firmware/scmi/protocol@14} {
bootph-all;
bootph-pre-ram;
+};
+&{/firmware/scmi/protocol@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