
Le 12/07/2010 08:46, Prafulla Wadaskar a écrit :
-----Original Message----- From: u-boot-bounces@lists.denx.de [mailto:u-boot-bounces@lists.denx.de] On Behalf Of Albert Aribaud Sent: Friday, July 09, 2010 12:11 AM To: u-boot@lists.denx.de Subject: [U-Boot] [PATCH V3 3/4] orion5x: add support for cmd_ide.c
This patch allows cmd_ide.c to use the Marvell SATAHC controller integrated in the Orion5x SoC, thus enabling access to SATA disks for Orion5x-based boards such as the ED Mini V2.
Signed-off-by: Albert Aribaudalbert.aribaud@free.fr
arch/arm/include/asm/arch-orion5x/orion5x.h | 11 +++++++++++ common/cmd_ide.c | 4 ++++ 2 files changed, 15 insertions(+), 0 deletions(-)
diff --git a/arch/arm/include/asm/arch-orion5x/orion5x.h b/arch/arm/include/asm/arch-orion5x/orion5x.h index 4008c84..585083a 100644 --- a/arch/arm/include/asm/arch-orion5x/orion5x.h +++ b/arch/arm/include/asm/arch-orion5x/orion5x.h @@ -55,6 +55,17 @@ #define ORION5X_USB20_PORT0_BASE (ORION5X_REGISTER(0x50000)) #define ORION5X_USB20_PORT1_BASE (ORION5X_REGISTER(0xA0000)) #define ORION5X_EGIGA_BASE (ORION5X_REGISTER(0x72000)) +#define ORION5X_SATA_BASE (ORION5X_REGISTER(0x80000)) +#define ORION5X_SATA_PORT0_OFFSET 0x2000 +#define ORION5X_SATA_PORT1_OFFSET 0x4000
+/* SATA Interface Register port 0 and 1 */ +#define orion5x_port0_sata_registers \
- ((struct mv_sata_interface_registers *) \
- (ORION5X_SATA_BASE+ORION5X_SATA_PORT0_OFFSET+0x300))
+#define orion5x_port1_sata_registers \
- ((struct mv_sata_interface_registers *) \
- (ORION5X_SATA_BASE+ORION5X_SATA_PORT1_OFFSET+0x300))
Pls remove this and use _BASE macro in c code
Not sure I understand this comment. Can you elaborate?
#define CONFIG_MAX_RAM_BANK_SIZE (64*1024*1024)
diff --git a/common/cmd_ide.c b/common/cmd_ide.c index 9292a5b..7f98ebb 100644 --- a/common/cmd_ide.c +++ b/common/cmd_ide.c @@ -45,6 +45,10 @@ #include<mpc5xxx.h> #endif
+#ifdef CONFIG_ORION5X +#include<asm/arch/orion5x.h> +#endif
Why do you need this include?
Because just like for other SoC / boards which are #included right before, CMD_IDE requires defining some constants that specify where the SATA register block resides in RAM, and in the orion5x case, these constants will be based on orion5x symbols.
This is not strictly speaking required until CMD_IDE is actually used, i.e. until edmini declares support for CMD_IDE in next patch, but the change logically belongs to "orion5x support" rather than "edminiv2 support".
Regards.. Prafulla . .
Amicalement,