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