diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/dts/imx8mm-u-boot.dtsi | 17 | ||||
-rw-r--r-- | arch/arm/dts/imx8mn-u-boot.dtsi | 17 | ||||
-rw-r--r-- | arch/arm/dts/imx8mp-u-boot.dtsi | 17 | ||||
-rw-r--r-- | arch/arm/dts/imx8mq-u-boot.dtsi | 17 | ||||
-rw-r--r-- | arch/arm/dts/imx93-11x11-evk-u-boot.dtsi | 118 | ||||
-rw-r--r-- | arch/arm/mach-imx/fdt.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-imx/imx8m/Kconfig | 19 | ||||
-rw-r--r-- | arch/arm/mach-imx/imx9/Kconfig | 6 |
8 files changed, 90 insertions, 123 deletions
diff --git a/arch/arm/dts/imx8mm-u-boot.dtsi b/arch/arm/dts/imx8mm-u-boot.dtsi index d31bc822532..ecc2319279e 100644 --- a/arch/arm/dts/imx8mm-u-boot.dtsi +++ b/arch/arm/dts/imx8mm-u-boot.dtsi @@ -164,6 +164,21 @@ }; #endif + tee: tee { + description = "OP-TEE"; + type = "tee"; + arch = "arm64"; + compression = "none"; + os = "tee"; + load = <CONFIG_IMX8M_OPTEE_LOAD_ADDR>; + entry = <CONFIG_IMX8M_OPTEE_LOAD_ADDR>; + + tee-os { + filename = "tee.bin"; + optional; + }; + }; + binman_fip: fip { arch = "arm64"; compression = "none"; @@ -192,7 +207,7 @@ fdt = "fdt-SEQ"; firmware = "uboot"; #ifndef CONFIG_ARMV8_PSCI - loadables = "atf"; + loadables = "atf", "tee"; #endif }; }; diff --git a/arch/arm/dts/imx8mn-u-boot.dtsi b/arch/arm/dts/imx8mn-u-boot.dtsi index 6d80d856365..4a4498b36b0 100644 --- a/arch/arm/dts/imx8mn-u-boot.dtsi +++ b/arch/arm/dts/imx8mn-u-boot.dtsi @@ -240,6 +240,21 @@ }; #endif + tee: tee { + description = "OP-TEE"; + type = "tee"; + arch = "arm64"; + compression = "none"; + os = "tee"; + load = <CONFIG_IMX8M_OPTEE_LOAD_ADDR>; + entry = <CONFIG_IMX8M_OPTEE_LOAD_ADDR>; + + tee-os { + filename = "tee.bin"; + optional; + }; + }; + binman_fip: fip { arch = "arm64"; compression = "none"; @@ -268,7 +283,7 @@ fdt = "fdt-SEQ"; firmware = "uboot"; #ifndef CONFIG_ARMV8_PSCI - loadables = "atf"; + loadables = "atf", "tee"; #endif }; }; diff --git a/arch/arm/dts/imx8mp-u-boot.dtsi b/arch/arm/dts/imx8mp-u-boot.dtsi index 56749ccacd2..9ede98a11e4 100644 --- a/arch/arm/dts/imx8mp-u-boot.dtsi +++ b/arch/arm/dts/imx8mp-u-boot.dtsi @@ -185,6 +185,21 @@ }; #endif + tee: tee { + description = "OP-TEE"; + type = "tee"; + arch = "arm64"; + compression = "none"; + os = "tee"; + load = <CONFIG_IMX8M_OPTEE_LOAD_ADDR>; + entry = <CONFIG_IMX8M_OPTEE_LOAD_ADDR>; + + tee-os { + filename = "tee.bin"; + optional; + }; + }; + @fdt-SEQ { description = "NAME"; type = "flat_dt"; @@ -204,7 +219,7 @@ fdt = "fdt-SEQ"; firmware = "uboot"; #ifndef CONFIG_ARMV8_PSCI - loadables = "atf"; + loadables = "atf", "tee"; #endif }; }; diff --git a/arch/arm/dts/imx8mq-u-boot.dtsi b/arch/arm/dts/imx8mq-u-boot.dtsi index d7a83a78f4d..93e2ef27f7c 100644 --- a/arch/arm/dts/imx8mq-u-boot.dtsi +++ b/arch/arm/dts/imx8mq-u-boot.dtsi @@ -144,6 +144,21 @@ }; #endif + tee: tee { + description = "OP-TEE"; + type = "tee"; + arch = "arm64"; + compression = "none"; + os = "tee"; + load = <CONFIG_IMX8M_OPTEE_LOAD_ADDR>; + entry = <CONFIG_IMX8M_OPTEE_LOAD_ADDR>; + + tee-os { + filename = "tee.bin"; + optional; + }; + }; + fdt { compression = "none"; description = "NAME"; @@ -164,7 +179,7 @@ fdt = "fdt"; firmware = "uboot"; #ifndef CONFIG_ARMV8_PSCI - loadables = "atf"; + loadables = "atf", "tee"; #endif }; }; diff --git a/arch/arm/dts/imx93-11x11-evk-u-boot.dtsi b/arch/arm/dts/imx93-11x11-evk-u-boot.dtsi index 408e601bc90..a99ba99bfb4 100644 --- a/arch/arm/dts/imx93-11x11-evk-u-boot.dtsi +++ b/arch/arm/dts/imx93-11x11-evk-u-boot.dtsi @@ -26,111 +26,6 @@ bootph-pre-ram; }; -&lpi2c2 { - #address-cells = <1>; - #size-cells = <0>; - clock-frequency = <400000>; - pinctrl-names = "default", "sleep"; - pinctrl-0 = <&pinctrl_lpi2c2>; - pinctrl-1 = <&pinctrl_lpi2c2>; - status = "okay"; - - pmic@25 { - compatible = "nxp,pca9451a"; - reg = <0x25>; - interrupt-parent = <&pcal6524>; - interrupts = <11 IRQ_TYPE_LEVEL_LOW>; - - regulators { - buck1: BUCK1 { - regulator-name = "BUCK1"; - regulator-min-microvolt = <650000>; - regulator-max-microvolt = <2237500>; - regulator-boot-on; - regulator-always-on; - regulator-ramp-delay = <3125>; - }; - - buck2: BUCK2 { - regulator-name = "BUCK2"; - regulator-min-microvolt = <600000>; - regulator-max-microvolt = <2187500>; - regulator-boot-on; - regulator-always-on; - regulator-ramp-delay = <3125>; - }; - - buck4: BUCK4{ - regulator-name = "BUCK4"; - regulator-min-microvolt = <600000>; - regulator-max-microvolt = <3400000>; - regulator-boot-on; - regulator-always-on; - }; - - buck5: BUCK5{ - regulator-name = "BUCK5"; - regulator-min-microvolt = <600000>; - regulator-max-microvolt = <3400000>; - regulator-boot-on; - regulator-always-on; - }; - - buck6: BUCK6 { - regulator-name = "BUCK6"; - regulator-min-microvolt = <600000>; - regulator-max-microvolt = <3400000>; - regulator-boot-on; - regulator-always-on; - }; - - ldo1: LDO1 { - regulator-name = "LDO1"; - regulator-min-microvolt = <1600000>; - regulator-max-microvolt = <3300000>; - regulator-boot-on; - regulator-always-on; - }; - - ldo4: LDO4 { - regulator-name = "LDO4"; - regulator-min-microvolt = <800000>; - regulator-max-microvolt = <3300000>; - regulator-boot-on; - regulator-always-on; - }; - - ldo5: LDO5 { - regulator-name = "LDO5"; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <3300000>; - regulator-boot-on; - regulator-always-on; - }; - }; - }; - - pcal6524: gpio@22 { - compatible = "nxp,pcal6524"; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_pcal6524>; - reg = <0x22>; - gpio-controller; - #gpio-cells = <2>; - interrupt-controller; - #interrupt-cells = <2>; - interrupt-parent = <&gpio3>; - interrupts = <27 IRQ_TYPE_LEVEL_LOW>; - }; - - adp5585gpio: gpio@34 { - compatible = "adp5585"; - reg = <0x34>; - gpio-controller; - #gpio-cells = <2>; - }; -}; - &aips1 { bootph-pre-ram; bootph-all; @@ -149,19 +44,6 @@ &iomuxc { bootph-pre-ram; bootph-some-ram; - - pinctrl_lpi2c2: lpi2c2grp { - fsl,pins = < - MX93_PAD_I2C2_SCL__LPI2C2_SCL 0x40000b9e - MX93_PAD_I2C2_SDA__LPI2C2_SDA 0x40000b9e - >; - }; - - pinctrl_pcal6524: pcal6524grp { - fsl,pins = < - MX93_PAD_CCM_CLKO2__GPIO3_IO27 0x31e - >; - }; }; ®_usdhc2_vmmc { diff --git a/arch/arm/mach-imx/fdt.c b/arch/arm/mach-imx/fdt.c index 103c1fc5968..f19ab9edce4 100644 --- a/arch/arm/mach-imx/fdt.c +++ b/arch/arm/mach-imx/fdt.c @@ -39,7 +39,7 @@ static void disable_thermal_cpu_nodes(void *blob, u32 num_disabled_cores, u32 ma for (j = 0; j < cnt; j++) cooling_dev[j] = cpu_to_fdt32(cooling_dev[j]); - ret = fdt_setprop(blob, nodeoff, "cooling-device", &cooling_dev, + ret = fdt_setprop(blob, nodeoff, "cooling-device", cooling_dev, sizeof(__le32) * (num_le32 - num_disabled_cores * 3)); if (ret < 0) { printf("Warning: %s, cooling-device setprop failed %d\n", diff --git a/arch/arm/mach-imx/imx8m/Kconfig b/arch/arm/mach-imx/imx8m/Kconfig index b254a50b091..0fe9c46e499 100644 --- a/arch/arm/mach-imx/imx8m/Kconfig +++ b/arch/arm/mach-imx/imx8m/Kconfig @@ -37,6 +37,17 @@ config SYS_HAS_ARMV8_SECURE_BASE If enabled, please also define the value for ARMV8_SECURE_BASE, for i.MX8M, it could be some address in OCRAM. +config IMX8M_OPTEE_LOAD_ADDR + hex "Load address of OPTEE image" + default 0xbe000000 if IMX8MM + default 0xbe000000 if IMX8MN + default 0x56000000 if IMX8MP + default 0xfe000000 if IMX8MQ + help + The load and entry address for the OPTEE image. This value defaults to + the one defined in tf-a if not provided in the board defconfig file. + + choice prompt "NXP i.MX8M board select" optional @@ -54,6 +65,8 @@ config TARGET_IMX8MQ_EVK select ARCH_MISC_INIT select SPL_CRYPTO if SPL imply OF_UPSTREAM + imply BOOTSTD_FULL + imply BOOTSTD_BOOTCOMMAND config TARGET_IMX8MQ_PHANBELL bool "imx8mq_phanbell" @@ -154,6 +167,8 @@ config TARGET_IMX8MN_EVK select FSL_CAAM select SPL_CRYPTO if SPL imply OF_UPSTREAM + imply BOOTSTD_FULL + imply BOOTSTD_BOOTCOMMAND config TARGET_IMX8MN_DDR4_EVK bool "imx8mn DDR4 EVK board" @@ -163,6 +178,8 @@ config TARGET_IMX8MN_DDR4_EVK select FSL_CAAM select SPL_CRYPTO if SPL imply OF_UPSTREAM + imply BOOTSTD_FULL + imply BOOTSTD_BOOTCOMMAND config TARGET_IMX8MN_VENICE bool "Support Gateworks Venice iMX8M Nano module" @@ -227,6 +244,8 @@ config TARGET_IMX8MP_EVK select ARCH_MISC_INIT select SPL_CRYPTO if SPL imply OF_UPSTREAM + imply BOOTSTD_FULL + imply BOOTSTD_BOOTCOMMAND config TARGET_IMX8MP_NAVQP bool "Emcraft Systems i.MX8M Plus NavQ+ board" diff --git a/arch/arm/mach-imx/imx9/Kconfig b/arch/arm/mach-imx/imx9/Kconfig index 54c6b117fcf..49220c0955e 100644 --- a/arch/arm/mach-imx/imx9/Kconfig +++ b/arch/arm/mach-imx/imx9/Kconfig @@ -34,6 +34,8 @@ config TARGET_IMX91_11X11_EVK select OF_BOARD_FIXUP select IMX91 imply OF_UPSTREAM + imply BOOTSTD_FULL + imply BOOTSTD_BOOTCOMMAND config TARGET_IMX93_9X9_QSB bool "imx93_qsb" @@ -41,12 +43,16 @@ config TARGET_IMX93_9X9_QSB select IMX93 select IMX9_LPDDR4X imply OF_UPSTREAM + imply BOOTSTD_FULL + imply BOOTSTD_BOOTCOMMAND config TARGET_IMX93_11X11_EVK bool "imx93_11x11_evk" select OF_BOARD_FIXUP select IMX93 imply OF_UPSTREAM + imply BOOTSTD_FULL + imply BOOTSTD_BOOTCOMMAND config TARGET_IMX93_VAR_SOM bool "imx93_var_som" |