xref: /rk3399_rockchip-uboot/arch/x86/include/asm/arch-baytrail/iomap.h (revision ae1b939930b0fffc062bb99196ec22e19afcc7e8)
142f8ebfdSBin Meng /*
242f8ebfdSBin Meng  * Copyright (C) 2013 Google Inc.
342f8ebfdSBin Meng  * Copyright (C) 2016 Bin Meng <bmeng.cn@gmail.com>
442f8ebfdSBin Meng  *
542f8ebfdSBin Meng  * Modified from coreboot src/soc/intel/baytrail/include/soc/iomap.h
642f8ebfdSBin Meng  *
742f8ebfdSBin Meng  * SPDX-License-Identifier:	GPL-2.0+
842f8ebfdSBin Meng  */
942f8ebfdSBin Meng 
1042f8ebfdSBin Meng #ifndef _BAYTRAIL_IOMAP_H_
1142f8ebfdSBin Meng #define _BAYTRAIL_IOMAP_H_
1242f8ebfdSBin Meng 
1342f8ebfdSBin Meng /* Memory Mapped IO bases */
1442f8ebfdSBin Meng 
1542f8ebfdSBin Meng /* PCI Configuration Space */
1642f8ebfdSBin Meng #define MCFG_BASE_ADDRESS		CONFIG_PCIE_ECAM_BASE
1742f8ebfdSBin Meng #define MCFG_BASE_SIZE			0x10000000
1842f8ebfdSBin Meng 
1942f8ebfdSBin Meng /* Temporary Base Address */
2042f8ebfdSBin Meng #define TEMP_BASE_ADDRESS		0xfd000000
2142f8ebfdSBin Meng 
2242f8ebfdSBin Meng /* Transactions in this range will abort */
2342f8ebfdSBin Meng #define ABORT_BASE_ADDRESS		0xfeb00000
2442f8ebfdSBin Meng #define ABORT_BASE_SIZE			0x00100000
2542f8ebfdSBin Meng 
2642f8ebfdSBin Meng /* High Performance Event Timer */
2742f8ebfdSBin Meng #define HPET_BASE_ADDRESS		0xfed00000
2842f8ebfdSBin Meng #define HPET_BASE_SIZE			0x400
2942f8ebfdSBin Meng 
3042f8ebfdSBin Meng /* SPI Bus */
3142f8ebfdSBin Meng #define SPI_BASE_ADDRESS		0xfed01000
3242f8ebfdSBin Meng #define SPI_BASE_SIZE			0x400
3342f8ebfdSBin Meng 
3442f8ebfdSBin Meng /* Power Management Controller */
3542f8ebfdSBin Meng #define PMC_BASE_ADDRESS		0xfed03000
3642f8ebfdSBin Meng #define PMC_BASE_SIZE			0x400
3742f8ebfdSBin Meng 
38*fcf2fba4SBin Meng #define GEN_PMCON1			0x20
39*fcf2fba4SBin Meng #define  UART_EN			(1 << 24)
40*fcf2fba4SBin Meng #define  DISB				(1 << 23)
41*fcf2fba4SBin Meng #define  MEM_SR				(1 << 21)
42*fcf2fba4SBin Meng #define  SRS				(1 << 20)
43*fcf2fba4SBin Meng #define  CTS				(1 << 19)
44*fcf2fba4SBin Meng #define  MS4V				(1 << 18)
45*fcf2fba4SBin Meng #define  PWR_FLR			(1 << 16)
46*fcf2fba4SBin Meng #define  PME_B0_S5_DIS			(1 << 15)
47*fcf2fba4SBin Meng #define  SUS_PWR_FLR			(1 << 14)
48*fcf2fba4SBin Meng #define  WOL_EN_OVRD			(1 << 13)
49*fcf2fba4SBin Meng #define  DIS_SLP_X_STRCH_SUS_UP		(1 << 12)
50*fcf2fba4SBin Meng #define  GEN_RST_STS			(1 <<  9)
51*fcf2fba4SBin Meng #define  RPS				(1 <<  2)
52*fcf2fba4SBin Meng #define  AFTERG3_EN			(1 <<  0)
53*fcf2fba4SBin Meng #define GEN_PMCON2			0x24
54*fcf2fba4SBin Meng #define  SLPSX_STR_POL_LOCK		(1 << 18)
55*fcf2fba4SBin Meng #define  BIOS_PCI_EXP_EN		(1 << 10)
56*fcf2fba4SBin Meng #define  PWRBTN_LVL			(1 <<  9)
57*fcf2fba4SBin Meng #define  SMI_LOCK			(1 <<  4)
58*fcf2fba4SBin Meng 
5942f8ebfdSBin Meng /* Power Management Unit */
6042f8ebfdSBin Meng #define PUNIT_BASE_ADDRESS		0xfed05000
6142f8ebfdSBin Meng #define PUNIT_BASE_SIZE			0x800
6242f8ebfdSBin Meng 
6342f8ebfdSBin Meng /* Intel Legacy Block */
6442f8ebfdSBin Meng #define ILB_BASE_ADDRESS		0xfed08000
6542f8ebfdSBin Meng #define ILB_BASE_SIZE			0x400
6642f8ebfdSBin Meng 
6742f8ebfdSBin Meng /* IO Memory */
6842f8ebfdSBin Meng #define IO_BASE_ADDRESS			0xfed0c000
6942f8ebfdSBin Meng #define  IO_BASE_OFFSET_GPSCORE		0x0000
7042f8ebfdSBin Meng #define  IO_BASE_OFFSET_GPNCORE		0x1000
7142f8ebfdSBin Meng #define  IO_BASE_OFFSET_GPSSUS		0x2000
7242f8ebfdSBin Meng #define IO_BASE_SIZE			0x4000
7342f8ebfdSBin Meng 
7442f8ebfdSBin Meng /* Root Complex Base Address */
7542f8ebfdSBin Meng #define RCBA_BASE_ADDRESS		0xfed1c000
7642f8ebfdSBin Meng #define RCBA_BASE_SIZE			0x400
7742f8ebfdSBin Meng 
7842f8ebfdSBin Meng /* MODPHY */
7942f8ebfdSBin Meng #define MPHY_BASE_ADDRESS		0xfef00000
8042f8ebfdSBin Meng #define MPHY_BASE_SIZE			0x100000
8142f8ebfdSBin Meng 
8242f8ebfdSBin Meng /* IO Port bases */
8342f8ebfdSBin Meng #define ACPI_BASE_ADDRESS		0x0400
8442f8ebfdSBin Meng #define ACPI_BASE_SIZE			0x80
8542f8ebfdSBin Meng 
86*fcf2fba4SBin Meng #define PM1_STS				0x00
87*fcf2fba4SBin Meng #define PM1_CNT				0x04
88*fcf2fba4SBin Meng 
8942f8ebfdSBin Meng #define GPIO_BASE_ADDRESS		0x0500
9042f8ebfdSBin Meng #define GPIO_BASE_SIZE			0x100
9142f8ebfdSBin Meng 
9242f8ebfdSBin Meng #define SMBUS_BASE_ADDRESS		0xefa0
9342f8ebfdSBin Meng 
9442f8ebfdSBin Meng #endif /* _BAYTRAIL_IOMAP_H_ */
95