[U-Boot] Micrel Ethernet controller with SPI

Hi, I'm not sure whether I'm supposed to ask this question as I am still new to this list.
I am working on a project using U-boot but the Ethernet controller is the Micrel KSZ8851. Does a driver exist that supports this chip? I assume it would be in drivers/net/
I don't have it in my version which is based on 2008.10
Before I go through the effort to write one, I thought I'd ask whether the U-boot community has one or perhaps someone is working on one.
Thanks in advance, Steve

Hi Steven,
Steven Zedeck wrote:
Hi, I'm not sure whether I'm supposed to ask this question as I am still new to this list.
I am working on a project using U-boot but the Ethernet controller is the Micrel KSZ8851. Does a driver exist that supports this chip? I assume it would be in drivers/net/
I don't have it in my version which is based on 2008.10
Before I go through the effort to write one, I thought I'd ask whether the U-boot community has one or perhaps someone is working on one.
Thanks in advance, Steve
I wrote one for the KSZ8841 but it's not in the tree. It used a memory interface, though, not SPI. Not sure if that would help or not. If you think it's close enough I can dig it up, though it may take some time.
regards, Ben

On Friday 20 February 2009 14:17:10 Ben Warren wrote:
Steven Zedeck wrote:
I'm not sure whether I'm supposed to ask this question as I am still new to this list.
I am working on a project using U-boot but the Ethernet controller is the Micrel KSZ8851. Does a driver exist that supports this chip? I assume it would be in drivers/net/
I don't have it in my version which is based on 2008.10
Before I go through the effort to write one, I thought I'd ask whether the U-boot community has one or perhaps someone is working on one.
I wrote one for the KSZ8841 but it's not in the tree. It used a memory interface, though, not SPI. Not sure if that would help or not. If you think it's close enough I can dig it up, though it may take some time.
the Blackfin BF518F-EZBRD board has the same micrel part. we hook up to it via the on-chip MAC and to control it, we use the SPI bus. but we dont do anything special ... we just turn it on in the board init code. all the other networking stuff is handled via the on-chip MAC driver ...
look at the board_eth_init() function here: http://git.denx.de/?p=u-boot/u-boot- blackfin.git;a=commitdiff;h=e24cbd1d2cfddfe0f211eb1a5f2aad23e2a52c22
i dont think u-boot has the framework to hook up MAC switches like the micrel part yet ... even the Linux kernel lacks proper support still (although patches are floating around). -mike

Mike, I "think" what I need to do is to create or find a driver that will ultimately live in drivers/net/ and has functions such as eth_init, eth_send, eth_tx, etc.
Currently we use a different chip and it is supported by the existing u-boot. The Ethernet chip is supported by drivers/net/enc28J60.c Many other chips are supported by files in the same directory.
All I'm really concerned with is u-boot's ability to do a ping test as well as read/write registers. Do you have support for eth_send, rx, etc? Thanks, Steve
Mike Frysinger wrote:
On Friday 20 February 2009 14:17:10 Ben Warren wrote:
Steven Zedeck wrote:
I'm not sure whether I'm supposed to ask this question as I am still
new
to this list.
I am working on a project using U-boot but the Ethernet controller is
the
Micrel KSZ8851. Does a driver exist that supports this chip? I assume it would be in drivers/net/
I don't have it in my version which is based on 2008.10
Before I go through the effort to write one, I thought I'd ask whether the U-boot community has one or perhaps someone is working on one.
I wrote one for the KSZ8841 but it's not in the tree. It used a memory interface, though, not SPI. Not sure if that would help or not. If you think it's close enough I can dig it up, though it may take some time.
the Blackfin BF518F-EZBRD board has the same micrel part. we hook up to it via the on-chip MAC and to control it, we use the SPI bus. but we dont do anything special ... we just turn it on in the board init code. all the other networking stuff is handled via the on-chip MAC driver ...
look at the board_eth_init() function here: http://git.denx.de/?p=u-boot/u-boot- blackfin.git;a=commitdiff;h=e24cbd1d2cfddfe0f211eb1a5f2aad23e2a52c22
i dont think u-boot has the framework to hook up MAC switches like the micrel part yet ... even the Linux kernel lacks proper support still (although patches are floating around). -mike
U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot

On Friday 20 February 2009 16:36:52 Steven Zedeck wrote:
I "think" what I need to do is to create or find a driver that will ultimately live in drivers/net/ and has functions such as eth_init, eth_send, eth_tx, etc.
Currently we use a different chip and it is supported by the existing u-boot. The Ethernet chip is supported by drivers/net/enc28J60.c Many other chips are supported by files in the same directory.
unfortunately, these mac switches arent quite that simple. you've got to work with the MAC that hooks up to the switch, and you've got to work with the arbitrary number of MACs that exist in the switch.
if we look at the Blackfin setup, we have the "bfin_mac" driver and that fully controls the MAC that is inside of the Blackfin chip. but then the MAC switch needs setup and programming as well.
we cheat and do bare min stuff: - bootstrap some settings according to pins - turn on the switch via spi (the code i referred to earlier) - let everything else autonegotiate
All I'm really concerned with is u-boot's ability to do a ping test as well as read/write registers. Do you have support for eth_send, rx, etc?
yes, because we only worry about the bfin_mac side. maybe Ben has more already. otherwise i'd watch/review the linux kernel stuff and try and poach just :). -mike
participants (3)
-
Ben Warren
-
Mike Frysinger
-
Steven Zedeck