[1/2] ast-bmc: Document BMC scratch register

Message ID 20180228061610.30856-2-joel@jms.id.au
State Accepted
Headers show
Series
  • Use mbox scratch register for p8
Related show

Commit Message

Joel Stanley Feb. 28, 2018, 6:16 a.m.
ASPEED BMCs use SIO register 0x29 to configure host firmwrae settings.
This documents those setings as currently used by Hostboot in [1].
Despite the naming, these settings are relevant for ast2500 systems as
well.

[1] src/usr/initservice/bootconfig/bootconfig_ast2400.H

Signed-off-by: Joel Stanley <joel@jms.id.au>
---
 hw/ast-bmc/ast-io.c | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

Comments

Stewart Smith May 24, 2018, 4:56 a.m. | #1
Joel Stanley <joel@jms.id.au> writes:
> ASPEED BMCs use SIO register 0x29 to configure host firmwrae settings.
> This documents those setings as currently used by Hostboot in [1].
> Despite the naming, these settings are relevant for ast2500 systems as
> well.
>
> [1] src/usr/initservice/bootconfig/bootconfig_ast2400.H

Apart from the insanity that is PPC bit ordering, it looks like hostboot
doesn't quite agree with what the usage is? is there something waiting
to get into HB to fill out the docs? Do we need to get some agreement
with the HB folk here?

    /**
     * @brief Read BMC Scratch registers containing the boot flags
     *        and process them as needed.
     *
     *  SIO Register 0x29: Boot Flags
     *
     *       [0:1] Boot mode:
     *              00 : Normal
     *              01 : Terminate on first error
     *              10 : istep mode
     *              11 : reserved
     *       [2:3] Boot options
     *              00 : reserved
     *              01 : reserved
     *              10 : Clear gard
     *              11 : reserved
     *       [ 4 ] Reserved
     *       [5:7] Hostboot Log level:
     *                 000 : Normal
     *                 001 : Enable Scan trace
     *                 xxx : reserved
     *
     * @return - errlHndl_t
     */
    errlHndl_t readAndProcessBootConfig();


>
> Signed-off-by: Joel Stanley <joel@jms.id.au>
> ---
>  hw/ast-bmc/ast-io.c | 20 ++++++++++++++++++++
>  1 file changed, 20 insertions(+)
>
> diff --git a/hw/ast-bmc/ast-io.c b/hw/ast-bmc/ast-io.c
> index 1e826fcca6d0..cd1aba2a177a 100644
> --- a/hw/ast-bmc/ast-io.c
> +++ b/hw/ast-bmc/ast-io.c
> @@ -95,6 +95,26 @@
>  #define BMC_SIO_SCR28 0x28
>  #define BOOT_FLAGS_VERSION 0x42
>  
> +/*
> + *  SIO Register 0x29: Boot Flags (normal bit ordering)
> + *
> + *       [7:6] Hostboot Boot mode:
> + *              00 : Normal
> + *              01 : Terminate on first error
> + *              10 : istep mode
> + *              11 : reserved
> + *       [5:4] Boot options
> + *              00 : reserved
> + *              01 : Memboot
> + *              10 : Clear gard
> + *              11 : reserved
> + *       [ 3 ] BMC mbox PNOR driver
> + *       [2:0] Hostboot Log level:
> + *                 000 : Normal
> + *                 001 : Enable Scan trace
> + *                 xxx : reserved
> + */
> +
>  #define BMC_SIO_SCR29 0x29
>  #define BMC_SIO_SCR29_MEMBOOT 0x10
>  
> -- 
> 2.15.1
>
> _______________________________________________
> Skiboot mailing list
> Skiboot@lists.ozlabs.org
> https://lists.ozlabs.org/listinfo/skiboot

Patch

diff --git a/hw/ast-bmc/ast-io.c b/hw/ast-bmc/ast-io.c
index 1e826fcca6d0..cd1aba2a177a 100644
--- a/hw/ast-bmc/ast-io.c
+++ b/hw/ast-bmc/ast-io.c
@@ -95,6 +95,26 @@ 
 #define BMC_SIO_SCR28 0x28
 #define BOOT_FLAGS_VERSION 0x42
 
+/*
+ *  SIO Register 0x29: Boot Flags (normal bit ordering)
+ *
+ *       [7:6] Hostboot Boot mode:
+ *              00 : Normal
+ *              01 : Terminate on first error
+ *              10 : istep mode
+ *              11 : reserved
+ *       [5:4] Boot options
+ *              00 : reserved
+ *              01 : Memboot
+ *              10 : Clear gard
+ *              11 : reserved
+ *       [ 3 ] BMC mbox PNOR driver
+ *       [2:0] Hostboot Log level:
+ *                 000 : Normal
+ *                 001 : Enable Scan trace
+ *                 xxx : reserved
+ */
+
 #define BMC_SIO_SCR29 0x29
 #define BMC_SIO_SCR29_MEMBOOT 0x10