7fbf2c3f55fb26e34e9b6eedba034decdeae4ff4
[platform/kernel/u-boot.git] / include / configs / pico-imx7d.h
1 /* SPDX-License-Identifier: GPL-2.0+ */
2 /*
3  * Copyright (C) 2017 NXP Semiconductors
4  *
5  * Configuration settings for the i.MX7D Pico board.
6  */
7
8 #ifndef __PICO_IMX7D_CONFIG_H
9 #define __PICO_IMX7D_CONFIG_H
10
11 #include "mx7_common.h"
12
13 #include "imx7_spl.h"
14
15 #ifdef CONFIG_SPL_OS_BOOT
16 /* Falcon Mode */
17
18 /* Falcon Mode - MMC support: args@1MB kernel@2MB */
19 #endif
20
21 #define CONFIG_MXC_UART_BASE            UART5_IPS_BASE_ADDR
22
23 /* MMC Config */
24 #define CONFIG_SYS_FSL_ESDHC_ADDR       0
25
26 #define CONFIG_DFU_ENV_SETTINGS \
27         "dfu_alt_info=" \
28                 "spl raw 0x2 0x400;" \
29                 "u-boot raw 0x8a 0x1000;" \
30                 "/boot/zImage ext4 0 1;" \
31                 "/boot/imx7d-pico-hobbit.dtb ext4 0 1;" \
32                 "/boot/imx7d-pico-pi.dtb ext4 0 1;" \
33                 "rootfs part 0 1\0" \
34
35 /* When booting with FIT specify the node entry containing boot.scr */
36 #if defined(CONFIG_FIT)
37 #define PICO_BOOT_ENV \
38         BOOTENV                                                         \
39         "fdtovaddr=0x83100000\0"                                        \
40         "scriptaddr=0x83200000\0"                                       \
41         "mmcargs=setenv bootargs console=${console},${baudrate} "       \
42                 "rootwait rw\0"                                         \
43         "boot_a_script="                                                \
44                 "load ${devtype} ${devnum}:${distro_bootpart} "         \
45                         "${scriptaddr} ${prefix}${script}; "            \
46                 "iminfo ${scriptaddr};"                                 \
47                 "if test $? -eq 1; then hab_failsafe; fi;"              \
48                 "source ${scriptaddr}:bootscr\0"
49 #else
50 #define PICO_BOOT_ENV \
51         "bootmenu_0=Boot using PICO-Hobbit baseboard=" \
52                 "setenv fdtfile imx7d-pico-hobbit.dtb\0" \
53         "bootmenu_1=Boot using PICO-Dwarf baseboard=" \
54                 "setenv fdtfile imx7d-pico-dwarf.dtb\0" \
55         "bootmenu_2=Boot using PICO-Nymph baseboard=" \
56                 "setenv fdtfile imx7d-pico-nymph.dtb\0" \
57         "bootmenu_3=Boot using PICO-Pi baseboard=" \
58                 "setenv fdtfile imx7d-pico-pi.dtb\0" \
59         BOOTENV
60 #endif
61
62 #define CONFIG_EXTRA_ENV_SETTINGS \
63         "image=zImage\0" \
64         "splashpos=m,m\0" \
65         "splashimage=" __stringify(CONFIG_SYS_LOAD_ADDR) "\0" \
66         "console=ttymxc4\0" \
67         "fdt_high=0xffffffff\0" \
68         "initrd_high=0xffffffff\0" \
69         "fdtfile=" CONFIG_DEFAULT_FDT_FILE "\0" \
70         "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" \
71         "fdt_addr=0x83000000\0" \
72         "fdt_addr_r=0x83000000\0" \
73         "kernel_addr_r=" __stringify(CONFIG_SYS_LOAD_ADDR) "\0" \
74         "pxefile_addr_r=" __stringify(CONFIG_SYS_LOAD_ADDR) "\0" \
75         "ramdisk_addr_r=0x83000000\0" \
76         "ramdiskaddr=0x83000000\0" \
77         "scriptaddr=" __stringify(CONFIG_SYS_LOAD_ADDR) "\0" \
78         CONFIG_DFU_ENV_SETTINGS \
79         "findfdt=" \
80                 "if test $fdtfile = ask ; then " \
81                         "bootmenu -1; fi;" \
82                 "if test $fdtfile != ask ; then " \
83                         "saveenv; fi;\0" \
84         "finduuid=part uuid mmc 0:1 uuid\0" \
85         "partitions=" \
86                 "uuid_disk=${uuid_gpt_disk};" \
87                 "name=rootfs,size=0,uuid=${uuid_gpt_rootfs}\0" \
88         "fastboot_partition_alias_system=rootfs\0" \
89         "setup_emmc=mmc dev 0; gpt write mmc 0 $partitions; reset;\0" \
90         PICO_BOOT_ENV
91
92 #define BOOT_TARGET_DEVICES(func) \
93         func(MMC, mmc, 0) \
94         func(USB, usb, 0) \
95         func(PXE, pxe, na) \
96         func(DHCP, dhcp, na)
97
98 #include <config_distro_bootcmd.h>
99 #include <linux/stringify.h>
100
101 /* Physical Memory Map */
102 #define PHYS_SDRAM                      MMDC0_ARB_BASE_ADDR
103
104 #define CONFIG_SYS_SDRAM_BASE           PHYS_SDRAM
105 #define CONFIG_SYS_INIT_RAM_ADDR        IRAM_BASE_ADDR
106 #define CONFIG_SYS_INIT_RAM_SIZE        IRAM_SIZE
107
108 /* PMIC */
109 #define CONFIG_POWER_PFUZE3000
110 #define CONFIG_POWER_PFUZE3000_I2C_ADDR 0x08
111
112 /* FLASH and environment organization */
113
114 /* Environment starts at 768k = 768 * 1024 = 786432 */
115
116 #define CONFIG_SYS_FSL_USDHC_NUM                2
117
118 /* USB Configs */
119 #define CONFIG_MXC_USB_PORTSC                   (PORT_PTS_UTMI | PORT_PTS_PTW)
120 #define CONFIG_MXC_USB_FLAGS                    0
121
122 #endif