0704ff5e6c
Why I did it Some of the platform vendors use FPGA in the HW design. This FPGA is connected to the CPU via PCIe interface. This FPGA also works as an I2C controller having other devices attached to the I2C channels emanating from it. Adding a common module, a driver and a platform specific algorithm module to be used for such FPGA in PDDF. How I did it Added 'pddf_fpgapci_module', 'pddf_fpgapci_driver' and a sample algorithm module for Xilinx device 7021. Kernel modules which takes the platform dependent data from PDDF JSON files and initialises the PCIe FPGA. The sample algorithm module can be used by the ODMs in case the communication algorithms are same for their device. Else, they need to come up with similar algo module. How to verify it Any platform having such an FPGA and brought up using PDDF would use these kernel modules. The detail representation of such a device in PDDF JSON file is covered in the HLD. |
||
---|---|---|
.. | ||
i2c | ||
platform-api-pddf-base | ||
platform-api-pddf-base.dep | ||
platform-api-pddf-base.mk | ||
platform-modules-pddf.dep | ||
platform-modules-pddf.mk | ||
README.md | ||
rules.dep | ||
rules.mk |
Platform Driver Development Framework (PDDF) is part of SONiC Platform Development Kit (PDK) which optimizes the platform developement.
SONiC PDDF (Platform driver development framework) supports the following HW devices on a given platform:
- Fan
- PSU
- System EEPROM
- CPLD
- CPLDMUX
- GPIO
- Optic Transceivers
- System LED control via CPLD
- System Status Registers in CPLD
- Temp Sensors
This folder for the PDDF consists of the following:
- PDDF python utility scripts
- Generic PDDF HW device drivers in kernel space