Re: [U-Boot] mx6: spl: Rename ncs as ranks and move it to mx6_ddr3_cfg

2014-08-10 Thread Tim Harvey
On Sat, Aug 9, 2014 at 7:08 AM, Nikolay Dimitrov picmas...@mail.bg wrote:
 Hi guys,

 I'm working on adding SO-DIMM SPL support on a custom imx6 board, so I'm
 thinking on the idea of which DDR3 settings belong to the controller and
 which belong to the DDR3 memory module/chips.

 My proposal is to rename the struct member ncs to ranks (as per JEDEC)
 and to move it as part of the DDR3 module description (be it an external
 so-dimm module or on-board DDR ICs), and not part of the MMDC description.
 This way the ranks value can be loaded from the SO-DIMM SPD or hard-coded
 as in Tim's case for the Ventana board.

 The code for my board is out of the official tree, so I'm showing my idea on
 Tim's Ventana SPL code:


 diff --git a/arch/arm/cpu/armv7/mx6/ddr.c b/arch/arm/cpu/armv7/mx6/ddr.c
 index 0434211..0d3580b 100644
 --- a/arch/arm/cpu/armv7/mx6/ddr.c
 +++ b/arch/arm/cpu/armv7/mx6/ddr.c
 @@ -340,7 +340,7 @@ void mx6_dram_cfg(const struct mx6_ddr_sysinfo *i,
 debug(trrd=%d\n, trrd);
 debug(txpr=%d\n, txpr);
 debug(CS0_END=%d\n, CS0_END);
 -   debug(ncs=%d\n, i-ncs);
 +   debug(ranks=%d\n, m-ranks);
 debug(Rtt_wr=%d\n, i-rtt_wr);
 debug(Rtt_nom=%d\n, i-rtt_nom);
 debug(SRT=%d\n, m-SRT);
 @@ -437,11 +437,11 @@ void mx6_dram_cfg(const struct mx6_ddr_sysinfo *i,
 /* Step 7: Enable MMDC with desired chip select */
 reg = mmdc0-mdctl |
   (1  31) |   /* SDE_0 for CS0 */
 - ((i-ncs == 2) ? 1 : 0)  30;/* SDE_1 for CS1 */
 + ((m-ranks == 2) ? 1 : 0)  30;  /* SDE_1 for CS1 */
 mmdc0-mdctl = reg;

 /* Step 8: Write Mode Registers to Init DDR3 devices */
 -   for (cs = 0; cs  i-ncs; cs++) {
 +   for (cs = 0; cs  m-ranks; cs++) {
 /* MR2 */
 reg = (i-rtt_wr  3)  9 | (m-SRT  1)  7 |
   ((tcwl - 3)  3)  3;
 diff --git a/arch/arm/include/asm/arch-mx6/mx6-ddr.h
 b/arch/arm/include/asm/arch-mx6/mx6-ddr.h
 index 5ebabfa..2b9649c 100644
 --- a/arch/arm/include/asm/arch-mx6/mx6-ddr.h
 +++ b/arch/arm/include/asm/arch-mx6/mx6-ddr.h
 @@ -191,13 +191,13 @@ struct mx6_ddr3_cfg {
 u16 trcmin; /* tRC min (ns*100) */
 u16 trasmin;/* tRAS min (ns*100) */
 u8 SRT; /* self-refresh temperature: 0=normal, 1=extended */
 +   u8 ranks;   /* ranks (chip-selects) of the DDR3 memory (1,2) */
  };

  /* System Information: Varies per board design, layout, and term choices */
  struct mx6_ddr_sysinfo {
 u8 dsize;   /* size of bus (in dwords: 0=16bit,1=32bit,2=64bit)
 */
 u8 cs_density;  /* density per chip select (Gb) */
 -   u8 ncs; /* number chip selects used (1|2) */
 char cs1_mirror;/* enable address mirror (0|1) */
 char bi_on; /* Bank interleaving enable */
 u8 rtt_nom; /* Rtt_Nom (DDR3_RTT_*) */
 diff --git a/board/gateworks/gw_ventana/gw_ventana_spl.c
 b/board/gateworks/gw_ventana/gw_ventana_spl.c
 index e943879..93be270 100644
 --- a/board/gateworks/gw_ventana/gw_ventana_spl.c
 +++ b/board/gateworks/gw_ventana/gw_ventana_spl.c
 @@ -199,6 +199,7 @@ static struct mx6_ddr3_cfg mt41k128m16jt_125 = {
 .trcd = 1375,
 .trcmin = 4875,
 .trasmin = 3500,
 +   .ranks = 1
  };

  /* GW54xx specific calibration */
 @@ -309,8 +310,6 @@ static void spl_dram_init(int width, int size, int
 board_model)
 .dsize = width/32,
 /* config for full 4GB range so that get_mem_size() works */
 .cs_density = 32, /* 32Gb per CS */
 -   /* single chip select */
 -   .ncs = 1,
 .cs1_mirror = 0,
 .rtt_wr = 1 /*DDR3_RTT_60_OHM*/,/* RTT_Wr = RZQ/4 */
  #ifdef RTT_NOM_120OHM


 Please excuse me if this way to show ideas is not the appropriate one, just
 tell me how to do it better and I'll do my best.

 Kind regards,
 Nikolay

Hi Nikolay,

The ncs field is a 'system' property detailing how many chip selects
your board supports. I suppose in your case you are saying you have a
SO-DIMM that you route both chip selects to and the SO-DIMM SPD tells
you whether it uses 1 or 2 of them.

Nikita may have comments on this as he's using board configurations
with multiple chip selects - I haven't needed that myself yet (but
will soon) so I've cc'd him.

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


Re: [U-Boot] [RFC PATCH v2 0/2] Make Python scripts compatible with older versions

2014-08-10 Thread Igor Grinberg


On 08/07/14 20:33, Stephen Warren wrote:
 On 08/07/2014 10:57 AM, Tom Rini wrote:
 On Thu, Aug 07, 2014 at 04:17:21PM +0300, Igor Grinberg wrote:
 On 08/07/14 13:57, Tom Rini wrote:
 ..
 we just need
 /usr/bin/env python2 as how we invoke our scripts.

 This means impose python version dependency for U-Boot source build?
 Correct me if you think I'm wrong, but I don't think this is a good
 practice...
 I think that for tools like buildman, patman, etc. - this is
 perfectly fine to impose an interpreter/compiler version, but not
 for the basic source builds.

 I agree.  You don't need MAKEALL or buildman to do basic source builds.
 Doing 'make foo_defconfig' doesn't require re-creating boards.cfg.

 To me, the gray area is people doing SoC level (or higher) changes that
 want to be good and test more areas.  That's when MAKEALL or buildman
 become handy and some sort of win over a shell forloop.
 
 Why on earth isn't relying specifically on either Python2 (with the current 
 script code) or Python3 (after porting the code) a good practice?

Because I think (I can think this way, right?) it is not a good practice
to bring another host machine dependency (moreover, version dependency)
for the simple source code build (now it also backfired in OE).

 Banning or replacing the use of Python just because they cleaned up their 
 language seems like poking your eye out to spite your nose (or whatever the 
 expression is). The same thing will happen with Perl, and happened with dtc, 
 etc.

Did I say ban python or something? No, I did not say that.
What I'm saying is:
Right now, we have compiler dependency (a must as you can't practically
produce any code without it), and we have dtc (a must if you want to
compile dts), and we have make, and we have shell (this one is found
on every host, although windows users have to use cygwin or such,
but who cares, so no problem), and now we also add python to the soup?

Don't get me wrong, I don't have any problem with python...
I can have any number of python versions I want (I think gentoo is
the best at supporting this kind of stuff...).
I just don't think that basic code compile should depend on even more
stuff being added.
I've compiled various bootloaders and have seen huge dependencies on
tools and after all the build time and complexity got worth and worth.
I don't really want U-Boot to go that direction, but more to keep it
simple and stupid.


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


Re: [U-Boot] [PATCH 0/25] Introduce driver model support for SPI, SPI flash, cros_ec

2014-08-10 Thread Jagan Teki
On Sun, Aug 10, 2014 at 2:59 AM, Simon Glass s...@chromium.org wrote:
 Hi,

 On 14 July 2014 18:56, Simon Glass s...@chromium.org wrote:
 Up until now driver model has not been used for any type of bus. Buses
 have some unique properties and needs, so we cannot claim that driver
 model can cover all the common cases unless we have converted a bus over
 to driver model.

 SPI is a reasonable choice for this next step. It has a fairly simple
 API and not too many dependencies. The main one is SPI flash so we may
 as well convert that also. Since the boards I test with have cros_ec I
 have also included that, for SPI only.

 The technique used is make use of driver model's supported data structures
 to hold information currently kept by each subsystem in a private data
 structure. Since 'struct spi_slave' relates to the slave device on the bus
 it is stored in the 'parent' data with each child device of the bus.
 Since 'struct spi_flash' is a standard interface used for each SPI flash
 driver, it is stored in the SPI FLash uclass's private data for each
 device.

 New defines are created to enable driver model for each subsystem. These
 are:

CONFIG_DM_SPI
CONFIG_DM_SPI_FLASH
CONFIG_DM_CROS_EC

 This allows us to move some boards and drivers to driver model, while
 leaving others behind. A 'big bang' conversion of everything to driver
 model, event at a subsystem level, is never going to work.

 On the other hand, we change the driver at the same time as the CONFIG
 option is enabled. Keeping both version of the driver around involves a
 flock of #ifdefs, the benefit of which is not apparent to me, since the
 old code is removed anyway.

 There is some cost in changing the uclass interface after it is created,
 so if you have limited time, please spend it reviewing the uclass
 interfaces in spi.h and spi_flash.h. These need to be supported by each
 driver, so changing them later may involve changing multiple drivers.

 To help with conversion of SPI drivers to driver model, documentation is
 provided which takes the happy camper through the process with an example.

 As always, driver model patches are available at u-boot-dm.git branch
 'working'.

 Note: This series is not fully ready - e.g. some header files are missing
 comments. But I wanted to get it out for review early since some SPI work
 is ongoing which might depend on it.

 Are there any comments on this series please? I'd like to apply these
 to dm/master early next week, excluding the exynos ones.

I will be busy in next full week, give me 2 more weeks.
Probably I will give my comments on next to next weekend.

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


Re: [U-Boot] mx6: spl: Rename ncs as ranks and move it to mx6_ddr3_cfg

2014-08-10 Thread Nikolay Dimitrov

Hi Tim,

On 08/10/2014 10:47 AM, Tim Harvey wrote:

On Sat, Aug 9, 2014 at 7:08 AM, Nikolay Dimitrov picmas...@mail.bg wrote:

Hi guys,

I'm working on adding SO-DIMM SPL support on a custom imx6 board, so I'm
thinking on the idea of which DDR3 settings belong to the controller and
which belong to the DDR3 memory module/chips.

My proposal is to rename the struct member ncs to ranks (as per JEDEC)
and to move it as part of the DDR3 module description (be it an external
so-dimm module or on-board DDR ICs), and not part of the MMDC description.
This way the ranks value can be loaded from the SO-DIMM SPD or hard-coded
as in Tim's case for the Ventana board.

The code for my board is out of the official tree, so I'm showing my idea on
Tim's Ventana SPL code:


diff --git a/arch/arm/cpu/armv7/mx6/ddr.c b/arch/arm/cpu/armv7/mx6/ddr.c
index 0434211..0d3580b 100644
--- a/arch/arm/cpu/armv7/mx6/ddr.c
+++ b/arch/arm/cpu/armv7/mx6/ddr.c
@@ -340,7 +340,7 @@ void mx6_dram_cfg(const struct mx6_ddr_sysinfo *i,
 debug(trrd=%d\n, trrd);
 debug(txpr=%d\n, txpr);
 debug(CS0_END=%d\n, CS0_END);
-   debug(ncs=%d\n, i-ncs);
+   debug(ranks=%d\n, m-ranks);
 debug(Rtt_wr=%d\n, i-rtt_wr);
 debug(Rtt_nom=%d\n, i-rtt_nom);
 debug(SRT=%d\n, m-SRT);
@@ -437,11 +437,11 @@ void mx6_dram_cfg(const struct mx6_ddr_sysinfo *i,
 /* Step 7: Enable MMDC with desired chip select */
 reg = mmdc0-mdctl |
   (1  31) |   /* SDE_0 for CS0 */
- ((i-ncs == 2) ? 1 : 0)  30;/* SDE_1 for CS1 */
+ ((m-ranks == 2) ? 1 : 0)  30;  /* SDE_1 for CS1 */
 mmdc0-mdctl = reg;

 /* Step 8: Write Mode Registers to Init DDR3 devices */
-   for (cs = 0; cs  i-ncs; cs++) {
+   for (cs = 0; cs  m-ranks; cs++) {
 /* MR2 */
 reg = (i-rtt_wr  3)  9 | (m-SRT  1)  7 |
   ((tcwl - 3)  3)  3;
diff --git a/arch/arm/include/asm/arch-mx6/mx6-ddr.h
b/arch/arm/include/asm/arch-mx6/mx6-ddr.h
index 5ebabfa..2b9649c 100644
--- a/arch/arm/include/asm/arch-mx6/mx6-ddr.h
+++ b/arch/arm/include/asm/arch-mx6/mx6-ddr.h
@@ -191,13 +191,13 @@ struct mx6_ddr3_cfg {
 u16 trcmin; /* tRC min (ns*100) */
 u16 trasmin;/* tRAS min (ns*100) */
 u8 SRT; /* self-refresh temperature: 0=normal, 1=extended */
+   u8 ranks;   /* ranks (chip-selects) of the DDR3 memory (1,2) */
  };

  /* System Information: Varies per board design, layout, and term choices */
  struct mx6_ddr_sysinfo {
 u8 dsize;   /* size of bus (in dwords: 0=16bit,1=32bit,2=64bit)
*/
 u8 cs_density;  /* density per chip select (Gb) */
-   u8 ncs; /* number chip selects used (1|2) */
 char cs1_mirror;/* enable address mirror (0|1) */
 char bi_on; /* Bank interleaving enable */
 u8 rtt_nom; /* Rtt_Nom (DDR3_RTT_*) */
diff --git a/board/gateworks/gw_ventana/gw_ventana_spl.c
b/board/gateworks/gw_ventana/gw_ventana_spl.c
index e943879..93be270 100644
--- a/board/gateworks/gw_ventana/gw_ventana_spl.c
+++ b/board/gateworks/gw_ventana/gw_ventana_spl.c
@@ -199,6 +199,7 @@ static struct mx6_ddr3_cfg mt41k128m16jt_125 = {
 .trcd = 1375,
 .trcmin = 4875,
 .trasmin = 3500,
+   .ranks = 1
  };

  /* GW54xx specific calibration */
@@ -309,8 +310,6 @@ static void spl_dram_init(int width, int size, int
board_model)
 .dsize = width/32,
 /* config for full 4GB range so that get_mem_size() works */
 .cs_density = 32, /* 32Gb per CS */
-   /* single chip select */
-   .ncs = 1,
 .cs1_mirror = 0,
 .rtt_wr = 1 /*DDR3_RTT_60_OHM*/,/* RTT_Wr = RZQ/4 */
  #ifdef RTT_NOM_120OHM


Please excuse me if this way to show ideas is not the appropriate one, just
tell me how to do it better and I'll do my best.

Kind regards,
Nikolay


Hi Nikolay,

The ncs field is a 'system' property detailing how many chip selects
your board supports. I suppose in your case you are saying you have a
SO-DIMM that you route both chip selects to and the SO-DIMM SPD tells
you whether it uses 1 or 2 of them.
Yes, my board is routed to support all the required SO-DIMM signals, 
including the 2x CS signals.


Actually, thinking more about your explanation, it starts to look like 
keeping ncs is actually a good idea. But in the case where the board 
supports 2x CS but the plugged SO-DIMM memory supports only 1x CS 
(single rank), then it also makes sense to have the additional ranks 
struct member, so we can describe the capabilities of both memory and 
MMDC, and configure MMDC accordingly.



Nikita may have comments on this as he's using board configurations
with multiple chip selects - I haven't needed that myself yet (but
will soon) so I've cc'd him.

I'm definitely looking for input from more knowledgeable people than me.

Kind regards,

Re: [U-Boot] [RFC PATCH v2 0/2] Make Python scripts compatible with older versions

2014-08-10 Thread Tom Rini
On Sun, Aug 10, 2014 at 11:49:12AM +0300, Igor Grinberg wrote:
 
 
 On 08/07/14 20:33, Stephen Warren wrote:
  On 08/07/2014 10:57 AM, Tom Rini wrote:
  On Thu, Aug 07, 2014 at 04:17:21PM +0300, Igor Grinberg wrote:
  On 08/07/14 13:57, Tom Rini wrote:
  ..
  we just need
  /usr/bin/env python2 as how we invoke our scripts.
 
  This means impose python version dependency for U-Boot source build?
  Correct me if you think I'm wrong, but I don't think this is a good
  practice...
  I think that for tools like buildman, patman, etc. - this is
  perfectly fine to impose an interpreter/compiler version, but not
  for the basic source builds.
 
  I agree.  You don't need MAKEALL or buildman to do basic source builds.
  Doing 'make foo_defconfig' doesn't require re-creating boards.cfg.
 
  To me, the gray area is people doing SoC level (or higher) changes that
  want to be good and test more areas.  That's when MAKEALL or buildman
  become handy and some sort of win over a shell forloop.
  
  Why on earth isn't relying specifically on either Python2 (with the current 
  script code) or Python3 (after porting the code) a good practice?
 
 Because I think (I can think this way, right?) it is not a good practice
 to bring another host machine dependency (moreover, version dependency)
 for the simple source code build (now it also backfired in OE).
 
  Banning or replacing the use of Python just because they cleaned up their 
  language seems like poking your eye out to spite your nose (or whatever the 
  expression is). The same thing will happen with Perl, and happened with 
  dtc, etc.
 
 Did I say ban python or something? No, I did not say that.
 What I'm saying is:
 Right now, we have compiler dependency (a must as you can't practically
 produce any code without it), and we have dtc (a must if you want to
 compile dts), and we have make, and we have shell (this one is found
 on every host, although windows users have to use cygwin or such,
 but who cares, so no problem), and now we also add python to the soup?

Maybe I'm being thick then.  What's the use case you need MAKEALL or
buildman for?

-- 
Tom


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


[U-Boot] [PATCH v2] Makefile: remove generated boards.cfg within make distclean

2014-08-10 Thread Roger Meier
Signed-off-by: Roger Meier ro...@bufferoverflow.ch
CC: Masahiro Yamada yamad...@jp.panasonic.com
CC: Tom Rini tr...@ti.com
CC: Wolfgang Denk w...@denx.de

---
Changes for v2:
   - remove boards.cfg within make distclean instead of mrproper
   - use mrproper instead of distclean within MAKEALL
---
 MAKEALL  |2 +-
 Makefile |3 ++-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/MAKEALL b/MAKEALL
index 929fe88..392ea8d 100755
--- a/MAKEALL
+++ b/MAKEALL
@@ -658,7 +658,7 @@ build_target() {
MAKE=${MAKE} O=${output_dir}
fi
 
-   ${MAKE} distclean /dev/null
+   ${MAKE} mrproper /dev/null
 
echo Building ${target} board...
${MAKE} -s ${target}_defconfig /dev/null
diff --git a/Makefile b/Makefile
index 666d291..067a301 100644
--- a/Makefile
+++ b/Makefile
@@ -1285,7 +1285,8 @@ distclean: mrproper
-o -name '*.bak' -o -name '#*#' -o -name '.*.orig' \
-o -name '.*.rej' -o -name '*%' -o -name 'core' \
-o -name '*.pyc' \) \
-   -type f -print | xargs rm -f
+   -type f -print | xargs rm -f \
+   rm -f boards.cfg
 
 backup:
F=`basename $(srctree)` ; cd .. ; \
-- 
1.7.10.4

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


Re: [U-Boot] [PATCH V2 1/9] spl: replace CONFIG_SPL_SPI_* with CONFIG_SF_DEFAULT_*

2014-08-10 Thread Nikita Kiryanov



On 07/08/14 16:49, Marek Vasut wrote:

On Thursday, August 07, 2014 at 03:05:28 PM, Nikita Kiryanov wrote:

Currently, CONFIG_SPL_SPI_* #defines are used for controlling SPI boot in
SPL. These #defines do not allow the user to select SPI mode for the SPI
flash (there's no CONFIG_SPL_SPI_MODE, so the SPI mode is hardcoded in
spi_spl_load.c), and duplicate information already provided by
CONFIG_SF_DEFAULT_* #defines.

Kill CONFIG_SPL_SPI_*, and use CONFIG_SF_DEFAULT_* instead.

Cc: Jagannadha Sutradharudu Teki jagannadh.t...@gmail.com
Cc: Tom Rini tr...@ti.com
Cc: Sudhakar Rajashekhara sudhakar@ti.com
Cc: Lokesh Vutla lokeshvu...@ti.com
Cc: Vitaly Andrianov vita...@ti.com
Cc: Lars Poeschel poesc...@lemonage.de
Cc: Bo Shen voice.s...@atmel.com
Cc: Hannes Petermaier hannes.peterma...@br-automation.com
Cc: Michal Simek mon...@monstr.eu
Cc: Marek Vasut ma...@denx.de
Signed-off-by: Nikita Kiryanov nik...@compulab.co.il


Oh, right. This doesn't collide with the Kconfig work, does it ?


It does not.
(No config CONFIG_SPL_SPI_*, nor config CONFIG_SF_DEFAULT_* in any 
Kconfig files)




Otherwise, I see this as OK,

Reviewed-by: Marek Vasut ma...@denx.de

Best regards,
Marek Vasut


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


Re: [U-Boot] [PATCH 12/18] arm: mx6: add support for Compulab cm-fx6 CoM

2014-08-10 Thread Nikita Kiryanov



On 08/08/14 10:19, Tim Harvey wrote:

On Wed, Aug 6, 2014 at 10:29 AM, Nikita Kiryanov nik...@compulab.co.il wrote:



On 04/08/14 16:36, Nikita Kiryanov wrote:




On 04/08/14 07:45, Tim Harvey wrote:


On Sun, Aug 3, 2014 at 12:34 AM, Nikita Kiryanov
nik...@compulab.co.il wrote:


Add initial support for Compulab CM-FX6 CoM.
Support includes MMC, SPI flash, and SPL with dynamic DRAM detection.


snip


+
+static void spl_mx6s_dram_init(enum ddr_config dram_config, int reset)
+{
+   struct mx6_mmdc_calibration calib;
+   struct mx6_ddr_sysinfo sysinfo;
+   struct mx6_ddr3_cfg ddr3_cfg;
+
+   if (reset)
+   ((struct mmdc_p_regs *)MX6_MMDC_P0_MDCTL)-mdmisc = 2;
+
+   calib.p0_mpwldectrl0= 0x005B0061;
+   calib.p0_mpwldectrl1= 0x004F0055;
+   calib.p0_mpdgctrl0  = 0x0314030C;
+   calib.p0_mpdgctrl1  = 0x025C0268;
+   calib.p0_mprddlctl  = 0x42464646;
+   calib.p0_mpwrdlctl  = 0x36322C34;
+   ddr3_cfg.mem_speed  = 800;
+   ddr3_cfg.density= 4;
+   ddr3_cfg.rowaddr= 14;
+   ddr3_cfg.coladdr= 10;
+   ddr3_cfg.pagesz = 2;
+   ddr3_cfg.trcd   = 1800;
+   ddr3_cfg.trcmin = 5200;
+   ddr3_cfg.trasmin= 3600;
+   ddr3_cfg.SRT= 0;
+   sysinfo.cs1_mirror  = 1;
+   sysinfo.cs_density  = 16;
+   sysinfo.bi_on   = 1;
+   sysinfo.rtt_nom = 1;
+   sysinfo.rtt_wr  = 0;
+   sysinfo.ralat   = 5;
+   sysinfo.walat   = 1;
+   sysinfo.mif3_mode   = 3;
+   sysinfo.rst_to_cke  = 0x23;
+   sysinfo.sde_to_rst  = 0x10;
+   switch (dram_config) {
+   case DDR_16BIT_256MB:
+   sysinfo.dsize = 0;
+   sysinfo.ncs = 1;
+   break;
+   case DDR_32BIT_512MB:
+   sysinfo.dsize = 1;
+   sysinfo.ncs = 1;
+   break;
+   case DDR_32BIT_1GB:
+   sysinfo.dsize = 1;
+   sysinfo.ncs = 2;
+   break;
+   default:
+   puts(Tried to setup invalid DDR configuration\n);
+   hang();
+   }
+
+   mx6_dram_cfg(sysinfo, calib, ddr3_cfg);
+   udelay(100);
+}



Nikita,

I'm curious why you add an extra udelay(100) here? There is an
mdelay(1) before the return of mx6_dram_cfg() to wait for auto-ZQ
calibration to complete (I never found a way to determine when it was
complete via registers).



Yes you're right. This udelay can probably be removed (unless I catch
the board misbehaving during multiple resets).



Caught the DRAM config failing during multiple resets when udelay(100)
is removed, so I guess they stay..



Nikita,

What exactly was failing? Was the subsequent to get_ram_size()
failing?


Yes.


If the extra delay is really needed we should add it to the
mx6_dram_cfg() function. The issue I ran into before I added the
mdelay(1) there to wait for auto-ZQ calib to complete was that SDRAM
operations immediately following the call to mx6_dram_cfg() would be
un-reliable, specifically a memset to 0 would fail to clear memory
where GD was which caused some interesting failures down the line.


In my case the failures appeared after the board had been operational
long enough for the soc to heat up. I'm curious to hear what kind of
temperatures you tested your board under. If a warm temperature that is
within reasonable limits can cause failures on your board as well, that
would be a clear indication that the 1 msec delay is a borderline value
and needs to be increased.



Maybe I'll open up an issue with Freescale and ask them if there is a
way to know when auto-ZQ calibration is complete because it isn't
clear to me how to do that. The 1ms delay was because the 0 value we
set to MPZQHWCTRL ZQ_HW_PER configures it for a 1ms ZQ calibration
cycle maybe we simply need a little more headroom.


Maybe. If a Freescale representative can provide an analytical reason
like the one you're proposing, that would be great. The question is what
to do if a good explanation is not given. We can simply increase the
mdelay tentatively in mx6_dram_cfg(), or we can keep the udelay() for
cm_fx6 and wait to see if someone else complains. I'm fine with both
options.



Tim


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


Re: [U-Boot] [GIT] Pull request: u-boot-dfu

2014-08-10 Thread Lukasz Majewski
On Wed, 06 Aug 2014 09:54:23 -0600
Stephen Warren swar...@wwwdotorg.org wrote:

 
 On 07/23/2014 12:15 PM, Marek Vasut wrote:
  On Wednesday, July 16, 2014 at 09:18:56 AM, Lukasz Majewski wrote:
  Dear Marek,
 
  The following changes since commit
  5ba95541b700d2edecb4d97d4b905f51ed8551b3:
 
 usb: phy: omap_usb_phy: implement usb_phy_power() for AM437x
 (2014-07-09 22:11:51 +0200)
 
  are available in the git repository at:
 
 ssh://gu-...@git.denx.de/u-boot-dfu/master
 
  for you to fetch changes up to
  24b109300c6e6a35792bc804846d7753baba7a69:
 
 dfu: fix readback buffer overflow test (2014-07-16 08:47:01
  +0200)
 
  Fixed up one merge conflict and applied, thanks!
 
 These changes don't seem to have made it into u-boot/master yet. I 
 assume they will for the v2014.10 release?

Those patches are now in the u-boot-usb Marek's tree.

I hoped that Marek would send PR to Tom and those changes had been
merged in the ongoing merge window.

Marek do you plan to send PR to Tom in a near future?

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



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


Re: [U-Boot] [PATCH 1/3] config: introduce a generic $bootcmd

2014-08-10 Thread Jeroen Hofstee

Hello Stephan,

On 10-08-14 05:11, Stephen Warren wrote:

The entire point of this series is to prevent distros from having to
install bootloader-specific boot configuration files.

I fail to see why this is something to pursue. Since the distro knows
the boot path, why should u-boot be polling all possible options?


As such, relying exclusively on boot.scr wouldn't be useful.

Seems like a logical thing to me, as long as the scripts itself
does not have to bother about board details, but is handed
those info.

If we need to support other OSs, I think it'd be best to extend
extlinux.conf to allow it to support booting OSs besides Linux.

It is not an OS issue.


FWIW, if extlinux.conf isn't found on the media, this patch does fall
back to searching for boot.scr (a uImage of a U-Boot script) so it's
certainly possible to make custom things happen if you want.


Yes, and the order is wrong in my mind. If anything, it should fallback
to extlinux, but at least use a general boot.scr first. (or 
/boot/u-boot.conf

or whatever)

Regards,
Jeroen


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


[U-Boot] [PATCH] mx6: Fix ECSPI typo in soc_boot_modes

2014-08-10 Thread picmaster
From: Nikolay Dimitrov picmas...@mail.bg

Signed-off-by: Nikolay Dimitrov picmas...@mail.bg
Cc: Stefano Babic sba...@denx.de
---
 arch/arm/cpu/armv7/mx6/soc.c |8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/arm/cpu/armv7/mx6/soc.c b/arch/arm/cpu/armv7/mx6/soc.c
index f2dee76..99b7c86 100644
--- a/arch/arm/cpu/armv7/mx6/soc.c
+++ b/arch/arm/cpu/armv7/mx6/soc.c
@@ -318,10 +318,10 @@ const struct boot_mode soc_boot_modes[] = {
/* reserved value should start rom usb */
{usb, MAKE_CFGVAL(0x01, 0x00, 0x00, 0x00)},
{sata,MAKE_CFGVAL(0x20, 0x00, 0x00, 0x00)},
-   {escpi1:0,MAKE_CFGVAL(0x30, 0x00, 0x00, 0x08)},
-   {escpi1:1,MAKE_CFGVAL(0x30, 0x00, 0x00, 0x18)},
-   {escpi1:2,MAKE_CFGVAL(0x30, 0x00, 0x00, 0x28)},
-   {escpi1:3,MAKE_CFGVAL(0x30, 0x00, 0x00, 0x38)},
+   {ecspi1:0,MAKE_CFGVAL(0x30, 0x00, 0x00, 0x08)},
+   {ecspi1:1,MAKE_CFGVAL(0x30, 0x00, 0x00, 0x18)},
+   {ecspi1:2,MAKE_CFGVAL(0x30, 0x00, 0x00, 0x28)},
+   {ecspi1:3,MAKE_CFGVAL(0x30, 0x00, 0x00, 0x38)},
/* 4 bit bus width */
{esdhc1,  MAKE_CFGVAL(0x40, 0x20, 0x00, 0x00)},
{esdhc2,  MAKE_CFGVAL(0x40, 0x28, 0x00, 0x00)},
-- 
1.7.10.4

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


[U-Boot] [PATCH V2 16/18] arm: mx6: cm_fx6: add i2c support

2014-08-10 Thread Nikita Kiryanov
Add support for all 3 I2C busses on Compulab CM-FX6 CoM.

Cc: Igor Grinberg grinb...@compulab.co.il
Cc: Stefano Babic sba...@denx.de
Cc: Tom Rini tr...@ti.com
Signed-off-by: Nikita Kiryanov nik...@compulab.co.il
---
Changes in V2:
- No changes

 board/compulab/cm_fx6/cm_fx6.c | 42 ++
 include/configs/cm_fx6.h   | 11 +++
 2 files changed, 53 insertions(+)

diff --git a/board/compulab/cm_fx6/cm_fx6.c b/board/compulab/cm_fx6/cm_fx6.c
index 28c54b4..1b967e5 100644
--- a/board/compulab/cm_fx6/cm_fx6.c
+++ b/board/compulab/cm_fx6/cm_fx6.c
@@ -15,12 +15,53 @@
 #include asm/arch/crm_regs.h
 #include asm/arch/sys_proto.h
 #include asm/arch/iomux.h
+#include asm/imx-common/mxc_i2c.h
 #include asm/io.h
 #include asm/gpio.h
 #include common.h
 
 DECLARE_GLOBAL_DATA_PTR;
 
+#ifdef CONFIG_SYS_I2C_MXC
+#define I2C_PAD_CTRL   (PAD_CTL_PUS_100K_UP | PAD_CTL_SPEED_MED | \
+   PAD_CTL_DSE_40ohm | PAD_CTL_HYS | \
+   PAD_CTL_ODE | PAD_CTL_SRE_FAST)
+
+I2C_PADS(i2c0_pads,
+PAD_EIM_D21__I2C1_SCL | MUX_PAD_CTRL(I2C_PAD_CTRL),
+PAD_EIM_D21__GPIO3_IO21 | MUX_PAD_CTRL(I2C_PAD_CTRL),
+IMX_GPIO_NR(3, 21),
+PAD_EIM_D28__I2C1_SDA | MUX_PAD_CTRL(I2C_PAD_CTRL),
+PAD_EIM_D28__GPIO3_IO28 | MUX_PAD_CTRL(I2C_PAD_CTRL),
+IMX_GPIO_NR(3, 28));
+
+I2C_PADS(i2c1_pads,
+PAD_KEY_COL3__I2C2_SCL | MUX_PAD_CTRL(I2C_PAD_CTRL),
+PAD_KEY_COL3__GPIO4_IO12 | MUX_PAD_CTRL(I2C_PAD_CTRL),
+IMX_GPIO_NR(4, 12),
+PAD_KEY_ROW3__I2C2_SDA | MUX_PAD_CTRL(I2C_PAD_CTRL),
+PAD_KEY_ROW3__GPIO4_IO13 | MUX_PAD_CTRL(I2C_PAD_CTRL),
+IMX_GPIO_NR(4, 13));
+
+I2C_PADS(i2c2_pads,
+PAD_GPIO_3__I2C3_SCL | MUX_PAD_CTRL(I2C_PAD_CTRL),
+PAD_GPIO_3__GPIO1_IO03 | MUX_PAD_CTRL(I2C_PAD_CTRL),
+IMX_GPIO_NR(1, 3),
+PAD_GPIO_6__I2C3_SDA | MUX_PAD_CTRL(I2C_PAD_CTRL),
+PAD_GPIO_6__GPIO1_IO06 | MUX_PAD_CTRL(I2C_PAD_CTRL),
+IMX_GPIO_NR(1, 6));
+
+
+static void cm_fx6_setup_i2c(void)
+{
+   setup_i2c(0, CONFIG_SYS_I2C_SPEED, 0x7f, I2C_PADS_INFO(i2c0_pads));
+   setup_i2c(1, CONFIG_SYS_I2C_SPEED, 0x7f, I2C_PADS_INFO(i2c1_pads));
+   setup_i2c(2, CONFIG_SYS_I2C_SPEED, 0x7f, I2C_PADS_INFO(i2c2_pads));
+}
+#else
+static void cm_fx6_setup_i2c(void) { }
+#endif
+
 #ifdef CONFIG_USB_EHCI_MX6
 #define WEAK_PULLDOWN  (PAD_CTL_PUS_100K_DOWN |\
PAD_CTL_SPEED_MED | PAD_CTL_DSE_40ohm | \
@@ -245,6 +286,7 @@ int board_init(void)
 {
gd-bd-bi_boot_params = PHYS_SDRAM_1 + 0x100;
cm_fx6_setup_gpmi_nand();
+   cm_fx6_setup_i2c();
 
return 0;
 }
diff --git a/include/configs/cm_fx6.h b/include/configs/cm_fx6.h
index f463cd1..0aa88fd 100644
--- a/include/configs/cm_fx6.h
+++ b/include/configs/cm_fx6.h
@@ -213,6 +213,17 @@
 #define CONFIG_USB_MAX_CONTROLLER_COUNT2
 #define CONFIG_EHCI_HCD_INIT_AFTER_RESET   /* For OTG port */
 
+/* I2C */
+#define CONFIG_CMD_I2C
+#define CONFIG_SYS_I2C
+#define CONFIG_SYS_I2C_MXC
+#define CONFIG_SYS_I2C_SPEED   10
+#define CONFIG_SYS_MXC_I2C3_SPEED  40
+
+#define CONFIG_SYS_I2C_EEPROM_ADDR 0x50
+#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1
+#define CONFIG_SYS_I2C_EEPROM_BUS  2
+
 /* GPIO */
 #define CONFIG_MXC_GPIO
 
-- 
1.9.1

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


[U-Boot] [PATCH V2 15/18] arm: mx6: cm_fx6: add usb support

2014-08-10 Thread Nikita Kiryanov
Add USB and USB OTG host support for Compulab CM-FX6 CoM.

Cc: Igor Grinberg grinb...@compulab.co.il
Cc: Stefano Babic sba...@denx.de
Cc: Tom Rini tr...@ti.com
Signed-off-by: Nikita Kiryanov nik...@compulab.co.il
---
Changes in V2:
- No changes

 board/compulab/cm_fx6/cm_fx6.c | 75 ++
 board/compulab/cm_fx6/common.h |  3 ++
 include/configs/cm_fx6.h   | 10 ++
 3 files changed, 88 insertions(+)

diff --git a/board/compulab/cm_fx6/cm_fx6.c b/board/compulab/cm_fx6/cm_fx6.c
index e993de2..28c54b4 100644
--- a/board/compulab/cm_fx6/cm_fx6.c
+++ b/board/compulab/cm_fx6/cm_fx6.c
@@ -14,12 +14,87 @@
 #include fdt_support.h
 #include asm/arch/crm_regs.h
 #include asm/arch/sys_proto.h
+#include asm/arch/iomux.h
 #include asm/io.h
 #include asm/gpio.h
 #include common.h
 
 DECLARE_GLOBAL_DATA_PTR;
 
+#ifdef CONFIG_USB_EHCI_MX6
+#define WEAK_PULLDOWN  (PAD_CTL_PUS_100K_DOWN |\
+   PAD_CTL_SPEED_MED | PAD_CTL_DSE_40ohm | \
+   PAD_CTL_HYS | PAD_CTL_SRE_SLOW)
+
+static int cm_fx6_usb_hub_reset(void)
+{
+   int err;
+
+   err = gpio_request(CM_FX6_USB_HUB_RST, usb hub rst);
+   if (err) {
+   printf(USB hub rst gpio request failed: %d\n, err);
+   return -1;
+   }
+
+   SETUP_IOMUX_PAD(PAD_SD3_RST__GPIO7_IO08 | MUX_PAD_CTRL(NO_PAD_CTRL));
+   gpio_direction_output(CM_FX6_USB_HUB_RST, 0);
+   udelay(10);
+   gpio_direction_output(CM_FX6_USB_HUB_RST, 1);
+   mdelay(1);
+
+   return 0;
+}
+
+static void cm_fx6_init_usb_otg(void)
+{
+   int ret;
+   struct iomuxc *iomux = (struct iomuxc *)IOMUXC_BASE_ADDR;
+
+   ret = gpio_request(SB_FX6_USB_OTG_PWR, usb-pwr);
+   if (ret)
+   printf(USB OTG pwr gpio request failed: %d\n, ret);
+
+   SETUP_IOMUX_PAD(PAD_EIM_D22__GPIO3_IO22 | MUX_PAD_CTRL(NO_PAD_CTRL));
+   SETUP_IOMUX_PAD(PAD_ENET_RX_ER__USB_OTG_ID |
+   MUX_PAD_CTRL(WEAK_PULLDOWN));
+   clrbits_le32(iomux-gpr[1], IOMUXC_GPR1_OTG_ID_MASK);
+   /* disable ext. charger detect, or it'll affect signal quality at dp. */
+   gpio_direction_output(SB_FX6_USB_OTG_PWR, 0);
+}
+
+#define MX6_USBNC_BASEADDR 0x2184800
+#define USBNC_USB_H1_PWR_POL   (1  9)
+int board_ehci_hcd_init(int port)
+{
+   u32 *usbnc_usb_uh1_ctrl = (u32 *)(MX6_USBNC_BASEADDR + 4);
+   u32 val;
+
+   switch (port) {
+   case 0:
+   cm_fx6_init_usb_otg();
+   break;
+   case 1:
+   SETUP_IOMUX_PAD(PAD_GPIO_0__USB_H1_PWR |
+   MUX_PAD_CTRL(NO_PAD_CTRL));
+
+   /* Set PWR polarity to match power switch's enable polarity */
+   val = __raw_readl(usbnc_usb_uh1_ctrl);
+   val |= USBNC_USB_H1_PWR_POL;
+   __raw_writel(val, usbnc_usb_uh1_ctrl);
+   return cm_fx6_usb_hub_reset();
+   default:
+   break;
+   }
+
+   return 0;
+}
+
+int board_ehci_power(int port, int on)
+{
+   return port ? 0 : gpio_direction_output(SB_FX6_USB_OTG_PWR, on);
+}
+#endif
+
 #ifdef CONFIG_FEC_MXC
 #define ENET_PAD_CTRL  (PAD_CTL_PUS_100K_UP | PAD_CTL_SPEED_MED | \
 PAD_CTL_DSE_40ohm | PAD_CTL_HYS)
diff --git a/board/compulab/cm_fx6/common.h b/board/compulab/cm_fx6/common.h
index 94ff39e..bd04d62 100644
--- a/board/compulab/cm_fx6/common.h
+++ b/board/compulab/cm_fx6/common.h
@@ -16,6 +16,9 @@
 #define CM_FX6_ECSPI_BUS0_CS0  IMX_GPIO_NR(2, 30)
 #define CM_FX6_GREEN_LED   IMX_GPIO_NR(2, 31)
 #define CM_FX6_ENET_NRST   IMX_GPIO_NR(2, 8)
+#define CM_FX6_ENET_NRST   IMX_GPIO_NR(2, 8)
+#define CM_FX6_USB_HUB_RST IMX_GPIO_NR(7, 8)
+#define SB_FX6_USB_OTG_PWR IMX_GPIO_NR(3, 22)
 
 #if defined(CONFIG_FSL_ESDHC)
 #include fsl_esdhc.h
diff --git a/include/configs/cm_fx6.h b/include/configs/cm_fx6.h
index dbe8a19..f463cd1 100644
--- a/include/configs/cm_fx6.h
+++ b/include/configs/cm_fx6.h
@@ -203,6 +203,16 @@
 #define CONFIG_NETMASK 255.255.255.0
 #define CONFIG_NET_RETRY_COUNT 5
 
+/* USB */
+#define CONFIG_CMD_USB
+#define CONFIG_USB_EHCI
+#define CONFIG_USB_EHCI_MX6
+#define CONFIG_USB_STORAGE
+#define CONFIG_MXC_USB_PORTSC  (PORT_PTS_UTMI | PORT_PTS_PTW)
+#define CONFIG_MXC_USB_FLAGS   0
+#define CONFIG_USB_MAX_CONTROLLER_COUNT2
+#define CONFIG_EHCI_HCD_INIT_AFTER_RESET   /* For OTG port */
+
 /* GPIO */
 #define CONFIG_MXC_GPIO
 
-- 
1.9.1

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


[U-Boot] [PATCH V2 17/18] arm: mx6: cm_fx6: use eeprom

2014-08-10 Thread Nikita Kiryanov
Use Compulab eeprom module to obtain revision number, serial number, and
mac address from the EEPROM.

Cc: Igor Grinberg grinb...@compulab.co.il
Cc: Stefano Babic sba...@denx.de
Cc: Tom Rini tr...@ti.com
Signed-off-by: Nikita Kiryanov nik...@compulab.co.il
---
Changes in V2:
- No changes

 board/compulab/cm_fx6/cm_fx6.c | 26 +-
 include/configs/cm_fx6.h   |  2 ++
 2 files changed, 27 insertions(+), 1 deletion(-)

diff --git a/board/compulab/cm_fx6/cm_fx6.c b/board/compulab/cm_fx6/cm_fx6.c
index 1b967e5..76d7430 100644
--- a/board/compulab/cm_fx6/cm_fx6.c
+++ b/board/compulab/cm_fx6/cm_fx6.c
@@ -19,6 +19,7 @@
 #include asm/io.h
 #include asm/gpio.h
 #include common.h
+#include ../common/eeprom.h
 
 DECLARE_GLOBAL_DATA_PTR;
 
@@ -207,8 +208,31 @@ static iomux_v3_cfg_t const enet_pads[] = {
MUX_PAD_CTRL(ENET_PAD_CTRL)),
 };
 
+static int handle_mac_address(void)
+{
+   unsigned char enetaddr[6];
+   int rc;
+
+   rc = eth_getenv_enetaddr(ethaddr, enetaddr);
+   if (rc)
+   return 0;
+
+   rc = cl_eeprom_read_mac_addr(enetaddr);
+   if (rc)
+   return rc;
+
+   if (!is_valid_ether_addr(enetaddr))
+   return -1;
+
+   return eth_setenv_enetaddr(ethaddr, enetaddr);
+}
+
 int board_eth_init(bd_t *bis)
 {
+   int res = handle_mac_address();
+   if (res)
+   puts(No MAC address found\n);
+
SETUP_IOMUX_PADS(enet_pads);
/* phy reset */
gpio_direction_output(CM_FX6_ENET_NRST, 0);
@@ -348,5 +372,5 @@ int dram_init(void)
 
 u32 get_board_rev(void)
 {
-   return 100;
+   return cl_eeprom_get_board_rev();
 }
diff --git a/include/configs/cm_fx6.h b/include/configs/cm_fx6.h
index 0aa88fd..adfd55e 100644
--- a/include/configs/cm_fx6.h
+++ b/include/configs/cm_fx6.h
@@ -236,6 +236,8 @@
 #define CONFIG_SYS_BOOTMAPSZ   (8  20)
 #define CONFIG_SETUP_MEMORY_TAGS
 #define CONFIG_INITRD_TAG
+#define CONFIG_REVISION_TAG
+#define CONFIG_SERIAL_TAG
 
 /* misc */
 #define CONFIG_SYS_GENERIC_BOARD
-- 
1.9.1

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


[U-Boot] [PATCH V2 10/18] arm: mx6: ddr: configure MMDC for slow_pd

2014-08-10 Thread Nikita Kiryanov
According to MX6 TRM, both MMDC and DRAM should be configured to
the same powerdown precharge. Currently, mx6_dram_cfg()
configures MMDC for fast pd (MDPDC[7] = 0), and the DRAM for
'slow exit (DLL off)' (MR0[12] = 0).

Configure MMDC for slow pd.

Cc: Stefano Babic sba...@denx.de
Cc: Tim Harvey thar...@gateworks.com
Signed-off-by: Nikita Kiryanov nik...@compulab.co.il
---
Changes in V2:
- Updated commit message to explain what bits in what registers
  correspond to what settings.

 arch/arm/cpu/armv7/mx6/ddr.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm/cpu/armv7/mx6/ddr.c b/arch/arm/cpu/armv7/mx6/ddr.c
index 70ce38f..c0fb749 100644
--- a/arch/arm/cpu/armv7/mx6/ddr.c
+++ b/arch/arm/cpu/armv7/mx6/ddr.c
@@ -463,6 +463,7 @@ void mx6_dram_cfg(const struct mx6_ddr_sysinfo *sysinfo,
mmdc0-mdpdc = (tcke  0x7)  16 |
5 12 |  /* PWDT_1: 256 cycles */
5  8 |  /* PWDT_0: 256 cycles */
+   1  7 |  /* SLOW_PD */
1  6 |  /* BOTH_CS_PD */
(tcksrx  0x7)  3 |
(tcksre  0x7);
-- 
1.9.1

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


[U-Boot] [PATCH V2 18/18] arm: mx6: cm_fx6: add sata support

2014-08-10 Thread Nikita Kiryanov
Add support for SATA.

Cc: Igor Grinberg grinb...@compulab.co.il
Cc: Stefano Babic sba...@denx.de
Cc: Tom Rini tr...@ti.com
Signed-off-by: Nikita Kiryanov nik...@compulab.co.il
---
Changes in V2:
- No changes

 board/compulab/cm_fx6/cm_fx6.c | 90 ++
 board/compulab/cm_fx6/common.h | 13 ++
 include/configs/cm_fx6.h   | 36 -
 3 files changed, 138 insertions(+), 1 deletion(-)

diff --git a/board/compulab/cm_fx6/cm_fx6.c b/board/compulab/cm_fx6/cm_fx6.c
index 76d7430..8a48f9d 100644
--- a/board/compulab/cm_fx6/cm_fx6.c
+++ b/board/compulab/cm_fx6/cm_fx6.c
@@ -12,10 +12,12 @@
 #include miiphy.h
 #include netdev.h
 #include fdt_support.h
+#include sata.h
 #include asm/arch/crm_regs.h
 #include asm/arch/sys_proto.h
 #include asm/arch/iomux.h
 #include asm/imx-common/mxc_i2c.h
+#include asm/imx-common/sata.h
 #include asm/io.h
 #include asm/gpio.h
 #include common.h
@@ -23,6 +25,94 @@
 
 DECLARE_GLOBAL_DATA_PTR;
 
+#ifdef CONFIG_DWC_AHSATA
+static int cm_fx6_issd_gpios[] = {
+   /* The order of the GPIOs in the array is important! */
+   CM_FX6_SATA_PHY_SLP,
+   CM_FX6_SATA_NRSTDLY,
+   CM_FX6_SATA_PWREN,
+   CM_FX6_SATA_NSTANDBY1,
+   CM_FX6_SATA_NSTANDBY2,
+   CM_FX6_SATA_LDO_EN,
+};
+
+static void cm_fx6_sata_power(int on)
+{
+   int i;
+
+   if (!on) { /* tell the iSSD that the power will be removed */
+   gpio_direction_output(CM_FX6_SATA_PWLOSS_INT, 1);
+   mdelay(10);
+   }
+
+   for (i = 0; i  ARRAY_SIZE(cm_fx6_issd_gpios); i++) {
+   gpio_direction_output(cm_fx6_issd_gpios[i], on);
+   udelay(100);
+   }
+
+   if (!on) /* for compatibility lower the power loss interrupt */
+   gpio_direction_output(CM_FX6_SATA_PWLOSS_INT, 0);
+}
+
+static iomux_v3_cfg_t const sata_pads[] = {
+   /* SATA PWR */
+   IOMUX_PADS(PAD_ENET_TX_EN__GPIO1_IO28 | MUX_PAD_CTRL(NO_PAD_CTRL)),
+   IOMUX_PADS(PAD_EIM_A22__GPIO2_IO16| MUX_PAD_CTRL(NO_PAD_CTRL)),
+   IOMUX_PADS(PAD_EIM_D20__GPIO3_IO20| MUX_PAD_CTRL(NO_PAD_CTRL)),
+   IOMUX_PADS(PAD_EIM_A25__GPIO5_IO02| MUX_PAD_CTRL(NO_PAD_CTRL)),
+   /* SATA CTRL */
+   IOMUX_PADS(PAD_ENET_TXD0__GPIO1_IO30  | MUX_PAD_CTRL(NO_PAD_CTRL)),
+   IOMUX_PADS(PAD_EIM_D23__GPIO3_IO23| MUX_PAD_CTRL(NO_PAD_CTRL)),
+   IOMUX_PADS(PAD_EIM_D29__GPIO3_IO29| MUX_PAD_CTRL(NO_PAD_CTRL)),
+   IOMUX_PADS(PAD_EIM_A23__GPIO6_IO06| MUX_PAD_CTRL(NO_PAD_CTRL)),
+   IOMUX_PADS(PAD_EIM_BCLK__GPIO6_IO31   | MUX_PAD_CTRL(NO_PAD_CTRL)),
+
+};
+
+static void cm_fx6_setup_issd(void)
+{
+   SETUP_IOMUX_PADS(sata_pads);
+   /* Make sure this gpio has logical 0 value */
+   gpio_direction_output(CM_FX6_SATA_PWLOSS_INT, 0);
+   udelay(100);
+
+   cm_fx6_sata_power(0);
+   mdelay(250);
+   cm_fx6_sata_power(1);
+}
+
+#define CM_FX6_SATA_INIT_RETRIES   10
+int sata_initialize(void)
+{
+   int err, i;
+
+   cm_fx6_setup_issd();
+   for (i = 0; i  CM_FX6_SATA_INIT_RETRIES; i++) {
+   err = setup_sata();
+   if (err) {
+   printf(SATA setup failed: %d\n, err);
+   return err;
+   }
+
+   udelay(100);
+
+   err = __sata_initialize();
+   if (!err)
+   break;
+
+   /* There is no device on the SATA port */
+   if (sata_port_status(0, 0) == 0)
+   break;
+
+   /* There's a device, but link not established. Retry */
+   }
+
+   return err;
+}
+#else
+static void cm_fx6_setup_issd(void) {}
+#endif
+
 #ifdef CONFIG_SYS_I2C_MXC
 #define I2C_PAD_CTRL   (PAD_CTL_PUS_100K_UP | PAD_CTL_SPEED_MED | \
PAD_CTL_DSE_40ohm | PAD_CTL_HYS | \
diff --git a/board/compulab/cm_fx6/common.h b/board/compulab/cm_fx6/common.h
index bd04d62..ddccffb 100644
--- a/board/compulab/cm_fx6/common.h
+++ b/board/compulab/cm_fx6/common.h
@@ -19,6 +19,19 @@
 #define CM_FX6_ENET_NRST   IMX_GPIO_NR(2, 8)
 #define CM_FX6_USB_HUB_RST IMX_GPIO_NR(7, 8)
 #define SB_FX6_USB_OTG_PWR IMX_GPIO_NR(3, 22)
+#define CM_FX6_ENET_NRST   IMX_GPIO_NR(2, 8)
+#define CM_FX6_USB_HUB_RST IMX_GPIO_NR(7, 8)
+#define SB_FX6_USB_OTG_PWR IMX_GPIO_NR(3, 22)
+#define CM_FX6_SATA_PWREN  IMX_GPIO_NR(1, 28)
+#define CM_FX6_SATA_VDDC_CTRL  IMX_GPIO_NR(1, 30)
+#define CM_FX6_SATA_LDO_EN IMX_GPIO_NR(2, 16)
+#define CM_FX6_SATA_NSTANDBY1  IMX_GPIO_NR(3, 20)
+#define CM_FX6_SATA_PHY_SLPIMX_GPIO_NR(3, 23)
+#define CM_FX6_SATA_STBY_REQ   IMX_GPIO_NR(3, 29)
+#define CM_FX6_SATA_NSTANDBY2  IMX_GPIO_NR(5, 2)
+#define CM_FX6_SATA_NRSTDLYIMX_GPIO_NR(6, 6)
+#define CM_FX6_SATA_PWLOSS_INT IMX_GPIO_NR(6, 31)
+
 
 #if defined(CONFIG_FSL_ESDHC)
 #include fsl_esdhc.h
diff --git a/include/configs/cm_fx6.h b/include/configs/cm_fx6.h
index adfd55e..88925cd 100644
--- 

[U-Boot] [PATCH V2 00/18] Introduce cm-fx6 board (partial V2 cont.)

2014-08-10 Thread Nikita Kiryanov
This partial V2 completes the previous partial V2. It contains some final
preparational steps, and the introduction of cm-fx6 board.

Changes in V2:
- Update commit message of arm: mx6: ddr: configure MMDC for slow_pd
- Remove unnecessary line removal from arch/arm/cpu/armv7/mx6/ddr.c
- Move probe_mmdc_config() code straight to dram_init()
- Use imx6_spl.h
- Use imx_ddr_size()
  NOTE: the correction of this patch now depends on 
https://patchwork.ozlabs.org/patch/376095/

Cc: Igor Grinberg grinb...@compulab.co.il
Cc: Stefano Babic sba...@denx.de
Cc: Tom Rini tr...@ti.com
Cc: Marek Vasut ma...@denx.de
Cc: Tim Harvey thar...@gateworks.com

Nikita Kiryanov (9):
  arm: mx6: ddr: configure MMDC for slow_pd
  arm: mx6: ddr: fix cs0_end calculation
  arm: mx6: add support for Compulab cm-fx6 CoM
  arm: mx6: cm_fx6: add nand support
  arm: mx6: cm_fx6: add ethernet support
  arm: mx6: cm_fx6: add usb support
  arm: mx6: cm_fx6: add i2c support
  arm: mx6: cm_fx6: use eeprom
  arm: mx6: cm_fx6: add sata support

 arch/arm/cpu/armv7/mx6/ddr.c   |   5 +-
 board/compulab/cm_fx6/Makefile |  12 +
 board/compulab/cm_fx6/cm_fx6.c | 466 +
 board/compulab/cm_fx6/common.c |  83 +++
 board/compulab/cm_fx6/common.h |  53 +
 board/compulab/cm_fx6/imximage.cfg |   8 +
 board/compulab/cm_fx6/spl.c| 409 
 boards.cfg |   2 +
 include/configs/cm_fx6.h   | 295 +++
 9 files changed, 1330 insertions(+), 3 deletions(-)
 create mode 100644 board/compulab/cm_fx6/Makefile
 create mode 100644 board/compulab/cm_fx6/cm_fx6.c
 create mode 100644 board/compulab/cm_fx6/common.c
 create mode 100644 board/compulab/cm_fx6/common.h
 create mode 100644 board/compulab/cm_fx6/imximage.cfg
 create mode 100644 board/compulab/cm_fx6/spl.c
 create mode 100644 include/configs/cm_fx6.h

-- 
1.9.1

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


[U-Boot] [PATCH V2 12/18] arm: mx6: add support for Compulab cm-fx6 CoM

2014-08-10 Thread Nikita Kiryanov
Add initial support for Compulab CM-FX6 CoM.
Support includes MMC, SPI flash, and SPL with dynamic DRAM detection.

Cc: Igor Grinberg grinb...@compulab.co.il
Cc: Stefano Babic sba...@denx.de
Cc: Tom Rini tr...@ti.com
Cc: Marek Vasut ma...@denx.de
Signed-off-by: Nikita Kiryanov nik...@compulab.co.il
---
Changes in V2:
- Remove unnecessary line removal from arch/arm/cpu/armv7/mx6/ddr.c
- Move probe_mmdc_config() code straight to dram_init()
- Use imx6_spl.h
- Use imx_ddr_size()
  NOTE: the correction of this patch now depends on 
https://patchwork.ozlabs.org/patch/376095/

 board/compulab/cm_fx6/Makefile |  12 ++
 board/compulab/cm_fx6/cm_fx6.c |  98 +
 board/compulab/cm_fx6/common.c |  83 
 board/compulab/cm_fx6/common.h |  36 
 board/compulab/cm_fx6/imximage.cfg |   8 +
 board/compulab/cm_fx6/spl.c| 400 +
 boards.cfg |   2 +
 include/configs/cm_fx6.h   | 212 
 8 files changed, 851 insertions(+)
 create mode 100644 board/compulab/cm_fx6/Makefile
 create mode 100644 board/compulab/cm_fx6/cm_fx6.c
 create mode 100644 board/compulab/cm_fx6/common.c
 create mode 100644 board/compulab/cm_fx6/common.h
 create mode 100644 board/compulab/cm_fx6/imximage.cfg
 create mode 100644 board/compulab/cm_fx6/spl.c
 create mode 100644 include/configs/cm_fx6.h

diff --git a/board/compulab/cm_fx6/Makefile b/board/compulab/cm_fx6/Makefile
new file mode 100644
index 000..3e5c903
--- /dev/null
+++ b/board/compulab/cm_fx6/Makefile
@@ -0,0 +1,12 @@
+#
+# (C) Copyright 2014 CompuLab, Ltd. www.compulab.co.il
+#
+# Authors: Nikita Kiryanov nik...@compulab.co.il
+#
+# SPDX-License-Identifier: GPL-2.0+
+#
+ifdef CONFIG_SPL_BUILD
+obj-y = common.o spl.o
+else
+obj-y = common.o cm_fx6.o
+endif
diff --git a/board/compulab/cm_fx6/cm_fx6.c b/board/compulab/cm_fx6/cm_fx6.c
new file mode 100644
index 000..47d17bb
--- /dev/null
+++ b/board/compulab/cm_fx6/cm_fx6.c
@@ -0,0 +1,98 @@
+/*
+ * Board functions for Compulab CM-FX6 board
+ *
+ * Copyright (C) 2014, Compulab Ltd - http://compulab.co.il/
+ *
+ * Author: Nikita Kiryanov nik...@compulab.co.il
+ *
+ * SPDX-License-Identifier:GPL-2.0+
+ */
+
+#include common.h
+#include asm/arch/sys_proto.h
+#include common.h
+
+DECLARE_GLOBAL_DATA_PTR;
+
+#ifdef CONFIG_FSL_ESDHC
+int board_mmc_init(bd_t *bis)
+{
+   int i;
+
+   cm_fx6_set_usdhc_iomux();
+   for (i = 0; i  CONFIG_SYS_FSL_USDHC_NUM; i++) {
+   usdhc_cfg[i].sdhc_clk = mxc_get_clock(usdhc_clk[i]);
+   usdhc_cfg[i].max_bus_width = 4;
+   fsl_esdhc_initialize(bis, usdhc_cfg[i]);
+   enable_usdhc_clk(1, i);
+   }
+
+   return 0;
+}
+#endif
+
+int board_init(void)
+{
+   gd-bd-bi_boot_params = PHYS_SDRAM_1 + 0x100;
+   return 0;
+}
+
+int checkboard(void)
+{
+   puts(Board: CM-FX6\n);
+   return 0;
+}
+
+static ulong bank1_size;
+static ulong bank2_size;
+
+void dram_init_banksize(void)
+{
+   gd-bd-bi_dram[0].start = PHYS_SDRAM_1;
+   gd-bd-bi_dram[0].size = bank1_size;
+   gd-bd-bi_dram[1].start = PHYS_SDRAM_2;
+   gd-bd-bi_dram[1].size = bank2_size;
+}
+
+int dram_init(void)
+{
+   gd-ram_size = imx_ddr_size();
+   switch (gd-ram_size) {
+   case 0x1000: /* DDR_16BIT_256MB */
+   bank1_size = 0x1000;
+   bank2_size = 0;
+   break;
+   case 0x2000: /* DDR_32BIT_512MB */
+   bank1_size = 0x2000;
+   bank2_size = 0;
+   break;
+   case 0x4000:
+   if (is_cpu_type(MXC_CPU_MX6SOLO)) { /* DDR_32BIT_1GB */
+   bank1_size = 0x2000;
+   bank2_size = 0x2000;
+   } else { /* DDR_64BIT_1GB */
+   bank1_size = 0x4000;
+   bank2_size = 0;
+   }
+   break;
+   case 0x8000: /* DDR_64BIT_2GB */
+   bank1_size = 0x4000;
+   bank2_size = 0x4000;
+   break;
+   case 0xF000: /* DDR_64BIT_4GB */
+   bank1_size = 0x7000;
+   bank2_size = 0x7FF0;
+   gd-ram_size -= 0x10;
+   break;
+   default:
+   printf(ERROR: Unsupported DRAM size 0x%lx\n, gd-ram_size);
+   return -1;
+   }
+
+   return 0;
+}
+
+u32 get_board_rev(void)
+{
+   return 100;
+}
diff --git a/board/compulab/cm_fx6/common.c b/board/compulab/cm_fx6/common.c
new file mode 100644
index 000..a2d9ca4
--- /dev/null
+++ b/board/compulab/cm_fx6/common.c
@@ -0,0 +1,83 @@
+/*
+ * Code used by both U-Boot and SPL for Compulab CM-FX6
+ *
+ * Copyright (C) 2014, Compulab Ltd - http://compulab.co.il/
+ *
+ * Author: Nikita Kiryanov nik...@compulab.co.il
+ *
+ * SPDX-License-Identifier:GPL-2.0+
+ */
+
+#include common.h

[U-Boot] [PATCH V2 11/18] arm: mx6: ddr: fix cs0_end calculation

2014-08-10 Thread Nikita Kiryanov
Current way of calculation CS0_END field for MMDCx_MDASP register
is problematic because in most cases the user is forced to define
cs_density in an unnatural way: as value - 2, instead of value.

This breaks the abstraction provided by struct mx6_ddr_sysinfo
because the user is forced to be aware of the way the calculation
is performed.

Refactor the calculation.

Cc: Stefano Babic sba...@denx.de
Cc: Tim Harvey thar...@gateworks.com
Signed-off-by: Nikita Kiryanov nik...@compulab.co.il
---
Changes in V2:
- No changes

 arch/arm/cpu/armv7/mx6/ddr.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/arch/arm/cpu/armv7/mx6/ddr.c b/arch/arm/cpu/armv7/mx6/ddr.c
index c0fb749..d3891dc 100644
--- a/arch/arm/cpu/armv7/mx6/ddr.c
+++ b/arch/arm/cpu/armv7/mx6/ddr.c
@@ -308,9 +308,7 @@ void mx6_dram_cfg(const struct mx6_ddr_sysinfo *sysinfo,
twtr = ROUND(MAX(4 * clkper, 7500) / clkper, 1) - 1;
trcd = trp;
trtp = twtr;
-   cs0_end = (4 * sysinfo-cs_density = 120) ?
-  4 * sysinfo-cs_density + 7 :
-  127;
+   cs0_end = 4 * sysinfo-cs_density - 1;
 
debug(density:%d Gb (%d Gb per chip)\n,
  sysinfo-cs_density, ddr3_cfg-density);
-- 
1.9.1

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


[U-Boot] [PATCH V2 13/18] arm: mx6: cm_fx6: add nand support

2014-08-10 Thread Nikita Kiryanov
Add NAND support for Compulab CM-FX6 CoM.

Cc: Igor Grinberg grinb...@compulab.co.il
Cc: Stefano Babic sba...@denx.de
Cc: Tom Rini tr...@ti.com
Signed-off-by: Nikita Kiryanov nik...@compulab.co.il
---
Changes in V2:
- No changes

 board/compulab/cm_fx6/cm_fx6.c | 37 +
 board/compulab/cm_fx6/spl.c|  9 +
 include/configs/cm_fx6.h   | 14 ++
 3 files changed, 60 insertions(+)

diff --git a/board/compulab/cm_fx6/cm_fx6.c b/board/compulab/cm_fx6/cm_fx6.c
index 47d17bb..ac7940b 100644
--- a/board/compulab/cm_fx6/cm_fx6.c
+++ b/board/compulab/cm_fx6/cm_fx6.c
@@ -9,11 +9,46 @@
  */
 
 #include common.h
+#include asm/arch/crm_regs.h
 #include asm/arch/sys_proto.h
+#include asm/io.h
 #include common.h
 
 DECLARE_GLOBAL_DATA_PTR;
 
+#ifdef CONFIG_NAND_MXS
+static iomux_v3_cfg_t const nand_pads[] = {
+   IOMUX_PADS(PAD_NANDF_CLE__NAND_CLE | MUX_PAD_CTRL(NO_PAD_CTRL)),
+   IOMUX_PADS(PAD_NANDF_ALE__NAND_ALE | MUX_PAD_CTRL(NO_PAD_CTRL)),
+   IOMUX_PADS(PAD_NANDF_CS0__NAND_CE0_B   | MUX_PAD_CTRL(NO_PAD_CTRL)),
+   IOMUX_PADS(PAD_NANDF_RB0__NAND_READY_B | MUX_PAD_CTRL(NO_PAD_CTRL)),
+   IOMUX_PADS(PAD_NANDF_D0__NAND_DATA00   | MUX_PAD_CTRL(NO_PAD_CTRL)),
+   IOMUX_PADS(PAD_NANDF_D1__NAND_DATA01   | MUX_PAD_CTRL(NO_PAD_CTRL)),
+   IOMUX_PADS(PAD_NANDF_D2__NAND_DATA02   | MUX_PAD_CTRL(NO_PAD_CTRL)),
+   IOMUX_PADS(PAD_NANDF_D3__NAND_DATA03   | MUX_PAD_CTRL(NO_PAD_CTRL)),
+   IOMUX_PADS(PAD_NANDF_D4__NAND_DATA04   | MUX_PAD_CTRL(NO_PAD_CTRL)),
+   IOMUX_PADS(PAD_NANDF_D5__NAND_DATA05   | MUX_PAD_CTRL(NO_PAD_CTRL)),
+   IOMUX_PADS(PAD_NANDF_D6__NAND_DATA06   | MUX_PAD_CTRL(NO_PAD_CTRL)),
+   IOMUX_PADS(PAD_NANDF_D7__NAND_DATA07   | MUX_PAD_CTRL(NO_PAD_CTRL)),
+   IOMUX_PADS(PAD_SD4_CMD__NAND_RE_B  | MUX_PAD_CTRL(NO_PAD_CTRL)),
+   IOMUX_PADS(PAD_SD4_CLK__NAND_WE_B  | MUX_PAD_CTRL(NO_PAD_CTRL)),
+};
+
+static void cm_fx6_setup_gpmi_nand(void)
+{
+   SETUP_IOMUX_PADS(nand_pads);
+   /* Enable clock roots */
+   enable_usdhc_clk(1, 3);
+   enable_usdhc_clk(1, 4);
+
+   setup_gpmi_io_clk(MXC_CCM_CS2CDR_ENFC_CLK_PODF(0xf) |
+ MXC_CCM_CS2CDR_ENFC_CLK_PRED(1)   |
+ MXC_CCM_CS2CDR_ENFC_CLK_SEL(0));
+}
+#else
+static void cm_fx6_setup_gpmi_nand(void) {}
+#endif
+
 #ifdef CONFIG_FSL_ESDHC
 int board_mmc_init(bd_t *bis)
 {
@@ -34,6 +69,8 @@ int board_mmc_init(bd_t *bis)
 int board_init(void)
 {
gd-bd-bi_boot_params = PHYS_SDRAM_1 + 0x100;
+   cm_fx6_setup_gpmi_nand();
+
return 0;
 }
 
diff --git a/board/compulab/cm_fx6/spl.c b/board/compulab/cm_fx6/spl.c
index 9f9e5f8..5c432b4 100644
--- a/board/compulab/cm_fx6/spl.c
+++ b/board/compulab/cm_fx6/spl.c
@@ -15,6 +15,7 @@
 #include asm/arch/mx6-ddr.h
 #include asm/arch/clock.h
 #include asm/arch/sys_proto.h
+#include asm/arch/crm_regs.h
 #include asm/imx-common/iomux-v3.h
 #include fsl_esdhc.h
 #include common.h
@@ -355,7 +356,15 @@ static void cm_fx6_setup_ecspi(void) { }
 
 void board_init_f(ulong dummy)
 {
+   struct mxc_ccm_reg *mxc_ccm = (struct mxc_ccm_reg *)CCM_BASE_ADDR;
+
gd = gdata;
+   /*
+* We don't use DMA in SPL, but we do need it in U-Boot. U-Boot
+* initializes DMA very early (before all board code), so the only
+* opportunity we have to initialize APBHDMA clocks is in SPL.
+*/
+   setbits_le32(mxc_ccm-CCGR0, MXC_CCM_CCGR0_APBHDMA_MASK);
enable_usdhc_clk(1, 2);
arch_cpu_init();
timer_init();
diff --git a/include/configs/cm_fx6.h b/include/configs/cm_fx6.h
index fa88898..345d715 100644
--- a/include/configs/cm_fx6.h
+++ b/include/configs/cm_fx6.h
@@ -178,6 +178,20 @@
 #define CONFIG_SPI_FLASH_SST
 #define CONFIG_SPI_FLASH_WINBOND
 
+/* NAND */
+#ifndef CONFIG_SPL_BUILD
+#define CONFIG_CMD_NAND
+#define CONFIG_SYS_NAND_BASE   0x4000
+#define CONFIG_SYS_NAND_MAX_CHIPS  1
+#define CONFIG_SYS_MAX_NAND_DEVICE 1
+#define CONFIG_NAND_MXS
+#define CONFIG_SYS_NAND_ONFI_DETECTION
+/* APBH DMA is required for NAND support */
+#define CONFIG_APBH_DMA
+#define CONFIG_APBH_DMA_BURST
+#define CONFIG_APBH_DMA_BURST8
+#endif
+
 /* GPIO */
 #define CONFIG_MXC_GPIO
 
-- 
1.9.1

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


[U-Boot] [PATCH V2 14/18] arm: mx6: cm_fx6: add ethernet support

2014-08-10 Thread Nikita Kiryanov
Add ethernet support for Compulab CM-FX6 CoM

Cc: Igor Grinberg grinb...@compulab.co.il
Cc: Stefano Babic sba...@denx.de
Cc: Tom Rini tr...@ti.com
Signed-off-by: Nikita Kiryanov nik...@compulab.co.il
---
Changes in V2:
- No changes

 board/compulab/cm_fx6/cm_fx6.c | 100 +
 board/compulab/cm_fx6/common.h |   1 +
 include/configs/cm_fx6.h   |  16 ++-
 3 files changed, 115 insertions(+), 2 deletions(-)

diff --git a/board/compulab/cm_fx6/cm_fx6.c b/board/compulab/cm_fx6/cm_fx6.c
index ac7940b..e993de2 100644
--- a/board/compulab/cm_fx6/cm_fx6.c
+++ b/board/compulab/cm_fx6/cm_fx6.c
@@ -9,13 +9,100 @@
  */
 
 #include common.h
+#include miiphy.h
+#include netdev.h
+#include fdt_support.h
 #include asm/arch/crm_regs.h
 #include asm/arch/sys_proto.h
 #include asm/io.h
+#include asm/gpio.h
 #include common.h
 
 DECLARE_GLOBAL_DATA_PTR;
 
+#ifdef CONFIG_FEC_MXC
+#define ENET_PAD_CTRL  (PAD_CTL_PUS_100K_UP | PAD_CTL_SPEED_MED | \
+PAD_CTL_DSE_40ohm | PAD_CTL_HYS)
+
+static int mx6_rgmii_rework(struct phy_device *phydev)
+{
+   unsigned short val;
+
+   /* Ar8031 phy SmartEEE feature cause link status generates glitch,
+* which cause ethernet link down/up issue, so disable SmartEEE
+*/
+   phy_write(phydev, MDIO_DEVAD_NONE, 0xd, 0x3);
+   phy_write(phydev, MDIO_DEVAD_NONE, 0xe, 0x805d);
+   phy_write(phydev, MDIO_DEVAD_NONE, 0xd, 0x4003);
+   val = phy_read(phydev, MDIO_DEVAD_NONE, 0xe);
+   val = ~(0x1  8);
+   phy_write(phydev, MDIO_DEVAD_NONE, 0xe, val);
+
+   /* To enable AR8031 ouput a 125MHz clk from CLK_25M */
+   phy_write(phydev, MDIO_DEVAD_NONE, 0xd, 0x7);
+   phy_write(phydev, MDIO_DEVAD_NONE, 0xe, 0x8016);
+   phy_write(phydev, MDIO_DEVAD_NONE, 0xd, 0x4007);
+
+   val = phy_read(phydev, MDIO_DEVAD_NONE, 0xe);
+   val = 0xffe3;
+   val |= 0x18;
+   phy_write(phydev, MDIO_DEVAD_NONE, 0xe, val);
+
+   /* introduce tx clock delay */
+   phy_write(phydev, MDIO_DEVAD_NONE, 0x1d, 0x5);
+   val = phy_read(phydev, MDIO_DEVAD_NONE, 0x1e);
+   val |= 0x0100;
+   phy_write(phydev, MDIO_DEVAD_NONE, 0x1e, val);
+
+   return 0;
+}
+
+int board_phy_config(struct phy_device *phydev)
+{
+   mx6_rgmii_rework(phydev);
+
+   if (phydev-drv-config)
+   return phydev-drv-config(phydev);
+
+   return 0;
+}
+
+static iomux_v3_cfg_t const enet_pads[] = {
+   IOMUX_PADS(PAD_ENET_MDIO__ENET_MDIO | MUX_PAD_CTRL(ENET_PAD_CTRL)),
+   IOMUX_PADS(PAD_ENET_MDC__ENET_MDC   | MUX_PAD_CTRL(ENET_PAD_CTRL)),
+   IOMUX_PADS(PAD_RGMII_TXC__RGMII_TXC | MUX_PAD_CTRL(ENET_PAD_CTRL)),
+   IOMUX_PADS(PAD_RGMII_TD0__RGMII_TD0 | MUX_PAD_CTRL(ENET_PAD_CTRL)),
+   IOMUX_PADS(PAD_RGMII_TD1__RGMII_TD1 | MUX_PAD_CTRL(ENET_PAD_CTRL)),
+   IOMUX_PADS(PAD_RGMII_TD2__RGMII_TD2 | MUX_PAD_CTRL(ENET_PAD_CTRL)),
+   IOMUX_PADS(PAD_RGMII_TD3__RGMII_TD3 | MUX_PAD_CTRL(ENET_PAD_CTRL)),
+   IOMUX_PADS(PAD_RGMII_RXC__RGMII_RXC | MUX_PAD_CTRL(ENET_PAD_CTRL)),
+   IOMUX_PADS(PAD_RGMII_RD0__RGMII_RD0 | MUX_PAD_CTRL(ENET_PAD_CTRL)),
+   IOMUX_PADS(PAD_RGMII_RD1__RGMII_RD1 | MUX_PAD_CTRL(ENET_PAD_CTRL)),
+   IOMUX_PADS(PAD_RGMII_RD2__RGMII_RD2 | MUX_PAD_CTRL(ENET_PAD_CTRL)),
+   IOMUX_PADS(PAD_RGMII_RD3__RGMII_RD3 | MUX_PAD_CTRL(ENET_PAD_CTRL)),
+   IOMUX_PADS(PAD_GPIO_0__CCM_CLKO1| MUX_PAD_CTRL(NO_PAD_CTRL)),
+   IOMUX_PADS(PAD_GPIO_3__CCM_CLKO2| MUX_PAD_CTRL(NO_PAD_CTRL)),
+   IOMUX_PADS(PAD_SD4_DAT0__GPIO2_IO08 | MUX_PAD_CTRL(0x84)),
+   IOMUX_PADS(PAD_ENET_REF_CLK__ENET_TX_CLK  |
+   MUX_PAD_CTRL(ENET_PAD_CTRL)),
+   IOMUX_PADS(PAD_RGMII_TX_CTL__RGMII_TX_CTL |
+   MUX_PAD_CTRL(ENET_PAD_CTRL)),
+   IOMUX_PADS(PAD_RGMII_RX_CTL__RGMII_RX_CTL |
+   MUX_PAD_CTRL(ENET_PAD_CTRL)),
+};
+
+int board_eth_init(bd_t *bis)
+{
+   SETUP_IOMUX_PADS(enet_pads);
+   /* phy reset */
+   gpio_direction_output(CM_FX6_ENET_NRST, 0);
+   udelay(500);
+   gpio_set_value(CM_FX6_ENET_NRST, 1);
+   enable_enet_clk(1);
+   return cpu_eth_init(bis);
+}
+#endif
+
 #ifdef CONFIG_NAND_MXS
 static iomux_v3_cfg_t const nand_pads[] = {
IOMUX_PADS(PAD_NANDF_CLE__NAND_CLE | MUX_PAD_CTRL(NO_PAD_CTRL)),
@@ -66,6 +153,19 @@ int board_mmc_init(bd_t *bis)
 }
 #endif
 
+#ifdef CONFIG_OF_BOARD_SETUP
+void ft_board_setup(void *blob, bd_t *bd)
+{
+   uint8_t enetaddr[6];
+
+   /* MAC addr */
+   if (eth_getenv_enetaddr(ethaddr, enetaddr)) {
+   fdt_find_and_setprop(blob, /fec, local-mac-address,
+enetaddr, 6, 1);
+   }
+}
+#endif
+
 int board_init(void)
 {
gd-bd-bi_boot_params = PHYS_SDRAM_1 + 0x100;
diff --git a/board/compulab/cm_fx6/common.h b/board/compulab/cm_fx6/common.h

Re: [U-Boot] [PATCH V2 2/9] mx6: add clock enabling functions

2014-08-10 Thread Nikita Kiryanov



On 07/08/14 17:11, Igor Grinberg wrote:

Hi Nikita,

On 08/07/14 16:05, Nikita Kiryanov wrote:

Add functions to enable/disable clocks for UART, SPI, ENET, and MMC.

Cc: Stefano Babic sba...@denx.de
Signed-off-by: Nikita Kiryanov nik...@compulab.co.il
---
Changes in V2:
- No changes.

  arch/arm/cpu/armv7/mx6/clock.c| 99 +++
  arch/arm/include/asm/arch-mx6/clock.h |  5 ++
  2 files changed, 104 insertions(+)

diff --git a/arch/arm/cpu/armv7/mx6/clock.c b/arch/arm/cpu/armv7/mx6/clock.c
index 7dd83ec..696dc98 100644
--- a/arch/arm/cpu/armv7/mx6/clock.c
+++ b/arch/arm/cpu/armv7/mx6/clock.c
@@ -36,6 +36,35 @@ void enable_ocotp_clk(unsigned char enable)
  }
  #endif



[...]


+#ifdef CONFIG_FEC_MXC
+void enable_enet_clk(unsigned char enable)
+{
+   u32 reg;
+
+   reg = __raw_readl(imx_ccm-CCGR1);
+   if (enable)
+   reg |= MXC_CCM_CCGR1_ENET_CLK_ENABLE_MASK;
+   else
+   reg = ~(MXC_CCM_CCGR1_ENET_CLK_ENABLE_MASK);
+   __raw_writel(reg, imx_ccm-CCGR1);
+}
+#endif
+
+#ifdef CONFIG_MXC_UART
+void enable_uart_clk(unsigned char enable)
+{
+   u32 reg, mask;
+
+   reg = __raw_readl(imx_ccm-CCGR5);
+   mask = MXC_CCM_CCGR5_UART_MASK | MXC_CCM_CCGR5_UART_SERIAL_MASK;
+   if (enable)
+   reg |= mask;
+   else
+   reg = ~mask;
+   __raw_writel(reg, imx_ccm-CCGR5);
+}
+#endif
+
+#ifdef CONFIG_SPI
+/* spi_num can be from 0 - 4 */
+int enable_cspi_clock(unsigned char enable, unsigned spi_num)
+{
+   u32 reg, mask;
+
+   if (spi_num  4)
+   return -EINVAL;
+
+   mask = MXC_CCM_CCGR_CG_MASK  (spi_num * 2);
+   reg = readl(imx_ccm-CCGR1);
+   if (enable)
+   reg |= mask;
+   else
+   reg = ~mask;
+
+   __raw_writel(reg, imx_ccm-CCGR1);
+   return 0;
+}
+#endif
+
+#ifdef CONFIG_MMC
+int enable_usdhc_clk(unsigned char enable, unsigned bus_num)
+{
+   u32 reg, mask;
+
+   if (bus_num  3)
+   return -EINVAL;
+
+   mask = MXC_CCM_CCGR_CG_MASK  (bus_num * 2 + 2);
+   reg = readl(imx_ccm-CCGR6);
+   if (enable)
+   reg |= mask;
+   else
+   reg = ~mask;
+
+   __raw_writel(reg, imx_ccm-CCGR6);
+   return 0;
+}
+#endif


In all the above functions, can we use the clrsetbits_le32() helpers?


We can. V3 coming up..



[...]


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


Re: [U-Boot] [PATCH V2 1/9] spl: replace CONFIG_SPL_SPI_* with CONFIG_SF_DEFAULT_*

2014-08-10 Thread Marek Vasut
On Sunday, August 10, 2014 at 05:19:38 PM, Nikita Kiryanov wrote:
 On 07/08/14 16:49, Marek Vasut wrote:
  On Thursday, August 07, 2014 at 03:05:28 PM, Nikita Kiryanov wrote:
  Currently, CONFIG_SPL_SPI_* #defines are used for controlling SPI boot
  in SPL. These #defines do not allow the user to select SPI mode for the
  SPI flash (there's no CONFIG_SPL_SPI_MODE, so the SPI mode is hardcoded
  in spi_spl_load.c), and duplicate information already provided by
  CONFIG_SF_DEFAULT_* #defines.
  
  Kill CONFIG_SPL_SPI_*, and use CONFIG_SF_DEFAULT_* instead.
  
  Cc: Jagannadha Sutradharudu Teki jagannadh.t...@gmail.com
  Cc: Tom Rini tr...@ti.com
  Cc: Sudhakar Rajashekhara sudhakar@ti.com
  Cc: Lokesh Vutla lokeshvu...@ti.com
  Cc: Vitaly Andrianov vita...@ti.com
  Cc: Lars Poeschel poesc...@lemonage.de
  Cc: Bo Shen voice.s...@atmel.com
  Cc: Hannes Petermaier hannes.peterma...@br-automation.com
  Cc: Michal Simek mon...@monstr.eu
  Cc: Marek Vasut ma...@denx.de
  Signed-off-by: Nikita Kiryanov nik...@compulab.co.il
  
  Oh, right. This doesn't collide with the Kconfig work, does it ?
 
 It does not.
 (No config CONFIG_SPL_SPI_*, nor config CONFIG_SF_DEFAULT_* in any
 Kconfig files)

Coolness, now it's up to Jagan to pick this stuff up I guess :)

Thanks,

Acked-by: Marek Vasut ma...@denx.de

Best regards,
Marek Vasut
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH v4 4/5] usb/gadget: fastboot: add sparse image definitions

2014-08-10 Thread Marek Vasut
On Saturday, August 09, 2014 at 06:53:24 PM, Steve Rae wrote:
 ( Google agreed to submit a patch with BSD3 license  stay tuned!!! )

Thank you for your work and perseverance, really !

Best regards,
Marek Vasut
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH V2 12/18] arm: mx6: add support for Compulab cm-fx6 CoM

2014-08-10 Thread Marek Vasut
On Sunday, August 10, 2014 at 07:12:54 PM, Nikita Kiryanov wrote:
 Add initial support for Compulab CM-FX6 CoM.
 Support includes MMC, SPI flash, and SPL with dynamic DRAM detection.
 
 Cc: Igor Grinberg grinb...@compulab.co.il
 Cc: Stefano Babic sba...@denx.de
 Cc: Tom Rini tr...@ti.com
 Cc: Marek Vasut ma...@denx.de
 Signed-off-by: Nikita Kiryanov nik...@compulab.co.il

Acked-by: Marek Vasut ma...@denx.de

Thanks!

Best regards,
Marek Vasut
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH] pci: mx6: fix occasional link failures

2014-08-10 Thread Marek Vasut
On Saturday, August 09, 2014 at 09:11:49 PM, Fabio Estevam wrote:
 On Sat, Aug 9, 2014 at 12:37 PM, Fabio Estevam feste...@gmail.com wrote:
  Ok, so with the debug patch applied I let it running overnight and it
  ran 39k+ times without PCI linkup failures.
  
  I agree with your comments and now I am doing as you suggested:
  
  Running top of tree u-boot-imx with only Tim's patch applied.
  
  Then I do:
  
  sudo minicom | tee pci.txt  to collect the logs.
  
  After one hour of testing:
  
  /tmp$ cat pci.txt | grep CPU | wc -l
  2251
  
  /tmp$ cat pci.txt | grep Bridge | wc -l
  2251
 
 The test has been running more than 11k times without a failure.
 
 Will finish the tests now and let my board to rest a little bit :-)

Thanks!

Acked-by: Marek Vasut ma...@denx.de

Best regards,
Marek Vasut
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [GIT] Pull request: u-boot-dfu

2014-08-10 Thread Marek Vasut
On Sunday, August 10, 2014 at 06:10:11 PM, Lukasz Majewski wrote:
 On Wed, 06 Aug 2014 09:54:23 -0600
 
 Stephen Warren swar...@wwwdotorg.org wrote:
  On 07/23/2014 12:15 PM, Marek Vasut wrote:
   On Wednesday, July 16, 2014 at 09:18:56 AM, Lukasz Majewski wrote:
   Dear Marek,
   
   The following changes since commit
   
   5ba95541b700d2edecb4d97d4b905f51ed8551b3:
  usb: phy: omap_usb_phy: implement usb_phy_power() for AM437x
  (2014-07-09 22:11:51 +0200)
   
   are available in the git repository at:
  ssh://gu-...@git.denx.de/u-boot-dfu/master
   
   for you to fetch changes up to
   
   24b109300c6e6a35792bc804846d7753baba7a69:
  dfu: fix readback buffer overflow test (2014-07-16 08:47:01
   
   +0200)
   
   Fixed up one merge conflict and applied, thanks!
  
  These changes don't seem to have made it into u-boot/master yet. I
  assume they will for the v2014.10 release?
 
 Those patches are now in the u-boot-usb Marek's tree.
 
 I hoped that Marek would send PR to Tom and those changes had been
 merged in the ongoing merge window.
 
 Marek do you plan to send PR to Tom in a near future?

Should be applied now I believe, It might be just that Tom is slowed down by 
some bug which prevents parallel builds.

Best regards,
Marek Vasut
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PULL] u-boot/master

2014-08-10 Thread Marek Vasut
On Friday, August 08, 2014 at 11:08:56 PM, Tom Rini wrote:
 On Thu, Aug 07, 2014 at 04:37:06PM +0200, Marek Vasut wrote:
[..]
   28 files changed, 626 insertions(+), 90 deletions(-)
   create mode 100644 drivers/dfu/dfu_sf.c
   create mode 100644 test/dfu/README
   create mode 100755 test/dfu/dfu_gadget_test.sh
   create mode 100755 test/dfu/dfu_gadget_test_init.sh
 
 Applied to u-boot/master, thanks!

Thanks!

Best regards,
Marek Vasut
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [U-Boot, 2/3] pxe: detect image format before calling bootm/bootz

2014-08-10 Thread Tom Rini
On Thu, Jul 31, 2014 at 05:39:59PM -0700, Bryan Wu wrote:

 Trying bootm for zImage will print out several error message which
 is not necessary for this case. So detect image format firstly, only
 try bootm for legacy and FIT format image then try bootz for others.
 
 This patch needs new function genimg_get_kernel_addr().
 
 Signed-off-by: Bryan Wu pe...@nvidia.com

Applied to u-boot/master, thanks!

-- 
Tom


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


Re: [U-Boot] [U-Boot, 1/3] image: introduce genimg_get_kernel_addr()

2014-08-10 Thread Tom Rini
On Thu, Jul 31, 2014 at 05:39:58PM -0700, Bryan Wu wrote:

 Kernel address is normally stored as a string argument of bootm or bootz.
 This function is taken out from boot_get_kernel() of bootm.c, which can be
 reused by others.
 
 Signed-off-by: Bryan Wu pe...@nvidia.com

After doing the following to fix warnings:
diff --git a/common/image.c b/common/image.c
index 4e2816a..a2999c0 100644
--- a/common/image.c
+++ b/common/image.c
@@ -668,13 +668,13 @@ ulong genimg_get_kernel_addr(char * const img_addr)
  load_addr);
 #if defined(CONFIG_FIT)
} else if (fit_parse_conf(img_addr, load_addr, kernel_addr,
- fit_uname_config)) {
+ fit_uname_config)) {
debug(*  kernel: config '%s' from image at 0x%08lx\n,
- *fit_uname_config, kernel_addr);
+ fit_uname_config, kernel_addr);
} else if (fit_parse_subimage(img_addr, load_addr, kernel_addr,
-fit_uname_kernel)) {
+fit_uname_kernel)) {
debug(*  kernel: subimage '%s' from image at 0x%08lx\n,
- *fit_uname_kernel, kernel_addr);
+ fit_uname_kernel, kernel_addr);
 #endif
} else {
kernel_addr = simple_strtoul(img_addr, NULL, 16);

Applied to u-boot/master, thanks!

-- 
Tom


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


Re: [U-Boot] [U-Boot,3/3] bootm: use genimg_get_kernel_addr()

2014-08-10 Thread Tom Rini
On Thu, Jul 31, 2014 at 05:40:00PM -0700, Bryan Wu wrote:

 Use the new API which is originally taken out from boot_get_kernel
 of bootm.c
 
 Signed-off-by: Bryan Wu pe...@nvidia.com
 Tested-by: Stephen Warren swar...@nvidia.com
 Reviewed-by: Stephen Warren swar...@nvidia.com

After doing the following to fix warnings:
diff --git a/common/bootm.c b/common/bootm.c
index aee68cd..76d811c 100644
--- a/common/bootm.c
+++ b/common/bootm.c
@@ -789,9 +789,9 @@ static const void *boot_get_kernel(cmd_tbl_t *cmdtp, int 
flag, int argc,
 #if defined(CONFIG_FIT)
case IMAGE_FORMAT_FIT:
if (!fit_parse_conf(argv[0], load_addr, img_addr,
-   fit_uname_config))
+   fit_uname_config))
fit_parse_subimage(argv[0], load_addr, img_addr,
-   fit_uname_kernel);
+   fit_uname_kernel);
os_noffset = fit_image_load(images, img_addr,
fit_uname_kernel, fit_uname_config,
IH_ARCH_DEFAULT, IH_TYPE_KERNEL,
Applied to u-boot/master, thanks!

-- 
Tom


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


Re: [U-Boot] [U-Boot, v2] Makefile: use $(shell ...) for determining file_size

2014-08-10 Thread Tom Rini
On Thu, Jul 24, 2014 at 12:44:25PM +1200, Chris Packham wrote:

 file_size was being calculated using back-ticks but map_size uses
 $(shell ...). Update the file_size calculation to use $(shell ...).
 
 From: Jeroen Hofstee jer...@myspectrum.nl
 
 The binary_size_check target relies on stat -c %s
 to return the size of u-boot.bin. This only works
 with GNU stat though. Use wc instead.
 
 Signed-off-by: Chris Packham judge.pack...@gmail.com
 Acked-by: Simon Glass s...@chromium.org

Applied to u-boot/master, thanks!

-- 
Tom


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


Re: [U-Boot] [U-Boot, v3] Implement generalised RSA public exponents for verified boot

2014-08-10 Thread Tom Rini
On Wed, Jul 02, 2014 at 10:17:26AM +0200, Michael van der Westhuizen wrote:

 From: Michael van der Westhuizen mich...@smart-africa.com
 
 Remove the verified boot limitation that only allows a single
 RSA public exponent of 65537 (F4).  This change allows use with
 existing PKI infrastructure and has been tested with HSM-based
 PKI.
 
 Change the configuration OF tree format to store the RSA public
 exponent as a 64 bit integer and implement backward compatibility
 for verified boot configuration trees without this extra field.
 
 Parameterise vboot_test.sh to test different public exponents.
 
 Mathematics and other hard work by Andrew Bott.
 
 Tested with the following public exponents: 3, 5, 17, 257, 39981,
 50457, 65537 and 4294967297.
 
 Signed-off-by: Andrew Bott andrew.b...@ipaccess.com
 Signed-off-by: Andrew Wishart andrew.wish...@ipaccess.com
 Signed-off-by: Neil Piercy neil.pie...@ipaccess.com
 Signed-off-by: Michael van der Westhuizen mich...@smart-africa.com
 Cc: Simon Glass s...@chromium.org

Applied to u-boot/master, thanks!

-- 
Tom


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


Re: [U-Boot] pxe: clear Bootfile before returning

2014-08-10 Thread Tom Rini
On Tue, Jul 22, 2014 at 06:06:46PM -0600, Stephen Warren wrote:

 From: Stephen Warren swar...@nvidia.com
 
 When pxe boot downloads the initrd/kernel/DTB, netboot_common() saves
 the downloaded filename to global variable BootFile. If the boot
 operation is aborted, this global state is not cleared. If dhcp is
 executed later without any arguments, BootFile is not cleared, and when
 the DHCP response is received, BootpCopyNetParams() writes the value into
 environment variable bootfile.
 
 This causes the following scenario:
 
 * Boot script executes dhcp; pxe get; pxe boot
 
 * User CTRL-C's the PXE menu, which causes the first menu item to be
   booted, which causes some file to be downloaded.
 
   (This boot-on-CTRL-C behaviour is arguably a bug too, but it's a
   separate bug and the bug this patch fixes would still exist if the user
   simply waited to press CTRL-C until pxe boot started downloading
   files)
 
 * User CTRL-C's the file downloads, but the filename is still written to
   the bootfile environment variable.
 
 * User re-runs the boot command, which in my case executes dhcp; pxe get;
   pxe boot again, and dhcp picks up the saved bootfile environment
   variable and proceeds to download a file that it shouldn't.
 
 To solve this, modify the implementation of pxe get to clear BootFile
 if the whole boot operation fails, which avoids this whole mess.
 
 An alternative would be to modify netboot_common() such that the no-
 arguments case explicitly clears the global variable BootFile. However,
 that would prevent the following command sequences from working:
 
 $ dhcp filename # downloads filename
 $ dhcp  # downloads $bootfile, i.e. filename
 
 or:
 $ setenv bootfile filename
 $ dhcp  # downloads $bootfile, i.e. filename
 
 ... and I assume someone relies on U-Boot working that way.
 
 Signed-off-by: Stephen Warren swar...@nvidia.com
 Acked-by: Joe Hershberger joe.hershber...@ni.com

Applied to u-boot/master, thanks!

-- 
Tom


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


Re: [U-Boot] doc: README.android-fastboot: Add note about vendor ID

2014-08-10 Thread Tom Rini
On Tue, Jul 22, 2014 at 11:23:56AM -0400, Barnes, Clifton A. wrote:

 The Android fastboot client only communicates with specific vendor IDs.
 This addition to the documentation points out that fact so everyone is
 aware that not just any vendor ID will work and where to find the IDs
 that will.
 
 Signed-off-by: Clifton Barnes cabar...@indesign-llc.com
 Cc: Rob Herring r...@kernel.org

Applied to u-boot/master, thanks!

-- 
Tom


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


Re: [U-Boot] ext4: trats: trats2: Modify dfu_alt_info's file names to have absolute path

2014-08-10 Thread Tom Rini
On Tue, Jul 22, 2014 at 10:17:06AM +0200, Ɓukasz Majewski wrote:

 After the clean up performed in the commit 1151b7ac10b81ecbb the DFU subsystem
 requires absolute patch for correct operation.
 
 Signed-off-by: Lukasz Majewski l.majew...@samsung.com

Applied to u-boot/master, thanks!

-- 
Tom


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


Re: [U-Boot] Makefile: use u-boot.map for binary_size_check

2014-08-10 Thread Tom Rini
On Thu, Jul 24, 2014 at 05:27:07PM +1200, Chris Packham wrote:

 u-boot.map is generated automatically by the compiler and more
 importantly can handle addresses 4GB.

Applied to u-boot/master, thanks!

-- 
Tom


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


Re: [U-Boot] net: BOOTP retry timeout improvements

2014-08-10 Thread Tom Rini
On Fri, Jul 25, 2014 at 05:30:48PM -0600, Stephen Warren wrote:

 From: Stephen Warren swar...@nvidia.com
 
 Currently, the BOOTP code sends out its initial request as soon as the
 Ethernet driver indicates link up. If this packet is lost or not
 replied to for some reason, the code waits for a 1s timeout before
 retrying. For some reason, such early packets are often lost on my
 system, so this causes an annoying delay.
 
 To optimize this, modify the BOOTP code to have very short timeouts for
 the first packet transmitted, but gradually increase the timeout each
 time a timeout occurs. This way, if the first packet is lost, the second
 packet is transmitted quite quickly and hence the overall delay is low.
 However, if there's still no response, we don't keep spewing out packets
 at an insane speed.
 
 It's arguably more correct to try and find out why the first packet is
 lost. However, it seems to disappear inside my Ethenet chip; the TX chip
 indicates no error during TX (not that it has much in the way of
 reporting...), yet wireshark on the RX side doesn't see any packet.
 FWIW, I'm using an ASIX USB Ethernet adapter. Perhaps link up is
 reported too early or based on the wrong condition in HW, and we should
 add some fixed extra delay into the driver. However, this would slow down
 every link up event even if it ends up not being needed in some cases.
 Having BOOTP retry quickly applies the fix/WAR to every possible
 Ethernet device, and is quite simple to implement, so seems a better
 solution.
 
 Signed-off-by: Stephen Warren swar...@nvidia.com
 Acked-by: Joe Hershberger joe.hershber...@ni.com

Applied to u-boot/master, thanks!

-- 
Tom


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


Re: [U-Boot] [U-Boot,1/2] git-mailrc: Change fdt maintainer

2014-08-10 Thread Tom Rini
On Tue, Jul 29, 2014 at 12:03:11AM -0600, Simon Glass wrote:

 Add myself as fdt maintainer.
 
 Signed-off-by: Simon Glass s...@chromium.org

Applied to u-boot/master, thanks!

-- 
Tom


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


Re: [U-Boot] emif.h: remove duplicated argument to |

2014-08-10 Thread Tom Rini
On Thu, Jul 24, 2014 at 02:09:05PM +0200, maxin.j...@enea.com wrote:

 Remove the duplicated argument to | in two places. Reported
 by Coccinelle (http://coccinelle.lip6.fr/).
 
 Signed-off-by: Maxin B. John maxin.j...@enea.com

Applied to u-boot/master, thanks!

-- 
Tom


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


Re: [U-Boot] [U-Boot,v2] board_r: Add missing return to initr_doc

2014-08-10 Thread Tom Rini
On Thu, Jul 24, 2014 at 09:29:57AM +0100, Ian Campbell wrote:

 I happened to spot this while working in the area.
 
 Signed-off-by: Ian Campbell i...@hellion.org.uk
 Acked-by: Simon Glass s...@chromium.org
 Cc: Simon Glass s...@chromium.org

Applied to u-boot/master, thanks!

-- 
Tom


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


Re: [U-Boot] vitesse: remove duplicated argument to ||

2014-08-10 Thread Tom Rini
On Thu, Jul 24, 2014 at 12:26:05PM +0200, maxin.j...@enea.com wrote:

 Remove the duplicated argument to || check
 
 Signed-off-by: Maxin B. John maxin.j...@enea.com

Applied to u-boot/master, thanks!

-- 
Tom


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


Re: [U-Boot] [U-Boot,2/2] git-mailrc: Add myself as dm maintainer

2014-08-10 Thread Tom Rini
On Tue, Jul 29, 2014 at 12:03:12AM -0600, Simon Glass wrote:

 Add a subsystem entry for dm with myself as maintainer.
 
 Signed-off-by: Simon Glass s...@chromium.org

Applied to u-boot/master, thanks!

-- 
Tom


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


Re: [U-Boot] ext4load: fix help text

2014-08-10 Thread Tom Rini
On Tue, Jul 29, 2014 at 12:37:25PM +0200, Pavel Machek wrote:

 Fix ext4load help text.
 
 Signed-off-by: Pavel Machek pa...@denx.de

Applied to u-boot/master, thanks!

-- 
Tom


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


Re: [U-Boot] cosmetic: update doc/README.scrapyard

2014-08-10 Thread Tom Rini
On Tue, Jul 29, 2014 at 07:41:24PM +0900, Masahiro Yamada wrote:

 - Add 'p1023rds' to the list since commit d0bc5140 dropped
the board support but missed to update this file
  - Fill the Commit and Removed Date fields for boards removed
by earlier commits
  - Move 'incaip' to keep the list sorted in reverse
chronological order
  - Describe the soring rule in the comment block:
The list should be sorted in reverse chronological order.
  - Fix typos in the comment block
 
 Signed-off-by: Masahiro Yamada yamad...@jp.panasonic.com

Applied to u-boot/master, thanks!

-- 
Tom


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


Re: [U-Boot] [U-Boot,1/3] config: introduce a generic $bootcmd

2014-08-10 Thread Tom Rini
On Wed, Jul 30, 2014 at 04:37:14PM -0600, Stephen Warren wrote:

 From: Dennis Gilmore den...@ausil.us
 
 This generic $bootcmd, and associated support macros, automatically
 searches a defined set of storage devices (or network protocols) for an
 extlinux configuration file or U-Boot boot script in various standardized
 locations. Distros that install such a boot config file/script in those
 standard locations will get easy-to-set-up booting on HW that enables
 this generic $bootcmd.
 
 Boards can define the set of devices from which boot is attempted, and
 the order in which they are attempted. Users may later customize this
 set/order by edting $boot_targets.
 
 Users may interrupt the boot process and boot from a specific device
 simply by executing e.g.:
 
 $ run bootcmd_mmc1
 or:
 $ run bootcmd_pxe
 
 This patch was originally written by Dennis Gilmore based on Tegra and
 rpi_b boot scripts. I have made the following modifications since then:
 
 * Boards must define the BOOT_TARGET_DEVICES macro in order to specify
   the set of devices (and order) from which to attempt boot. If needed,
   we can define a default directly in config_distro_bootcmd.h.
 
 * Removed $env_import and related variables; nothing used them, and I
   think it's better for boards to pre-load an environment customization
   file using CONFIG_PREBOOT if they need.
 
 * Renamed a bunch of variables to suit my whims:-)
 
 Signed-off-by: Dennis Gilmore den...@ausil.us
 Signed-off-by: Stephen Warren swar...@nvidia.com
 Reviewed-by: Marek Vasut ma...@denx.de
 Acked-by: Simon Glass s...@chromium.org

Applied to u-boot/master, thanks!

-- 
Tom


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


Re: [U-Boot] rsa: Fix two errors in the implementation

2014-08-10 Thread Tom Rini
On Wed, Jul 30, 2014 at 10:00:17AM -0600, Simon Glass wrote:

 1. Failure to set the return code correctly
 2. Failure to detect the loop end condition when the value is equal to
 the modulus.
 
 Reported-by: Jeroen Hofstee jer...@myspectrum.nl
 Signed-off-by: Simon Glass s...@chromium.org

Applied to u-boot/master, thanks!

-- 
Tom


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


Re: [U-Boot] [U-Boot, 1/2] fdt: Rename fdt_resize() to fdt_shrink_to_minimum()

2014-08-10 Thread Tom Rini
On Wed, Jul 30, 2014 at 03:59:02AM -0600, Simon Glass wrote:

 Since libfdt now has an fdt_resize() function, we need to rename the
 U-Boot one.
 
 Signed-off-by: Simon Glass s...@chromium.org

Applied to u-boot/master, thanks!

-- 
Tom


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


Re: [U-Boot] omap: clean-up dead configs

2014-08-10 Thread Tom Rini
On Wed, Jul 30, 2014 at 07:11:41PM +0900, Masahiro Yamada wrote:

 The following configs are not defined at all.
 
  - CONFIG_OMAP1510
  - CONFIG_OMAP_1510P1
  - CONFIG_OMAP_SX1
  - CONFIG_OMAP3_DMA
  - CONFIG_OMAP3_ZOOM2
  - CONFIG_OMAP_INNOVATOR
 
 Signed-off-by: Masahiro Yamada yamad...@jp.panasonic.com
 Cc: Tom Rini tr...@ti.com

Applied to u-boot/master, thanks!

-- 
Tom


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


Re: [U-Boot] [U-Boot,2/2] fdt: Sync up with libfdt

2014-08-10 Thread Tom Rini
On Wed, Jul 30, 2014 at 03:59:03AM -0600, Simon Glass wrote:

 This brings in changes up to commit f9e91a48 in the libfdt repo.
 Mostly this is whitespace/minor changes. But there are a few new
 features:
 
 - fdt_size_cells() and fdt_address_cells()
 - fdt_resize()
 
 Signed-off-by: Simon Glass s...@chromium.org

Applied to u-boot/master, thanks!

-- 
Tom


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


Re: [U-Boot] [U-Boot,v3,1/4] MAINTAINERS: add initial version

2014-08-10 Thread Tom Rini
On Fri, Aug 01, 2014 at 02:24:08AM +0200, Daniel Schwierzeck wrote:

 MAINTAINERS contains all currently known custodians based on
 infos from wiki [1] and u-boot git forks [2].
 
 [1] http://www.denx.de/wiki/U-Boot/Custodians
 [2] http://git.denx.de/?p=u-boot.git;a=forks
 
 Signed-off-by: Daniel Schwierzeck daniel.schwierz...@gmail.com

Applied to u-boot/master, thanks!

-- 
Tom


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


Re: [U-Boot] [U-Boot, v3, 3/4] get_maintainer.pl: adapt to U-Boot tree

2014-08-10 Thread Tom Rini
On Fri, Aug 01, 2014 at 02:24:10AM +0200, Daniel Schwierzeck wrote:

 Switch core maintainer to Tom Rini. Adapt directory layout for
 git tree detection.
 
 Signed-off-by: Daniel Schwierzeck daniel.schwierz...@gmail.com
 Acked-by: Simon Glass s...@chromium.org
 Tested-by: Simon Glass s...@chromium.org

Applied to u-boot/master, thanks!

-- 
Tom


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


Re: [U-Boot] lib: lmb: fix overflow in __lmb_alloc_base w/ large RAM

2014-08-10 Thread Tom Rini
On Thu, Jul 31, 2014 at 01:40:07PM -0600, Stephen Warren wrote:

 From: Stephen Warren swar...@nvidia.com
 
 If a 32-bit system has 2GB of RAM, and the base address of that RAM is
 2GB, then start+size will overflow a 32-bit value (to a value of 0).
 
 __lmb_alloc_base is affected by this; it calculates the minimum of
 (start+size of RAM) and max_addr. However, when start+size is 0, it
 is always less than max_addr, which causes the value of max_addr not
 to be taken into account when restricting the allocation's location.
 
 Fix this by calculating start+size separately, and if that calculation
 underflows, using -1 (interpreted as the max unsigned value) as the
 value instead, and then taking the min of that and max_addr. Now that
 start+size doesn't overflow, it's typically large, and max_addr
 dominates the min() call, and is taken into account.
 
 The user-visible symptom of this bug is that CONFIG_BOOTMAP_SZ is ignored
 on Tegra124 systems with 2GB of RAM, which in turn causes the DT to be
 relocated at the very end of RAM, which the ARM Linux kernel doesn't map
 during early boot, and which causes boot failures. With this fix,
 CONFIG_BOOTMAP_SZ correctly restricts the relocated DT to a much lower
 address, and everything works.
 
 Signed-off-by: Stephen Warren swar...@nvidia.com

Applied to u-boot/master, thanks!

-- 
Tom


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


Re: [U-Boot] [U-Boot, v3, 2/4] get_maintainer.pl: import script from linux 3.15

2014-08-10 Thread Tom Rini
On Fri, Aug 01, 2014 at 02:24:09AM +0200, Daniel Schwierzeck wrote:

 Signed-off-by: Daniel Schwierzeck daniel.schwierz...@gmail.com
 Acked-by: Simon Glass s...@chromium.org

Applied to u-boot/master, thanks!

-- 
Tom


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


Re: [U-Boot] [U-Boot,3/3] ARM: rpi_b: use new generic $bootcmd

2014-08-10 Thread Tom Rini
On Wed, Jul 30, 2014 at 04:37:16PM -0600, Stephen Warren wrote:

 From: Stephen Warren swar...@nvidia.com
 
 Replace the custom $bootcmd with that from config_distro_bootcmd.h.
 There should be no functional change, since the new generic $bootcmd was
 derived strongly from tegra-common-post.h, after which this part of
 rpi_b.h was modelled.
 
 The #defines to enable/disable U-Boot commands/features were moved
 earlier in rpi_b.h, so they are set up before config_distro_bootcmd.h
 is included, since it tests whether certain features should be included
 based on those defines.
 
 Signed-off-by: Stephen Warren swar...@nvidia.com
 Acked-by: Simon Glass s...@chromium.org

Applied to u-boot/master, thanks!

-- 
Tom


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


Re: [U-Boot] [U-Boot,2/3] ARM: tegra: use new generic $bootcmd

2014-08-10 Thread Tom Rini
On Wed, Jul 30, 2014 at 04:37:15PM -0600, Stephen Warren wrote:

 From: Stephen Warren swar...@nvidia.com
 
 Replace the custom $bootcmd with that from config_distro_bootcmd.h.
 There should be no functional change, since the new generic $bootcmd was
 derived strongly from tegra-common-post.h.
 
 Signed-off-by: Stephen Warren swar...@nvidia.com
 Acked-by: Simon Glass s...@chromium.org

Applied to u-boot/master, thanks!

-- 
Tom


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


Re: [U-Boot] env_fat.c: Make sure our buffer is cache aligned

2014-08-10 Thread Tom Rini
On Fri, Aug 01, 2014 at 01:59:10PM -0400, Tom Rini wrote:

 We must ensure the buffer we read the env into is aligned or we may get
 warnings later on.
 
 Signed-off-by: Tom Rini tr...@ti.com

Applied to u-boot/master, thanks!

-- 
Tom


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


Re: [U-Boot] [U-Boot, v3, 4/4] get_maintainer.pl: add support for scanning multiple MAINTAINERS files

2014-08-10 Thread Tom Rini
On Fri, Aug 01, 2014 at 02:24:11AM +0200, Daniel Schwierzeck wrote:

 Signed-off-by: Daniel Schwierzeck daniel.schwierz...@gmail.com

Applied to u-boot/master, thanks!

-- 
Tom


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


Re: [U-Boot] [PATCH V2 00/18] Introduce cm-fx6 board (partial V2 cont.)

2014-08-10 Thread Simon Glass
Hi Nikita,

On 10 August 2014 11:12, Nikita Kiryanov nik...@compulab.co.il wrote:
 This partial V2 completes the previous partial V2. It contains some final
 preparational steps, and the introduction of cm-fx6 board.

 Changes in V2:
 - Update commit message of arm: mx6: ddr: configure MMDC for slow_pd
 - Remove unnecessary line removal from arch/arm/cpu/armv7/mx6/ddr.c
 - Move probe_mmdc_config() code straight to dram_init()
 - Use imx6_spl.h
 - Use imx_ddr_size()
   NOTE: the correction of this patch now depends on 
 https://patchwork.ozlabs.org/patch/376095/

Does this series support the dual core Utilite machine? If so I'm not
sure how to enable dual core instead of quad core - any ideas please?

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


[U-Boot] [PATCH 1/2 v2] arm: BeagleBone Black: enable fastboot support

2014-08-10 Thread Dileep Katta
Enable Android Fastboot support on am335x_evm board

Signed-off-by: Dileep Katta dileep.ka...@linaro.org
---
Changes for v2:
-None
 include/configs/am335x_evm.h | 10 ++
 1 file changed, 10 insertions(+)

diff --git a/include/configs/am335x_evm.h b/include/configs/am335x_evm.h
index 35ae0e6..3999405 100644
--- a/include/configs/am335x_evm.h
+++ b/include/configs/am335x_evm.h
@@ -291,6 +291,11 @@
 #define CONFIG_AM335X_USB0_MODEMUSB_PERIPHERAL
 #define CONFIG_AM335X_USB1
 #define CONFIG_AM335X_USB1_MODE MUSB_HOST
+/* Fastboot */
+#define CONFIG_CMD_FASTBOOT
+#define CONFIG_ANDROID_BOOT_IMAGE
+#define CONFIG_USB_FASTBOOT_BUF_ADDR   CONFIG_SYS_LOAD_ADDR
+#define CONFIG_USB_FASTBOOT_BUF_SIZE   0x0700
 
 #ifdef CONFIG_MUSB_HOST
 #define CONFIG_CMD_USB
@@ -303,8 +308,13 @@
 #define CONFIG_USBNET_HOST_ADDRde:ad:be:af:00:00
 
 /* USB TI's IDs */
+#ifdef CONFIG_CMD_FASTBOOT
+#define CONFIG_G_DNL_VENDOR_NUM 0x0451
+#define CONFIG_G_DNL_PRODUCT_NUM 0xd022 /* TI fastboot PID */
+#else
 #define CONFIG_G_DNL_VENDOR_NUM 0x0403
 #define CONFIG_G_DNL_PRODUCT_NUM 0xBD00
+#endif
 #define CONFIG_G_DNL_MANUFACTURER Texas Instruments
 #endif /* CONFIG_MUSB_GADGET */
 
-- 
1.8.3.2

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


[U-Boot] [PATCH 2/2 v2] fastboot: Flash command support

2014-08-10 Thread Dileep Katta
Flash command internally uses DFU, and Fastboot command initialization is 
modified to add DFU and partition initialization
Added oem format functionality for GPT table creation
partitioning code is added as disk/part_fastboot.c for better usability

Fastboot flash command code is enabled and being tested on BeagleBone Black.
OMAP3 Beagle configuration is modified to fix the build errors, but this 
configuration needs to be updated as per the flash functionality.

Signed-off-by: Dileep Katta dileep.ka...@linaro.org
---
Changes for v2:
- Fixed coding style issues

 common/cmd_fastboot.c   |   5 +
 common/cmd_mmc.c|   2 +-
 common/cmd_nvedit.c |   2 +-
 disk/Makefile   |   1 +
 disk/part_fastboot.c| 379 
 doc/README.android-fastboot |  26 +++
 drivers/usb/gadget/f_fastboot.c | 178 ++-
 include/configs/am335x_evm.h|  23 ++-
 include/configs/omap3_beagle.h  |  12 ++
 include/usb/fastboot.h  | 182 +++
 10 files changed, 796 insertions(+), 14 deletions(-)
 create mode 100644 disk/part_fastboot.c
 create mode 100644 include/usb/fastboot.h

diff --git a/common/cmd_fastboot.c b/common/cmd_fastboot.c
index 83fa7bd..6d0d0a4 100644
--- a/common/cmd_fastboot.c
+++ b/common/cmd_fastboot.c
@@ -10,11 +10,15 @@
 #include common.h
 #include command.h
 #include g_dnl.h
+#include dfu.h
+#include usb/fastboot.h
 
 static int do_fastboot(cmd_tbl_t *cmdtp, int flag, int argc, char *const 
argv[])
 {
int ret;
 
+   board_partition_init();
+   dfu_init_env_entities(mmc, CONFIG_FB_MMCDEV);
ret = g_dnl_register(usb_dnl_fastboot);
if (ret)
return ret;
@@ -26,6 +30,7 @@ static int do_fastboot(cmd_tbl_t *cmdtp, int flag, int argc, 
char *const argv[])
}
 
g_dnl_unregister();
+   dfu_free_entities();
return CMD_RET_SUCCESS;
 }
 
diff --git a/common/cmd_mmc.c b/common/cmd_mmc.c
index 1e40983..dd7170d 100644
--- a/common/cmd_mmc.c
+++ b/common/cmd_mmc.c
@@ -612,7 +612,7 @@ static cmd_tbl_t cmd_mmc[] = {
U_BOOT_CMD_MKENT(setdsr, 2, 0, do_mmc_setdsr, , ),
 };
 
-static int do_mmcops(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
+int do_mmcops(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
cmd_tbl_t *cp;
 
diff --git a/common/cmd_nvedit.c b/common/cmd_nvedit.c
index 855808c..a100109 100644
--- a/common/cmd_nvedit.c
+++ b/common/cmd_nvedit.c
@@ -686,7 +686,7 @@ ulong getenv_ulong(const char *name, int base, ulong 
default_val)
 
 #ifndef CONFIG_SPL_BUILD
 #if defined(CONFIG_CMD_SAVEENV)  !defined(CONFIG_ENV_IS_NOWHERE)
-static int do_env_save(cmd_tbl_t *cmdtp, int flag, int argc,
+int do_env_save(cmd_tbl_t *cmdtp, int flag, int argc,
   char * const argv[])
 {
printf(Saving Environment to %s...\n, env_name_spec);
diff --git a/disk/Makefile b/disk/Makefile
index 6970cec..4b7a9ef 100644
--- a/disk/Makefile
+++ b/disk/Makefile
@@ -13,3 +13,4 @@ obj-$(CONFIG_DOS_PARTITION)   += part_dos.o
 obj-$(CONFIG_ISO_PARTITION)   += part_iso.o
 obj-$(CONFIG_AMIGA_PARTITION) += part_amiga.o
 obj-$(CONFIG_EFI_PARTITION)   += part_efi.o
+obj-$(CONFIG_CMD_FASTBOOT)+= part_fastboot.o
diff --git a/disk/part_fastboot.c b/disk/part_fastboot.c
new file mode 100644
index 000..4fa9f85
--- /dev/null
+++ b/disk/part_fastboot.c
@@ -0,0 +1,379 @@
+/*
+ * Copyright (C) 2013 Texas Instruments
+ *
+ * Author : Pankaj Bharadiya pankaj.bharad...@ti.com
+ *
+ * Tom Rix tom@windriver.com and Sitara 2011 u-boot by
+ * Mohammed Afzal M A af...@ti.com
+ *
+ * Copyright (C) 2008 The Android Open Source Project
+ * All rights reserved.
+ *
+ * Copyright 2014 Linaro, Ltd.
+ * Dileep Katta dileep.ka...@linaro.org
+ *
+ * SPDX-License-Identifier:GPL-2.0+
+ */
+
+#include common.h
+#include command.h
+#include usb/fastboot.h
+#include linux/usb/ch9.h
+#include linux/usb/gadget.h
+#include environment.h
+#include mmc.h
+#include dfu.h
+
+#define EFI_VERSION 0x0001
+#define EFI_ENTRIES 128
+#define EFI_NAMELEN 36
+
+struct partition_emmc {
+   const char *name;
+   unsigned size_kb;
+};
+
+/* eMMC partition layout (All sizes are in kB)
+ * Modify the below partition table to change the GPT configuration.
+ * The entry for each partition can be modified as per the requirement.
+ */
+static struct partition_emmc partitions[] = {
+   { -, 128 },   /* Master Boot Record and GUID Partition Table */
+   { spl, 128 }, /* First stage bootloader */
+   { bootloader, 512 },  /* Second stage bootloader */
+   { misc, 128 },/* Rserved for internal purpose */
+   { -, 128 },   /* Reserved */
+   { recovery, 8*1024 }, /* Recovery partition  */
+   { boot, 8*1024 }, /* Partition contains kernel + ramdisk images */
+   { system, 256*1024 }, /* Android file system */
+   { cache, 256*1024 },   

Re: [U-Boot] Removing the need for boards.cfg

2014-08-10 Thread Simon Glass
Hi Tom,

On 8 August 2014 05:59, Tom Rini tr...@ti.com wrote:
 On Fri, Aug 08, 2014 at 05:06:03AM -0600, Simon Glass wrote:
 Hi Masahiro,

 On 1 August 2014 06:22, Masahiro Yamada yamad...@jp.panasonic.com wrote:
  Hi.
 
 
 
  On Fri, 1 Aug 2014 12:48:44 +0100
  Simon Glass s...@chromium.org wrote:
 
  Hi,
 
  At present, as a work-around, we generate boards.cfg if needed. This
  is quite a slow process since each board config must be fully
  processed.
 
  What can we do to improve this? We only need a small number of options
  in order to start buildman - things like CONFIG_SYS_ARCH,
  CONFIG_SYS_CPU, etc.
 
  I wonder if we could run a script which adds these to the defconfigs
  for each board and then apply a patch to mainline? Would that require
  removing the options from the config.h files? Or could we do that
  later as a separate step?
 
 
 
  We cannot add CONFIG_SYS_ARCH, CONFIG_SYS_CPU, etc. to defconfigs
  because they are not user-editable options.
  (They must be always selected in correct combination.)
 
  This is already discussed when I posted the RFC version of the Kconfig 
  series.

 My understanding is that if you have a 'select' option in Kconfig then
 it will be selected always, but it will still appear in the defconfig.
 I think that is the way the kernel works. So there are options that
 cannot be changed, and don't appear in the menu, but they are selected
 just the same.

 Maybe we came up with the wrong answer during RFC on Kconfig then.  It's
 good if selecting say CONFIG_TARGET_AM335X_EVM results in
 CONFIG_SYS_ARCH=arm, CONFIG_SYS_CPU=armv7, etc.

 I _think_ the problem here is what I ran into with doing CONS_INDEX
 patches.  You cannot do 'select SYS_CPU=armv7'.  So we would instead
 need to get rid of CONFIG_SYS_CPU and instead do CONFIG_SYS_CPU_ARMV7,
 etc, etc.

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


Re: [U-Boot] Removing the need for boards.cfg

2014-08-10 Thread Simon Glass
Hi Tom,

On 8 August 2014 05:59, Tom Rini tr...@ti.com wrote:
 On Fri, Aug 08, 2014 at 05:06:03AM -0600, Simon Glass wrote:
 Hi Masahiro,

 On 1 August 2014 06:22, Masahiro Yamada yamad...@jp.panasonic.com wrote:
  Hi.
 
 
 
  On Fri, 1 Aug 2014 12:48:44 +0100
  Simon Glass s...@chromium.org wrote:
 
  Hi,
 
  At present, as a work-around, we generate boards.cfg if needed. This
  is quite a slow process since each board config must be fully
  processed.
 
  What can we do to improve this? We only need a small number of options
  in order to start buildman - things like CONFIG_SYS_ARCH,
  CONFIG_SYS_CPU, etc.
 
  I wonder if we could run a script which adds these to the defconfigs
  for each board and then apply a patch to mainline? Would that require
  removing the options from the config.h files? Or could we do that
  later as a separate step?
 
 
 
  We cannot add CONFIG_SYS_ARCH, CONFIG_SYS_CPU, etc. to defconfigs
  because they are not user-editable options.
  (They must be always selected in correct combination.)
 
  This is already discussed when I posted the RFC version of the Kconfig 
  series.

 My understanding is that if you have a 'select' option in Kconfig then
 it will be selected always, but it will still appear in the defconfig.
 I think that is the way the kernel works. So there are options that
 cannot be changed, and don't appear in the menu, but they are selected
 just the same.

 Maybe we came up with the wrong answer during RFC on Kconfig then.  It's
 good if selecting say CONFIG_TARGET_AM335X_EVM results in
 CONFIG_SYS_ARCH=arm, CONFIG_SYS_CPU=armv7, etc.

 I _think_ the problem here is what I ran into with doing CONS_INDEX
 patches.  You cannot do 'select SYS_CPU=armv7'.  So we would instead
 need to get rid of CONFIG_SYS_CPU and instead do CONFIG_SYS_CPU_ARMV7,
 etc, etc.

Well I think we should run this one to ground first - if a 'select'
item doesn't appear in Kconfig then I think we have a bit of a
problem. Will await Masahiro's thoughts.

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


Re: [U-Boot] Removing the need for boards.cfg

2014-08-10 Thread Simon Glass
Hi Tom,

On 8 August 2014 07:04, Tom Rini tr...@ti.com wrote:
 On Fri, Aug 01, 2014 at 12:48:44PM +0100, Simon Glass wrote:

 Hi,

 At present, as a work-around, we generate boards.cfg if needed. This
 is quite a slow process since each board config must be fully
 processed.

 What can we do to improve this? We only need a small number of options
 in order to start buildman - things like CONFIG_SYS_ARCH,
 CONFIG_SYS_CPU, etc.

 I wonder if we could run a script which adds these to the defconfigs
 for each board and then apply a patch to mainline? Would that require
 removing the options from the config.h files? Or could we do that
 later as a separate step?

 I wonder (and I haven't had my coffee nor dug into this much more yet)
 about using say https://github.com/ulfalizer/Kconfiglib to have buildman
 parse all configs/ and then use that information to build what's been
 asked (depending on how long the reading+parsing takes).  If it's
 relatively quick, that would be a big argument in favour of dropping
 MAKEALL.

Well I've had my wine but it seems to parse the Kconfig files rather
than the #includes that are part of U-Boot's system. Unless I'm
missing something, we would still need to find out things like the CPU
type, even with that tool.

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


[U-Boot] Pull request v2: u-boot-blackfin

2014-08-10 Thread Sonic Zhang
Hi Tom,

Please pull the following patches for Blackfin from u-boot-blackfin
into your tree.

Thanks

Sonic Zhang


The following changes since commit e76b933e02e1b38e48754c435e9dba1c0deeb3c6:

  Prepare v2014.10-rc1 (2014-08-06 09:12:58 -0400)

are available in the git repository at:

  git://git.denx.de/u-boot-blackfin.git master

for you to fetch changes up to d54d7eb965e96fc451beaac58cd79efdcf848fd9:

  support blackfin board initialization in generic board_f (2014-08-07
15:15:19 +0800)


Aaron Wu (1):
  bfin: add register define required by core B on dual core BF609 processor

Scott Jiang (1):
  blackfin: spi clock is in sysclk1 domain instead of sysclk0

Sonic Zhang (2):
  blackfin: convert blackfin board_f and board_r to use generic
board init functions
  support blackfin board initialization in generic board_f

 arch/blackfin/config.mk  |   3 +
 arch/blackfin/cpu/cpu.c  | 334 +++--
 arch/blackfin/cpu/start.S|  14 +-
 arch/blackfin/cpu/u-boot.lds |   4 +-
 arch/blackfin/include/asm/clock.h|   2 +-
 arch/blackfin/include/asm/config.h   |   4 +
 arch/blackfin/include/asm/mach-bf609/BF609_def.h |   2 +
 arch/blackfin/include/asm/u-boot.h   |   3 +
 arch/blackfin/lib/Makefile   |   7 +-
 arch/blackfin/lib/board.c| 443 ---
 arch/blackfin/lib/sections.c |  11 +
 common/board_f.c |  45 ++-
 include/configs/bf506f-ezkit.h   |   5 +-
 include/configs/bf533-stamp.h|   3 +-
 include/configs/bf538f-ezkit.h   |   3 +-
 include/watchdog.h   |   3 +-
 16 files changed, 380 insertions(+), 506 deletions(-)
 delete mode 100644 arch/blackfin/lib/board.c
 create mode 100644 arch/blackfin/lib/sections.c
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH 1/3] config: introduce a generic $bootcmd

2014-08-10 Thread Dennis Gilmore
On Wed, 06 Aug 2014 10:01:09 -0600
Stephen Warren swar...@wwwdotorg.org wrote:

 On 07/30/2014 04:37 PM, Stephen Warren wrote:
  From: Dennis Gilmore den...@ausil.us
 
  This generic $bootcmd, and associated support macros, automatically
  searches a defined set of storage devices (or network protocols)
  for an extlinux configuration file or U-Boot boot script in various
  standardized locations. Distros that install such a boot config
  file/script in those standard locations will get easy-to-set-up
  booting on HW that enables this generic $bootcmd.
 
 Simon, are you OK with these patches following the discussion?
 Dennis, I assume you're OK with the new version of this patch?
I am okay with this version.

Dennis

 I assume that your acks would go a long way towards Tom applying this 
 series.
 
 Thanks.
 ___
 U-Boot mailing list
 U-Boot@lists.denx.de
 http://lists.denx.de/mailman/listinfo/u-boot

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


Re: [U-Boot] [PATCH v2 17/25] i2c: mvtwsi: Add support for Marvell Armada XP

2014-08-10 Thread Heiko Schocher

Hello Stefan,

Am 05.08.2014 09:10, schrieb Stefan Roese:

To support the Armada XP SoC, we just need to include the correct header.

Signed-off-by: Stefan Roeses...@denx.de
Cc: Heiko Schocherh...@denx.de
---

Changes in v2: None

  drivers/i2c/mvtwsi.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)


Acked-by: Heiko Schocher h...@denx.de

bye,
Heiko
--
DENX Software Engineering GmbH, MD: Wolfgang Denk  Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot