IntroductionThis page gives an overview of AXI-I2C driver which is available as part of the Xilinx Vivado and SDK distribution.The LogiCORE™ IP AXI IIC Bus Interface connects to the AMBA® AXI specification and provides a low-speed, two-wire,serial bus interface to a large number of popular devices. This product specification defines the architecture,hardware (signal) interface, software (register) interface, and parameterization options for the AXI IIC Bus Interface module.Source path for the driver:https://github.com/Xilinx/embeddedsw/tree/master/XilinxProcessorIPLib/drivers/iicDriver source code is organized into different folders. Below diagram shows the iicps driver source organizationAxi-iic|-- Doc - Provides the API and data structure details|- Examples - Reference application to show how to use the driver APIs and calling sequence|- Source - Driver source files
Controller Features Supported:
• Register access through AXI4-Lite interface
• Master or slave operation
• Multi-master operation
• Software selectable acknowledge bit
• Arbitration lost interrupt with automatic mode switching from master to slave
• Calling address identification interrupt with automatic mode switching from master to slave
• START and STOP signal generation and detection
• Repeated START signal generation
• Acknowledge bit generation and detection
• Bus busy detection
• Fast-Mode Plus 1 MHz, Fast Mode 400 kHz, or Standard Mode 100 kHz operation
• 7-bit or 10-bit addressing
• General call enable or disable
• Transmit and receive FIFOs – 16 bytes deep
• General purpose output, 1-bit to 8 bits wide
• Dynamic Start and Stop generation
Driver Supported Features
- The axi-iic Standalone driver support the below things.
- All Controller Features supported.
Known issues and Limitations
Test casesRefer below pah for testing different examples for each feature of the IP.https://github.com/Xilinx/embeddedsw/tree/master/XilinxProcessorIPLib/drivers/iic/examples
- Added xil_printf statement in examples.
- Updated Makefile.
- Added readme.txt file to generate doxygen for examples.
- Modified comment lines notation of functions
- Changed modification history in examples
- updated copyright for iic
- iic: Update the fifo flush
- iic: Update the bus wait for the nack caseFixes the bus busy check in case of nack
- drivers: Changes in Makefile to make map file consistent in windows and linux
- drivers: Fix makefiles issue for windows
- drivers: iic: Add conditional flushing of RxFIFO