1 /* SPDX-License-Identifier: GPL-2.0+ */
3 * (C) Copyright 2015 Rockchip Electronics Co., Ltd
5 #ifndef _ASM_ARCH_SDRAM_RK3036_H
6 #define _ASM_ARCH_SDRAM_RK3036_H
8 struct rk3036_ddr_pctl {
115 u32 dfitrrdlvlgateen;
134 u32 dfitrwrlvldelay0;
135 u32 dfitrwrlvldelay1;
136 u32 dfitrwrlvldelay2;
137 u32 dfitrrdlvldelay0;
138 u32 dfitrrdlvldelay1;
139 u32 dfitrrdlvldelay2;
140 u32 dfitrrdlvlgatedelay0;
141 u32 dfitrrdlvlgatedelay1;
142 u32 dfitrrdlvlgatedelay2;
148 check_member(rk3036_ddr_pctl, iptr, 0x03fc);
150 struct rk3036_ddr_phy {
233 check_member(rk3036_ddr_phy, ddrphy_reg62, 0x03e8);
235 struct rk3036_pctl_timing {
272 struct rk3036_phy_timing {
291 struct rk3036_ddr_timing {
293 struct rk3036_pctl_timing pctl_timing;
294 struct rk3036_phy_timing phy_timing;
295 rk3036_noc_timing noc_timing;
298 struct rk3036_service_sys {
307 struct rk3036_ddr_config {
322 /* 2: 4bank, 3: 8bank */
326 /* bw(0: 8bit, 1: 16bit, 2: 32bit) */
330 /* rk3036 sdram initial */
331 void sdram_init(void);
333 /* get ddr die config, implement in specific board */
334 void get_ddr_config(struct rk3036_ddr_config *config);
336 /* get ddr size on board */
337 size_t sdram_size(void);