u-boot/arch/arm/include/asm/arch-hi3798cv200/hi3798cv200.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

50 lines
1.4 KiB
C

/*
* (C) Copyright 2017 Linaro
* Jorge Ramirez-Ortiz <jorge.ramirez-ortiz@linaro.org>
*
* SPDX-License-Identifier: GPL-2.0+
*/
#ifndef __HI3798cv200_H__
#define __HI3798cv200_H__
#define REG_BASE_PERI_CTRL 0xF8A20000
#define REG_BASE_CRG 0xF8A22000
/* DEVICES */
#define REG_BASE_MCI 0xF9830000
#define REG_BASE_UART0 0xF8B00000
/* PERI control registers (4KB) */
/* USB2 PHY01 configuration register */
#define PERI_CTRL_USB0 (REG_BASE_PERI_CTRL + 0x120)
/* PERI CRG registers (4KB) */
/* USB2 CTRL0 clock and soft reset */
#define PERI_CRG46 (REG_BASE_CRG + 0xb8)
#define USB2_BUS_CKEN (1<<0)
#define USB2_OHCI48M_CKEN (1<<1)
#define USB2_OHCI12M_CKEN (1<<2)
#define USB2_OTG_UTMI_CKEN (1<<3)
#define USB2_HST_PHY_CKEN (1<<4)
#define USB2_UTMI0_CKEN (1<<5)
#define USB2_BUS_SRST_REQ (1<<12)
#define USB2_UTMI0_SRST_REQ (1<<13)
#define USB2_HST_PHY_SYST_REQ (1<<16)
#define USB2_OTG_PHY_SYST_REQ (1<<17)
#define USB2_CLK48_SEL (1<<20)
/* USB2 PHY clock and soft reset */
#define PERI_CRG47 (REG_BASE_CRG + 0xbc)
#define USB2_PHY01_REF_CKEN (1 << 0)
#define USB2_PHY2_REF_CKEN (1 << 2)
#define USB2_PHY01_SRST_REQ (1 << 4)
#define USB2_PHY2_SRST_REQ (1 << 6)
#define USB2_PHY01_SRST_TREQ0 (1 << 8)
#define USB2_PHY01_SRST_TREQ1 (1 << 9)
#define USB2_PHY2_SRST_TREQ (1 << 10)
#define USB2_PHY01_REFCLK_SEL (1 << 12)
#define USB2_PHY2_REFCLK_SEL (1 << 14)
#endif