[Skiboot] [PATCH 27/61] platforms/astbmc: Add ast2600

Joel Stanley joel at jms.id.au
Thu Jul 29 18:24:20 AEST 2021


On Mon, 19 Jul 2021 at 13:23, Vasant Hegde
<hegdevasant at linux.vnet.ibm.com> wrote:
>
> From: Reza Arbab <arbab at linux.ibm.com>
>
> Signed-off-by: Reza Arbab <arbab at linux.ibm.com>
> Signed-off-by: Vasant Hegde <hegdevasant at linux.vnet.ibm.com>
> ---
>  platforms/astbmc/astbmc.h |  2 ++
>  platforms/astbmc/common.c | 19 +++++++++++++++++--
>  2 files changed, 19 insertions(+), 2 deletions(-)
>
> diff --git a/platforms/astbmc/astbmc.h b/platforms/astbmc/astbmc.h
> index 86631bc4e..00f221230 100644
> --- a/platforms/astbmc/astbmc.h
> +++ b/platforms/astbmc/astbmc.h
> @@ -87,9 +87,11 @@ static struct slot_table_entry st_name[] = \
>
>  extern const struct bmc_hw_config bmc_hw_ast2400;
>  extern const struct bmc_hw_config bmc_hw_ast2500;
> +extern const struct bmc_hw_config bmc_hw_ast2600;
>  extern const struct bmc_platform bmc_plat_ast2400_ami;
>  extern const struct bmc_platform bmc_plat_ast2500_ami;
>  extern const struct bmc_platform bmc_plat_ast2500_openbmc;
> +extern const struct bmc_platform bmc_plat_ast2600_openbmc;
>
>  extern void astbmc_early_init(void);
>  extern int64_t astbmc_ipmi_reboot(void);
> diff --git a/platforms/astbmc/common.c b/platforms/astbmc/common.c
> index d96e070e5..83ef70ad3 100644
> --- a/platforms/astbmc/common.c
> +++ b/platforms/astbmc/common.c
> @@ -266,8 +266,9 @@ static void astbmc_fixup_dt_mbox(struct dt_node *lpc)
>          * can indicate they support mbox using the scratch register, or ipmi
>          * by configuring the hiomap ipmi command. If neither are configured
>          * for P8 then skiboot will drive the flash controller directly.
> +        * XXX P10
>          */
> -       if (proc_gen != proc_gen_p9 && !ast_scratch_reg_is_mbox())
> +       if (proc_gen == proc_gen_p8 && !ast_scratch_reg_is_mbox())
>                 return;
>
>         /* First check if the mbox interface is already there */
> @@ -478,7 +479,7 @@ void astbmc_early_init(void)
>                  * never MBOX. Thus only populate the MBOX node on P9 to allow
>                  * fallback.
>                  */
> -               if (proc_gen == proc_gen_p9) {
> +               if (proc_gen >= proc_gen_p9) {
>                         astbmc_fixup_dt_mbox(dt_find_primary_lpc());
>                         ast_setup_sio_mbox(MBOX_IO_BASE, MBOX_LPC_IRQ);
>                 }

This part looks okay, the rainier BMC will talk without issue.

> @@ -530,6 +531,14 @@ const struct bmc_hw_config bmc_hw_ast2500 = {
>         .mcr_scu_strap = 0x00000000,
>  };
>
> +/* XXX P10: Update with Rainier values */
> +const struct bmc_hw_config bmc_hw_ast2600 = {
> +       .scu_revision_id = 0x05000303,
> +       .mcr_configuration = 0x11200756,
> +       .mcr_scu_mpll = 0x1008405F,
> +       .mcr_scu_strap = 0x000030E0,
> +};

This one is a bit suspect. It won't cause any issue, only because the
PCI id has changed, so the quirk code won't call quirk_astbmc_vga to
populate the device tree.

Probably best to omit it for now.


> +
>  const struct bmc_platform bmc_plat_ast2400_ami = {
>         .name = "ast2400:ami",
>         .hw = &bmc_hw_ast2400,
> @@ -547,3 +556,9 @@ const struct bmc_platform bmc_plat_ast2500_openbmc = {
>         .hw = &bmc_hw_ast2500,
>         .sw = &bmc_sw_openbmc,
>  };
> +
> +const struct bmc_platform bmc_plat_ast2600_openbmc = {
> +       .name = "ast2600:openbmc",
> +       .hw = &bmc_hw_ast2600,
> +       .sw = &bmc_sw_openbmc,
> +};
> --
> 2.31.1
>
> _______________________________________________
> Skiboot mailing list
> Skiboot at lists.ozlabs.org
> https://lists.ozlabs.org/listinfo/skiboot


More information about the Skiboot mailing list