X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=arch%2Farm%2Finclude%2Fasm%2Farch-sunxi%2Fdram.h;h=f452f889f928624cfe99a2e101ec4ba29d7bfbbf;hb=380e86f361e4e2aef83295972863654fde157560;hp=7ff43e6d3a90fa46c35785a92fce4b1818c8168f;hpb=28c4dae114c9b94b2a1111d81d4da716e9fc2cba;p=oweals%2Fu-boot.git diff --git a/arch/arm/include/asm/arch-sunxi/dram.h b/arch/arm/include/asm/arch-sunxi/dram.h index 7ff43e6d3a..f452f889f9 100644 --- a/arch/arm/include/asm/arch-sunxi/dram.h +++ b/arch/arm/include/asm/arch-sunxi/dram.h @@ -18,38 +18,24 @@ /* dram regs definition */ #if defined(CONFIG_MACH_SUN6I) #include -#elif defined(CONFIG_MACH_SUN8I) -#include +#elif defined(CONFIG_MACH_SUN8I_A23) +#include +#elif defined(CONFIG_MACH_SUN8I_A33) +#include +#elif defined(CONFIG_MACH_SUN8I_A83T) +#include +#elif defined(CONFIG_MACH_SUNXI_H3_H5) || \ + defined(CONFIG_MACH_SUN8I_R40) || \ + defined(CONFIG_MACH_SUN50I) +#include +#elif defined(CONFIG_MACH_SUN9I) +#include #else #include #endif unsigned long sunxi_dram_init(void); - -/* - * Wait up to 1s for value to be set in given part of reg. - */ -static inline void mctl_await_completion(u32 *reg, u32 mask, u32 val) -{ - unsigned long tmo = timer_get_us() + 1000000; - - while ((readl(reg) & mask) != val) { - if (timer_get_us() > tmo) - panic("Timeout initialising DRAM\n"); - } -} - -/* - * Test if memory at offset offset matches memory at begin of DRAM - */ -static inline bool mctl_mem_matches(u32 offset) -{ - /* Try to write different values to RAM at two addresses */ - writel(0, CONFIG_SYS_SDRAM_BASE); - writel(0xaa55aa55, CONFIG_SYS_SDRAM_BASE + offset); - /* Check if the same value is actually observed when reading back */ - return readl(CONFIG_SYS_SDRAM_BASE) == - readl(CONFIG_SYS_SDRAM_BASE + offset); -} +void mctl_await_completion(u32 *reg, u32 mask, u32 val); +bool mctl_mem_matches(u32 offset); #endif /* _SUNXI_DRAM_H */