1 /*
2  * Copyright 2013 Broadcom Corporation.
3  *
4  * SPDX-License-Identifier:      GPL-2.0+
5  */
6 
7 #ifndef __BCM28155_AP_H
8 #define __BCM28155_AP_H
9 
10 #include <linux/sizes.h>
11 #include <asm/arch/sysmap.h>
12 
13 /* Architecture, CPU, chip, mach, etc */
14 #define CONFIG_ARMV7
15 #define CONFIG_KONA
16 #define CONFIG_SKIP_LOWLEVEL_INIT
17 #define CONFIG_SYS_GENERIC_BOARD
18 
19 /*
20  * Memory configuration
21  */
22 #define CONFIG_SYS_TEXT_BASE		0xae000000
23 
24 #define CONFIG_SYS_SDRAM_BASE		0x80000000
25 #define CONFIG_SYS_SDRAM_SIZE		0x80000000
26 #define CONFIG_NR_DRAM_BANKS		1
27 
28 #define CONFIG_SYS_MALLOC_LEN		SZ_4M	/* see armv7/start.S. */
29 #define CONFIG_STACKSIZE		SZ_256K
30 
31 /* GPIO Driver */
32 #define CONFIG_KONA_GPIO
33 
34 /* MMC/SD Driver */
35 #define CONFIG_SDHCI
36 #define CONFIG_MMC_SDMA
37 #define CONFIG_KONA_SDHCI
38 #define CONFIG_MMC
39 #define CONFIG_GENERIC_MMC
40 
41 #define CONFIG_SYS_SDIO_BASE0 SDIO1_BASE_ADDR
42 #define CONFIG_SYS_SDIO_BASE1 SDIO2_BASE_ADDR
43 #define CONFIG_SYS_SDIO_BASE2 SDIO3_BASE_ADDR
44 #define CONFIG_SYS_SDIO_BASE3 SDIO4_BASE_ADDR
45 #define CONFIG_SYS_SDIO0_MAX_CLK 48000000
46 #define CONFIG_SYS_SDIO1_MAX_CLK 48000000
47 #define CONFIG_SYS_SDIO2_MAX_CLK 48000000
48 #define CONFIG_SYS_SDIO3_MAX_CLK 48000000
49 #define CONFIG_SYS_SDIO0 "sdio1"
50 #define CONFIG_SYS_SDIO1 "sdio2"
51 #define CONFIG_SYS_SDIO2 "sdio3"
52 #define CONFIG_SYS_SDIO3 "sdio4"
53 
54 /* I2C Driver */
55 #define CONFIG_SYS_I2C
56 #define CONFIG_SYS_I2C_KONA
57 #define CONFIG_SYS_SPD_BUS_NUM	3	/* Start with PMU bus */
58 #define CONFIG_SYS_MAX_I2C_BUS	4
59 #define CONFIG_SYS_I2C_BASE0	BSC1_BASE_ADDR
60 #define CONFIG_SYS_I2C_BASE1	BSC2_BASE_ADDR
61 #define CONFIG_SYS_I2C_BASE2	BSC3_BASE_ADDR
62 #define CONFIG_SYS_I2C_BASE3	PMU_BSC_BASE_ADDR
63 
64 /* Timer Driver */
65 #define CONFIG_SYS_TIMER_RATE		32000
66 #define CONFIG_SYS_TIMER_COUNTER	(TIMER_BASE_ADDR + 4) /* STCLO offset */
67 
68 /* Init functions */
69 #define CONFIG_MISC_INIT_R	/* board's misc_init_r function */
70 
71 /* Some commands use this as the default load address */
72 #define CONFIG_SYS_LOAD_ADDR		CONFIG_SYS_SDRAM_BASE
73 
74 /* No mtest functions as recommended */
75 #undef CONFIG_CMD_MEMORY
76 
77 /*
78  * This is the initial SP which is used only briefly for relocating the u-boot
79  * image to the top of SDRAM. After relocation u-boot moves the stack to the
80  * proper place.
81  */
82 #define CONFIG_SYS_INIT_SP_ADDR		CONFIG_SYS_TEXT_BASE
83 
84 /* Serial Info */
85 #define CONFIG_SYS_NS16550
86 #define CONFIG_SYS_NS16550_SERIAL
87 /* Post pad 3 bytes after each reg addr */
88 #define CONFIG_SYS_NS16550_REG_SIZE	(-4)
89 #define CONFIG_SYS_NS16550_CLK		13000000
90 #define CONFIG_CONS_INDEX		1
91 #define CONFIG_SYS_NS16550_COM1		0x3e000000
92 
93 #define CONFIG_BAUDRATE			115200
94 
95 #define CONFIG_ENV_SIZE			0x10000
96 #define CONFIG_ENV_IS_NOWHERE
97 
98 #define CONFIG_SYS_NO_FLASH	/* Not using NAND/NOR unmanaged flash */
99 
100 /* console configuration */
101 #define CONFIG_SYS_CBSIZE		1024	/* Console buffer size */
102 #define CONFIG_SYS_PBSIZE		(CONFIG_SYS_CBSIZE + \
103 			sizeof(CONFIG_SYS_PROMPT) + 16)	/* Printbuffer size */
104 #define CONFIG_SYS_MAXARGS		64
105 #define CONFIG_SYS_BARGSIZE		CONFIG_SYS_CBSIZE
106 
107 /*
108  * One partition type must be defined for part.c
109  * This is necessary for the fatls command to work on an SD card
110  * for example.
111  */
112 #define CONFIG_DOS_PARTITION
113 
114 /* version string, parser, etc */
115 #define CONFIG_VERSION_VARIABLE
116 #define CONFIG_AUTO_COMPLETE
117 #define CONFIG_SYS_HUSH_PARSER
118 #define CONFIG_CMDLINE_EDITING
119 #define CONFIG_SYS_LONGHELP
120 
121 #define CONFIG_CRC32_VERIFY
122 #define CONFIG_MX_CYCLIC
123 
124 /* Initial upstream - boot to cmd prompt only */
125 #define CONFIG_BOOTCOMMAND		""
126 
127 /* Commands */
128 #include <config_cmd_default.h>
129 #define CONFIG_CMD_ASKENV
130 #define CONFIG_CMD_CACHE
131 #define CONFIG_CMD_FAT
132 #define CONFIG_CMD_GPIO
133 #define CONFIG_CMD_I2C
134 #define CONFIG_CMD_MMC
135 #define CONFIG_CMD_BOOTZ
136 #define CONFIG_FAT_WRITE
137 
138 #undef CONFIG_CMD_NET
139 #undef CONFIG_CMD_NFS
140 
141 #endif /* __BCM28155_AP_H */
142