如何设置ds3234的片选

时间:2013-01-03 10:17:47

标签: linux driver

我们正在写一个spi驱动程序。如何为linux ds3234驱动程序设置“芯片选择引脚”?可以提供帮助的函数名称或头文件。

1 个答案:

答案 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中。