我在用AM335x EVM裁剪的板子,经过大家的帮忙,移植上了linux系统,添加了SPI设备,可是现在的问题是SPI的输出只有片选和时钟有波形,数据没有波形,我输出了好长时间的数据,决定不是时间不够的问题,请大家帮忙分析下问题大概在哪里,我是这样改的board-am335xevm.c。
增加:
static struct spi_board_info am335x_spi0_info[] = {
{
.modalias = "spidev",
.max_speed_hz = 48000000, //48 Mbps
.bus_num = 1,
.chip_select = 0,
.mode = SPI_MODE_1,
},
};
改了下:
static void spi0_init(int evm_id, int profile)
{
setup_pin_mux(spi0_pin_mux);
spi_register_board_info(bone_spi0_info,
ARRAY_SIZE(am335x_spi0_info));
return;
},
在结构体了添加{spi0_init, DEV_ON_BASEBOARD, PROFILE_ALL},
然后在内核配置的时候,选了User mode SPI device driver support,这样编译出来就有dpidev了。
可是为什么没有数据波形呢,求助
回复 楼主 张超 的帖子
spi_register_board_info(bone_spi0_info,
ARRAY_SIZE(am335x_spi0_info));
这个地方感觉有问题,到底是哪个 info 呢?
我的也是EVM裁剪的板子,SPI也是只有时钟和片选波形,没有数据波形,跟你改的也一样,后来我是用gpio模拟的SPI,就可以了