xref: /openbmc/linux/drivers/bcma/scan.h (revision b2441318)
1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
28369ae33SRafał Miłecki #ifndef BCMA_SCAN_H_
38369ae33SRafał Miłecki #define BCMA_SCAN_H_
48369ae33SRafał Miłecki 
58369ae33SRafał Miłecki #define BCMA_ADDR_BASE		0x18000000
68369ae33SRafał Miłecki #define BCMA_WRAP_BASE		0x18100000
78369ae33SRafał Miłecki 
88369ae33SRafał Miłecki #define SCAN_ER_VALID		0x00000001
98369ae33SRafał Miłecki #define SCAN_ER_TAGX		0x00000006 /* we have to ignore 0x8 bit when checking tag for SCAN_ER_TAG_ADDR */
108369ae33SRafał Miłecki #define SCAN_ER_TAG		0x0000000E
118369ae33SRafał Miłecki #define  SCAN_ER_TAG_CI		0x00000000
128369ae33SRafał Miłecki #define  SCAN_ER_TAG_MP		0x00000002
138369ae33SRafał Miłecki #define  SCAN_ER_TAG_ADDR	0x00000004
148369ae33SRafał Miłecki #define  SCAN_ER_TAG_END	0x0000000E
158369ae33SRafał Miłecki #define SCAN_ER_BAD		0xFFFFFFFF
168369ae33SRafał Miłecki 
178369ae33SRafał Miłecki #define SCAN_CIA_CLASS		0x000000F0
188369ae33SRafał Miłecki #define SCAN_CIA_CLASS_SHIFT	4
198369ae33SRafał Miłecki #define SCAN_CIA_ID		0x000FFF00
208369ae33SRafał Miłecki #define SCAN_CIA_ID_SHIFT	8
218369ae33SRafał Miłecki #define SCAN_CIA_MANUF		0xFFF00000
228369ae33SRafał Miłecki #define SCAN_CIA_MANUF_SHIFT	20
238369ae33SRafał Miłecki 
248369ae33SRafał Miłecki #define SCAN_CIB_NMP		0x000001F0
258369ae33SRafał Miłecki #define SCAN_CIB_NMP_SHIFT	4
268369ae33SRafał Miłecki #define SCAN_CIB_NSP		0x00003E00
278369ae33SRafał Miłecki #define SCAN_CIB_NSP_SHIFT	9
288369ae33SRafał Miłecki #define SCAN_CIB_NMW		0x0007C000
298369ae33SRafał Miłecki #define SCAN_CIB_NMW_SHIFT	14
308369ae33SRafał Miłecki #define SCAN_CIB_NSW		0x00F80000
3197cfda8fSRafał Miłecki #define SCAN_CIB_NSW_SHIFT	19
328369ae33SRafał Miłecki #define SCAN_CIB_REV		0xFF000000
338369ae33SRafał Miłecki #define SCAN_CIB_REV_SHIFT	24
348369ae33SRafał Miłecki 
358369ae33SRafał Miłecki #define SCAN_ADDR_AG32		0x00000008
368369ae33SRafał Miłecki #define SCAN_ADDR_SZ		0x00000030
378369ae33SRafał Miłecki #define SCAN_ADDR_SZ_SHIFT	4
388369ae33SRafał Miłecki #define  SCAN_ADDR_SZ_4K	0x00000000
398369ae33SRafał Miłecki #define  SCAN_ADDR_SZ_8K	0x00000010
408369ae33SRafał Miłecki #define  SCAN_ADDR_SZ_16K	0x00000020
418369ae33SRafał Miłecki #define  SCAN_ADDR_SZ_SZD	0x00000030
428369ae33SRafał Miłecki #define SCAN_ADDR_TYPE		0x000000C0
438369ae33SRafał Miłecki #define  SCAN_ADDR_TYPE_SLAVE	0x00000000
448369ae33SRafał Miłecki #define  SCAN_ADDR_TYPE_BRIDGE	0x00000040
458369ae33SRafał Miłecki #define  SCAN_ADDR_TYPE_SWRAP	0x00000080
468369ae33SRafał Miłecki #define  SCAN_ADDR_TYPE_MWRAP	0x000000C0
478369ae33SRafał Miłecki #define SCAN_ADDR_PORT		0x00000F00
488369ae33SRafał Miłecki #define SCAN_ADDR_PORT_SHIFT	8
498369ae33SRafał Miłecki #define SCAN_ADDR_ADDR		0xFFFFF000
508369ae33SRafał Miłecki 
518369ae33SRafał Miłecki #define SCAN_ADDR_SZ_BASE	0x00001000	/* 4KB */
528369ae33SRafał Miłecki 
538369ae33SRafał Miłecki #define SCAN_SIZE_SZ_ALIGN	0x00000FFF
548369ae33SRafał Miłecki #define SCAN_SIZE_SZ		0xFFFFF000
558369ae33SRafał Miłecki #define SCAN_SIZE_SG32		0x00000008
568369ae33SRafał Miłecki 
578369ae33SRafał Miłecki #endif /* BCMA_SCAN_H_ */
58