mirror of
				https://github.com/Ysurac/openmptcprouter.git
				synced 2025-03-09 15:40:20 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			168 lines
		
	
	
	
		
			4.2 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			168 lines
		
	
	
	
		
			4.2 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| From 97505f4c049fa2e8c86a53411a9e599033898533 Mon Sep 17 00:00:00 2001
 | |
| From: Robert Marko <robimarko@gmail.com>
 | |
| Date: Sat, 31 Dec 2022 00:27:42 +0100
 | |
| Subject: [PATCH] soc: qcom: socinfo: move SMEM item struct and defines to a
 | |
|  header
 | |
| 
 | |
| Move SMEM item struct and related defines to a header in order to be able
 | |
| to reuse them in the Qualcomm NVMEM CPUFreq driver instead of duplicating
 | |
| them.
 | |
| 
 | |
| Signed-off-by: Robert Marko <robimarko@gmail.com>
 | |
| ---
 | |
|  drivers/soc/qcom/socinfo.c       | 58 +--------------------------
 | |
|  include/linux/soc/qcom/socinfo.h | 67 ++++++++++++++++++++++++++++++++
 | |
|  2 files changed, 68 insertions(+), 57 deletions(-)
 | |
|  create mode 100644 include/linux/soc/qcom/socinfo.h
 | |
| 
 | |
| --- a/drivers/soc/qcom/socinfo.c
 | |
| +++ b/drivers/soc/qcom/socinfo.c
 | |
| @@ -11,6 +11,7 @@
 | |
|  #include <linux/random.h>
 | |
|  #include <linux/slab.h>
 | |
|  #include <linux/soc/qcom/smem.h>
 | |
| +#include <linux/soc/qcom/socinfo.h>
 | |
|  #include <linux/string.h>
 | |
|  #include <linux/sys_soc.h>
 | |
|  #include <linux/types.h>
 | |
| @@ -25,15 +26,6 @@
 | |
|  #define SOCINFO_MINOR(ver) ((ver) & 0xffff)
 | |
|  #define SOCINFO_VERSION(maj, min)  ((((maj) & 0xffff) << 16)|((min) & 0xffff))
 | |
|  
 | |
| -#define SMEM_SOCINFO_BUILD_ID_LENGTH           32
 | |
| -#define SMEM_SOCINFO_CHIP_ID_LENGTH            32
 | |
| -
 | |
| -/*
 | |
| - * SMEM item id, used to acquire handles to respective
 | |
| - * SMEM region.
 | |
| - */
 | |
| -#define SMEM_HW_SW_BUILD_ID            137
 | |
| -
 | |
|  #ifdef CONFIG_DEBUG_FS
 | |
|  #define SMEM_IMAGE_VERSION_BLOCKS_COUNT        32
 | |
|  #define SMEM_IMAGE_VERSION_SIZE                4096
 | |
| @@ -105,54 +97,6 @@ static const char *const pmic_models[] =
 | |
|  };
 | |
|  #endif /* CONFIG_DEBUG_FS */
 | |
|  
 | |
| -/* Socinfo SMEM item structure */
 | |
| -struct socinfo {
 | |
| -	__le32 fmt;
 | |
| -	__le32 id;
 | |
| -	__le32 ver;
 | |
| -	char build_id[SMEM_SOCINFO_BUILD_ID_LENGTH];
 | |
| -	/* Version 2 */
 | |
| -	__le32 raw_id;
 | |
| -	__le32 raw_ver;
 | |
| -	/* Version 3 */
 | |
| -	__le32 hw_plat;
 | |
| -	/* Version 4 */
 | |
| -	__le32 plat_ver;
 | |
| -	/* Version 5 */
 | |
| -	__le32 accessory_chip;
 | |
| -	/* Version 6 */
 | |
| -	__le32 hw_plat_subtype;
 | |
| -	/* Version 7 */
 | |
| -	__le32 pmic_model;
 | |
| -	__le32 pmic_die_rev;
 | |
| -	/* Version 8 */
 | |
| -	__le32 pmic_model_1;
 | |
| -	__le32 pmic_die_rev_1;
 | |
| -	__le32 pmic_model_2;
 | |
| -	__le32 pmic_die_rev_2;
 | |
| -	/* Version 9 */
 | |
| -	__le32 foundry_id;
 | |
| -	/* Version 10 */
 | |
| -	__le32 serial_num;
 | |
| -	/* Version 11 */
 | |
| -	__le32 num_pmics;
 | |
| -	__le32 pmic_array_offset;
 | |
| -	/* Version 12 */
 | |
| -	__le32 chip_family;
 | |
| -	__le32 raw_device_family;
 | |
| -	__le32 raw_device_num;
 | |
| -	/* Version 13 */
 | |
| -	__le32 nproduct_id;
 | |
| -	char chip_id[SMEM_SOCINFO_CHIP_ID_LENGTH];
 | |
| -	/* Version 14 */
 | |
| -	__le32 num_clusters;
 | |
| -	__le32 ncluster_array_offset;
 | |
| -	__le32 num_defective_parts;
 | |
| -	__le32 ndefective_parts_array_offset;
 | |
| -	/* Version 15 */
 | |
| -	__le32 nmodem_supported;
 | |
| -};
 | |
| -
 | |
|  #ifdef CONFIG_DEBUG_FS
 | |
|  struct socinfo_params {
 | |
|  	u32 raw_device_family;
 | |
| --- /dev/null
 | |
| +++ b/include/linux/soc/qcom/socinfo.h
 | |
| @@ -0,0 +1,67 @@
 | |
| +// SPDX-License-Identifier: GPL-2.0
 | |
| +/*
 | |
| + * Copyright (c) 2009-2017, The Linux Foundation. All rights reserved.
 | |
| + * Copyright (c) 2017-2019, Linaro Ltd.
 | |
| + */
 | |
| +
 | |
| +#ifndef __QCOM_SOCINFO_H__
 | |
| +#define __QCOM_SOCINFO_H__
 | |
| +
 | |
| +/*
 | |
| + * SMEM item id, used to acquire handles to respective
 | |
| + * SMEM region.
 | |
| + */
 | |
| +#define SMEM_HW_SW_BUILD_ID		137
 | |
| +
 | |
| +#define SMEM_SOCINFO_BUILD_ID_LENGTH	32
 | |
| +#define SMEM_SOCINFO_CHIP_ID_LENGTH	32
 | |
| +
 | |
| +/* Socinfo SMEM item structure */
 | |
| +struct socinfo {
 | |
| +	__le32 fmt;
 | |
| +	__le32 id;
 | |
| +	__le32 ver;
 | |
| +	char build_id[SMEM_SOCINFO_BUILD_ID_LENGTH];
 | |
| +	/* Version 2 */
 | |
| +	__le32 raw_id;
 | |
| +	__le32 raw_ver;
 | |
| +	/* Version 3 */
 | |
| +	__le32 hw_plat;
 | |
| +	/* Version 4 */
 | |
| +	__le32 plat_ver;
 | |
| +	/* Version 5 */
 | |
| +	__le32 accessory_chip;
 | |
| +	/* Version 6 */
 | |
| +	__le32 hw_plat_subtype;
 | |
| +	/* Version 7 */
 | |
| +	__le32 pmic_model;
 | |
| +	__le32 pmic_die_rev;
 | |
| +	/* Version 8 */
 | |
| +	__le32 pmic_model_1;
 | |
| +	__le32 pmic_die_rev_1;
 | |
| +	__le32 pmic_model_2;
 | |
| +	__le32 pmic_die_rev_2;
 | |
| +	/* Version 9 */
 | |
| +	__le32 foundry_id;
 | |
| +	/* Version 10 */
 | |
| +	__le32 serial_num;
 | |
| +	/* Version 11 */
 | |
| +	__le32 num_pmics;
 | |
| +	__le32 pmic_array_offset;
 | |
| +	/* Version 12 */
 | |
| +	__le32 chip_family;
 | |
| +	__le32 raw_device_family;
 | |
| +	__le32 raw_device_num;
 | |
| +	/* Version 13 */
 | |
| +	__le32 nproduct_id;
 | |
| +	char chip_id[SMEM_SOCINFO_CHIP_ID_LENGTH];
 | |
| +	/* Version 14 */
 | |
| +	__le32 num_clusters;
 | |
| +	__le32 ncluster_array_offset;
 | |
| +	__le32 num_defective_parts;
 | |
| +	__le32 ndefective_parts_array_offset;
 | |
| +	/* Version 15 */
 | |
| +	__le32 nmodem_supported;
 | |
| +};
 | |
| +
 | |
| +#endif
 |