blob: c61ddd6fb77c46560d82dc6a1a1e4b9216fab1d8 [file] [log] [blame]
Alexey Brodkin511ab042014-02-04 12:56:19 +04001/*
2 * Copyright (C) 2013-2014 Synopsys, Inc. All rights reserved.
3 *
4 * SPDX-License-Identifier: GPL-2.0+
5 */
6
7#ifndef _CONFIG_AXS101_H_
8#define _CONFIG_AXS101_H_
9
10/*
11 * CPU configuration
12 */
13#define CONFIG_ARC700
14#define CONFIG_ARC_MMU_VER 3
15#define CONFIG_SYS_CACHELINE_SIZE 32
Alexey Brodkin511ab042014-02-04 12:56:19 +040016#define CONFIG_SYS_TIMER_RATE CONFIG_SYS_CLK_FREQ
17
Alexey Brodkin8dcc69f2014-03-27 19:30:18 +040018/* NAND controller DMA doesn't work correctly with D$ enabled */
Alexey Brodkin511ab042014-02-04 12:56:19 +040019#define CONFIG_SYS_DCACHE_OFF
20
21/*
22 * Board configuration
23 */
24#define CONFIG_SYS_GENERIC_BOARD
25#define CONFIG_SKIP_LOWLEVEL_INIT /* U-Boot is in RAM already */
26
27#define CONFIG_ARCH_EARLY_INIT_R
28
29#define ARC_FPGA_PERIPHERAL_BASE 0xE0000000
30#define ARC_APB_PERIPHERAL_BASE 0xF0000000
31#define ARC_DWMMC_BASE (ARC_FPGA_PERIPHERAL_BASE + 0x15000)
32#define ARC_DWGMAC_BASE (ARC_FPGA_PERIPHERAL_BASE + 0x18000)
33
34/*
35 * Memory configuration
36 */
37#define CONFIG_SYS_TEXT_BASE 0x81000000
38#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE
39
40#define CONFIG_SYS_DDR_SDRAM_BASE 0x80000000
41#define CONFIG_SYS_SDRAM_BASE CONFIG_SYS_DDR_SDRAM_BASE
Alexey Brodkin8dcc69f2014-03-27 19:30:18 +040042#define CONFIG_SYS_SDRAM_SIZE 0x20000000 /* 512 Mb */
Alexey Brodkin511ab042014-02-04 12:56:19 +040043
44#define CONFIG_SYS_INIT_SP_ADDR \
45 (CONFIG_SYS_SDRAM_BASE + 0x1000 - GENERATED_GBL_DATA_SIZE)
46
47#define CONFIG_SYS_MALLOC_LEN 0x200000 /* 2 MB */
48#define CONFIG_SYS_BOOTM_LEN 0x2000000 /* 32 MB */
49#define CONFIG_SYS_LOAD_ADDR 0x82000000
50
51/*
52 * NAND Flash configuration
53 */
54#define CONFIG_SYS_NO_FLASH
55#define CONFIG_SYS_NAND_BASE (ARC_FPGA_PERIPHERAL_BASE + 0x16000)
56#define CONFIG_SYS_MAX_NAND_DEVICE 1
57
58/*
59 * UART configuration
60 *
61 * CONFIG_CONS_INDEX = 1 - Debug UART
62 * CONFIG_CONS_INDEX = 4 - FPGA UART connected to FTDI/USB
63 */
64#define CONFIG_CONS_INDEX 4
65#define CONFIG_SYS_NS16550
66#define CONFIG_SYS_NS16550_SERIAL
67#define CONFIG_SYS_NS16550_REG_SIZE -4
68#if (CONFIG_CONS_INDEX == 1)
69 /* Debug UART */
70# define CONFIG_SYS_NS16550_CLK 33333000
71#else
72 /* FPGA UARTs use different clock */
73# define CONFIG_SYS_NS16550_CLK 33333333
74#endif
75#define CONFIG_SYS_NS16550_COM1 (ARC_APB_PERIPHERAL_BASE + 0x5000)
76#define CONFIG_SYS_NS16550_COM2 (ARC_FPGA_PERIPHERAL_BASE + 0x20000)
77#define CONFIG_SYS_NS16550_COM3 (ARC_FPGA_PERIPHERAL_BASE + 0x21000)
78#define CONFIG_SYS_NS16550_COM4 (ARC_FPGA_PERIPHERAL_BASE + 0x22000)
79#define CONFIG_SYS_NS16550_MEM32
80
81#define CONFIG_BAUDRATE 115200
82/*
83 * I2C configuration
84 */
Stefan Roeseef6073e2014-10-28 12:12:00 +010085#define CONFIG_SYS_I2C
86#define CONFIG_SYS_I2C_DW
Alexey Brodkin511ab042014-02-04 12:56:19 +040087#define CONFIG_I2C_ENV_EEPROM_BUS 2
88#define CONFIG_SYS_I2C_SPEED 100000
Stefan Roeseef6073e2014-10-28 12:12:00 +010089#define CONFIG_SYS_I2C_SPEED1 100000
90#define CONFIG_SYS_I2C_SPEED2 100000
Alexey Brodkin511ab042014-02-04 12:56:19 +040091#define CONFIG_SYS_I2C_SLAVE 0
Stefan Roeseef6073e2014-10-28 12:12:00 +010092#define CONFIG_SYS_I2C_SLAVE1 0
93#define CONFIG_SYS_I2C_SLAVE2 0
Alexey Brodkin511ab042014-02-04 12:56:19 +040094#define CONFIG_SYS_I2C_BASE 0xE001D000
95#define CONFIG_SYS_I2C_BASE1 0xE001E000
96#define CONFIG_SYS_I2C_BASE2 0xE001F000
97#define CONFIG_SYS_I2C_BUS_MAX 3
98#define IC_CLK 50
99
100/*
101 * EEPROM configuration
102 */
103#define CONFIG_SYS_I2C_MULTI_EEPROMS
104#define CONFIG_SYS_I2C_EEPROM_ADDR (0xA8 >> 1)
105#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1
106#define CONFIG_SYS_I2C_EEPROM_ADDR_OVERFLOW 1
107#define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 3
Alexey Brodkin17656312014-03-24 17:15:50 +0400108#define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS 64
Alexey Brodkin511ab042014-02-04 12:56:19 +0400109
110/*
111 * SD/MMC configuration
112 */
113#define CONFIG_MMC
114#define CONFIG_GENERIC_MMC
115#define CONFIG_DWMMC
116#define CONFIG_DOS_PARTITION
117
118/*
119 * Ethernet PHY configuration
120 */
121#define CONFIG_PHYLIB
122#define CONFIG_MII
123#define CONFIG_PHY_GIGE
124
125/*
126 * Ethernet configuration
127 */
128#define CONFIG_DESIGNWARE_ETH
129#define CONFIG_DW_AUTONEG
Alexey Brodkin511ab042014-02-04 12:56:19 +0400130#define CONFIG_NET_MULTI
131
132/*
133 * Command line configuration
134 */
135#include <config_cmd_default.h>
136
137#define CONFIG_CMD_DHCP
138#define CONFIG_CMD_EEPROM
139#define CONFIG_CMD_ELF
140#define CONFIG_CMD_FAT
141#define CONFIG_CMD_I2C
142#define CONFIG_CMD_MMC
143#define CONFIG_CMD_NAND
144#define CONFIG_CMD_PING
145#define CONFIG_CMD_RARP
146
147#define CONFIG_OF_LIBFDT
148
149#define CONFIG_AUTO_COMPLETE
150#define CONFIG_SYS_MAXARGS 16
151
152/*
153 * Environment settings
154 */
155#define CONFIG_ENV_IS_IN_EEPROM
156#define CONFIG_ENV_SIZE 0x00200 /* 512 bytes */
157#define CONFIG_ENV_OFFSET 0
158
159/*
160 * Environment configuration
161 */
162#define CONFIG_BOOTDELAY 3
163#define CONFIG_BOOTFILE "uImage"
164#define CONFIG_BOOTARGS "console=ttyS3,115200n8"
165#define CONFIG_LOADADDR CONFIG_SYS_LOAD_ADDR
166
167/*
168 * Console configuration
169 */
170#define CONFIG_SYS_LONGHELP
Alexey Brodkin3caa3d82014-02-08 10:30:59 +0400171#define CONFIG_SYS_PROMPT "AXS# "
Alexey Brodkin511ab042014-02-04 12:56:19 +0400172#define CONFIG_SYS_CBSIZE 256
173#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE
174#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + \
175 sizeof(CONFIG_SYS_PROMPT) + 16)
176
177/*
178 * Misc utility configuration
179 */
180#define CONFIG_BOUNCE_BUFFER
181
182#endif /* _CONFIG_AXS101_H_ */