[U-Boot] [PATCH 2/2] Initialize second PHY on OpenRD-Client and OpenRD-Ultimate.

Albert ARIBAUD albert.aribaud at free.fr
Thu Apr 7 09:18:05 CEST 2011


Le 07/04/2011 08:17, Prafulla Wadaskar a écrit :
>
>
>> -----Original Message-----
>> From: Clint Adams [mailto:clint at debian.org]
>> Sent: Thursday, April 07, 2011 12:25 AM
>> To: u-boot at lists.denx.de
>> Cc: Prafulla Wadaskar; julian.pidancet at citrix.com; Clint Adams
>> Subject: [PATCH 2/2] Initialize second PHY on OpenRD-Client and OpenRD-
>> Ultimate.
>>
>> (rework of Julian Pidancet's patch)
>> ---
>>   board/Marvell/openrd_base/openrd_base.c |   22 ++++++++++++++++++----
>>   include/configs/openrd_base.h           |   14 ++++++++++++--
>>   2 files changed, 30 insertions(+), 6 deletions(-)
>>
>> diff --git a/board/Marvell/openrd_base/openrd_base.c
>> b/board/Marvell/openrd_base/openrd_base.c
>> index 10109c1..aea4760 100644
>> --- a/board/Marvell/openrd_base/openrd_base.c
>> +++ b/board/Marvell/openrd_base/openrd_base.c
>> @@ -118,12 +118,11 @@ int board_init(void)
>>   }
>>
>>   #ifdef CONFIG_RESET_PHY_R
>> -/* Configure and enable MV88E1116 PHY */
>> -void reset_phy(void)
>> +/* Configure and enable MV88E1116/88E1121 PHY */
>> +void mv_phy_init(char *name)
>>   {
>>   	u16 reg;
>>   	u16 devadr;
>> -	char *name = "egiga0";
>>
>>   	if (miiphy_set_current_dev(name))
>>   		return;
>> @@ -148,6 +147,21 @@ void reset_phy(void)
>>   	/* reset the phy */
>>   	miiphy_reset(name, devadr);
>>
>> -	printf("88E1116 Initialized on %s\n", name);
>> +	printf(PHY_NO" Initialized on %s\n", name);
>> +}
>> +
>> +void reset_phy(void)
>> +{
>> +       mv_phy_init("egiga0");
>> +
>> +#ifdef CONFIG_BOARD_IS_OPENRD_CLIENT
>> +       /* Kirkwood ethernet driver is written with the assumption that
>> in case
>> +        * of multiple PHYs, their addresses are consecutive. But
>> unfortunately
>> +        * in case of OpenRD-Client, PHY addresses are not
>> consecutive.*/
>> +       miiphy_write("egiga1", 0xEE, 0xEE, 24);
>> +
>> +       /* configure and initialize both PHY's */
>> +       mv_phy_init("egiga1");
>> +#endif
>>   }
>>   #endif /* CONFIG_RESET_PHY_R */
>> diff --git a/include/configs/openrd_base.h
>> b/include/configs/openrd_base.h
>> index 5e05890..aa13908 100644
>> --- a/include/configs/openrd_base.h
>> +++ b/include/configs/openrd_base.h
>> @@ -117,8 +117,18 @@
>>    * Ethernet Driver configuration
>>    */
>>   #ifdef CONFIG_CMD_NET
>> -#define CONFIG_MVGBE_PORTS	{1, 0}	/* enable port 0 only */
>> -#define CONFIG_PHY_BASE_ADR	0x8
>> +# ifdef CONFIG_BOARD_IS_OPENRD_BASE
>> +#  define CONFIG_MVGBE_PORTS	{1, 0}	/* enable port 0 only */
>> +# else
>> +#  define CONFIG_MVGBE_PORTS	{1, 1}	/* enable both ports */
>> +# endif
>> +# ifdef CONFIG_BOARD_IS_OPENRD_ULTIMATE
>> +#  define CONFIG_PHY_BASE_ADR	0x0
>> +#  define PHY_NO		"88E1121"
>> +# else
>> +#  define CONFIG_PHY_BASE_ADR	0x8
>> +#  define PHY_NO		"88E1116"
>> +# endif
>>   #endif /* CONFIG_CMD_NET */
>>
>
> This looks pretty good.
> Ack for both the patches.
>
> Regards..
> Prafulla ..

Didn't Julian re-post patches that actually separates Base, Client and 
Ultimate into distinct config header files plus a common one? How does 
this affect Clint's patchset?

Amicalement,
-- 
Albert.


More information about the U-Boot mailing list