]> git.kernelconcepts.de Git - karo-tx-uboot.git/blob - include/configs/novena.h
novena: standardise mx6_common.h include
[karo-tx-uboot.git] / include / configs / novena.h
1 /*
2  * Configuration settings for the Novena U-boot.
3  *
4  * Copyright (C) 2014 Marek Vasut <marex@denx.de>
5  *
6  * SPDX-License-Identifier:     GPL-2.0+
7  */
8
9 #ifndef __CONFIG_H
10 #define __CONFIG_H
11
12 /* System configurations */
13 #define CONFIG_BOARD_EARLY_INIT_F
14 #define CONFIG_BOARD_LATE_INIT
15 #define CONFIG_MISC_INIT_R
16 #define CONFIG_DISPLAY_BOARDINFO
17 #define CONFIG_DISPLAY_CPUINFO
18 #define CONFIG_DOS_PARTITION
19 #define CONFIG_FAT_WRITE
20 #define CONFIG_FIT
21 #define CONFIG_KEYBOARD
22 #define CONFIG_MXC_GPIO
23 #define CONFIG_OF_LIBFDT
24 #define CONFIG_SYS_GENERIC_BOARD
25 #define CONFIG_SYS_NO_FLASH
26
27 #include "mx6_common.h"
28 #include <asm/arch/imx-regs.h>
29 #include <asm/imx-common/gpio.h>
30 #include <config_cmd_default.h>
31
32 /* U-Boot Commands */
33 #define CONFIG_CMD_ASKENV
34 #define CONFIG_CMD_BMODE
35 #define CONFIG_CMD_BOOTZ
36 #define CONFIG_CMD_CACHE
37 #define CONFIG_CMD_DHCP
38 #define CONFIG_CMD_EEPROM
39 #define CONFIG_CMD_EXT4
40 #define CONFIG_CMD_EXT4_WRITE
41 #define CONFIG_CMD_FAT
42 #define CONFIG_CMD_FS_GENERIC
43 #define CONFIG_CMD_I2C
44 #define CONFIG_CMD_FUSE
45 #define CONFIG_CMD_MII
46 #define CONFIG_CMD_MMC
47 #define CONFIG_CMD_NET
48 #define CONFIG_CMD_PCI
49 #define CONFIG_CMD_PING
50 #define CONFIG_CMD_SATA
51 #define CONFIG_CMD_SETEXPR
52 #define CONFIG_CMD_TIME
53 #define CONFIG_CMD_USB
54 #define CONFIG_VIDEO
55
56 /* U-Boot general configurations */
57 #define CONFIG_SYS_LONGHELP
58 #define CONFIG_SYS_CBSIZE       1024            /* Console I/O buffer size */
59 #define CONFIG_SYS_MAXARGS      32              /* Max number of command args */
60 #define CONFIG_SYS_BARGSIZE     CONFIG_SYS_CBSIZE
61                                                 /* Boot argument buffer size */
62 #define CONFIG_VERSION_VARIABLE                 /* U-BOOT version */
63 #define CONFIG_AUTO_COMPLETE                    /* Command auto complete */
64 #define CONFIG_CMDLINE_EDITING                  /* Command history etc */
65 #define CONFIG_SYS_HUSH_PARSER
66
67 /* U-Boot environment */
68 #define CONFIG_ENV_OVERWRITE
69 #define CONFIG_ENV_SIZE                 (16 * 1024)
70 /*
71  * Environment is on MMC, starting at offset 512KiB from start of the card.
72  * Please place first partition at offset 1MiB from the start of the card
73  * as recommended by GNU/fdisk. See below for details:
74  * http://homepage.ntlworld.com./jonathan.deboynepollard/FGA/disc-partition-alignment.html
75  */
76 #ifdef CONFIG_CMD_MMC
77 #define CONFIG_ENV_IS_IN_MMC
78 #define CONFIG_SYS_MMC_ENV_DEV          0
79 #define CONFIG_ENV_OFFSET               (512 * 1024)
80 #define CONFIG_ENV_SIZE_REDUND          CONFIG_ENV_SIZE
81 #define CONFIG_ENV_OFFSET_REDUND        \
82                 (CONFIG_ENV_OFFSET + CONFIG_ENV_SIZE)
83 #else
84 #define CONFIG_ENV_IS_NOWHERE
85 #endif
86
87 /* Booting Linux */
88 #define CONFIG_BOOTDELAY                5
89 #define CONFIG_BOOTFILE                 "fitImage"
90 #define CONFIG_BOOTARGS                 "console=ttymxc1,115200 "
91 #define CONFIG_BOOTCOMMAND              "run net_nfs"
92 #define CONFIG_LOADADDR                 0x18000000
93 #define CONFIG_SYS_LOAD_ADDR            CONFIG_LOADADDR
94 #define CONFIG_HOSTNAME                 novena
95
96 /* Physical Memory Map */
97 #define CONFIG_NR_DRAM_BANKS            1
98 #define PHYS_SDRAM                      MMDC0_ARB_BASE_ADDR
99 #define PHYS_SDRAM_SIZE                 0xF0000000
100
101 #define CONFIG_SYS_SDRAM_BASE           PHYS_SDRAM
102 #define CONFIG_SYS_INIT_RAM_ADDR        IRAM_BASE_ADDR
103 #define CONFIG_SYS_INIT_RAM_SIZE        IRAM_SIZE
104
105 #define CONFIG_SYS_INIT_SP_OFFSET \
106         (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
107 #define CONFIG_SYS_INIT_SP_ADDR \
108         (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET)
109
110 #define CONFIG_SYS_MEMTEST_START        0x10000000
111 #define CONFIG_SYS_MEMTEST_END          0x20000000
112
113 #define CONFIG_SYS_MALLOC_LEN           (64 * 1024 * 1024)
114
115 /* SPL */
116 #define CONFIG_SPL_FAT_SUPPORT
117 #define CONFIG_SPL_MMC_SUPPORT
118 #include "imx6_spl.h"                   /* common IMX6 SPL configuration */
119
120 #define CONFIG_CMDLINE_TAG
121 #define CONFIG_SETUP_MEMORY_TAGS
122 #define CONFIG_INITRD_TAG
123 #define CONFIG_REVISION_TAG
124
125 /* Ethernet Configuration */
126 #ifdef CONFIG_CMD_NET
127 #define CONFIG_FEC_MXC
128 #define CONFIG_MII
129 #define IMX_FEC_BASE                    ENET_BASE_ADDR
130 #define CONFIG_FEC_XCV_TYPE             RGMII
131 #define CONFIG_ETHPRIME                 "FEC"
132 #define CONFIG_FEC_MXC_PHYADDR          0x7
133 #define CONFIG_PHYLIB
134 #define CONFIG_PHY_MICREL
135 #define CONFIG_PHY_MICREL_KSZ9021
136 #define CONFIG_ARP_TIMEOUT              200UL
137 #endif
138
139 /* I2C */
140 #define CONFIG_SYS_I2C
141 #define CONFIG_SYS_I2C_MXC
142 #define CONFIG_SYS_I2C_MXC_I2C3         /* enable I2C bus 3 */
143 #define CONFIG_I2C_MULTI_BUS
144 #define CONFIG_I2C_MXC
145 #define CONFIG_SYS_I2C_SPEED            100000
146
147 /* I2C EEPROM */
148 #ifdef CONFIG_CMD_EEPROM
149 #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN  2
150 #define CONFIG_SYS_SPD_BUS_NUM          2
151 #endif
152
153 /* MMC Configs */
154 #ifdef CONFIG_CMD_MMC
155 #define CONFIG_MMC
156 #define CONFIG_GENERIC_MMC
157 #define CONFIG_BOUNCE_BUFFER
158 #define CONFIG_FSL_ESDHC
159 #define CONFIG_FSL_USDHC
160 #define CONFIG_SYS_FSL_ESDHC_ADDR       0
161 #define CONFIG_SYS_FSL_USDHC_NUM        2
162 #endif
163
164 /* OCOTP Configs */
165 #ifdef CONFIG_CMD_FUSE
166 #define CONFIG_MXC_OCOTP
167 #endif
168
169 /* PCI express */
170 #ifdef CONFIG_CMD_PCI
171 #define CONFIG_PCI
172 #define CONFIG_PCI_PNP
173 #define CONFIG_PCI_SCAN_SHOW
174 #define CONFIG_PCIE_IMX
175 #define CONFIG_PCIE_IMX_PERST_GPIO      IMX_GPIO_NR(3, 29)
176 #define CONFIG_PCIE_IMX_POWER_GPIO      IMX_GPIO_NR(7, 12)
177 #endif
178
179 /* PMIC */
180 #define CONFIG_POWER
181 #define CONFIG_POWER_I2C
182 #define CONFIG_POWER_PFUZE100
183 #define CONFIG_POWER_PFUZE100_I2C_ADDR  0x08
184
185 /* SATA Configs */
186 #ifdef CONFIG_CMD_SATA
187 #define CONFIG_DWC_AHSATA
188 #define CONFIG_SYS_SATA_MAX_DEVICE      1
189 #define CONFIG_DWC_AHSATA_PORT_ID       0
190 #define CONFIG_DWC_AHSATA_BASE_ADDR     SATA_ARB_BASE_ADDR
191 #define CONFIG_LBA48
192 #define CONFIG_LIBATA
193 #endif
194
195 /* UART */
196 #define CONFIG_MXC_UART
197 #define CONFIG_MXC_UART_BASE            UART2_BASE
198 #define CONFIG_BAUDRATE                 115200
199 #define CONFIG_CONS_INDEX               1
200
201 /* USB Configs */
202 #ifdef CONFIG_CMD_USB
203 #define CONFIG_USB_EHCI
204 #define CONFIG_USB_EHCI_MX6
205 #define CONFIG_USB_STORAGE
206 #define CONFIG_USB_KEYBOARD
207 #define CONFIG_SYS_USB_EVENT_POLL_VIA_CONTROL_EP
208 #define CONFIG_USB_HOST_ETHER
209 #define CONFIG_USB_ETHER_ASIX
210 #define CONFIG_USB_ETHER_SMSC95XX
211 #define CONFIG_USB_MAX_CONTROLLER_COUNT 2
212 #define CONFIG_MXC_USB_PORTSC           (PORT_PTS_UTMI | PORT_PTS_PTW)
213 #define CONFIG_MXC_USB_FLAGS            0
214 /* Gadget part */
215 #define CONFIG_CI_UDC
216 #define CONFIG_USBD_HS
217 #define CONFIG_USB_GADGET_DUALSPEED
218 #define CONFIG_USB_ETHER
219 #define CONFIG_USB_ETH_CDC
220 #define CONFIG_NETCONSOLE
221 #endif
222
223 /* Video output */
224 #ifdef CONFIG_VIDEO
225 #define CONFIG_VIDEO_IPUV3
226 #define CONFIG_CFB_CONSOLE
227 #define CONFIG_VGA_AS_SINGLE_DEVICE
228 #define CONFIG_SYS_CONSOLE_IS_IN_ENV
229 #define CONFIG_VIDEO_BMP_RLE8
230 #define CONFIG_SPLASH_SCREEN
231 #define CONFIG_BMP_16BPP
232 #define CONFIG_VIDEO_LOGO
233 #define CONFIG_IPUV3_CLK                260000000
234 #define CONFIG_CMD_HDMIDETECT
235 #define CONFIG_CONSOLE_MUX
236 #define CONFIG_IMX_HDMI
237 #define CONFIG_IMX_VIDEO_SKIP
238 #endif
239
240 /* Extra U-Boot environment. */
241 #define CONFIG_EXTRA_ENV_SETTINGS                                       \
242         "fdt_high=0xffffffff\0"                                         \
243         "initrd_high=0xffffffff\0"                                      \
244         "consdev=ttymxc1\0"                                             \
245         "baudrate=115200\0"                                             \
246         "bootdev=/dev/mmcblk0p1\0"                                      \
247         "rootdev=/dev/mmcblk0p2\0"                                      \
248         "netdev=eth0\0"                                                 \
249         "kernel_addr_r=0x18000000\0"                                    \
250         "addcons="                                                      \
251                 "setenv bootargs ${bootargs} "                          \
252                 "console=${consdev},${baudrate}\0"                      \
253         "addip="                                                        \
254                 "setenv bootargs ${bootargs} "                          \
255                 "ip=${ipaddr}:${serverip}:${gatewayip}:"                \
256                         "${netmask}:${hostname}:${netdev}:off\0"        \
257         "addmisc="                                                      \
258                 "setenv bootargs ${bootargs} ${miscargs}\0"             \
259         "addargs=run addcons addmisc\0"                                 \
260         "mmcload="                                                      \
261                 "mmc rescan ; "                                         \
262                 "ext4load mmc 0:1 ${kernel_addr_r} ${bootfile}\0"       \
263         "netload="                                                      \
264                 "tftp ${kernel_addr_r} ${hostname}/${bootfile}\0"       \
265         "miscargs=nohlt panic=1\0"                                      \
266         "mmcargs=setenv bootargs root=${rootdev} rw rootwait\0"         \
267         "nfsargs="                                                      \
268                 "setenv bootargs root=/dev/nfs rw "                     \
269                         "nfsroot=${serverip}:${rootpath},v3,tcp\0"      \
270         "mmc_mmc="                                                      \
271                 "run mmcload mmcargs addargs ; "                        \
272                 "bootm ${kernel_addr_r}\0"                              \
273         "mmc_nfs="                                                      \
274                 "run mmcload nfsargs addip addargs ; "                  \
275                 "bootm ${kernel_addr_r}\0"                              \
276         "net_mmc="                                                      \
277                 "run netload mmcargs addargs ; "                        \
278                 "bootm ${kernel_addr_r}\0"                              \
279         "net_nfs="                                                      \
280                 "run netload nfsargs addip addargs ; "                  \
281                 "bootm ${kernel_addr_r}\0"                              \
282         "update_sd_spl_filename=SPL\0"                                  \
283         "update_sd_uboot_filename=u-boot.img\0"                         \
284         "update_sd_firmware="   /* Update the SD firmware partition */  \
285                 "if mmc rescan ; then "                                 \
286                 "if dhcp ${update_sd_spl_filename} ; then "             \
287                 "mmc write ${loadaddr} 2 0x200 ; "                      \
288                 "fi ; "                                                 \
289                 "if dhcp ${update_sd_uboot_filename} ; then "           \
290                 "fatwrite mmc 0:1 ${loadaddr} u-boot.img ${filesize} ; "\
291                 "fi ; "                                                 \
292                 "fi\0"                                                  \
293
294 #endif                          /* __CONFIG_H */