Home | History | Annotate | Download | only in configs
      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 #define CONFIG_MII
     52 
     53 /*
     54  * USB 1.1 configuration
     55  */
     56 #define CONFIG_USB_OHCI_NEW
     57 #define CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS 1
     58 
     59 /*
     60  * Environment settings
     61  */
     62 #define CONFIG_ENV_SIZE			SZ_16K
     63 
     64 #define CONFIG_EXTRA_ENV_SETTINGS \
     65 	"upgrade=if mmc rescan && " \
     66 		"fatload mmc 0:1 ${loadaddr} u-boot-update.scr && " \
     67 		"iminfo ${loadaddr} && source ${loadaddr}; then; else echo " \
     68 		"\"Fail to upgrade.\n" \
     69 		"Do you have u-boot-update.scr and u-boot.head on first (FAT) SD card partition?\"" \
     70 		"; fi\0" \
     71 	"core_dccm_0=0x10\0" \
     72 	"core_dccm_1=0x6\0" \
     73 	"core_dccm_2=0x10\0" \
     74 	"core_dccm_3=0x6\0" \
     75 	"core_iccm_0=0x10\0" \
     76 	"core_iccm_1=0x6\0" \
     77 	"core_iccm_2=0x10\0" \
     78 	"core_iccm_3=0x6\0" \
     79 	"core_mask=0xF\0" \
     80 	"dcache_ena=0x1\0" \
     81 	"icache_ena=0x1\0" \
     82 	"non_volatile_limit=0xE\0" \
     83 	"hsdk_hs34=setenv core_mask 0x2; setenv icache_ena 0x0; \
     84 setenv dcache_ena 0x0; setenv core_iccm_1 0x7; \
     85 setenv core_dccm_1 0x8; setenv non_volatile_limit 0x0;\0" \
     86 	"hsdk_hs36=setenv core_mask 0x1; setenv icache_ena 0x1; \
     87 setenv dcache_ena 0x1; setenv core_iccm_0 0x10; \
     88 setenv core_dccm_0 0x10; setenv non_volatile_limit 0xE;\0" \
     89 	"hsdk_hs36_ccm=setenv core_mask 0x2; setenv icache_ena 0x1; \
     90 setenv dcache_ena 0x1; setenv core_iccm_1 0x7; \
     91 setenv core_dccm_1 0x8; setenv non_volatile_limit 0xE;\0" \
     92 	"hsdk_hs38=setenv core_mask 0x1; setenv icache_ena 0x1; \
     93 setenv dcache_ena 0x1; setenv core_iccm_0 0x10; \
     94 setenv core_dccm_0 0x10; setenv non_volatile_limit 0xE;\0" \
     95 	"hsdk_hs38_ccm=setenv core_mask 0x2; setenv icache_ena 0x1; \
     96 setenv dcache_ena 0x1; setenv core_iccm_1 0x7; \
     97 setenv core_dccm_1 0x8; setenv non_volatile_limit 0xE;\0" \
     98 	"hsdk_hs38x2=setenv core_mask 0x3; setenv icache_ena 0x1; \
     99 setenv dcache_ena 0x1; setenv core_iccm_0 0x10; \
    100 setenv core_dccm_0 0x10; setenv non_volatile_limit 0xE; \
    101 setenv core_iccm_1 0x6; setenv core_dccm_1 0x6;\0" \
    102 	"hsdk_hs38x3=setenv core_mask 0x7; setenv icache_ena 0x1; \
    103 setenv dcache_ena 0x1; setenv core_iccm_0 0x10; \
    104 setenv core_dccm_0 0x10; setenv non_volatile_limit 0xE; \
    105 setenv core_iccm_1 0x6; setenv core_dccm_1 0x6; \
    106 setenv core_iccm_2 0x10; setenv core_dccm_2 0x10;\0" \
    107 	"hsdk_hs38x4=setenv core_mask 0xF; setenv icache_ena 0x1; \
    108 setenv dcache_ena 0x1; setenv core_iccm_0 0x10; \
    109 setenv core_dccm_0 0x10; setenv non_volatile_limit 0xE; \
    110 setenv core_iccm_1 0x6; setenv core_dccm_1 0x6; \
    111 setenv core_iccm_2 0x10; setenv core_dccm_2 0x10; \
    112 setenv core_iccm_3 0x6; setenv core_dccm_3 0x6;\0"
    113 
    114 /*
    115  * Environment configuration
    116  */
    117 #define CONFIG_BOOTFILE			"uImage"
    118 #define CONFIG_LOADADDR			CONFIG_SYS_LOAD_ADDR
    119 
    120 /*
    121  * Misc utility configuration
    122  */
    123 #define CONFIG_BOUNCE_BUFFER
    124 
    125 /* Cli configuration */
    126 #define CONFIG_SYS_CBSIZE		SZ_2K
    127 
    128 /*
    129  * Callback configuration
    130  */
    131 #define CONFIG_BOARD_LATE_INIT
    132 
    133 #endif /* _CONFIG_HSDK_H_ */
    134