1f3a8e2b7SMingkai Hu /* 2f3a8e2b7SMingkai Hu * Copyright 2015 Freescale Semiconductor, Inc. 3f3a8e2b7SMingkai Hu * 4f3a8e2b7SMingkai Hu * SPDX-License-Identifier: GPL-2.0+ 5f3a8e2b7SMingkai Hu */ 6f3a8e2b7SMingkai Hu 7f3a8e2b7SMingkai Hu #ifndef __DDR_H__ 8f3a8e2b7SMingkai Hu #define __DDR_H__ 9074596c0SShengzhou Liu 10074596c0SShengzhou Liu extern void erratum_a008850_post(void); 11074596c0SShengzhou Liu 12f3a8e2b7SMingkai Hu struct board_specific_parameters { 13f3a8e2b7SMingkai Hu u32 n_ranks; 14f3a8e2b7SMingkai Hu u32 datarate_mhz_high; 15f3a8e2b7SMingkai Hu u32 rank_gb; 16f3a8e2b7SMingkai Hu u32 clk_adjust; 17f3a8e2b7SMingkai Hu u32 wrlvl_start; 18f3a8e2b7SMingkai Hu u32 wrlvl_ctl_2; 19f3a8e2b7SMingkai Hu u32 wrlvl_ctl_3; 20f3a8e2b7SMingkai Hu u32 cpo_override; 21f3a8e2b7SMingkai Hu u32 write_data_delay; 22f3a8e2b7SMingkai Hu u32 force_2t; 23f3a8e2b7SMingkai Hu }; 24f3a8e2b7SMingkai Hu 25f3a8e2b7SMingkai Hu /* 26f3a8e2b7SMingkai Hu * These tables contain all valid speeds we want to override with board 27f3a8e2b7SMingkai Hu * specific parameters. datarate_mhz_high values need to be in ascending order 28f3a8e2b7SMingkai Hu * for each n_ranks group. 29f3a8e2b7SMingkai Hu */ 30f3a8e2b7SMingkai Hu static const struct board_specific_parameters udimm0[] = { 31f3a8e2b7SMingkai Hu /* 32f3a8e2b7SMingkai Hu * memory controller 0 33f3a8e2b7SMingkai Hu * num| hi| rank| clk| wrlvl | wrlvl | wrlvl | cpo |wrdata|2T 34f3a8e2b7SMingkai Hu * ranks| mhz| GB |adjst| start | ctl2 | ctl3 | |delay | 35f3a8e2b7SMingkai Hu */ 36f3a8e2b7SMingkai Hu #ifdef CONFIG_SYS_FSL_DDR4 37*e04f9d0cSShengzhou Liu {1, 1666, 0, 12, 7, 0x07090800, 0x00000000,}, 38*e04f9d0cSShengzhou Liu {1, 1900, 0, 12, 7, 0x07090800, 0x00000000,}, 39*e04f9d0cSShengzhou Liu {1, 2200, 0, 12, 7, 0x07090800, 0x00000000,}, 40f3a8e2b7SMingkai Hu #endif 41f3a8e2b7SMingkai Hu {} 42f3a8e2b7SMingkai Hu }; 43f3a8e2b7SMingkai Hu 44f3a8e2b7SMingkai Hu static const struct board_specific_parameters *udimms[] = { 45f3a8e2b7SMingkai Hu udimm0, 46f3a8e2b7SMingkai Hu }; 47f3a8e2b7SMingkai Hu 48f3a8e2b7SMingkai Hu #endif 49