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