1*4882a593Smuzhiyun /* 2*4882a593Smuzhiyun * Copyright 2013 Broadcom Corporation. 3*4882a593Smuzhiyun * 4*4882a593Smuzhiyun * SPDX-License-Identifier: GPL-2.0+ 5*4882a593Smuzhiyun */ 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun #ifndef __BCM28155_AP_H 8*4882a593Smuzhiyun #define __BCM28155_AP_H 9*4882a593Smuzhiyun 10*4882a593Smuzhiyun #include <linux/sizes.h> 11*4882a593Smuzhiyun #include <asm/arch/sysmap.h> 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun /* CPU, chip, mach, etc */ 14*4882a593Smuzhiyun #define CONFIG_KONA 15*4882a593Smuzhiyun #define CONFIG_SKIP_LOWLEVEL_INIT 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun /* 18*4882a593Smuzhiyun * Memory configuration 19*4882a593Smuzhiyun */ 20*4882a593Smuzhiyun #define CONFIG_SYS_TEXT_BASE 0xae000000 21*4882a593Smuzhiyun 22*4882a593Smuzhiyun #define CONFIG_SYS_SDRAM_BASE 0x80000000 23*4882a593Smuzhiyun #define CONFIG_SYS_SDRAM_SIZE 0x80000000 24*4882a593Smuzhiyun #define CONFIG_NR_DRAM_BANKS 1 25*4882a593Smuzhiyun 26*4882a593Smuzhiyun #define CONFIG_SYS_MALLOC_LEN SZ_4M /* see armv7/start.S. */ 27*4882a593Smuzhiyun 28*4882a593Smuzhiyun /* GPIO Driver */ 29*4882a593Smuzhiyun #define CONFIG_KONA_GPIO 30*4882a593Smuzhiyun 31*4882a593Smuzhiyun /* MMC/SD Driver */ 32*4882a593Smuzhiyun #define CONFIG_SYS_SDIO_BASE0 SDIO1_BASE_ADDR 33*4882a593Smuzhiyun #define CONFIG_SYS_SDIO_BASE1 SDIO2_BASE_ADDR 34*4882a593Smuzhiyun #define CONFIG_SYS_SDIO_BASE2 SDIO3_BASE_ADDR 35*4882a593Smuzhiyun #define CONFIG_SYS_SDIO_BASE3 SDIO4_BASE_ADDR 36*4882a593Smuzhiyun #define CONFIG_SYS_SDIO0_MAX_CLK 48000000 37*4882a593Smuzhiyun #define CONFIG_SYS_SDIO1_MAX_CLK 48000000 38*4882a593Smuzhiyun #define CONFIG_SYS_SDIO2_MAX_CLK 48000000 39*4882a593Smuzhiyun #define CONFIG_SYS_SDIO3_MAX_CLK 48000000 40*4882a593Smuzhiyun #define CONFIG_SYS_SDIO0 "sdio1" 41*4882a593Smuzhiyun #define CONFIG_SYS_SDIO1 "sdio2" 42*4882a593Smuzhiyun #define CONFIG_SYS_SDIO2 "sdio3" 43*4882a593Smuzhiyun #define CONFIG_SYS_SDIO3 "sdio4" 44*4882a593Smuzhiyun 45*4882a593Smuzhiyun /* I2C Driver */ 46*4882a593Smuzhiyun #define CONFIG_SYS_I2C 47*4882a593Smuzhiyun #define CONFIG_SYS_I2C_KONA 48*4882a593Smuzhiyun #define CONFIG_SYS_SPD_BUS_NUM 3 /* Start with PMU bus */ 49*4882a593Smuzhiyun #define CONFIG_SYS_MAX_I2C_BUS 4 50*4882a593Smuzhiyun #define CONFIG_SYS_I2C_BASE0 BSC1_BASE_ADDR 51*4882a593Smuzhiyun #define CONFIG_SYS_I2C_BASE1 BSC2_BASE_ADDR 52*4882a593Smuzhiyun #define CONFIG_SYS_I2C_BASE2 BSC3_BASE_ADDR 53*4882a593Smuzhiyun #define CONFIG_SYS_I2C_BASE3 PMU_BSC_BASE_ADDR 54*4882a593Smuzhiyun 55*4882a593Smuzhiyun /* Timer Driver */ 56*4882a593Smuzhiyun #define CONFIG_SYS_TIMER_RATE 32000 57*4882a593Smuzhiyun #define CONFIG_SYS_TIMER_COUNTER (TIMER_BASE_ADDR + 4) /* STCLO offset */ 58*4882a593Smuzhiyun 59*4882a593Smuzhiyun /* Init functions */ 60*4882a593Smuzhiyun #define CONFIG_MISC_INIT_R /* board's misc_init_r function */ 61*4882a593Smuzhiyun 62*4882a593Smuzhiyun /* Some commands use this as the default load address */ 63*4882a593Smuzhiyun #define CONFIG_SYS_LOAD_ADDR CONFIG_SYS_SDRAM_BASE 64*4882a593Smuzhiyun 65*4882a593Smuzhiyun /* No mtest functions as recommended */ 66*4882a593Smuzhiyun 67*4882a593Smuzhiyun /* 68*4882a593Smuzhiyun * This is the initial SP which is used only briefly for relocating the u-boot 69*4882a593Smuzhiyun * image to the top of SDRAM. After relocation u-boot moves the stack to the 70*4882a593Smuzhiyun * proper place. 71*4882a593Smuzhiyun */ 72*4882a593Smuzhiyun #define CONFIG_SYS_INIT_SP_ADDR CONFIG_SYS_TEXT_BASE 73*4882a593Smuzhiyun 74*4882a593Smuzhiyun /* Serial Info */ 75*4882a593Smuzhiyun #define CONFIG_SYS_NS16550_SERIAL 76*4882a593Smuzhiyun /* Post pad 3 bytes after each reg addr */ 77*4882a593Smuzhiyun #define CONFIG_SYS_NS16550_REG_SIZE (-4) 78*4882a593Smuzhiyun #define CONFIG_SYS_NS16550_CLK 13000000 79*4882a593Smuzhiyun #define CONFIG_CONS_INDEX 1 80*4882a593Smuzhiyun #define CONFIG_SYS_NS16550_COM1 0x3e000000 81*4882a593Smuzhiyun 82*4882a593Smuzhiyun /* must fit into GPT:u-boot-env partition */ 83*4882a593Smuzhiyun #define CONFIG_SYS_MMC_ENV_DEV 0 84*4882a593Smuzhiyun #define CONFIG_ENV_OFFSET (0x00011a00 * 512) 85*4882a593Smuzhiyun #define CONFIG_ENV_SIZE (8 * 512) 86*4882a593Smuzhiyun 87*4882a593Smuzhiyun /* console configuration */ 88*4882a593Smuzhiyun #define CONFIG_SYS_CBSIZE 1024 /* Console buffer size */ 89*4882a593Smuzhiyun #define CONFIG_SYS_MAXARGS 64 90*4882a593Smuzhiyun #define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE 91*4882a593Smuzhiyun 92*4882a593Smuzhiyun /* 93*4882a593Smuzhiyun * One partition type must be defined for part.c 94*4882a593Smuzhiyun * This is necessary for the fatls command to work on an SD card 95*4882a593Smuzhiyun * for example. 96*4882a593Smuzhiyun */ 97*4882a593Smuzhiyun 98*4882a593Smuzhiyun /* version string, parser, etc */ 99*4882a593Smuzhiyun #define CONFIG_AUTO_COMPLETE 100*4882a593Smuzhiyun #define CONFIG_CMDLINE_EDITING 101*4882a593Smuzhiyun #define CONFIG_SYS_LONGHELP 102*4882a593Smuzhiyun 103*4882a593Smuzhiyun #define CONFIG_MX_CYCLIC 104*4882a593Smuzhiyun 105*4882a593Smuzhiyun /* Initial upstream - boot to cmd prompt only */ 106*4882a593Smuzhiyun #define CONFIG_BOOTCOMMAND "" 107*4882a593Smuzhiyun 108*4882a593Smuzhiyun #define CONFIG_USBID_ADDR 0x34052c46 109*4882a593Smuzhiyun 110*4882a593Smuzhiyun #endif /* __BCM28155_AP_H */ 111