mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-18 10:48:51 +00:00
297bb9e0fc
This adds DRAM initialisation code for sun9i, which calculates the appropriate timings based on timing information for the supplied DDR3 bin and the clock speeds used. With this DRAM setup, we have verified DDR3 clocks of up to 792MHz (i.e. DDR3-1600) on the A80-Q7 using a dual-channel configuration. [wens@csie.org: Moved dram_sun9i.c to arch/arm/mach-sunxi/; style cleanup] Signed-off-by: Chen-Yu Tsai <wens@csie.org> [hdegoede@redhat.com: Drop some huge non-documenting #if 0 ... #endif blocks] [hdegoede@redhat.com: Fix checkpatch warnings] Signed-off-by: Hans de Goede <hdegoede@redhat.com>
39 lines
1,013 B
C
39 lines
1,013 B
C
/*
|
|
* (C) Copyright 2007-2012
|
|
* Allwinner Technology Co., Ltd. <www.allwinnertech.com>
|
|
* Berg Xing <bergxing@allwinnertech.com>
|
|
* Tom Cubie <tangliang@allwinnertech.com>
|
|
*
|
|
* Sunxi platform dram register definition.
|
|
*
|
|
* SPDX-License-Identifier: GPL-2.0+
|
|
*/
|
|
|
|
#ifndef _SUNXI_DRAM_H
|
|
#define _SUNXI_DRAM_H
|
|
|
|
#include <asm/io.h>
|
|
#include <linux/types.h>
|
|
|
|
/* dram regs definition */
|
|
#if defined(CONFIG_MACH_SUN6I)
|
|
#include <asm/arch/dram_sun6i.h>
|
|
#elif defined(CONFIG_MACH_SUN8I_A23)
|
|
#include <asm/arch/dram_sun8i_a23.h>
|
|
#elif defined(CONFIG_MACH_SUN8I_A33)
|
|
#include <asm/arch/dram_sun8i_a33.h>
|
|
#elif defined(CONFIG_MACH_SUN8I_A83T)
|
|
#include <asm/arch/dram_sun8i_a83t.h>
|
|
#elif defined(CONFIG_MACH_SUN8I_H3)
|
|
#include <asm/arch/dram_sun8i_h3.h>
|
|
#elif defined(CONFIG_MACH_SUN9I)
|
|
#include <asm/arch/dram_sun9i.h>
|
|
#else
|
|
#include <asm/arch/dram_sun4i.h>
|
|
#endif
|
|
|
|
unsigned long sunxi_dram_init(void);
|
|
void mctl_await_completion(u32 *reg, u32 mask, u32 val);
|
|
bool mctl_mem_matches(u32 offset);
|
|
|
|
#endif /* _SUNXI_DRAM_H */
|