1 首先我在设备树中初始化了spi4的引脚
spi4_default: pinmux_spi4_default {
pinctrl-single,pins = <
0x250 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* spi4_clk.spi0_clk */
0x254 (PIN_INPUT | MUX_MODE0) /* spi4_d0.spi0_d0 */
0x258 (PIN_OUTPUT | MUX_MODE0) /* spi4_d1.spi0_d1 */
0x230 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* spi4_cs1*/
>;
};
2 让后使能spi4
&spi4 {
pinctrl-names = "default";
pinctrl-0 = <&spi4_default>;
status = "okay";
};
3 在driver/spi/目录下添加了spi_board_info结构体
{
.modalias = "w25q16", /* 对应的spi_driver名字也是"w25q16" */
.max_speed_hz = 10000000, /* max spi clock (SCK) speed in HZ */
.bus_num = 1, /* 接在SPI CONTROLLER 1 */
.mode = SPI_MODE_0,
.chip_select = 0, /* flash_cs, 它的含义由spi_master确定 */
}
4 加载上驱动程序可以进入probe函数,就是无法读取设备ID号,通过逻辑分析仪抓取不到任何spi4的波形,
我是不是哪里漏操作了步骤,第一次用ti的开发板,请大神指导!
Jian Zhou:
这个是基于SDK已经存在的SPI Flash架构写的么?会不会是管脚复用有问题。
nanfeng zhang:
您好,请问您这边该问题是否解决,dts按照着这样配置可以吗,其他地方应该注意什么,我现在也在做spi,我姐的是网络芯片w5100,谢谢!