/** @file * * Copyright (c) 2019, Jeremy Linton * Copyright (c) 2019, Pete Batard . * * SPDX-License-Identifier: BSD-2-Clause-Patent * **/ #ifndef BCM2711_H__ #define BCM2711_H__ #define BCM2711_SOC_REGISTERS (FixedPcdGet64 (PcdBcm27xxRegistersAddress)) #define BCM2711_SOC_REGISTER_LENGTH 0x02000000 /* Generic PCI addresses */ #define PCIE_TOP_OF_MEM_WIN (FixedPcdGet64 (PcdBcm27xxPciBusMmioAdr)) #define PCIE_CPU_MMIO_WINDOW (FixedPcdGet64 (PcdBcm27xxPciCpuMmioAdr)) #define PCIE_BRIDGE_MMIO_LEN (FixedPcdGet32 (PcdBcm27xxPciBusMmioLen)) /* PCI root bridge control registers location */ #define PCIE_REG_BASE (FixedPcdGet32 (PcdBcm27xxPciRegBase)) #define PCIE_REG_LIMIT 0x9310 /* PCI root bridge control registers */ #define BRCM_PCIE_CAP_REGS 0x00ac /* Offset to ecam like range for root port */ #define PCIE_RC_CFG_VENDOR_VENDOR_SPECIFIC_REG1 0x0188 #define BRCM_PCIE_CLASS 0x043c #define PCIE_MISC_MISC_CTRL 0x4008 #define PCIE_MISC_CPU_2_PCIE_MEM_WIN0_LO 0x400c #define PCIE_MISC_CPU_2_PCIE_MEM_WIN0_HI 0x4010 #define PCIE_MISC_RC_BAR1_CONFIG_LO 0x402c #define PCIE_MISC_RC_BAR2_CONFIG_LO 0x4034 #define PCIE_MISC_RC_BAR2_CONFIG_HI 0x4038 #define PCIE_MISC_RC_BAR3_CONFIG_LO 0x403c #define PCIE_MISC_PCIE_STATUS 0x4068 #define PCIE_MISC_REVISION 0x406c #define PCIE_MISC_CPU_2_PCIE_MEM_WIN0_BASE_LIMIT 0x4070 #define PCIE_MISC_CPU_2_PCIE_MEM_WIN0_BASE_HI 0x4080 #define PCIE_MISC_CPU_2_PCIE_MEM_WIN0_LIMIT_HI 0x4084 #define PCIE_MISC_HARD_PCIE_HARD_DEBUG 0x4204 #define PCIE_INTR2_CPU_STATUS 0x4300 #define PCIE_INTR2_CPU_SET 0x4304 #define PCIE_INTR2_CPU_CLR 0x4308 #define PCIE_INTR2_CPU_MASK_STATUS 0x430c #define PCIE_INTR2_CPU_MASK_SET 0x4310 #define PCIE_INTR2_CPU_MASK_CLR 0x4314 #define PCIE_RGR1_SW_INIT_1 0x9210 #define PCIE_EXT_CFG_INDEX 0x9000 /* A small window pointing at the ECAM of the device selected by CFG_INDEX */ #define PCIE_EXT_CFG_DATA 0x8000 #define PCIE_RC_CFG_VENDOR_VENDOR_SPECIFIC_REG1_ENDIAN_MODE_BAR2_MASK 0xc #define PCIE_RC_CFG_PRIV1_ID_VAL3_CLASS_CODE_MASK 0xffffff #define PCIE_MISC_MISC_CTRL_SCB_ACCESS_EN_MASK 0x1000 #define PCIE_MISC_MISC_CTRL_CFG_READ_UR_MODE_MASK 0x2000 #define PCIE_MISC_MISC_CTRL_MAX_BURST_SIZE_MASK 0x300000 #define PCIE_MISC_MISC_CTRL_SCB0_SIZE_MASK 0xf8000000 #define PCIE_MISC_MISC_CTRL_SCB1_SIZE_MASK 0x7c00000 #define PCIE_MISC_MISC_CTRL_SCB2_SIZE_MASK 0x1f #define PCIE_MISC_RC_BAR2_CONFIG_LO_SIZE_MASK 0x1f #define PCIE_RGR1_SW_INIT_1_INIT_MASK 0x2 #define PCIE_RGR1_SW_INIT_1_PERST_MASK 0x1 #define PCIE_MISC_HARD_PCIE_HARD_DEBUG_SERDES_IDDQ_MASK 0x08000000 #define PCIE_MISC_HARD_PCIE_HARD_DEBUG_CLKREQ_DEBUG_ENABLE_MASK 0x2 #define PCIE_MISC_CPU_2_PCIE_MEM_WIN0_BASE_LIMIT_LIMIT_MASK 0xfff00000 #define PCIE_MISC_CPU_2_PCIE_MEM_WIN0_BASE_LIMIT_BASE_MASK 0xfff0 #define PCIE_MISC_CPU_2_PCIE_MEM_WIN0_BASE_HI_BASE_MASK 0xff #define PCIE_MISC_CPU_2_PCIE_MEM_WIN0_LIMIT_HI_LIMIT_MASK 0xff #define PCIE_MISC_CPU_2_PCIE_MEM_WIN0_MASK_BITS 0xc #define PCIE_MISC_REVISION_MAJMIN_MASK 0xffff #define BURST_SIZE_128 0 #define BURST_SIZE_256 1 #define BURST_SIZE_512 2 #define GENET_BASE_ADDRESS FixedPcdGet64 (PcdBcmGenetRegistersAddress) #define GENET_LENGTH 0x00010000 #define THERM_SENSOR 0xfd5d2200 #define ID_CHIPREV 0xfc404000 #endif /* BCM2711_H__ */