xref: /arm-trusted-firmware/plat/brcm/board/stingray/driver/ddr/soc/include/board_family.h (revision 91f16700b400a8c0651d24a598fc48ee2997a0d7)
1*91f16700Schasinglulu /*
2*91f16700Schasinglulu  * Copyright (c) 2019-2020, Broadcom
3*91f16700Schasinglulu  *
4*91f16700Schasinglulu  * SPDX-License-Identifier: BSD-3-Clause
5*91f16700Schasinglulu  */
6*91f16700Schasinglulu 
7*91f16700Schasinglulu #ifndef BOARD_FAMILY_H
8*91f16700Schasinglulu #define BOARD_FAMILY_H
9*91f16700Schasinglulu 
10*91f16700Schasinglulu #if defined(DRIVER_SPD_ENABLE) && !defined(DRIVER_SPD_SPOOF)
11*91f16700Schasinglulu #include <spd.h>
12*91f16700Schasinglulu #endif
13*91f16700Schasinglulu 
14*91f16700Schasinglulu #ifdef USE_GPIO
15*91f16700Schasinglulu /* max number of supported GPIOs to construct the bitmap for board detection */
16*91f16700Schasinglulu #define MAX_NR_GPIOS           4
17*91f16700Schasinglulu 
18*91f16700Schasinglulu /* max GPIO bitmap value */
19*91f16700Schasinglulu #define MAX_GPIO_BITMAP_VAL    (BIT(MAX_NR_GPIOS) - 1)
20*91f16700Schasinglulu #endif
21*91f16700Schasinglulu 
22*91f16700Schasinglulu struct mcb_ref_group {
23*91f16700Schasinglulu 	uint32_t mcb_ref;
24*91f16700Schasinglulu 	unsigned int *mcb_cfg;
25*91f16700Schasinglulu };
26*91f16700Schasinglulu 
27*91f16700Schasinglulu #define MCB_REF_GROUP(ref)		\
28*91f16700Schasinglulu {					\
29*91f16700Schasinglulu 	.mcb_ref =  0x ## ref,		\
30*91f16700Schasinglulu 	.mcb_cfg = mcb_ ## ref,		\
31*91f16700Schasinglulu }
32*91f16700Schasinglulu 
33*91f16700Schasinglulu #endif
34