1bd628c1bSjames qian wang (Arm Technology China) /* SPDX-License-Identifier: GPL-2.0 */
2bd628c1bSjames qian wang (Arm Technology China) /*
3bd628c1bSjames qian wang (Arm Technology China)  * (C) COPYRIGHT 2018 ARM Limited. All rights reserved.
4bd628c1bSjames qian wang (Arm Technology China)  * Author: James.Qian.Wang <james.qian.wang@arm.com>
5bd628c1bSjames qian wang (Arm Technology China)  *
6bd628c1bSjames qian wang (Arm Technology China)  */
7bd628c1bSjames qian wang (Arm Technology China) #ifndef _MALIDP_PRODUCT_H_
8bd628c1bSjames qian wang (Arm Technology China) #define _MALIDP_PRODUCT_H_
9bd628c1bSjames qian wang (Arm Technology China) 
10bd628c1bSjames qian wang (Arm Technology China) /* Product identification */
11bd628c1bSjames qian wang (Arm Technology China) #define MALIDP_CORE_ID(__product, __major, __minor, __status) \
12bd628c1bSjames qian wang (Arm Technology China) 	((((__product) & 0xFFFF) << 16) | (((__major) & 0xF) << 12) | \
13bd628c1bSjames qian wang (Arm Technology China) 	(((__minor) & 0xF) << 8) | ((__status) & 0xFF))
14bd628c1bSjames qian wang (Arm Technology China) 
15bd628c1bSjames qian wang (Arm Technology China) #define MALIDP_CORE_ID_PRODUCT_ID(__core_id) ((__u32)(__core_id) >> 16)
16bd628c1bSjames qian wang (Arm Technology China) #define MALIDP_CORE_ID_MAJOR(__core_id)      (((__u32)(__core_id) >> 12) & 0xF)
17bd628c1bSjames qian wang (Arm Technology China) #define MALIDP_CORE_ID_MINOR(__core_id)      (((__u32)(__core_id) >> 8) & 0xF)
18bd628c1bSjames qian wang (Arm Technology China) #define MALIDP_CORE_ID_STATUS(__core_id)     (((__u32)(__core_id)) & 0xFF)
19bd628c1bSjames qian wang (Arm Technology China) 
20bd628c1bSjames qian wang (Arm Technology China) /* Mali-display product IDs */
21bd628c1bSjames qian wang (Arm Technology China) #define MALIDP_D71_PRODUCT_ID	0x0071
2217cfcb68Sjames qian wang (Arm Technology China) #define MALIDP_D32_PRODUCT_ID	0x0032
23bd628c1bSjames qian wang (Arm Technology China) 
2455223394Sjames qian wang (Arm Technology China) union komeda_config_id {
2555223394Sjames qian wang (Arm Technology China) 	struct {
2655223394Sjames qian wang (Arm Technology China) 		__u32	max_line_sz:16,
2755223394Sjames qian wang (Arm Technology China) 			n_pipelines:2,
2855223394Sjames qian wang (Arm Technology China) 			n_scalers:2, /* number of scalers per pipeline */
2955223394Sjames qian wang (Arm Technology China) 			n_layers:3, /* number of layers per pipeline */
3055223394Sjames qian wang (Arm Technology China) 			n_richs:3, /* number of rich layers per pipeline */
3155223394Sjames qian wang (Arm Technology China) 			reserved_bits:6;
3255223394Sjames qian wang (Arm Technology China) 	};
3355223394Sjames qian wang (Arm Technology China) 	__u32 value;
3455223394Sjames qian wang (Arm Technology China) };
3555223394Sjames qian wang (Arm Technology China) 
36bd628c1bSjames qian wang (Arm Technology China) #endif /* _MALIDP_PRODUCT_H_ */
37