2013-01-03 201 views
-1

我們正在寫一個spi驅動程序。如何設置linux ds3234驅動程序的「芯片選擇引腳」?可以幫助的功能或頭文件的名稱,將不勝感激。如何設置芯片選擇ds3234

+0

可能通過使用相關IO端口號或物理內存地址對該芯片進行尋址。主板將適當地設置芯片選擇引腳。 –

回答

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中的文檔。如果你只想寫一個用戶空間實現,你可以使用spidev接口。這也記錄在/ Documentation/spi中。