Skip to contentSkip to conversation

sunxi: Convert sun7i boards to use auto dram configuration

PATCH New Hans de Goede 2 participants 6 messages Jan 21, 2015 – Jan 22, 2015 Arm/Allwinner sunXi SoC support

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 sunxi: Convert sun7i boards to use auto dram configuration

Currently we've separate detailed dram settings for all sun7i boards, this moves them over to using auto dram configuration so that we can get rid of all the per board dram_foo.c files.

This has been tested on a A20-Olinuxino-Lime, A20-Olinuxino_MICRO, Bananapi, Bananapro, Cubieboard2, Cubietruck, Mele_M3 and a Linksprite_pcDuino3.

---
 board/sunxi/Makefile                      | 12 +-----------
 board/sunxi/dram_a20_olinuxino_l.c        | 31 -------------------------------
 board/sunxi/dram_a20_olinuxino_l2.c       | 31 -------------------------------
 board/sunxi/dram_cubieboard2.c            | 31 -------------------------------
 board/sunxi/dram_cubietruck.c             | 31 -------------------------------
 board/sunxi/dram_linksprite_pcduino3.c    | 31 -------------------------------
 board/sunxi/dram_sun7i_384_1024_iow16.c   | 31 -------------------------------
 configs/A20-OLinuXino-Lime2_defconfig     |  3 +++
 configs/A20-OLinuXino-Lime_defconfig      |  3 +++
 configs/A20-OLinuXino_MICRO_defconfig     |  3 +++
 configs/Bananapi_defconfig                |  3 +++
 configs/Bananapro_defconfig               |  3 +++
 configs/Cubieboard2_defconfig             |  3 +++
 configs/Cubietruck_defconfig              |  3 +++
 configs/Linksprite_pcDuino3_defconfig     |  3 +++
 configs/Linksprite_pcDuino3_fdt_defconfig |  3 +++
 configs/MSI_Primo73_defconfig             |  3 +++
 configs/Mele_M3_defconfig                 |  3 +++
 18 files changed, 34 insertions(+), 197 deletions(-)
 delete mode 100644 board/sunxi/dram_a20_olinuxino_l.c
 delete mode 100644 board/sunxi/dram_a20_olinuxino_l2.c
 delete mode 100644 board/sunxi/dram_cubieboard2.c
 delete mode 100644 board/sunxi/dram_cubietruck.c
 delete mode 100644 board/sunxi/dram_linksprite_pcduino3.c
 delete mode 100644 board/sunxi/dram_sun7i_384_1024_iow16.c
board/sunxi/Makefile +1 -11
index 0522f3c..71edb83 100644
@@ -12,21 +12,11 @@ obj-y	+= board.o
 obj-$(CONFIG_SUNXI_GMAC)	+= gmac.o
 obj-$(CONFIG_SUNXI_AHCI)	+= ahci.o
 obj-$(CONFIG_MACH_SUN4I)	+= dram_sun4i_auto.o
+obj-$(CONFIG_MACH_SUN7I)	+= dram_sun5i_auto.o
 obj-$(CONFIG_TARGET_A10S_OLINUXINO_M)	+= dram_a10s_olinuxino_m.o
 obj-$(CONFIG_TARGET_A13_OLINUXINO)	+= dram_a13_olinuxino.o
 obj-$(CONFIG_TARGET_A13_OLINUXINOM)	+= dram_a13_oli_micro.o
-obj-$(CONFIG_TARGET_A20_OLINUXINO_L)	+= dram_a20_olinuxino_l.o
-obj-$(CONFIG_TARGET_A20_OLINUXINO_L2)	+= dram_a20_olinuxino_l2.o
-obj-$(CONFIG_TARGET_A20_OLINUXINO_M)	+= dram_sun7i_384_1024_iow16.o
 # This is not a typo, uses the same mem settings as the a10s-olinuxino-m
 obj-$(CONFIG_TARGET_AUXTEK_T004)	+= dram_a10s_olinuxino_m.o
-obj-$(CONFIG_TARGET_BANANAPI)		+= dram_bananapi.o
-obj-$(CONFIG_TARGET_BANANAPRO)		+= dram_bananapi.o
-obj-$(CONFIG_TARGET_CUBIEBOARD2)	+= dram_cubieboard2.o
-obj-$(CONFIG_TARGET_CUBIETRUCK)		+= dram_cubietruck.o
-obj-$(CONFIG_TARGET_I12_TVBOX)		+= dram_sun5i_auto.o
-obj-$(CONFIG_TARGET_MELE_M3)		+= dram_sun7i_384_1024_iow16.o
 obj-$(CONFIG_TARGET_MK802_A10S)		+= dram_sun5i_auto.o
-obj-$(CONFIG_TARGET_MSI_PRIMO73)	+= dram_sun7i_384_1024_iow16.o
-obj-$(CONFIG_TARGET_PCDUINO3)		+= dram_linksprite_pcduino3.o
 obj-$(CONFIG_TARGET_R7DONGLE)		+= dram_r7dongle.o
board/sunxi/dram_a20_olinuxino_l.c deleted +0 -31
deleted file mode 100644
index 2c74999..0000000
@@ -1,31 +0,0 @@
-/* this file is generated, don't edit it yourself */
-
-#include "common.h"
-#include <asm/arch/dram.h>
-
-static struct dram_para dram_para = {
-	.clock = 480,
-	.type = 3,
-	.rank_num = 1,
-	.density = 4096,
-	.io_width = 16,
-	.bus_width = 16,
-	.cas = 9,
-	.zq = 0x7f,
-	.odt_en = 0,
-	.size = 512,
-	.tpr0 = 0x42d899b7,
-	.tpr1 = 0xa090,
-	.tpr2 = 0x22a00,
-	.tpr3 = 0,
-	.tpr4 = 0,
-	.tpr5 = 0,
-	.emr1 = 0x4,
-	.emr2 = 0x10,
-	.emr3 = 0,
-};
-
-unsigned long sunxi_dram_init(void)
-{
-	return dramc_init(&dram_para);
-}
board/sunxi/dram_a20_olinuxino_l2.c deleted +0 -31
deleted file mode 100644
index 2115d37..0000000
@@ -1,31 +0,0 @@
-/* this file is generated, don't edit it yourself */
-
-#include <common.h>
-#include <asm/arch/dram.h>
-
-static struct dram_para dram_para = {
-	.clock = 480,
-	.type = 3,
-	.rank_num = 1,
-	.density = 4096,
-	.io_width = 16,
-	.bus_width = 32,
-	.cas = 9,
-	.zq = 0x7f,
-	.odt_en = 0,
-	.size = 1024,
-	.tpr0 = 0x42d899b7,
-	.tpr1 = 0xa090,
-	.tpr2 = 0x22a00,
-	.tpr3 = 0,
-	.tpr4 = 0,
-	.tpr5 = 0,
-	.emr1 = 0x4,
-	.emr2 = 0x10,
-	.emr3 = 0,
-};
-
-unsigned long sunxi_dram_init(void)
-{
-	return dramc_init(&dram_para);
-}
board/sunxi/dram_cubieboard2.c deleted +0 -31
deleted file mode 100644
index 9e75367..0000000
@@ -1,31 +0,0 @@
-/* this file is generated, don't edit it yourself */
-
-#include <common.h>
-#include <asm/arch/dram.h>
-
-static struct dram_para dram_para = {
-	.clock = 480,
-	.type = 3,
-	.rank_num = 1,
-	.density = 4096,
-	.io_width = 16,
-	.bus_width = 32,
-	.cas = 9,
-	.zq = 0x7f,
-	.odt_en = 0,
-	.size = 1024,
-	.tpr0 = 0x42d899b7,
-	.tpr1 = 0xa090,
-	.tpr2 = 0x22a00,
-	.tpr3 = 0x0,
-	.tpr4 = 0x1,
-	.tpr5 = 0x0,
-	.emr1 = 0x4,
-	.emr2 = 0x10,
-	.emr3 = 0x0,
-};
-
-unsigned long sunxi_dram_init(void)
-{
-	return dramc_init(&dram_para);
-}
board/sunxi/dram_cubietruck.c deleted +0 -31
deleted file mode 100644
index fbcd687..0000000
@@ -1,31 +0,0 @@
-/* this file is generated, don't edit it yourself */
-
-#include <common.h>
-#include <asm/arch/dram.h>
-
-static struct dram_para dram_para = {
-	.clock = 432,
-	.type = 3,
-	.rank_num = 1,
-	.density = 4096,
-	.io_width = 8,
-	.bus_width = 32,
-	.cas = 9,
-	.zq = 0x7f,
-	.odt_en = 0,
-	.size = 2048,
-	.tpr0 = 0x42d899b7,
-	.tpr1 = 0xa090,
-	.tpr2 = 0x22a00,
-	.tpr3 = 0x0,
-	.tpr4 = 0x1,
-	.tpr5 = 0x0,
-	.emr1 = 0x4,
-	.emr2 = 0x10,
-	.emr3 = 0x0,
-};
-
-unsigned long sunxi_dram_init(void)
-{
-	return dramc_init(&dram_para);
-}
board/sunxi/dram_linksprite_pcduino3.c deleted +0 -31
deleted file mode 100644
index 9cc6e19..0000000
@@ -1,31 +0,0 @@
-/* this file is generated, don't edit it yourself */
-
-#include <common.h>
-#include <asm/arch/dram.h>
-
-static struct dram_para dram_para = {
-	.clock = 480,
-	.type = 3,
-	.rank_num = 1,
-	.density = 4096,
-	.io_width = 16,
-	.bus_width = 32,
-	.cas = 9,
-	.zq = 0x7a,
-	.odt_en = 0,
-	.size = 1024,
-	.tpr0 = 0x42d899b7,
-	.tpr1 = 0xa090,
-	.tpr2 = 0x22a00,
-	.tpr3 = 0,
-	.tpr4 = 0,
-	.tpr5 = 0,
-	.emr1 = 0x4,
-	.emr2 = 0x10,
-	.emr3 = 0x0,
-};
-
-unsigned long sunxi_dram_init(void)
-{
-	return dramc_init(&dram_para);
-}
board/sunxi/dram_sun7i_384_1024_iow16.c deleted +0 -31
deleted file mode 100644
index 04e4b1e..0000000
@@ -1,31 +0,0 @@
-/* this file is generated, don't edit it yourself */
-
-#include "common.h"
-#include <asm/arch/dram.h>
-
-static struct dram_para dram_para = {
-	.clock = 384,
-	.type = 3,
-	.rank_num = 1,
-	.density = 4096,
-	.io_width = 16,
-	.bus_width = 32,
-	.cas = 9,
-	.zq = 0x7f,
-	.odt_en = 0,
-	.size = 1024,
-	.tpr0 = 0x42d899b7,
-	.tpr1 = 0xa090,
-	.tpr2 = 0x22a00,
-	.tpr3 = 0,
-	.tpr4 = 0,
-	.tpr5 = 0,
-	.emr1 = 0x4,
-	.emr2 = 0x10,
-	.emr3 = 0,
-};
-
-unsigned long sunxi_dram_init(void)
-{
-	return dramc_init(&dram_para);
-}
configs/A20-OLinuXino-Lime2_defconfig +3 -0
index f80b98a..17fd19d 100644
@@ -5,3 +5,6 @@ CONFIG_FDTFILE="sun7i-a20-olinuxino-lime2.dtb"
 +S:CONFIG_ARCH_SUNXI=y
 +S:CONFIG_MACH_SUN7I=y
 +S:CONFIG_TARGET_A20_OLINUXINO_L2=y
++S:CONFIG_DRAM_CLK=480
++S:CONFIG_DRAM_ZQ=127
++S:CONFIG_DRAM_EMR1=4
configs/A20-OLinuXino-Lime_defconfig +3 -0
index d9e66b7..c8243a4 100644
@@ -5,3 +5,6 @@ CONFIG_FDTFILE="sun7i-a20-olinuxino-lime.dtb"
 +S:CONFIG_ARCH_SUNXI=y
 +S:CONFIG_MACH_SUN7I=y
 +S:CONFIG_TARGET_A20_OLINUXINO_L=y
++S:CONFIG_DRAM_CLK=480
++S:CONFIG_DRAM_ZQ=127
++S:CONFIG_DRAM_EMR1=4
configs/A20-OLinuXino_MICRO_defconfig +3 -0
index 1c5a6f7..ac94c79 100644
@@ -9,3 +9,6 @@ CONFIG_VIDEO_VGA=y
 +S:CONFIG_ARCH_SUNXI=y
 +S:CONFIG_MACH_SUN7I=y
 +S:CONFIG_TARGET_A20_OLINUXINO_M=y
++S:CONFIG_DRAM_CLK=384
++S:CONFIG_DRAM_ZQ=127
++S:CONFIG_DRAM_EMR1=4
configs/Bananapi_defconfig +3 -0
index 196f682..d94e08e 100644
@@ -5,3 +5,6 @@ CONFIG_FDTFILE="sun7i-a20-bananapi.dtb"
 +S:CONFIG_ARCH_SUNXI=y
 +S:CONFIG_MACH_SUN7I=y
 +S:CONFIG_TARGET_BANANAPI=y
++S:CONFIG_DRAM_CLK=432
++S:CONFIG_DRAM_ZQ=127
++S:CONFIG_DRAM_EMR1=4
configs/Bananapro_defconfig +3 -0
index 7f9ce13..02e4f3e 100644
@@ -7,3 +7,6 @@ CONFIG_USB2_VBUS_PIN="PH1"
 +S:CONFIG_ARCH_SUNXI=y
 +S:CONFIG_MACH_SUN7I=y
 +S:CONFIG_TARGET_BANANAPRO=y
++S:CONFIG_DRAM_CLK=432
++S:CONFIG_DRAM_ZQ=127
++S:CONFIG_DRAM_EMR1=4
configs/Cubieboard2_defconfig +3 -0
index 7e7a1ca..ef5b43a 100644
@@ -5,3 +5,6 @@ CONFIG_FDTFILE="sun7i-a20-cubieboard2.dtb"
 +S:CONFIG_ARCH_SUNXI=y
 +S:CONFIG_MACH_SUN7I=y
 +S:CONFIG_TARGET_CUBIEBOARD2=y
++S:CONFIG_DRAM_CLK=480
++S:CONFIG_DRAM_ZQ=127
++S:CONFIG_DRAM_EMR1=4
configs/Cubietruck_defconfig +3 -0
index bc44410..f51c491 100644
@@ -6,3 +6,6 @@ CONFIG_VIDEO_VGA=y
 +S:CONFIG_ARCH_SUNXI=y
 +S:CONFIG_MACH_SUN7I=y
 +S:CONFIG_TARGET_CUBIETRUCK=y
++S:CONFIG_DRAM_CLK=432
++S:CONFIG_DRAM_ZQ=127
++S:CONFIG_DRAM_EMR1=4
configs/Linksprite_pcDuino3_defconfig +3 -0
index a26ff0a..64e01c8 100644
@@ -5,3 +5,6 @@ CONFIG_FDTFILE="sun7i-a20-pcduino3.dtb"
 +S:CONFIG_ARCH_SUNXI=y
 +S:CONFIG_MACH_SUN7I=y
 +S:CONFIG_TARGET_PCDUINO3=y
++S:CONFIG_DRAM_CLK=480
++S:CONFIG_DRAM_ZQ=122
++S:CONFIG_DRAM_EMR1=4
configs/Linksprite_pcDuino3_fdt_defconfig +3 -0
index a33f3a7..49718c7 100644
@@ -9,3 +9,6 @@ CONFIG_OF_SEPARATE=y
 +S:CONFIG_ARCH_SUNXI=y
 +S:CONFIG_MACH_SUN7I=y
 +S:CONFIG_TARGET_PCDUINO3=y
++S:CONFIG_DRAM_CLK=480
++S:CONFIG_DRAM_ZQ=122
++S:CONFIG_DRAM_EMR1=4
configs/MSI_Primo73_defconfig +3 -0
index d731053..6628184 100644
@@ -11,3 +11,6 @@ CONFIG_USB_KEYBOARD=n
 +S:CONFIG_ARCH_SUNXI=y
 +S:CONFIG_MACH_SUN7I=y
 +S:CONFIG_TARGET_MSI_PRIMO73=y
++S:CONFIG_DRAM_CLK=384
++S:CONFIG_DRAM_ZQ=127
++S:CONFIG_DRAM_EMR1=4
configs/Mele_M3_defconfig +3 -0
index 141d565..7f1710a 100644
@@ -8,3 +8,6 @@ CONFIG_VIDEO_VGA=y
 +S:CONFIG_ARCH_SUNXI=y
 +S:CONFIG_MACH_SUN7I=y
 +S:CONFIG_TARGET_MELE_M3=y
++S:CONFIG_DRAM_CLK=384
++S:CONFIG_DRAM_ZQ=127
++S:CONFIG_DRAM_EMR1=4
Signature · 1 line
2.1.0
#1 lore raw

PATCH 1/1 sunxi: Convert sun7i boards to use auto dram configuration

Quoted 8 lines · Hans de Goede

Currently we've separate detailed dram settings for all sun7i boards, this moves them over to using auto dram configuration so that we can get rid of all the per board dram_foo.c files.

This has been tested on a A20-Olinuxino-Lime, A20-Olinuxino_MICRO, Bananapi, Bananapro, Cubieboard2, Cubietruck, Mele_M3 and a Linksprite_pcDuino3.

As with the previous mail -- no config adjustment?

with or without:

#2 lore raw

PATCH 1/1 sunxi: Convert sun7i boards to use auto dram configuration

Hi,

Quoted 11 lines · Ian Campbell
Quoted 8 lines · Hans de Goede

Currently we've separate detailed dram settings for all sun7i boards, this moves them over to using auto dram configuration so that we can get rid of all the per board dram_foo.c files.

This has been tested on a A20-Olinuxino-Lime, A20-Olinuxino_MICRO, Bananapi, Bananapro, Cubieboard2, Cubietruck, Mele_M3 and a Linksprite_pcDuino3.

As with the previous mail -- no config adjustment?

What do you mean with "no config adjustment" ?

Also have you seen the preceding "sunxi: Drop qt840a_defconfig" patch (send a day earlier or so)

Regards,

Hans

#3 lore raw

PATCH 1/1 sunxi: Convert sun7i boards to use auto dram configuration

Quoted 8 lines · Hans de Goede

Hi,

Quoted 5 lines · Ian Campbell
Quoted 4 lines · Hans de Goede

Currently we've separate detailed dram settings for all sun7i boards, this moves them over to using auto dram configuration so that we can get rid of all the per board dram_foo.c files.

Quoted 8 lines
Quoted 6 lines
Quoted 4 lines

This has been tested on a A20-Olinuxino-Lime, A20-Olinuxino_MICRO, Bananapi, Bananapro, Cubieboard2, Cubietruck, Mele_M3 and a Linksprite_pcDuino3.

As with the previous mail -- no config adjustment?

What do you mean with "no config adjustment" ?

Sorry, my mail was acting up so you won't have seen the previous mail (it disappeared into the Ether...)

<[email protected]> is a resend of what I was talking about.

Quoted 2 lines

Also have you seen the preceding "sunxi: Drop qt840a_defconfig" patch (send a day earlier or so)

My lost reply to this was the previous mail referred to above...

Ian.

#4 lore raw

PATCH 1/1 sunxi: Convert sun7i boards to use auto dram configuration

Hi,

Quoted 21 lines · Ian Campbell
Quoted 8 lines · Hans de Goede

Hi,

Quoted 5 lines · Ian Campbell
Quoted 4 lines · Hans de Goede

Currently we've separate detailed dram settings for all sun7i boards, this moves them over to using auto dram configuration so that we can get rid of all the per board dram_foo.c files.

Quoted 8 lines
Quoted 6 lines
Quoted 4 lines

This has been tested on a A20-Olinuxino-Lime, A20-Olinuxino_MICRO, Bananapi, Bananapro, Cubieboard2, Cubietruck, Mele_M3 and a Linksprite_pcDuino3.

As with the previous mail -- no config adjustment?

What do you mean with "no config adjustment" ?

Sorry, my mail was acting up so you won't have seen the previous mail (it disappeared into the Ether...)

Quoted 7 lines

<[email protected]> is a resend of what I was talking about.

Quoted 2 lines

Also have you seen the preceding "sunxi: Drop qt840a_defconfig" patch (send a day earlier or so)

My lost reply to this was the previous mail referred to above...

Ah I see, yes I do plan to drop the TARGET stuff eventually, my plan is to first add a new Kconfig for GMAC thingie, as well as also convert sun5i and then remove all the TARGET stuff.

Regards,

Hans

#5 lore raw

PATCH 1/1 sunxi: Convert sun7i boards to use auto dram configuration

In reply to Hans de Goede

(my MUA is playing up today, not sure if this went either to you or to the list, so resending, the comments apply equally to "Drop qt840a_defconfig" too)

Quoted 6 lines · Hans de Goede

Currently we've separate detailed dram settings for all sun7i boards, this moves them over to using auto dram configuration so that we can get rid of all the per board dram_foo.c files.

This has been tested on a A20-Olinuxino-Lime, A20-Olinuxino_MICRO, Bananapi, Bananapro, Cubieboard2, Cubietruck, Mele_M3 and a Linksprite_pcDuino3.

Did you not want to remove the Kconfig entries and the CONFIG_TARGET_* from the defconfigs too? (at least for those boards which don't have magic things like the BANANA* do)

Either way: