1*4882a593Smuzhiyun /* 2*4882a593Smuzhiyun * (c) 2015 Purna Chandra Mandal <purna.mandal@microchip.com> 3*4882a593Smuzhiyun * 4*4882a593Smuzhiyun * SPDX-License-Identifier: GPL-2.0+ 5*4882a593Smuzhiyun * 6*4882a593Smuzhiyun * Microchip PIC32MZ[DA] Starter Kit. 7*4882a593Smuzhiyun */ 8*4882a593Smuzhiyun 9*4882a593Smuzhiyun #ifndef __PIC32MZDASK_CONFIG_H 10*4882a593Smuzhiyun #define __PIC32MZDASK_CONFIG_H 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun /* System Configuration */ 13*4882a593Smuzhiyun 14*4882a593Smuzhiyun /*-------------------------------------------- 15*4882a593Smuzhiyun * CPU configuration 16*4882a593Smuzhiyun */ 17*4882a593Smuzhiyun /* CPU Timer rate */ 18*4882a593Smuzhiyun #define CONFIG_SYS_MIPS_TIMER_FREQ 100000000 19*4882a593Smuzhiyun 20*4882a593Smuzhiyun /* Cache Configuration */ 21*4882a593Smuzhiyun #define CONFIG_SYS_MIPS_CACHE_MODE CONF_CM_CACHABLE_NONCOHERENT 22*4882a593Smuzhiyun 23*4882a593Smuzhiyun /*---------------------------------------------------------------------- 24*4882a593Smuzhiyun * Memory Layout 25*4882a593Smuzhiyun */ 26*4882a593Smuzhiyun #define CONFIG_SYS_SRAM_BASE 0x80000000 27*4882a593Smuzhiyun #define CONFIG_SYS_SRAM_SIZE 0x00080000 /* 512K */ 28*4882a593Smuzhiyun 29*4882a593Smuzhiyun /* Initial RAM for temporary stack, global data */ 30*4882a593Smuzhiyun #define CONFIG_SYS_INIT_RAM_SIZE 0x10000 31*4882a593Smuzhiyun #define CONFIG_SYS_INIT_RAM_ADDR \ 32*4882a593Smuzhiyun (CONFIG_SYS_SRAM_BASE + CONFIG_SYS_SRAM_SIZE - CONFIG_SYS_INIT_RAM_SIZE) 33*4882a593Smuzhiyun #define CONFIG_SYS_INIT_SP_ADDR \ 34*4882a593Smuzhiyun (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_RAM_SIZE - 1) 35*4882a593Smuzhiyun 36*4882a593Smuzhiyun /* SDRAM Configuration (for final code, data, stack, heap) */ 37*4882a593Smuzhiyun #define CONFIG_SYS_SDRAM_BASE 0x88000000 38*4882a593Smuzhiyun #define CONFIG_SYS_MALLOC_LEN (256 << 10) 39*4882a593Smuzhiyun #define CONFIG_SYS_BOOTPARAMS_LEN (4 << 10) 40*4882a593Smuzhiyun 41*4882a593Smuzhiyun #define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE 42*4882a593Smuzhiyun #define CONFIG_SYS_MONITOR_LEN (192 << 10) 43*4882a593Smuzhiyun 44*4882a593Smuzhiyun #define CONFIG_SYS_LOAD_ADDR 0x88500000 /* default load address */ 45*4882a593Smuzhiyun #define CONFIG_SYS_ENV_ADDR 0x88300000 46*4882a593Smuzhiyun #define CONFIG_SYS_FDT_ADDR 0x89d00000 47*4882a593Smuzhiyun 48*4882a593Smuzhiyun /* Memory Test */ 49*4882a593Smuzhiyun #define CONFIG_SYS_MEMTEST_START 0x88000000 50*4882a593Smuzhiyun #define CONFIG_SYS_MEMTEST_END 0x88080000 51*4882a593Smuzhiyun 52*4882a593Smuzhiyun /*---------------------------------------------------------------------- 53*4882a593Smuzhiyun * Commands 54*4882a593Smuzhiyun */ 55*4882a593Smuzhiyun #define CONFIG_SYS_LONGHELP /* undef to save memory */ 56*4882a593Smuzhiyun 57*4882a593Smuzhiyun /*------------------------------------------------------------ 58*4882a593Smuzhiyun * Console Configuration 59*4882a593Smuzhiyun */ 60*4882a593Smuzhiyun #define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */ 61*4882a593Smuzhiyun #define CONFIG_CMDLINE_EDITING 1 62*4882a593Smuzhiyun 63*4882a593Smuzhiyun /*----------------------------------------------------------------------- 64*4882a593Smuzhiyun * Networking Configuration 65*4882a593Smuzhiyun */ 66*4882a593Smuzhiyun #define CONFIG_MII 67*4882a593Smuzhiyun #define CONFIG_PHY_SMSC 68*4882a593Smuzhiyun #define CONFIG_SYS_RX_ETH_BUFFER 8 69*4882a593Smuzhiyun #define CONFIG_NET_RETRY_COUNT 20 70*4882a593Smuzhiyun #define CONFIG_ARP_TIMEOUT 500 /* millisec */ 71*4882a593Smuzhiyun 72*4882a593Smuzhiyun /* 73*4882a593Smuzhiyun * BOOTP options 74*4882a593Smuzhiyun */ 75*4882a593Smuzhiyun #define CONFIG_BOOTP_BOOTFILESIZE 76*4882a593Smuzhiyun #define CONFIG_BOOTP_BOOTPATH 77*4882a593Smuzhiyun #define CONFIG_BOOTP_GATEWAY 78*4882a593Smuzhiyun #define CONFIG_BOOTP_HOSTNAME 79*4882a593Smuzhiyun 80*4882a593Smuzhiyun /*-------------------------------------------------- 81*4882a593Smuzhiyun * USB Configuration 82*4882a593Smuzhiyun */ 83*4882a593Smuzhiyun #define CONFIG_USB_MUSB_PIO_ONLY 84*4882a593Smuzhiyun 85*4882a593Smuzhiyun /*----------------------------------------------------------------------- 86*4882a593Smuzhiyun * File System Configuration 87*4882a593Smuzhiyun */ 88*4882a593Smuzhiyun /* FAT FS */ 89*4882a593Smuzhiyun #define CONFIG_SUPPORT_VFAT 90*4882a593Smuzhiyun 91*4882a593Smuzhiyun /* EXT4 FS */ 92*4882a593Smuzhiyun #define CONFIG_FS_EXT4 93*4882a593Smuzhiyun 94*4882a593Smuzhiyun /* ------------------------------------------------- 95*4882a593Smuzhiyun * Environment 96*4882a593Smuzhiyun */ 97*4882a593Smuzhiyun #define CONFIG_ENV_SIZE 0x4000 98*4882a593Smuzhiyun 99*4882a593Smuzhiyun /* --------------------------------------------------------------------- 100*4882a593Smuzhiyun * Board boot configuration 101*4882a593Smuzhiyun */ 102*4882a593Smuzhiyun #define CONFIG_TIMESTAMP /* Print image info with timestamp */ 103*4882a593Smuzhiyun 104*4882a593Smuzhiyun #define MEM_LAYOUT_ENV_SETTINGS \ 105*4882a593Smuzhiyun "kernel_addr_r="__stringify(CONFIG_SYS_LOAD_ADDR)"\0" \ 106*4882a593Smuzhiyun "fdt_addr_r="__stringify(CONFIG_SYS_FDT_ADDR)"\0" \ 107*4882a593Smuzhiyun "scriptaddr="__stringify(CONFIG_SYS_ENV_ADDR)"\0" 108*4882a593Smuzhiyun 109*4882a593Smuzhiyun #define CONFIG_LEGACY_BOOTCMD_ENV \ 110*4882a593Smuzhiyun "legacy_bootcmd= " \ 111*4882a593Smuzhiyun "if load mmc 0 ${scriptaddr} uEnv.txt; then " \ 112*4882a593Smuzhiyun "env import -tr ${scriptaddr} ${filesize}; " \ 113*4882a593Smuzhiyun "if test -n \"${bootcmd_uenv}\" ; then " \ 114*4882a593Smuzhiyun "echo Running bootcmd_uenv ...; " \ 115*4882a593Smuzhiyun "run bootcmd_uenv; " \ 116*4882a593Smuzhiyun "fi; " \ 117*4882a593Smuzhiyun "fi; \0" 118*4882a593Smuzhiyun 119*4882a593Smuzhiyun #define BOOT_TARGET_DEVICES(func) \ 120*4882a593Smuzhiyun func(MMC, mmc, 0) \ 121*4882a593Smuzhiyun func(USB, usb, 0) \ 122*4882a593Smuzhiyun func(DHCP, dhcp, na) 123*4882a593Smuzhiyun 124*4882a593Smuzhiyun #include <config_distro_bootcmd.h> 125*4882a593Smuzhiyun 126*4882a593Smuzhiyun #define CONFIG_EXTRA_ENV_SETTINGS \ 127*4882a593Smuzhiyun MEM_LAYOUT_ENV_SETTINGS \ 128*4882a593Smuzhiyun CONFIG_LEGACY_BOOTCMD_ENV \ 129*4882a593Smuzhiyun BOOTENV 130*4882a593Smuzhiyun 131*4882a593Smuzhiyun #undef CONFIG_BOOTCOMMAND 132*4882a593Smuzhiyun #define CONFIG_BOOTCOMMAND "run distro_bootcmd || run legacy_bootcmd" 133*4882a593Smuzhiyun 134*4882a593Smuzhiyun #endif /* __PIC32MZDASK_CONFIG_H */ 135