[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