1 /* SPDX-License-Identifier: GPL-2.0+ */ 2 /* 3 * Copyright (C) 2017 Synopsys, Inc. All rights reserved. 4 */ 5 6 #ifndef _CONFIG_HSDK_H_ 7 #define _CONFIG_HSDK_H_ 8 9 #include <linux/sizes.h> 10 11 /* 12 * CPU configuration 13 */ 14 #define NR_CPUS 4 15 #define ARC_PERIPHERAL_BASE 0xF0000000 16 #define ARC_DWMMC_BASE (ARC_PERIPHERAL_BASE + 0xA000) 17 #define ARC_DWGMAC_BASE (ARC_PERIPHERAL_BASE + 0x18000) 18 19 /* 20 * Memory configuration 21 */ 22 #define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE 23 24 #define CONFIG_SYS_DDR_SDRAM_BASE 0x80000000 25 #define CONFIG_SYS_SDRAM_BASE CONFIG_SYS_DDR_SDRAM_BASE 26 #define CONFIG_SYS_SDRAM_SIZE SZ_1G 27 28 #define CONFIG_SYS_INIT_SP_ADDR \ 29 (CONFIG_SYS_SDRAM_BASE + 0x1000 - GENERATED_GBL_DATA_SIZE) 30 31 #define CONFIG_SYS_MALLOC_LEN SZ_2M 32 #define CONFIG_SYS_BOOTM_LEN SZ_128M 33 #define CONFIG_SYS_LOAD_ADDR 0x82000000 34 35 /* 36 * This board might be of different versions so handle it 37 */ 38 #define CONFIG_BOARD_TYPES 39 40 /* 41 * UART configuration 42 */ 43 #define CONFIG_DW_SERIAL 44 #define CONFIG_SYS_NS16550_SERIAL 45 #define CONFIG_SYS_NS16550_CLK 33330000 46 #define CONFIG_SYS_NS16550_MEM32 47 48 /* 49 * Ethernet PHY configuration 50 */ 51 52 /* 53 * USB 1.1 configuration 54 */ 55 #define CONFIG_USB_OHCI_NEW 56 #define CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS 1 57 58 /* 59 * Environment settings 60 */ 61 #define CONFIG_ENV_SIZE SZ_16K 62 63 #define CONFIG_EXTRA_ENV_SETTINGS \ 64 "upgrade=if mmc rescan && " \ 65 "fatload mmc 0:1 ${loadaddr} u-boot-update.scr && " \ 66 "iminfo ${loadaddr} && source ${loadaddr}; then; else echo " \ 67 "\"Fail to upgrade.\n" \ 68 "Do you have u-boot-update.scr and u-boot.head on first (FAT) SD card partition?\"" \ 69 "; fi\0" \ 70 "core_dccm_0=0x10\0" \ 71 "core_dccm_1=0x6\0" \ 72 "core_dccm_2=0x10\0" \ 73 "core_dccm_3=0x6\0" \ 74 "core_iccm_0=0x10\0" \ 75 "core_iccm_1=0x6\0" \ 76 "core_iccm_2=0x10\0" \ 77 "core_iccm_3=0x6\0" \ 78 "core_mask=0xF\0" \ 79 "dcache_ena=0x1\0" \ 80 "icache_ena=0x1\0" \ 81 "non_volatile_limit=0xE\0" \ 82 "hsdk_hs34=setenv core_mask 0x2; setenv icache_ena 0x0; \ 83 setenv dcache_ena 0x0; setenv core_iccm_1 0x7; \ 84 setenv core_dccm_1 0x8; setenv non_volatile_limit 0x0;\0" \ 85 "hsdk_hs36=setenv core_mask 0x1; setenv icache_ena 0x1; \ 86 setenv dcache_ena 0x1; setenv core_iccm_0 0x10; \ 87 setenv core_dccm_0 0x10; setenv non_volatile_limit 0xE;\0" \ 88 "hsdk_hs36_ccm=setenv core_mask 0x2; setenv icache_ena 0x1; \ 89 setenv dcache_ena 0x1; setenv core_iccm_1 0x7; \ 90 setenv core_dccm_1 0x8; setenv non_volatile_limit 0xE;\0" \ 91 "hsdk_hs38=setenv core_mask 0x1; setenv icache_ena 0x1; \ 92 setenv dcache_ena 0x1; setenv core_iccm_0 0x10; \ 93 setenv core_dccm_0 0x10; setenv non_volatile_limit 0xE;\0" \ 94 "hsdk_hs38_ccm=setenv core_mask 0x2; setenv icache_ena 0x1; \ 95 setenv dcache_ena 0x1; setenv core_iccm_1 0x7; \ 96 setenv core_dccm_1 0x8; setenv non_volatile_limit 0xE;\0" \ 97 "hsdk_hs38x2=setenv core_mask 0x3; setenv icache_ena 0x1; \ 98 setenv dcache_ena 0x1; setenv core_iccm_0 0x10; \ 99 setenv core_dccm_0 0x10; setenv non_volatile_limit 0xE; \ 100 setenv core_iccm_1 0x6; setenv core_dccm_1 0x6;\0" \ 101 "hsdk_hs38x3=setenv core_mask 0x7; setenv icache_ena 0x1; \ 102 setenv dcache_ena 0x1; setenv core_iccm_0 0x10; \ 103 setenv core_dccm_0 0x10; setenv non_volatile_limit 0xE; \ 104 setenv core_iccm_1 0x6; setenv core_dccm_1 0x6; \ 105 setenv core_iccm_2 0x10; setenv core_dccm_2 0x10;\0" \ 106 "hsdk_hs38x4=setenv core_mask 0xF; setenv icache_ena 0x1; \ 107 setenv dcache_ena 0x1; setenv core_iccm_0 0x10; \ 108 setenv core_dccm_0 0x10; setenv non_volatile_limit 0xE; \ 109 setenv core_iccm_1 0x6; setenv core_dccm_1 0x6; \ 110 setenv core_iccm_2 0x10; setenv core_dccm_2 0x10; \ 111 setenv core_iccm_3 0x6; setenv core_dccm_3 0x6;\0" 112 113 /* 114 * Environment configuration 115 */ 116 #define CONFIG_BOOTFILE "uImage" 117 #define CONFIG_LOADADDR CONFIG_SYS_LOAD_ADDR 118 119 /* 120 * Misc utility configuration 121 */ 122 #define CONFIG_BOUNCE_BUFFER 123 124 /* Cli configuration */ 125 #define CONFIG_SYS_CBSIZE SZ_2K 126 127 /* 128 * Callback configuration 129 */ 130 #define CONFIG_BOARD_LATE_INIT 131 132 #endif /* _CONFIG_HSDK_H_ */ 133