-1
我們正在寫一個spi驅動程序。如何設置linux ds3234驅動程序的「芯片選擇引腳」?可以幫助的功能或頭文件的名稱,將不勝感激。如何設置芯片選擇ds3234
我們正在寫一個spi驅動程序。如何設置linux ds3234驅動程序的「芯片選擇引腳」?可以幫助的功能或頭文件的名稱,將不勝感激。如何設置芯片選擇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端口號或物理內存地址對該芯片進行尋址。主板將適當地設置芯片選擇引腳。 –