[RFC 0/3] SoCFPGA: Add HPS bridges

atull atull at opensource.altera.com
Thu Dec 11 15:35:40 PST 2014


On Thu, 11 Dec 2014, Steffen Trumtrar wrote:

CC Matthew Gerlach

> 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