xref: /rk3399_rockchip-uboot/arch/arm/include/asm/arch-rockchip/rk_meta.h (revision 48201c4cddae8e1cde91993ceedfd755a3e6fff4)
1 /* SPDX-License-Identifier:     GPL-2.0+ */
2 /*
3  * (C) Copyright 2022 Rockchip Electronics Co., Ltd
4  *
5  */
6 
7 #ifndef _RK_CFG_H_
8 #define _RK_CFG_H_
9 
10 /*      META storage layout        */
11 /***************************/      /* ----- ITEM start -----*/
12 /**     META_HEAD  4KB    **/
13 /***************************/
14 /**     ITEM 1            **/
15 /***************************/
16 /**     ITEM 2            **/
17 /***************************/
18 /**     ITEM 3            **/
19 /***************************/
20 /**       ....            **/
21 /***************************/      /* --- ITEM backup start 32KB ---*/
22 /**     ITEM 1 BACKUP     **/
23 /***************************/
24 /**     ITEM 2 BACKUP     **/
25 /***************************/
26 /**     ITEM 3 BACKUP     **/
27 /***************************/
28 /**       ....            **/
29 /***************************/
30 /**     META_END  4KB     **/
31 /***************************/      /* ----- ITEM backup end -----*/
32 /**     IQ FILE BIN       **/       /* 320K sensor iq file bin */
33 /***************************/
34 
35 /*      META memory layout        */
36 /***************************/      /* ----- ITEM start -----*/
37 /**     Amp info  512B    **/
38 /***************************/
39 /**     ITEM 1            **/
40 /***************************/
41 /**     ITEM 2            **/
42 /***************************/
43 /**     ITEM 3            **/
44 /***************************/
45 /**       ....            **/
46 /***************************/      /* --- ITEM backup start 32KB ---*/
47 /**     ITEM 1 BACKUP     **/
48 /***************************/
49 /**     ITEM 2 BACKUP     **/
50 /***************************/
51 /**     ITEM 3 BACKUP     **/
52 /***************************/
53 /**       ....            **/
54 /***************************/
55 /**     META_END  4KB     **/
56 /***************************/      /* ----- ITEM backup end -----*/
57 /**     IQ FILE BIN       **/       /* 320K sensor iq file bin */
58 /***************************/
59 
60 #define RK_META			0x544d4b52
61 #define RK_META_END		0x55aabbcc
62 #define RK_CMDLINE		0x4c444d43
63 #define RK_META_DATA_OFFSET	0x8
64 
65 #define ITEM_SIZE		(4 * 1024)
66 #define MAX_CMDLINE_LENGTH	1024
67 #define MAX_HEAD_SIZE 4
68 #define MAX_META_SEGMENT_SIZE (64 * 1024)
69 #define MAX_META_SENSOR_IQ_BIN_SIZE (320 * 1024)
70 #define MAX_META_BIN_SIZE (MAX_META_SEGMENT_SIZE + MAX_META_SENSOR_IQ_BIN_SIZE)
71 #define BACKUP_META_SIZE (MAX_META_SEGMENT_SIZE / 2)
72 #define META_INFO_HEAD_OFFSET	0
73 #define META_INFO_SIZE		ITEM_SIZE /* 4K bytes */
74 #define SENSOR_INIT_OFFSET	(META_INFO_HEAD_OFFSET + META_INFO_SIZE)
75 #define SENSOR_INIT_MAX_SIZE	ITEM_SIZE /* 4K bytes */
76 #define CMDLINE_OFFSET		(SENSOR_INIT_OFFSET + SENSOR_INIT_MAX_SIZE)
77 #define CMDLINE_MAX_SIZE	ITEM_SIZE /* 4K bytes */
78 #define AE_TABLE_OFFSET		(CMDLINE_OFFSET + CMDLINE_MAX_SIZE)
79 #define AE_TABLE_MAX_SIZE	ITEM_SIZE /* 4K bytes */
80 #define SENSOR_IQ_BIN_OFFSET			(MAX_META_SEGMENT_SIZE)
81 #define SENSOR_IQ_BIN_MAX_SIZE			(320 * 1024)
82 #define META_SIZE						MAX_META_BIN_SIZE
83 #define	META_HEAD_RESERVED_SIZE	   (124*4)
84 
85 #define RK_AMP			0x504d4b52
86 /* rk_amp_info flags */
87 #define RK_AMP_DATA_READY	(1 << 0)
88 
89 struct meta_head {
90 	uint32_t tag;
91 	uint32_t load;
92 	uint32_t size;
93 	uint8_t  reserved[META_HEAD_RESERVED_SIZE];
94 	uint32_t crc32;
95 };
96 
97 struct rk_amp_info {
98 	uint32_t tag;
99 	uint32_t flags;
100 	uint32_t crc32;
101 };
102 
103 struct cmdline_info {
104 	uint32_t tag;
105 	uint8_t data[MAX_CMDLINE_LENGTH];
106 	uint32_t crc32;
107 };
108 
109 #endif
110