ZHCADB4 November 2023 AM625 , MSPM0L1306
遵循 AM62x 入门套件 EVM 快速入门指南中提供的设置。
通过按以下步骤修改内核器件树,在 Linux 中设置 SPI 驱动程序:
在路径 <psdk-installation-path>/board-support/ti-linux-kernel/arch/arm64/boot/dts/ti 上找到 k3-am625-sk.dts 器件树文件
按如下方式修改该文件:
在 &main_pmx0{...} 内添加:
main_spi0_pins_default: main-spi0-pins-default {
pinctrl-single,pins = <
AM62X_IOPAD(0x01bc, PIN_OUTPUT, 0) /* (A14) SPI0_CLK */
AM62X_IOPAD(0x01c0, PIN_INPUT, 0) /* (B13) SPI0_D0 */
AM62X_IOPAD(0x01c4, PIN_OUTPUT, 0) /* (B14) SPI0_D1 */
AM62X_IOPAD(0x01b4, PIN_OUTPUT, 0) /* (A13) SPI0_CS0 */
>;
};
在该文件末尾添加:
&main_spi0 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&main_spi0_pins_default>;
spidev@0 {
spi-max-frequency = <16000000>;
reg = <0>;
compatible = "rohm,dh2228fv";
};
};
按照用户指南 - Processor SDK AM62x 中给出的步骤重新编译内核。按照此页面上的步骤操作时,请根据 SPI 内核驱动程序中提供的“内核配置”部分使用 menuconfig 自定义内核。有关更多详细信息,请参阅下方的步骤。
HOST$ cd <psdk-installaion-path>/board-support/ti-linux-kernel/
HOST$ make defconfig ti_arm64_prone.config
HOST$ make ARCH=arm64 menuconfig
Device Drivers --->
[*] SPI support
<*> User mode SPI device driver support
#Save these changes to the .config file
HOST$ make Image dtbs modules
HOST$ sudo cp ./arch/arm64/boot/Image /media/<USER>/root/boot/
HOST$ sudo cp ./arch/arm64/boot/dts/ti/k3-am625-sk.dtb /media/root/boot/dtb/ti
HOST$ sudo -E env “PATH=$PATH” INSTALL_MOD_PATH=/media/<USER>/root make modules_install
HOST$ sync; sync
将目标 C 文件复制到 SDK 路径,并使用编译示例 Hello World 程序中给出的任何方法编译 C 工程文件。无论使用哪种方法,最后都应将可执行文件加载到 SD 卡中。有关更多详细信息,请参阅下方的步骤。
HOST$ cd <Beyond-SDK-installation-path>/Beyond-SDK/am62x/MSPM0-ADC-RTC-Attach/MSPM0-ADC-Attach-SPI/<x_Byte_x_Channel_SPI>/Controller/AM62x-A53_Core_MAIN_Domain/
HOST$ cp <target-filename>.c <psdk-installation-path>/linux-devkit/
HOST$ cd <psdk-installation-path>/linux-devkit/
HOST$ source environment-setup
HOST$ ${CC} <target-filename>.c -o <output-filename>
HOST$ sudo cp <output-filename> /media/<USER>/root/home/root
HOST$ exit
将 SD 卡重新插入 SK-AM62x 并重新启动器件。