coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
alink.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #ifndef AMD_BLOCK_ALINK_H
4 #define AMD_BLOCK_ALINK_H
5 
6 #include <stdint.h>
7 
8 #define AB_INDX 0xcd8
9 #define AB_DATA (AB_INDX + 4)
10 
11 #define AX_INDXC 0
12 #define AX_INDXP 2
13 #define AXCFG 4
14 #define ABCFG 6
15 #define RC_INDXC 1
16 #define RC_INDXP 3
17 
18 #define abcfg_reg(reg, mask, val) \
19  alink_ab_indx((ABCFG), (reg), (mask), (val))
20 #define axcfg_reg(reg, mask, val) \
21  alink_ab_indx((AXCFG), (reg), (mask), (val))
22 #define axindxc_reg(reg, mask, val) \
23  alink_ax_indx((AX_INDXC), (reg), (mask), (val))
24 #define axindxp_reg(reg, mask, val) \
25  alink_ax_indx((AX_INDXP), (reg), (mask), (val))
26 #define rcindxc_reg(reg, port, mask, val) \
27  alink_rc_indx((RC_INDXC), (reg), (port), (mask), (val))
28 #define rcindxp_reg(reg, port, mask, val) \
29  alink_rc_indx((RC_INDXP), (reg), (port), (mask), (val))
30 
31 void alink_rc_indx(u32 reg_space, u32 reg_addr, u32 port, u32 mask, u32 val);
32 void alink_ab_indx(u32 reg_space, u32 reg_addr, u32 mask, u32 val);
33 void alink_ax_indx(u32 space /* c or p? */, u32 axindc, u32 mask, u32 val);
34 
35 #endif /* AMD_BLOCK_ALINK_H */
port
Definition: i915.h:29
static const int mask[4]
Definition: gpio.c:308
uint32_t u32
Definition: stdint.h:51
u8 val
Definition: sys.c:300