Introduction
This page gives an overview of I2C-PS driver which is available as part of the Xilinx Vivado and SDK distribution.Source path for the driver:
https://github.com/Xilinx/embeddedsw/tree/master/XilinxProcessorIPLib/drivers/iicps
Driver source code is organized into different folders. Below diagram shows the iicps driver source organization
iicps
|
-- 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:
I2C bus specification version 2Supports 16-byte FIFO
Programmable normal and fast bus data rates
Master mode
Write transfer
Read transfer
Extended address support
Support HOLD for slow processor service
Supports TO interrupt flag to avoid stall condition
Slave monitor mode
Slave mode
Slave transmitter
Slave receiver
Extended address support (10-bit address)
Fully programmable slave response address
Supports HOLD to prevent overflow condition
Supports TO interrupt flag to avoid stall condition
Software can poll for status or function as interrupt-driven device
Programmable interrupt generation
Driver Supported Features
The iicps Standalone driver support the below things.All Controller Features supported.
Known issues and Limitations
Test cases
Refer below pah for testing different examples for each feature of the IP.https://github.com/Xilinx/embeddedsw/tree/master/XilinxProcessorIPLib/drivers/iicps/examples
ChangeLog
- 2016.3
- Removed interrupt logic from the eeprom polled example.
- Removed unused header files from the xiicps_eeprom_polled_example.
- 2016.4
- None
- 2017.1
- xiicps: Fixed compilation warnings
- iicps: Workaround for SLVMON issue in zynq
- iicps: Added readme.txt file to generate doxygen for examples
- 2017.2
- None
- 2017.3
- None
- 2017.4
- None
- 2018.1
- None
- 2018.2
- iicps: Write transfer size before slave address in xiicps_master.c
- iicps: Modified the Eeprom scanning mechanism in example xiicps_repeated_start_example.c
- iicps: Write transfer size before slave address in xiicps_master.c
- 2018.3
- None
- 2019.1
- iicps: Added arbitration lost support
- 2019.2
- None
- 2020.1
- Summary
- iicps: Add timeout event to slave interrupt handler
- iicps: Correct XIicPs_GetOptions function
- iicps: Re-organization of driver
- iicps: Add support for 10-bit address in Master/Slave.
- iicps: Clear the ISR before enabling interrupts.
- iicps: Add clocking support
- Commits:
- Summary