From: KONRAD Frederic <fred.kon...@greensocs.com> This is the implementation of the Xilinx DisplayPort and DPDMA
This patch-set is rebased on Peter Crosthwaite patch-set currently on the list: http://lists.nongnu.org/archive/html/qemu-devel/2015-05/msg01302.html Details of the DPDMA part: * DPDMA is implemented as a QEMU SYSBUS device. * Interrupts are implemented except the axi error and fifo. Details of the XILINX-DP: * DP is also implemented as a QEMU SYSBUS. Multiple memory regions are used to avoid having a single big region as there are holes in the DP memory map. * An aux-bus has been implemented, it creates a memory map for aux slaves and has an i2c bus (which is already implemented in QEMU). * The normal programmable i2c clock and controller implementation is missing from the QEMU tree so the easiest way for us was to implement a dummy-clk driver in the kernel. It's a clock which does nothing but fakes a clock such that the DPDMA driver works. The patch will be send separately. * The graphic plane works on channel 3, video on channel 0 and audios on channel 4 and 5. Thanks, Fred KONRAD Frederic (7): Introduce AUX bus. i2c: implement broadcast write. console: add qemu_alloc_display_format. introduce dpcd module. Introduce xilinx dpdma. Introduce xilinx dp. arm: xlnx-zynqmp: Add DisplayPort and DPDMA. Peter Maydell (1): hw/i2c-ddc.c: Implement DDC I2C slave hw/arm/xlnx-zynqmp.c | 23 + hw/display/Makefile.objs | 1 + hw/display/dpcd.c | 139 ++++ hw/display/dpcd.h | 72 +++ hw/display/xilinx_dp.c | 1454 ++++++++++++++++++++++++++++++++++++++++++ hw/display/xilinx_dp.h | 125 ++++ hw/dma/Makefile.objs | 1 + hw/dma/xilinx_dpdma.c | 1149 +++++++++++++++++++++++++++++++++ hw/dma/xilinx_dpdma.h | 71 +++ hw/i2c/Makefile.objs | 2 +- hw/i2c/core.c | 46 +- hw/i2c/i2c-ddc.c | 288 +++++++++ hw/i2c/i2c-ddc.h | 34 + hw/misc/Makefile.objs | 1 + hw/misc/aux.c | 421 ++++++++++++ include/hw/arm/xlnx-zynqmp.h | 4 + include/hw/aux.h | 127 ++++ include/ui/console.h | 2 + ui/console.c | 25 +- 19 files changed, 3980 insertions(+), 5 deletions(-) create mode 100644 hw/display/dpcd.c create mode 100644 hw/display/dpcd.h create mode 100644 hw/display/xilinx_dp.c create mode 100644 hw/display/xilinx_dp.h create mode 100644 hw/dma/xilinx_dpdma.c create mode 100644 hw/dma/xilinx_dpdma.h create mode 100644 hw/i2c/i2c-ddc.c create mode 100644 hw/i2c/i2c-ddc.h create mode 100644 hw/misc/aux.c create mode 100644 include/hw/aux.h -- 1.9.0