On 26/02/2024 10:07, Varadarajan Narayanan wrote:
> Add few SMEM related defines that will be used for
> IPQ9574 based boards.

The tiny To/Cc list above is probably because this file isn't mentioned
in MAINTAINERS, please add myself, Neil, and Sumit (see the ARM
SNAPDRAGON section in MAINTAINERS) on the next revision, thanks.
> 
> Signed-off-by: Varadarajan Narayanan <[email protected]>
> ---
> 
>  include/smem.h | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 78 insertions(+)
> 
> diff --git a/include/smem.h b/include/smem.h
> index b19c534ebc..f305354996 100644
> --- a/include/smem.h
> +++ b/include/smem.h
> @@ -16,6 +16,84 @@
>  #ifndef _smemh_
>  #define _smemh_
>  
> +enum {
> +     SMEM_SPINLOCK_ARRAY             = 7,
> +     SMEM_AARM_PARTITION_TABLE       = 9,
> +     SMEM_HW_SW_BUILD_ID             = 137,
As I understand it, smem is a bit of a dumping ground of various
different data, some of which is standard across all boards and some is
not... A lot of the values you're adding here seem specific to this
modern set of IPQ-based dev boards. Could you document what each of
these values actually does.
> +     SMEM_USABLE_RAM_PARTITION_TABLE = 402,
> +     SMEM_POWER_ON_STATUS_INFO       = 403,
> +     SMEM_MACHID_INFO_LOCATION       = 425,
> +     SMEM_IMAGE_VERSION_TABLE        = 469,
> +     SMEM_BOOT_FLASH_TYPE            = 498,
> +     SMEM_BOOT_FLASH_INDEX           = 499,
> +     SMEM_BOOT_FLASH_CHIP_SELECT     = 500,
> +     SMEM_BOOT_FLASH_BLOCK_SIZE      = 501,
> +     SMEM_BOOT_FLASH_DENSITY         = 502,
> +     SMEM_BOOT_DUALPARTINFO          = 503,
> +     SMEM_PARTITION_TABLE_OFFSET     = 504,
> +     SMEM_SPI_FLASH_ADDR_LEN         = 505,
> +     SMEM_FIRST_VALID_TYPE           = SMEM_SPINLOCK_ARRAY,
> +     SMEM_LAST_VALID_TYPE            = SMEM_SPI_FLASH_ADDR_LEN,
> +     SMEM_MAX_SIZE                   = SMEM_SPI_FLASH_ADDR_LEN + 1,
> +};
> +
> +enum {
> +     SMEM_BOOT_NO_FLASH              = 0,
Likewise what what smem property do these correspond to?
> +     SMEM_BOOT_NOR_FLASH             = 1,
> +     SMEM_BOOT_NAND_FLASH            = 2,
> +     SMEM_BOOT_ONENAND_FLASH         = 3,
> +     SMEM_BOOT_SDC_FLASH             = 4,
> +     SMEM_BOOT_MMC_FLASH             = 5,
> +     SMEM_BOOT_SPI_FLASH             = 6,
> +     SMEM_BOOT_NORPLUSNAND           = 7,
> +     SMEM_BOOT_NORPLUSEMMC           = 8,
> +     SMEM_BOOT_QSPI_NAND_FLASH       = 11,
> +};
> +
> +#define BUILD_ID_LEN                 32
> +#define SOCINFO_VERSION_MAJOR(ver)   (((ver) & 0xffff0000) >> 16)
> +#define SOCINFO_VERSION_MINOR(ver)   ((ver) & 0x0000ffff)
> +
> +struct smem_pmic_type {
Please document these structs, and which SMEM property they represent.
> +     unsigned int pmic_model;
> +     unsigned int pmic_die_revision;
> +};
> +
> +struct ipq_platform_v1 {
> +     unsigned int    format;
> +     unsigned int    id;
> +     unsigned int    version;
> +     char            build_id[BUILD_ID_LEN];
> +     unsigned int    raw_id;
> +     unsigned int    raw_version;
> +     unsigned int    hw_platform;
> +     unsigned int    platform_version;
> +     unsigned int    accessory_chip;
> +     unsigned int    hw_platform_subtype;
> +};
> +
> +struct ipq_platform_v2 {
> +     struct ipq_platform_v1  v1;
> +     struct smem_pmic_type   pmic_info[3];
> +     unsigned int            foundry_id;
> +};
> +
> +struct ipq_platform_v3 {
> +     struct ipq_platform_v2  v2;
> +     unsigned int            chip_serial;
> +};
> +
> +union ipq_platform {
> +     struct ipq_platform_v1  v1;
> +     struct ipq_platform_v2  v2;
> +     struct ipq_platform_v3  v3;
> +};
> +
> +struct smem_machid_info {
> +     unsigned int format;
> +     unsigned int machid;
> +};
> +
>  /* struct smem_ops: Operations for the SMEM uclass */
>  struct smem_ops {
>       /**

-- 
// Caleb (they/them)

Reply via email to