A Serial Peripheral Interface (SPI) is (at least) a four-wire bus: Master Input Slave Output (MISO); Master Output Slave Input (MOSI); Serial Clock (SCK); and Chip Select (CS), which is used to connect a serial flash, AD/DA converter. The master always generates the clock. Its speed can reach up to 80 MHz, even if there is no real speed limitation (much faster than I2C as well). The Linux I2C subsystem is the interface through which the system running Linux can interact with devices connected on the system's I2C bus. It is designed in such a manner that the system running Linux is always the I2C master.
CH1: UNDERSTANDING I2C DEVICE DRIVER AND I2C SUBSYSTEM IN LINUX
Overview of I2C protocolwhat is Platform Device and platform Driver
What is use of Platform device & Driver in I2C project Development
Understanding the Linux I2C Framework
Understanding I2C and Character driver fromework
Understanding the I2C Adapter and Algorithm
Understanding the Client Device Driver
What is Device tree Source and Binary
Understanding and Decoding I2C Registers in AM335x SOC (Beaglebone Black)
Hands-On Assignments
Lab1:Development of Platform Device and DriverLab2:Creating I2C node with I2C base Addrees in Device Tree
Lab3:Creating master and Client node in Device Tree
Lab4:Development of I2C and Character driver framework
Lab5:Setting and porting platform specific embedded linux on BBB
Lab6:Writing low level I2C driver
Lab7:Writing I2C Adapter and Client driver
Lab8:Interfacing with I2C Master with Client
Lab9.Development of I2C Driver with help of Platform device driver
CH2: UNDERSTANDING SPI DEVICE DRIVER AND SPI SUBSYSTEM IN LINUX
Overview of SPI protocolwhat is Platform Device and platform Driver
What is use of Platform device & Driver in SPI project Development
Understanding the Linux SPI Framework
Understanding SPI and Character driver fromework
Understanding the SPI Adapter and Algorithm
Understanding the Client Device Driver
What is Device tree Source and Binary
Understanding and Decoding SPI Registers in AM335x SOC (Beaglebone Black)
Hands-On Assignments
Lab1:Development of Platform Device and DriverLab2:Creating SPI node with SPI base Addrees in Device Tree
Lab3:Creating master and Client node in Device Tree
Lab4:Development of SPI and Character driver framework
Lab5:Setting and porting platform specific embedded linux on BBB
Lab6:Writing low level SPI driver
Lab7:Writing SPI Adapter and Client driver
Lab8:Interfacing SPI Master with Client
Lab9.Development of SPI Driver with help of Platform device driver