blob: cf25bdebe879642ccec3b69d8288c9bcc18c1d6a [file] [log] [blame]
Darwin Rambo9ed679a2014-02-11 11:06:38 -08001/*
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
Alexey Brodkin1ace4022014-02-26 17:47:58 +040010#include <linux/sizes.h>
Darwin Rambo9ed679a2014-02-11 11:06:38 -080011#include <asm/arch/sysmap.h>
12
Masahiro Yamada3fcfe802014-11-06 14:59:33 +090013/* CPU, chip, mach, etc */
Darwin Rambo9ed679a2014-02-11 11:06:38 -080014#define CONFIG_KONA
15#define CONFIG_SKIP_LOWLEVEL_INIT
Darwin Rambo9ed679a2014-02-11 11:06:38 -080016
17/*
18 * Memory configuration
19 */
20#define CONFIG_SYS_TEXT_BASE 0xae000000
21
22#define CONFIG_SYS_SDRAM_BASE 0x80000000
23#define CONFIG_SYS_SDRAM_SIZE 0x80000000
24#define CONFIG_NR_DRAM_BANKS 1
25
26#define CONFIG_SYS_MALLOC_LEN SZ_4M /* see armv7/start.S. */
27#define CONFIG_STACKSIZE SZ_256K
28
29/* GPIO Driver */
30#define CONFIG_KONA_GPIO
31
32/* MMC/SD Driver */
33#define CONFIG_SDHCI
34#define CONFIG_MMC_SDMA
35#define CONFIG_KONA_SDHCI
36#define CONFIG_MMC
37#define CONFIG_GENERIC_MMC
38
39#define CONFIG_SYS_SDIO_BASE0 SDIO1_BASE_ADDR
40#define CONFIG_SYS_SDIO_BASE1 SDIO2_BASE_ADDR
41#define CONFIG_SYS_SDIO_BASE2 SDIO3_BASE_ADDR
42#define CONFIG_SYS_SDIO_BASE3 SDIO4_BASE_ADDR
43#define CONFIG_SYS_SDIO0_MAX_CLK 48000000
44#define CONFIG_SYS_SDIO1_MAX_CLK 48000000
45#define CONFIG_SYS_SDIO2_MAX_CLK 48000000
46#define CONFIG_SYS_SDIO3_MAX_CLK 48000000
47#define CONFIG_SYS_SDIO0 "sdio1"
48#define CONFIG_SYS_SDIO1 "sdio2"
49#define CONFIG_SYS_SDIO2 "sdio3"
50#define CONFIG_SYS_SDIO3 "sdio4"
51
52/* I2C Driver */
53#define CONFIG_SYS_I2C
54#define CONFIG_SYS_I2C_KONA
55#define CONFIG_SYS_SPD_BUS_NUM 3 /* Start with PMU bus */
56#define CONFIG_SYS_MAX_I2C_BUS 4
57#define CONFIG_SYS_I2C_BASE0 BSC1_BASE_ADDR
58#define CONFIG_SYS_I2C_BASE1 BSC2_BASE_ADDR
59#define CONFIG_SYS_I2C_BASE2 BSC3_BASE_ADDR
60#define CONFIG_SYS_I2C_BASE3 PMU_BSC_BASE_ADDR
61
62/* Timer Driver */
63#define CONFIG_SYS_TIMER_RATE 32000
64#define CONFIG_SYS_TIMER_COUNTER (TIMER_BASE_ADDR + 4) /* STCLO offset */
65
66/* Init functions */
67#define CONFIG_MISC_INIT_R /* board's misc_init_r function */
68
69/* Some commands use this as the default load address */
70#define CONFIG_SYS_LOAD_ADDR CONFIG_SYS_SDRAM_BASE
71
72/* No mtest functions as recommended */
Darwin Rambo9ed679a2014-02-11 11:06:38 -080073
74/*
75 * This is the initial SP which is used only briefly for relocating the u-boot
76 * image to the top of SDRAM. After relocation u-boot moves the stack to the
77 * proper place.
78 */
79#define CONFIG_SYS_INIT_SP_ADDR CONFIG_SYS_TEXT_BASE
80
81/* Serial Info */
Darwin Rambo9ed679a2014-02-11 11:06:38 -080082#define CONFIG_SYS_NS16550_SERIAL
83/* Post pad 3 bytes after each reg addr */
84#define CONFIG_SYS_NS16550_REG_SIZE (-4)
85#define CONFIG_SYS_NS16550_CLK 13000000
86#define CONFIG_CONS_INDEX 1
87#define CONFIG_SYS_NS16550_COM1 0x3e000000
88
89#define CONFIG_BAUDRATE 115200
90
91#define CONFIG_ENV_SIZE 0x10000
92#define CONFIG_ENV_IS_NOWHERE
93
94#define CONFIG_SYS_NO_FLASH /* Not using NAND/NOR unmanaged flash */
95
96/* console configuration */
97#define CONFIG_SYS_CBSIZE 1024 /* Console buffer size */
98#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + \
99 sizeof(CONFIG_SYS_PROMPT) + 16) /* Printbuffer size */
100#define CONFIG_SYS_MAXARGS 64
101#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE
102
103/*
104 * One partition type must be defined for part.c
105 * This is necessary for the fatls command to work on an SD card
106 * for example.
107 */
108#define CONFIG_DOS_PARTITION
Jiandong Zhengd00bf782015-07-09 14:26:40 -0700109#define CONFIG_EFI_PARTITION
Darwin Rambo9ed679a2014-02-11 11:06:38 -0800110
111/* version string, parser, etc */
112#define CONFIG_VERSION_VARIABLE
113#define CONFIG_AUTO_COMPLETE
114#define CONFIG_SYS_HUSH_PARSER
115#define CONFIG_CMDLINE_EDITING
116#define CONFIG_SYS_LONGHELP
117
118#define CONFIG_CRC32_VERIFY
119#define CONFIG_MX_CYCLIC
120
121/* Initial upstream - boot to cmd prompt only */
122#define CONFIG_BOOTCOMMAND ""
123
124/* Commands */
Darwin Rambo9ed679a2014-02-11 11:06:38 -0800125#define CONFIG_CMD_ASKENV
126#define CONFIG_CMD_CACHE
127#define CONFIG_CMD_FAT
Darwin Rambo9ed679a2014-02-11 11:06:38 -0800128#define CONFIG_CMD_I2C
129#define CONFIG_CMD_MMC
130#define CONFIG_CMD_BOOTZ
131#define CONFIG_FAT_WRITE
132
Jiandong Zhengd00bf782015-07-09 14:26:40 -0700133/* Fastboot and USB OTG */
134#define CONFIG_USB_FUNCTION_FASTBOOT
135#define CONFIG_CMD_FASTBOOT
136#define CONFIG_FASTBOOT_FLASH
137#define CONFIG_FASTBOOT_FLASH_MMC_DEV 0
138#define CONFIG_SYS_CACHELINE_SIZE 64
Paul Kocialkowskia588d992015-07-20 12:38:22 +0200139#define CONFIG_FASTBOOT_BUF_SIZE (CONFIG_SYS_SDRAM_SIZE - SZ_1M)
140#define CONFIG_FASTBOOT_BUF_ADDR CONFIG_SYS_SDRAM_BASE
Jiandong Zhengd00bf782015-07-09 14:26:40 -0700141#define CONFIG_USB_GADGET_DUALSPEED
142#define CONFIG_USB_GADGET_VBUS_DRAW 0
Marek Vasute30824f2015-08-19 23:27:26 +0200143#define CONFIG_USB_GADGET_DWC2_OTG
Jiandong Zhengd00bf782015-07-09 14:26:40 -0700144#define CONFIG_USB_GADGET_BCM_UDC_OTG_PHY
145#define CONFIG_USB_GADGET_DOWNLOAD
146#define CONFIG_USBID_ADDR 0x34052c46
147#define CONFIG_G_DNL_VENDOR_NUM 0x18d1 /* google */
148#define CONFIG_G_DNL_PRODUCT_NUM 0x0d02 /* nexus one */
149#define CONFIG_G_DNL_MANUFACTURER "Broadcom Corporation"
150
Darwin Rambo9ed679a2014-02-11 11:06:38 -0800151#endif /* __BCM28155_AP_H */