blob: 889e5db74b22dcbc668b7e68479a61d722f32712 [file] [log] [blame]
Darwin Rambo8ab2c482014-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 Brodkin267d8e22014-02-26 17:47:58 +040010#include <linux/sizes.h>
Darwin Rambo8ab2c482014-02-11 11:06:38 -080011#include <asm/arch/sysmap.h>
12
Masahiro Yamada062f6542014-11-06 14:59:33 +090013/* CPU, chip, mach, etc */
Darwin Rambo8ab2c482014-02-11 11:06:38 -080014#define CONFIG_KONA
15#define CONFIG_SKIP_LOWLEVEL_INIT
Darwin Rambo8ab2c482014-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 Rambo8ab2c482014-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 Rambo8ab2c482014-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
Steve Raedf095242016-04-04 12:59:45 -070091/* must fit into GPT:u-boot-env partition */
92#define CONFIG_ENV_IS_IN_MMC
93#define CONFIG_SYS_MMC_ENV_DEV 0
94#define CONFIG_ENV_OFFSET (0x00011a00 * 512)
95#define CONFIG_ENV_SIZE (8 * 512)
Darwin Rambo8ab2c482014-02-11 11:06:38 -080096
97#define CONFIG_SYS_NO_FLASH /* Not using NAND/NOR unmanaged flash */
98
99/* console configuration */
100#define CONFIG_SYS_CBSIZE 1024 /* Console buffer size */
101#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + \
102 sizeof(CONFIG_SYS_PROMPT) + 16) /* Printbuffer size */
103#define CONFIG_SYS_MAXARGS 64
104#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE
105
106/*
107 * One partition type must be defined for part.c
108 * This is necessary for the fatls command to work on an SD card
109 * for example.
110 */
111#define CONFIG_DOS_PARTITION
Jiandong Zheng3d310262015-07-09 14:26:40 -0700112#define CONFIG_EFI_PARTITION
Darwin Rambo8ab2c482014-02-11 11:06:38 -0800113
114/* version string, parser, etc */
115#define CONFIG_VERSION_VARIABLE
116#define CONFIG_AUTO_COMPLETE
Darwin Rambo8ab2c482014-02-11 11:06:38 -0800117#define CONFIG_CMDLINE_EDITING
118#define CONFIG_SYS_LONGHELP
119
120#define CONFIG_CRC32_VERIFY
121#define CONFIG_MX_CYCLIC
122
123/* Initial upstream - boot to cmd prompt only */
124#define CONFIG_BOOTCOMMAND ""
125
126/* Commands */
Darwin Rambo8ab2c482014-02-11 11:06:38 -0800127#define CONFIG_FAT_WRITE
128
Jiandong Zheng3d310262015-07-09 14:26:40 -0700129/* Fastboot and USB OTG */
130#define CONFIG_USB_FUNCTION_FASTBOOT
131#define CONFIG_CMD_FASTBOOT
132#define CONFIG_FASTBOOT_FLASH
133#define CONFIG_FASTBOOT_FLASH_MMC_DEV 0
134#define CONFIG_SYS_CACHELINE_SIZE 64
Paul Kocialkowskif84f0912015-07-20 12:38:22 +0200135#define CONFIG_FASTBOOT_BUF_SIZE (CONFIG_SYS_SDRAM_SIZE - SZ_1M)
136#define CONFIG_FASTBOOT_BUF_ADDR CONFIG_SYS_SDRAM_BASE
Jiandong Zheng3d310262015-07-09 14:26:40 -0700137#define CONFIG_USB_GADGET_BCM_UDC_OTG_PHY
Jiandong Zheng3d310262015-07-09 14:26:40 -0700138#define CONFIG_USBID_ADDR 0x34052c46
Jiandong Zheng3d310262015-07-09 14:26:40 -0700139
Darwin Rambo8ab2c482014-02-11 11:06:38 -0800140#endif /* __BCM28155_AP_H */