[U-Boot] [PATCH V3 3/4] orion5x: add support for cmd_ide.c

Albert ARIBAUD albert.aribaud at free.fr
Mon Jul 12 10:37:03 CEST 2010


Le 12/07/2010 08:46, Prafulla Wadaskar a écrit :
>
>
>> -----Original Message-----
>> From: u-boot-bounces at lists.denx.de
>> [mailto:u-boot-bounces at lists.denx.de] On Behalf Of Albert Aribaud
>> Sent: Friday, July 09, 2010 12:11 AM
>> To: u-boot at 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 Aribaud<albert.aribaud at 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,
-- 
Albert.


More information about the U-Boot mailing list