sunxi: add Linksprite pcDuino v1/v2 support
PATCH 1/1 sunxi: add Linksprite pcDuino v1/v2 support
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.
--- 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
board/sunxi/Kconfig +4 -0
@@ -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
board/sunxi/Makefile +1 -0
@@ -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
board/sunxi/dram_sun4i_408_1024_iow8.c new file +31 -0
@@ -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); +}
configs/Linksprite_pcDuino_defconfig new file +7 -0
@@ -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
Signature · 1 line
1.7.10.4
PATCH 1/1 sunxi: add Linksprite pcDuino v1/v2 support
Hi,
Quoted 6 lines · Zoltan HERPAI
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 <[email protected]>
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
Quoted 87 lines
--- 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.ccreate mode 100644 configs/Linksprite_pcDuino_defconfigboard/sunxi/Kconfig +4
-0@@ -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_SUN7Iboard/sunxi/Makefile +1
-0@@ -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.oboard/sunxi/dram_sun4i_408_1024_iow8.c new file +31
-0@@ -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); +}configs/Linksprite_pcDuino_defconfig new file +7
-0@@ -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
Hi Hans,
Quoted 17 lines · Hans de Goede
Quoted 6 lines · Zoltan HERPAI
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.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.
Quoted 6 lines
Also talking about the dts, I notice that the dts for the
pcDuino_v3has 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 :)
To my best knowledge, the v1 and v2 only differ in the wifi module placed instead of one of the USB ports.
I'll check the LEDs and keys to check if they match - as the keys are the same across the v1 and v3 (checked the schematics and the GPIO assignments), it's likely the same on the v2 as well. Note that I couldn't find a separate schematic for the v2. I'll double-check these in the evening, and submit a DTS patch accordingly (with or without a separate DTS file for v2, and for a separate u-boot config if needed).
Thanks,
Zoltan H
Quoted 91 lines
Quoted 83 lines
board/sunxi/Kconfig +4
-0@@ -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_SUN7Iboard/sunxi/Makefile +0
-0@@ -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.oboard/sunxi/Makefile +1
-0+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.oboard/sunxi/dram_sun4i_408_1024_iow8.c new file +31
-0@@ -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); +}configs/Linksprite_pcDuino_defconfig new file +7
-0@@ -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=ySignature · 5 lines
You received this message because you are subscribed to the Google Groups "linux-sunxi" group. To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi+unsubscribe at googlegroups.com. For more options, visit https://groups.google.com/d/optout.
PATCH 1/1 sunxi: add Linksprite pcDuino v1/v2 support
In reply to Zoltan HERPAIHi,
Quoted 6 lines · Zoltan HERPAI
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 <[email protected]>
Thanks, I've queued this up in u-boot-sunxi for when the merge window opens.
Regards,
Hans
Quoted 87 lines
--- 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.ccreate mode 100644 configs/Linksprite_pcDuino_defconfigboard/sunxi/Kconfig +4
-0@@ -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_SUN7Iboard/sunxi/Makefile +1
-0@@ -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.oboard/sunxi/dram_sun4i_408_1024_iow8.c new file +31
-0@@ -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); +}configs/Linksprite_pcDuino_defconfig new file +7
-0@@ -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