1 /* SPDX-License-Identifier: GPL-2.0+ */
2 /*
3  * Copyright (C) 2016 Freescale Semiconductor, Inc.
4  *
5  * Configuration settings for the Embedded Artists i.MX7ULP COM board.
6  */
7 
8 #ifndef __MX7ULP_COM_CONFIG_H
9 #define __MX7ULP_COM_CONFIG_H
10 
11 #include <linux/sizes.h>
12 #include <asm/arch/imx-regs.h>
13 
14 #define CONFIG_BOARD_POSTCLK_INIT
15 #define CONFIG_SYS_BOOTM_LEN		0x1000000
16 
17 /*
18  * Detect overlap between U-Boot image and environment area in build-time
19  *
20  * CONFIG_BOARD_SIZE_LIMIT = CONFIG_ENV_OFFSET - u-boot-dtb.imx offset
21  * CONFIG_BOARD_SIZE_LIMIT = 768k - 1k = 767k = 785408
22  *
23  * Currently CONFIG_BOARD_SIZE_LIMIT does not handle expressions, so
24  * write the direct value here
25  */
26 #define CONFIG_BOARD_SIZE_LIMIT		785408
27 #define CONFIG_MMCROOT			"/dev/mmcblk0p2"
28 #define CONFIG_SYS_MMC_IMG_LOAD_PART	1
29 
30 /* Using ULP WDOG for reset */
31 #define WDOG_BASE_ADDR			WDG1_RBASE
32 
33 #define CONFIG_SYS_HZ_CLOCK		1000000 /* Fixed at 1MHz from TSTMR */
34 
35 #define CONFIG_INITRD_TAG
36 #define CONFIG_CMDLINE_TAG
37 #define CONFIG_SETUP_MEMORY_TAGS
38 
39 /* Size of malloc() pool */
40 #define CONFIG_SYS_MALLOC_LEN		(8 * SZ_1M)
41 
42 /* UART */
43 #define LPUART_BASE			LPUART4_RBASE
44 
45 /* Physical Memory Map */
46 
47 #define PHYS_SDRAM			0x60000000
48 #define CONFIG_SYS_SDRAM_BASE		PHYS_SDRAM
49 
50 #define CONFIG_LOADADDR			0x60800000
51 
52 #define CONFIG_EXTRA_ENV_SETTINGS \
53 	"image=zImage\0" \
54 	"console=ttyLP0\0" \
55 	"fdt_high=0xffffffff\0" \
56 	"initrd_high=0xffffffff\0" \
57 	"fdt_file=imx7ulp-com.dtb\0" \
58 	"fdt_addr=0x63000000\0" \
59 	"mmcdev="__stringify(CONFIG_SYS_MMC_ENV_DEV)"\0" \
60 	"mmcpart=" __stringify(CONFIG_SYS_MMC_IMG_LOAD_PART) "\0" \
61 	"mmcroot=" CONFIG_MMCROOT " rootwait rw\0" \
62 	"mmcargs=setenv bootargs console=${console},${baudrate} " \
63 		"root=${mmcroot}\0" \
64 	"loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}\0" \
65 	"loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}\0" \
66 	"mmcboot=echo Booting from mmc ...; " \
67 		"run mmcargs; " \
68 		"if run loadfdt; then " \
69 			"bootz ${loadaddr} - ${fdt_addr}; " \
70 		"fi;\0" \
71 
72 #define CONFIG_BOOTCOMMAND \
73 	"if run loadimage; then " \
74 		"run mmcboot; " \
75 	"fi; " \
76 
77 #define CONFIG_SYS_LOAD_ADDR		CONFIG_LOADADDR
78 
79 #define CONFIG_SYS_INIT_RAM_ADDR	IRAM_BASE_ADDR
80 #define CONFIG_SYS_INIT_RAM_SIZE	SZ_256K
81 
82 #define CONFIG_SYS_INIT_SP_OFFSET \
83 	(CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
84 #define CONFIG_SYS_INIT_SP_ADDR \
85 	(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET)
86 
87 #define CONFIG_MXC_USB_PORTSC		(PORT_PTS_UTMI | PORT_PTS_PTW)
88 #endif	/* __CONFIG_H */
89