Michal Simek | e34f1f6 | 2016-09-19 10:41:55 +0200 | [diff] [blame] | 1 | menu "FPGA support" |
| 2 | |
Siva Durga Prasad Paladugu | 460fdce | 2016-01-13 16:25:37 +0530 | [diff] [blame] | 3 | config FPGA |
| 4 | bool |
| 5 | |
Patrick Bruenn | ba81b04 | 2016-11-04 11:57:02 +0100 | [diff] [blame] | 6 | config FPGA_ALTERA |
| 7 | bool "Enable Altera FPGA drivers" |
| 8 | select FPGA |
| 9 | help |
| 10 | Say Y here to enable the Altera FPGA driver |
| 11 | |
| 12 | This provides basic infrastructure to support Altera FPGA devices. |
| 13 | Enable Altera FPGA specific functions which includes bitstream |
| 14 | (in BIT format), fpga and device validation. |
| 15 | |
Tien Fong Chee | cde4219 | 2017-07-26 13:05:40 +0800 | [diff] [blame] | 16 | config FPGA_SOCFPGA |
| 17 | bool "Enable Gen5 and Arria10 common FPGA drivers" |
| 18 | select FPGA_ALTERA |
| 19 | help |
| 20 | Say Y here to enable the Gen5 and Arria10 common FPGA driver |
| 21 | |
| 22 | This provides common functionality for Gen5 and Arria10 devices. |
| 23 | |
Simon Glass | f3a3011 | 2023-02-01 13:19:33 -0700 | [diff] [blame] | 24 | config FPGA_STRATIX_II |
| 25 | bool "Enable Stratix II FPGA drivers" |
| 26 | depends on FPGA_ALTERA |
| 27 | help |
| 28 | Say Y here to enable the Altera Stratix II FPGA-specific driver. |
| 29 | |
Tom Rini | d1ad817 | 2022-06-12 20:02:00 -0400 | [diff] [blame] | 30 | config FPGA_STRATIX_V |
| 31 | bool "Enable Stratix V FPGA drivers" |
| 32 | depends on FPGA_ALTERA |
| 33 | help |
| 34 | Say Y here to enable the Altera Stratix V FPGA specific driver. |
| 35 | |
Alexander Dahl | cad0381 | 2022-10-07 14:19:54 +0200 | [diff] [blame] | 36 | config FPGA_ACEX1K |
| 37 | bool "Enable Altera ACEX 1K driver" |
| 38 | depends on FPGA_ALTERA |
| 39 | help |
| 40 | Say Y here to enable the Altera ACEX 1K FPGA specific driver. |
| 41 | |
Patrick Bruenn | ba81b04 | 2016-11-04 11:57:02 +0100 | [diff] [blame] | 42 | config FPGA_CYCLON2 |
| 43 | bool "Enable Altera FPGA driver for Cyclone II" |
| 44 | depends on FPGA_ALTERA |
| 45 | help |
| 46 | Say Y here to enable the Altera Cyclone II FPGA specific driver |
| 47 | |
| 48 | This provides common functionality for Altera Cyclone II devices. |
| 49 | Enable FPGA driver for loading bitstream in BIT and BIN format |
| 50 | on Altera Cyclone II device. |
| 51 | |
Chee Hong Ang | 1419245 | 2020-08-07 11:50:03 +0800 | [diff] [blame] | 52 | config FPGA_INTEL_SDM_MAILBOX |
| 53 | bool "Enable Intel FPGA Full Reconfiguration SDM Mailbox driver" |
Siew Chin Lim | 8a71416 | 2021-03-01 20:04:10 +0800 | [diff] [blame] | 54 | depends on TARGET_SOCFPGA_SOC64 |
Ang, Chee Hong | dcc3bb6 | 2018-12-19 18:35:14 -0800 | [diff] [blame] | 55 | select FPGA_ALTERA |
| 56 | help |
Chee Hong Ang | 1419245 | 2020-08-07 11:50:03 +0800 | [diff] [blame] | 57 | Say Y here to enable the Intel FPGA Full Reconfig SDM Mailbox driver |
Ang, Chee Hong | dcc3bb6 | 2018-12-19 18:35:14 -0800 | [diff] [blame] | 58 | |
Chee Hong Ang | 1419245 | 2020-08-07 11:50:03 +0800 | [diff] [blame] | 59 | This provides common functionality for Intel FPGA devices. |
| 60 | Enable FPGA driver for writing full bitstream into Intel FPGA |
| 61 | devices through SDM (Secure Device Manager) Mailbox. |
Ang, Chee Hong | dcc3bb6 | 2018-12-19 18:35:14 -0800 | [diff] [blame] | 62 | |
Simon Glass | f6e28b6 | 2023-02-01 13:19:32 -0700 | [diff] [blame] | 63 | config FPGA_LATTICE |
| 64 | bool "Enable Lattice FPGA driver" |
| 65 | help |
| 66 | This is used for the lattice FPGAs. Please check the source code as |
| 67 | there is no documentation for this at present. |
| 68 | |
Siva Durga Prasad Paladugu | 460fdce | 2016-01-13 16:25:37 +0530 | [diff] [blame] | 69 | config FPGA_XILINX |
| 70 | bool "Enable Xilinx FPGA drivers" |
| 71 | select FPGA |
| 72 | help |
| 73 | Enable Xilinx FPGA specific functions which includes bitstream |
| 74 | (in BIT format), fpga and device validation. |
| 75 | |
| 76 | config FPGA_ZYNQMPPL |
| 77 | bool "Enable Xilinx FPGA driver for ZynqMP" |
Algapally Santosh Sagar | bf34dd4 | 2023-02-01 02:55:53 -0700 | [diff] [blame] | 78 | depends on FPGA_XILINX && ZYNQMP_FIRMWARE |
Siva Durga Prasad Paladugu | 460fdce | 2016-01-13 16:25:37 +0530 | [diff] [blame] | 79 | help |
| 80 | Enable FPGA driver for loading bitstream in BIT and BIN format |
| 81 | on Xilinx Zynq UltraScale+ (ZynqMP) device. |
| 82 | |
Siva Durga Prasad Paladugu | b739897 | 2019-08-05 15:54:59 +0530 | [diff] [blame] | 83 | config FPGA_VERSALPL |
| 84 | bool "Enable Xilinx FPGA driver for Versal" |
| 85 | depends on FPGA_XILINX |
| 86 | help |
| 87 | Enable FPGA driver for loading bitstream in PDI format on Xilinx |
| 88 | Versal device. PDI is a new programmable device image format for |
| 89 | Versal. The bitstream will only be generated as PDI for Versal |
| 90 | platform. |
| 91 | |
Alexander Dahl | cad0381 | 2022-10-07 14:19:54 +0200 | [diff] [blame] | 92 | config FPGA_SPARTAN2 |
| 93 | bool "Enable Spartan2 FPGA driver" |
| 94 | depends on FPGA_XILINX |
| 95 | help |
| 96 | Enable Spartan2 FPGA driver. |
| 97 | |
Vipul Kumar | b8f64b9 | 2018-02-16 18:02:49 +0530 | [diff] [blame] | 98 | config FPGA_SPARTAN3 |
Michal Simek | 55af55a | 2018-07-23 15:59:55 +0200 | [diff] [blame] | 99 | bool "Enable Spartan3 FPGA driver" |
Robert Hancock | be7f746 | 2019-06-18 09:47:13 -0600 | [diff] [blame] | 100 | depends on FPGA_XILINX |
Michal Simek | 55af55a | 2018-07-23 15:59:55 +0200 | [diff] [blame] | 101 | help |
| 102 | Enable Spartan3 FPGA driver for loading in BIT format. |
Vipul Kumar | b8f64b9 | 2018-02-16 18:02:49 +0530 | [diff] [blame] | 103 | |
Robert Hancock | be7f746 | 2019-06-18 09:47:13 -0600 | [diff] [blame] | 104 | config FPGA_VIRTEX2 |
| 105 | bool "Enable Xilinx Virtex-II and later FPGA driver" |
| 106 | depends on FPGA_XILINX |
| 107 | help |
| 108 | Enable Virtex-II FPGA driver for loading in BIT format. This driver |
| 109 | also supports many newer Xilinx FPGA families. |
| 110 | |
Tom Rini | fe8f39a | 2022-12-04 10:03:29 -0500 | [diff] [blame] | 111 | config SYS_FPGA_CHECK_BUSY |
| 112 | bool "Perform busy check during load from FPGA" |
| 113 | depends on FPGA_SPARTAN2 || FPGA_SPARTAN3 || FPGA_VIRTEX2 |
| 114 | |
Vipul Kumar | 4a4946b | 2018-02-16 18:02:51 +0530 | [diff] [blame] | 115 | config FPGA_ZYNQPL |
Michal Simek | 55af55a | 2018-07-23 15:59:55 +0200 | [diff] [blame] | 116 | bool "Enable Xilinx FPGA for Zynq" |
| 117 | depends on ARCH_ZYNQ |
| 118 | help |
| 119 | Enable FPGA driver for loading bitstream in BIT and BIN format |
| 120 | on Xilinx Zynq devices. |
Vipul Kumar | 4a4946b | 2018-02-16 18:02:51 +0530 | [diff] [blame] | 121 | |
Alexander Dahl | 428a8c6 | 2022-07-21 15:31:21 +0200 | [diff] [blame] | 122 | config SYS_FPGA_CHECK_CTRLC |
| 123 | bool "Allow Control-C to interrupt FPGA configuration" |
| 124 | depends on FPGA |
| 125 | help |
| 126 | User can interrupt FPGA configuration by pressing CTRL+C. |
| 127 | |
Alexander Dahl | 0c46047 | 2022-07-21 15:31:22 +0200 | [diff] [blame] | 128 | config SYS_FPGA_PROG_FEEDBACK |
| 129 | bool "Progress output during FPGA configuration" |
| 130 | depends on FPGA |
| 131 | default y if FPGA_VIRTEX2 |
| 132 | help |
| 133 | Enable printing of hash marks during FPGA configuration. |
| 134 | |
Oleksandr Suvorov | fbe31bb | 2022-07-22 17:16:02 +0300 | [diff] [blame] | 135 | config FPGA_LOAD_SECURE |
| 136 | bool "Enable loading secure bitstreams" |
| 137 | depends on FPGA |
| 138 | help |
| 139 | Enables the fpga loads() functions that are used to load secure |
| 140 | (authenticated or encrypted or both) bitstreams on to FPGA. |
| 141 | |
| 142 | config SPL_FPGA_LOAD_SECURE |
| 143 | bool "Enable loading secure bitstreams for SPL" |
| 144 | depends on SPL_FPGA |
| 145 | help |
| 146 | Enables the fpga loads() functions that are used to load secure |
| 147 | (authenticated or encrypted or both) bitstreams on to FPGA. |
| 148 | |
Alexander Dahl | 6ac319d | 2022-09-30 14:04:30 +0200 | [diff] [blame] | 149 | config DM_FPGA |
| 150 | bool "Enable Driver Model for FPGA drivers" |
| 151 | depends on DM |
| 152 | select FPGA |
| 153 | help |
| 154 | Enable driver model for Field-Programmable Gate Array (FPGA) devices. |
| 155 | The devices cover a wide range of applications and are configured at |
| 156 | runtime by loading a bitstream into the FPGA device. |
| 157 | Loading a bitstream from any kind of storage is the main task of the |
| 158 | FPGA drivers. |
| 159 | For now this uclass has no methods yet. |
| 160 | |
| 161 | config SANDBOX_FPGA |
| 162 | bool "Enable sandbox FPGA driver" |
| 163 | depends on SANDBOX && DM_FPGA |
| 164 | help |
| 165 | This is a driver model based FPGA driver for sandbox. |
| 166 | Currently it is a stub only, as there are no usable uclass methods yet. |
| 167 | |
Tom Rini | 1b98e2a | 2023-01-10 11:19:37 -0500 | [diff] [blame] | 168 | config MAX_FPGA_DEVICES |
| 169 | int "Maximum number of FPGA devices" |
| 170 | depends on FPGA |
| 171 | default 5 |
| 172 | |
Michal Simek | e34f1f6 | 2016-09-19 10:41:55 +0200 | [diff] [blame] | 173 | endmenu |