144da3a17SPurna Chandra Mandal /* 244da3a17SPurna Chandra Mandal * (c) 2015 Purna Chandra Mandal <purna.mandal@microchip.com> 344da3a17SPurna Chandra Mandal * 444da3a17SPurna Chandra Mandal * SPDX-License-Identifier: GPL-2.0+ 544da3a17SPurna Chandra Mandal * 644da3a17SPurna Chandra Mandal * Microchip PIC32MZ[DA] Starter Kit. 744da3a17SPurna Chandra Mandal */ 844da3a17SPurna Chandra Mandal 944da3a17SPurna Chandra Mandal #ifndef __PIC32MZDASK_CONFIG_H 1044da3a17SPurna Chandra Mandal #define __PIC32MZDASK_CONFIG_H 1144da3a17SPurna Chandra Mandal 1244da3a17SPurna Chandra Mandal /* System Configuration */ 1344da3a17SPurna Chandra Mandal #define CONFIG_SYS_TEXT_BASE 0x9d004000 /* .text */ 1444da3a17SPurna Chandra Mandal #define CONFIG_DISPLAY_BOARDINFO 1544da3a17SPurna Chandra Mandal 1644da3a17SPurna Chandra Mandal /*-------------------------------------------- 1744da3a17SPurna Chandra Mandal * CPU configuration 1844da3a17SPurna Chandra Mandal */ 1944da3a17SPurna Chandra Mandal /* CPU Timer rate */ 2044da3a17SPurna Chandra Mandal #define CONFIG_SYS_MIPS_TIMER_FREQ 100000000 2144da3a17SPurna Chandra Mandal 2244da3a17SPurna Chandra Mandal /* Cache Configuration */ 2344da3a17SPurna Chandra Mandal #define CONFIG_SYS_MIPS_CACHE_MODE CONF_CM_CACHABLE_NONCOHERENT 2444da3a17SPurna Chandra Mandal 2544da3a17SPurna Chandra Mandal /*---------------------------------------------------------------------- 2644da3a17SPurna Chandra Mandal * Memory Layout 2744da3a17SPurna Chandra Mandal */ 2844da3a17SPurna Chandra Mandal #define CONFIG_SYS_SRAM_BASE 0x80000000 2944da3a17SPurna Chandra Mandal #define CONFIG_SYS_SRAM_SIZE 0x00080000 /* 512K */ 3044da3a17SPurna Chandra Mandal 3144da3a17SPurna Chandra Mandal /* Initial RAM for temporary stack, global data */ 3244da3a17SPurna Chandra Mandal #define CONFIG_SYS_INIT_RAM_SIZE 0x10000 3344da3a17SPurna Chandra Mandal #define CONFIG_SYS_INIT_RAM_ADDR \ 3444da3a17SPurna Chandra Mandal (CONFIG_SYS_SRAM_BASE + CONFIG_SYS_SRAM_SIZE - CONFIG_SYS_INIT_RAM_SIZE) 3544da3a17SPurna Chandra Mandal #define CONFIG_SYS_INIT_SP_ADDR \ 3644da3a17SPurna Chandra Mandal (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_RAM_SIZE - 1) 3744da3a17SPurna Chandra Mandal 3844da3a17SPurna Chandra Mandal /* SDRAM Configuration (for final code, data, stack, heap) */ 3944da3a17SPurna Chandra Mandal #define CONFIG_SYS_SDRAM_BASE 0x88000000 4044da3a17SPurna Chandra Mandal #define CONFIG_SYS_MALLOC_LEN (256 << 10) 4144da3a17SPurna Chandra Mandal #define CONFIG_SYS_BOOTPARAMS_LEN (4 << 10) 4244da3a17SPurna Chandra Mandal #define CONFIG_STACKSIZE (4 << 10) /* regular stack */ 4344da3a17SPurna Chandra Mandal 4444da3a17SPurna Chandra Mandal #define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE 4544da3a17SPurna Chandra Mandal #define CONFIG_SYS_MONITOR_LEN (192 << 10) 4644da3a17SPurna Chandra Mandal 4744da3a17SPurna Chandra Mandal #define CONFIG_SYS_LOAD_ADDR 0x88500000 /* default load address */ 4844da3a17SPurna Chandra Mandal #define CONFIG_SYS_ENV_ADDR 0x88300000 49*c76eb72cSPurna Chandra Mandal #define CONFIG_SYS_FDT_ADDR 0x89d00000 5044da3a17SPurna Chandra Mandal 5144da3a17SPurna Chandra Mandal /* Memory Test */ 5244da3a17SPurna Chandra Mandal #define CONFIG_SYS_MEMTEST_START 0x88000000 5344da3a17SPurna Chandra Mandal #define CONFIG_SYS_MEMTEST_END 0x88080000 5444da3a17SPurna Chandra Mandal 5544da3a17SPurna Chandra Mandal /*---------------------------------------------------------------------- 5644da3a17SPurna Chandra Mandal * Commands 5744da3a17SPurna Chandra Mandal */ 5844da3a17SPurna Chandra Mandal #define CONFIG_SYS_LONGHELP /* undef to save memory */ 5944da3a17SPurna Chandra Mandal #define CONFIG_CMD_CLK 6044da3a17SPurna Chandra Mandal 6144da3a17SPurna Chandra Mandal /*------------------------------------------------- 6244da3a17SPurna Chandra Mandal * FLASH configuration 6344da3a17SPurna Chandra Mandal */ 6444da3a17SPurna Chandra Mandal #define CONFIG_SYS_NO_FLASH 6544da3a17SPurna Chandra Mandal 6644da3a17SPurna Chandra Mandal /*------------------------------------------------------------ 6744da3a17SPurna Chandra Mandal * Console Configuration 6844da3a17SPurna Chandra Mandal */ 6944da3a17SPurna Chandra Mandal #define CONFIG_BAUDRATE 115200 7044da3a17SPurna Chandra Mandal #define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */ 7144da3a17SPurna Chandra Mandal #define CONFIG_SYS_MAXARGS 16 /* max number of command args*/ 7244da3a17SPurna Chandra Mandal #define CONFIG_SYS_PBSIZE \ 7344da3a17SPurna Chandra Mandal (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16) 7444da3a17SPurna Chandra Mandal #define CONFIG_CMDLINE_EDITING 1 7544da3a17SPurna Chandra Mandal 7644da3a17SPurna Chandra Mandal /* 7744da3a17SPurna Chandra Mandal * Handover flattened device tree (dtb file) to Linux kernel 7844da3a17SPurna Chandra Mandal */ 7944da3a17SPurna Chandra Mandal #define CONFIG_OF_LIBFDT 1 8044da3a17SPurna Chandra Mandal 81*c76eb72cSPurna Chandra Mandal /*----------------------------------------------------------------------- 82*c76eb72cSPurna Chandra Mandal * SDHC Configuration 83*c76eb72cSPurna Chandra Mandal */ 84*c76eb72cSPurna Chandra Mandal #define CONFIG_SDHCI 85*c76eb72cSPurna Chandra Mandal #define CONFIG_MMC 86*c76eb72cSPurna Chandra Mandal #define CONFIG_GENERIC_MMC 87*c76eb72cSPurna Chandra Mandal #define CONFIG_CMD_MMC 88*c76eb72cSPurna Chandra Mandal 89*c76eb72cSPurna Chandra Mandal /*----------------------------------------------------------------------- 90*c76eb72cSPurna Chandra Mandal * File System Configuration 91*c76eb72cSPurna Chandra Mandal */ 92*c76eb72cSPurna Chandra Mandal /* FAT FS */ 93*c76eb72cSPurna Chandra Mandal #define CONFIG_DOS_PARTITION 94*c76eb72cSPurna Chandra Mandal #define CONFIG_PARTITION_UUIDS 95*c76eb72cSPurna Chandra Mandal #define CONFIG_SUPPORT_VFAT 96*c76eb72cSPurna Chandra Mandal #define CONFIG_FS_FAT 97*c76eb72cSPurna Chandra Mandal #define CONFIG_FAT_WRITE 98*c76eb72cSPurna Chandra Mandal #define CONFIG_CMD_FS_GENERIC 99*c76eb72cSPurna Chandra Mandal #define CONFIG_CMD_PART 100*c76eb72cSPurna Chandra Mandal #define CONFIG_CMD_FAT 101*c76eb72cSPurna Chandra Mandal 102*c76eb72cSPurna Chandra Mandal /* EXT4 FS */ 103*c76eb72cSPurna Chandra Mandal #define CONFIG_FS_EXT4 104*c76eb72cSPurna Chandra Mandal #define CONFIG_CMD_EXT2 105*c76eb72cSPurna Chandra Mandal #define CONFIG_CMD_EXT4 106*c76eb72cSPurna Chandra Mandal #define CONFIG_CMD_EXT4_WRITE 107*c76eb72cSPurna Chandra Mandal 10844da3a17SPurna Chandra Mandal /* ------------------------------------------------- 10944da3a17SPurna Chandra Mandal * Environment 11044da3a17SPurna Chandra Mandal */ 11144da3a17SPurna Chandra Mandal #define CONFIG_ENV_IS_NOWHERE 1 11244da3a17SPurna Chandra Mandal #define CONFIG_ENV_SIZE 0x4000 11344da3a17SPurna Chandra Mandal 11444da3a17SPurna Chandra Mandal /* --------------------------------------------------------------------- 11544da3a17SPurna Chandra Mandal * Board boot configuration 11644da3a17SPurna Chandra Mandal */ 11744da3a17SPurna Chandra Mandal #define CONFIG_TIMESTAMP /* Print image info with timestamp */ 118*c76eb72cSPurna Chandra Mandal #define CONFIG_BOOTDELAY 5 119*c76eb72cSPurna Chandra Mandal 120*c76eb72cSPurna Chandra Mandal #define MEM_LAYOUT_ENV_SETTINGS \ 121*c76eb72cSPurna Chandra Mandal "kernel_addr_r="__stringify(CONFIG_SYS_LOAD_ADDR)"\0" \ 122*c76eb72cSPurna Chandra Mandal "fdt_addr_r="__stringify(CONFIG_SYS_FDT_ADDR)"\0" \ 123*c76eb72cSPurna Chandra Mandal "scriptaddr="__stringify(CONFIG_SYS_ENV_ADDR)"\0" 124*c76eb72cSPurna Chandra Mandal 125*c76eb72cSPurna Chandra Mandal #define CONFIG_LEGACY_BOOTCMD_ENV \ 126*c76eb72cSPurna Chandra Mandal "legacy_bootcmd= " \ 127*c76eb72cSPurna Chandra Mandal "if load mmc 0 ${scriptaddr} uEnv.txt; then " \ 128*c76eb72cSPurna Chandra Mandal "env import -tr ${scriptaddr} ${filesize}; " \ 129*c76eb72cSPurna Chandra Mandal "if test -n \"${bootcmd_uenv}\" ; then " \ 130*c76eb72cSPurna Chandra Mandal "echo Running bootcmd_uenv ...; " \ 131*c76eb72cSPurna Chandra Mandal "run bootcmd_uenv; " \ 132*c76eb72cSPurna Chandra Mandal "fi; " \ 133*c76eb72cSPurna Chandra Mandal "fi; \0" 134*c76eb72cSPurna Chandra Mandal 135*c76eb72cSPurna Chandra Mandal #define BOOT_TARGET_DEVICES(func) \ 136*c76eb72cSPurna Chandra Mandal func(MMC, mmc, 0) 137*c76eb72cSPurna Chandra Mandal 138*c76eb72cSPurna Chandra Mandal #include <config_distro_bootcmd.h> 139*c76eb72cSPurna Chandra Mandal 140*c76eb72cSPurna Chandra Mandal #define CONFIG_EXTRA_ENV_SETTINGS \ 141*c76eb72cSPurna Chandra Mandal MEM_LAYOUT_ENV_SETTINGS \ 142*c76eb72cSPurna Chandra Mandal CONFIG_LEGACY_BOOTCMD_ENV \ 143*c76eb72cSPurna Chandra Mandal BOOTENV 144*c76eb72cSPurna Chandra Mandal 145*c76eb72cSPurna Chandra Mandal #undef CONFIG_BOOTCOMMAND 146*c76eb72cSPurna Chandra Mandal #define CONFIG_BOOTCOMMAND "run distro_bootcmd || run legacy_bootcmd" 14744da3a17SPurna Chandra Mandal 14844da3a17SPurna Chandra Mandal #endif /* __PIC32MZDASK_CONFIG_H */ 149