xref: /rk3399_ARM-atf/include/drivers/nxp/dcfg/dcfg_lsch2.h (revision 08695df91dffb2e45c01866b760d73cb531a071b)
1050a99a6SPankaj Gupta /*
2050a99a6SPankaj Gupta  * Copyright 2020-2021 NXP
3050a99a6SPankaj Gupta  *
4050a99a6SPankaj Gupta  * SPDX-License-Identifier: BSD-3-Clause
5050a99a6SPankaj Gupta  *
6050a99a6SPankaj Gupta  */
7050a99a6SPankaj Gupta 
8050a99a6SPankaj Gupta #ifndef DCFG_LSCH2_H
9050a99a6SPankaj Gupta #define DCFG_LSCH2_H
10050a99a6SPankaj Gupta 
11050a99a6SPankaj Gupta /* dcfg block register offsets and bitfields */
12050a99a6SPankaj Gupta #define DCFG_PORSR1_OFFSET		0x00
13050a99a6SPankaj Gupta #define DCFG_DEVDISR1_OFFSET		0x070
14050a99a6SPankaj Gupta #define DCFG_DEVDISR4_OFFSET		0x07C
15050a99a6SPankaj Gupta #define DCFG_DEVDISR5_OFFSET		0x080
16050a99a6SPankaj Gupta #define DCFG_COREDISR_OFFSET		0x094
17050a99a6SPankaj Gupta #define RCWSR0_OFFSET			0x100
18050a99a6SPankaj Gupta #define RCWSR5_OFFSET			0x118
19050a99a6SPankaj Gupta #define DCFG_BOOTLOCPTRL_OFFSET		0x400
20050a99a6SPankaj Gupta #define DCFG_BOOTLOCPTRH_OFFSET		0x404
21050a99a6SPankaj Gupta #define DCFG_COREDISABLEDSR_OFFSET	0x990
22050a99a6SPankaj Gupta #define DCFG_SCRATCH4_OFFSET		0x20C
23050a99a6SPankaj Gupta #define DCFG_SVR_OFFSET			0x0A4
24050a99a6SPankaj Gupta #define DCFG_BRR_OFFSET			0x0E4
25050a99a6SPankaj Gupta 
26050a99a6SPankaj Gupta #define DCFG_RSTCR_OFFSET		0x0B0
27050a99a6SPankaj Gupta #define RSTCR_RESET_REQ			0x2
28050a99a6SPankaj Gupta 
29050a99a6SPankaj Gupta #define DCFG_RSTRQSR1_OFFSET		0x0C8
30050a99a6SPankaj Gupta #define DCFG_RSTRQMR1_OFFSET		0x0C0
31050a99a6SPankaj Gupta 
32050a99a6SPankaj Gupta /* DCFG DCSR Macros */
33050a99a6SPankaj Gupta #define DCFG_DCSR_PORCR1_OFFSET		0x0
34050a99a6SPankaj Gupta 
35050a99a6SPankaj Gupta #define SVR_MFR_ID_MASK			0xF0000000
36050a99a6SPankaj Gupta #define SVR_MFR_ID_SHIFT		28
37*08695df9SJiafei Pan #define SVR_DEV_ID_MASK			0xFFF0000
38050a99a6SPankaj Gupta #define SVR_DEV_ID_SHIFT		16
39*08695df9SJiafei Pan #define SVR_PERSONALITY_MASK		0xFF00
40*08695df9SJiafei Pan #define SVR_PERSONALITY_SHIFT		8
41050a99a6SPankaj Gupta #define SVR_SEC_MASK			0x100
42050a99a6SPankaj Gupta #define SVR_SEC_SHIFT			8
43050a99a6SPankaj Gupta #define SVR_MAJ_VER_MASK		0xF0
44050a99a6SPankaj Gupta #define SVR_MAJ_VER_SHIFT		4
45050a99a6SPankaj Gupta #define SVR_MIN_VER_MASK		0xF
46050a99a6SPankaj Gupta 
47050a99a6SPankaj Gupta #define DISR5_DDRC1_MASK		0x1
48050a99a6SPankaj Gupta #define DISR5_OCRAM_MASK		0x40
49050a99a6SPankaj Gupta 
50050a99a6SPankaj Gupta /* DCFG regsiters bit masks */
51050a99a6SPankaj Gupta #define RCWSR0_SYS_PLL_RAT_SHIFT	25
52050a99a6SPankaj Gupta #define RCWSR0_SYS_PLL_RAT_MASK		0x1f
53050a99a6SPankaj Gupta #define RCWSR0_MEM_PLL_RAT_SHIFT	16
54050a99a6SPankaj Gupta #define RCWSR0_MEM_PLL_RAT_MASK		0x3f
55050a99a6SPankaj Gupta #define RCWSR0_MEM2_PLL_RAT_SHIFT	18
56050a99a6SPankaj Gupta #define RCWSR0_MEM2_PLL_RAT_MASK	0x3f
57050a99a6SPankaj Gupta 
58050a99a6SPankaj Gupta #define RCWSR_SB_EN_OFFSET		RCWSR5_OFFSET
59050a99a6SPankaj Gupta #define RCWSR_SBEN_MASK			0x1
60050a99a6SPankaj Gupta #define RCWSR_SBEN_SHIFT		21
61050a99a6SPankaj Gupta 
62050a99a6SPankaj Gupta /* RCW SRC NAND */
63050a99a6SPankaj Gupta #define RCW_SRC_NAND_MASK		(0x100)
64050a99a6SPankaj Gupta #define RCW_SRC_NAND_VAL		(0x100)
65050a99a6SPankaj Gupta #define NAND_RESERVED_MASK		(0xFC)
66050a99a6SPankaj Gupta #define NAND_RESERVED_1			(0x0)
67050a99a6SPankaj Gupta #define NAND_RESERVED_2			(0x80)
68050a99a6SPankaj Gupta 
69050a99a6SPankaj Gupta /* RCW SRC NOR */
70050a99a6SPankaj Gupta #define RCW_SRC_NOR_MASK		(0x1F0)
71050a99a6SPankaj Gupta #define NOR_8B_VAL			(0x10)
72050a99a6SPankaj Gupta #define NOR_16B_VAL			(0x20)
73050a99a6SPankaj Gupta #define SD_VAL				(0x40)
74050a99a6SPankaj Gupta #define QSPI_VAL1			(0x44)
75050a99a6SPankaj Gupta #define QSPI_VAL2			(0x45)
76050a99a6SPankaj Gupta 
77050a99a6SPankaj Gupta #endif /*	DCFG_LSCH2_H	*/
78