1 /** @file
2   Chassis Lib to provide Chessis specific functionality to all SOCs in
3   a Chassis.
4 
5   Copyright 2020 NXP
6 
7   SPDX-License-Identifier: BSD-2-Clause-Patent
8 **/
9 
10 #ifndef CHASSIS_LIB_H__
11 #define CHASSIS_LIB_H__
12 
13 #include <Chassis.h>
14 
15 /**
16   Or Scfg register
17 
18   @param  Address The MMIO register to read.
19 
20   @return The value read.
21 **/
22 UINT32
23 EFIAPI
24 ScfgOr32 (
25   IN  UINTN     Address,
26   IN  UINT32    Value
27   );
28 
29 /**
30   Read Scfg register
31 
32   @param  Address The MMIO register to read.
33 
34   @return The value read.
35 **/
36 UINT32
37 EFIAPI
38 ScfgRead32 (
39   IN  UINTN     Address
40   );
41 
42 /**
43   Write Scfg register
44 
45   @param  Address The MMIO register to write.
46   @param  Value   The value to write to the MMIO register.
47 
48   @return Value.
49 **/
50 UINT32
51 EFIAPI
52 ScfgWrite32 (
53   IN  UINTN     Address,
54   IN  UINT32    Value
55   );
56 
57 /**
58   Read Dcfg register
59 
60   @param  Address The MMIO register to read.
61 
62   @return The value read.
63 **/
64 UINT32
65 EFIAPI
66 DcfgRead32 (
67   IN  UINTN     Address
68   );
69 
70 /**
71   Write Dcfg register
72 
73   @param  Address The MMIO register to write.
74   @param  Value   The value to write to the MMIO register.
75 
76   @return Value.
77 **/
78 UINT32
79 EFIAPI
80 DcfgWrite32 (
81   IN      UINTN                     Address,
82   IN      UINT32                    Value
83   );
84 
85 /**
86   Function to initialize Chassis Specific functions
87  **/
88 VOID
89 ChassisInit (
90   VOID
91   );
92 
93 VOID
94 ErratumA008997 (
95   VOID
96   );
97 
98 VOID
99 ErratumA009007 (
100   VOID
101   );
102 
103 VOID
104 ErratumA009008 (
105   VOID
106   );
107 
108 VOID
109 ErratumA009798 (
110   VOID
111   );
112 
113 #endif // CHASSIS_LIB_H__
114