1/*
2 * Copyright (C) 2013, ISEE 2007 SL - http://www.isee.biz/
3 *
4 * This program is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU General Public License as
6 * published by the Free Software Foundation version 2.
7 *
8 * This program is distributed "as is" WITHOUT ANY WARRANTY of any
9 * kind, whether express or implied; without even the implied warranty
10 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11 * GNU General Public License for more details.
12 */
13
14#ifndef __CONFIG_IGEP003X_H
15#define __CONFIG_IGEP003X_H
16
17#include <configs/ti_am335x_common.h>
18
19/* Clock defines */
20#define V_OSCK				24000000  /* Clock output from T2 */
21#define V_SCLK				(V_OSCK)
22
23#define CFG_EXTRA_ENV_SETTINGS \
24	DEFAULT_LINUX_BOOT_ENV \
25	"bootdir=/boot\0" \
26	"bootfile=zImage\0" \
27	"console=ttyO0,115200n8\0" \
28	"mmcdev=0\0" \
29	"mmcroot=/dev/mmcblk0p2 rw\0" \
30	"mmcrootfstype=ext4 rootwait\0" \
31	"mmcargs=setenv bootargs console=${console} " \
32		"${optargs} " \
33		"root=${mmcroot} " \
34		"rootfstype=${mmcrootfstype}\0" \
35		"bootenv=uEnv.txt\0" \
36	"loadbootenv=load mmc ${mmcdev} ${loadaddr} ${bootenv}\0" \
37	"importbootenv=echo Importing environment from mmc ...; " \
38		"env import -t ${loadaddr} ${filesize}\0" \
39	"mmcload=load mmc ${mmcdev}:2 ${loadaddr} ${bootdir}/${bootfile}; " \
40		"load mmc ${mmcdev}:2 ${fdtaddr} ${bootdir}/${fdtfile}\0" \
41	"mmcboot=mmc dev ${mmcdev}; " \
42		"if mmc rescan; then " \
43			"echo SD/MMC found on device ${mmcdev};" \
44			"if run loadbootenv; then " \
45				"echo Loaded environment from ${bootenv};" \
46				"run importbootenv;" \
47			"fi;" \
48			"if test -n $uenvcmd; then " \
49				"echo Running uenvcmd ...;" \
50				"run uenvcmd;" \
51			"fi;" \
52			"if run mmcload; then " \
53				"run mmcargs; " \
54				"bootz ${loadaddr} - ${fdtaddr};" \
55			"fi;" \
56		"fi;\0" \
57	"nandroot=ubi0:rootfs rw ubi.mtd=1\0" \
58	"nandrootfstype=ubifs rootwait\0" \
59	"nandload=ubi part UBI; " \
60		"ubi read ${loadaddr} kernel; " \
61		"ubi read ${fdtaddr} dtb \0" \
62	"nandargs=setenv bootargs console=${console} " \
63		"${optargs} " \
64		"root=${nandroot} " \
65		"rootfstype=${nandrootfstype} \0" \
66	"nandboot=echo Booting from nand ...; " \
67		"run nandargs; " \
68		"run nandload; " \
69		"bootz ${loadaddr} - ${fdtaddr} \0" \
70	"netload=tftpboot ${loadaddr} ${bootfile}; " \
71		"tftpboot ${fdtaddr} ${fdtfile} \0" \
72	"netargs=setenv bootargs console=${console} " \
73		"${optargs} " \
74		"root=/dev/nfs " \
75		"ip=${ipaddr} nfsroot=${serverip}:${rootnfs},v3,tcp \0" \
76	"netboot=echo Booting from net ...; " \
77		"run netargs; " \
78		"run netload; " \
79		"bootz ${loadaddr} - ${fdtaddr} \0" \
80	"findfdt="\
81		"if test ${board_name} = igep0033; then " \
82			"setenv fdtfile am335x-igep-base0033.dtb; fi; " \
83		"if test ${board_name} = igep0034; then " \
84			"setenv fdtfile am335x-igep-base0040.dtb; fi; " \
85		"if test ${board_name} = igep0034-lite; then " \
86			"setenv fdtfile am335x-igep-base0040-lite.dtb; fi; " \
87		"if test ${fdtfile} = ''; then " \
88			"echo WARNING: Could not determine device tree to use; fi; \0"
89
90/* NS16550 Configuration */
91#define CFG_SYS_NS16550_COM1		0x44e09000	/* UART0 */
92
93/* Ethernet support */
94
95/* NAND support */
96
97/* NAND config */
98#define CFG_SYS_NAND_ECCPOS		{ 2, 3, 4, 5, 6, 7, 8, 9, \
99					 10, 11, 12, 13, 14, 15, 16, 17, \
100					 18, 19, 20, 21, 22, 23, 24, 25, \
101					 26, 27, 28, 29, 30, 31, 32, 33, \
102					 34, 35, 36, 37, 38, 39, 40, 41, \
103					 42, 43, 44, 45, 46, 47, 48, 49, \
104					 50, 51, 52, 53, 54, 55, 56, 57, }
105
106#define CFG_SYS_NAND_ECCSIZE		512
107#define CFG_SYS_NAND_ECCBYTES	14
108
109#endif	/* ! __CONFIG_IGEP003X_H */
110