xref: /rk3399_rockchip-uboot/arch/mips/mach-pic32/include/mach/ddr.h (revision f1683aa73c31db0a025e0254e6ce1ee7e56aad3e)
19ffa7a35SPurna Chandra Mandal /*
29ffa7a35SPurna Chandra Mandal  * (c) 2015 Purna Chandra Mandal <purna.mandal@microchip.com>
39ffa7a35SPurna Chandra Mandal  *
49ffa7a35SPurna Chandra Mandal  * SPDX-License-Identifier:	GPL-2.0+
59ffa7a35SPurna Chandra Mandal  *
69ffa7a35SPurna Chandra Mandal  */
79ffa7a35SPurna Chandra Mandal 
89ffa7a35SPurna Chandra Mandal #ifndef __MICROCHIP_PIC32_DDR_H
99ffa7a35SPurna Chandra Mandal #define __MICROCHIP_PIC32_DDR_H
109ffa7a35SPurna Chandra Mandal 
11*f1683aa7SSimon Glass /* called by dram_init() function */
129ffa7a35SPurna Chandra Mandal void ddr2_phy_init(void);
139ffa7a35SPurna Chandra Mandal void ddr2_ctrl_init(void);
149ffa7a35SPurna Chandra Mandal phys_size_t ddr2_calculate_size(void);
159ffa7a35SPurna Chandra Mandal 
169ffa7a35SPurna Chandra Mandal /* Maximum number of agents */
179ffa7a35SPurna Chandra Mandal #define NUM_AGENTS		5
189ffa7a35SPurna Chandra Mandal 
199ffa7a35SPurna Chandra Mandal /* Board can provide agent specific parameters for arbitration by
209ffa7a35SPurna Chandra Mandal  * filling struct ddr2_arbiter_params for all the agents and
219ffa7a35SPurna Chandra Mandal  * implementing board_get_ddr_arbiter_params() to return the filled
229ffa7a35SPurna Chandra Mandal  * structure.
239ffa7a35SPurna Chandra Mandal  */
249ffa7a35SPurna Chandra Mandal struct ddr2_arbiter_params {
259ffa7a35SPurna Chandra Mandal 	u32 min_limit;	/* min bursts to execute per arbitration */
269ffa7a35SPurna Chandra Mandal 	u32 req_period; /* request period threshold for accepted cmds */
279ffa7a35SPurna Chandra Mandal 	u32 min_cmd_acpt; /* min number of accepted cmds */
289ffa7a35SPurna Chandra Mandal };
299ffa7a35SPurna Chandra Mandal 
309ffa7a35SPurna Chandra Mandal const struct ddr2_arbiter_params *board_get_ddr_arbiter_params(void);
319ffa7a35SPurna Chandra Mandal 
329ffa7a35SPurna Chandra Mandal #endif /* __MICROCHIP_PIC32_DDR_H */
33