1f5d0b9b2SMasahiro Yamada /* 2f8f35944SMasahiro Yamada * Copyright (C) 2012-2015 Masahiro Yamada <yamada.masahiro@socionext.com> 3f5d0b9b2SMasahiro Yamada * 4f5d0b9b2SMasahiro Yamada * SPDX-License-Identifier: GPL-2.0+ 5f5d0b9b2SMasahiro Yamada */ 6f5d0b9b2SMasahiro Yamada 7f5d0b9b2SMasahiro Yamada /* U-boot - Common settings for UniPhier Family */ 8f5d0b9b2SMasahiro Yamada 9f5d0b9b2SMasahiro Yamada #ifndef __CONFIG_UNIPHIER_COMMON_H__ 10f5d0b9b2SMasahiro Yamada #define __CONFIG_UNIPHIER_COMMON_H__ 11f5d0b9b2SMasahiro Yamada 12233e42a9SMasahiro Yamada #define CONFIG_I2C_EEPROM 13233e42a9SMasahiro Yamada #define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS 10 14233e42a9SMasahiro Yamada 15f5d0b9b2SMasahiro Yamada #ifdef CONFIG_SYS_NS16550_SERIAL 16f5d0b9b2SMasahiro Yamada #define CONFIG_SYS_NS16550 17f5d0b9b2SMasahiro Yamada #define CONFIG_SYS_NS16550_COM1 CONFIG_SUPPORT_CARD_UART_BASE 18f5d0b9b2SMasahiro Yamada #define CONFIG_SYS_NS16550_CLK 12288000 19f5d0b9b2SMasahiro Yamada #define CONFIG_SYS_NS16550_REG_SIZE -2 20f5d0b9b2SMasahiro Yamada #endif 21f5d0b9b2SMasahiro Yamada 22f5d0b9b2SMasahiro Yamada /* TODO: move to Kconfig and device tree */ 23f5d0b9b2SMasahiro Yamada #if 0 24f5d0b9b2SMasahiro Yamada #define CONFIG_SYS_NS16550_SERIAL 25f5d0b9b2SMasahiro Yamada #endif 26f5d0b9b2SMasahiro Yamada 27f5d0b9b2SMasahiro Yamada #define CONFIG_SMC911X 28f5d0b9b2SMasahiro Yamada 29d7728aa4SMasahiro Yamada /* dummy: referenced by examples/standalone/smc911x_eeprom.c */ 30d7728aa4SMasahiro Yamada #define CONFIG_SMC911X_BASE 0 31f5d0b9b2SMasahiro Yamada #define CONFIG_SMC911X_32_BIT 32f5d0b9b2SMasahiro Yamada 33f5d0b9b2SMasahiro Yamada /*----------------------------------------------------------------------- 34f5d0b9b2SMasahiro Yamada * MMU and Cache Setting 35f5d0b9b2SMasahiro Yamada *----------------------------------------------------------------------*/ 36f5d0b9b2SMasahiro Yamada 37f5d0b9b2SMasahiro Yamada /* Comment out the following to enable L1 cache */ 38f5d0b9b2SMasahiro Yamada /* #define CONFIG_SYS_ICACHE_OFF */ 39f5d0b9b2SMasahiro Yamada /* #define CONFIG_SYS_DCACHE_OFF */ 40f5d0b9b2SMasahiro Yamada 4153c45d4eSMasahiro Yamada #define CONFIG_SYS_CACHELINE_SIZE 32 4253c45d4eSMasahiro Yamada 43f5d0b9b2SMasahiro Yamada /* Comment out the following to enable L2 cache */ 44f5d0b9b2SMasahiro Yamada #define CONFIG_UNIPHIER_L2CACHE_ON 45f5d0b9b2SMasahiro Yamada 46f5d0b9b2SMasahiro Yamada #define CONFIG_DISPLAY_CPUINFO 47f5d0b9b2SMasahiro Yamada #define CONFIG_DISPLAY_BOARDINFO 4808fda258SMasahiro Yamada #define CONFIG_MISC_INIT_F 4984ccd791SMasahiro Yamada #define CONFIG_BOARD_EARLY_INIT_F 507a3620b2SMasahiro Yamada #define CONFIG_BOARD_EARLY_INIT_R 51f5d0b9b2SMasahiro Yamada #define CONFIG_BOARD_LATE_INIT 52f5d0b9b2SMasahiro Yamada 53f5d0b9b2SMasahiro Yamada #define CONFIG_SYS_MALLOC_LEN (4 * 1024 * 1024) 54f5d0b9b2SMasahiro Yamada 55f5d0b9b2SMasahiro Yamada #define CONFIG_TIMESTAMP 56f5d0b9b2SMasahiro Yamada 57f5d0b9b2SMasahiro Yamada /* FLASH related */ 58f5d0b9b2SMasahiro Yamada #define CONFIG_MTD_DEVICE 59f5d0b9b2SMasahiro Yamada 60f5d0b9b2SMasahiro Yamada /* 61f5d0b9b2SMasahiro Yamada * uncomment the following to disable FLASH related code. 62f5d0b9b2SMasahiro Yamada */ 63f5d0b9b2SMasahiro Yamada /* #define CONFIG_SYS_NO_FLASH */ 64f5d0b9b2SMasahiro Yamada 65f5d0b9b2SMasahiro Yamada #define CONFIG_FLASH_CFI_DRIVER 66f5d0b9b2SMasahiro Yamada #define CONFIG_SYS_FLASH_CFI 67f5d0b9b2SMasahiro Yamada 68f5d0b9b2SMasahiro Yamada #define CONFIG_SYS_MAX_FLASH_SECT 256 69f5d0b9b2SMasahiro Yamada #define CONFIG_SYS_MONITOR_BASE 0 70f5d0b9b2SMasahiro Yamada #define CONFIG_SYS_FLASH_BASE 0 71f5d0b9b2SMasahiro Yamada 72f5d0b9b2SMasahiro Yamada /* 73f5d0b9b2SMasahiro Yamada * flash_toggle does not work for out supoort card. 74f5d0b9b2SMasahiro Yamada * We need to use flash_status_poll. 75f5d0b9b2SMasahiro Yamada */ 76f5d0b9b2SMasahiro Yamada #define CONFIG_SYS_CFI_FLASH_STATUS_POLL 77f5d0b9b2SMasahiro Yamada 78f5d0b9b2SMasahiro Yamada #define CONFIG_FLASH_SHOW_PROGRESS 45 /* count down from 45/5: 9..1 */ 79f5d0b9b2SMasahiro Yamada 809879842cSMasahiro Yamada #define CONFIG_SYS_MAX_FLASH_BANKS_DETECT 1 81f5d0b9b2SMasahiro Yamada 82f5d0b9b2SMasahiro Yamada /* serial console configuration */ 83f5d0b9b2SMasahiro Yamada #define CONFIG_BAUDRATE 115200 84f5d0b9b2SMasahiro Yamada 85f5d0b9b2SMasahiro Yamada #define CONFIG_SYS_GENERIC_BOARD 86f5d0b9b2SMasahiro Yamada 87f5d0b9b2SMasahiro Yamada #if !defined(CONFIG_SPL_BUILD) 88f5d0b9b2SMasahiro Yamada #define CONFIG_USE_ARCH_MEMSET 89f5d0b9b2SMasahiro Yamada #define CONFIG_USE_ARCH_MEMCPY 90f5d0b9b2SMasahiro Yamada #endif 91f5d0b9b2SMasahiro Yamada 92f5d0b9b2SMasahiro Yamada #define CONFIG_SYS_LONGHELP /* undef to save memory */ 93f5d0b9b2SMasahiro Yamada 94f5d0b9b2SMasahiro Yamada #define CONFIG_CMDLINE_EDITING /* add command line history */ 95f5d0b9b2SMasahiro Yamada #define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */ 96f5d0b9b2SMasahiro Yamada /* Print Buffer Size */ 97f5d0b9b2SMasahiro Yamada #define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16) 98f5d0b9b2SMasahiro Yamada #define CONFIG_SYS_MAXARGS 16 /* max number of command */ 99f5d0b9b2SMasahiro Yamada /* Boot Argument Buffer Size */ 100f5d0b9b2SMasahiro Yamada #define CONFIG_SYS_BARGSIZE (CONFIG_SYS_CBSIZE) 101f5d0b9b2SMasahiro Yamada 102f5d0b9b2SMasahiro Yamada #define CONFIG_CONS_INDEX 1 103f5d0b9b2SMasahiro Yamada 104f5d0b9b2SMasahiro Yamada /* 105f5d0b9b2SMasahiro Yamada * For NAND booting the environment is embedded in the U-Boot image. Please take 106f5d0b9b2SMasahiro Yamada * look at the file board/amcc/canyonlands/u-boot-nand.lds for details. 107f5d0b9b2SMasahiro Yamada */ 108f5d0b9b2SMasahiro Yamada /* #define CONFIG_ENV_IS_IN_NAND */ 109f5d0b9b2SMasahiro Yamada #define CONFIG_ENV_IS_NOWHERE 110f5d0b9b2SMasahiro Yamada #define CONFIG_ENV_SIZE 0x2000 111f5d0b9b2SMasahiro Yamada #define CONFIG_ENV_OFFSET 0x0 112f5d0b9b2SMasahiro Yamada /* #define CONFIG_ENV_OFFSET_REDUND (CONFIG_ENV_OFFSET + CONFIG_ENV_SIZE) */ 113f5d0b9b2SMasahiro Yamada 114f5d0b9b2SMasahiro Yamada /* Time clock 1MHz */ 115f5d0b9b2SMasahiro Yamada #define CONFIG_SYS_TIMER_RATE 1000000 116f5d0b9b2SMasahiro Yamada 117f5d0b9b2SMasahiro Yamada /* 118f5d0b9b2SMasahiro Yamada * By default, ARP timeout is 5 sec. 119f5d0b9b2SMasahiro Yamada * The first ARP request does not seem to work. 120f5d0b9b2SMasahiro Yamada * So we need to retry ARP request anyway. 121f5d0b9b2SMasahiro Yamada * We want to shrink the interval until the second ARP request. 122f5d0b9b2SMasahiro Yamada */ 123f5d0b9b2SMasahiro Yamada #define CONFIG_ARP_TIMEOUT 500UL /* 0.5 msec */ 124f5d0b9b2SMasahiro Yamada 125f5d0b9b2SMasahiro Yamada #define CONFIG_SYS_MAX_NAND_DEVICE 1 126f5d0b9b2SMasahiro Yamada #define CONFIG_SYS_NAND_MAX_CHIPS 2 127f5d0b9b2SMasahiro Yamada #define CONFIG_SYS_NAND_ONFI_DETECTION 128f5d0b9b2SMasahiro Yamada 129f5d0b9b2SMasahiro Yamada #define CONFIG_NAND_DENALI_ECC_SIZE 1024 130f5d0b9b2SMasahiro Yamada 1318497ccc4SMasahiro Yamada #ifdef CONFIG_ARCH_UNIPHIER_PH1_SLD3 1323365b4ebSMasahiro Yamada #define CONFIG_SYS_NAND_REGS_BASE 0xf8100000 1333365b4ebSMasahiro Yamada #define CONFIG_SYS_NAND_DATA_BASE 0xf8000000 1343365b4ebSMasahiro Yamada #else 135f5d0b9b2SMasahiro Yamada #define CONFIG_SYS_NAND_REGS_BASE 0x68100000 136f5d0b9b2SMasahiro Yamada #define CONFIG_SYS_NAND_DATA_BASE 0x68000000 1373365b4ebSMasahiro Yamada #endif 138f5d0b9b2SMasahiro Yamada 139f5d0b9b2SMasahiro Yamada #define CONFIG_SYS_NAND_BASE (CONFIG_SYS_NAND_DATA_BASE + 0x10) 140f5d0b9b2SMasahiro Yamada 141f5d0b9b2SMasahiro Yamada #define CONFIG_SYS_NAND_USE_FLASH_BBT 142f5d0b9b2SMasahiro Yamada #define CONFIG_SYS_NAND_BAD_BLOCK_POS 0 143f5d0b9b2SMasahiro Yamada 144f5d0b9b2SMasahiro Yamada /* USB */ 145f5d0b9b2SMasahiro Yamada #define CONFIG_USB_MAX_CONTROLLER_COUNT 2 14653c45d4eSMasahiro Yamada #define CONFIG_SYS_USB_XHCI_MAX_ROOT_PORTS 4 147f5d0b9b2SMasahiro Yamada #define CONFIG_CMD_FAT 148f5d0b9b2SMasahiro Yamada #define CONFIG_FAT_WRITE 149f5d0b9b2SMasahiro Yamada #define CONFIG_DOS_PARTITION 150f5d0b9b2SMasahiro Yamada 151f5d0b9b2SMasahiro Yamada /* memtest works on */ 152f5d0b9b2SMasahiro Yamada #define CONFIG_SYS_MEMTEST_START CONFIG_SYS_SDRAM_BASE 153f5d0b9b2SMasahiro Yamada #define CONFIG_SYS_MEMTEST_END (CONFIG_SYS_SDRAM_BASE + 0x01000000) 154f5d0b9b2SMasahiro Yamada 155f5d0b9b2SMasahiro Yamada #define CONFIG_BOOTDELAY 3 156f5d0b9b2SMasahiro Yamada #define CONFIG_ZERO_BOOTDELAY_CHECK /* check for keypress on bootdelay==0 */ 157f5d0b9b2SMasahiro Yamada 158f5d0b9b2SMasahiro Yamada /* 159f5d0b9b2SMasahiro Yamada * Network Configuration 160f5d0b9b2SMasahiro Yamada */ 161f5d0b9b2SMasahiro Yamada #define CONFIG_SERVERIP 192.168.11.1 162f5d0b9b2SMasahiro Yamada #define CONFIG_IPADDR 192.168.11.10 163f5d0b9b2SMasahiro Yamada #define CONFIG_GATEWAYIP 192.168.11.1 164f5d0b9b2SMasahiro Yamada #define CONFIG_NETMASK 255.255.255.0 165f5d0b9b2SMasahiro Yamada 166f5d0b9b2SMasahiro Yamada #define CONFIG_LOADADDR 0x84000000 167f5d0b9b2SMasahiro Yamada #define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR 168f5d0b9b2SMasahiro Yamada 169f5d0b9b2SMasahiro Yamada #define CONFIG_CMDLINE_EDITING /* add command line history */ 170f5d0b9b2SMasahiro Yamada 171f5d0b9b2SMasahiro Yamada #define CONFIG_BOOTCOMMAND "run $bootmode" 172f5d0b9b2SMasahiro Yamada 173f5d0b9b2SMasahiro Yamada #define CONFIG_ROOTPATH "/nfs/root/path" 174f5d0b9b2SMasahiro Yamada #define CONFIG_NFSBOOTCOMMAND \ 175f5d0b9b2SMasahiro Yamada "setenv bootargs $bootargs root=/dev/nfs rw " \ 176f5d0b9b2SMasahiro Yamada "nfsroot=$serverip:$rootpath " \ 177f5d0b9b2SMasahiro Yamada "ip=$ipaddr:$serverip:$gatewayip:$netmask:$hostname:$netdev:off;" \ 178f5d0b9b2SMasahiro Yamada "tftpboot; bootm;" 179f5d0b9b2SMasahiro Yamada 180421376aeSMasahiro Yamada #ifdef CONFIG_FIT 181421376aeSMasahiro Yamada #define CONFIG_BOOTFILE "fitImage" 182421376aeSMasahiro Yamada #define LINUXBOOT_ENV_SETTINGS \ 183421376aeSMasahiro Yamada "fit_addr=0x00100000\0" \ 184421376aeSMasahiro Yamada "fit_addr_r=0x84100000\0" \ 185421376aeSMasahiro Yamada "fit_size=0x00f00000\0" \ 1865451b777SMasahiro Yamada "norboot=setexpr fit_addr $nor_base + $fit_addr &&" \ 187421376aeSMasahiro Yamada "bootm $fit_addr\0" \ 1885451b777SMasahiro Yamada "nandboot=nand read $fit_addr_r $fit_addr $fit_size &&" \ 189e037db0cSMasahiro Yamada "bootm $fit_addr_r\0" \ 1905451b777SMasahiro Yamada "tftpboot=tftpboot $fit_addr_r $bootfile &&" \ 191421376aeSMasahiro Yamada "bootm $fit_addr_r\0" 192421376aeSMasahiro Yamada #else 193421376aeSMasahiro Yamada #define CONFIG_BOOTFILE "uImage" 194421376aeSMasahiro Yamada #define LINUXBOOT_ENV_SETTINGS \ 195421376aeSMasahiro Yamada "fdt_addr=0x00100000\0" \ 196421376aeSMasahiro Yamada "fdt_addr_r=0x84100000\0" \ 197421376aeSMasahiro Yamada "fdt_size=0x00008000\0" \ 198e037db0cSMasahiro Yamada "fdt_file=" CONFIG_DEFAULT_DEVICE_TREE ".dtb\0" \ 199421376aeSMasahiro Yamada "kernel_addr=0x00200000\0" \ 200421376aeSMasahiro Yamada "kernel_addr_r=0x84200000\0" \ 201421376aeSMasahiro Yamada "kernel_size=0x00800000\0" \ 202421376aeSMasahiro Yamada "ramdisk_addr=0x00a00000\0" \ 203421376aeSMasahiro Yamada "ramdisk_addr_r=0x84a00000\0" \ 204421376aeSMasahiro Yamada "ramdisk_size=0x00600000\0" \ 205e037db0cSMasahiro Yamada "ramdisk_file=rootfs.cpio.uboot\0" \ 2065451b777SMasahiro Yamada "norboot=setexpr kernel_addr $nor_base + $kernel_addr &&" \ 207d5ed8c57SMasahiro Yamada "setexpr ramdisk_addr $nor_base + $ramdisk_addr &&" \ 208d5ed8c57SMasahiro Yamada "setexpr fdt_addr $nor_base + $fdt_addr &&" \ 209421376aeSMasahiro Yamada "bootm $kernel_addr $ramdisk_addr $fdt_addr\0" \ 2105451b777SMasahiro Yamada "nandboot=nand read $kernel_addr_r $kernel_addr $kernel_size &&" \ 211421376aeSMasahiro Yamada "nand read $ramdisk_addr_r $ramdisk_addr $ramdisk_size &&" \ 212421376aeSMasahiro Yamada "nand read $fdt_addr_r $fdt_addr $fdt_size &&" \ 213e037db0cSMasahiro Yamada "bootm $kernel_addr_r $ramdisk_addr_r $fdt_addr_r\0" \ 2145451b777SMasahiro Yamada "tftpboot=tftpboot $kernel_addr_r $bootfile &&" \ 215e037db0cSMasahiro Yamada "tftpboot $ramdisk_addr_r $ramdisk_file &&" \ 216e037db0cSMasahiro Yamada "tftpboot $fdt_addr_r $fdt_file &&" \ 217421376aeSMasahiro Yamada "bootm $kernel_addr_r $ramdisk_addr_r $fdt_addr_r\0" 218421376aeSMasahiro Yamada #endif 219421376aeSMasahiro Yamada 220f5d0b9b2SMasahiro Yamada #define CONFIG_EXTRA_ENV_SETTINGS \ 221f5d0b9b2SMasahiro Yamada "netdev=eth0\0" \ 222f5d0b9b2SMasahiro Yamada "verify=n\0" \ 223d5ed8c57SMasahiro Yamada "norbase=0x42000000\0" \ 224421376aeSMasahiro Yamada "nandupdate=nand erase 0 0x00100000 &&" \ 225f4e190e3SMasahiro Yamada "tftpboot u-boot-spl-dtb.bin &&" \ 226421376aeSMasahiro Yamada "nand write $loadaddr 0 0x00010000 &&" \ 22775bc8e85SMasahiro Yamada "tftpboot u-boot-dtb.img &&" \ 228421376aeSMasahiro Yamada "nand write $loadaddr 0x00010000 0x000f0000\0" \ 229421376aeSMasahiro Yamada LINUXBOOT_ENV_SETTINGS 230f5d0b9b2SMasahiro Yamada 231f5d0b9b2SMasahiro Yamada /* Open Firmware flat tree */ 232f5d0b9b2SMasahiro Yamada #define CONFIG_OF_LIBFDT 233f5d0b9b2SMasahiro Yamada 234cf88affaSMasahiro Yamada #define CONFIG_SYS_SDRAM_BASE 0x80000000 235f5d0b9b2SMasahiro Yamada #define CONFIG_NR_DRAM_BANKS 2 236f5d0b9b2SMasahiro Yamada 2378497ccc4SMasahiro Yamada #if defined(CONFIG_ARCH_UNIPHIER_PH1_SLD3) || \ 2388497ccc4SMasahiro Yamada defined(CONFIG_ARCH_UNIPHIER_PH1_LD4) || \ 2398497ccc4SMasahiro Yamada defined(CONFIG_ARCH_UNIPHIER_PH1_SLD8) 240f5d0b9b2SMasahiro Yamada #define CONFIG_SPL_TEXT_BASE 0x00040000 241*323d1f9dSMasahiro Yamada #else 242f5d0b9b2SMasahiro Yamada #define CONFIG_SPL_TEXT_BASE 0x00100000 243f5d0b9b2SMasahiro Yamada #endif 244f5d0b9b2SMasahiro Yamada 245ce3a6390SMasahiro Yamada #define CONFIG_SPL_STACK (0x0ff08000) 2468cddc279SMasahiro Yamada #define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_TEXT_BASE) 247f5d0b9b2SMasahiro Yamada 248a286039bSMasahiro Yamada #define CONFIG_PANIC_HANG 249a286039bSMasahiro Yamada 250f5d0b9b2SMasahiro Yamada #define CONFIG_SPL_FRAMEWORK 251499785b9SMasahiro Yamada #define CONFIG_SPL_SERIAL_SUPPORT 252f5d0b9b2SMasahiro Yamada #define CONFIG_SPL_NAND_SUPPORT 253f5d0b9b2SMasahiro Yamada 254f5d0b9b2SMasahiro Yamada #define CONFIG_SPL_LIBCOMMON_SUPPORT /* for mem_malloc_init */ 255f5d0b9b2SMasahiro Yamada #define CONFIG_SPL_LIBGENERIC_SUPPORT 256f5d0b9b2SMasahiro Yamada 257f5d0b9b2SMasahiro Yamada #define CONFIG_SPL_BOARD_INIT 258f5d0b9b2SMasahiro Yamada 259f5d0b9b2SMasahiro Yamada #define CONFIG_SYS_NAND_U_BOOT_OFFS 0x10000 260f5d0b9b2SMasahiro Yamada 2616a3cffe8SMasahiro Yamada #define CONFIG_SPL_MAX_FOOTPRINT 0x10000 2626a3cffe8SMasahiro Yamada 263f5d0b9b2SMasahiro Yamada #endif /* __CONFIG_UNIPHIER_COMMON_H__ */ 264