[U-Boot] net: gpio PHY driver

Ben Warren biggerbadderben at gmail.com
Wed Jul 1 21:02:46 CEST 2009


Hi Darius,

Darius Augulis wrote:
> On 07/01/2009 09:12 PM, Richard Retanubun wrote:
>   
>> Darius Augulis wrote:
>>     
>>> On 07/01/2009 03:37 PM, Jerry Van Baren wrote:
>>>       
>>>> Darius Augulis wrote:
>>>>         
>>>>> Hi,
>>>>>
>>>>> I need to control RGMII PHY connected to GPIO.
>>>>> Seems there isn't such driver in u-boot.
>>>>> I would like to discuss how is better to implement this?
>>>>> I could port mdio_gpio driver from Linux Kernel,
>>>>> but u-boot does not have universal gpio driver.
>>>>> Off course I could make this very board specific, but It may be useful for
>>>>> other boards, interfacing PHY with GPIO's.
>>>>>
>>>>> Any ideas welcome!
>>>>>
>>>>> Darius A.
>>>>>           
>>>> It sounds like you are looking for CONFIG_BITBANGMII.
>>>>         
>>> Probably. Even it has MPC specific things, I guess should be easy to
>>> re-use it in my system.
>>>       
>> Wow, what a coincidence!
>> Just in case you system is MPC83XX based, I just submitted a patch for consideration
>> that adds bitbang SMI to uec_phy.c<stolen from gvb's implementation, of course>
>>     
>
>   
It sure would be nice to see a patch that gets the CPU-specific crap out 
of the miiphybb driver.  This type of problem has been dealt with in 
other places such as I2C and SPI.  Any takers?
> No, my system is not MPC based. I'm working on new board and CPU 
> (Gemini) support in u-boot. My SoC has two GMAC controllers.
> btw, what is the right way to add new Ethernet driver?
> Should I define CONFIG_CMD_NET and CONFIG_NET_MULTI in my board config?
> Or should I define eth_* funtions right in the driver code?
>
>   
I'm looking forward to your submission.

As Richard mentioned, CONFIG_CMD_NET enables networking.

CONFIG_NET_MULTI really means "use the networking code that supports 
multiple interfaces".  It doesn't mean "my board has more than one 
interface".  Going forward, this is mandatory for all Ethernet 
drivers.   Support for the old-style API (eth_* in drivers) is 
deprecated and is scheduled for removal this fall:

http://git.denx.de/?p=u-boot.git;a=blob;f=doc/feature-removal-schedule.txt;h=9bbdc0a83226aa1158ddd73d253e4742c0124159;hb=HEAD

regards,
Ben




More information about the U-Boot mailing list