[PATCH v1] arm64: dts: imx91: add U-Boot bootph properties
alice.guo at oss.nxp.com
alice.guo at oss.nxp.com
Fri Oct 30 07:51:49 PDT 2026
From: Alice Guo <alice.guo at nxp.com>
Add bootph-pre-ram, bootph-some-ram and bootph-all properties needed by
U-Boot for early boot DT processing.
Place the properties in the Linux DT sources so they can be consumed
directly by U-Boot when generating its device tree. SoC-level nodes are
updated in imx91_93_common.dtsi, while board-specific nodes are updated
in imx91-9x9-qsb.dts.
The properties match the current requirements of the i.MX91 9x9 QSB
platform and include the clocks, bus, GPIO, mailbox, USDHC, LPI2C, UART,
PMIC and related pinctrl nodes used during early boot.
Signed-off-by: Alice Guo <alice.guo at nxp.com>
---
.../boot/dts/freescale/imx91-9x9-qsb.dts | 21 ++++++++++++++++++
.../boot/dts/freescale/imx91_93_common.dtsi | 22 +++++++++++++++++++
2 files changed, 43 insertions(+)
diff --git a/arch/arm64/boot/dts/freescale/imx91-9x9-qsb.dts b/arch/arm64/boot/dts/freescale/imx91-9x9-qsb.dts
index b7f0e39b867a..fbb7de8c0a12 100644
--- a/arch/arm64/boot/dts/freescale/imx91-9x9-qsb.dts
+++ b/arch/arm64/boot/dts/freescale/imx91-9x9-qsb.dts
@@ -172,6 +172,7 @@ reg_usdhc2_vmmc: regulator-usdhc2 {
regulator-min-microvolt = <3300000>;
gpio = <&gpio3 7 GPIO_ACTIVE_HIGH>;
enable-active-high;
+ bootph-pre-ram;
};
reserved-memory {
@@ -257,6 +258,7 @@ pinctrl_lpi2c1: lpi2c1grp {
MX91_PAD_I2C1_SCL__LPI2C1_SCL 0x40000b9e
MX91_PAD_I2C1_SDA__LPI2C1_SDA 0x40000b9e
>;
+ bootph-pre-ram;
};
pinctrl_lpi2c2: lpi2c2grp {
@@ -264,6 +266,7 @@ pinctrl_lpi2c2: lpi2c2grp {
MX91_PAD_I2C2_SCL__LPI2C2_SCL 0x40000b9e
MX91_PAD_I2C2_SDA__LPI2C2_SDA 0x40000b9e
>;
+ bootph-pre-ram;
};
pinctrl_pcal6524: pcal6524grp {
@@ -284,6 +287,7 @@ pinctrl_reg_usdhc2_vmmc: regusdhc2vmmcgrp {
fsl,pins = <
MX91_PAD_SD2_RESET_B__GPIO3_IO7 0x31e
>;
+ bootph-pre-ram;
};
pinctrl_sai1: sai1grp {
@@ -300,6 +304,8 @@ pinctrl_uart1: uart1grp {
MX91_PAD_UART1_RXD__LPUART1_RX 0x31e
MX91_PAD_UART1_TXD__LPUART1_TX 0x31e
>;
+ bootph-pre-ram;
+ bootph-some-ram;
};
pinctrl_usdhc1: usdhc1grp {
@@ -316,6 +322,7 @@ MX91_PAD_SD1_DATA6__USDHC1_DATA6 0x1382
MX91_PAD_SD1_DATA7__USDHC1_DATA7 0x1382
MX91_PAD_SD1_STROBE__USDHC1_STROBE 0x1582
>;
+ bootph-pre-ram;
};
pinctrl_usdhc1_100mhz: usdhc1-100mhzgrp {
@@ -332,6 +339,7 @@ MX91_PAD_SD1_DATA6__USDHC1_DATA6 0x138e
MX91_PAD_SD1_DATA7__USDHC1_DATA7 0x138e
MX91_PAD_SD1_STROBE__USDHC1_STROBE 0x158e
>;
+ bootph-pre-ram;
};
pinctrl_usdhc1_200mhz: usdhc1-200mhzgrp {
@@ -348,12 +356,14 @@ MX91_PAD_SD1_DATA6__USDHC1_DATA6 0x13fe
MX91_PAD_SD1_DATA7__USDHC1_DATA7 0x13fe
MX91_PAD_SD1_STROBE__USDHC1_STROBE 0x15fe
>;
+ bootph-pre-ram;
};
pinctrl_usdhc2_gpio: usdhc2gpiogrp {
fsl,pins = <
MX91_PAD_SD2_CD_B__GPIO3_IO0 0x31e
>;
+ bootph-pre-ram;
};
pinctrl_usdhc2: usdhc2grp {
@@ -366,6 +376,7 @@ MX91_PAD_SD2_DATA2__USDHC2_DATA2 0x1382
MX91_PAD_SD2_DATA3__USDHC2_DATA3 0x1382
MX91_PAD_SD2_VSELECT__USDHC2_VSELECT 0x51e
>;
+ bootph-pre-ram;
};
pinctrl_usdhc2_100mhz: usdhc2-100mhzgrp {
@@ -378,6 +389,7 @@ MX91_PAD_SD2_DATA2__USDHC2_DATA2 0x138e
MX91_PAD_SD2_DATA3__USDHC2_DATA3 0x138e
MX91_PAD_SD2_VSELECT__USDHC2_VSELECT 0x51e
>;
+ bootph-pre-ram;
};
pinctrl_usdhc2_200mhz: usdhc2-200mhzgrp {
@@ -390,6 +402,7 @@ MX91_PAD_SD2_DATA2__USDHC2_DATA2 0x13fe
MX91_PAD_SD2_DATA3__USDHC2_DATA3 0x13fe
MX91_PAD_SD2_VSELECT__USDHC2_VSELECT 0x51e
>;
+ bootph-pre-ram;
};
pinctrl_wdog: wdoggrp {
@@ -404,6 +417,7 @@ &lpi2c1 {
pinctrl-0 = <&pinctrl_lpi2c1>;
pinctrl-names = "default";
status = "okay";
+ bootph-pre-ram;
p3t1085: temperature-sensor at 48 {
compatible = "nxp,p3t1085";
@@ -455,6 +469,7 @@ &lpi2c2 {
pinctrl-0 = <&pinctrl_lpi2c2>;
pinctrl-names = "default";
status = "okay";
+ bootph-pre-ram;
pcal6524: gpio at 22 {
compatible = "nxp,pcal6524";
@@ -474,8 +489,10 @@ pmic at 32 {
reg = <0x32>;
interrupt-parent = <&pcal6524>;
interrupts = <11 IRQ_TYPE_EDGE_FALLING>;
+ bootph-pre-ram;
regulators {
+ bootph-pre-ram;
buck1: BUCK1 {
regulator-name = "BUCK1";
regulator-always-on;
@@ -540,6 +557,8 @@ &lpuart1 {
pinctrl-0 = <&pinctrl_uart1>;
pinctrl-names = "default";
status = "okay";
+ bootph-pre-ram;
+ bootph-some-ram;
};
&micfil {
@@ -623,6 +642,7 @@ &usdhc1 {
pinctrl-names = "default", "state_100mhz", "state_200mhz";
fsl,tuning-step = <1>;
status = "okay";
+ bootph-pre-ram;
};
&usdhc2 {
@@ -637,6 +657,7 @@ &usdhc2 {
vmmc-supply = <®_usdhc2_vmmc>;
fsl,tuning-step = <1>;
status = "okay";
+ bootph-pre-ram;
};
&wdog3 {
diff --git a/arch/arm64/boot/dts/freescale/imx91_93_common.dtsi b/arch/arm64/boot/dts/freescale/imx91_93_common.dtsi
index a68ffd04ee08..65e66309bc1d 100644
--- a/arch/arm64/boot/dts/freescale/imx91_93_common.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx91_93_common.dtsi
@@ -51,6 +51,7 @@ osc_32k: clock-osc-32k {
#clock-cells = <0>;
clock-frequency = <32768>;
clock-output-names = "osc_32k";
+ bootph-all;
};
osc_24m: clock-osc-24m {
@@ -58,6 +59,7 @@ osc_24m: clock-osc-24m {
#clock-cells = <0>;
clock-frequency = <24000000>;
clock-output-names = "osc_24m";
+ bootph-all;
};
clk_ext1: clock-ext1 {
@@ -65,6 +67,7 @@ clk_ext1: clock-ext1 {
#clock-cells = <0>;
clock-frequency = <133000000>;
clock-output-names = "clk_ext1";
+ bootph-all;
};
pmu {
@@ -136,6 +139,7 @@ soc at 0 {
#size-cells = <1>;
ranges = <0x0 0x0 0x0 0x80000000>,
<0x28000000 0x0 0x28000000 0x10000000>;
+ bootph-all;
aips1: bus at 44000000 {
compatible = "fsl,aips-bus", "simple-bus";
@@ -143,6 +147,7 @@ aips1: bus at 44000000 {
#address-cells = <1>;
#size-cells = <1>;
ranges;
+ bootph-all;
edma1: dma-controller at 44000000 {
compatible = "fsl,imx93-edma3";
@@ -357,6 +362,8 @@ iomuxc: pinctrl at 443c0000 {
compatible = "fsl,imx93-iomuxc";
reg = <0x443c0000 0x10000>;
status = "okay";
+ bootph-pre-ram;
+ bootph-some-ram;
};
bbnsm: bbnsm at 44440000 {
@@ -384,6 +391,7 @@ clk: clock-controller at 44450000 {
assigned-clocks = <&clk IMX93_CLK_AUDIO_PLL>;
assigned-clock-rates = <393216000>;
status = "okay";
+ bootph-all;
};
src: system-controller at 44460000 {
@@ -444,6 +452,8 @@ aips2: bus at 42000000 {
#address-cells = <1>;
#size-cells = <1>;
ranges;
+ bootph-pre-ram;
+ bootph-some-ram;
edma2: dma-controller at 42000000 {
compatible = "fsl,imx93-edma4";
@@ -919,6 +929,8 @@ aips3: bus at 42800000 {
#address-cells = <1>;
#size-cells = <1>;
ranges;
+ bootph-pre-ram;
+ bootph-some-ram;
usdhc1: mmc at 42850000 {
compatible = "fsl,imx93-usdhc", "fsl,imx8mm-usdhc";
@@ -1039,6 +1051,8 @@ gpio2: gpio at 43810000 {
clock-names = "gpio", "port";
gpio-ranges = <&iomuxc 0 4 30>;
ngpios = <30>;
+ bootph-pre-ram;
+ bootph-some-ram;
};
gpio3: gpio at 43820000 {
@@ -1056,6 +1070,8 @@ gpio3: gpio at 43820000 {
gpio-ranges = <&iomuxc 0 84 8>, <&iomuxc 8 66 18>,
<&iomuxc 26 34 2>, <&iomuxc 28 0 4>;
ngpios = <32>;
+ bootph-pre-ram;
+ bootph-some-ram;
};
gpio4: gpio at 43830000 {
@@ -1072,6 +1088,8 @@ gpio4: gpio at 43830000 {
clock-names = "gpio", "port";
gpio-ranges = <&iomuxc 0 38 28>, <&iomuxc 28 36 2>;
ngpios = <30>;
+ bootph-pre-ram;
+ bootph-some-ram;
};
gpio1: gpio at 47400000 {
@@ -1088,6 +1106,8 @@ gpio1: gpio at 47400000 {
clock-names = "gpio", "port";
gpio-ranges = <&iomuxc 0 92 16>;
ngpios = <16>;
+ bootph-pre-ram;
+ bootph-some-ram;
};
ocotp: efuse at 47510000 {
@@ -1113,6 +1133,8 @@ s4muap: mailbox at 47520000 {
<GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "tx", "rx";
#mbox-cells = <2>;
+ bootph-pre-ram;
+ bootph-some-ram;
};
media_blk_ctrl: system-controller at 4ac10000 {
--
2.34.1
More information about the linux-arm-kernel
mailing list