On 10/11/2017 05:49 AM, Andrew Jeffery wrote:
> On Tue, 2017-10-10 at 15:30 +0200, Cédric Le Goater wrote:
>> On 10/09/2017 02:04 AM, Andrew Jeffery wrote:
>>> On Wed, 2017-09-20 at 09:01 +0200, Cédric Le Goater wrote:
>>>> The Witherspoon boards are OpenPOWER system hosting POWER9 Processors.
>>>> Let's add support for their BMC including a couple of I2C devices as
>>>> found on real HW.
>>>>  
>>>>>>> Signed-off-by: Cédric Le Goater <c...@kaod.org>
>>>> ---
>>>>  hw/arm/aspeed.c | 49 +++++++++++++++++++++++++++++++++++++++++++++++++
>>>>  1 file changed, 49 insertions(+)
>>>>  
>>>> diff --git a/hw/arm/aspeed.c b/hw/arm/aspeed.c
>>>> index ab895ad490af..81f522f711ae 100644
>>>> --- a/hw/arm/aspeed.c
>>>> +++ b/hw/arm/aspeed.c
>>>> @@ -46,6 +46,7 @@ enum {
>>>>      PALMETTO_BMC,
>>>>      AST2500_EVB,
>>>>      ROMULUS_BMC,
>>>> +    WITHERSPOON_BMC,
>>>>  };
>>>>  
>>>>  /* Palmetto hardware value: 0x120CE416 */
>>>> @@ -83,8 +84,12 @@ enum {
>>>>          SCU_AST2500_HW_STRAP_ACPI_ENABLE |                              \
>>>>          SCU_HW_STRAP_SPI_MODE(SCU_HW_STRAP_SPI_MASTER))
>>>>  
>>>> +/* Witherspoon hardware value: 0xF10AD216 (but use romulus definition) */
>>>> +#define WITHERSPOON_BMC_HW_STRAP1 ROMULUS_BMC_HW_STRAP1
>>>> +
>>>>  static void palmetto_bmc_i2c_init(AspeedBoardState *bmc);
>>>>  static void ast2500_evb_i2c_init(AspeedBoardState *bmc);
>>>> +static void witherspoon_bmc_i2c_init(AspeedBoardState *bmc);
>>>>  
>>>>  static const AspeedBoardConfig aspeed_boards[] = {
>>>>      [PALMETTO_BMC] = {
>>>> @@ -110,6 +115,14 @@ static const AspeedBoardConfig aspeed_boards[] = {
>>>>          .spi_model = "mx66l1g45g",
>>>>          .num_cs    = 2,
>>>>      },
>>>> +    [WITHERSPOON_BMC]  = {
>>>> +        .soc_name  = "ast2500-a1",
>>>> +        .hw_strap1 = WITHERSPOON_BMC_HW_STRAP1,
>>>> +        .fmc_model = "mx25l25635e",
>>>> +        .spi_model = "mx66l1g45g",
>>>> +        .num_cs    = 2,
>>>> +        .i2c_init  = witherspoon_bmc_i2c_init,
>>>> +    },
>>>>  };
>>>>  
>>>>  #define FIRMWARE_ADDR 0x0
>>>> @@ -337,11 +350,47 @@ static const TypeInfo romulus_bmc_type = {
>>>>      .class_init = romulus_bmc_class_init,
>>>>  };
>>>>  
>>>> +static void witherspoon_bmc_i2c_init(AspeedBoardState *bmc)
>>>> +{
>>>> +    AspeedSoCState *soc = &bmc->soc;
>>>> +
>>>> +    i2c_create_slave(aspeed_i2c_get_bus(DEVICE(&soc->i2c), 4), "tmp423", 
>>>> 0x4c);
>>>> +    i2c_create_slave(aspeed_i2c_get_bus(DEVICE(&soc->i2c), 5), "tmp423", 
>>>> 0x4c);
>>>> +
>>>> +    i2c_create_slave(aspeed_i2c_get_bus(DEVICE(&soc->i2c), 9), "tmp105", 
>>>> 0x4a);
>>>
>>> Looks like I need to track down newer versions of the schematics I have.
>>
>> the device on the board is a tmp275 but the tmp105 model is compatible.
> 
> It neither device is listed in the version I have :)

Here is my source :

        
https://github.com/openbmc/linux/blob/dev-4.10/arch/arm/boot/dts/aspeed-bmc-opp-witherspoon.dts#L504

C. 

Reply via email to