]>
Commit | Line | Data |
---|---|---|
83d290c5 | 1 | /* SPDX-License-Identifier: GPL-2.0+ */ |
1541d7a6 VM |
2 | /* |
3 | * Copyright (C) 2017 NXP Semiconductors | |
4 | * | |
5 | * Configuration settings for the i.MX7D Pico board. | |
1541d7a6 VM |
6 | */ |
7 | ||
8 | #ifndef __PICO_IMX7D_CONFIG_H | |
9 | #define __PICO_IMX7D_CONFIG_H | |
10 | ||
11 | #include "mx7_common.h" | |
12 | ||
d5b7177f | 13 | #include "imx7_spl.h" |
1541d7a6 | 14 | |
78d30a1b FE |
15 | #ifdef CONFIG_SPL_OS_BOOT |
16 | /* Falcon Mode */ | |
17 | #define CONFIG_SPL_FS_LOAD_ARGS_NAME "args" | |
18 | #define CONFIG_SPL_FS_LOAD_KERNEL_NAME "uImage" | |
19 | #define CONFIG_SYS_SPL_ARGS_ADDR 0x88000000 | |
20 | ||
21 | /* Falcon Mode - MMC support: args@1MB kernel@2MB */ | |
22 | #define CONFIG_SYS_MMCSD_RAW_MODE_ARGS_SECTOR 0x800 /* 1MB */ | |
23 | #define CONFIG_SYS_MMCSD_RAW_MODE_ARGS_SECTORS (CONFIG_CMD_SPL_WRITE_SIZE / 512) | |
24 | #define CONFIG_SYS_MMCSD_RAW_MODE_KERNEL_SECTOR 0x1000 /* 2MB */ | |
25 | #endif | |
26 | ||
1541d7a6 VM |
27 | /* Size of malloc() pool */ |
28 | #define CONFIG_SYS_MALLOC_LEN (32 * SZ_1M) | |
29 | ||
30 | #define CONFIG_MXC_UART_BASE UART5_IPS_BASE_ADDR | |
31 | ||
1541d7a6 VM |
32 | /* MMC Config */ |
33 | #define CONFIG_SYS_FSL_ESDHC_ADDR 0 | |
34 | ||
0676b694 | 35 | #define CONFIG_DFU_ENV_SETTINGS \ |
1e646426 | 36 | "dfu_alt_info=" \ |
6899b04c | 37 | "spl raw 0x2 0x400;" \ |
ef679d6e | 38 | "u-boot raw 0x8a 0x1000;" \ |
0676b694 | 39 | "/boot/zImage ext4 0 1;" \ |
130f03a7 | 40 | "/boot/imx7d-pico-hobbit.dtb ext4 0 1;" \ |
0676b694 OS |
41 | "/boot/imx7d-pico-pi.dtb ext4 0 1;" \ |
42 | "rootfs part 0 1\0" \ | |
43 | ||
a1513f28 JN |
44 | /* When booting with FIT specify the node entry containing boot.scr */ |
45 | #if defined(CONFIG_FIT) | |
46 | #define PICO_BOOT_ENV \ | |
7cc7c1e9 JN |
47 | BOOTENV \ |
48 | "fdtovaddr=0x83100000\0" \ | |
49 | "scriptaddr=0x83200000\0" \ | |
50 | "mmcargs=setenv bootargs console=${console},${baudrate} " \ | |
51 | "rootwait rw\0" \ | |
52 | "boot_a_script=" \ | |
53 | "load ${devtype} ${devnum}:${distro_bootpart} " \ | |
54 | "${scriptaddr} ${prefix}${script}; " \ | |
55 | "iminfo ${scriptaddr};" \ | |
56 | "if test $? -eq 1; then hab_failsafe; fi;" \ | |
57 | "source ${scriptaddr}:bootscr\0" | |
a1513f28 JN |
58 | #else |
59 | #define PICO_BOOT_ENV \ | |
130f03a7 OS |
60 | "bootmenu_0=Boot using PICO-Hobbit baseboard=" \ |
61 | "setenv fdtfile imx7d-pico-hobbit.dtb\0" \ | |
e82e2927 OS |
62 | "bootmenu_1=Boot using PICO-Dwarf baseboard=" \ |
63 | "setenv fdtfile imx7d-pico-dwarf.dtb\0" \ | |
34ac9942 OS |
64 | "bootmenu_2=Boot using PICO-Nymph baseboard=" \ |
65 | "setenv fdtfile imx7d-pico-nymph.dtb\0" \ | |
66 | "bootmenu_3=Boot using PICO-Pi baseboard=" \ | |
22dda6bd | 67 | "setenv fdtfile imx7d-pico-pi.dtb\0" \ |
a1513f28 JN |
68 | BOOTENV |
69 | #endif | |
70 | ||
22dda6bd | 71 | |
1541d7a6 VM |
72 | #define CONFIG_SYS_MMC_IMG_LOAD_PART 1 |
73 | ||
74 | #define CONFIG_EXTRA_ENV_SETTINGS \ | |
1541d7a6 | 75 | "image=zImage\0" \ |
9e3c0174 | 76 | "splashpos=m,m\0" \ |
f730fdf9 | 77 | "splashimage=" __stringify(CONFIG_LOADADDR) "\0" \ |
1541d7a6 VM |
78 | "console=ttymxc4\0" \ |
79 | "fdt_high=0xffffffff\0" \ | |
80 | "initrd_high=0xffffffff\0" \ | |
4f966701 | 81 | "fdtfile=" CONFIG_DEFAULT_FDT_FILE "\0" \ |
9e3c0174 | 82 | "videomode=video=ctfb:x:800,y:480,depth:24,mode:0,pclk:30000,le:46,ri:210,up:22,lo:23,hs:20,vs:10,sync:0,vmode:0\0" \ |
1541d7a6 | 83 | "fdt_addr=0x83000000\0" \ |
7bbce215 FE |
84 | "fdt_addr_r=0x83000000\0" \ |
85 | "kernel_addr_r=" __stringify(CONFIG_LOADADDR) "\0" \ | |
86 | "pxefile_addr_r=" __stringify(CONFIG_LOADADDR) "\0" \ | |
87 | "ramdisk_addr_r=0x83000000\0" \ | |
88 | "ramdiskaddr=0x83000000\0" \ | |
89 | "scriptaddr=" __stringify(CONFIG_LOADADDR) "\0" \ | |
0676b694 | 90 | CONFIG_DFU_ENV_SETTINGS \ |
22dda6bd OS |
91 | "findfdt=" \ |
92 | "if test $fdtfile = ask ; then " \ | |
93 | "bootmenu -1; fi;" \ | |
94 | "if test $fdtfile != ask ; then " \ | |
95 | "saveenv; fi;\0" \ | |
7985987d | 96 | "finduuid=part uuid mmc 0:1 uuid\0" \ |
4242de43 OS |
97 | "partitions=" \ |
98 | "uuid_disk=${uuid_gpt_disk};" \ | |
99 | "name=rootfs,size=0,uuid=${uuid_gpt_rootfs}\0" \ | |
3fbbfed7 | 100 | "fastboot_partition_alias_system=rootfs\0" \ |
4242de43 | 101 | "setup_emmc=mmc dev 0; gpt write mmc 0 $partitions; reset;\0" \ |
a1513f28 JN |
102 | PICO_BOOT_ENV |
103 | ||
7bbce215 FE |
104 | #define BOOT_TARGET_DEVICES(func) \ |
105 | func(MMC, mmc, 0) \ | |
c066d3cb OS |
106 | func(USB, usb, 0) \ |
107 | func(PXE, pxe, na) \ | |
7bbce215 FE |
108 | func(DHCP, dhcp, na) |
109 | ||
110 | #include <config_distro_bootcmd.h> | |
1541d7a6 | 111 | |
1541d7a6 VM |
112 | #define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR |
113 | #define CONFIG_SYS_HZ 1000 | |
114 | ||
115 | /* Physical Memory Map */ | |
1541d7a6 VM |
116 | #define PHYS_SDRAM MMDC0_ARB_BASE_ADDR |
117 | ||
118 | #define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM | |
119 | #define CONFIG_SYS_INIT_RAM_ADDR IRAM_BASE_ADDR | |
120 | #define CONFIG_SYS_INIT_RAM_SIZE IRAM_SIZE | |
121 | ||
122 | #define CONFIG_SYS_INIT_SP_OFFSET \ | |
123 | (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE) | |
124 | #define CONFIG_SYS_INIT_SP_ADDR \ | |
125 | (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET) | |
126 | ||
127 | /* I2C configs */ | |
128 | #define CONFIG_SYS_I2C | |
129 | #define CONFIG_SYS_I2C_MXC | |
130 | #define CONFIG_SYS_I2C_MXC_I2C1 | |
131 | #define CONFIG_SYS_I2C_MXC_I2C2 | |
132 | #define CONFIG_SYS_I2C_MXC_I2C3 | |
133 | #define CONFIG_SYS_I2C_MXC_I2C4 | |
134 | #define CONFIG_SYS_I2C_SPEED 100000 | |
135 | ||
136 | /* PMIC */ | |
137 | #define CONFIG_POWER | |
138 | #define CONFIG_POWER_I2C | |
139 | #define CONFIG_POWER_PFUZE3000 | |
140 | #define CONFIG_POWER_PFUZE3000_I2C_ADDR 0x08 | |
141 | ||
d89f0a88 | 142 | #ifdef CONFIG_DM_VIDEO |
9e3c0174 FE |
143 | #define CONFIG_VIDEO_MXS |
144 | #define CONFIG_VIDEO_LOGO | |
145 | #define CONFIG_SPLASH_SCREEN | |
146 | #define CONFIG_SPLASH_SCREEN_ALIGN | |
147 | #define CONFIG_BMP_16BPP | |
148 | #define CONFIG_VIDEO_BMP_RLE8 | |
149 | #define CONFIG_VIDEO_BMP_LOGO | |
150 | #endif | |
151 | ||
1541d7a6 | 152 | /* FLASH and environment organization */ |
1541d7a6 | 153 | |
57d2beb9 | 154 | /* Environment starts at 768k = 768 * 1024 = 786432 */ |
57d2beb9 FE |
155 | /* |
156 | * Detect overlap between U-Boot image and environment area in build-time | |
157 | * | |
158 | * CONFIG_BOARD_SIZE_LIMIT = CONFIG_ENV_OFFSET - u-boot.img offset | |
159 | * CONFIG_BOARD_SIZE_LIMIT = 768k - 69k = 699k = 715776 | |
160 | * | |
161 | * Currently CONFIG_BOARD_SIZE_LIMIT does not handle expressions, so | |
162 | * write the direct value here | |
163 | */ | |
164 | #define CONFIG_BOARD_SIZE_LIMIT 715776 | |
165 | ||
1541d7a6 VM |
166 | #define CONFIG_SYS_FSL_USDHC_NUM 2 |
167 | ||
168 | #define CONFIG_SYS_MMC_ENV_DEV 0 | |
169 | #define CONFIG_SYS_MMC_ENV_PART 0 | |
170 | ||
171 | /* USB Configs */ | |
172 | #define CONFIG_EHCI_HCD_INIT_AFTER_RESET | |
173 | #define CONFIG_MXC_USB_PORTSC (PORT_PTS_UTMI | PORT_PTS_PTW) | |
174 | #define CONFIG_MXC_USB_FLAGS 0 | |
175 | #define CONFIG_USB_MAX_CONTROLLER_COUNT 2 | |
176 | ||
177 | #define CONFIG_IMX_THERMAL | |
178 | ||
1541d7a6 | 179 | #endif |