
The Google Chameleon V3 is a board made for testing both video and audio interfaces of external devices. It has a connector compatible with the Mercury+ AA1 module, which itself contains an Arria 10 SoCFPGA. The AA1 module comes in a few different configurations, the Chameleon V3 supports ME-AA1-270-3E4-D11 and ME-AA1-480-2I3-D12E.
This patchset adds support for the Chameleon V3 (both versions), as well as some bugfixes and optimizations, mostly in Arria 10 code.
Paweł Anikiel (11): arm: dts: Add Mercury+ AA1 devicetree arm: dts: Add Chameleonv3 handoff headers arm: dts: Add Chameleonv3 devicetree board: Add Chameleonv3 board dir config: Add Chameleonv3 config misc: atsha204a: Increase wake delay by tWHI sysreset: socfpga: Use parent device for reading base address socfpga: arria10: Replace delays with busy waiting in cm_full_cfg socfpga: arria10: Improve bitstream loading speed socfpga: arria10: Wait for fifo empty after writing bitstream socfpga: arria10: Allow dcache_enable before relocation
arch/arm/dts/Makefile | 2 + arch/arm/dts/socfpga_chameleonv3.dtsi | 21 ++ arch/arm/dts/socfpga_chameleonv3_270_3.dts | 9 + .../dts/socfpga_chameleonv3_270_3_handoff.h | 305 ++++++++++++++++++ arch/arm/dts/socfpga_chameleonv3_480_2.dts | 9 + .../dts/socfpga_chameleonv3_480_2_handoff.h | 305 ++++++++++++++++++ arch/arm/dts/socfpga_mercury_aa1.dtsi | 103 ++++++ arch/arm/mach-socfpga/Kconfig | 15 + arch/arm/mach-socfpga/clock_manager.c | 7 +- arch/arm/mach-socfpga/clock_manager_arria10.c | 12 +- .../mach-socfpga/include/mach/clock_manager.h | 4 + arch/arm/mach-socfpga/misc_arria10.c | 26 ++ board/google/chameleonv3/Makefile | 5 + board/google/chameleonv3/board.c | 27 ++ board/google/chameleonv3/fpga.its | 28 ++ board/google/chameleonv3/fpga_early_io.its | 35 ++ board/google/chameleonv3/mercury_aa1.c | 43 +++ board/google/chameleonv3/mercury_aa1.h | 12 + configs/socfpga_chameleonv3_defconfig | 29 ++ drivers/fpga/socfpga_arria10.c | 28 +- drivers/misc/atsha204a-i2c.c | 5 +- drivers/sysreset/sysreset_socfpga.c | 2 +- include/configs/socfpga_chameleonv3.h | 49 +++ 23 files changed, 1067 insertions(+), 14 deletions(-) create mode 100644 arch/arm/dts/socfpga_chameleonv3.dtsi create mode 100644 arch/arm/dts/socfpga_chameleonv3_270_3.dts create mode 100644 arch/arm/dts/socfpga_chameleonv3_270_3_handoff.h create mode 100644 arch/arm/dts/socfpga_chameleonv3_480_2.dts create mode 100644 arch/arm/dts/socfpga_chameleonv3_480_2_handoff.h create mode 100644 arch/arm/dts/socfpga_mercury_aa1.dtsi create mode 100644 board/google/chameleonv3/Makefile create mode 100644 board/google/chameleonv3/board.c create mode 100644 board/google/chameleonv3/fpga.its create mode 100644 board/google/chameleonv3/fpga_early_io.its create mode 100644 board/google/chameleonv3/mercury_aa1.c create mode 100644 board/google/chameleonv3/mercury_aa1.h create mode 100644 configs/socfpga_chameleonv3_defconfig create mode 100644 include/configs/socfpga_chameleonv3.h