]>
Commit | Line | Data |
---|---|---|
83d290c5 | 1 | /* SPDX-License-Identifier: GPL-2.0+ */ |
a02d517b | 2 | /* |
1874cdde | 3 | * Copyright 2013-2019 Toradex, Inc. |
a02d517b MK |
4 | * |
5 | * Configuration settings for the Toradex Colibri iMX6 | |
a02d517b MK |
6 | */ |
7 | ||
8 | #ifndef __CONFIG_H | |
9 | #define __CONFIG_H | |
10 | ||
1af3c7f4 SG |
11 | #include <linux/stringify.h> |
12 | ||
a02d517b | 13 | #include "mx6_common.h" |
a02d517b MK |
14 | |
15 | #undef CONFIG_DISPLAY_BOARDINFO | |
a02d517b | 16 | |
a02d517b | 17 | #include <asm/arch/imx-regs.h> |
552a848e | 18 | #include <asm/mach-imx/gpio.h> |
a02d517b MK |
19 | |
20 | #ifdef CONFIG_SPL | |
21 | #include "imx6_spl.h" | |
a02d517b MK |
22 | #endif |
23 | ||
24 | #define CONFIG_CMDLINE_TAG | |
25 | #define CONFIG_SETUP_MEMORY_TAGS | |
26 | #define CONFIG_INITRD_TAG | |
27 | #define CONFIG_REVISION_TAG | |
28 | #define CONFIG_SERIAL_TAG | |
29 | ||
30 | /* Size of malloc() pool */ | |
31 | #define CONFIG_SYS_MALLOC_LEN (32 * 1024 * 1024) | |
32 | ||
a02d517b MK |
33 | #define CONFIG_MXC_UART_BASE UART1_BASE |
34 | ||
a02d517b | 35 | /* I2C Configs */ |
a02d517b | 36 | #define CONFIG_SYS_I2C_MXC |
6eea69bd MZ |
37 | #define CONFIG_SYS_I2C_MXC_I2C1 /* enable I2C bus 1 */ |
38 | #define CONFIG_SYS_I2C_MXC_I2C2 /* enable I2C bus 2 */ | |
39 | #define CONFIG_SYS_I2C_MXC_I2C3 /* enable I2C bus 3 */ | |
a02d517b | 40 | #define CONFIG_SYS_I2C_SPEED 100000 |
6eea69bd | 41 | #define CONFIG_SYS_MXC_I2C3_SPEED 400000 |
a02d517b | 42 | |
a02d517b | 43 | /* MMC Configs */ |
a02d517b MK |
44 | #define CONFIG_SYS_FSL_ESDHC_ADDR 0 |
45 | #define CONFIG_SYS_FSL_USDHC_NUM 2 | |
46 | ||
a02d517b MK |
47 | /* USB Configs */ |
48 | /* Host */ | |
a02d517b MK |
49 | #define CONFIG_USB_MAX_CONTROLLER_COUNT 2 |
50 | #define CONFIG_EHCI_HCD_INIT_AFTER_RESET /* For OTG port */ | |
51 | #define CONFIG_MXC_USB_PORTSC (PORT_PTS_UTMI | PORT_PTS_PTW) | |
52 | #define CONFIG_MXC_USB_FLAGS 0 | |
a02d517b | 53 | /* Client */ |
a02d517b MK |
54 | #define CONFIG_USBD_HS |
55 | ||
a02d517b | 56 | /* Framebuffer and LCD */ |
a02d517b MK |
57 | #define CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE |
58 | #define CONFIG_VIDEO_BMP_RLE8 | |
a02d517b MK |
59 | #define CONFIG_BMP_16BPP |
60 | #define CONFIG_VIDEO_LOGO | |
61 | #define CONFIG_VIDEO_BMP_LOGO | |
a02d517b MK |
62 | #define CONFIG_IMX_HDMI |
63 | #define CONFIG_IMX_VIDEO_SKIP | |
a02d517b | 64 | |
a02d517b | 65 | /* Command definition */ |
a02d517b MK |
66 | |
67 | #undef CONFIG_IPADDR | |
68 | #define CONFIG_IPADDR 192.168.10.2 | |
69 | #define CONFIG_NETMASK 255.255.255.0 | |
70 | #undef CONFIG_SERVERIP | |
71 | #define CONFIG_SERVERIP 192.168.10.1 | |
72 | ||
73 | #define CONFIG_LOADADDR 0x12000000 | |
a02d517b | 74 | |
e85a536c SA |
75 | #ifndef CONFIG_SPL_BUILD |
76 | #define BOOT_TARGET_DEVICES(func) \ | |
848ba639 | 77 | func(MMC, mmc, 0) \ |
e85a536c | 78 | func(MMC, mmc, 1) \ |
0e15165b | 79 | func(MMC, mmc, 0) \ |
e85a536c SA |
80 | func(USB, usb, 0) \ |
81 | func(DHCP, dhcp, na) | |
82 | #include <config_distro_bootcmd.h> | |
83 | #undef BOOTENV_RUN_NET_USB_START | |
84 | #define BOOTENV_RUN_NET_USB_START "" | |
84b2ee3a | 85 | #else /* CONFIG_SPL_BUILD */ |
e85a536c | 86 | #define BOOTENV |
84b2ee3a | 87 | #endif /* CONFIG_SPL_BUILD */ |
a02d517b | 88 | |
16e33d35 IO |
89 | #define UBOOT_UPDATE \ |
90 | "uboot_hwpart=1\0" \ | |
91 | "uboot_blk=8a\0" \ | |
92 | "uboot_spl_blk=2\0" \ | |
93 | "set_blkcnt=setexpr blkcnt ${filesize} + 0x1ff && " \ | |
94 | "setexpr blkcnt ${blkcnt} / 0x200\0" \ | |
95 | "update_uboot=run set_blkcnt && mmc dev 0 ${uboot_hwpart} && " \ | |
96 | "mmc write ${loadaddr} ${uboot_blk} ${blkcnt}\0" \ | |
97 | "update_spl=run set_blkcnt && mmc dev 0 ${uboot_hwpart} && " \ | |
98 | "mmc write ${loadaddr} ${uboot_spl_blk} ${blkcnt}\0" | |
99 | ||
a02d517b | 100 | #define MEM_LAYOUT_ENV_SETTINGS \ |
9af131e3 | 101 | "bootm_size=0x10000000\0" \ |
ce30382b | 102 | "fdt_addr_r=0x12100000\0" \ |
a02d517b | 103 | "kernel_addr_r=0x11000000\0" \ |
e85a536c | 104 | "pxefile_addr_r=0x17100000\0" \ |
ce30382b | 105 | "ramdisk_addr_r=0x12200000\0" \ |
e85a536c | 106 | "scriptaddr=0x17000000\0" |
a02d517b MK |
107 | |
108 | #define NFS_BOOTCMD \ | |
109 | "nfsargs=ip=:::::eth0:on root=/dev/nfs rw\0" \ | |
110 | "nfsboot=run setup; " \ | |
111 | "setenv bootargs ${defargs} ${nfsargs} ${setupargs} " \ | |
112 | "${vidargs}; echo Booting via DHCP/TFTP/NFS...; " \ | |
113 | "run nfsdtbload; dhcp ${kernel_addr_r} " \ | |
84b2ee3a | 114 | "&& run fdt_fixup && bootz ${kernel_addr_r} ${dtbparam}\0" \ |
a02d517b MK |
115 | "nfsdtbload=setenv dtbparam; tftp ${fdt_addr_r} ${fdt_file} " \ |
116 | "&& setenv dtbparam \" - ${fdt_addr_r}\" && true\0" | |
117 | ||
a02d517b MK |
118 | #define FDT_FILE "imx6dl-colibri-eval-v3.dtb" |
119 | #define CONFIG_EXTRA_ENV_SETTINGS \ | |
e85a536c | 120 | BOOTENV \ |
5d54d7ee | 121 | "bootcmd=run distro_bootcmd; " \ |
e85a536c | 122 | "usb start ; " \ |
1099b2ab AG |
123 | "setenv stdout serial,vidconsole; " \ |
124 | "setenv stdin serial,usbkbd\0" \ | |
84b2ee3a | 125 | "boot_file=zImage\0" \ |
a02d517b MK |
126 | "console=ttymxc0\0" \ |
127 | "defargs=enable_wait_mode=off galcore.contiguousSize=50331648\0" \ | |
a02d517b | 128 | "fdt_file=" FDT_FILE "\0" \ |
5d54d7ee | 129 | "fdtfile=" FDT_FILE "\0" \ |
a02d517b MK |
130 | "fdt_fixup=;\0" \ |
131 | MEM_LAYOUT_ENV_SETTINGS \ | |
132 | NFS_BOOTCMD \ | |
16e33d35 | 133 | UBOOT_UPDATE \ |
a02d517b MK |
134 | "setethupdate=if env exists ethaddr; then; else setenv ethaddr " \ |
135 | "00:14:2d:00:00:00; fi; tftpboot ${loadaddr} " \ | |
136 | "flash_eth.img && source ${loadaddr}\0" \ | |
137 | "setsdupdate=setenv interface mmc; setenv drive 1; mmc rescan; load " \ | |
138 | "${interface} ${drive}:1 ${loadaddr} flash_blk.img && " \ | |
139 | "source ${loadaddr}\0" \ | |
140 | "setup=setenv setupargs fec_mac=${ethaddr} " \ | |
141 | "consoleblank=0 no_console_suspend=1 console=tty1 " \ | |
142 | "console=${console},${baudrate}n8\0 " \ | |
143 | "setupdate=run setsdupdate || run setusbupdate || run setethupdate\0" \ | |
144 | "setusbupdate=usb start && setenv interface usb; setenv drive 0; " \ | |
145 | "load ${interface} ${drive}:1 ${loadaddr} flash_blk.img && " \ | |
146 | "source ${loadaddr}\0" \ | |
147 | "splashpos=m,m\0" \ | |
ea2458c5 | 148 | "splashimage=" __stringify(CONFIG_LOADADDR) "\0" \ |
a02d517b MK |
149 | "vidargs=video=mxcfb0:dev=lcd,640x480M@60,if=RGB666 " \ |
150 | "video=mxcfb1:off fbmem=8M\0 " | |
151 | ||
152 | /* Miscellaneous configurable options */ | |
a02d517b MK |
153 | #undef CONFIG_SYS_CBSIZE |
154 | #define CONFIG_SYS_CBSIZE 1024 | |
155 | #undef CONFIG_SYS_MAXARGS | |
156 | #define CONFIG_SYS_MAXARGS 48 | |
157 | ||
a02d517b MK |
158 | #define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR |
159 | ||
a02d517b | 160 | /* Physical Memory Map */ |
a02d517b MK |
161 | #define PHYS_SDRAM MMDC0_ARB_BASE_ADDR |
162 | ||
163 | #define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM | |
164 | #define CONFIG_SYS_INIT_RAM_ADDR IRAM_BASE_ADDR | |
165 | #define CONFIG_SYS_INIT_RAM_SIZE IRAM_SIZE | |
166 | ||
167 | #define CONFIG_SYS_INIT_SP_OFFSET \ | |
168 | (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE) | |
169 | #define CONFIG_SYS_INIT_SP_ADDR \ | |
170 | (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET) | |
171 | ||
a02d517b | 172 | #endif /* __CONFIG_H */ |