xref: /OK3568_Linux_fs/kernel/drivers/bcma/scan.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */
2*4882a593Smuzhiyun #ifndef BCMA_SCAN_H_
3*4882a593Smuzhiyun #define BCMA_SCAN_H_
4*4882a593Smuzhiyun 
5*4882a593Smuzhiyun #define BCMA_ADDR_BASE		0x18000000
6*4882a593Smuzhiyun #define BCMA_WRAP_BASE		0x18100000
7*4882a593Smuzhiyun 
8*4882a593Smuzhiyun #define SCAN_ER_VALID		0x00000001
9*4882a593Smuzhiyun #define SCAN_ER_TAGX		0x00000006 /* we have to ignore 0x8 bit when checking tag for SCAN_ER_TAG_ADDR */
10*4882a593Smuzhiyun #define SCAN_ER_TAG		0x0000000E
11*4882a593Smuzhiyun #define  SCAN_ER_TAG_CI		0x00000000
12*4882a593Smuzhiyun #define  SCAN_ER_TAG_MP		0x00000002
13*4882a593Smuzhiyun #define  SCAN_ER_TAG_ADDR	0x00000004
14*4882a593Smuzhiyun #define  SCAN_ER_TAG_END	0x0000000E
15*4882a593Smuzhiyun #define SCAN_ER_BAD		0xFFFFFFFF
16*4882a593Smuzhiyun 
17*4882a593Smuzhiyun #define SCAN_CIA_CLASS		0x000000F0
18*4882a593Smuzhiyun #define SCAN_CIA_CLASS_SHIFT	4
19*4882a593Smuzhiyun #define SCAN_CIA_ID		0x000FFF00
20*4882a593Smuzhiyun #define SCAN_CIA_ID_SHIFT	8
21*4882a593Smuzhiyun #define SCAN_CIA_MANUF		0xFFF00000
22*4882a593Smuzhiyun #define SCAN_CIA_MANUF_SHIFT	20
23*4882a593Smuzhiyun 
24*4882a593Smuzhiyun #define SCAN_CIB_NMP		0x000001F0
25*4882a593Smuzhiyun #define SCAN_CIB_NMP_SHIFT	4
26*4882a593Smuzhiyun #define SCAN_CIB_NSP		0x00003E00
27*4882a593Smuzhiyun #define SCAN_CIB_NSP_SHIFT	9
28*4882a593Smuzhiyun #define SCAN_CIB_NMW		0x0007C000
29*4882a593Smuzhiyun #define SCAN_CIB_NMW_SHIFT	14
30*4882a593Smuzhiyun #define SCAN_CIB_NSW		0x00F80000
31*4882a593Smuzhiyun #define SCAN_CIB_NSW_SHIFT	19
32*4882a593Smuzhiyun #define SCAN_CIB_REV		0xFF000000
33*4882a593Smuzhiyun #define SCAN_CIB_REV_SHIFT	24
34*4882a593Smuzhiyun 
35*4882a593Smuzhiyun #define SCAN_ADDR_AG32		0x00000008
36*4882a593Smuzhiyun #define SCAN_ADDR_SZ		0x00000030
37*4882a593Smuzhiyun #define SCAN_ADDR_SZ_SHIFT	4
38*4882a593Smuzhiyun #define  SCAN_ADDR_SZ_4K	0x00000000
39*4882a593Smuzhiyun #define  SCAN_ADDR_SZ_8K	0x00000010
40*4882a593Smuzhiyun #define  SCAN_ADDR_SZ_16K	0x00000020
41*4882a593Smuzhiyun #define  SCAN_ADDR_SZ_SZD	0x00000030
42*4882a593Smuzhiyun #define SCAN_ADDR_TYPE		0x000000C0
43*4882a593Smuzhiyun #define  SCAN_ADDR_TYPE_SLAVE	0x00000000
44*4882a593Smuzhiyun #define  SCAN_ADDR_TYPE_BRIDGE	0x00000040
45*4882a593Smuzhiyun #define  SCAN_ADDR_TYPE_SWRAP	0x00000080
46*4882a593Smuzhiyun #define  SCAN_ADDR_TYPE_MWRAP	0x000000C0
47*4882a593Smuzhiyun #define SCAN_ADDR_PORT		0x00000F00
48*4882a593Smuzhiyun #define SCAN_ADDR_PORT_SHIFT	8
49*4882a593Smuzhiyun #define SCAN_ADDR_ADDR		0xFFFFF000
50*4882a593Smuzhiyun 
51*4882a593Smuzhiyun #define SCAN_ADDR_SZ_BASE	0x00001000	/* 4KB */
52*4882a593Smuzhiyun 
53*4882a593Smuzhiyun #define SCAN_SIZE_SZ_ALIGN	0x00000FFF
54*4882a593Smuzhiyun #define SCAN_SIZE_SZ		0xFFFFF000
55*4882a593Smuzhiyun #define SCAN_SIZE_SG32		0x00000008
56*4882a593Smuzhiyun 
57*4882a593Smuzhiyun #endif /* BCMA_SCAN_H_ */
58