[RFC 0/3] SoCFPGA: Add HPS bridges

Steffen Trumtrar s.trumtrar at pengutronix.de
Thu Dec 11 12:21:39 PST 2014


Hi!

This series adds support for the SoCFPGA bridges.

>From the datasheet:

	The HPS-FPGA bridges allow masters in the FPGA fabric to
	communicate with slaves in the HPS logic and vice versa.
	For example, you can instantiate additional memories or
	peripherals in the FPGA fabric, and master interfaces
	belonging to components in the HPS logic can access them.
	You can also instantiate components such as a NiosII
	processor in the FPGA fabric and their master interfaces
	can access memories or peripherals in the HPS logic

This does only work with the driver from my other series

	SoCFPGA: L3 NIC driver

As the binding, although simple, is still in debate and the
outcome may have impact on this series, this is a just an RFC
for now.

Also, the drivers beg for the DT overlay series which is floating
around, but this shouldn't have any effect on the current binding.
The driver part can be changed later.

Lastly, the bridges have an optional dependency on the fpgamgr
series from Alan Tull. I have added this to the binding, the drivers
don't do anything with this yet.
My idea here would be:
	1. probe bridge
	2. check if fpgamgr phandle is given
	 2a. if yes: defer till fpgamgr is done
	 2b. if no: continue
	3. probe subnodes with the help of DT overlays

I have only tested the HPS and LWHPS drivers, as I don't have any
bitstreams that use the FPGA2HPS bridge; here be dragons.

Regards,
Steffen

Steffen Trumtrar (3):
  devicetree: bindings: Add SoCFpga HPS bridges
  ARM: socfpga: Add drivers for the SoC-to-FPGA bridges
  ARM: dts: socfpga: Add AXI bridges

 .../soc/socfpga/altr,fpga2hps-axi-bridge.txt       |  32 +++
 .../soc/socfpga/altr,hps2fpga-axi-bridge.txt       |  54 +++++
 .../soc/socfpga/altr,lwhps2fpga-axi-bridge.txt     |  31 +++
 arch/arm/boot/dts/socfpga.dtsi                     |  48 ++++
 drivers/soc/socfpga/Kconfig                        |  43 ++++
 drivers/soc/socfpga/Makefile                       |   4 +
 drivers/soc/socfpga/bridges-common.c               |  84 +++++++
 drivers/soc/socfpga/bridges-common.h               |  28 +++
 drivers/soc/socfpga/fpga2hps-bridge.c              |  97 ++++++++
 drivers/soc/socfpga/hps2fpga-bridge.c              | 258 +++++++++++++++++++++
 drivers/soc/socfpga/lwhps2fpga-bridge.c            | 141 +++++++++++
 drivers/soc/socfpga/lwhps2fpga.h                   |  31 +++
 include/soc/socfpga/bridge.h                       |  65 ++++++
 13 files changed, 916 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/soc/socfpga/altr,fpga2hps-axi-bridge.txt
 create mode 100644 Documentation/devicetree/bindings/soc/socfpga/altr,hps2fpga-axi-bridge.txt
 create mode 100644 Documentation/devicetree/bindings/soc/socfpga/altr,lwhps2fpga-axi-bridge.txt
 create mode 100644 drivers/soc/socfpga/Kconfig
 create mode 100644 drivers/soc/socfpga/Makefile
 create mode 100644 drivers/soc/socfpga/bridges-common.c
 create mode 100644 drivers/soc/socfpga/bridges-common.h
 create mode 100644 drivers/soc/socfpga/fpga2hps-bridge.c
 create mode 100644 drivers/soc/socfpga/hps2fpga-bridge.c
 create mode 100644 drivers/soc/socfpga/lwhps2fpga-bridge.c
 create mode 100644 drivers/soc/socfpga/lwhps2fpga.h
 create mode 100644 include/soc/socfpga/bridge.h

-- 
2.1.3




More information about the linux-arm-kernel mailing list