aboutsummaryrefslogtreecommitdiff
path: root/hw/phys-map.c
diff options
context:
space:
mode:
authorChristophe Lombard <clombard@linux.vnet.ibm.com>2021-10-14 17:56:53 +0200
committerVasant Hegde <hegdevasant@linux.vnet.ibm.com>2021-10-19 12:26:01 +0530
commit8baea29fdeaa5eab26c1ca6e3b88e18a3387be96 (patch)
tree47cc663b979d4efa98ea7481e498d0dd74326c06 /hw/phys-map.c
parentfaea2419754c0a455b6cf32a5fa58c72fa75083b (diff)
downloadskiboot-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.c59
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 },