16787c1ecSGregory CLEMENT /* SPDX-License-Identifier: (GPL-2.0+ OR MIT) */ 26787c1ecSGregory CLEMENT /* 36787c1ecSGregory CLEMENT * Copyright (c) 2018 Microsemi Corporation 46787c1ecSGregory CLEMENT */ 56787c1ecSGregory CLEMENT 66787c1ecSGregory CLEMENT #ifndef __VCOREIII_H 76787c1ecSGregory CLEMENT #define __VCOREIII_H 86787c1ecSGregory CLEMENT 96787c1ecSGregory CLEMENT #include <linux/sizes.h> 106787c1ecSGregory CLEMENT 116787c1ecSGregory CLEMENT /* Onboard devices */ 126787c1ecSGregory CLEMENT 136787c1ecSGregory CLEMENT #define CONFIG_SYS_MALLOC_LEN 0x100000 146787c1ecSGregory CLEMENT #define CONFIG_SYS_LOAD_ADDR 0x00100000 156787c1ecSGregory CLEMENT #define CONFIG_SYS_INIT_SP_OFFSET 0x400000 166787c1ecSGregory CLEMENT 17*1895b87eSHoratiu Vultur #if defined(CONFIG_SOC_LUTON) || defined(CONFIG_SOC_SERVAL) 18*1895b87eSHoratiu Vultur #define CPU_CLOCK_RATE 416666666 /* Clock for the MIPS core */ 196787c1ecSGregory CLEMENT #define CONFIG_SYS_MIPS_TIMER_FREQ 208333333 206787c1ecSGregory CLEMENT #else 21*1895b87eSHoratiu Vultur #define CPU_CLOCK_RATE 500000000 /* Clock for the MIPS core */ 226787c1ecSGregory CLEMENT #define CONFIG_SYS_MIPS_TIMER_FREQ (CPU_CLOCK_RATE / 2) 236787c1ecSGregory CLEMENT #endif 246787c1ecSGregory CLEMENT #define CONFIG_SYS_NS16550_CLK CONFIG_SYS_MIPS_TIMER_FREQ 256787c1ecSGregory CLEMENT 26e9f1492bSLars Povlsen #define CONFIG_BOARD_TYPES 27e9f1492bSLars Povlsen 286787c1ecSGregory CLEMENT #if defined(CONFIG_ENV_IS_IN_SPI_FLASH) && !defined(CONFIG_ENV_OFFSET) 296787c1ecSGregory CLEMENT #define CONFIG_ENV_OFFSET (1024 * 1024) 306787c1ecSGregory CLEMENT #define CONFIG_ENV_SIZE (256 * 1024) 316787c1ecSGregory CLEMENT #define CONFIG_ENV_SECT_SIZE (256 * 1024) 326787c1ecSGregory CLEMENT 336787c1ecSGregory CLEMENT #define CONFIG_SYS_REDUNDAND_ENVIRONMENT 346787c1ecSGregory CLEMENT #define CONFIG_ENV_SIZE_REDUND CONFIG_ENV_SIZE 356787c1ecSGregory CLEMENT #define CONFIG_ENV_OFFSET_REDUND (CONFIG_ENV_OFFSET + CONFIG_ENV_SECT_SIZE) 366787c1ecSGregory CLEMENT 376787c1ecSGregory CLEMENT #endif 386787c1ecSGregory CLEMENT 396787c1ecSGregory CLEMENT #define CONFIG_SYS_SDRAM_BASE 0x80000000 406787c1ecSGregory CLEMENT #if defined(CONFIG_DDRTYPE_H5TQ1G63BFA) || defined(CONFIG_DDRTYPE_MT47H128M8HQ) 416787c1ecSGregory CLEMENT #define CONFIG_SYS_SDRAM_SIZE (128 * SZ_1M) 426787c1ecSGregory CLEMENT #elif defined(CONFIG_DDRTYPE_MT41J128M16HA) || defined(CONFIG_DDRTYPE_MT41K128M16JT) 436787c1ecSGregory CLEMENT #define CONFIG_SYS_SDRAM_SIZE (256 * SZ_1M) 446787c1ecSGregory CLEMENT #elif defined(CONFIG_DDRTYPE_H5TQ4G63MFR) || defined(CONFIG_DDRTYPE_MT41K256M16) 456787c1ecSGregory CLEMENT #define CONFIG_SYS_SDRAM_SIZE (512 * SZ_1M) 466787c1ecSGregory CLEMENT #else 476787c1ecSGregory CLEMENT #error Unknown DDR size - please add! 486787c1ecSGregory CLEMENT #endif 496787c1ecSGregory CLEMENT 506787c1ecSGregory CLEMENT #define CONFIG_CONS_INDEX 1 516787c1ecSGregory CLEMENT 526787c1ecSGregory CLEMENT #define CONFIG_SYS_MEMTEST_START CONFIG_SYS_SDRAM_BASE 536787c1ecSGregory CLEMENT #define CONFIG_SYS_MEMTEST_END (CONFIG_SYS_SDRAM_BASE + CONFIG_SYS_SDRAM_SIZE - SZ_1M) 546787c1ecSGregory CLEMENT 556787c1ecSGregory CLEMENT #define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE 566787c1ecSGregory CLEMENT 576787c1ecSGregory CLEMENT #define CONFIG_BOARD_EARLY_INIT_R 586787c1ecSGregory CLEMENT #if defined(CONFIG_MTDIDS_DEFAULT) && defined(CONFIG_MTDPARTS_DEFAULT) 596787c1ecSGregory CLEMENT #define VCOREIII_DEFAULT_MTD_ENV \ 606787c1ecSGregory CLEMENT "mtdparts="CONFIG_MTDPARTS_DEFAULT"\0" \ 616787c1ecSGregory CLEMENT "mtdids="CONFIG_MTDIDS_DEFAULT"\0" 626787c1ecSGregory CLEMENT #else 636787c1ecSGregory CLEMENT #define VCOREIII_DEFAULT_MTD_ENV /* Go away */ 646787c1ecSGregory CLEMENT #endif 656787c1ecSGregory CLEMENT 666787c1ecSGregory CLEMENT #define CONFIG_SYS_BOOTM_LEN (16 << 20) /* Increase max gunzip size */ 676787c1ecSGregory CLEMENT 686787c1ecSGregory CLEMENT #define CONFIG_EXTRA_ENV_SETTINGS \ 696787c1ecSGregory CLEMENT VCOREIII_DEFAULT_MTD_ENV \ 706787c1ecSGregory CLEMENT "loadaddr=0x81000000\0" \ 716787c1ecSGregory CLEMENT "spi_image_off=0x00100000\0" \ 726787c1ecSGregory CLEMENT "console=ttyS0,115200\0" \ 736787c1ecSGregory CLEMENT "setup=setenv bootargs console=${console} ${mtdparts}" \ 746787c1ecSGregory CLEMENT "${bootargs_extra}\0" \ 756787c1ecSGregory CLEMENT "spiboot=run setup; sf probe; sf read ${loadaddr}" \ 766787c1ecSGregory CLEMENT "${spi_image_off} 0x600000; bootm ${loadaddr}\0" \ 776787c1ecSGregory CLEMENT "ubootfile=u-boot.bin\0" \ 786787c1ecSGregory CLEMENT "update=sf probe;mtdparts;dhcp ${loadaddr} ${ubootfile};" \ 796787c1ecSGregory CLEMENT "sf erase UBoot 0x100000;" \ 806787c1ecSGregory CLEMENT "sf write ${loadaddr} UBoot ${filesize}\0" \ 816787c1ecSGregory CLEMENT "bootcmd=run spiboot\0" \ 826787c1ecSGregory CLEMENT "" 836787c1ecSGregory CLEMENT #endif /* __VCOREIII_H */ 84