Linux 如何为ds3234设置芯片选择
我们正在编写一个spi驱动程序。如何设置linux ds3234驱动程序的“芯片选择引脚”?如果功能名称或头文件有帮助,我们将不胜感激。芯片选择引脚设置在探测驱动程序的板文件中,而不是驱动程序代码本身。例如,如果您正在为Beagleboard编写此SPI驱动程序,您将编辑board-omap3beagle.c文件,该文件位于/arch/arm/mach-omap2中。编辑应包括一个新结构,其中包含驱动程序的modalias、总线号和芯片选择号。例如:Linux 如何为ds3234设置芯片选择,linux,driver,Linux,Driver,我们正在编写一个spi驱动程序。如何设置linux ds3234驱动程序的“芯片选择引脚”?如果功能名称或头文件有帮助,我们将不胜感激。芯片选择引脚设置在探测驱动程序的板文件中,而不是驱动程序代码本身。例如,如果您正在为Beagleboard编写此SPI驱动程序,您将编辑board-omap3beagle.c文件,该文件位于/arch/arm/mach-omap2中。编辑应包括一个新结构,其中包含驱动程序的modalias、总线号和芯片选择号。例如: static struct spi_boar
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中的文档。如果只想编写用户空间实现,可以使用spidev接口。这也记录在/Documentation/spi中 可能是用相关的IO端口号或物理内存地址对芯片进行寻址。主板将适当设置芯片选择引脚。