我们正在写一个spi驱动程序。如何为linux ds3234驱动程序设置“芯片选择引脚”?可以提供帮助的函数名称或头文件。
答案 0 :(得分:0)
芯片选择引脚设置在探测驱动程序的板文件中,而不是驱动程序代码本身。例如,如果您正在为Beagleboard编写此SPI驱动程序,则可以编辑位于/ arch / arm / mach-omap2中的board-omap3beagle.c文件。编辑应包括一个新结构,其中包含驱动程序的模态,总线编号和芯片选择编号。例如:
static struct spi_board_info mcspi_board_info[] = {
// spi 3.0
{
.modalias = "driver1",
.max_speed_hz = 5000000, // 5 Mbps
.bus_num = 3,
.chip_select = 0,
.mode = SPI_MODE_0,
},
// spi 3.1
{
.modalias = "driver2",
.max_speed_hz = 5000000, // Mbps
.bus_num = 3,
.chip_select = 1,
.mode = SPI_MODE_3,
},
};
然后在__init函数中注册驱动程序如下:
spi_register_board_info(mcspi_board_info,ARRAY_SIZE(mcspi_board_info));
调用此寄存器功能时,将调用驱动程序的探测功能。查看/ Documentation / spi中的doc。如果您只想编写用户空间实现,可以使用spidev接口。这也记录在/ Documentation / spi中。