blob: e53079a3daf792c8fb533a0b51e800610b73efbc [file] [log] [blame]
Greg Kroah-Hartmanb2441312017-11-01 15:07:57 +01001/* SPDX-License-Identifier: GPL-2.0 */
Rafał Miłecki8369ae32011-05-09 18:56:46 +02002#ifndef BCMA_SCAN_H_
3#define BCMA_SCAN_H_
4
5#define BCMA_ADDR_BASE 0x18000000
6#define BCMA_WRAP_BASE 0x18100000
7
8#define SCAN_ER_VALID 0x00000001
9#define SCAN_ER_TAGX 0x00000006 /* we have to ignore 0x8 bit when checking tag for SCAN_ER_TAG_ADDR */
10#define SCAN_ER_TAG 0x0000000E
11#define SCAN_ER_TAG_CI 0x00000000
12#define SCAN_ER_TAG_MP 0x00000002
13#define SCAN_ER_TAG_ADDR 0x00000004
14#define SCAN_ER_TAG_END 0x0000000E
15#define SCAN_ER_BAD 0xFFFFFFFF
16
17#define SCAN_CIA_CLASS 0x000000F0
18#define SCAN_CIA_CLASS_SHIFT 4
19#define SCAN_CIA_ID 0x000FFF00
20#define SCAN_CIA_ID_SHIFT 8
21#define SCAN_CIA_MANUF 0xFFF00000
22#define SCAN_CIA_MANUF_SHIFT 20
23
24#define SCAN_CIB_NMP 0x000001F0
25#define SCAN_CIB_NMP_SHIFT 4
26#define SCAN_CIB_NSP 0x00003E00
27#define SCAN_CIB_NSP_SHIFT 9
28#define SCAN_CIB_NMW 0x0007C000
29#define SCAN_CIB_NMW_SHIFT 14
30#define SCAN_CIB_NSW 0x00F80000
Rafał Miłecki97cfda82012-07-11 08:37:23 +020031#define SCAN_CIB_NSW_SHIFT 19
Rafał Miłecki8369ae32011-05-09 18:56:46 +020032#define SCAN_CIB_REV 0xFF000000
33#define SCAN_CIB_REV_SHIFT 24
34
35#define SCAN_ADDR_AG32 0x00000008
36#define SCAN_ADDR_SZ 0x00000030
37#define SCAN_ADDR_SZ_SHIFT 4
38#define SCAN_ADDR_SZ_4K 0x00000000
39#define SCAN_ADDR_SZ_8K 0x00000010
40#define SCAN_ADDR_SZ_16K 0x00000020
41#define SCAN_ADDR_SZ_SZD 0x00000030
42#define SCAN_ADDR_TYPE 0x000000C0
43#define SCAN_ADDR_TYPE_SLAVE 0x00000000
44#define SCAN_ADDR_TYPE_BRIDGE 0x00000040
45#define SCAN_ADDR_TYPE_SWRAP 0x00000080
46#define SCAN_ADDR_TYPE_MWRAP 0x000000C0
47#define SCAN_ADDR_PORT 0x00000F00
48#define SCAN_ADDR_PORT_SHIFT 8
49#define SCAN_ADDR_ADDR 0xFFFFF000
50
51#define SCAN_ADDR_SZ_BASE 0x00001000 /* 4KB */
52
53#define SCAN_SIZE_SZ_ALIGN 0x00000FFF
54#define SCAN_SIZE_SZ 0xFFFFF000
55#define SCAN_SIZE_SG32 0x00000008
56
57#endif /* BCMA_SCAN_H_ */