blob: 5af355cf88f51fff9c29e491064e0d48ea522211 [file] [log] [blame]
/* SPDX-License-Identifier: GPL-2.0+ */
/*
* Configuration for Coral board
*
* Copyright (C) 2019 BayLibre, SAS
* Copyright (C) 2020 Google, LLC
* Author: Fabien Parent <fparent@baylibre.com
*/
#ifndef __MT8516_CORAL_H
#define __MT8516_CORAL_H
#include <linux/sizes.h>
#include <linux/stringify.h>
#ifdef CONFIG_MTK_ANDROID
// Android needs a bigger environment for libavb usage
#define CONFIG_ENV_SIZE SZ_256K
#define CONFIG_SYS_LOAD_ADDR CONFIG_SYS_TEXT_BASE
#define CONFIG_SYS_MALLOC_LEN SZ_64M
#define CONFIG_SYS_CBSIZE SZ_64K
#else
#define CONFIG_ENV_SIZE SZ_4K
#define CONFIG_SYS_LOAD_ADDR CONFIG_SYS_TEXT_BASE
#define CONFIG_SYS_MALLOC_LEN SZ_4M
#endif /* CONFIG_MTK_ANDROID */
#define CONFIG_CPU_ARMV8
#define COUNTER_FREQUENCY 13000000
#define CONFIG_SYS_NS16550_SERIAL
#define CONFIG_SYS_NS16550_REG_SIZE -4
#define CONFIG_SYS_NS16550_MEM32
#define CONFIG_SYS_NS16550_COM1 0x11005000
#define CONFIG_SYS_NS16550_CLK 26000000
#define CONFIG_SYS_UBOOT_START CONFIG_SYS_TEXT_BASE
#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_TEXT_BASE + SZ_2M - \
GENERATED_GBL_DATA_SIZE)
#define CONFIG_SYS_BOOTM_LEN SZ_64M
#define CONFIG_SYS_MMC_ENV_DEV 0
#define CONFIG_SYS_MMC_ENV_PART 2
#define CONFIG_ENV_OFFSET 0
#ifdef CONFIG_MTK_ANDROID
#define MMCBOOT \
"mmcdev=0\0" \
"dtb_index=0\0" \
"dtbo_index=1\0" \
"loadaddr=0x50000000\0" \
"load_dtb=" \
"part start mmc ${mmcdev} dtbo dtbo_part_start;" \
"part size mmc ${mmcdev} dtbo dtbo_part_size;" \
"mmc read ${loadaddr} ${dtbo_part_start} ${dtbo_part_size};" \
"dtimg select ${loadaddr} ${dtb_index};" \
"dtimg merge ${loadaddr} ${dtbo_index}; \0" \
"load_bootimg=" \
"part start mmc ${mmcdev} boot boot_part_start;" \
"part size mmc ${mmcdev} boot boot_part_size;" \
"mmc read ${loadaddr} ${boot_part_start} ${boot_part_size}; \0" \
"mmcboot=" \
"avb init ${mmcdev};" \
"avb verify;" \
"setenv bootargs \"${bootargs} ${avb_bootargs}\";" \
"run load_dtb;" \
"run load_bootimg;" \
"bootm ${loadaddr}; \0"
#else
#define MMCBOOT \
"mmcdev=0\0" \
"rootfs_partition=3\0" \
"mmcboot=" \
"mmc dev ${mmcdev};" \
"setenv bootargs ${bootargs} root=/dev/mmcblk${mmcdev}p${rootfs_partition} rootwait; " \
"ext2load mmc ${mmcdev}:2 " __stringify(CONFIG_SYS_TEXT_BASE) " boot.scr;" \
"source;"
#endif /* CONFIG_MTK_ANDROID */
#define TFTPBOOT \
"tftpboot=" \
"set ipaddr 192.168.0.100;" \
"tftpboot ${kerneladdr} 192.168.0.1:fitImage;" \
"bootm ${kerneladdr};\0"
#define CONFIG_EXTRA_ENV_SETTINGS \
"kerneladdr=0x4A000000\0" \
"fastboot=fastboot usb 0\0" \
"force_fastboot=0\0" \
MMCBOOT \
TFTPBOOT \
"bootcmd=" \
"gpio input 42;" \
"if test $? -eq 0 || test \"${force_fastboot}\" -eq 1; then " \
"setenv force_fastboot 0; saveenv;" \
"run fastboot;" \
"run mmcboot;" \
"else " \
"run mmcboot;" \
"fi\0"
#endif