12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- /*
- * Copyright (C) Marvell International Ltd. and its affiliates
- *
- * SPDX-License-Identifier: GPL-2.0
- */
- #ifndef _DDR3_HWS_HW_TRAINING_H
- #define _DDR3_HWS_HW_TRAINING_H
- /* struct used for DLB configuration array */
- struct dlb_config {
- u32 reg_addr;
- u32 reg_data;
- };
- /* Topology update structure */
- struct topology_update_info {
- int update_ecc;
- u8 ecc;
- int update_width;
- u8 width;
- int update_ecc_pup3_mode;
- u8 ecc_pup_mode_offset;
- };
- /* Topology update defines */
- #define TOPOLOGY_UPDATE_WIDTH_16BIT 1
- #define TOPOLOGY_UPDATE_WIDTH_32BIT 0
- #define TOPOLOGY_UPDATE_WIDTH_32BIT_MASK 0xf
- #define TOPOLOGY_UPDATE_WIDTH_16BIT_MASK 0x3
- #define TOPOLOGY_UPDATE_ECC_ON 1
- #define TOPOLOGY_UPDATE_ECC_OFF 0
- #define TOPOLOGY_UPDATE_ECC_OFFSET_PUP4 4
- #define TOPOLOGY_UPDATE_ECC_OFFSET_PUP3 3
- /*
- * 1. L2 filter should be set at binary header to 0xd000000,
- * to avoid conflict with internal register IO.
- * 2. U-Boot modifies internal registers base to 0xf100000,
- * and than should update L2 filter accordingly to 0xf000000 (3.75 GB)
- */
- /* temporary limit l2 filter to 3GiB (LSP issue) */
- #define L2_FILTER_FOR_MAX_MEMORY_SIZE 0xc0000000
- #define ADDRESS_FILTERING_END_REGISTER 0x8c04
- #define SUB_VERSION 0
- #endif /* _DDR3_HWS_HW_TRAINING_H */
|