如何设置芯片选择ds3234
答
芯片选择引脚被设置在探测驱动程序的电路板文件中,而不是驱动程序代码本身。例如,如果您正在为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中的文档。如果你只想写一个用户空间实现,你可以使用spidev接口。这也记录在/ Documentation/spi中。
可能通过使用相关IO端口号或物理内存地址对该芯片进行寻址。主板将适当地设置芯片选择引脚。 –