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