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