u-boot-brain/include/configs/poplar.h
Jorge Ramirez-Ortiz d754254f20 ARM64: poplar: hi3798cv200: u-boot support for Poplar 96Boards
This port adds support for:
        1) Serial
        2) eMMC
        3) USB

It has been tested with ARM TRUSTED FIRMWARE running u-boot as the
BL33 executable [see board's README]

eMMC has been tested for reading and booting the loader and linux
kernels as well as saving the u-boot environment.

USB has been tested with ASIX networking adapter and SanDisk 7.4GB
drive.

PSCI has been tested via the reset call (PSCI executes from DDR)

The firwmare upgrade process has been tested via TFTP and USB FAT
filesystem containing the fastboot.bin image in one of the partitions.

Signed-off-by: Jorge Ramirez-Ortiz <jorge.ramirez-ortiz@linaro.org>
2017-07-10 14:26:03 -04:00

87 lines
2.3 KiB
C

/*
* (C) Copyright 2017 Linaro
*
* Jorge Ramirez-Ortiz <jorge.ramirez-ortiz@linaro.org>
*
* Configuration for Poplar 96boards CE. Parts were derived from other ARM
* configurations.
*
* SPDX-License-Identifier: GPL-2.0+
*/
#ifndef _POPLAR_H_
#define _POPLAR_H_
#include <linux/sizes.h>
/* DRAM banks */
#define CONFIG_NR_DRAM_BANKS 2
/* SYS */
#define CONFIG_SYS_BOOTM_LEN 0x1400000
#define CONFIG_SYS_INIT_SP_ADDR 0x200000
#define CONFIG_SYS_LOAD_ADDR 0x800000
#define CONFIG_SYS_MALLOC_LEN SZ_32M
/* ATF bl33.bin load address (must match) */
#define CONFIG_SYS_TEXT_BASE 0x37000000
/* PL010/PL011 */
#define CONFIG_PL01X_SERIAL
/* USB configuration */
#define CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS 3
#define CONFIG_USB_MAX_CONTROLLER_COUNT 2
#define CONFIG_SYS_USB_EVENT_POLL
#define CONFIG_USB_HOST_ETHER
#define CONFIG_USB_ETHER_ASIX
/* SD/MMC */
#define CONFIG_BOUNCE_BUFFER
/*****************************************************************************
* Initial environment variables
*****************************************************************************/
#define BOOT_TARGET_DEVICES(func) \
func(USB, usb, 0) \
func(MMC, mmc, 0) \
func(DHCP, dhcp, na)
#ifndef CONFIG_SPL_BUILD
#include <config_distro_defaults.h>
#include <config_distro_bootcmd.h>
#endif
#define CONFIG_EXTRA_ENV_SETTINGS \
"loader_mmc_blknum=0x0\0" \
"loader_mmc_nblks=0x780\0" \
"env_mmc_blknum=0x780\0" \
"env_mmc_nblks=0x80\0" \
"kernel_addr_r=0x30000000\0" \
"pxefile_addr_r=0x32000000\0" \
"scriptaddr=0x32000000\0" \
"fdt_addr_r=0x32200000\0" \
"fdtfile=hisilicon/hi3798cv200-poplar.dtb\0" \
"ramdisk_addr_r=0x32400000\0" \
BOOTENV
/* Command line configuration */
#define CONFIG_ENV_IS_IN_MMC 1
#define CONFIG_SYS_MMC_ENV_DEV 0
#define CONFIG_ENV_OFFSET (0x780 * 512) /* env_mmc_blknum */
#define CONFIG_ENV_SIZE 0x10000 /* env_mmc_nblks bytes */
#define CONFIG_FAT_WRITE
#define CONFIG_ENV_VARS_UBOOT_CONFIG
/* Monitor Command Prompt */
#define CONFIG_CMDLINE_EDITING
#define CONFIG_SYS_LONGHELP
#define CONFIG_SYS_CBSIZE 512
#define CONFIG_SYS_MAXARGS 64
#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + \
sizeof(CONFIG_SYS_PROMPT) + 16)
#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE
#endif /* _POPLAR_H_ */