1 /* SPDX-License-Identifier: BSD-3-Clause */
2 /*
3  * Cadence DDR Driver
4  *
5  * Copyright (C) 2012-2021 Cadence Design Systems, Inc.
6  * Copyright (C) 2018-2021 Texas Instruments Incorporated - https://www.ti.com/
7  */
8 
9 #ifndef LPDDR4_STRUCTS_IF_H
10 #define LPDDR4_STRUCTS_IF_H
11 
12 #include <linux/types.h>
13 #include "lpddr4_if.h"
14 
15 struct lpddr4_config_s {
16 	struct lpddr4_ctlregs_s *ctlbase;
17 	lpddr4_infocallback infohandler;
18 	lpddr4_ctlcallback ctlinterrupthandler;
19 	lpddr4_phyindepcallback phyindepinterrupthandler;
20 };
21 
22 struct lpddr4_privatedata_s {
23 	struct lpddr4_ctlregs_s *ctlbase;
24 	lpddr4_infocallback infohandler;
25 	lpddr4_ctlcallback ctlinterrupthandler;
26 	lpddr4_phyindepcallback phyindepinterrupthandler;
27 };
28 
29 struct lpddr4_debuginfo_s {
30 	u8 pllerror;
31 	u8 iocaliberror;
32 	u8 rxoffseterror;
33 	u8 catraingerror;
34 	u8 wrlvlerror;
35 	u8 gatelvlerror;
36 	u8 readlvlerror;
37 	u8 dqtrainingerror;
38 };
39 
40 struct lpddr4_fspmoderegs_s {
41 	u8 mr1data_fn[LPDDR4_INTR_MAX_CS];
42 	u8 mr2data_fn[LPDDR4_INTR_MAX_CS];
43 	u8 mr3data_fn[LPDDR4_INTR_MAX_CS];
44 	u8 mr11data_fn[LPDDR4_INTR_MAX_CS];
45 	u8 mr12data_fn[LPDDR4_INTR_MAX_CS];
46 	u8 mr13data_fn[LPDDR4_INTR_MAX_CS];
47 	u8 mr14data_fn[LPDDR4_INTR_MAX_CS];
48 	u8 mr22data_fn[LPDDR4_INTR_MAX_CS];
49 };
50 
51 #endif  /* LPDDR4_STRUCTS_IF_H */
52