Re: [U-Boot] [Patch v2 6/7] powerpc/mpc8349emds: Migrate from spd_sdram to unified DDR driver

2011-12-07 Thread York Sun
On Wed, 2011-12-07 at 21:40 +0100, Wolfgang Denk wrote:
 Dear Kim  Kumar,
 
 many weeks ago in message
 20111023095323.2087511f9...@gemini.denx.de I wrote:
 
  Dear Kumar Gala,
  
  In message 2a6300e8-a874-49ac-84cb-be681af1b...@freescale.com you wrote:
   
   On Aug 26, 2011, at 1:32 PM, York Sun wrote:
   
Update MPC8349EMDS to use unified DDR driver instead of spd_sdram.c.
The unified driver can initialize data using DDR controller. No need to
use DMA if just to initialze for ECC.

Signed-off-by: York Sun york...@freescale.com
Signed-off-by: Kim Phillips kim.phill...@freescale.com
---
board/freescale/mpc8349emds/Makefile  |1 +
board/freescale/mpc8349emds/ddr.c |  107 
+
board/freescale/mpc8349emds/mpc8349emds.c |   26 ---
include/configs/MPC8349EMDS.h |   16 
4 files changed, 139 insertions(+), 11 deletions(-)
create mode 100644 board/freescale/mpc8349emds/ddr.c
   
   applied to 85xx 'next'
  
  Did you test it???
  
  
  This patch breaks out-of-tree building of the MPC8349EMDS board:
  
  + MAKEALL_LOGDIR=/work/wd/tmp-ppc-LOG
  + BUILD_DIR=/work/wd/tmp-ppc
  + ./MAKEALL MPC8349EMDS
  Configuring for MPC8349EMDS board...
  make[1]: *** No rule to make target 
  `/work/wd/tmp-ppc/arch/powerpc/cpu/mpc83xx/.depend.ddr-gen2', needed by 
  `/work/wd/tmp-ppc/arch/powerpc/cpu/mpc83xx/.depend'.  Stop.
  make[1]: *** No rule to make target 
  `/work/wd/tmp-ppc/arch/powerpc/cpu/mpc83xx/.depend.ddr-gen2', needed by 
  `/work/wd/tmp-ppc/arch/powerpc/cpu/mpc83xx/.depend'.  Stop.
  make: *** [depend] Error 2
  
  [Local building works.]
  
  
  Note also that make distclean still leaves a file
  arch/powerpc/cpu/mpc83xx/ddr-gen2.c
  
  Please fix this, too.
 
 Is anybody going to fix this?  Or can I assume the board is dead and
 we can remove it?

A patch was sent on Oct 25 to fix this

http://patchwork.ozlabs.org/patch/121746/

York



___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [Patch v2 6/7] powerpc/mpc8349emds: Migrate from spd_sdram to unified DDR driver

2011-12-07 Thread Wolfgang Denk
Dear York Sun,

In message 1323290774.27412.25.camel@oslab-l1 you wrote:

  Is anybody going to fix this?  Or can I assume the board is dead and
  we can remove it?
 
 A patch was sent on Oct 25 to fix this
 
 http://patchwork.ozlabs.org/patch/121746/

Yes, and Kim wrote on Fri, 11 Nov 2011:

 this somehow got lost from my inbox, but I grabbed it from patchwork
 and applied it to 83xx.

But I haven't seen any pull request since.

So I have to assume this is dead code and nobody cares about it any
more ?

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH, MD: Wolfgang Denk  Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de
The so-called desktop metaphor of today's workstations  is  instead
an  airplane-seat  metaphor.  Anyone who has shuffled a lap full of
papers while seated between two portly passengers will recognize  the
difference -- one can see only a very few things at once.
   - Fred Brooks, Jr.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [Patch v2 6/7] powerpc/mpc8349emds: Migrate from spd_sdram to unified DDR driver

2011-10-24 Thread Kumar Gala

On Oct 23, 2011, at 4:53 AM, Wolfgang Denk wrote:

 Dear Kumar Gala,
 
 In message 2a6300e8-a874-49ac-84cb-be681af1b...@freescale.com you wrote:
 
 On Aug 26, 2011, at 1:32 PM, York Sun wrote:
 
 Update MPC8349EMDS to use unified DDR driver instead of spd_sdram.c.
 The unified driver can initialize data using DDR controller. No need to
 use DMA if just to initialze for ECC.
 
 Signed-off-by: York Sun york...@freescale.com
 Signed-off-by: Kim Phillips kim.phill...@freescale.com
 ---
 board/freescale/mpc8349emds/Makefile  |1 +
 board/freescale/mpc8349emds/ddr.c |  107 
 +
 board/freescale/mpc8349emds/mpc8349emds.c |   26 ---
 include/configs/MPC8349EMDS.h |   16 
 4 files changed, 139 insertions(+), 11 deletions(-)
 create mode 100644 board/freescale/mpc8349emds/ddr.c
 
 applied to 85xx 'next'
 
 Did you test it???
 
 
 This patch breaks out-of-tree building of the MPC8349EMDS board:
 
 + MAKEALL_LOGDIR=/work/wd/tmp-ppc-LOG
 + BUILD_DIR=/work/wd/tmp-ppc
 + ./MAKEALL MPC8349EMDS
 Configuring for MPC8349EMDS board...
 make[1]: *** No rule to make target 
 `/work/wd/tmp-ppc/arch/powerpc/cpu/mpc83xx/.depend.ddr-gen2', needed by 
 `/work/wd/tmp-ppc/arch/powerpc/cpu/mpc83xx/.depend'.  Stop.
 make[1]: *** No rule to make target 
 `/work/wd/tmp-ppc/arch/powerpc/cpu/mpc83xx/.depend.ddr-gen2', needed by 
 `/work/wd/tmp-ppc/arch/powerpc/cpu/mpc83xx/.depend'.  Stop.
 make: *** [depend] Error 2
 
 [Local building works.]
 
 
 Note also that make distclean still leaves a file
 arch/powerpc/cpu/mpc83xx/ddr-gen2.c
 
 Please fix this, too.
 
 Best regards,
 
 Wolfgang Denk

I'll yell at the guys to fix this :)

- k
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [Patch v2 6/7] powerpc/mpc8349emds: Migrate from spd_sdram to unified DDR driver

2011-10-23 Thread Wolfgang Denk
Dear Kumar Gala,

In message 2a6300e8-a874-49ac-84cb-be681af1b...@freescale.com you wrote:
 
 On Aug 26, 2011, at 1:32 PM, York Sun wrote:
 
  Update MPC8349EMDS to use unified DDR driver instead of spd_sdram.c.
  The unified driver can initialize data using DDR controller. No need to
  use DMA if just to initialze for ECC.
  
  Signed-off-by: York Sun york...@freescale.com
  Signed-off-by: Kim Phillips kim.phill...@freescale.com
  ---
  board/freescale/mpc8349emds/Makefile  |1 +
  board/freescale/mpc8349emds/ddr.c |  107 
  +
  board/freescale/mpc8349emds/mpc8349emds.c |   26 ---
  include/configs/MPC8349EMDS.h |   16 
  4 files changed, 139 insertions(+), 11 deletions(-)
  create mode 100644 board/freescale/mpc8349emds/ddr.c
 
 applied to 85xx 'next'

Did you test it???


This patch breaks out-of-tree building of the MPC8349EMDS board:

+ MAKEALL_LOGDIR=/work/wd/tmp-ppc-LOG
+ BUILD_DIR=/work/wd/tmp-ppc
+ ./MAKEALL MPC8349EMDS
Configuring for MPC8349EMDS board...
make[1]: *** No rule to make target 
`/work/wd/tmp-ppc/arch/powerpc/cpu/mpc83xx/.depend.ddr-gen2', needed by 
`/work/wd/tmp-ppc/arch/powerpc/cpu/mpc83xx/.depend'.  Stop.
make[1]: *** No rule to make target 
`/work/wd/tmp-ppc/arch/powerpc/cpu/mpc83xx/.depend.ddr-gen2', needed by 
`/work/wd/tmp-ppc/arch/powerpc/cpu/mpc83xx/.depend'.  Stop.
make: *** [depend] Error 2

[Local building works.]


Note also that make distclean still leaves a file
arch/powerpc/cpu/mpc83xx/ddr-gen2.c

Please fix this, too.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH, MD: Wolfgang Denk  Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de
Overflow on /dev/null, please empty the bit bucket.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [Patch v2 6/7] powerpc/mpc8349emds: Migrate from spd_sdram to unified DDR driver

2011-09-16 Thread Kumar Gala

On Aug 26, 2011, at 1:32 PM, York Sun wrote:

 Update MPC8349EMDS to use unified DDR driver instead of spd_sdram.c.
 The unified driver can initialize data using DDR controller. No need to
 use DMA if just to initialze for ECC.
 
 Signed-off-by: York Sun york...@freescale.com
 Signed-off-by: Kim Phillips kim.phill...@freescale.com
 ---
 board/freescale/mpc8349emds/Makefile  |1 +
 board/freescale/mpc8349emds/ddr.c |  107 +
 board/freescale/mpc8349emds/mpc8349emds.c |   26 ---
 include/configs/MPC8349EMDS.h |   16 
 4 files changed, 139 insertions(+), 11 deletions(-)
 create mode 100644 board/freescale/mpc8349emds/ddr.c

applied to 85xx 'next'

- k

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [Patch v2 6/7] powerpc/mpc8349emds: Migrate from spd_sdram to unified DDR driver

2011-08-26 Thread York Sun
Update MPC8349EMDS to use unified DDR driver instead of spd_sdram.c.
The unified driver can initialize data using DDR controller. No need to
use DMA if just to initialze for ECC.

Signed-off-by: York Sun york...@freescale.com
Signed-off-by: Kim Phillips kim.phill...@freescale.com
---
 board/freescale/mpc8349emds/Makefile  |1 +
 board/freescale/mpc8349emds/ddr.c |  107 +
 board/freescale/mpc8349emds/mpc8349emds.c |   26 ---
 include/configs/MPC8349EMDS.h |   16 
 4 files changed, 139 insertions(+), 11 deletions(-)
 create mode 100644 board/freescale/mpc8349emds/ddr.c

diff --git a/board/freescale/mpc8349emds/Makefile 
b/board/freescale/mpc8349emds/Makefile
index 4f76eab..601c3bf 100644
--- a/board/freescale/mpc8349emds/Makefile
+++ b/board/freescale/mpc8349emds/Makefile
@@ -27,6 +27,7 @@ LIB   = $(obj)lib$(BOARD).o
 
 COBJS-y += $(BOARD).o
 COBJS-$(CONFIG_PCI) += pci.o
+COBJS-$(CONFIG_FSL_DDR2) += ddr.o
 
 COBJS  := $(COBJS-y)
 SRCS   := $(SOBJS:.o=.S) $(COBJS:.o=.c)
diff --git a/board/freescale/mpc8349emds/ddr.c 
b/board/freescale/mpc8349emds/ddr.c
new file mode 100644
index 000..0209c1e
--- /dev/null
+++ b/board/freescale/mpc8349emds/ddr.c
@@ -0,0 +1,107 @@
+/*
+ * Copyright 2011 Freescale Semiconductor, Inc.
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation; either version 2 of the License, or (at your option)
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+
+#include common.h
+
+#include asm/fsl_ddr_sdram.h
+#include asm/fsl_ddr_dimm_params.h
+
+struct board_specific_parameters {
+   u32 datarate_mhz_low;
+   u32 datarate_mhz_high;
+   u32 n_ranks;
+   u32 clk_adjust;
+   u32 cpo;
+   u32 write_data_delay;
+   u32 force_2T;
+};
+
+const struct board_specific_parameters board_specific_parameters_udimm[][20] = 
{
+   {
+   /*
+*  memory controller 0
+*lo|  hi|  num|  clk| cpo|wrdata|2T
+*   mhz| mhz|ranks|adjst|| delay|
+*/
+   {  0, 300,2,4,   4,2,  0},
+   {301, 365,2,4,   6,2,  0},
+   {366, 450,2,4,   7,2,  0},
+   {451, 850,2,4,  31,2,  0},
+   {  0, 300,1,4,   4,2,  0},
+   {301, 365,1,4,   6,2,  0},
+   {366, 450,1,4,   7,2,  0},
+   {451, 850,1,4,  31,2,  0}
+   }
+};
+
+void fsl_ddr_board_options(memctl_options_t *popts,
+   dimm_params_t *pdimm,
+   unsigned int ctrl_num)
+{
+   const struct board_specific_parameters *pbsp;
+   u32 num_params;
+   u32 i, dimm_num;
+   ulong ddr_freq;
+
+   if (ctrl_num != 0)  /* we have only one controller */
+   return;
+   for (i = 0; i  CONFIG_DIMM_SLOTS_PER_CTLR; i++) {
+   if (pdimm[i].n_ranks)
+   break;
+   }
+   if (i = CONFIG_DIMM_SLOTS_PER_CTLR)/* no DIMM */
+   return;
+
+   dimm_num = i;
+   pbsp = (board_specific_parameters_udimm[ctrl_num][0]);
+   num_params = sizeof(board_specific_parameters_udimm[ctrl_num]) /
+   sizeof(board_specific_parameters_udimm[0][0]);
+
+   /* Get clk_adjust, cpo, write_data_delay,2T, according to the board ddr
+* freqency and n_banks specified in board_specific_parameters table.
+*/
+   ddr_freq = get_ddr_freq(0) / 100;
+   for (i = 0; i  num_params; i++) {
+   if (ddr_freq = pbsp-datarate_mhz_low 
+   ddr_freq = pbsp-datarate_mhz_high 
+   pdimm[dimm_num].n_ranks == pbsp-n_ranks) {
+   popts-clk_adjust = pbsp-clk_adjust;
+   popts-cpo_override = pbsp-cpo;
+   popts-write_data_delay = pbsp-write_data_delay;
+   popts-twoT_en = pbsp-force_2T;
+   break;
+   }
+   pbsp++;
+   }
+
+   if (i == num_params) {
+   printf(Warning: board specific timing not found 
+   for data rate %lu MT/s!\n, ddr_freq);
+   }
+
+   /*
+* Factors to consider for half-strength driver enable:
+*  -