blob: 5a34a17daefeb322861af3a16c967bad5fb9bd37 [file] [log] [blame]
Michal Simek15d654c2013-04-22 15:43:02 +02001/*
2 * (C) Copyright 2012-2013, Xilinx, Michal Simek
3 *
4 * (C) Copyright 2012
5 * Joe Hershberger <joe.hershberger@ni.com>
6 *
Wolfgang Denkd79de1d2013-07-08 09:37:19 +02007 * SPDX-License-Identifier: GPL-2.0+
Michal Simek15d654c2013-04-22 15:43:02 +02008 */
9
10#ifndef _ZYNQPL_H_
11#define _ZYNQPL_H_
12
13#include <xilinx.h>
14
Michal Simek88dae412014-07-16 10:47:13 +020015#if defined(CONFIG_FPGA_ZYNQPL)
Michal Simek75fafac2014-03-13 13:07:57 +010016extern struct xilinx_fpga_op zynq_op;
Michal Simek88dae412014-07-16 10:47:13 +020017# define FPGA_ZYNQPL_OPS &zynq_op
18#else
19# define FPGA_ZYNQPL_OPS NULL
20#endif
Michal Simek15d654c2013-04-22 15:43:02 +020021
Michal Simek82c97022016-10-18 16:10:25 +020022#define XILINX_ZYNQ_7007S 0x3
Michal Simek15d654c2013-04-22 15:43:02 +020023#define XILINX_ZYNQ_7010 0x2
Michal Simek82c97022016-10-18 16:10:25 +020024#define XILINX_ZYNQ_7012S 0x1c
25#define XILINX_ZYNQ_7014S 0x8
Michal Simek0e91d3a2013-09-26 16:39:03 +020026#define XILINX_ZYNQ_7015 0x1b
Michal Simek15d654c2013-04-22 15:43:02 +020027#define XILINX_ZYNQ_7020 0x7
28#define XILINX_ZYNQ_7030 0xc
Siva Durga Prasad Paladugu77fc12c2014-11-25 15:29:54 +053029#define XILINX_ZYNQ_7035 0x12
Michal Simek15d654c2013-04-22 15:43:02 +020030#define XILINX_ZYNQ_7045 0x11
Michal Simek52f91b52013-06-17 13:54:07 +020031#define XILINX_ZYNQ_7100 0x16
Michal Simek15d654c2013-04-22 15:43:02 +020032
33/* Device Image Sizes */
Michal Simek82c97022016-10-18 16:10:25 +020034#define XILINX_XC7Z007S_SIZE 16669920/8
Michal Simek15d654c2013-04-22 15:43:02 +020035#define XILINX_XC7Z010_SIZE 16669920/8
Michal Simek82c97022016-10-18 16:10:25 +020036#define XILINX_XC7Z012S_SIZE 28085344/8
37#define XILINX_XC7Z014S_SIZE 32364512/8
Michal Simek0e91d3a2013-09-26 16:39:03 +020038#define XILINX_XC7Z015_SIZE 28085344/8
Michal Simek15d654c2013-04-22 15:43:02 +020039#define XILINX_XC7Z020_SIZE 32364512/8
40#define XILINX_XC7Z030_SIZE 47839328/8
Siva Durga Prasad Paladugu77fc12c2014-11-25 15:29:54 +053041#define XILINX_XC7Z035_SIZE 106571232/8
Michal Simek15d654c2013-04-22 15:43:02 +020042#define XILINX_XC7Z045_SIZE 106571232/8
Michal Simek52f91b52013-06-17 13:54:07 +020043#define XILINX_XC7Z100_SIZE 139330784/8
Michal Simek15d654c2013-04-22 15:43:02 +020044
45/* Descriptor Macros */
Michal Simek82c97022016-10-18 16:10:25 +020046#define XILINX_XC7Z007S_DESC(cookie) \
47{ xilinx_zynq, devcfg, XILINX_XC7Z007S_SIZE, NULL, cookie, FPGA_ZYNQPL_OPS, \
48 "7z007s" }
49
Michal Simek15d654c2013-04-22 15:43:02 +020050#define XILINX_XC7Z010_DESC(cookie) \
Michal Simek88dae412014-07-16 10:47:13 +020051{ xilinx_zynq, devcfg, XILINX_XC7Z010_SIZE, NULL, cookie, FPGA_ZYNQPL_OPS, \
52 "7z010" }
Michal Simek15d654c2013-04-22 15:43:02 +020053
Michal Simek82c97022016-10-18 16:10:25 +020054#define XILINX_XC7Z012S_DESC(cookie) \
55{ xilinx_zynq, devcfg, XILINX_XC7Z012S_SIZE, NULL, cookie, FPGA_ZYNQPL_OPS, \
56 "7z012s" }
57
58#define XILINX_XC7Z014S_DESC(cookie) \
59{ xilinx_zynq, devcfg, XILINX_XC7Z014S_SIZE, NULL, cookie, FPGA_ZYNQPL_OPS, \
60 "7z014s" }
61
Michal Simek0e91d3a2013-09-26 16:39:03 +020062#define XILINX_XC7Z015_DESC(cookie) \
Michal Simek88dae412014-07-16 10:47:13 +020063{ xilinx_zynq, devcfg, XILINX_XC7Z015_SIZE, NULL, cookie, FPGA_ZYNQPL_OPS, \
64 "7z015" }
Michal Simek0e91d3a2013-09-26 16:39:03 +020065
Michal Simek15d654c2013-04-22 15:43:02 +020066#define XILINX_XC7Z020_DESC(cookie) \
Michal Simek88dae412014-07-16 10:47:13 +020067{ xilinx_zynq, devcfg, XILINX_XC7Z020_SIZE, NULL, cookie, FPGA_ZYNQPL_OPS, \
68 "7z020" }
Michal Simek15d654c2013-04-22 15:43:02 +020069
70#define XILINX_XC7Z030_DESC(cookie) \
Michal Simek88dae412014-07-16 10:47:13 +020071{ xilinx_zynq, devcfg, XILINX_XC7Z030_SIZE, NULL, cookie, FPGA_ZYNQPL_OPS, \
72 "7z030" }
Michal Simek15d654c2013-04-22 15:43:02 +020073
Siva Durga Prasad Paladugu77fc12c2014-11-25 15:29:54 +053074#define XILINX_XC7Z035_DESC(cookie) \
75{ xilinx_zynq, devcfg, XILINX_XC7Z035_SIZE, NULL, cookie, FPGA_ZYNQPL_OPS, \
76 "7z035" }
77
Michal Simek15d654c2013-04-22 15:43:02 +020078#define XILINX_XC7Z045_DESC(cookie) \
Michal Simek88dae412014-07-16 10:47:13 +020079{ xilinx_zynq, devcfg, XILINX_XC7Z045_SIZE, NULL, cookie, FPGA_ZYNQPL_OPS, \
80 "7z045" }
Michal Simek15d654c2013-04-22 15:43:02 +020081
Michal Simek52f91b52013-06-17 13:54:07 +020082#define XILINX_XC7Z100_DESC(cookie) \
Michal Simek88dae412014-07-16 10:47:13 +020083{ xilinx_zynq, devcfg, XILINX_XC7Z100_SIZE, NULL, cookie, FPGA_ZYNQPL_OPS, \
84 "7z100" }
Michal Simek52f91b52013-06-17 13:54:07 +020085
Michal Simek15d654c2013-04-22 15:43:02 +020086#endif /* _ZYNQPL_H_ */