]> git.dujemihanovic.xyz Git - u-boot.git/commit
sunxi: add R528/T113-s3/D1(s) DRAM initialisation code
authorAndre Przywara <andre.przywara@arm.com>
Sat, 31 Dec 2022 18:38:21 +0000 (18:38 +0000)
committerAndre Przywara <andre.przywara@arm.com>
Sun, 22 Oct 2023 22:41:52 +0000 (23:41 +0100)
commit124289bd56e7598d7846cb3703b4ccaafb5e76cf
tree906eb4d1767fc279607c27797b4800211200bfa7
parent8bddb9742bedaffacf5cd0dfdaa443079a216ca9
sunxi: add R528/T113-s3/D1(s) DRAM initialisation code

The Allwinner R528/T113-s/D1/D1s SoCs all share the same die, so use the
same DRAM initialisation code.
Make use of prior art here and lift some code from awboot[1], which
carried init code based on earlier decompilation efforts, but with a
GPL2 license tag.
This code has been heavily reworked and cleaned up, to match previous
DRAM routines for other SoCs, and also to be closer to U-Boot's coding
style and support routines.
The actual DRAM chip timing parameters are included in the main file,
since they cover all DRAM types, and are protected by a new Kconfig
CONFIG_SUNXI_DRAM_TYPE symbol, which allows the compiler to pick only
the relevant settings, at build time.

The relevant DRAM chips/board specific configuration parameters are
delivered via Kconfig, so this code here should work for all supported
SoCs and DRAM chips combinations.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Tested-by: Sam Edwards <CFSworks@gmail.com>
drivers/Makefile
drivers/ram/Makefile
drivers/ram/sunxi/Kconfig
drivers/ram/sunxi/Makefile [new file with mode: 0644]
drivers/ram/sunxi/dram_sun20i_d1.c [new file with mode: 0644]
drivers/ram/sunxi/dram_sun20i_d1.h [new file with mode: 0644]