blob: 3716dc75b966409286ad626713c8aa17eb9e5dde [file] [log] [blame]
Tom Rini10e47792018-05-06 17:58:06 -04001/* SPDX-License-Identifier: GPL-2.0+ */
Peng Fandbf316a2015-07-20 19:28:35 +08002/*
3 * Copyright (C) 2015 Freescale Semiconductor, Inc.
4 *
5 * Configuration settings for the Freescale i.MX6UL 14x14 EVK board.
Peng Fandbf316a2015-07-20 19:28:35 +08006 */
7#ifndef __MX6UL_14X14_EVK_CONFIG_H
8#define __MX6UL_14X14_EVK_CONFIG_H
9
Peng Fandbf316a2015-07-20 19:28:35 +080010#include <asm/arch/imx-regs.h>
11#include <linux/sizes.h>
Simon Glassfb64e362020-05-10 11:40:09 -060012#include <linux/stringify.h>
Peng Fandbf316a2015-07-20 19:28:35 +080013#include "mx6_common.h"
Stefano Babic33731bc2017-06-29 10:16:06 +020014#include <asm/mach-imx/gpio.h>
Peng Fandbf316a2015-07-20 19:28:35 +080015
Simon Glassae415ab2023-02-05 15:40:59 -070016#define is_mx6ul_9x9_evk() IS_ENABLED(CONFIG_TARGET_MX6UL_9X9_EVK)
Peng Fan5630c982015-09-06 15:02:34 +080017
Tom Rinia17aa192022-12-04 10:04:55 -050018#define CFG_MXC_UART_BASE UART1_BASE
Peng Fandbf316a2015-07-20 19:28:35 +080019
Peng Fandbf316a2015-07-20 19:28:35 +080020/* MMC Configs */
21#ifdef CONFIG_FSL_USDHC
Tom Rini376b88a2022-10-28 20:27:13 -040022#define CFG_SYS_FSL_ESDHC_ADDR USDHC2_BASE_ADDR
Peng Fandbf316a2015-07-20 19:28:35 +080023
24/* NAND pin conflicts with usdhc2 */
25#ifdef CONFIG_NAND_MXS
Tom Rini376b88a2022-10-28 20:27:13 -040026#define CFG_SYS_FSL_USDHC_NUM 1
Peng Fandbf316a2015-07-20 19:28:35 +080027#else
Tom Rini376b88a2022-10-28 20:27:13 -040028#define CFG_SYS_FSL_USDHC_NUM 2
Peng Fandbf316a2015-07-20 19:28:35 +080029#endif
30
Peng Fandbf316a2015-07-20 19:28:35 +080031#endif
32
Tom Rinic9edebe2022-12-04 10:03:50 -050033#define CFG_EXTRA_ENV_SETTINGS \
Peng Fandbf316a2015-07-20 19:28:35 +080034 "script=boot.scr\0" \
35 "image=zImage\0" \
36 "console=ttymxc0\0" \
37 "fdt_high=0xffffffff\0" \
38 "initrd_high=0xffffffff\0" \
Peng Fan5630c982015-09-06 15:02:34 +080039 "fdt_file=undefined\0" \
Peng Fandbf316a2015-07-20 19:28:35 +080040 "fdt_addr=0x83000000\0" \
41 "boot_fdt=try\0" \
42 "ip_dyn=yes\0" \
Tom Rini9004ee02021-08-23 10:25:30 -040043 "splashimage=" __stringify(CONFIG_SYS_LOAD_ADDR) "\0" \
Peng Fan60c72b62015-10-29 15:54:48 +080044 "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" \
Peng Fandbf316a2015-07-20 19:28:35 +080045 "mmcdev="__stringify(CONFIG_SYS_MMC_ENV_DEV)"\0" \
Tom Rinib113bca2021-12-11 14:55:52 -050046 "mmcpart=1\0" \
Peng Fanbb4bb582022-04-15 12:23:41 +080047 "mmcroot=/dev/mmcblk1p2 rootwait rw\0" \
Peng Fandbf316a2015-07-20 19:28:35 +080048 "mmcautodetect=yes\0" \
49 "mmcargs=setenv bootargs console=${console},${baudrate} " \
50 "root=${mmcroot}\0" \
51 "loadbootscript=" \
52 "fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \
53 "bootscript=echo Running bootscript from mmc ...; " \
54 "source\0" \
55 "loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}\0" \
56 "loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}\0" \
57 "mmcboot=echo Booting from mmc ...; " \
58 "run mmcargs; " \
59 "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
60 "if run loadfdt; then " \
61 "bootz ${loadaddr} - ${fdt_addr}; " \
62 "else " \
63 "if test ${boot_fdt} = try; then " \
64 "bootz; " \
65 "else " \
66 "echo WARN: Cannot load the DT; " \
67 "fi; " \
68 "fi; " \
69 "else " \
70 "bootz; " \
71 "fi;\0" \
72 "netargs=setenv bootargs console=${console},${baudrate} " \
73 "root=/dev/nfs " \
74 "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \
75 "netboot=echo Booting from net ...; " \
76 "run netargs; " \
77 "if test ${ip_dyn} = yes; then " \
78 "setenv get_cmd dhcp; " \
79 "else " \
80 "setenv get_cmd tftp; " \
81 "fi; " \
82 "${get_cmd} ${image}; " \
83 "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
84 "if ${get_cmd} ${fdt_addr} ${fdt_file}; then " \
85 "bootz ${loadaddr} - ${fdt_addr}; " \
86 "else " \
87 "if test ${boot_fdt} = try; then " \
88 "bootz; " \
89 "else " \
90 "echo WARN: Cannot load the DT; " \
91 "fi; " \
92 "fi; " \
93 "else " \
94 "bootz; " \
Peng Fan5630c982015-09-06 15:02:34 +080095 "fi;\0" \
96 "findfdt="\
97 "if test $fdt_file = undefined; then " \
98 "if test $board_name = EVK && test $board_rev = 9X9; then " \
99 "setenv fdt_file imx6ul-9x9-evk.dtb; fi; " \
100 "if test $board_name = EVK && test $board_rev = 14X14; then " \
101 "setenv fdt_file imx6ul-14x14-evk.dtb; fi; " \
102 "if test $fdt_file = undefined; then " \
103 "echo WARNING: Could not determine dtb to use; fi; " \
104 "fi;\0" \
Peng Fandbf316a2015-07-20 19:28:35 +0800105
Peng Fandbf316a2015-07-20 19:28:35 +0800106/* Miscellaneous configurable options */
Peng Fandbf316a2015-07-20 19:28:35 +0800107
Peng Fandbf316a2015-07-20 19:28:35 +0800108/* Physical Memory Map */
Peng Fandbf316a2015-07-20 19:28:35 +0800109#define PHYS_SDRAM MMDC0_ARB_BASE_ADDR
110
Tom Rinibb4dd962022-11-16 13:10:37 -0500111#define CFG_SYS_SDRAM_BASE PHYS_SDRAM
Tom Rini6a5dccc2022-11-16 13:10:41 -0500112#define CFG_SYS_INIT_RAM_ADDR IRAM_BASE_ADDR
113#define CFG_SYS_INIT_RAM_SIZE IRAM_SIZE
Peng Fandbf316a2015-07-20 19:28:35 +0800114
Masahiro Yamada8cea9b52017-02-11 22:43:54 +0900115/* environment organization */
Peng Fandbf316a2015-07-20 19:28:35 +0800116
Peng Fan32cfb352015-08-12 17:46:52 +0800117#ifdef CONFIG_CMD_NET
Tom Rinib70d5d42022-12-04 10:03:52 -0500118#define CFG_FEC_ENET_DEV 1
Peng Fan32cfb352015-08-12 17:46:52 +0800119
Tom Rinib70d5d42022-12-04 10:03:52 -0500120#if (CFG_FEC_ENET_DEV == 0)
Tom Rini4e3c8a62022-12-04 10:03:53 -0500121#define CFG_FEC_MXC_PHYADDR 0x2
Tom Rinib70d5d42022-12-04 10:03:52 -0500122#elif (CFG_FEC_ENET_DEV == 1)
Tom Rini4e3c8a62022-12-04 10:03:53 -0500123#define CFG_FEC_MXC_PHYADDR 0x1
Peng Fan32cfb352015-08-12 17:46:52 +0800124#endif
Peng Fan32cfb352015-08-12 17:46:52 +0800125#endif
126
Peng Fan60c72b62015-10-29 15:54:48 +0800127#define MXS_LCDIF_BASE MX6UL_LCDIF1_BASE_ADDR
Peng Fan60c72b62015-10-29 15:54:48 +0800128
Peng Fandbf316a2015-07-20 19:28:35 +0800129#endif