Add Highbank platform
Subsystems (3)
v4 cover Add Highbank platform
From: Rob Herring <[email protected]>
This series enables non-PCI AHCI controllers and adds support for Calxeda Highbank platform which uses the AHCI changes.
Changes from v3:
- Added Highbank to MAINTAINERS
- Added back patch to fix CONFIG_SKIP_LOWLEVEL_INIT (mistakenly dropped from v2)
Wolfgang, Albert,
Can you apply these to your trees for v2011.09? All review comments have been addressed.
Rob
Rob Herring (6):
ARM: add missing CONFIG_SKIP_LOWLEVEL_INIT for armv7
ARM: Add Calxeda Highbank platform
arm: add __ilog2 function
scsi/ahci: ata id little endian fix scsi/ahci: add support for non-PCI controllers
ARM: highbank: Add AHCI support
MAINTAINERS | 4 + arch/arm/cpu/armv7/highbank/Makefile | 46 ++++++++++++ arch/arm/cpu/armv7/highbank/config.mk | 4 + arch/arm/cpu/armv7/highbank/timer.c | 124 +++++++++++++++++++++++++++++++++ arch/arm/cpu/armv7/start.S | 2 + arch/arm/include/asm/bitops.h | 9 +++ board/highbank/Makefile | 49 +++++++++++++ board/highbank/highbank.c | 58 +++++++++++++++ boards.cfg | 1 + common/cmd_scsi.c | 6 +- drivers/block/ahci.c | 72 ++++++++++++++++--- include/ahci.h | 4 + include/configs/highbank.h | 112 +++++++++++++++++++++++++++++ include/scsi.h | 1 + 14 files changed, 480 insertions(+), 12 deletions(-) create mode 100644 arch/arm/cpu/armv7/highbank/Makefile create mode 100644 arch/arm/cpu/armv7/highbank/config.mk create mode 100644 arch/arm/cpu/armv7/highbank/timer.c create mode 100644 board/highbank/Makefile create mode 100644 board/highbank/highbank.c create mode 100644 include/configs/highbank.h
Signature · 1 line
1.7.4.1
PATCH v4 1/6 ARM: add missing CONFIG_SKIP_LOWLEVEL_INIT for armv7
From: Rob Herring <[email protected]>
cpu_init_crit can be skipped, but the code is still enabled requiring a platform to supply lowlevel_init.
--- arch/arm/cpu/armv7/start.S | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-)
arch/arm/cpu/armv7/start.S +2 -0
@@ -275,6 +275,7 @@ _rel_dyn_end_ofs: _dynsym_start_ofs: .word __dynsym_start - _start +#ifndef CONFIG_SKIP_LOWLEVEL_INIT /************************************************************************* * * CPU_init_critical registers
@@ -311,6 +312,7 @@ cpu_init_crit: bl lowlevel_init @ go setup pll,mux,memory mov lr, ip @ restore link mov pc, lr @ back to my caller +#endif /* ************************************************************************* *
Signature · 1 line
1.7.4.1
PATCH v4 2/6 ARM: Add Calxeda Highbank platform
In reply to Rob HerringFrom: Rob Herring <[email protected]>
Add basic support for Calxeda Highbank platform. Only minimal support to boot is included.
--- MAINTAINERS | 4 + arch/arm/cpu/armv7/highbank/Makefile | 46 ++++++++++++ arch/arm/cpu/armv7/highbank/config.mk | 4 + arch/arm/cpu/armv7/highbank/timer.c | 124 +++++++++++++++++++++++++++++++++ board/highbank/Makefile | 49 +++++++++++++ board/highbank/highbank.c | 49 +++++++++++++ boards.cfg | 1 + include/configs/highbank.h | 101 +++++++++++++++++++++++++++ 8 files changed, 378 insertions(+), 0 deletions(-) create mode 100644 arch/arm/cpu/armv7/highbank/Makefile create mode 100644 arch/arm/cpu/armv7/highbank/config.mk create mode 100644 arch/arm/cpu/armv7/highbank/timer.c create mode 100644 board/highbank/Makefile create mode 100644 board/highbank/highbank.c create mode 100644 include/configs/highbank.h
MAINTAINERS +4 -0
@@ -225,6 +225,10 @@ Wolfgang Grandegger <[email protected]> IPHASE4539 MPC8260 SCM MPC8260 +Rob Herring <[email protected]> + + highbank highbank + Klaus Heydeck <[email protected]> KUP4K MPC855
arch/arm/cpu/armv7/highbank/Makefile new file +46 -0
46 lines not on this page · raw message
arch/arm/cpu/armv7/highbank/config.mk new file +4 -0
@@ -0,0 +1,4 @@ +STANDALONE_LOAD_ADDR = 0x100000 + +PLATFORM_CPPFLAGS += -march=armv7-a +
arch/arm/cpu/armv7/highbank/timer.c new file +124 -0
124 lines not on this page · raw message
board/highbank/Makefile new file +49 -0
49 lines not on this page · raw message
board/highbank/highbank.c new file +49 -0
49 lines not on this page · raw message
boards.cfg +1 -0
@@ -135,6 +135,7 @@ omap5912osk arm arm926ejs - ti edminiv2 arm arm926ejs - LaCie orion5x dkb arm arm926ejs - Marvell pantheon ca9x4_ct_vxp arm armv7 vexpress armltd +highbank arm armv7 highbank - highbank efikamx arm armv7 efikamx - mx5 mx51evk:IMX_CONFIG=board/efikamx/imximage.cfg mx51evk arm armv7 mx51evk freescale mx5 mx51evk:IMX_CONFIG=board/freescale/mx51evk/imximage.cfg mx53evk arm armv7 mx53evk freescale mx5 mx53evk:IMX_CONFIG=board/freescale/mx53evk/imximage.cfg
include/configs/highbank.h new file +101 -0
101 lines not on this page · raw message
Signature · 1 line
1.7.4.1
PATCH v4 3/6 arm: add __ilog2 function
In reply to Rob HerringFrom: Rob Herring <[email protected]>
Add __ilog2 function for ARM. Needed for ahci.c
--- arch/arm/include/asm/bitops.h | 9 +++++++++ 1 files changed, 9 insertions(+), 0 deletions(-)
arch/arm/include/asm/bitops.h +9 -0
@@ -106,6 +106,15 @@ static inline int test_bit(int nr, const void * addr)return ((unsigned char *) addr)[nr >>3 ] & (1U << (nr &7 )); } +extern __inline__int __ilog2 (unsigned int x) +{ +int ret; + + asm("clz\t%0, %1" :"=r" (ret) :"r" (x)); + ret =31 - ret; +return ret; +} +/* * ffz = Find First Zero in word. Undefined if no zero exists, * so code should check against ~0UL first..
Signature · 1 line
1.7.4.1
PATCH v4 3/6 arm: add __ilog2 function
Dear Rob Herring,
Quoted 15 lines · In message <[email protected]> you wrote:
From: Rob Herring <[email protected]>
Add
__ilog2function for ARM. Needed forahci.cSigned-off-by Rob Herring <[email protected]>Cc Albert ARIBAUD <[email protected]>--- arch/arm/include/asm/bitops.h | 9 +++++++++ 1 files changed, 9 insertions(+), 0 deletions(-)arch/arm/include/asm/bitops.h +0
-0
arch/arm/include/asm/bitops.h static inline int test_bit(int nr, const void * addr) · line 109
Quoted 4 lines
arch/arm/include/asm/bitops.h +1
-0@@ -106,6 +106,15 @@ static inline int test_bit(int nr, const void * addr)return ((unsigned char *) addr)[nr >>3 ] & (1U << (nr &7 )); } +extern __inline__int __ilog2 (unsigned int x)
checkpatch says: WARNING: plain inline is preferred over __inline__
Best regards,
Wolfgang Denk
Signature · 5 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de "The X11 source code style is ATROCIOUS and should not be used as a model." - Doug Gwyn
PATCH v4 3/6 arm: add __ilog2 function
Wolfgang,
Quoted 21 lines · Wolfgang Denk
Dear Rob Herring,
Quoted 18 lines · In message <[email protected]> you wrote:
From: Rob Herring <[email protected]>
Add
__ilog2function for ARM. Needed forahci.cSigned-off-by Rob Herring <[email protected]>Cc Albert ARIBAUD <[email protected]>--- arch/arm/include/asm/bitops.h | 9 +++++++++ 1 files changed, 9 insertions(+), 0 deletions(-)arch/arm/include/asm/bitops.h +0
-0@@ -106,6 +106,15 @@ static inline int test_bit(int nr, const void * addr)return ((unsigned char *) addr)[nr >>3 ] & (1U << (nr &7 )); }
Quoted 4 lines
arch/arm/include/asm/bitops.h static inline int test_bit(int nr, const void * addr) · line 109
Quoted 1 line
arch/arm/include/asm/bitops.h +1
-0+extern __inline__int __ilog2 (unsigned int x)checkpatch says: WARNING: plain inline is preferred over
__inline__
Sorry about this. I thought I was running checkpatch, but there was a problem in my script I used and it was failing silently.
Rob
PATCH 3/6 arm: add __ilog2 function
In reply to Rob HerringHi Rob,
Quoted 15 lines · Rob Herring
From: Rob Herring<[email protected]>
Add
__ilog2function for ARM. Needed forahci.cSigned-off-by Rob Herring<[email protected]>Cc Albert ARIBAUD<[email protected]>--- arch/arm/include/asm/bitops.h | 9 +++++++++ 1 files changed, 9 insertions(+), 0 deletions(-)arch/arm/include/asm/bitops.h +0
-0
arch/arm/include/asm/bitops.h static inline int test_bit(int nr, const void * addr) · line 113
Quoted 8 lines
arch/arm/include/asm/bitops.h +5
-0@@ -106,6 +106,15 @@ static inline int test_bit(int nr, const void * addr)return ((unsigned char *) addr)[nr>>3 ]& (1U << (nr&7 )); } +extern __inline__int __ilog2 (unsigned int x) +{ +int ret; + + asm("clz\t%0, %1" :"=r" (ret) :"r" (x));
I tried doing the same sometime back for the same need. I had to abandon it because CLZ seems to be added only in ARMv5. And at least one ARMv7 SoC uses -march=armv4 while building.
best regards,
Aneesh
PATCH v4 3/6 arm: add __ilog2 function
Dear Aneesh V,
Quoted 4 lines · In message <[email protected]> you wrote:
I tried doing the same sometime back for the same need. I had to abandon it because CLZ seems to be added only in ARMv5. And at least one ARMv7 SoC uses -march=armv4 while building.
Does this setting make any sense, or should we fix that?
Best regards,
Wolfgang Denk
Signature · 5 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de Time is fluid ... like a river with currents, eddies, backwash. -- Spock, "The City on the Edge of Forever", stardate 3134.0
PATCH 3/6 arm: add __ilog2 function
Dear Wolfgang,
Quoted 9 lines · Wolfgang Denk
Dear Aneesh V,
Quoted 4 lines · In message<[email protected]> you wrote:
I tried doing the same sometime back for the same need. I had to abandon it because CLZ seems to be added only in ARMv5. And at least one ARMv7 SoC uses -march=armv4 while building.
Does this setting make any sense, or should we fix that?
Looks like it makes sense. Here is what the comment says in arch/arm/cpu/armv7/tegra2/config.mk
# Use ARMv4 for Tegra2 - initial code runs on the AVP, which is an ARM7TDI. PLATFORM_CPPFLAGS += -march=armv4
Even if we could fix this, Rob is adding the API for all 'arm', which I feel is not correct.
best regards,
Aneesh
PATCH v4 3/6 arm: add __ilog2 function
Dear Aneesh V,
Quoted 6 lines · In message <[email protected]> you wrote:
Looks like it makes sense. Here is what the comment says in
arch/arm/cpu/armv7/tegra2/config.mk# Use ARMv4 for Tegra2 - initial code runs on the AVP, which is an ARM7TDI.
PLATFORM_CPPFLAGS+= -march=armv4
I'm not sure what "initial code" here means - all of U-Boot?
Quoted 2 lines
Even if we could fix this, Rob is adding the API for all 'arm', which I feel is not correct.
Agreed. But then, it's the overwhelming majority that could use this code.
Best regards,
Wolfgang Denk
Signature · 7 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
It's certainly convenient the way the crime (or condition) of
stupidity carries with it its own punishment, automatically
admisistered without remorse, pity, or prejudice. :-)
-- Tom Christiansen in <[email protected]>PATCH v4 3/6 arm: add __ilog2 function
Le 05/07/2011 13:17, Wolfgang Denk a ?crit :
Quoted 10 lines
Dear Aneesh V,
Quoted 6 lines · In message<[email protected]> you wrote:
Looks like it makes sense. Here is what the comment says in
arch/arm/cpu/armv7/tegra2/config.mk# Use ARMv4 for Tegra2 - initial code runs on the AVP, which is an ARM7TDI.
PLATFORM_CPPFLAGS+= -march=armv4
Quoted 7 lines
I'm not sure what "initial code" here means - all of U-Boot?
Quoted 2 lines
Even if we could fix this, Rob is adding the API for all 'arm', which I feel is not correct.
Agreed. But then, it's the overwhelming majority that could use this code.
Maybe we could condition this __ilog2 definition on whether we build for armv4 (and below) or armv5t (or above)?
Quoted 3 lines
Best regards,
Wolfgang Denk
Amicalement,
Signature · 1 line
Albert.
PATCH v2 1/1 arm: add __ilog2 function
In reply to Rob HerringFrom: Rob Herring <[email protected]>
Add __ilog2 function for ARM. Needed for ahci.c
---
Performance here is not critical, so I'm changing this to use the C version.
v2 changes:
- Change __inline__ to inline.
- Use generic_fls function instead of clz asm so it works with ARMv4.
arch/arm/include/asm/bitops.h | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-)
arch/arm/include/asm/bitops.h +5 -0
@@ -106,6 +106,11 @@ static inline int test_bit(int nr, const void * addr)return ((unsigned char *) addr)[nr >>3 ] & (1U << (nr &7 )); } +static inline int __ilog2 (unsigned int x) +{ +return generic_fls (x) -1 ; +} +/* * ffz = Find First Zero in word. Undefined if no zero exists, * so code should check against ~0UL first..
Signature · 1 line
1.7.4.1
PATCH v2 1/1 arm: add __ilog2 function
Hi Rob,
Le 05/07/2011 16:38, Rob Herring a ?crit :
Quoted 7 lines
From: Rob Herring<[email protected]>
Add
__ilog2function for ARM. Needed forahci.cSigned-off-by Rob Herring<[email protected]>Cc Albert ARIBAUD<[email protected]>---
Applied to u-boot-arm/master, thanks!
(but please do not use my old e-mail address)
Amicalement,
Signature · 1 line
Albert.
PATCH v4 4/6 scsi/ahci: ata id little endian fix
In reply to Rob HerringFrom: Rob Herring <[email protected]>
The ata id string always needs swapping, not just on BE machines.
--- drivers/block/ahci.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
drivers/block/ahci.c +1 -1
@@ -468,7 +468,7 @@ static char *ata_id_strcpy(u16 *target, u16 *src, int len) {int i;for (i =0 ; i < len /2 ; i++) - target[i] =le16_to_cpu (src[i]); + target[i] =swab16 (src[i]);return (char *)target; }
Signature · 1 line
1.7.4.1
PATCH v4 5/6 scsi/ahci: add support for non-PCI controllers
In reply to Rob HerringFrom: Rob Herring <[email protected]>
Add support for AHCI controllers that are not PCI based.
--- common/cmd_scsi.c | 6 +++- drivers/block/ahci.c | 70 +++++++++++++++++++++++++++++++++++++++++++------ include/ahci.h | 4 +++ include/scsi.h | 1 + 4 files changed, 70 insertions(+), 11 deletions(-)
common/cmd_scsi.c +4 -2
@@ -47,7 +47,8 @@#define SCSI_DEV_ID 0x5288#else -#error no scsi device defined +#define SCSI_VEND_ID 0 +#define SCSI_DEV_ID 0#endif
@@ -174,7 +175,7 @@ removable: scsi_curr_dev =-1 ; } - +#ifdef CONFIG_PCI void scsi_init (void ) {int busdevfunc;
@@ -192,6 +193,7 @@ void scsi_init(void)scsi_low_level_init (busdevfunc); scsi_scan(1); } +#endif block_dev_desc_t *scsi_get_dev (int dev) {
drivers/block/ahci.c +61 -9
149 lines not on this page · raw message
include/ahci.h +4 -0
@@ -25,6 +25,8 @@#ifndef _AHCI_H_#define _AHCI_H_ +#include <pci.h> +#define AHCI_PCI_BAR 0x24#define AHCI_MAX_SG 56/* hardware max is 64K */ #define AHCI_CMD_SLOT_SZ 32
@@ -187,4 +189,6 @@ struct ahci_probe_ent { u32 link_port_map; /*linkup port map*/ }; +int ahci_init (u32 base); +#endif
include/scsi.h +1 -0
@@ -185,6 +185,7 @@ void scsi_low_level_init(int busdevfunc);* functions residing inside cmd_scsi.c */ void scsi_init (void ); +void scsi_scan (int mode);#define SCSI_IDENTIFY 0xC0/* not used */
Signature · 1 line
1.7.4.1
PATCH v4 5/6 scsi/ahci: add support for non-PCI controllers
Dear Rob Herring,
Quoted 18 lines · In message <[email protected]> you wrote:
From: Rob Herring <[email protected]>
Add support for AHCI controllers that are not PCI based.
Signed-off-by Rob Herring <[email protected]>Cc Wolfgang Denk <[email protected]>--- common/cmd_scsi.c | 6 +++- drivers/block/ahci.c | 70 +++++++++++++++++++++++++++++++++++++++++++------ include/ahci.h | 4 +++ include/scsi.h | 1 + 4 files changed, 70 insertions(+), 11 deletions(-)common/cmd_scsi.c +0
-0
common/cmd_scsi.c line 52
Quoted 7 lines
common/cmd_scsi.c +2
-1@@ -47,7 +47,8 @@#define SCSI_DEV_ID 0x5288#else -#error no scsi device defined +#define SCSI_VEND_ID 0 +#define SCSI_DEV_ID 0#endif
I'm not sure if this is a good idea. Please explain.
Also, checkpatch says:
ERROR: trailing whitespace
WARNING: please, no spaces at the start of a line
#287: FILE: include/ahci.h:193:
+ $
common/cmd_scsi.c static void ahci_print_info(struct ahci_probe_ent *probe_ent) · line 232
Quoted 12 lines
common/cmd_scsi.c +4
-1+#ifdef CONFIG_PCI pci_read_config_word (pdev,0x0a , &cc);if (cc ==0x0101 ) scc_s ="IDE" ;@@ -222,7 +227,9 @@ static void ahci_print_info(struct ahci_probe_ent *probe_ent) scc_s ="RAID" ; else scc_s ="unknown" ; - +#else + scc_s ="SATA" ; +#endif
Is SATA really the only possible option here?
Quoted 2 lines
common/cmd_scsi.c +2
-0+int ahci_init (u32 base) +{
...
Quoted 1 line
+}
Should this always be compiled in?
Best regards,
Wolfgang Denk
Signature · 8 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Ill-chosen abstraction is particularly evident in the design of the
ADA runtime system. The interface to the ADA runtime system is so
opaque that it is impossible to model or predict its performance,
making it effectively useless for real-time systems.
- Marc D. Donner and David H. Jameson.PATCH 5/6 scsi/ahci: add support for non-PCI controllers
Wolfgang,
Quoted 23 lines · Wolfgang Denk
Dear Rob Herring,
Quoted 20 lines · In message <[email protected]> you wrote:
From: Rob Herring <[email protected]>
Add support for AHCI controllers that are not PCI based.
Signed-off-by Rob Herring <[email protected]>Cc Wolfgang Denk <[email protected]>--- common/cmd_scsi.c | 6 +++- drivers/block/ahci.c | 70 +++++++++++++++++++++++++++++++++++++++++++------ include/ahci.h | 4 +++ include/scsi.h | 1 + 4 files changed, 70 insertions(+), 11 deletions(-)common/cmd_scsi.c +0
-0@@ -47,7 +47,8 @@#define SCSI_DEV_ID 0x5288
Quoted 7 lines
common/cmd_scsi.c line 52
Quoted 5 lines
common/cmd_scsi.c +2
-1#else -#error no scsi device defined +#define SCSI_VEND_ID 0 +#define SCSI_DEV_ID 0#endif I'm not sure if this is a good idea. Please explain.
This is the PCI ID and is only used here:
common/cmd_scsi.c:183:
busdevfunc=pci_find_device(SCSI_VEND_ID,SCSI_DEV_ID,0); /* get PCI Device ID */
For a non-PCI AHCI controller, there is no id. For PCI, I don't think 0 is a valid vendor ID anyway.
Quoted 8 lines
Also, checkpatch says:
ERROR: trailing whitespace
WARNING: please, no spaces at the start of a line
#287: FILE:include/ahci.h:193:
+ $
Quoted 14 lines
common/cmd_scsi.c static void ahci_print_info(struct ahci_probe_ent *probe_ent) · line 232
Quoted 12 lines
common/cmd_scsi.c +4
-1+#ifdef CONFIG_PCI pci_read_config_word (pdev,0x0a , &cc);if (cc ==0x0101 ) scc_s ="IDE" ;@@ -222,7 +227,9 @@ static void ahci_print_info(struct ahci_probe_ent *probe_ent) scc_s ="RAID" ; else scc_s ="unknown" ; - +#else + scc_s ="SATA" ; +#endif Is SATA really the only possible option here?
Well I suppose anything is possible, but for embbedded SOCs with AHCI I've seen, they are SATA only. It's purely informational.
Quoted 7 lines
Quoted 3 lines
common/cmd_scsi.c +2
-0+int ahci_init (u32 base) +{...
Quoted 1 line
+}
Should this always be compiled in?
I can add a config option CONFIG_SCSI_AHCI_PLAT. Perhaps this would be better than using CONFIG_PCI as I suppose you could have non-PCI AHCI controller on a platform with PCI.
Rob
PATCH v4 5/6 scsi/ahci: add support for non-PCI controllers
Dear Rob,
Quoted 8 lines · In message <[email protected]> you wrote:
Quoted 7 lines
common/cmd_scsi.c line 52
Quoted 5 lines
common/cmd_scsi.c +2
-1-#error no scsi device defined +#define SCSI_VEND_ID 0 +#define SCSI_DEV_ID 0#endif I'm not sure if this is a good idea. Please explain.
Quoted 8 lines
This is the PCI ID and is only used here:
common/cmd_scsi.c:183:
busdevfunc=pci_find_device(SCSI_VEND_ID,SCSI_DEV_ID,0); /* get PCI Device ID */For a non-PCI AHCI controller, there is no id. For PCI, I don't think 0 is a valid vendor ID anyway.
I think we should rather skip the respective parts of the code instead of inserting invalid vendor IDs.
Quoted 5 lines
Quoted 1 line
Should this always be compiled in?
I can add a config option
CONFIG_SCSI_AHCI_PLAT. Perhaps this would be better than usingCONFIG_PCIas I suppose you could have non-PCI AHCI controller on a platform with PCI.
Yes, please.
Best regards,
Wolfgang Denk
Signature · 6 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de ... bacteriological warfare ... hard to believe we were once foolish enough to play around with that. -- McCoy, "The Omega Glory", stardate unknown
PATCH v3 1/1 scsi/ahci: add support for non-PCI controllers
In reply to Rob HerringFrom: Rob Herring <[email protected]>
Add support for AHCI controllers that are not PCI based.
---
changes in v2:
- fix checkpatch.pl warnings/errors
- fix label indentation
- simplify "sizeof(hd_driveid_t *) * AHCI_MAX_PORTS" to "sizeof(ataid)"
- Add function prototypes for ahci_init and scsi_scan
changes in v3:
- Introduce CONFIG_SCSI_AHCI_PLAT and replace CONFIG_PCI with it in ahci.c
- Make no SCSI_DEV_ID and SCSI_VEND_ID only okay if CONFIG_SCSI_AHCI_PLAT is defined.
- fix checkpatch.pl warnings/errors (again...)
common/cmd_scsi.c | 5 ++- drivers/block/ahci.c | 70 ++++++++++++++++++++++++++++++++++++++++++++----- include/ahci.h | 4 +++ include/scsi.h | 1 + 4 files changed, 70 insertions(+), 10 deletions(-)
common/cmd_scsi.c +3 -2
@@ -46,7 +46,7 @@#define SCSI_VEND_ID 0x10b9#define SCSI_DEV_ID 0x5288 -#else +#elif !defined(CONFIG_SCSI_AHCI_PLAT )#error no scsi device defined#endif
@@ -174,7 +174,7 @@ removable: scsi_curr_dev =-1 ; } - +#ifdef CONFIG_PCI void scsi_init (void ) {int busdevfunc;
@@ -192,6 +192,7 @@ void scsi_init(void)scsi_low_level_init (busdevfunc); scsi_scan(1); } +#endif block_dev_desc_t *scsi_get_dev (int dev) {
drivers/block/ahci.c +62 -8
149 lines not on this page · raw message
include/ahci.h +4 -0
@@ -25,6 +25,8 @@#ifndef _AHCI_H_#define _AHCI_H_ +#include <pci.h> +#define AHCI_PCI_BAR 0x24#define AHCI_MAX_SG 56/* hardware max is 64K */ #define AHCI_CMD_SLOT_SZ 32
@@ -187,4 +189,6 @@ struct ahci_probe_ent { u32 link_port_map; /*linkup port map*/ }; +int ahci_init (u32 base); +#endif
include/scsi.h +1 -0
@@ -185,6 +185,7 @@ void scsi_low_level_init(int busdevfunc);* functions residing inside cmd_scsi.c */ void scsi_init (void ); +void scsi_scan (int mode);#define SCSI_IDENTIFY 0xC0/* not used */
Signature · 1 line
1.7.4.1
Wolfgang Denk
AppliedPATCH v3 1/1 scsi/ahci: add support for non-PCI controllers
Dear Rob Herring,
Quoted 20 lines · In message <[email protected]> you wrote:
From: Rob Herring <[email protected]>
Add support for AHCI controllers that are not PCI based.
Signed-off-by Rob Herring <[email protected]>Cc Wolfgang Denk <[email protected]>---
changes in v2:
- fix checkpatch.pl warnings/errors
- fix label indentation
- simplify "sizeof(hd_driveid_t *)*AHCI_MAX_PORTS" to "sizeof(ataid)"
- Add function prototypes forahci_initandscsi_scanchanges in v3:
- IntroduceCONFIG_SCSI_AHCI_PLATand replaceCONFIG_PCIwith it inahci.c
- Make noSCSI_DEV_IDandSCSI_VEND_IDonly okay ifCONFIG_SCSI_AHCI_PLATis defined.
- fix checkpatch.pl warnings/errors (again...)
Quoted 5 lines
common/cmd_scsi.c | 5 ++- drivers/block/ahci.c | 70 ++++++++++++++++++++++++++++++++++++++++++++----- include/ahci.h | 4 +++ include/scsi.h | 1 + 4 files changed, 70 insertions(+), 10 deletions(-)
Applied, thanks.
Best regards,
Wolfgang Denk
Signature · 5 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de "To take a significant step forward, you must make a series of finite improvements." - Donald J. Atwood, General Motors
PATCH v4 6/6 ARM: highbank: Add AHCI support
In reply to Rob HerringFrom: Rob Herring <[email protected]>
This enables the AHCI driver on highbank platforms.
--- board/highbank/highbank.c | 9 +++++++++ include/configs/highbank.h | 11 +++++++++++ 2 files changed, 20 insertions(+), 0 deletions(-)
board/highbank/highbank.c +9 -0
@@ -16,6 +16,8 @@*/ #include <common.h> +#include <ahci.h> +#include <scsi.h> #include <asm/sizes.h>
@@ -31,6 +33,13 @@ int board_init(void)return 0 ; } +int misc_init_r (void ) +{ +ahci_init (0xffe08000 ); +scsi_scan (1 ); +return 0 ; +} +int dram_init (void ) { gd->ram_size =SZ_512M ;
include/configs/highbank.h +11 -0
@@ -41,6 +41,15 @@#define CONFIG_BAUDRATE 38400#define CONFIG_SYS_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200 } +#define CONFIG_MISC_INIT_R +#define CONFIG_SCSI_AHCI +#define CONFIG_SYS_SCSI_MAX_SCSI_ID 5 +#define CONFIG_SYS_SCSI_MAX_LUN 1 +#define CONFIG_SYS_SCSI_MAX_DEVICE (CONFIG_SYS_SCSI_MAX_SCSI_ID * \ + CONFIG_SYS_SCSI_MAX_LUN) + +#define CONFIG_DOS_PARTITION +/* * Command line configuration. */
@@ -52,6 +61,8 @@#define CONFIG_CMD_ELF #define CONFIG_CMD_MEMORY #define CONFIG_CMD_LOADS +#define CONFIG_CMD_SCSI +#define CONFIG_CMD_EXT2 #define CONFIG_BOOTDELAY 2/*
Signature · 1 line
1.7.4.1
v4 cover Add Highbank platform
In reply to Rob HerringHi Rob,
Le 28/06/2011 17:39, Rob Herring a ?crit :
Quoted 10 lines
From: Rob Herring<[email protected]>
This series enables non-PCI AHCI controllers and adds support for Calxeda Highbank platform which uses the AHCI changes.
Changes from v3:
- Added Highbank toMAINTAINERS
- Added back patch to fixCONFIG_SKIP_LOWLEVEL_INIT(mistakenly dropped from v2)
Quoted 6 lines
Wolfgang, Albert,
Can you apply these to your trees for v2011.09? All review comments have been addressed.
Rob
Seems like there are no additional comments and most of the code is for ARM without any other custodian involved, so:
... and I'll pull it in u-boot-arm/master once the current ARM pull request is processed.
Amicalement,
Signature · 1 line
Albert.
v4 cover Add Highbank platform
Dear Albert ARIBAUD,
Quoted 2 lines · In message <[email protected]> you wrote:
Seems like there are no additional comments and most of the code is for
There are not much additional comments because Rob's patches should all be ignored, or do you have the time to find out which of this versions is what, and what he actually changed?
It seems he did not even run checkpatch.
Quoted 5 lines
Acked-by Albert ARIBAUD <[email protected]>... and I'll pull it in u-boot-arm/master once the current ARM pull
request is processed.
I'm not sure if this is a good idea.
Best regards,
Wolfgang Denk
Signature · 6 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de egrep patterns are full regular expressions; it uses a fast determi- nistic algorithm that sometimes needs exponential space. - unix manuals
v4 cover Add Highbank platform
Hi Wolfgang,
Le 04/07/2011 12:28, Wolfgang Denk a ?crit :
Quoted 12 lines
Dear Albert ARIBAUD,
Quoted 2 lines · In message<[email protected]> you wrote:
Seems like there are no additional comments and most of the code is for
There are not much additional comments because Rob's patches should all be ignored, or do you have the time to find out which of this versions is what, and what he actually changed?
It seems he did not even run checkpatch.
Quoted 7 lines
Quoted 5 lines
Acked-by Albert ARIBAUD<[email protected]>... and I'll pull it in u-boot-arm/master once the current ARM pull
request is processed.
I'm not sure if this is a good idea.
Understood.
Quoted 3 lines
Best regards,
Wolfgang Denk
Amicalement,
Signature · 1 line
Albert.
v4 cover Add Highbank platform
In reply to Rob HerringDear Rob Herring,
Quoted 10 lines · In message <[email protected]> you wrote:
From: Rob Herring <[email protected]>
This series enables non-PCI AHCI controllers and adds support for Calxeda Highbank platform which uses the AHCI changes.
Changes from v3:
- Added Highbank toMAINTAINERS
- Added back patch to fixCONFIG_SKIP_LOWLEVEL_INIT(mistakenly dropped from v2)
Quoted 4 lines
Wolfgang, Albert,
Can you apply these to your trees for v2011.09? All review comments have been addressed.
I have to admit that I dislike the way you are working.
If I'm not wrong, there have been several versions of your patches around, but you repost again and again without any indication that these are reposts, nor what exactly has been changed between versions. For example, I see three different posts here:
06/11 Rob Herring [U-Boot] [PATCH 8/8] ARM: Add Calxeda Highbank platform
http://article.gmane.org/gmane.comp.boot-loaders.u-boot/101435 06/21 Rob Herring [U-Boot] [PATCH 1/5] ARM: Add Calxeda Highbank platform http://article.gmane.org/gmane.comp.boot-loaders.u-boot/101867 06/28 Rob Herring [U-Boot] [PATCH 2/6] ARM: Add Calxeda Highbank platform http://article.gmane.org/gmane.comp.boot-loaders.u-boot/102124
None of these adheres to the requirements as documented here:
http://www.denx.de/wiki/view/U-Boot/Patches#Sending_updated_patch_versions
Please be aware that NOT documentaing what you changed means that all (potential) reviewers of your code have to spend additional time figuring out what you might have changed, and checking back in the history if you really implemented all earlier review comments. Speaking for me, I must state that being notoriously short of time I am not willing to waste additional time on such postings, so I tend to ignore them.
In short: please stick to the rules if you want your patches to go into mainline.
Best regards,
Wolfgang Denk
Signature · 6 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de ... bacteriological warfare ... hard to believe we were once foolish enough to play around with that. -- McCoy, "The Omega Glory", stardate unknown
v4 cover Add Highbank platform
Wolfgang,
Quoted 43 lines · Wolfgang Denk
Dear Rob Herring,
Quoted 10 lines · In message <[email protected]> you wrote:
From: Rob Herring <[email protected]>
This series enables non-PCI AHCI controllers and adds support for Calxeda Highbank platform which uses the AHCI changes.
Changes from v3:
- Added Highbank toMAINTAINERS
- Added back patch to fixCONFIG_SKIP_LOWLEVEL_INIT(mistakenly dropped from v2)Quoted 4 lines
Wolfgang, Albert,
Can you apply these to your trees for v2011.09? All review comments have been addressed.
I have to admit that I dislike the way you are working.
If I'm not wrong, there have been several versions of your patches around, but you repost again and again without any indication that these are reposts, nor what exactly has been changed between versions. For example, I see three different posts here:
06/11 Rob Herring [U-Boot] [PATCH 8/8] ARM: Add Calxeda Highbank platform
http://article.gmane.org/gmane.comp.boot-loaders.u-boot/101435 06/21 Rob Herring [U-Boot] [PATCH 1/5] ARM: Add Calxeda Highbank platform http://article.gmane.org/gmane.comp.boot-loaders.u-boot/101867 06/28 Rob Herring [U-Boot] [PATCH 2/6] ARM: Add Calxeda Highbank platform http://article.gmane.org/gmane.comp.boot-loaders.u-boot/102124None of these adheres to the requirements as documented here:
http://www.denx.de/wiki/view/U-Boot/Patches#Sending_updated_patch_versionsPlease be aware that NOT documentaing what you changed means that all (potential) reviewers of your code have to spend additional time figuring out what you might have changed, and checking back in the history if you really implemented all earlier review comments. Speaking for me, I must state that being notoriously short of time I am not willing to waste additional time on such postings, so I tend to ignore them.
Quoted 3 lines
In short: please stick to the rules if you want your patches to go into mainline.
Sorry about this. I will follow this more closely going forward. Much of the significant change was to the series itself and less so the content itself. I added Highbank support based on you wanting to see a platform use the AHCI changes. Then I dropped the SDHCI changes as another "common" implementation appeared on the list and it will take some time to sort out.
The history for "ARM: Add Calxeda Highbank platform" is:
v2:
- Move SATA and MMC board init to separate patches
- Fix DRAM size setup
v3:
- Add maintainer
I can repost it if you like with the history, but I'd like to get any review comments from you first.
Up until my last post, the following patches have had no comments and no changes. They were only reposted as part of the whole series:
ARM: add missing CONFIG_SKIP_LOWLEVEL_INIT for armv7
arm: add __ilog2 function
scsi/ahci: ata id little endian fix
I have posted v2 of "arm: add __ilog2 function" and v3 of "scsi/ahci:
add support for non-PCI controllers" as a replies to the prior versions.
http://article.gmane.org/gmane.comp.boot-loaders.u-boot/102679
http://article.gmane.org/gmane.comp.boot-loaders.u-boot/102775
Regards,
Rob
PATCH v4 1/1 ARM: Add Calxeda Highbank platform
In reply to Rob HerringFrom: Rob Herring <[email protected]>
Add basic support for Calxeda Highbank platform. Only minimal support with serial and SATA are included.
---
changes in v4:
- Rebase to current mainline (d50a8f45c9a640b3bcbd0ede91f83c8646cca018)
- Add back SATA support to inital patch as dependencies are all in mainline
changes in v3:
- Add hignbank to MAINTAINERS
changes in v2:
- Set DRAM size to correct value
- split SATA and SD enabling to separate patches
MAINTAINERS | 4 + arch/arm/cpu/armv7/highbank/Makefile | 46 ++++++++++++ arch/arm/cpu/armv7/highbank/config.mk | 4 + arch/arm/cpu/armv7/highbank/timer.c | 124 +++++++++++++++++++++++++++++++++ board/highbank/Makefile | 49 +++++++++++++ board/highbank/highbank.c | 58 +++++++++++++++ boards.cfg | 1 + include/configs/highbank.h | 113 ++++++++++++++++++++++++++++++ 8 files changed, 399 insertions(+), 0 deletions(-) create mode 100644 arch/arm/cpu/armv7/highbank/Makefile create mode 100644 arch/arm/cpu/armv7/highbank/config.mk create mode 100644 arch/arm/cpu/armv7/highbank/timer.c create mode 100644 board/highbank/Makefile create mode 100644 board/highbank/highbank.c create mode 100644 include/configs/highbank.h
MAINTAINERS +4 -0
@@ -219,6 +219,10 @@ Wolfgang Grandegger <[email protected]> IPHASE4539 MPC8260 SCM MPC8260 +Rob Herring <[email protected]> + + highbank highbank + Klaus Heydeck <[email protected]> KUP4K MPC855
arch/arm/cpu/armv7/highbank/Makefile new file +46 -0
46 lines not on this page · raw message
arch/arm/cpu/armv7/highbank/config.mk new file +4 -0
@@ -0,0 +1,4 @@ +STANDALONE_LOAD_ADDR = 0x100000 + +PLATFORM_CPPFLAGS += -march=armv7-a +
arch/arm/cpu/armv7/highbank/timer.c new file +124 -0
124 lines not on this page · raw message
board/highbank/Makefile new file +49 -0
49 lines not on this page · raw message
board/highbank/highbank.c new file +58 -0
58 lines not on this page · raw message
boards.cfg +1 -0
@@ -140,6 +140,7 @@ omap5912osk arm arm926ejs - ti edminiv2 arm arm926ejs - LaCie orion5x dkb arm arm926ejs - Marvell pantheon ca9x4_ct_vxp arm armv7 vexpress armltd +highbank arm armv7 highbank - highbank efikamx arm armv7 efikamx - mx5 efikamx:IMX_CONFIG=board/efikamx/imximage.cfg mx51evk arm armv7 mx51evk freescale mx5 mx51evk:IMX_CONFIG=board/freescale/mx51evk/imximage.cfg mx53ard arm armv7 mx53ard freescale mx5 mx53ard:IMX_CONFIG=board/freescale/mx53ard/imximage_dd3.cfg
include/configs/highbank.h new file +113 -0
113 lines not on this page · raw message
Signature · 1 line
1.7.4.1
PATCH v4 1/1 ARM: Add Calxeda Highbank platform
Hi Rob,
Le 04/08/2011 22:22, Rob Herring a ?crit :
Quoted 14 lines
From: Rob Herring<[email protected]>
Add basic support for Calxeda Highbank platform. Only minimal support with serial and SATA are included.
Signed-off-by Jason Hobbs<[email protected]>Signed-off-by Rob Herring<[email protected]>Cc Albert ARIBAUD<[email protected]>---
changes in v4:
- Rebase to current mainline (d50a8f45c9a640b3bcbd0ede91f83c8646cca018)
- Add back SATA support to inital patch as dependencies are all in mainline
Quoted 6 lines
changes in v3:
- Add hignbank toMAINTAINERSchanges in v2:
- Set DRAM size to correct value
- split SATA and SD enabling to separate patches
Sorry, this does not seem to apply cleanly on top of current u-boot-arm/master. Can you rebase and submit a V5 patch (with history updated, stating that V5 is a rebase only)?
Thanks in advance and apologies for the delay.
Amicalement,
Signature · 1 line
Albert.
PATCH v5 1/1 ARM: Add Calxeda Highbank platform
In reply to Rob HerringFrom: Rob Herring <[email protected]>
Add basic support for Calxeda Highbank platform. Only minimal support with serial and SATA are included.
---
changes in v5:
- Rebase to current u-boot-arm/master (5557e86bb0793012057d5462976c2a902bc629ac)
changes in v4:
- Rebase to current mainline (d50a8f45c9a640b3bcbd0ede91f83c8646cca018)
- Add back SATA support to inital patch as dependencies are all in mainline
changes in v3:
- Add hignbank to MAINTAINERS
changes in v2:
- Set DRAM size to correct value
- split SATA and SD enabling to separate patches
MAINTAINERS | 4 + arch/arm/cpu/armv7/highbank/Makefile | 46 ++++++++++++ arch/arm/cpu/armv7/highbank/config.mk | 4 + arch/arm/cpu/armv7/highbank/timer.c | 124 +++++++++++++++++++++++++++++++++ board/highbank/Makefile | 49 +++++++++++++ board/highbank/highbank.c | 58 +++++++++++++++ boards.cfg | 1 + include/configs/highbank.h | 113 ++++++++++++++++++++++++++++++ 8 files changed, 399 insertions(+), 0 deletions(-) create mode 100644 arch/arm/cpu/armv7/highbank/Makefile create mode 100644 arch/arm/cpu/armv7/highbank/config.mk create mode 100644 arch/arm/cpu/armv7/highbank/timer.c create mode 100644 board/highbank/Makefile create mode 100644 board/highbank/highbank.c create mode 100644 include/configs/highbank.h
MAINTAINERS +4 -0
@@ -219,6 +219,10 @@ Wolfgang Grandegger <[email protected]> IPHASE4539 MPC8260 SCM MPC8260 +Rob Herring <[email protected]> + + highbank highbank + Klaus Heydeck <[email protected]> KUP4K MPC855
arch/arm/cpu/armv7/highbank/Makefile new file +46 -0
46 lines not on this page · raw message
arch/arm/cpu/armv7/highbank/config.mk new file +4 -0
@@ -0,0 +1,4 @@ +STANDALONE_LOAD_ADDR = 0x100000 + +PLATFORM_CPPFLAGS += -march=armv7-a +
arch/arm/cpu/armv7/highbank/timer.c new file +124 -0
124 lines not on this page · raw message
board/highbank/Makefile new file +49 -0
49 lines not on this page · raw message
board/highbank/highbank.c new file +58 -0
58 lines not on this page · raw message
boards.cfg +1 -0
@@ -173,6 +173,7 @@ dkb arm arm926ejs - Marvell pantheon integratorap_cm946es arm arm946es integrator armltd - integratorap integratorcp_cm946es arm arm946es integrator armltd - integratorcp ca9x4_ct_vxp arm armv7 vexpress armltd +highbank arm armv7 highbank - highbank efikamx arm armv7 efikamx - mx5 efikamx:IMX_CONFIG=board/efikamx/imximage.cfg mx51evk arm armv7 mx51evk freescale mx5 mx51evk:IMX_CONFIG=board/freescale/mx51evk/imximage.cfg mx53ard arm armv7 mx53ard freescale mx5 mx53ard:IMX_CONFIG=board/freescale/mx53ard/imximage_dd3.cfg
include/configs/highbank.h new file +113 -0
113 lines not on this page · raw message
Signature · 1 line
1.7.4.1
PATCH v5 1/1 ARM: Add Calxeda Highbank platform
Hi Rob,
Le 21/08/2011 15:16, Rob Herring a ?crit :
Quoted 9 lines
From: Rob Herring<[email protected]>
Add basic support for Calxeda Highbank platform. Only minimal support with serial and SATA are included.
Signed-off-by Jason Hobbs<[email protected]>Signed-off-by Rob Herring<[email protected]>Cc Albert ARIBAUD<[email protected]>---
This applies to u-boot-arm/master, with three empty lines at end of new files removed, but the compilation with ELDK 4.2 fails with:
uboot at lilith:~/src/u-boot-arm$ ./MAKEALL highbank Configuring for highbank board...include/common.h:0: error: bad value (armv7-a) for -march= switch include/common.h:0: error: bad value (armv7-a) for -march= switch lib/asm-offsets.c:1: error: bad value (armv7-a) for -march= switch
make: *** [lib/asm-offsets.s] Erreur 1
arm-linux-size: './u-boot': No such file
--------------------- SUMMARY ---------------------------- Boards compiled: 1
Boards with warnings or errors: 1 ( highbank )
----------------------------------------------------------
Seems like ELDK 4.2 does not know armv7-a. Is it a requirement that this board build with this march flag?
Amicalement,
Signature · 1 line
Albert.
PATCH v5 1/1 ARM: Add Calxeda Highbank platform
Quoted 25 lines · Albert ARIBAUD
Hi Rob,
Le 21/08/2011 15:16, Rob Herring a ?crit :
Quoted 10 lines
From: Rob Herring<[email protected]>
Add basic support for Calxeda Highbank platform. Only minimal support with
serial and SATA are included.Signed-off-by Jason Hobbs<[email protected]>Signed-off-by Rob Herring<[email protected]>Cc Albert ARIBAUD<[email protected]>---
This applies to u-boot-arm/master, with three empty lines at end of new files removed, but the compilation with ELDK 4.2 fails with:
uboot at lilith:~/src/u-boot-arm$ ./MAKEALL highbank Configuring for highbank board...
include/common.h:0: error: bad value (armv7-a) for -march= switchinclude/common.h:0: error: bad value (armv7-a) for -march= switchlib/asm-offsets.c:1: error: bad value (armv7-a) for -march= switch
make: *** [lib/asm-offsets.s] Erreur 1
arm-linux-size: './u-boot': No such file
Quoted 8 lines
--------------------- SUMMARY ---------------------------- Boards compiled: 1
Boards with warnings or errors: 1 ( highbank )
----------------------------------------------------------Seems like ELDK 4.2 does not know armv7-a. Is it a requirement that this board build with this march flag?
With device tree, there are lots of endian conversions. With v7, those conversions are a single inline "rev" instruction vs. 10-20 assembly instructions. Since there is no state maintained in the fdt code, the conversions are done over and over.
So there's not a hard requirement, but it is something I will always set and I imagine others with v7 platforms will want to also. I think Tegra prevents doing this change globally.
Rob
PATCH v5 1/1 ARM: Add Calxeda Highbank platform
Albert,
Quoted 35 lines · Rob Herring
Quoted 25 lines · Albert ARIBAUD
Hi Rob,
Le 21/08/2011 15:16, Rob Herring a ?crit :
Quoted 10 lines
From: Rob Herring<[email protected]>
Add basic support for Calxeda Highbank platform. Only minimal support with
serial and SATA are included.Signed-off-by Jason Hobbs<[email protected]>Signed-off-by Rob Herring<[email protected]>Cc Albert ARIBAUD<[email protected]>---
This applies to u-boot-arm/master, with three empty lines at end of new files removed, but the compilation with ELDK 4.2 fails with:
uboot at lilith:~/src/u-boot-arm$ ./MAKEALL highbank Configuring for highbank board...
include/common.h:0: error: bad value (armv7-a) for -march= switchinclude/common.h:0: error: bad value (armv7-a) for -march= switchlib/asm-offsets.c:1: error: bad value (armv7-a) for -march= switch
make: *** [lib/asm-offsets.s] Erreur 1
arm-linux-size: './u-boot': No such fileQuoted 8 lines
--------------------- SUMMARY ---------------------------- Boards compiled: 1
Boards with warnings or errors: 1 ( highbank )
----------------------------------------------------------Seems like ELDK 4.2 does not know armv7-a. Is it a requirement that this board build with this march flag?
Quoted 9 lines
With device tree, there are lots of endian conversions. With v7, those conversions are a single inline "rev" instruction vs. 10-20 assembly instructions. Since there is no state maintained in the fdt code, the conversions are done over and over.
So there's not a hard requirement, but it is something I will always set and I imagine others with v7 platforms will want to also. I think Tegra prevents doing this change globally.
What do you want to do here?
arch/arm/cpu/armv7/highbank/config.mk can simply be deleted if you don't want to compile with armv7-a.
Rob
PATCH v5 1/1 ARM: Add Calxeda Highbank platform
Le 23/08/2011 16:32, Rob Herring a ?crit :
Quoted 48 lines
Albert,
Quoted 35 lines · Rob Herring
Quoted 25 lines · Albert ARIBAUD
Hi Rob,
Le 21/08/2011 15:16, Rob Herring a ?crit :
Quoted 10 lines
From: Rob Herring<[email protected]>
Add basic support for Calxeda Highbank platform. Only minimal support with
serial and SATA are included.Signed-off-by Jason Hobbs<[email protected]>Signed-off-by Rob Herring<[email protected]>Cc Albert ARIBAUD<[email protected]>---
This applies to u-boot-arm/master, with three empty lines at end of new files removed, but the compilation with ELDK 4.2 fails with:
uboot at lilith:~/src/u-boot-arm$ ./MAKEALL highbank Configuring for highbank board...
include/common.h:0: error: bad value (armv7-a) for -march= switchinclude/common.h:0: error: bad value (armv7-a) for -march= switchlib/asm-offsets.c:1: error: bad value (armv7-a) for -march= switch
make: *** [lib/asm-offsets.s] Erreur 1
arm-linux-size: './u-boot': No such fileQuoted 8 lines
--------------------- SUMMARY ---------------------------- Boards compiled: 1
Boards with warnings or errors: 1 ( highbank )
----------------------------------------------------------Seems like ELDK 4.2 does not know armv7-a. Is it a requirement that this board build with this march flag?
Quoted 9 lines
With device tree, there are lots of endian conversions. With v7, those conversions are a single inline "rev" instruction vs. 10-20 assembly instructions. Since there is no state maintained in the fdt code, the conversions are done over and over.
So there's not a hard requirement, but it is something I will always set and I imagine others with v7 platforms will want to also. I think Tegra prevents doing this change globally.
Quoted 4 lines
What do you want to do here?
arch/arm/cpu/armv7/highbank/config.mkcan simply be deleted if you don't want to compile with armv7-a.
Well, it is more a question of which toolchain(s) we want supported in U-Boot. Denx ELDK is one of them I guess :) but now that ELDK 5.0 is out, I don't know if ELDK 4.2 support is still required.
(I am assuming that ELDK5.0 has armv7-a support here. Please correct me if not)
If ELDK4.2 must be supported, then I would suggest creating a configuration option to allow the use of armv7-a ISA, then the arch/arm/cpu/armv7/highbank/config.mk file would select armv7-a ISA based on this option, and then any ARMv7 compatible board that needs or wants to use this ISA can set this config option in its config header file.
If ELDK4.2 support is dropped (at least partially) then no change would be needed.
Wolfgang:, I think that toolchain support for ARM is more your choice than mine.
Quoted 1 line
Rob
Amicalement,
Signature · 1 line
Albert.
PATCH v5 1/1 ARM: Add Calxeda Highbank platform
Le 24/08/2011 10:37, Albert ARIBAUD a ?crit :
Quoted 61 lines
Le 23/08/2011 16:32, Rob Herring a ?crit :
Quoted 48 lines
Albert,
Quoted 35 lines · Rob Herring
Quoted 25 lines · Albert ARIBAUD
Hi Rob,
Le 21/08/2011 15:16, Rob Herring a ?crit :
Quoted 10 lines
From: Rob Herring<[email protected]>
Add basic support for Calxeda Highbank platform. Only minimal support with
serial and SATA are included.Signed-off-by Jason Hobbs<[email protected]>Signed-off-by Rob Herring<[email protected]>Cc Albert ARIBAUD<[email protected]>---
This applies to u-boot-arm/master, with three empty lines at end of new files removed, but the compilation with ELDK 4.2 fails with:
uboot at lilith:~/src/u-boot-arm$ ./MAKEALL highbank Configuring for highbank board...
include/common.h:0: error: bad value (armv7-a) for -march= switchinclude/common.h:0: error: bad value (armv7-a) for -march= switchlib/asm-offsets.c:1: error: bad value (armv7-a) for -march= switch
make: *** [lib/asm-offsets.s] Erreur 1
arm-linux-size: './u-boot': No such fileQuoted 8 lines
--------------------- SUMMARY ---------------------------- Boards compiled: 1
Boards with warnings or errors: 1 ( highbank )
----------------------------------------------------------Seems like ELDK 4.2 does not know armv7-a. Is it a requirement that this board build with this march flag?
Quoted 9 lines
With device tree, there are lots of endian conversions. With v7, those conversions are a single inline "rev" instruction vs. 10-20 assembly instructions. Since there is no state maintained in the fdt code, the conversions are done over and over.
So there's not a hard requirement, but it is something I will always set and I imagine others with v7 platforms will want to also. I think Tegra prevents doing this change globally.
Quoted 4 lines
What do you want to do here?
arch/arm/cpu/armv7/highbank/config.mkcan simply be deleted if you don't want to compile with armv7-a.Well, it is more a question of which toolchain(s) we want supported in U-Boot. Denx ELDK is one of them I guess :) but now that ELDK 5.0 is out, I don't know if ELDK 4.2 support is still required.
(I am assuming that ELDK5.0 has armv7-a support here. Please correct me if not)
Quoted 8 lines
If ELDK4.2 must be supported, then I would suggest creating a configuration option to allow the use of armv7-a ISA, then the
arch/arm/cpu/armv7/highbank/config.mkfile would select armv7-a ISA based on this option, and then any ARMv7 compatible board that needs or wants to use this ISA can set this config option in its config header file.If ELDK4.2 support is dropped (at least partially) then no change would be needed.
... adding Wolfgang, this time...
Quoted 6 lines
Wolfgang:, I think that toolchain support for ARM is more your choice than mine.
Quoted 1 line
Rob
Amicalement,
Amicalement,
Signature · 1 line
Albert.
PATCH v5 1/1 ARM: Add Calxeda Highbank platform
In reply to Albert ARIBAUDDear Albert ARIBAUD,
Quoted 4 lines · In message <[email protected]> you wrote:
Well, it is more a question of which toolchain(s) we want supported in U-Boot. Denx ELDK is one of them I guess :) but now that ELDK 5.0 is out, I don't know if ELDK 4.2 support is still required.
It seems reasonable to support any gcc 4.x configuration.
Quoted 3 lines
If ELDK4.2 must be supported, then I would suggest creating a configuration option to allow the use of armv7-a ISA, then the
arch/arm/cpu/armv7/highbank/config.mkfile would select armv7-a ISA
I don't tink I want to accept a board specific config.mk for such apurpose. We want to get rid of thse config.mk files. Either ARMv7 based boards all need this option, or they all don;t need it. Thisis NOT a board specific feature.
Quoted 5 lines
If ELDK4.2 support is dropped (at least partially) then no change would be needed.
Wolfgang:, I think that toolchain support for ARM is more your choice than mine.
See above - I see no reason why we should abandon ELDK 4.2 when adding a new board - when all other boards with similar CPUs work just fine.
Best regards,
Wolfgang Denk
Signature · 5 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de They say a little knowledge is a dangerous thing, but it is not one half so bad as a lot of ignorance. - Terry Pratchett, _Equal Rites_
PATCH 1/1 ARM: Add Calxeda Highbank platform
In reply to Rob HerringFrom: Rob Herring <[email protected]>
Add basic support for Calxeda Highbank platform. Only minimal support with serial and SATA are included.
---
changes in v6:
- Remove arch/arm/cpu/armv7/highbank/config.mk
- Fix some whitespace errors (blank lines at EOF)
changes in v5:
- Rebase to current u-boot-arm/master (5557e86bb0793012057d5462976c2a902bc629ac)
changes in v4:
- Rebase to current mainline (d50a8f45c9a640b3bcbd0ede91f83c8646cca018)
- Add back SATA support to inital patch as dependencies are all in mainline
changes in v3:
- Add hignbank to MAINTAINERS
changes in v2:
- Set DRAM size to correct value
- split SATA and SD enabling to separate patches
MAINTAINERS | 4 + arch/arm/cpu/armv7/highbank/Makefile | 46 +++++++++++++ arch/arm/cpu/armv7/highbank/timer.c | 123 ++++++++++++++++++++++++++++++++++ board/highbank/Makefile | 49 +++++++++++++ board/highbank/highbank.c | 57 ++++++++++++++++ boards.cfg | 1 + include/configs/highbank.h | 113 +++++++++++++++++++++++++++++++ 7 files changed, 393 insertions(+), 0 deletions(-) create mode 100644 arch/arm/cpu/armv7/highbank/Makefile create mode 100644 arch/arm/cpu/armv7/highbank/timer.c create mode 100644 board/highbank/Makefile create mode 100644 board/highbank/highbank.c create mode 100644 include/configs/highbank.h
MAINTAINERS +4 -0
@@ -219,6 +219,10 @@ Wolfgang Grandegger <[email protected]> IPHASE4539 MPC8260 SCM MPC8260 +Rob Herring <[email protected]> + + highbank highbank + Klaus Heydeck <[email protected]> KUP4K MPC855
arch/arm/cpu/armv7/highbank/Makefile new file +46 -0
46 lines not on this page · raw message
arch/arm/cpu/armv7/highbank/timer.c new file +123 -0
123 lines not on this page · raw message
board/highbank/Makefile new file +49 -0
49 lines not on this page · raw message
board/highbank/highbank.c new file +57 -0
57 lines not on this page · raw message
boards.cfg +1 -0
@@ -173,6 +173,7 @@ dkb arm arm926ejs - Marvell pantheon integratorap_cm946es arm arm946es integrator armltd - integratorap integratorcp_cm946es arm arm946es integrator armltd - integratorcp ca9x4_ct_vxp arm armv7 vexpress armltd +highbank arm armv7 highbank - highbank efikamx arm armv7 efikamx - mx5 efikamx:IMX_CONFIG=board/efikamx/imximage.cfg mx51evk arm armv7 mx51evk freescale mx5 mx51evk:IMX_CONFIG=board/freescale/mx51evk/imximage.cfg mx53ard arm armv7 mx53ard freescale mx5 mx53ard:IMX_CONFIG=board/freescale/mx53ard/imximage_dd3.cfg
include/configs/highbank.h new file +113 -0
113 lines not on this page · raw message
Signature · 1 line
1.7.4.1
PATCH 1/1 ARM: Add Calxeda Highbank platform
Dear Rob Herring,
Quoted 20 lines · In message <[email protected]> you wrote:
From: Rob Herring <[email protected]>
Add basic support for Calxeda Highbank platform. Only minimal support with serial and SATA are included.
Signed-off-by Jason Hobbs <[email protected]>Signed-off-by Rob Herring <[email protected]>Cc Albert ARIBAUD <[email protected]>---
changes in v6:
- Removearch/arm/cpu/armv7/highbank/config.mk
- Fix some whitespace errors (blank lines at EOF)changes in v5:
- Rebase to current u-boot-arm/master (5557e86bb0793012057d5462976c2a902bc629ac)changes in v4:
- Rebase to current mainline (d50a8f45c9a640b3bcbd0ede91f83c8646cca018)
- Add back SATA support to inital patch as dependencies are all in mainline
Quoted 6 lines
changes in v3:
- Add hignbank toMAINTAINERSchanges in v2:
- Set DRAM size to correct value
- split SATA and SD enabling to separate patches
Which patch version is this, then? The Subject does not mention anything...
Best regards,
Wolfgang Denk
Signature · 6 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
News is what a chap who doesn't care much about anything wants to
read. And it's only news until he's read it. After that it's dead.
- Evelyn Waugh _Scoop_ (1938) bk. 1, ch. 5PATCH 1/1 ARM: Add Calxeda Highbank platform
Quoted 26 lines · Wolfgang Denk
Dear Rob Herring,
Quoted 23 lines · In message <[email protected]> you wrote:
From: Rob Herring <[email protected]>
Add basic support for Calxeda Highbank platform. Only minimal support with serial and SATA are included.
Signed-off-by Jason Hobbs <[email protected]>Signed-off-by Rob Herring <[email protected]>Cc Albert ARIBAUD <[email protected]>---
changes in v6:
- Removearch/arm/cpu/armv7/highbank/config.mk
- Fix some whitespace errors (blank lines at EOF)changes in v5:
- Rebase to current u-boot-arm/master (5557e86bb0793012057d5462976c2a902bc629ac)changes in v4:
- Rebase to current mainline (d50a8f45c9a640b3bcbd0ede91f83c8646cca018)
- Add back SATA support to inital patch as dependencies are all in mainlinechanges in v3:
- Add hignbank toMAINTAINERS
Quoted 7 lines
Quoted 3 lines
changes in v2:
- Set DRAM size to correct value
- split SATA and SD enabling to separate patchesWhich patch version is this, then? The Subject does not mention anything...
Sorry, it's v6 as the change log says. I forgot to fix the subject.
Rob
PATCH 1/1 ARM: Add Calxeda Highbank platform
In reply to Rob HerringAlbert,
Quoted 20 lines · Rob Herring
From: Rob Herring <[email protected]>
Add basic support for Calxeda Highbank platform. Only minimal support with serial and SATA are included.
Signed-off-by Jason Hobbs <[email protected]>Signed-off-by Rob Herring <[email protected]>Cc Albert ARIBAUD <[email protected]>---
changes in v6:
- Removearch/arm/cpu/armv7/highbank/config.mk
- Fix some whitespace errors (blank lines at EOF)changes in v5:
- Rebase to current u-boot-arm/master (5557e86bb0793012057d5462976c2a902bc629ac)changes in v4:
- Rebase to current mainline (d50a8f45c9a640b3bcbd0ede91f83c8646cca018)
- Add back SATA support to inital patch as dependencies are all in mainline
Quoted 7 lines
changes in v3:
- Add hignbank toMAINTAINERSchanges in v2:
- Set DRAM size to correct value
- split SATA and SD enabling to separate patches
Can you please merge this.
Regards,
Rob
PATCH 1/1 ARM: Add Calxeda Highbank platform
Hi Rob,
Le 04/10/2011 17:30, Rob Herring a ?crit :
Quoted 26 lines
Albert,
Quoted 23 lines · Rob Herring
From: Rob Herring<[email protected]>
Add basic support for Calxeda Highbank platform. Only minimal support with serial and SATA are included.
Signed-off-by Jason Hobbs<[email protected]>Signed-off-by Rob Herring<[email protected]>Cc Albert ARIBAUD<[email protected]>---
changes in v6:
- Removearch/arm/cpu/armv7/highbank/config.mk
- Fix some whitespace errors (blank lines at EOF)changes in v5:
- Rebase to current u-boot-arm/master (5557e86bb0793012057d5462976c2a902bc629ac)changes in v4:
- Rebase to current mainline (d50a8f45c9a640b3bcbd0ede91f83c8646cca018)
- Add back SATA support to inital patch as dependencies are all in mainlinechanges in v3:
- Add hignbank toMAINTAINERS
Quoted 6 lines
Quoted 4 lines
changes in v2:
- Set DRAM size to correct value
- split SATA and SD enabling to separate patchesCan you please merge this.
This does not apply on current u-boot-arm/master. Please rebase and submit -- and make sure you put "V7" in the subject tag. :)
Quoted 2 lines
Regards,
Rob
Amicalement,
Signature · 1 line
Albert.
PATCH v7 1/1 ARM: Add Calxeda Highbank platform
From: Rob Herring <[email protected]>
Add basic support for Calxeda Highbank platform. Only minimal support with serial and SATA are included.
---
changes in v7:
- Rebase to current master (4962e38 mkimage: adding support for Davinci AIS image)
changes in v6:
- Remove arch/arm/cpu/armv7/highbank/config.mk
- Fix some whitespace errors (blank lines at EOF)
changes in v5:
- Rebase to current u-boot-arm/master (5557e86bb0793012057d5462976c2a902bc629ac)
changes in v4:
- Rebase to current mainline (d50a8f45c9a640b3bcbd0ede91f83c8646cca018)
- Add back SATA support to inital patch as dependencies are all in mainline
changes in v3:
- Add hignbank to MAINTAINERS
changes in v2:
- Set DRAM size to correct value
- split SATA and SD enabling to separate patches
MAINTAINERS | 4 + arch/arm/cpu/armv7/highbank/Makefile | 46 +++++++++++++ arch/arm/cpu/armv7/highbank/timer.c | 123 ++++++++++++++++++++++++++++++++++ board/highbank/Makefile | 49 +++++++++++++ board/highbank/highbank.c | 57 ++++++++++++++++ boards.cfg | 1 + include/configs/highbank.h | 113 +++++++++++++++++++++++++++++++ 7 files changed, 393 insertions(+), 0 deletions(-) create mode 100644 arch/arm/cpu/armv7/highbank/Makefile create mode 100644 arch/arm/cpu/armv7/highbank/timer.c create mode 100644 board/highbank/Makefile create mode 100644 board/highbank/highbank.c create mode 100644 include/configs/highbank.h
MAINTAINERS +4 -0
@@ -215,6 +215,10 @@ Wolfgang Grandegger <[email protected]> IPHASE4539 MPC8260 SCM MPC8260 +Rob Herring <[email protected]> + + highbank highbank + Klaus Heydeck <[email protected]> KUP4K MPC855
arch/arm/cpu/armv7/highbank/Makefile new file +46 -0
46 lines not on this page · raw message
arch/arm/cpu/armv7/highbank/timer.c new file +123 -0
123 lines not on this page · raw message
board/highbank/Makefile new file +49 -0
49 lines not on this page · raw message
board/highbank/highbank.c new file +57 -0
57 lines not on this page · raw message
boards.cfg +1 -0
@@ -161,6 +161,7 @@ dkb arm arm926ejs - Marvell pantheon integratorap_cm946es arm arm946es integrator armltd - integratorap integratorcp_cm946es arm arm946es integrator armltd - integratorcp ca9x4_ct_vxp arm armv7 vexpress armltd +highbank arm armv7 highbank - highbank efikamx arm armv7 efikamx - mx5 efikamx:MACH_TYPE=MACH_TYPE_MX51_EFIKAMX,IMX_CONFIG=board/efikamx/imximage_mx.cfg efikasb arm armv7 efikamx - mx5 efikamx:MACH_TYPE=MACH_TYPE_MX51_EFIKASB,IMX_CONFIG=board/efikamx/imximage_sb.cfg mx51evk arm armv7 mx51evk freescale mx5 mx51evk:IMX_CONFIG=board/freescale/mx51evk/imximage.cfg
include/configs/highbank.h new file +113 -0
113 lines not on this page · raw message
Signature · 1 line
1.7.5.4
PATCH v7 1/1 ARM: Add Calxeda Highbank platform
Hi Rob,
Le 24/10/2011 20:50, Rob Herring a ?crit :
Quoted 5 lines
From: Rob Herring<[email protected]>
Add basic support for Calxeda Highbank platform. Only minimal support with serial and SATA are included.
Quoted 7 lines
Signed-off-by Jason Hobbs<[email protected]>Signed-off-by Rob Herring<[email protected]>Cc Albert ARIBAUD<[email protected]>---
changes in v7:
- Rebase to current master (4962e38 mkimage: adding support for Davinci AIS image)
Applied to u-boot-arm/master (with manual adjustment to boards.cfg), thanks.
Amicalement,
Signature · 1 line
Albert.