2 * (C) Copyright 2015 Rockchip Electronics Co., Ltd
4 * SPDX-License-Identifier: GPL-2.0+
6 #ifndef _ASM_ARCH_SDRAM_RK3036_H
7 #define _ASM_ARCH_SDRAM_RK3036_H
11 struct rk3036_ddr_pctl {
118 u32 dfitrrdlvlgateen;
137 u32 dfitrwrlvldelay0;
138 u32 dfitrwrlvldelay1;
139 u32 dfitrwrlvldelay2;
140 u32 dfitrrdlvldelay0;
141 u32 dfitrrdlvldelay1;
142 u32 dfitrrdlvldelay2;
143 u32 dfitrrdlvlgatedelay0;
144 u32 dfitrrdlvlgatedelay1;
145 u32 dfitrrdlvlgatedelay2;
151 check_member(rk3036_ddr_pctl, iptr, 0x03fc);
153 struct rk3036_ddr_phy {
236 check_member(rk3036_ddr_phy, ddrphy_reg62, 0x03e8);
238 struct rk3036_pctl_timing {
275 struct rk3036_phy_timing {
294 struct rk3036_ddr_timing {
296 struct rk3036_pctl_timing pctl_timing;
297 struct rk3036_phy_timing phy_timing;
298 rk3036_noc_timing noc_timing;
301 struct rk3036_service_sys {
310 struct rk3036_ddr_config {
325 /* 2: 4bank, 3: 8bank */
329 /* bw(0: 8bit, 1: 16bit, 2: 32bit) */
333 /* rk3036 sdram initial */
334 void sdram_init(void);
336 /* get ddr die config, implement in specific board */
337 void get_ddr_config(struct rk3036_ddr_config *config);
339 /* get ddr size on board */
340 size_t sdram_size(void);