
Hi,
On 06-01-15 01:09, Zoltan HERPAI wrote:
Add support for a sun4i board built by Linksprite. This addition covers both v1 and v2 versions. As the board has been working with 408MHz memory setting in the u-boot-sunxi branch, and has been proven to be running stable during my tests as well, a respective new DRAM config file is added as well.
Signed-off-by: Zoltan HERPAI wigyori@uid0.hu
Thanks, before that I apply this, are you sure that v1 and v2 are similar enough that we only need one config for them ? I'm asking because even if they are similar enough from a u-boot pov, they still need a separate defconfig if they need a separate dts.
It seems that v2 just swaps one usb port for a usb-wifi module, which does not require dts changes. So this seems ok, and we can also add a configs/Linksprite_pcDuino_v2_defconfig later I guess.
Also talking about the dts, I notice that the dts for the pcDuino_v3 has support for the gpio buttons found there, but the plain pcDuino dts does not even though the v1 / v2 clearly have the gpio buttons too, can you add support for those to the dts ? And the same question for any leds which they may have (hard to see on pictures). This is also a good check to see if they are really 100% compatible :)
Regards,
Hans
board/sunxi/Kconfig | 4 ++++ board/sunxi/Makefile | 1 + board/sunxi/dram_sun4i_408_1024_iow8.c | 31 +++++++++++++++++++++++++++++++ configs/Linksprite_pcDuino_defconfig | 7 +++++++ 4 files changed, 43 insertions(+) create mode 100644 board/sunxi/dram_sun4i_408_1024_iow8.c create mode 100644 configs/Linksprite_pcDuino_defconfig
diff --git a/board/sunxi/Kconfig b/board/sunxi/Kconfig index 246cd9a..ccf583f 100644 --- a/board/sunxi/Kconfig +++ b/board/sunxi/Kconfig @@ -99,6 +99,10 @@ config TARGET_IPPO_Q8H_V5 bool "IPPO_Q8H_V5" depends on MACH_SUN8I
+config TARGET_PCDUINO
- bool "PCDUINO"
- depends on MACH_SUN4I
- config TARGET_PCDUINO3 bool "PCDUINO3" depends on MACH_SUN7I
diff --git a/board/sunxi/Makefile b/board/sunxi/Makefile index b84ff9b..c947b09 100644 --- a/board/sunxi/Makefile +++ b/board/sunxi/Makefile @@ -31,6 +31,7 @@ obj-$(CONFIG_TARGET_MELE_A1000G) += dram_sun4i_360_1024_iow8.o obj-$(CONFIG_TARGET_MELE_M3) += dram_sun7i_384_1024_iow16.o obj-$(CONFIG_TARGET_MINI_X) += dram_sun4i_360_512.o obj-$(CONFIG_TARGET_MINI_X_1GB) += dram_sun4i_360_1024_iow16.o +obj-$(CONFIG_TARGET_PCDUINO) += dram_sun4i_408_1024_iow8.o obj-$(CONFIG_TARGET_PCDUINO3) += dram_linksprite_pcduino3.o obj-$(CONFIG_TARGET_QT840A) += dram_sun7i_384_512_busw16_iow16.o obj-$(CONFIG_TARGET_R7DONGLE) += dram_r7dongle.o diff --git a/board/sunxi/dram_sun4i_408_1024_iow8.c b/board/sunxi/dram_sun4i_408_1024_iow8.c new file mode 100644 index 0000000..c6d87d2 --- /dev/null +++ b/board/sunxi/dram_sun4i_408_1024_iow8.c @@ -0,0 +1,31 @@ +/* this file is generated, don't edit it yourself */
+#include <common.h> +#include <asm/arch/dram.h>
+static struct dram_para dram_para = {
- .clock = 408,
- .type = 3,
- .rank_num = 1,
- .density = 2048,
- .io_width = 8,
- .bus_width = 32,
- .cas = 6,
- .zq = 123,
- .odt_en = 0,
- .size = 1024,
- .tpr0 = 0x30926692,
- .tpr1 = 0x1090,
- .tpr2 = 0x1a0c8,
- .tpr3 = 0,
- .tpr4 = 0,
- .tpr5 = 0,
- .emr1 = 0,
- .emr2 = 0,
- .emr3 = 0,
+};
+unsigned long sunxi_dram_init(void) +{
- return dramc_init(&dram_para);
+} diff --git a/configs/Linksprite_pcDuino_defconfig b/configs/Linksprite_pcDuino_defconfig new file mode 100644 index 0000000..f5b0ca9 --- /dev/null +++ b/configs/Linksprite_pcDuino_defconfig @@ -0,0 +1,7 @@ +CONFIG_SPL=y +CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_EMAC,USB_EHCI" +CONFIG_FDTFILE="sun4i-a10-pcduino.dtb" ++S:CONFIG_ARM=y ++S:CONFIG_ARCH_SUNXI=y ++S:CONFIG_MACH_SUN4I=y ++S:CONFIG_TARGET_PCDUINO=y