Files
Christophe Lombard 8baea29fde pau: assign bars
Configure early PAU Global MMIO BAR registers to allow PAU MMIO
register accesses. This is done for each PAU. Enable the Powerbus
interface is mandatory for MMIO accesses.
For each OpenCAPI device, configure the bar registers to access to
the AFU MMIO and to the AFU Config Addr/Data registers.

AFU Config/Data registers = GENID_ADDR (from phy_map file) + 320K
(= 0x50000)

Signed-off-by: Christophe Lombard <clombard@linux.vnet.ibm.com>

Reviewed-by: Frederic Barrat <fbarrat@linux.ibm.com>
Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
2021-10-19 12:26:01 +05:30

71 lines
1.2 KiB
C

// SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
/* Copyright 2017-2019 IBM Corp. */
#ifndef __PHYS_MAP_H
#define __PHYS_MAP_H
#include <compiler.h>
#include <stdint.h>
#include <processor.h>
#include <ccan/endian/endian.h>
#include <chip.h>
enum phys_map_type {
NULL_MAP,
SYSTEM_MEM,
GPU_MEM_4T_DOWN,
GPU_MEM_4T_UP,
OCAPI_MEM,
PHB4_64BIT_MMIO,
PHB4_32BIT_MMIO,
PHB4_XIVE_ESB,
PHB4_REG_SPC,
PHB5_64BIT_MMIO,
PHB5_32BIT_MMIO,
PHB5_XIVE_ESB,
PHB5_REG_SPC,
NPU_OCAPI_MMIO,
XIVE_VC,
XIVE_PC,
VAS_USER_WIN,
VAS_HYP_WIN,
OCAB_XIVE_ESB,
LPC_BUS,
FSP_MMIO,
NPU_REGS,
NPU_USR,
NPU_PHY,
NPU_NTL,
NPU_GENID,
PSIHB_REG,
XIVE_IC,
XIVE_TM,
PSIHB_ESB,
NX_RNG,
CENTAUR_SCOM,
MC_OCMB_CFG,
MC_OCMB_MMIO,
XSCOM,
RESV,
XIVE_NVC,
XIVE_NVPG,
XIVE_ESB,
XIVE_END,
PAU_OCAPI_MMIO,
PAU_REGS,
PAU_GENID,
PAU_NTL,
};
extern void phys_map_get(uint64_t gcid, enum phys_map_type type,
int index, uint64_t *addr, uint64_t *size);
extern void __phys_map_get(uint64_t topology_idx, uint64_t gcid,
enum phys_map_type type, int index, uint64_t *addr, uint64_t *size);
extern void phys_map_init(unsigned long pvr);
#endif /* __PHYS_MAP_H */
//TODO self test overlaps and alignemnt and size.