| 数据搜索系统,热门电子元器件搜索 |
|
UM0851 数据表(PDF) 90 Page - STMicroelectronics |
|
|
|||||||||||||||||||||||||||||
UM0851 数据表(HTML) 90 Page - STMicroelectronics |
|
90 / 245 page ![]() Communication device drivers UM0851 90/245 Doc ID 16604 Rev 2 struct spi_board_info can be initialized as: static struct spi_board_info spi_board_info[] __initdata = { { .modalias= "eeprom", .platform_data= &m25_info, .controller_data = &m25_hw, .max_speed_hz= 21000000,/*21MHz*/ .mode = SPI_MODE_3, .bus_num= SPEAR_SSP0_ID, .chip_select= 1, }, } Note: 1 The name provided in modalias should be the same as the slave driver name. 2 The combination of bus_num and chip_select must be unique. The device will be visible in the sysfs directory with the name: spi [bus_num].[chip_select]. 3 The controller transmits data on the available frequency, which must be less than or equal to Max_speed_hz. Registering the driver The SPI slave driver must be registered with the SPI framework. This is accomplished by calling spi_register_driver(&eeprom_driver), where struct slave_driver is a structure which contains information about the SPI slave driver. struct spi_driver { int (*probe)(struct spi_device *spi); int (*remove)(struct spi_device *spi); void (*shutdown)(struct spi_device *spi); int (*suspend)(struct spi_device *spi, pm_message_t mesg); int (*resume)(struct spi_device *spi); struct device_driverdriver; }; You may not need to implement all these functions. Like for the EEPROM driver, only few fields are given: struct spi_driver eeprom_driver = { .driver = { .name = "eeprom", /* field must contain the same name, which is used while adding the slave device in spi_board_info structure, using .modalias name */ .owner = THIS_MODULE, }, .probe = eeprom_probe, .remove = __devexit_p(eeprom_remove), }; The kind of interface provided to the user applications is slave driver dependent (sysfs, proc, dev, etc). The struct spi_device is passed to the slave driver when the probe function of the slave is called from the SPI framework after the device registration. You must save the structrure in the slave driver and use it for any communication with the SPI framework. The definition of this structure is: struct spi_device { struct device dev; |
|
链接网址 |
| ALLDATASHEET是否为您带来帮助? [ DONATE ] |
关于 Alldatasheet | 广告服务 | 联系我们 | 隐私政策 | 数据表链接 | 链接交换 | 制造商名单 All Rights Reserved©Alldatasheet.com |
| Russian : Alldatasheetru.com | Korean : Alldatasheet.co.kr | Spanish : Alldatasheet.es | French : Alldatasheet.fr | Italian : Alldatasheetit.com Portuguese : Alldatasheetpt.com | Polish : Alldatasheet.pl | Vietnamese : Alldatasheet.vn Indian : Alldatasheet.in | Mexican : Alldatasheet.com.mx | British : Alldatasheet.co.uk | New Zealand : Alldatasheet.co.nz |
|
Family Site : ic2ic.com |
icmetro.com |