mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 16:23:55 -06:00
ppc/pnv/phb4: Add pervasive chiplet support to PHB4/5
Each non-core chiplet on a chip has a "pervasive chiplet" unit and its xscom register set. This adds support for PHB4/5. skiboot reads the CPLT_CONF1 register in __phb4/5_get_max_link_width(), which shows up as unimplemented xscom reads. Set a value in PCI CONF1 register's link-width field to demonstrate skiboot doing something interesting with it. In the bigger picture, it might be better to model the pervasive chiplet type as parent that each non-core chiplet model derives from. For now this is enough to get the PHB registers implemented and working for skiboot, and provides a second example (after the N1 chiplet) that will help if the design is reworked as such. Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
This commit is contained in:
parent
7f98b4f25e
commit
6b56bb6dbc
4 changed files with 71 additions and 1 deletions
|
@ -126,6 +126,8 @@ struct PnvXScomInterfaceClass {
|
|||
#define PNV9_XSCOM_PEC_PCI_BASE 0xd010800
|
||||
#define PNV9_XSCOM_PEC_PCI_SIZE 0x200
|
||||
|
||||
#define PNV9_XSCOM_PEC_NEST_CPLT_BASE 0x0d000000
|
||||
|
||||
/* XSCOM PCI "pass-through" window to PHB SCOM */
|
||||
#define PNV9_XSCOM_PEC_PCI_STK0 0x100
|
||||
#define PNV9_XSCOM_PEC_PCI_STK1 0x140
|
||||
|
@ -197,6 +199,8 @@ struct PnvXScomInterfaceClass {
|
|||
#define PNV10_XSCOM_PEC_NEST_BASE 0x3011800 /* index goes downwards ... */
|
||||
#define PNV10_XSCOM_PEC_NEST_SIZE 0x100
|
||||
|
||||
#define PNV10_XSCOM_PEC_NEST_CPLT_BASE 0x08000000
|
||||
|
||||
#define PNV10_XSCOM_PEC_PCI_BASE 0x8010800 /* index goes upwards ... */
|
||||
#define PNV10_XSCOM_PEC_PCI_SIZE 0x200
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue