1 /* 2 * Copyright (C) 2011 3 * Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net> 4 * 5 * Based on Kirkwood support: 6 * (C) Copyright 2009 7 * Marvell Semiconductor <www.marvell.com> 8 * Written-by: Prafulla Wadaskar <prafulla@marvell.com> 9 * 10 * SPDX-License-Identifier: GPL-2.0+ 11 */ 12 13 #ifndef _CONFIG_DNS325_H 14 #define _CONFIG_DNS325_H 15 16 /* 17 * Machine number definition 18 */ 19 #define MACH_TYPE_DNS325 3800 20 #define CONFIG_MACH_TYPE MACH_TYPE_DNS325 21 #define CONFIG_IDENT_STRING "\nD-Link DNS-325" 22 23 /* 24 * High Level Configuration Options (easy to change) 25 */ 26 #define CONFIG_FEROCEON_88FR131 /* CPU Core subversion */ 27 #define CONFIG_KW88F6281 /* SOC Name */ 28 #define CONFIG_SKIP_LOWLEVEL_INIT /* disable board lowlevel_init */ 29 30 /* 31 * Commands configuration 32 */ 33 #define CONFIG_SYS_NO_FLASH /* Declare no flash (NOR/SPI) */ 34 #define CONFIG_CMD_DHCP 35 #define CONFIG_CMD_ENV 36 #define CONFIG_CMD_NAND 37 #define CONFIG_CMD_PING 38 #define CONFIG_CMD_USB 39 #define CONFIG_CMD_IDE 40 #define CONFIG_CMD_DATE 41 #define CONFIG_SYS_MVFS 42 43 #define CONFIG_NR_DRAM_BANKS 1 44 45 /* 46 * mv-common.h should be defined after CMD configs since it used them 47 * to enable certain macros 48 */ 49 #include "mv-common.h" 50 51 /* Remove or override few declarations from mv-common.h */ 52 #undef CONFIG_SYS_PROMPT 53 54 /* 55 * Ethernet Driver configuration 56 */ 57 #ifdef CONFIG_CMD_NET 58 #define CONFIG_MVGBE_PORTS {1, 0} /* enable port 0 only */ 59 #define CONFIG_NETCONSOLE 60 #endif 61 62 /* 63 * SATA Driver configuration 64 */ 65 #ifdef CONFIG_MVSATA_IDE 66 #define CONFIG_SYS_ATA_IDE0_OFFSET MV_SATA_PORT0_OFFSET 67 #define CONFIG_SYS_ATA_IDE1_OFFSET MV_SATA_PORT1_OFFSET 68 #endif 69 70 /* 71 * RTC driver configuration 72 */ 73 #ifdef CONFIG_CMD_DATE 74 #define CONFIG_RTC_MV 75 #endif 76 77 /* 78 * Enable GPI0 support 79 */ 80 #define CONFIG_KIRKWOOD_GPIO 81 82 /* 83 * Use the HUSH parser 84 */ 85 #define CONFIG_SYS_HUSH_PARSER 86 87 /* 88 * Console configuration 89 */ 90 #define CONFIG_CONSOLE_MUX 91 #define CONFIG_SYS_CONSOLE_IS_IN_ENV 92 93 /* 94 * Enable device tree support 95 */ 96 #define CONFIG_OF_LIBFDT 97 98 /* 99 * Display cpu info at boot 100 */ 101 #define CONFIG_DISPLAY_CPUINFO 102 103 /* 104 * Environment variables configurations 105 */ 106 #ifdef CONFIG_CMD_NAND 107 #define CONFIG_ENV_IS_IN_NAND 108 #define CONFIG_ENV_SECT_SIZE 0x20000 /* 128KB */ 109 #else 110 #define CONFIG_ENV_IS_NOWHERE 111 #endif 112 113 #define CONFIG_ENV_SIZE 0x20000 /* 128KB */ 114 #define CONFIG_ENV_ADDR 0xe0000 115 #define CONFIG_ENV_OFFSET 0xe0000 /* env starts here */ 116 117 /* 118 * Default environment variables 119 */ 120 #define MTDIDS_DEFAULT "nand0=orion_nand" 121 122 #define MTDPARTS_DEFAULT "mtdparts=orion_nand:" \ 123 "896k(u-boot),128k(u-boot-env),5m(kernel),-(rootfs)\0" 124 125 #define CONFIG_EXTRA_ENV_SETTINGS \ 126 "stdin=serial\0" \ 127 "stdout=serial\0" \ 128 "stderr=serial\0" \ 129 "loadaddr=0x800000\0" \ 130 "autoload=no\0" \ 131 "console=ttyS0,115200\0" \ 132 "mtdparts="MTDPARTS_DEFAULT \ 133 "optargs=\0" \ 134 "bootenv=uEnv.txt\0" \ 135 "importbootenv=echo Importing environment ...; " \ 136 "env import -t ${loadaddr} ${filesize}\0" \ 137 "loadbootenv=fatload usb 0 ${loadaddr} ${bootenv}\0" \ 138 "setbootargs=setenv bootargs console=${console} " \ 139 "${optargs} " \ 140 "${mtdparts} " \ 141 "root=${bootenvroot} " \ 142 "rootfstype=${bootenvrootfstype}\0" \ 143 "subbootcmd=run setbootargs; " \ 144 "if run bootenvloadimage; then " \ 145 "bootm ${loadaddr};" \ 146 "fi;\0" \ 147 "nandroot=ubi0:rootfs ubi.mtd=rootfs\0" \ 148 "nandrootfstype=ubifs\0" \ 149 "nandloadimage=nand read ${loadaddr} kernel\0" \ 150 "setnandbootenv=echo Booting from nand ...; " \ 151 "setenv bootenvroot ${nandroot}; " \ 152 "setenv bootenvrootfstype ${nandrootfstype}; " \ 153 "setenv bootenvloadimage ${nandloadimage}\0" 154 155 #define CONFIG_BOOTCOMMAND \ 156 "if test -n ${bootenv} && usb start; then " \ 157 "if run loadbootenv; then " \ 158 "echo Loaded environment ${bootenv} from usb;" \ 159 "run importbootenv;" \ 160 "fi;" \ 161 "if test -n ${bootenvcmd}; then " \ 162 "echo Running bootenvcmd ...;" \ 163 "run bootenvcmd;" \ 164 "fi;" \ 165 "fi;" \ 166 "run setnandbootenv subbootcmd;" 167 168 #endif /* _CONFIG_DNS325_H */ 169