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 #define CFG_MXC_UART_BASE UART5_IPS_BASE_ADDR 14 15 /* MMC Config */ 16 #define CFG_SYS_FSL_ESDHC_ADDR 0 17 18 #define CFG_DFU_ENV_SETTINGS \ 19 "dfu_alt_info=" \ 20 "spl raw 0x2 0x400;" \ 21 "u-boot raw 0x8a 0x1000;" \ 22 "/boot/zImage ext4 0 1;" \ 23 "/boot/imx7d-pico-hobbit.dtb ext4 0 1;" \ 24 "/boot/imx7d-pico-pi.dtb ext4 0 1;" \ 25 "rootfs part 0 1\0" \ 26 27 /* When booting with FIT specify the node entry containing boot.scr */ 28 #if defined(CONFIG_FIT) 29 #define PICO_BOOT_ENV \ 30 BOOTENV \ 31 "fdtovaddr=0x83100000\0" \ 32 "scriptaddr=0x83200000\0" \ 33 "mmcargs=setenv bootargs console=${console},${baudrate} " \ 34 "rootwait rw\0" \ 35 "boot_a_script=" \ 36 "load ${devtype} ${devnum}:${distro_bootpart} " \ 37 "${scriptaddr} ${prefix}${script}; " \ 38 "iminfo ${scriptaddr};" \ 39 "if test $? -eq 1; then hab_failsafe; fi;" \ 40 "source ${scriptaddr}:bootscr\0" 41 #else 42 #define PICO_BOOT_ENV \ 43 "bootmenu_0=Boot using PICO-Hobbit baseboard=" \ 44 "setenv fdtfile imx7d-pico-hobbit.dtb\0" \ 45 "bootmenu_1=Boot using PICO-Dwarf baseboard=" \ 46 "setenv fdtfile imx7d-pico-dwarf.dtb\0" \ 47 "bootmenu_2=Boot using PICO-Nymph baseboard=" \ 48 "setenv fdtfile imx7d-pico-nymph.dtb\0" \ 49 "bootmenu_3=Boot using PICO-Pi baseboard=" \ 50 "setenv fdtfile imx7d-pico-pi.dtb\0" \ 51 BOOTENV 52 #endif 53 54 #define CFG_EXTRA_ENV_SETTINGS \ 55 "image=zImage\0" \ 56 "splashpos=m,m\0" \ 57 "splashimage=" __stringify(CONFIG_SYS_LOAD_ADDR) "\0" \ 58 "console=ttymxc4\0" \ 59 "fdt_high=0xffffffff\0" \ 60 "initrd_high=0xffffffff\0" \ 61 "fdtfile=" CONFIG_DEFAULT_FDT_FILE "\0" \ 62 "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" \ 63 "fdt_addr=0x83000000\0" \ 64 "fdt_addr_r=0x83000000\0" \ 65 "kernel_addr_r=" __stringify(CONFIG_SYS_LOAD_ADDR) "\0" \ 66 "pxefile_addr_r=" __stringify(CONFIG_SYS_LOAD_ADDR) "\0" \ 67 "ramdisk_addr_r=0x83000000\0" \ 68 "ramdiskaddr=0x83000000\0" \ 69 "scriptaddr=" __stringify(CONFIG_SYS_LOAD_ADDR) "\0" \ 70 CFG_DFU_ENV_SETTINGS \ 71 "findfdt=" \ 72 "if test $fdtfile = ask ; then " \ 73 "bootmenu -1; fi;" \ 74 "if test $fdtfile != ask ; then " \ 75 "saveenv; fi;\0" \ 76 "finduuid=part uuid mmc 0:1 uuid\0" \ 77 "partitions=" \ 78 "uuid_disk=${uuid_gpt_disk};" \ 79 "name=rootfs,size=0,uuid=${uuid_gpt_rootfs}\0" \ 80 "fastboot_partition_alias_system=rootfs\0" \ 81 "setup_emmc=mmc dev 0; gpt write mmc 0 $partitions; reset;\0" \ 82 PICO_BOOT_ENV 83 84 #define BOOT_TARGET_DEVICES(func) \ 85 func(MMC, mmc, 0) \ 86 func(USB, usb, 0) \ 87 func(PXE, pxe, na) \ 88 func(DHCP, dhcp, na) 89 90 #include <config_distro_bootcmd.h> 91 #include <linux/stringify.h> 92 93 /* Physical Memory Map */ 94 #define PHYS_SDRAM MMDC0_ARB_BASE_ADDR 95 96 #define CFG_SYS_SDRAM_BASE PHYS_SDRAM 97 #define CFG_SYS_INIT_RAM_ADDR IRAM_BASE_ADDR 98 #define CFG_SYS_INIT_RAM_SIZE IRAM_SIZE 99 100 /* FLASH and environment organization */ 101 102 /* Environment starts at 768k = 768 * 1024 = 786432 */ 103 104 #define CFG_SYS_FSL_USDHC_NUM 2 105 106 /* USB Configs */ 107 #define CFG_MXC_USB_PORTSC (PORT_PTS_UTMI | PORT_PTS_PTW) 108 #define CFG_MXC_USB_FLAGS 0 109 110 #endif 111