blob: d0ff0d9a8bda2571a5efc720d155415cea19758b [file] [log] [blame]
Michal Simekd5dae852013-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 Denk1a459662013-07-08 09:37:19 +02007 * SPDX-License-Identifier: GPL-2.0+
Michal Simekd5dae852013-04-22 15:43:02 +02008 */
9
10#ifndef _ZYNQPL_H_
11#define _ZYNQPL_H_
12
13#include <xilinx.h>
14
Michal Simek345f9e12014-07-16 10:47:13 +020015#if defined(CONFIG_FPGA_ZYNQPL)
Michal Simek14cfc4f2014-03-13 13:07:57 +010016extern struct xilinx_fpga_op zynq_op;
Michal Simek345f9e12014-07-16 10:47:13 +020017# define FPGA_ZYNQPL_OPS &zynq_op
18#else
19# define FPGA_ZYNQPL_OPS NULL
20#endif
Michal Simekd5dae852013-04-22 15:43:02 +020021
22#define XILINX_ZYNQ_7010 0x2
Michal Simek31993d62013-09-26 16:39:03 +020023#define XILINX_ZYNQ_7015 0x1b
Michal Simekd5dae852013-04-22 15:43:02 +020024#define XILINX_ZYNQ_7020 0x7
25#define XILINX_ZYNQ_7030 0xc
26#define XILINX_ZYNQ_7045 0x11
Michal Simekfd2b10b2013-06-17 13:54:07 +020027#define XILINX_ZYNQ_7100 0x16
Michal Simekd5dae852013-04-22 15:43:02 +020028
29/* Device Image Sizes */
30#define XILINX_XC7Z010_SIZE 16669920/8
Michal Simek31993d62013-09-26 16:39:03 +020031#define XILINX_XC7Z015_SIZE 28085344/8
Michal Simekd5dae852013-04-22 15:43:02 +020032#define XILINX_XC7Z020_SIZE 32364512/8
33#define XILINX_XC7Z030_SIZE 47839328/8
34#define XILINX_XC7Z045_SIZE 106571232/8
Michal Simekfd2b10b2013-06-17 13:54:07 +020035#define XILINX_XC7Z100_SIZE 139330784/8
Michal Simekd5dae852013-04-22 15:43:02 +020036
37/* Descriptor Macros */
38#define XILINX_XC7Z010_DESC(cookie) \
Michal Simek345f9e12014-07-16 10:47:13 +020039{ xilinx_zynq, devcfg, XILINX_XC7Z010_SIZE, NULL, cookie, FPGA_ZYNQPL_OPS, \
40 "7z010" }
Michal Simekd5dae852013-04-22 15:43:02 +020041
Michal Simek31993d62013-09-26 16:39:03 +020042#define XILINX_XC7Z015_DESC(cookie) \
Michal Simek345f9e12014-07-16 10:47:13 +020043{ xilinx_zynq, devcfg, XILINX_XC7Z015_SIZE, NULL, cookie, FPGA_ZYNQPL_OPS, \
44 "7z015" }
Michal Simek31993d62013-09-26 16:39:03 +020045
Michal Simekd5dae852013-04-22 15:43:02 +020046#define XILINX_XC7Z020_DESC(cookie) \
Michal Simek345f9e12014-07-16 10:47:13 +020047{ xilinx_zynq, devcfg, XILINX_XC7Z020_SIZE, NULL, cookie, FPGA_ZYNQPL_OPS, \
48 "7z020" }
Michal Simekd5dae852013-04-22 15:43:02 +020049
50#define XILINX_XC7Z030_DESC(cookie) \
Michal Simek345f9e12014-07-16 10:47:13 +020051{ xilinx_zynq, devcfg, XILINX_XC7Z030_SIZE, NULL, cookie, FPGA_ZYNQPL_OPS, \
52 "7z030" }
Michal Simekd5dae852013-04-22 15:43:02 +020053
54#define XILINX_XC7Z045_DESC(cookie) \
Michal Simek345f9e12014-07-16 10:47:13 +020055{ xilinx_zynq, devcfg, XILINX_XC7Z045_SIZE, NULL, cookie, FPGA_ZYNQPL_OPS, \
56 "7z045" }
Michal Simekd5dae852013-04-22 15:43:02 +020057
Michal Simekfd2b10b2013-06-17 13:54:07 +020058#define XILINX_XC7Z100_DESC(cookie) \
Michal Simek345f9e12014-07-16 10:47:13 +020059{ xilinx_zynq, devcfg, XILINX_XC7Z100_SIZE, NULL, cookie, FPGA_ZYNQPL_OPS, \
60 "7z100" }
Michal Simekfd2b10b2013-06-17 13:54:07 +020061
Michal Simekd5dae852013-04-22 15:43:02 +020062#endif /* _ZYNQPL_H_ */