udoo_neo: Add Ethernet support
[platform/kernel/u-boot.git] / include / configs / udoo_neo.h
1 /*
2  * Copyright 2014-2015 Freescale Semiconductor, Inc.
3  * Copyright Jasbir Matharu
4  * Copyright 2015 UDOO Team
5  *
6  * Configuration settings for the UDOO NEO board.
7  *
8  * SPDX-License-Identifier:     GPL-2.0+
9  */
10
11 #ifndef __CONFIG_H
12 #define __CONFIG_H
13
14 #include <config_distro_defaults.h>
15 #include "mx6_common.h"
16
17 #include "imx6_spl.h"
18
19 /* Size of malloc() pool */
20 #define CONFIG_SYS_MALLOC_LEN           (3 * SZ_1M)
21 #define CONFIG_BOARD_EARLY_INIT_F
22 #define CONFIG_BOARD_LATE_INIT
23 #define CONFIG_MXC_UART
24
25 /* MMC Configuration */
26 #define CONFIG_SYS_FSL_ESDHC_ADDR       USDHC2_BASE_ADDR
27
28 /* Command definition */
29 #define CONFIG_MXC_UART_BASE            UART1_BASE
30 #define CONFIG_SYS_MMC_ENV_DEV          0  /*USDHC2*/
31
32 /* Linux only */
33 #define CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
34 #define CONFIG_EXTRA_ENV_SETTINGS \
35         "fdt_high=0xffffffff\0" \
36         "initrd_high=0xffffffff\0" \
37         "fdt_file=undefined\0" \
38         "fdt_addr=0x83000000\0" \
39         "ip_dyn=yes\0" \
40         "mmcdev=0\0" \
41         "mmcrootfstype=ext4\0" \
42         "findfdt="\
43                 "if test $board_name = BASIC; then " \
44                         "setenv fdt_file imx6sx-udoo-neo-basic.dtb; fi; " \
45                 "if test $board_name = BASICKS; then " \
46                         "setenv fdt_file imx6sx-udoo-neo-basic.dtb; fi; " \
47                 "if test $board_name = FULL; then " \
48                         "setenv fdt_file imx6sx-udoo-neo-full.dtb; fi; " \
49                 "if test $board_name = EXTENDED; then " \
50                         "setenv fdt_file imx6sx-udoo-neo-extended.dtb; fi; " \
51                 "if test $fdt_file = UNDEFINED; then " \
52                         "echo WARNING: Could not determine dtb to use; fi; \0" \
53         "kernel_addr_r=" __stringify(CONFIG_LOADADDR) "\0" \
54         "pxefile_addr_r=" __stringify(CONFIG_LOADADDR) "\0" \
55         "ramdisk_addr_r=0x83000000\0" \
56         "ramdiskaddr=0x83000000\0" \
57         "scriptaddr=" __stringify(CONFIG_LOADADDR) "\0" \
58         BOOTENV
59
60 #define BOOT_TARGET_DEVICES(func) \
61         func(MMC, mmc, 0) \
62         func(DHCP, dhcp, na)
63
64 #define CONFIG_BOOTCOMMAND \
65         "run findfdt; " \
66         "run distro_bootcmd"
67
68 #include <config_distro_bootcmd.h>
69
70 /* Miscellaneous configurable options */
71 #define CONFIG_SYS_MEMTEST_START        0x80000000
72 #define CONFIG_SYS_MEMTEST_END          (CONFIG_SYS_MEMTEST_START + 0x10000)
73 #define CONFIG_STACKSIZE                SZ_128K
74
75 /* Physical Memory Map */
76 #define CONFIG_NR_DRAM_BANKS            1
77 #define PHYS_SDRAM                      MMDC0_ARB_BASE_ADDR
78 #define CONFIG_SYS_SDRAM_BASE           PHYS_SDRAM
79 #define CONFIG_SYS_INIT_RAM_ADDR        IRAM_BASE_ADDR
80 #define CONFIG_SYS_INIT_RAM_SIZE        IRAM_SIZE
81
82 #define CONFIG_SYS_INIT_SP_OFFSET \
83         (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
84 #define CONFIG_SYS_INIT_SP_ADDR \
85         (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET)
86
87 /* Environment organization */
88 #define CONFIG_ENV_OFFSET               (8 * SZ_64K)
89 #define CONFIG_ENV_SIZE                 SZ_8K
90 #define CONFIG_ENV_IS_IN_MMC
91
92 #define CONFIG_IMX_THERMAL
93
94 /* I2C configs */
95 #define CONFIG_SYS_I2C
96 #define CONFIG_SYS_I2C_MXC
97 #define CONFIG_SYS_I2C_MXC_I2C1
98 #define CONFIG_SYS_I2C_SPEED            100000
99
100 /* PMIC */
101 #define CONFIG_POWER
102 #define CONFIG_POWER_I2C
103 #define CONFIG_POWER_PFUZE3000
104 #define CONFIG_POWER_PFUZE3000_I2C_ADDR 0x08
105 #define PFUZE3000_I2C_BUS       0
106
107 /* Network */
108 #define CONFIG_FEC_MXC
109 #define CONFIG_MII
110
111 #define CONFIG_FEC_ENET_DEV 0
112 #define IMX_FEC_BASE                    ENET_BASE_ADDR
113 #define CONFIG_FEC_MXC_PHYADDR          0x0
114
115 #define CONFIG_FEC_XCV_TYPE             RMII
116 #define CONFIG_ETHPRIME                 "FEC0"
117
118 #define CONFIG_PHYLIB
119 #define CONFIG_PHY_MICREL
120
121 #endif                          /* __CONFIG_H */