blob: 1d37a51a04ef8e3f65f6cbddd166f7b27e227d55 [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
Siva Durga Prasad Paladugub9103802014-11-25 15:29:54 +053026#define XILINX_ZYNQ_7035 0x12
Michal Simekd5dae852013-04-22 15:43:02 +020027#define XILINX_ZYNQ_7045 0x11
Michal Simekfd2b10b2013-06-17 13:54:07 +020028#define XILINX_ZYNQ_7100 0x16
Michal Simekd5dae852013-04-22 15:43:02 +020029
30/* Device Image Sizes */
31#define XILINX_XC7Z010_SIZE 16669920/8
Michal Simek31993d62013-09-26 16:39:03 +020032#define XILINX_XC7Z015_SIZE 28085344/8
Michal Simekd5dae852013-04-22 15:43:02 +020033#define XILINX_XC7Z020_SIZE 32364512/8
34#define XILINX_XC7Z030_SIZE 47839328/8
Siva Durga Prasad Paladugub9103802014-11-25 15:29:54 +053035#define XILINX_XC7Z035_SIZE 106571232/8
Michal Simekd5dae852013-04-22 15:43:02 +020036#define XILINX_XC7Z045_SIZE 106571232/8
Michal Simekfd2b10b2013-06-17 13:54:07 +020037#define XILINX_XC7Z100_SIZE 139330784/8
Michal Simekd5dae852013-04-22 15:43:02 +020038
39/* Descriptor Macros */
40#define XILINX_XC7Z010_DESC(cookie) \
Michal Simek345f9e12014-07-16 10:47:13 +020041{ xilinx_zynq, devcfg, XILINX_XC7Z010_SIZE, NULL, cookie, FPGA_ZYNQPL_OPS, \
42 "7z010" }
Michal Simekd5dae852013-04-22 15:43:02 +020043
Michal Simek31993d62013-09-26 16:39:03 +020044#define XILINX_XC7Z015_DESC(cookie) \
Michal Simek345f9e12014-07-16 10:47:13 +020045{ xilinx_zynq, devcfg, XILINX_XC7Z015_SIZE, NULL, cookie, FPGA_ZYNQPL_OPS, \
46 "7z015" }
Michal Simek31993d62013-09-26 16:39:03 +020047
Michal Simekd5dae852013-04-22 15:43:02 +020048#define XILINX_XC7Z020_DESC(cookie) \
Michal Simek345f9e12014-07-16 10:47:13 +020049{ xilinx_zynq, devcfg, XILINX_XC7Z020_SIZE, NULL, cookie, FPGA_ZYNQPL_OPS, \
50 "7z020" }
Michal Simekd5dae852013-04-22 15:43:02 +020051
52#define XILINX_XC7Z030_DESC(cookie) \
Michal Simek345f9e12014-07-16 10:47:13 +020053{ xilinx_zynq, devcfg, XILINX_XC7Z030_SIZE, NULL, cookie, FPGA_ZYNQPL_OPS, \
54 "7z030" }
Michal Simekd5dae852013-04-22 15:43:02 +020055
Siva Durga Prasad Paladugub9103802014-11-25 15:29:54 +053056#define XILINX_XC7Z035_DESC(cookie) \
57{ xilinx_zynq, devcfg, XILINX_XC7Z035_SIZE, NULL, cookie, FPGA_ZYNQPL_OPS, \
58 "7z035" }
59
Michal Simekd5dae852013-04-22 15:43:02 +020060#define XILINX_XC7Z045_DESC(cookie) \
Michal Simek345f9e12014-07-16 10:47:13 +020061{ xilinx_zynq, devcfg, XILINX_XC7Z045_SIZE, NULL, cookie, FPGA_ZYNQPL_OPS, \
62 "7z045" }
Michal Simekd5dae852013-04-22 15:43:02 +020063
Michal Simekfd2b10b2013-06-17 13:54:07 +020064#define XILINX_XC7Z100_DESC(cookie) \
Michal Simek345f9e12014-07-16 10:47:13 +020065{ xilinx_zynq, devcfg, XILINX_XC7Z100_SIZE, NULL, cookie, FPGA_ZYNQPL_OPS, \
66 "7z100" }
Michal Simekfd2b10b2013-06-17 13:54:07 +020067
Michal Simekd5dae852013-04-22 15:43:02 +020068#endif /* _ZYNQPL_H_ */