lpddr4x_timing.cを更新しました既存の board/freescale/imx93_evk u-boot ソース フォルダ内の spl.c は、カスタム DRAM と PMIC の統合を反映します。フラッシュバイナリファイルをビルドし、eMMCストレージに正常にデプロイすることができました。
u-bootのカスタムボード構成を作成するためのガイダンスはありますか?
私は、以下に概説する手順を使用して、ソースツリーでカスタムボードの別の構成を作成しようとしています。
cp -R board/freescale/imx93_evk board/freescale/imx93_som
cp include/configs/imx93_evk.h include/configs/imx93_som.h
cp arch/arm/dts/imx93-11x11-evk.dts arch/arm/dts/imx93-11x11-som.dts
cp arch/arm/dts/imx93-11x11-evk-u-boot.dtsi arch/arm/dts/imx93-11x11-som-u-boot.dtsiこの内容で board/freescale/imx93_som/Kconfig を更新しました。
if TARGET_IMX93_11X11_SOM
config SYS_BOARD
default "imx93_som"
config SYS_VENDOR
default "freescale"
config SYS_CONFIG_NAME
default "imx93_som"
choice
prompt "Select DDR Type"
default IMX93_EVK_LPDDR4X if TARGET_IMX93_11X11_SOM
config IMX93_EVK_LPDDR4X
bool "Using LPDDR4X Timing and PMIC voltage"
select IMX9_LPDDR4X
help
Select the LPDDR4X timing and 0.6V VDDQ
config IMX93_EVK_LPDDR4
bool "Using LPDDR4 Timing and PMIC voltage"
select IMX9_LPDDR4X
help
Select the LPDDR4 timing and 1.1V VDDQ
endchoice
endifarch/arm/mach-imx/imx9/Kconfig を更新し、以下の追記を行いました:
...
config TARGET_IMX93_11X11_SOM
bool "imx93_11x11_som"
select OF_BOARD_FIXUP
select IMX93
...
source "board/freescale/imx93_som/Kconfig"
...arch/arm/dts/Makefile を更新し、カスタム dts ファイルのエントリを追加しました:
dtb-$(CONFIG_ARCH_IMX9) += \
imx93-11x11-evk.dtb \
imx93-11x11-som.dtb \
imx93-14x14-evk.dtb \
imx93-9x9-qsb.dtb \
imx93-9x9-qsb-ontat-wvga-panel.dtb \
imx91p-11x11-evk.dtb \
imx91p-9x9-qsb-ontat-wvga-panel.dtb \
imx91p-9x9-qsb-spinand.dtb.configを更新しましたファイルに次の変更を加えます。
29,30c29,30
< CONFIG_SYS_BOARD="imx93_evk"
< CONFIG_SYS_CONFIG_NAME="imx93_evk"
---
> CONFIG_SYS_BOARD="imx93_som"
> CONFIG_SYS_CONFIG_NAME="imx93_som"
195c195
< CONFIG_DEFAULT_DEVICE_TREE="imx93-11x11-evk"
---
> CONFIG_DEFAULT_DEVICE_TREE="imx93-11x11-som"
202c202
< CONFIG_TARGET_IMX93_11X11_EVK=y
---
> # CONFIG_TARGET_IMX93_11X11_EVK is not set
206,207c206
< CONFIG_IMX93_EVK_LPDDR4X=y
< # CONFIG_IMX93_EVK_LPDDR4 is not set
---
> CONFIG_TARGET_IMX93_11X11_SOM=y
431c430
< CONFIG_DEFAULT_FDT_FILE="imx93-11x11-evk.dtb"
---
> CONFIG_DEFAULT_FDT_FILE="imx93-11x11-som.dtb"
936c935
< CONFIG_OF_LIST="imx93-11x11-evk"
---
> CONFIG_OF_LIST="imx93-11x11-som"
938c937
< CONFIG_SPL_OF_LIST="imx93-11x11-evk"
---
> CONFIG_SPL_OF_LIST="imx93-11x11-som"ただし、ビルドを作成しようとすると、次のエラーが発生します。
...
AR spl/fs/built-in.o
LDSのspl/u-boot-spl.lds
LDのSPL / UブートSPL
aarch64-poky-linux-ld.bfd: board/freescale/imx93_som/spl.o: 関数 'spl_dram_init' 内:
/home/user/controls/Uboot/user-som/source/board/freescale/imx93_som/spl.c:76: 'dram_timing' への未定義の参照
aarch64-poky-linux-ld.bfd: /home/user/controls/Uboot/user-som/source/board/freescale/imx93_som/spl.c:76: 'dram_timing' への未定義の参照
make[2]: *** [/home/user/controls/Uboot/user-som/source/scripts/Makefile.spl:528: spl/u-boot-spl] エラー 1
make[1]: *** [/home/user/controls/Uboot/user-som/source/Makefile:2044: spl/u-boot-spl] エラー 2
make [1]:ディレクトリ '/home/user/controls/Uboot/user-som/artifacts'を離れます
make: *** [Makefile:177: sub-make] エラー 2
make: ディレクトリ '/home/user/controls/Uboot/user-som/source' を離れます
何か見落としたことはありましたか?
どんな意見でも大歓迎です、前もって感謝します。
以下は、赤で欠落しているステップです。
cp -R ボード/フリースケール/imx93_evk/ ボード/フリースケール/imx93_som
MVボード/フリースケール/imx93_som/imx93_evk.Cボード/フリースケール/imx93_som/imx93_som.c
cp include/configs/imx93_evk.h include/configs/imx93_som.h
cp arch/arm/dts/imx93-11x11-evk.dts arch/arm/dts/imx93-11x11-som.dts
cp arch/arm/dts/imx93-11x11-evk-u-boot.dtsi arch/arm/dts/imx93-11x11-som-u-boot.dtsi
これらの変更についても言及するのを忘れていました。
diff --git a/board/freescale/imx93_som/Makefile b/board/freescale/imx93_som/Makefile
index b6b978dd..4710b954 100644
--- a/board/freescale/imx93_som/Makefile
+++ b/board/freescale/imx93_som/Makefile
@@ -4,7 +4,7 @@
# SPDX-License-Identifier: GPL-2.0+
#
-obj-y += imx93_evk.o
+obj-y += imx93_som.o
ifdef CONFIG_SPL_BUILD
obj-y += spl.o私の問題は解決しました。一歩足りなかった。