diff options
author | Christophe Lombard <clombard@linux.vnet.ibm.com> | 2021-10-14 17:56:53 +0200 |
---|---|---|
committer | Vasant Hegde <hegdevasant@linux.vnet.ibm.com> | 2021-10-19 12:26:01 +0530 |
commit | 8baea29fdeaa5eab26c1ca6e3b88e18a3387be96 (patch) | |
tree | 47cc663b979d4efa98ea7481e498d0dd74326c06 /hw/phys-map.c | |
parent | faea2419754c0a455b6cf32a5fa58c72fa75083b (diff) | |
download | skiboot-8baea29fdeaa5eab26c1ca6e3b88e18a3387be96.zip skiboot-8baea29fdeaa5eab26c1ca6e3b88e18a3387be96.tar.gz skiboot-8baea29fdeaa5eab26c1ca6e3b88e18a3387be96.tar.bz2 |
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>
Diffstat (limited to 'hw/phys-map.c')
-rw-r--r-- | hw/phys-map.c | 59 |
1 files changed, 51 insertions, 8 deletions
diff --git a/hw/phys-map.c b/hw/phys-map.c index d6ff99f..711d626 100644 --- a/hw/phys-map.c +++ b/hw/phys-map.c @@ -82,8 +82,51 @@ static const struct phys_map_entry phys_map_table_p10[] = { { VAS_HYP_WIN , 0, 0x00060302fe000000ull, 0x0000000002000000ull }, { VAS_USER_WIN , 0, 0x0006030300000000ull, 0x0000000100000000ull }, - /* TODO: MC, OCMB, PAU */ - { RESV , 8, 0x0006030400000000ull, 0x000000f800000000ull }, + /* TODO: MC, OCMB */ + { RESV , 8, 0x0006030400000000ull, 0x0000008400000000ull }, + { PAU_OCAPI_MMIO , 0, 0x0006038800000000ull, 0x0000000800000000ull }, + { PAU_OCAPI_MMIO , 1, 0x0006039000000000ull, 0x0000000800000000ull }, + { PAU_OCAPI_MMIO , 2, 0x0006039800000000ull, 0x0000000800000000ull }, + { PAU_OCAPI_MMIO , 3, 0x000603a000000000ull, 0x0000000800000000ull }, + { PAU_OCAPI_MMIO , 4, 0x000603a800000000ull, 0x0000000800000000ull }, + { PAU_OCAPI_MMIO , 5, 0x000603b000000000ull, 0x0000000800000000ull }, + { PAU_OCAPI_MMIO , 6, 0x000603b800000000ull, 0x0000000800000000ull }, + { PAU_OCAPI_MMIO , 7, 0x000603c000000000ull, 0x0000000800000000ull }, + { PAU_OCAPI_MMIO , 8, 0x000603c800000000ull, 0x0000000800000000ull }, + { PAU_OCAPI_MMIO , 9, 0x000603d000000000ull, 0x0000000800000000ull }, + { PAU_OCAPI_MMIO ,10, 0x000603d800000000ull, 0x0000000800000000ull }, + { PAU_OCAPI_MMIO ,11, 0x000603e000000000ull, 0x0000000800000000ull }, + { PAU_REGS , 0, 0x000603e800000000ull, 0x0000000001000000ull }, + { PAU_REGS , 1, 0x000603e801000000ull, 0x0000000001000000ull }, + { PAU_REGS , 2, 0x000603e802000000ull, 0x0000000001000000ull }, + { PAU_REGS , 3, 0x000603e803000000ull, 0x0000000001000000ull }, + { PAU_REGS , 4, 0x000603e804000000ull, 0x0000000001000000ull }, + { PAU_REGS , 5, 0x000603e805000000ull, 0x0000000001000000ull }, + { RESV , 9, 0x000603e806000000ull, 0x0000000000040000ull }, + { PAU_NTL , 0, 0x000603e806040000ull, 0x0000000000020000ull }, + { PAU_NTL , 1, 0x000603e806060000ull, 0x0000000000020000ull }, + { PAU_GENID , 0, 0x000603e806080000ull, 0x0000000000080000ull }, + { RESV ,10, 0x000603e806100000ull, 0x0000000000040000ull }, + { PAU_NTL , 2, 0x000603e806140000ull, 0x0000000000020000ull }, + { PAU_NTL , 3, 0x000603e806160000ull, 0x0000000000020000ull }, + { PAU_GENID , 1, 0x000603e806180000ull, 0x0000000000080000ull }, + { RESV ,11, 0x000603e806200000ull, 0x0000000000040000ull }, + { PAU_NTL , 4, 0x000603e806240000ull, 0x0000000000020000ull }, + { PAU_NTL , 5, 0x000603e806260000ull, 0x0000000000020000ull }, + { PAU_GENID , 2, 0x000603e806280000ull, 0x0000000000080000ull }, + { RESV ,12, 0x000603e806300000ull, 0x0000000000040000ull }, + { PAU_NTL , 6, 0x000603e806340000ull, 0x0000000000020000ull }, + { PAU_NTL , 7, 0x000603e806360000ull, 0x0000000000020000ull }, + { PAU_GENID , 3, 0x000603e806380000ull, 0x0000000000080000ull }, + { RESV ,13, 0x000603e806400000ull, 0x0000000000040000ull }, + { PAU_NTL , 8, 0x000603e806440000ull, 0x0000000000020000ull }, + { PAU_NTL , 9, 0x000603e806460000ull, 0x0000000000020000ull }, + { PAU_GENID , 4, 0x000603e806480000ull, 0x0000000000080000ull }, + { RESV ,14, 0x000603e806500000ull, 0x0000000000040000ull }, + { PAU_NTL ,10, 0x000603e806540000ull, 0x0000000000020000ull }, + { PAU_NTL ,11, 0x000603e806560000ull, 0x0000000000020000ull }, + { PAU_GENID , 5, 0x000603e806580000ull, 0x0000000000080000ull }, + { RESV ,15, 0x000603e806600000ull, 0x00000013F9A00000ull }, { XSCOM , 0, 0x000603fc00000000ull, 0x0000000400000000ull }, /* 4 TB offset */ @@ -96,10 +139,10 @@ static const struct phys_map_entry phys_map_table_p10[] = { { XIVE_END , 0, 0x0006060000000000ull, 0x0000020000000000ull }, /* 8 - 13 TB offset */ - { RESV , 9, 0x0006080000000000ull, 0x0000060000000000ull }, + { RESV ,16, 0x0006080000000000ull, 0x0000060000000000ull }, /* 14 TB offset */ - { RESV ,10, 0x00060e0000000000ull, 0x0000008000000000ull }, + { RESV ,17, 0x00060e0000000000ull, 0x0000008000000000ull }, { NULL_MAP, 0, 0, 0 }, }; @@ -130,10 +173,10 @@ static const struct phys_map_entry phys_map_table_nimbus[] = { * * We don't currently support >4TB ranges. */ - { OCAPI_MEM, 0, 0x0002000000000000ull, 0x0000040000000000ull }, - { OCAPI_MEM, 1, 0x0002800000000000ull, 0x0000040000000000ull }, - { OCAPI_MEM, 2, 0x0003000000000000ull, 0x0000040000000000ull }, - { OCAPI_MEM, 3, 0x0003800000000000ull, 0x0000040000000000ull }, + { OCAPI_MEM, 0, 0x0002000000000000ull, 0x0000040000000000ull }, + { OCAPI_MEM, 1, 0x0002800000000000ull, 0x0000040000000000ull }, + { OCAPI_MEM, 2, 0x0003000000000000ull, 0x0000040000000000ull }, + { OCAPI_MEM, 3, 0x0003800000000000ull, 0x0000040000000000ull }, /* 0 TB offset @ MMIO 0x0006000000000000ull */ { PHB4_64BIT_MMIO, 0, 0x0006000000000000ull, 0x0000004000000000ull }, |