1/* SPDX-License-Identifier: GPL-2.0+ */
2/*
3 * Copyright (C) 2015 Freescale Semiconductor, Inc.
4 *
5 * Configuration settings for the Freescale i.MX7D SABRESD board.
6 */
7
8#ifndef __MX7D_SABRESD_CONFIG_H
9#define __MX7D_SABRESD_CONFIG_H
10
11#include "mx7_common.h"
12
13#define PHYS_SDRAM_SIZE			SZ_1G
14
15#ifdef CONFIG_IMX_BOOTAUX
16
17#define UPDATE_M4_ENV \
18	"m4image=m4_qspi.bin\0" \
19	"loadm4image=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${m4image}\0" \
20	"update_m4_from_sd=" \
21		"if sf probe 0:0; then " \
22			"if run loadm4image; then " \
23				"setexpr fw_sz ${filesize} + 0xffff; " \
24				"setexpr fw_sz ${fw_sz} / 0x10000; "	\
25				"setexpr fw_sz ${fw_sz} * 0x10000; "	\
26				"sf erase 0x0 ${fw_sz}; " \
27				"sf write ${loadaddr} 0x0 ${filesize}; " \
28			"fi; " \
29		"fi\0" \
30	"m4boot=sf probe 0:0; bootaux 0x60000000\0"
31#else
32#define UPDATE_M4_ENV ""
33#endif
34
35#define CFG_MFG_ENV_SETTINGS \
36	"mfgtool_args=setenv bootargs console=${console},${baudrate} " \
37		"rdinit=/linuxrc " \
38		"g_mass_storage.stall=0 g_mass_storage.removable=1 " \
39		"g_mass_storage.idVendor=0x066F g_mass_storage.idProduct=0x37FF "\
40		"g_mass_storage.iSerialNumber=\"\" "\
41		"clk_ignore_unused "\
42		"\0" \
43	"initrd_addr=0x83800000\0" \
44	"initrd_high=0xffffffff\0" \
45	"bootcmd_mfg=run mfgtool_args;bootz ${loadaddr} ${initrd_addr} ${fdt_addr};\0" \
46
47#define CFG_DFU_ENV_SETTINGS \
48	"dfu_alt_info=image raw 0 0x800000;"\
49		"u-boot raw 0 0x4000;"\
50		"bootimg part 0 1;"\
51		"rootfs part 0 2\0" \
52
53#define CFG_EXTRA_ENV_SETTINGS \
54	UPDATE_M4_ENV \
55	CFG_MFG_ENV_SETTINGS \
56	CFG_DFU_ENV_SETTINGS \
57	"script=boot.scr\0" \
58	"image=zImage\0" \
59	"console=ttymxc0\0" \
60	"fdt_high=0xffffffff\0" \
61	"finduuid=part uuid mmc 0:1 uuid\0" \
62	"initrd_high=0xffffffff\0" \
63	"fdtfile=imx7d-sdb.dtb\0" \
64	"fdt_addr=0x83000000\0" \
65	"fdt_addr_r=0x83000000\0" \
66	"kernel_addr_r=" __stringify(CONFIG_SYS_LOAD_ADDR) "\0" \
67	"pxefile_addr_r=" __stringify(CONFIG_SYS_LOAD_ADDR) "\0" \
68	"ramdisk_addr_r=0x83100000\0" \
69	"ramdiskaddr=0x83100000\0" \
70	"scriptaddr=" __stringify(CONFIG_SYS_LOAD_ADDR) "\0" \
71	"videomode=video=ctfb:x:480,y:272,depth:24,pclk:108695,le:8,ri:4,up:2,lo:4,hs:41,vs:10,sync:0,vmode:0\0" \
72	BOOTENV
73
74#define BOOT_TARGET_DEVICES(func) \
75	func(MMC, mmc, 0) \
76	func(DHCP, dhcp, na) \
77	func(PXE, pxe, na)
78
79#include <config_distro_bootcmd.h>
80
81/* Physical Memory Map */
82#define PHYS_SDRAM			MMDC0_ARB_BASE_ADDR
83
84#define CFG_SYS_SDRAM_BASE		PHYS_SDRAM
85#define CFG_SYS_INIT_RAM_ADDR	IRAM_BASE_ADDR
86#define CFG_SYS_INIT_RAM_SIZE	IRAM_SIZE
87
88/* environment organization */
89
90/*
91 * If want to use nand, define CONFIG_NAND_MXS and rework board
92 * to support nand, since emmc has pin conflicts with nand
93 */
94#ifdef CONFIG_NAND_MXS
95/* NAND stuff */
96#define CFG_SYS_NAND_BASE		0x40000000
97
98/* DMA stuff, needed for GPMI/MXS NAND support */
99#endif
100
101/* USB Configs */
102#define CFG_MXC_USB_PORTSC  (PORT_PTS_UTMI | PORT_PTS_PTW)
103
104#endif	/* __CONFIG_H */
105