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