blob: 9fe06e84593f67b5acf37c92e61ac0662d087c87 [file] [log] [blame]
Michal Simekf22651c2012-09-28 09:56:37 +00001/*
2 * (C) Copyright 2012 Michal Simek <monstr@monstr.eu>
Jagannadha Sutradharudu Teki06fe8da2014-01-09 01:48:10 +05303 * (C) Copyright 2013 Xilinx, Inc.
4 *
5 * Common configuration options for all Zynq boards.
Michal Simekf22651c2012-09-28 09:56:37 +00006 *
Wolfgang Denk1a459662013-07-08 09:37:19 +02007 * SPDX-License-Identifier: GPL-2.0+
Michal Simekf22651c2012-09-28 09:56:37 +00008 */
9
Jagannadha Sutradharudu Teki06fe8da2014-01-09 01:48:10 +053010#ifndef __CONFIG_ZYNQ_COMMON_H
11#define __CONFIG_ZYNQ_COMMON_H
Michal Simekf22651c2012-09-28 09:56:37 +000012
Jagannadha Sutradharudu Teki53e49f72014-01-09 01:48:06 +053013/* High Level configuration Options */
14#define CONFIG_ARMV7
Michal Simekf22651c2012-09-28 09:56:37 +000015#define CONFIG_ZYNQ
16
17/* CPU clock */
Jagannadha Sutradharudu Teki53e49f72014-01-09 01:48:06 +053018#ifndef CONFIG_CPU_FREQ_HZ
19# define CONFIG_CPU_FREQ_HZ 800000000
20#endif
Michal Simekf22651c2012-09-28 09:56:37 +000021
Jagannadha Sutradharudu Teki8cfac502014-01-09 01:48:07 +053022/* Cache options */
23#define CONFIG_CMD_CACHE
24#define CONFIG_SYS_CACHELINE_SIZE 32
25
26#define CONFIG_SYS_L2CACHE_OFF
27#ifndef CONFIG_SYS_L2CACHE_OFF
28# define CONFIG_SYS_L2_PL310
29# define CONFIG_SYS_PL310_BASE 0xf8f02000
30#endif
31
Jagannadha Sutradharudu Teki53e49f72014-01-09 01:48:06 +053032/* Serial drivers */
33#define CONFIG_BAUDRATE 115200
Michal Simekf22651c2012-09-28 09:56:37 +000034/* The following table includes the supported baudrates */
35#define CONFIG_SYS_BAUDRATE_TABLE \
36 {300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200, 230400}
37
Jagannadha Sutradharudu Teki53e49f72014-01-09 01:48:06 +053038/* Zynq Serial driver */
Jagannadha Sutradharudu Teki625d7632014-01-09 01:48:08 +053039#define CONFIG_ZYNQ_SERIAL_UART1
40#ifdef CONFIG_ZYNQ_SERIAL_UART0
41# define CONFIG_ZYNQ_SERIAL_BASEADDR0 0xE0000000
42# define CONFIG_ZYNQ_SERIAL_BAUDRATE0 CONFIG_BAUDRATE
43# define CONFIG_ZYNQ_SERIAL_CLOCK0 50000000
44#endif
45
46#ifdef CONFIG_ZYNQ_SERIAL_UART1
47# define CONFIG_ZYNQ_SERIAL_BASEADDR1 0xE0001000
48# define CONFIG_ZYNQ_SERIAL_BAUDRATE1 CONFIG_BAUDRATE
49# define CONFIG_ZYNQ_SERIAL_CLOCK1 50000000
50#endif
51
52#if defined(CONFIG_ZYNQ_SERIAL_UART0) || defined(CONFIG_ZYNQ_SERIAL_UART1)
53# define CONFIG_ZYNQ_SERIAL
54#endif
Michal Simekf22651c2012-09-28 09:56:37 +000055
Jagannadha Sutradharudu Teki53e49f72014-01-09 01:48:06 +053056/* DCC driver */
57#if defined(CONFIG_ZYNQ_DCC)
58# define CONFIG_ARM_DCC
59# define CONFIG_CPU_V6 /* Required by CONFIG_ARM_DCC */
60#endif
61
Michal Simekf22651c2012-09-28 09:56:37 +000062/* Ethernet driver */
Michal Simek71936532013-04-12 16:33:08 +020063#define CONFIG_ZYNQ_GEM0
David Andrey117cd4c2013-04-04 19:13:07 +020064#define CONFIG_ZYNQ_GEM_PHY_ADDR0 7
Jagannadha Sutradharudu Teki88fcfb12014-01-09 01:48:09 +053065#if defined(CONFIG_ZYNQ_GEM0) || defined(CONFIG_ZYNQ_GEM1)
66# define CONFIG_NET_MULTI
67# define CONFIG_ZYNQ_GEM
68# define CONFIG_MII
69# define CONFIG_SYS_FAULT_ECHO_LINK_DOWN
70# define CONFIG_PHYLIB
71# define CONFIG_PHY_MARVELL
72#endif
Michal Simekf22651c2012-09-28 09:56:37 +000073
Jagannadha Sutradharudu Teki53e49f72014-01-09 01:48:06 +053074#define CONFIG_ZYNQ_SPI
75/* SPI */
76#ifdef CONFIG_ZYNQ_SPI
77# define CONFIG_SPI_FLASH
78# define CONFIG_SPI_FLASH_SST
79# define CONFIG_CMD_SF
80#endif
Michal Simek293eb332013-04-22 14:56:49 +020081
Jagannadha Sutradharudu Teki53e49f72014-01-09 01:48:06 +053082/* NOR */
83#define CONFIG_SYS_NO_FLASH
84
85#define CONFIG_ZYNQ_SDHCI0
Michal Simek293eb332013-04-22 14:56:49 +020086/* MMC */
87#if defined(CONFIG_ZYNQ_SDHCI0) || defined(CONFIG_ZYNQ_SDHCI1)
88# define CONFIG_MMC
89# define CONFIG_GENERIC_MMC
90# define CONFIG_SDHCI
91# define CONFIG_ZYNQ_SDHCI
92# define CONFIG_CMD_MMC
93# define CONFIG_CMD_FAT
94# define CONFIG_SUPPORT_VFAT
95# define CONFIG_CMD_EXT2
96# define CONFIG_DOS_PARTITION
97#endif
98
Michal Simek8934f782013-04-22 15:21:33 +020099#define CONFIG_ZYNQ_I2C0
Michal Simek8934f782013-04-22 15:21:33 +0200100/* I2C */
101#if defined(CONFIG_ZYNQ_I2C0) || defined(CONFIG_ZYNQ_I2C1)
102# define CONFIG_CMD_I2C
Heiko Schocher0bdffe72013-11-08 07:30:53 +0100103# define CONFIG_SYS_I2C
104# define CONFIG_SYS_I2C_ZYNQ
105# define CONFIG_SYS_I2C_ZYNQ_SPEED 100000
106# define CONFIG_SYS_I2C_ZYNQ_SLAVE 1
Michal Simek8934f782013-04-22 15:21:33 +0200107#endif
108
Michal Simekf22651c2012-09-28 09:56:37 +0000109#define CONFIG_BOOTP_SERVERIP
110#define CONFIG_BOOTP_BOOTPATH
111#define CONFIG_BOOTP_GATEWAY
112#define CONFIG_BOOTP_HOSTNAME
113#define CONFIG_BOOTP_MAY_FAIL
114
Michal Simekf22651c2012-09-28 09:56:37 +0000115/* Environment */
Jagannadha Sutradharudu Teki53e49f72014-01-09 01:48:06 +0530116#define CONFIG_ENV_SIZE 0x10000 /* Env. sector size */
Michal Simekf22651c2012-09-28 09:56:37 +0000117#define CONFIG_ENV_IS_NOWHERE
Jagannadha Sutradharudu Teki53e49f72014-01-09 01:48:06 +0530118#define CONFIG_SYS_LOAD_ADDR 0
Michal Simekf22651c2012-09-28 09:56:37 +0000119
Jagannadha Sutradharudu Teki36e0e192014-01-09 01:48:04 +0530120/* Miscellaneous configurable options */
121#define CONFIG_SYS_PROMPT "zynq-uboot> "
122#define CONFIG_SYS_HUSH_PARSER
123
124#define CONFIG_CMDLINE_EDITING
125#define CONFIG_AUTO_COMPLETE
126#define CONFIG_SYS_LONGHELP
127#define CONFIG_SYS_MAXARGS 15 /* max number of command args */
128#define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */
129#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + \
Michal Simekf22651c2012-09-28 09:56:37 +0000130 sizeof(CONFIG_SYS_PROMPT) + 16)
131
Jagannadha Sutradharudu Teki7cd04192014-01-09 01:48:05 +0530132/* Physical Memory map */
133#define CONFIG_SYS_TEXT_BASE 0
Michal Simekf22651c2012-09-28 09:56:37 +0000134
Jagannadha Sutradharudu Teki7cd04192014-01-09 01:48:05 +0530135#define CONFIG_NR_DRAM_BANKS 1
136#define CONFIG_SYS_SDRAM_BASE 0
137#define CONFIG_SYS_SDRAM_SIZE 0x40000000
138
139#define CONFIG_SYS_MEMTEST_START CONFIG_SYS_SDRAM_BASE
140#define CONFIG_SYS_MEMTEST_END (CONFIG_SYS_SDRAM_BASE + 0x1000)
141
Jagannadha Sutradharudu Teki53e49f72014-01-09 01:48:06 +0530142#define CONFIG_SYS_MALLOC_LEN 0x400000
Jagannadha Sutradharudu Teki7cd04192014-01-09 01:48:05 +0530143#define CONFIG_SYS_INIT_RAM_ADDR CONFIG_SYS_SDRAM_BASE
144#define CONFIG_SYS_INIT_RAM_SIZE CONFIG_SYS_MALLOC_LEN
145#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_INIT_RAM_ADDR + \
146 CONFIG_SYS_INIT_RAM_SIZE - \
147 GENERATED_GBL_DATA_SIZE)
Jagannadha Sutradharudu Teki53e49f72014-01-09 01:48:06 +0530148
149/* Enable the PL to be downloaded */
150#define CONFIG_FPGA
151#define CONFIG_FPGA_XILINX
152#define CONFIG_FPGA_ZYNQPL
153#define CONFIG_CMD_FPGA
154
155/* Open Firmware flat tree */
156#define CONFIG_OF_LIBFDT
157
158/* FIT support */
Michal Simekf22651c2012-09-28 09:56:37 +0000159#define CONFIG_FIT
Jagannadha Sutradharudu Teki773590e2014-01-09 01:48:02 +0530160#define CONFIG_FIT_VERBOSE 1 /* enable fit_format_{error,warning}() */
Michal Simekf22651c2012-09-28 09:56:37 +0000161
Jagannadha Sutradharudu Teki09ed6352014-01-09 01:48:03 +0530162/* Boot FreeBSD/vxWorks from an ELF image */
163#if defined(CONFIG_ZYNQ_BOOT_FREEBSD)
164# define CONFIG_API
165# define CONFIG_CMD_ELF
166# define CONFIG_SYS_MMC_MAX_DEVICE 1
167#endif
168
Michal Simekf22651c2012-09-28 09:56:37 +0000169/* Commands */
170#include <config_cmd_default.h>
171
172#define CONFIG_CMD_PING
173#define CONFIG_CMD_DHCP
174#define CONFIG_CMD_MII
175
Jagannadha Sutradharudu Teki06fe8da2014-01-09 01:48:10 +0530176#endif /* __CONFIG_ZYNQ_COMMON_H */