由于milk-v的SDK默认没有开启SPI设备,需要修改以下文件来开启
-
修改设备树文件
/build/boards/cv180x/cv1800b_sophpi_duo_sd/dts_riscv/cv1800b_sophpi_duo_sd.dts
在该文件添加以下内容
&spi2 {
status = "okay";
cs-gpios = <&porta 18 0>;
spidev@0{
status = "okay";
};
};
-
修改配置文件
/build/boards/cv180x/cv1800b_sophpi_duo_sd/linux/cvitek_cv1800b_sophpi_duo_sd_defconfig
添加以下内容
CONFIG_SPI_MASTER=y
CONFIG_SPI_SPIDEV=y
CONFIG_SPI_DESIGNWARE=y
CONFIG_SPI_DW_MMIO=y
-
修改板子启动文件,初始化SPI设备和引脚
u-boot-2021.10/board/cvitek/cv180x/board.c
添加以下内容, 也可以把pinmux_config(PINMUX_SPI2);这一行的注释取消
pinmux_config(PINMUX_SPI2);
PINMUX_CONFIG(SPINOR_CS_X, XGPIOA_24);
PINMUX_CONFIG(SPINOR_MISO, XGPIOA_23);
cvi_board_init();
return 0;
重新编译和打包系统
输入一下命令,编译SDK
source build/cvisetup.sh
defconfig cv1800b_sophpi_duo_sd
build_all
然后输入以下命令打包镜像
pack_sd_image
烧录镜像,放到板子上运行
然后查看spi设备是否已启动,可以看到spi设备在/dev目录出现了
|