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