[PATCH 2/4] x86: apl: Add hex offsets for registers in FSP-M

Bin Meng bmeng.cn at gmail.com
Tue May 26 10:13:37 CEST 2020


Hi Simon,

On Tue, May 26, 2020 at 4:16 AM Simon Glass <sjg at chromium.org> wrote:
>
> When comparing hex dumps it is useful to see the offsets of the registers.
> Add them in where they correspond to a multiple of 16.
>
> Possibly it would be useful to have a a command to output the FSP values
> in human-readable form, making use of the fsp_bindings implementation.
>
> Signed-off-by: Simon Glass <sjg at chromium.org>
> ---
>
>  .../include/asm/arch-apollolake/fsp/fsp_m_upd.h  | 16 ++++++++++++++--
>  1 file changed, 14 insertions(+), 2 deletions(-)
>
> diff --git a/arch/x86/include/asm/arch-apollolake/fsp/fsp_m_upd.h b/arch/x86/include/asm/arch-apollolake/fsp/fsp_m_upd.h
> index a77964f30c..e9be66e5b6 100644
> --- a/arch/x86/include/asm/arch-apollolake/fsp/fsp_m_upd.h
> +++ b/arch/x86/include/asm/arch-apollolake/fsp/fsp_m_upd.h
> @@ -34,7 +34,14 @@ struct __packed fsp_ram_channel {
>         u8      odt_levels;
>  };
>
> +/* struct fsp_m_config - FSP-M configuration

nits: incorrect multi-line comment format

> + *
> + * Note that headers precede this and are 64 bytes long. The hex offsets
> + * mentioned in this file are relative to the start of the header, the same
> + * convention used in Intel's APL FSP header file.
> + */
>  struct __packed fsp_m_config {
> +       /* 40 */

So this is a hex number, please make it explicit by adding the 0x
prefix to all these numbers otherwise it's quite confusing.

>         u32     serial_debug_port_address;
>         u8      serial_debug_port_type;
>         u8      serial_debug_port_device;
> @@ -49,6 +56,7 @@ struct __packed fsp_m_config {
>         u8      profile;
>         u8      memory_down;
>
> +       /* 50 */
>         u8      ddr3_l_page_size;
>         u8      ddr3_lasr;
>         u8      scrambler_support;
> @@ -62,6 +70,7 @@ struct __packed fsp_m_config {
>         u16     memory_size_limit;
>         u16     low_memory_max_value;
>
> +       /* 60 */
>         u16     high_memory_max_value;
>         u8      disable_fast_boot;
>         u8      dimm0_spd_address;
> @@ -73,6 +82,7 @@ struct __packed fsp_m_config {
>         u32     msg_level_mask;
>         u8      unused_upd_space0[4];
>
> +       /* 110 */
>         u8      pre_mem_gpio_table_pin_num[4];
>         u32     pre_mem_gpio_table_ptr;
>         u8      pre_mem_gpio_table_entry_num;
> @@ -81,8 +91,10 @@ struct __packed fsp_m_config {
>         u8      mrc_data_saving;
>         u32     oem_loading_base;
>
> +       /* 120 */
>         u8      oem_file_name[16];
>
> +       /* 130 */
>         void    *mrc_boot_data_ptr;
>         u8      e_mmc_trace_len;
>         u8      skip_cse_rbp;
> @@ -94,20 +106,20 @@ struct __packed fsp_m_config {
>         u8      msc1_wrap;
>         u32     msc0_size;
>
> +       /* 140 */
>         u32     msc1_size;
>         u8      pti_mode;
>         u8      pti_training;
>         u8      pti_speed;
>         u8      punit_mlvl;
> -
>         u8      pmc_mlvl;
>         u8      sw_trace_en;
>         u8      periodic_retraining_disable;
>         u8      enable_reset_system;
> -
>         u8      enable_s3_heci2;
>         u8      unused_upd_space1[3];
>
> +       /* 150 */
>         void    *variable_nvs_buffer_ptr;
>         u8      reserved_fspm_upd[12];
>  };
> --

Regards,
Bin


More information about the U-Boot mailing list