| /* |
| * 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 */ |