[Skiboot] [PATCH 3/9] platform: Add fields for OpenCAPI platform data
Andrew Donnellan
andrew.donnellan at au1.ibm.com
Mon Dec 18 18:07:54 AEDT 2017
Add a platform_ocapi struct to store platform-specific values for resetting
OpenCAPI devices via I2C and for setting up the ODL PHY.
A later patch will add this to the relevant platforms.
Signed-off-by: Andrew Donnellan <andrew.donnellan at au1.ibm.com>
---
include/platform.h | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/include/platform.h b/include/platform.h
index f3af390..59fef96 100644
--- a/include/platform.h
+++ b/include/platform.h
@@ -44,6 +44,18 @@ struct bmc_platform {
uint32_t ipmi_oem_pnor_access_status;
};
+/* OpenCAPI platform-specific I2C information */
+struct platform_ocapi {
+ bool i2c_voltage_18; /* Is 1.8V I2C I/O voltage override needed? */
+ uint8_t i2c_engine; /* I2C engine number */
+ uint8_t i2c_port; /* I2C port number */
+ uint32_t i2c_offset[3]; /* Offsets on I2C device */
+ uint8_t i2c_odl0_data[3]; /* Data to reset ODL0 */
+ uint8_t i2c_odl1_data[3]; /* Data to reset ODL1 */
+ uint8_t i2c_odl01_data[3]; /* Data to reset both ODL0 and ODL1 */
+ bool odl_phy_swap; /* Swap ODL1 to use brick 2 rather than brick 1 lanes */
+};
+
/*
* Each platform can provide a set of hooks
* that can affect the generic code
@@ -58,6 +70,9 @@ struct platform {
*/
const struct bmc_platform *bmc;
+ /* OpenCAPI platform-specific I2C information */
+ const struct platform_ocapi *ocapi;
+
/*
* Probe platform, return true on a match, called before
* any allocation has been performed outside of the heap
--
git-series 0.9.1
More information about the Skiboot
mailing list