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 1444da3a17SPurna Chandra Mandal /*-------------------------------------------- 1544da3a17SPurna Chandra Mandal * CPU configuration 1644da3a17SPurna Chandra Mandal */ 1744da3a17SPurna Chandra Mandal /* CPU Timer rate */ 1844da3a17SPurna Chandra Mandal #define CONFIG_SYS_MIPS_TIMER_FREQ 100000000 1944da3a17SPurna Chandra Mandal 2044da3a17SPurna Chandra Mandal /* Cache Configuration */ 2144da3a17SPurna Chandra Mandal #define CONFIG_SYS_MIPS_CACHE_MODE CONF_CM_CACHABLE_NONCOHERENT 2244da3a17SPurna Chandra Mandal 2344da3a17SPurna Chandra Mandal /*---------------------------------------------------------------------- 2444da3a17SPurna Chandra Mandal * Memory Layout 2544da3a17SPurna Chandra Mandal */ 2644da3a17SPurna Chandra Mandal #define CONFIG_SYS_SRAM_BASE 0x80000000 2744da3a17SPurna Chandra Mandal #define CONFIG_SYS_SRAM_SIZE 0x00080000 /* 512K */ 2844da3a17SPurna Chandra Mandal 2944da3a17SPurna Chandra Mandal /* Initial RAM for temporary stack, global data */ 3044da3a17SPurna Chandra Mandal #define CONFIG_SYS_INIT_RAM_SIZE 0x10000 3144da3a17SPurna Chandra Mandal #define CONFIG_SYS_INIT_RAM_ADDR \ 3244da3a17SPurna Chandra Mandal (CONFIG_SYS_SRAM_BASE + CONFIG_SYS_SRAM_SIZE - CONFIG_SYS_INIT_RAM_SIZE) 3344da3a17SPurna Chandra Mandal #define CONFIG_SYS_INIT_SP_ADDR \ 3444da3a17SPurna Chandra Mandal (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_RAM_SIZE - 1) 3544da3a17SPurna Chandra Mandal 3644da3a17SPurna Chandra Mandal /* SDRAM Configuration (for final code, data, stack, heap) */ 3744da3a17SPurna Chandra Mandal #define CONFIG_SYS_SDRAM_BASE 0x88000000 3844da3a17SPurna Chandra Mandal #define CONFIG_SYS_MALLOC_LEN (256 << 10) 3944da3a17SPurna Chandra Mandal #define CONFIG_SYS_BOOTPARAMS_LEN (4 << 10) 4044da3a17SPurna Chandra Mandal 4144da3a17SPurna Chandra Mandal #define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE 4244da3a17SPurna Chandra Mandal #define CONFIG_SYS_MONITOR_LEN (192 << 10) 4344da3a17SPurna Chandra Mandal 4444da3a17SPurna Chandra Mandal #define CONFIG_SYS_LOAD_ADDR 0x88500000 /* default load address */ 4544da3a17SPurna Chandra Mandal #define CONFIG_SYS_ENV_ADDR 0x88300000 46c76eb72cSPurna Chandra Mandal #define CONFIG_SYS_FDT_ADDR 0x89d00000 4744da3a17SPurna Chandra Mandal 4844da3a17SPurna Chandra Mandal /* Memory Test */ 4944da3a17SPurna Chandra Mandal #define CONFIG_SYS_MEMTEST_START 0x88000000 5044da3a17SPurna Chandra Mandal #define CONFIG_SYS_MEMTEST_END 0x88080000 5144da3a17SPurna Chandra Mandal 5244da3a17SPurna Chandra Mandal /*---------------------------------------------------------------------- 5344da3a17SPurna Chandra Mandal * Commands 5444da3a17SPurna Chandra Mandal */ 5544da3a17SPurna Chandra Mandal #define CONFIG_SYS_LONGHELP /* undef to save memory */ 5644da3a17SPurna Chandra Mandal 5744da3a17SPurna Chandra Mandal /*------------------------------------------------------------ 5844da3a17SPurna Chandra Mandal * Console Configuration 5944da3a17SPurna Chandra Mandal */ 6044da3a17SPurna Chandra Mandal #define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */ 6144da3a17SPurna Chandra Mandal #define CONFIG_CMDLINE_EDITING 1 6244da3a17SPurna Chandra Mandal 637d514a74SPurna Chandra Mandal /*----------------------------------------------------------------------- 647d514a74SPurna Chandra Mandal * Networking Configuration 657d514a74SPurna Chandra Mandal */ 667d514a74SPurna Chandra Mandal #define CONFIG_MII 677d514a74SPurna Chandra Mandal #define CONFIG_PHY_SMSC 687d514a74SPurna Chandra Mandal #define CONFIG_SYS_RX_ETH_BUFFER 8 697d514a74SPurna Chandra Mandal #define CONFIG_NET_RETRY_COUNT 20 707d514a74SPurna Chandra Mandal #define CONFIG_ARP_TIMEOUT 500 /* millisec */ 717d514a74SPurna Chandra Mandal 727d514a74SPurna Chandra Mandal /* 737d514a74SPurna Chandra Mandal * BOOTP options 747d514a74SPurna Chandra Mandal */ 757d514a74SPurna Chandra Mandal #define CONFIG_BOOTP_BOOTFILESIZE 767d514a74SPurna Chandra Mandal #define CONFIG_BOOTP_BOOTPATH 777d514a74SPurna Chandra Mandal #define CONFIG_BOOTP_GATEWAY 787d514a74SPurna Chandra Mandal #define CONFIG_BOOTP_HOSTNAME 797d514a74SPurna Chandra Mandal 80*ac7eef71SPurna Chandra Mandal /*-------------------------------------------------- 81*ac7eef71SPurna Chandra Mandal * USB Configuration 82*ac7eef71SPurna Chandra Mandal */ 83*ac7eef71SPurna Chandra Mandal #define CONFIG_USB_MUSB_PIO_ONLY 84*ac7eef71SPurna Chandra Mandal 85c76eb72cSPurna Chandra Mandal /*----------------------------------------------------------------------- 86c76eb72cSPurna Chandra Mandal * File System Configuration 87c76eb72cSPurna Chandra Mandal */ 88c76eb72cSPurna Chandra Mandal /* FAT FS */ 89c76eb72cSPurna Chandra Mandal #define CONFIG_SUPPORT_VFAT 90c76eb72cSPurna Chandra Mandal 91c76eb72cSPurna Chandra Mandal /* EXT4 FS */ 92c76eb72cSPurna Chandra Mandal #define CONFIG_FS_EXT4 93c76eb72cSPurna Chandra Mandal 9444da3a17SPurna Chandra Mandal /* ------------------------------------------------- 9544da3a17SPurna Chandra Mandal * Environment 9644da3a17SPurna Chandra Mandal */ 9744da3a17SPurna Chandra Mandal #define CONFIG_ENV_SIZE 0x4000 9844da3a17SPurna Chandra Mandal 9944da3a17SPurna Chandra Mandal /* --------------------------------------------------------------------- 10044da3a17SPurna Chandra Mandal * Board boot configuration 10144da3a17SPurna Chandra Mandal */ 10244da3a17SPurna Chandra Mandal #define CONFIG_TIMESTAMP /* Print image info with timestamp */ 103c76eb72cSPurna Chandra Mandal 104c76eb72cSPurna Chandra Mandal #define MEM_LAYOUT_ENV_SETTINGS \ 105c76eb72cSPurna Chandra Mandal "kernel_addr_r="__stringify(CONFIG_SYS_LOAD_ADDR)"\0" \ 106c76eb72cSPurna Chandra Mandal "fdt_addr_r="__stringify(CONFIG_SYS_FDT_ADDR)"\0" \ 107c76eb72cSPurna Chandra Mandal "scriptaddr="__stringify(CONFIG_SYS_ENV_ADDR)"\0" 108c76eb72cSPurna Chandra Mandal 109c76eb72cSPurna Chandra Mandal #define CONFIG_LEGACY_BOOTCMD_ENV \ 110c76eb72cSPurna Chandra Mandal "legacy_bootcmd= " \ 111c76eb72cSPurna Chandra Mandal "if load mmc 0 ${scriptaddr} uEnv.txt; then " \ 112c76eb72cSPurna Chandra Mandal "env import -tr ${scriptaddr} ${filesize}; " \ 113c76eb72cSPurna Chandra Mandal "if test -n \"${bootcmd_uenv}\" ; then " \ 114c76eb72cSPurna Chandra Mandal "echo Running bootcmd_uenv ...; " \ 115c76eb72cSPurna Chandra Mandal "run bootcmd_uenv; " \ 116c76eb72cSPurna Chandra Mandal "fi; " \ 117c76eb72cSPurna Chandra Mandal "fi; \0" 118c76eb72cSPurna Chandra Mandal 119c76eb72cSPurna Chandra Mandal #define BOOT_TARGET_DEVICES(func) \ 1207d514a74SPurna Chandra Mandal func(MMC, mmc, 0) \ 121*ac7eef71SPurna Chandra Mandal func(USB, usb, 0) \ 1227d514a74SPurna Chandra Mandal func(DHCP, dhcp, na) 123c76eb72cSPurna Chandra Mandal 124c76eb72cSPurna Chandra Mandal #include <config_distro_bootcmd.h> 125c76eb72cSPurna Chandra Mandal 126c76eb72cSPurna Chandra Mandal #define CONFIG_EXTRA_ENV_SETTINGS \ 127c76eb72cSPurna Chandra Mandal MEM_LAYOUT_ENV_SETTINGS \ 128c76eb72cSPurna Chandra Mandal CONFIG_LEGACY_BOOTCMD_ENV \ 129c76eb72cSPurna Chandra Mandal BOOTENV 130c76eb72cSPurna Chandra Mandal 131c76eb72cSPurna Chandra Mandal #undef CONFIG_BOOTCOMMAND 132c76eb72cSPurna Chandra Mandal #define CONFIG_BOOTCOMMAND "run distro_bootcmd || run legacy_bootcmd" 13344da3a17SPurna Chandra Mandal 13444da3a17SPurna Chandra Mandal #endif /* __PIC32MZDASK_CONFIG_H */ 135