[Skiboot] [PATCH 3/9] platform: Add fields for OpenCAPI platform data
Frederic Barrat
fbarrat at linux.vnet.ibm.com
Thu Jan 11 04:22:21 AEDT 2018
Le 18/12/2017 à 08:07, Andrew Donnellan a écrit :
> 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? */
Not convinced that voltage setting is going to be useful. We'll find out
soon enough on witherspoon, I guess. We could remove it for now if we
assume we'll need another patchset for witherspoon (which seems likely
to me, at least for the platform code).
> + 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 */
I know I'm at the origin of this, but I don't think we reset the 2 links
simultaneously any more, so it could be dropped.
Fred
> + 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
>
More information about the Skiboot
mailing list