blob: fd8962e9f7518414280ff238752f279adea39b62 [file] [log] [blame]
Tom Rini83d290c2018-05-06 17:58:06 -04001/* SPDX-License-Identifier: GPL-2.0+ */
Vanessa Maegima1541d7a2017-05-08 13:17:28 -03002/*
3 * Copyright (C) 2017 NXP Semiconductors
4 *
5 * Configuration settings for the i.MX7D Pico board.
Vanessa Maegima1541d7a2017-05-08 13:17:28 -03006 */
7
8#ifndef __PICO_IMX7D_CONFIG_H
9#define __PICO_IMX7D_CONFIG_H
10
11#include "mx7_common.h"
12
Tom Rini4db38662022-12-04 10:04:55 -050013#define CFG_MXC_UART_BASE UART5_IPS_BASE_ADDR
Vanessa Maegima1541d7a2017-05-08 13:17:28 -030014
Vanessa Maegima1541d7a2017-05-08 13:17:28 -030015/* MMC Config */
Tom Rini6cc04542022-10-28 20:27:13 -040016#define CFG_SYS_FSL_ESDHC_ADDR 0
Vanessa Maegima1541d7a2017-05-08 13:17:28 -030017
Tom Rinib8089c62022-12-04 10:03:38 -050018#define CFG_DFU_ENV_SETTINGS \
Fabio Berton1e646422018-06-29 15:19:12 -030019 "dfu_alt_info=" \
Otavio Salvador6899b042018-09-28 11:22:36 -030020 "spl raw 0x2 0x400;" \
Joris Offougaef679d62019-04-04 14:00:56 +020021 "u-boot raw 0x8a 0x1000;" \
Otavio Salvador0676b692018-06-29 15:19:09 -030022 "/boot/zImage ext4 0 1;" \
Otavio Salvador130f03a2018-09-14 15:53:35 -030023 "/boot/imx7d-pico-hobbit.dtb ext4 0 1;" \
Otavio Salvador0676b692018-06-29 15:19:09 -030024 "/boot/imx7d-pico-pi.dtb ext4 0 1;" \
25 "rootfs part 0 1\0" \
26
Jun Niea1513f22019-05-08 14:38:33 +080027/* When booting with FIT specify the node entry containing boot.scr */
28#if defined(CONFIG_FIT)
29#define PICO_BOOT_ENV \
Jun Nie7cc7c1e2019-07-16 15:42:57 +080030 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"
Jun Niea1513f22019-05-08 14:38:33 +080041#else
42#define PICO_BOOT_ENV \
Otavio Salvador130f03a2018-09-14 15:53:35 -030043 "bootmenu_0=Boot using PICO-Hobbit baseboard=" \
44 "setenv fdtfile imx7d-pico-hobbit.dtb\0" \
Otavio Salvadore82e2922019-04-11 09:17:48 -030045 "bootmenu_1=Boot using PICO-Dwarf baseboard=" \
46 "setenv fdtfile imx7d-pico-dwarf.dtb\0" \
Otavio Salvador34ac9942019-04-11 09:19:42 -030047 "bootmenu_2=Boot using PICO-Nymph baseboard=" \
48 "setenv fdtfile imx7d-pico-nymph.dtb\0" \
49 "bootmenu_3=Boot using PICO-Pi baseboard=" \
Otavio Salvador22dda6b2018-06-29 15:19:13 -030050 "setenv fdtfile imx7d-pico-pi.dtb\0" \
Jun Niea1513f22019-05-08 14:38:33 +080051 BOOTENV
52#endif
53
Tom Rini0613c362022-12-04 10:03:50 -050054#define CFG_EXTRA_ENV_SETTINGS \
Vanessa Maegima1541d7a2017-05-08 13:17:28 -030055 "image=zImage\0" \
Fabio Estevam9e3c0172018-12-11 16:40:38 -020056 "splashpos=m,m\0" \
Tom Rini72d81362021-08-23 10:25:30 -040057 "splashimage=" __stringify(CONFIG_SYS_LOAD_ADDR) "\0" \
Vanessa Maegima1541d7a2017-05-08 13:17:28 -030058 "console=ttymxc4\0" \
59 "fdt_high=0xffffffff\0" \
60 "initrd_high=0xffffffff\0" \
Otavio Salvador4f966702018-06-29 15:19:17 -030061 "fdtfile=" CONFIG_DEFAULT_FDT_FILE "\0" \
Fabio Estevam9e3c0172018-12-11 16:40:38 -020062 "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" \
Vanessa Maegima1541d7a2017-05-08 13:17:28 -030063 "fdt_addr=0x83000000\0" \
Fabio Estevam7bbce212018-06-29 15:19:06 -030064 "fdt_addr_r=0x83000000\0" \
Tom Rini72d81362021-08-23 10:25:30 -040065 "kernel_addr_r=" __stringify(CONFIG_SYS_LOAD_ADDR) "\0" \
66 "pxefile_addr_r=" __stringify(CONFIG_SYS_LOAD_ADDR) "\0" \
Fabio Estevam7bbce212018-06-29 15:19:06 -030067 "ramdisk_addr_r=0x83000000\0" \
68 "ramdiskaddr=0x83000000\0" \
Tom Rini72d81362021-08-23 10:25:30 -040069 "scriptaddr=" __stringify(CONFIG_SYS_LOAD_ADDR) "\0" \
Tom Rinib8089c62022-12-04 10:03:38 -050070 CFG_DFU_ENV_SETTINGS \
Otavio Salvador22dda6b2018-06-29 15:19:13 -030071 "findfdt=" \
72 "if test $fdtfile = ask ; then " \
73 "bootmenu -1; fi;" \
74 "if test $fdtfile != ask ; then " \
75 "saveenv; fi;\0" \
Otavio Salvador79859872018-06-29 15:19:07 -030076 "finduuid=part uuid mmc 0:1 uuid\0" \
Otavio Salvador4242de42018-06-29 15:19:08 -030077 "partitions=" \
78 "uuid_disk=${uuid_gpt_disk};" \
79 "name=rootfs,size=0,uuid=${uuid_gpt_rootfs}\0" \
Fabio Estevam3fbbfed2018-06-29 15:19:10 -030080 "fastboot_partition_alias_system=rootfs\0" \
Otavio Salvador4242de42018-06-29 15:19:08 -030081 "setup_emmc=mmc dev 0; gpt write mmc 0 $partitions; reset;\0" \
Jun Niea1513f22019-05-08 14:38:33 +080082 PICO_BOOT_ENV
83
Fabio Estevam7bbce212018-06-29 15:19:06 -030084#define BOOT_TARGET_DEVICES(func) \
85 func(MMC, mmc, 0) \
Otavio Salvadorc066d3c2018-09-28 11:22:37 -030086 func(USB, usb, 0) \
87 func(PXE, pxe, na) \
Fabio Estevam7bbce212018-06-29 15:19:06 -030088 func(DHCP, dhcp, na)
89
90#include <config_distro_bootcmd.h>
Simon Glass1af3c7f2020-05-10 11:40:09 -060091#include <linux/stringify.h>
Vanessa Maegima1541d7a2017-05-08 13:17:28 -030092
Vanessa Maegima1541d7a2017-05-08 13:17:28 -030093/* Physical Memory Map */
Vanessa Maegima1541d7a2017-05-08 13:17:28 -030094#define PHYS_SDRAM MMDC0_ARB_BASE_ADDR
95
Tom Riniaa6e94d2022-11-16 13:10:37 -050096#define CFG_SYS_SDRAM_BASE PHYS_SDRAM
Tom Rini65cc0e22022-11-16 13:10:41 -050097#define CFG_SYS_INIT_RAM_ADDR IRAM_BASE_ADDR
98#define CFG_SYS_INIT_RAM_SIZE IRAM_SIZE
Vanessa Maegima1541d7a2017-05-08 13:17:28 -030099
Vanessa Maegima1541d7a2017-05-08 13:17:28 -0300100/* PMIC */
Vanessa Maegima1541d7a2017-05-08 13:17:28 -0300101#define CONFIG_POWER_PFUZE3000_I2C_ADDR 0x08
102
103/* FLASH and environment organization */
Vanessa Maegima1541d7a2017-05-08 13:17:28 -0300104
Fabio Estevam57d2beb2018-11-30 12:52:13 -0200105/* Environment starts at 768k = 768 * 1024 = 786432 */
Fabio Estevam57d2beb2018-11-30 12:52:13 -0200106
Tom Rini6cc04542022-10-28 20:27:13 -0400107#define CFG_SYS_FSL_USDHC_NUM 2
Vanessa Maegima1541d7a2017-05-08 13:17:28 -0300108
Vanessa Maegima1541d7a2017-05-08 13:17:28 -0300109/* USB Configs */
Tom Rinidd11fdc2022-12-04 10:04:56 -0500110#define CFG_MXC_USB_PORTSC (PORT_PTS_UTMI | PORT_PTS_PTW)
111#define CFG_MXC_USB_FLAGS 0
Vanessa Maegima1541d7a2017-05-08 13:17:28 -0300112
Vanessa Maegima1541d7a2017-05-08 13:17:28 -0300113#endif