summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorAdam Ford <[email protected]>2021-09-10 15:19:22 -0500
committerTom Rini <[email protected]>2022-01-07 15:41:58 -0500
commit2baacc75a532dadfe8694252fb2f6d8dc3fa3983 (patch)
tree027b617e42ef97ef36de2dec7241d9b93265ae1c /arch
parent80efad13425a081e186764bcb9ccd77fcc98a456 (diff)
imx8mn_beacon: Fix booting hang and switch to binman
Somewhere along the line, the board stopped being able to boot. Rather than just fixing the issue, let's fix the issue and migrate to binman to eliminate a warning when using custom imx tools for generating the binary. Signed-off-by: Adam Ford <[email protected]> Reviewed-by: Peng Fan <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/dts/imx8mn-beacon-kit-u-boot.dtsi130
-rw-r--r--arch/arm/mach-imx/imx8m/Kconfig1
2 files changed, 131 insertions, 0 deletions
diff --git a/arch/arm/dts/imx8mn-beacon-kit-u-boot.dtsi b/arch/arm/dts/imx8mn-beacon-kit-u-boot.dtsi
index bbc64a28199..69fd69c8d02 100644
--- a/arch/arm/dts/imx8mn-beacon-kit-u-boot.dtsi
+++ b/arch/arm/dts/imx8mn-beacon-kit-u-boot.dtsi
@@ -4,6 +4,10 @@
*/
/ {
+ binman: binman {
+ multiple-images;
+ };
+
wdt-reboot {
compatible = "wdt-reboot";
wdt = <&wdog1>;
@@ -40,6 +44,9 @@
&clk {
u-boot,dm-spl;
u-boot,dm-pre-reloc;
+ /delete-property/ assigned-clocks;
+ /delete-property/ assigned-clock-parents;
+ /delete-property/ assigned-clock-rates;
};
&gpio1 {
@@ -99,6 +106,10 @@
u-boot,off-on-delay-us = <20000>;
};
+&uart2 {
+ u-boot,dm-spl;
+};
+
&usdhc1 {
u-boot,dm-spl;
sd-uhs-sdr104;
@@ -120,3 +131,122 @@
&wdog1 {
u-boot,dm-spl;
};
+
+&binman {
+ u-boot-spl-ddr {
+ filename = "u-boot-spl-ddr.bin";
+ pad-byte = <0xff>;
+ align-size = <4>;
+ align = <4>;
+
+ u-boot-spl {
+ align-end = <4>;
+ };
+
+ blob_1: blob-ext@1 {
+ filename = "lpddr4_pmu_train_1d_imem.bin";
+ size = <0x8000>;
+ };
+
+ blob_2: blob-ext@2 {
+ filename = "lpddr4_pmu_train_1d_dmem.bin";
+ size = <0x4000>;
+ };
+
+ blob_3: blob-ext@3 {
+ filename = "lpddr4_pmu_train_2d_imem.bin";
+ size = <0x8000>;
+ };
+
+ blob_4: blob-ext@4 {
+ filename = "lpddr4_pmu_train_2d_dmem.bin";
+ size = <0x4000>;
+ };
+ };
+
+
+ spl {
+ filename = "spl.bin";
+
+ mkimage {
+ args = "-n spl/u-boot-spl.cfgout -T imx8mimage -e 0x912000";
+
+ blob {
+ filename = "u-boot-spl-ddr.bin";
+ };
+ };
+ };
+
+ itb {
+ filename = "u-boot.itb";
+
+ fit {
+ description = "Configuration to load ATF before U-Boot";
+ #address-cells = <1>;
+ fit,external-offset = <CONFIG_FIT_EXTERNAL_OFFSET>;
+
+ images {
+ uboot {
+ description = "U-Boot (64-bit)";
+ type = "standalone";
+ arch = "arm64";
+ compression = "none";
+ load = <CONFIG_SYS_TEXT_BASE>;
+
+ uboot_blob: blob-ext {
+ filename = "u-boot-nodtb.bin";
+ };
+ };
+
+ atf {
+ description = "ARM Trusted Firmware";
+ type = "firmware";
+ arch = "arm64";
+ compression = "none";
+ load = <0x960000>;
+ entry = <0x960000>;
+
+ atf_blob: blob-ext {
+ filename = "bl31.bin";
+ };
+ };
+
+ fdt {
+ description = "NAME";
+ type = "flat_dt";
+ compression = "none";
+
+ uboot_fdt_blob: blob-ext {
+ filename = "u-boot.dtb";
+ };
+ };
+ };
+
+ configurations {
+ default = "conf";
+
+ conf {
+ description = "NAME";
+ firmware = "uboot";
+ loadables = "atf";
+ fdt = "fdt";
+ };
+ };
+ };
+ };
+
+ imx-boot {
+ filename = "flash.bin";
+ pad-byte = <0x00>;
+
+ spl: blob-ext@1 {
+ offset = <0x0>;
+ filename = "spl.bin";
+ };
+
+ uboot: blob-ext@2 {
+ offset = <0x58000>;
+ filename = "u-boot.itb";
+ };
+ };
+};
diff --git a/arch/arm/mach-imx/imx8m/Kconfig b/arch/arm/mach-imx/imx8m/Kconfig
index a2822f8c28f..0d27912bea8 100644
--- a/arch/arm/mach-imx/imx8m/Kconfig
+++ b/arch/arm/mach-imx/imx8m/Kconfig
@@ -124,6 +124,7 @@ config TARGET_IMX8MM_BEACON
config TARGET_IMX8MN_BEACON
bool "imx8mn Beacon Embedded devkit"
+ select BINMAN
select IMX8MN
select SUPPORT_SPL
select IMX8M_LPDDR4