VSC7385

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

VSC7385

4,754 Views
ampio123
Contributor I
I have demo board MPC8313E-RDB. Why I can programming VSC7385? Can I set different IP address for each LAN port? Why I can check MAC address connected device for every LAN port?
Sorry for my english?
Tags (1)
0 Kudos
4 Replies

970 Views
gm_kat
Contributor I
Hi,

AFAIK it's not possible to specify particular IP addresses for switch ports. A switch behaves different, it forwards the incoming ethernet frames to the network devices that are connected to it. Those network devices may have dedicated IP adresses, but not the switch ports itself.

But I also want to know if s.o. already tried to program the VSC7385, and uses the device as a managed
switch, controlled by the MPC8313 (not using the Vitesse switch firmware).
I know that Vitesse provides a comprehensive API for their switch devices, and I also have access to this
software. Did anyone of you run this API on the MPC8313E-RDB?

Best regards,
Günther

0 Kudos

970 Views
abartky
Contributor IV

ampio123,

 

When it comes to the Vitesse VSC7385 chip and how it functions and interfaces on the MPC8313E-RDB board, what it can and cannot do relates to:

 

1) The MPC8313E is a 2 port ethernet device and so when it comes to the Linux support on that chip (i.e. the Linux BSP from Freescale), it will only support 2 ports, eth0 and eth1 which are mapped to the two TSEC ethernet devices. The "eth1" port is connected to a Marvel PHY chip which connects to the lower right port of the 6 port ethernet physical connector box and the "eth0" is connected to the Vitesse VSC7385 which is then connected to the remaining 5 external ports. So as far as Linux and U-boot are concerned, there are only 2 ports that the software sees which one of those ports connects to a switch. So in other words, the board and associated software act the same as if there were two ports with one of them connected to a 6 port switch.

 

2) With the above, when it comes to assigning IP addresses, Linux and U-boot only see 2 ports, not six, so you cannot create unique Layer 3 IP addresses for each port as the software does not control them.

 

3) In my review of the schematics, the 7385 is connected to the address and data bus of the 8313, so it looks like in theory it could be possible to program the 7385 as the 7385 chip apparently is a semi-smart switch chip and even has an 8051 micro-controller in the chip. In a quick look at the product brief, it has a fair amount of features, but I didn't see any mention that it could do layer 3 routing, so what all you could do with the chip depends on getting the info from Vitesse on what it can or cannot do, and for that you'll need to work with a Vitesse sales person, as you cannot download their detailed specifications without having a Non-Disclosure Agreement (NDA) signed with them.

 

So it looks like that if you want to do more with the 7385 than the free software that Freescale provides you (which uses the 7385 as an onboard simple Ethernet Layer 2 switch), you'll need to work with Vitesse to get the information you need and they also might be able to point you in the direction of additional software drivers from them or their partners.

 

If you don't already have a relationship with Vitesse, here is a web link to download the product brief (which you can download and read without an NDA):

 

http://www.vitesse.com/products/download.php?fid=269&number=VSC7385

 

Here is a link to their Ethernet family of products (including Ethernet switches):

 

http://www.vitesse.com/products/group.php?id=8

 

Hope this helps :smileyhappy:

 

- abartky

0 Kudos

970 Views
serge
Contributor I
Hi,
 
On my MPC813E-RDB board, I can't get any of the 5 ports connected to the VSC7385 to light up. It seems like the link is always down and none of the ports LED will light up. I've tried running the "run run_vscld1" command from uboot but this did not help. I can't get the ports to work under Linux either.
 
TSEC2 is working fine.
 
How can I get the Vitesse switch to work?
 
Thanks,
Serge
0 Kudos

970 Views
abartky
Contributor IV

Serge,

 

Last year I had a similar problem. I don't have notes on how I got to having that problem, but I did take some notes on how I recovered from it. Hopefully it may help you as well.

 

For the Vitesse Switch to work on the MPC8313E-RDB board, it must be loaded and initialized by u-boot before booting linux. If you boot Linux without having it properly loaded and started under U-boot, the Freescal Linux distribution will not initialize the switch as it will initialize the ETSECs, but not the switch.

 

For the switch to be loaded properly, you must have both the switch firmware and the switch firmware loader setup properly for U-boot to load and start the switch. I am guessing that your switch chip is not coming up because the firmware and/or the firmware loader are not setup in Flash memory.

 

Here are my log notes on how I loaded the vsc7385.bin file to flash (these were done using ETSEC2 and tftp to get the necessary Vitesse Switch files from my Linux how machine):

 

6/16/2007, 3:25 PM  Looks like I found the key missing step. 

 

Here are the relevant environment variable commands:

 

=> printenv bootcmd

bootcmd=run run_vscld1; run ramargs addtty;bootm fe100000 fe300000 fe700000

=> printenv run_vscld1

run_vscld1=cp.b fe710000 40000 11000; go 40004

 

In looking at the memory map in the documentation

 

- fe710000 is the base address for the VSC7385 firmware loader (vsc7385_load.bin)

- fe7fe000 is the base address for the VSC7385 firmware

 

Both the firmware and the firmware loader must be copied into Flash

.

- Instructions show steps for loading firmware @ fe7fe000 - fe7fffff

- They do not show steps for loading firmware loader @ fe710000 - fe72ffff

 

Instructions for loading the Firmware loader into flash memory should be something like:

=> tftp 1000000 /tftpboot/vsc7385_load.bin

=> protect off fe710000 fe72ffff

=> erase fe710000 fe72ffff

=> cp.b 1000000 fe710000 $filesize

=> protect on all

 

6/16/2007, 3:37 PM Looks like it worked, here is the actual capture

 

=> protect on all

Protect Flash Bank # 1

=> tftp 1000000 /tftpboot/vsc7385_load.bin

Speed: 1000, full duplex

Using TSEC0 device

TFTP from server 192.168.2.129; our IP address is 192.168.2.193

Filename '/tftpboot/vsc7385_load.bin'.

Load address: 0x1000000

Loading: #############

done

Bytes transferred = 66536 (103e8 hex)

=> protect off fe710000 fe72ffff

Un-Protected 2 sectors

=> erase fe710000 fe72ffff

 

.. done

Erased 2 sectors

=> cp.b 1000000 fe710000 $filesize

Copy to Flash... done

=> protect on all

Protect Flash Bank # 1

 

To make sure it loaded OK (and also previous load of firmware was OK), run_vscld1 is run to make sure that it loads OK.

=> run run_vscld1

## Starting application at 0x00040004 ...

VSC7385 Version = 0x273850e9

Value in IRAM matches binary, total bytes 0x2000 loaded

## Application terminated, rc = 0x0

=>

 

Next I set TSEC0 (ETSEC1) to be active and pinged the host to make sure everything was working:

 

=> setenv ethact TSEC0

=> ping 192.168.2.129

Speed: 1000, full duplex

Using TSEC0 device

host 192.168.2.129 is alive

=>

 

 

If you need to setup the actual firmware to flash (again assuming you have TFTP working OK) you can do the following command to tftp the file and burn it to Flash memory:

 

=> run burn_vscfw

Speed: 1000, full duplex

Using TSEC1 device

TFTP from server 192.168.2.129; our IP address is 192.168.2.193

Filename '/tftpboot/vsc2bin'.

Load address: 0x100000

Loading: ##

done

Bytes transferred = 8184 (1ff8 hex)

Error: start address not on sector boundary

Error: start address not on sector boundary

Copy to Flash... done

 

Hope this helps,

 

Cheers,

 

abartky

0 Kudos