/* SPDX-License-Identifier: BSD-3-Clause */ /********************************************************************** * Copyright (C) 2012-2018 Cadence Design Systems, Inc. * Copyright (C) 2019 Texas Instruments Incorporated - http://www.ti.com/ ********************************************************************** * Cadence Core Driver for LPDDR4. ********************************************************************** */ #ifndef LPDDR4_PRIV_H #define LPDDR4_PRIV_H #define PRODUCT_ID (0x1046U) #define VERSION_0 (0x54d5da40U) #define VERSION_1 (0xc1865a1U) #define BIT_MASK (0x1U) #define BYTE_MASK (0xffU) #define NIBBLE_MASK (0xfU) #define WORD_SHIFT (32U) #define WORD_MASK (0xffffffffU) #define SLICE_WIDTH (0x100) /* Number of Data slices */ #define DSLICE_NUM (4U) /*Number of Address Slices */ #define ASLICE_NUM (1U) /* Number of accessible registers in each slice */ #define DSLICE0_REG_COUNT (140U) #define DSLICE1_REG_COUNT (140U) #define DSLICE2_REG_COUNT (140U) #define DSLICE3_REG_COUNT (140U) #define ASLICE0_REG_COUNT (52U) #define PHY_CORE_REG_COUNT (140U) #define CTL_OFFSET 0 #define PI_OFFSET (((uint32_t)1) << 11) #define PHY_OFFSET (((uint32_t)1) << 12) /* BIT[17] on INT_MASK_1 register. */ #define CTL_INT_MASK_ALL ((uint32_t)LPDDR4_LOR_BITS - WORD_SHIFT) /* Init Error information bits */ #define PLL_READY (0x3U) #define IO_CALIB_DONE ((uint32_t)0x1U << 23U) #define IO_CALIB_FIELD ((uint32_t)NIBBLE_MASK << 28U) #define IO_CALIB_STATE ((uint32_t)0xBU << 28U) #define RX_CAL_DONE ((uint32_t)BIT_MASK << 4U) #define CA_TRAIN_RL (((uint32_t)BIT_MASK << 5U) | ((uint32_t)BIT_MASK << 4U)) #define WR_LVL_STATE (((uint32_t)NIBBLE_MASK) << 13U) #define GATE_LVL_ERROR_FIELDS (((uint32_t)BIT_MASK << 7U) | ((uint32_t)BIT_MASK << 6U)) #define READ_LVL_ERROR_FIELDS ((((uint32_t)NIBBLE_MASK) << 28U) | (((uint32_t)BYTE_MASK) << 16U)) #define DQ_LVL_STATUS (((uint32_t)BIT_MASK << 26U) | (((uint32_t)BYTE_MASK) << 18U)) #endif /* LPDDR4_PRIV_H */