162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 262306a36Sopenharmony_ci#ifndef BCMA_SCAN_H_ 362306a36Sopenharmony_ci#define BCMA_SCAN_H_ 462306a36Sopenharmony_ci 562306a36Sopenharmony_ci#define BCMA_ADDR_BASE 0x18000000 662306a36Sopenharmony_ci#define BCMA_WRAP_BASE 0x18100000 762306a36Sopenharmony_ci 862306a36Sopenharmony_ci#define SCAN_ER_VALID 0x00000001 962306a36Sopenharmony_ci#define SCAN_ER_TAGX 0x00000006 /* we have to ignore 0x8 bit when checking tag for SCAN_ER_TAG_ADDR */ 1062306a36Sopenharmony_ci#define SCAN_ER_TAG 0x0000000E 1162306a36Sopenharmony_ci#define SCAN_ER_TAG_CI 0x00000000 1262306a36Sopenharmony_ci#define SCAN_ER_TAG_MP 0x00000002 1362306a36Sopenharmony_ci#define SCAN_ER_TAG_ADDR 0x00000004 1462306a36Sopenharmony_ci#define SCAN_ER_TAG_END 0x0000000E 1562306a36Sopenharmony_ci#define SCAN_ER_BAD 0xFFFFFFFF 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ci#define SCAN_CIA_CLASS 0x000000F0 1862306a36Sopenharmony_ci#define SCAN_CIA_CLASS_SHIFT 4 1962306a36Sopenharmony_ci#define SCAN_CIA_ID 0x000FFF00 2062306a36Sopenharmony_ci#define SCAN_CIA_ID_SHIFT 8 2162306a36Sopenharmony_ci#define SCAN_CIA_MANUF 0xFFF00000 2262306a36Sopenharmony_ci#define SCAN_CIA_MANUF_SHIFT 20 2362306a36Sopenharmony_ci 2462306a36Sopenharmony_ci#define SCAN_CIB_NMP 0x000001F0 2562306a36Sopenharmony_ci#define SCAN_CIB_NMP_SHIFT 4 2662306a36Sopenharmony_ci#define SCAN_CIB_NSP 0x00003E00 2762306a36Sopenharmony_ci#define SCAN_CIB_NSP_SHIFT 9 2862306a36Sopenharmony_ci#define SCAN_CIB_NMW 0x0007C000 2962306a36Sopenharmony_ci#define SCAN_CIB_NMW_SHIFT 14 3062306a36Sopenharmony_ci#define SCAN_CIB_NSW 0x00F80000 3162306a36Sopenharmony_ci#define SCAN_CIB_NSW_SHIFT 19 3262306a36Sopenharmony_ci#define SCAN_CIB_REV 0xFF000000 3362306a36Sopenharmony_ci#define SCAN_CIB_REV_SHIFT 24 3462306a36Sopenharmony_ci 3562306a36Sopenharmony_ci#define SCAN_ADDR_AG32 0x00000008 3662306a36Sopenharmony_ci#define SCAN_ADDR_SZ 0x00000030 3762306a36Sopenharmony_ci#define SCAN_ADDR_SZ_SHIFT 4 3862306a36Sopenharmony_ci#define SCAN_ADDR_SZ_4K 0x00000000 3962306a36Sopenharmony_ci#define SCAN_ADDR_SZ_8K 0x00000010 4062306a36Sopenharmony_ci#define SCAN_ADDR_SZ_16K 0x00000020 4162306a36Sopenharmony_ci#define SCAN_ADDR_SZ_SZD 0x00000030 4262306a36Sopenharmony_ci#define SCAN_ADDR_TYPE 0x000000C0 4362306a36Sopenharmony_ci#define SCAN_ADDR_TYPE_SLAVE 0x00000000 4462306a36Sopenharmony_ci#define SCAN_ADDR_TYPE_BRIDGE 0x00000040 4562306a36Sopenharmony_ci#define SCAN_ADDR_TYPE_SWRAP 0x00000080 4662306a36Sopenharmony_ci#define SCAN_ADDR_TYPE_MWRAP 0x000000C0 4762306a36Sopenharmony_ci#define SCAN_ADDR_PORT 0x00000F00 4862306a36Sopenharmony_ci#define SCAN_ADDR_PORT_SHIFT 8 4962306a36Sopenharmony_ci#define SCAN_ADDR_ADDR 0xFFFFF000 5062306a36Sopenharmony_ci 5162306a36Sopenharmony_ci#define SCAN_ADDR_SZ_BASE 0x00001000 /* 4KB */ 5262306a36Sopenharmony_ci 5362306a36Sopenharmony_ci#define SCAN_SIZE_SZ_ALIGN 0x00000FFF 5462306a36Sopenharmony_ci#define SCAN_SIZE_SZ 0xFFFFF000 5562306a36Sopenharmony_ci#define SCAN_SIZE_SG32 0x00000008 5662306a36Sopenharmony_ci 5762306a36Sopenharmony_ci#endif /* BCMA_SCAN_H_ */ 58