SgtSiff
Posts: 5
Joined: Tue Feb 05, 2019 8:12 pm

Commerical design & LAN951X questions.

Fri May 03, 2019 11:25 am

Hi,

I am designing a board for the compute module 3+ for an application at work and I have a few questions:

  • For those that have commercially produced designs, do you program the modules from your board (and hence need the supporting circuitry such as USBMUX) or do you program the boards externally and insert them into the board? My first revision has the USBMUX and headers, but I'm thinking to drop this to reduce BOM (and cost) and reduce board size.
  • My design incorporates a LAN9514. All of the USB devices are onboard and powered straight form the 3.3V bus. Can I safely leave the PRTCTL pins unconnected, or will this cause issues?
  • Do people generally lean towards clocking the LAN9514 from the compute module or from an external oscillator? Again I am aiming to reduce BOM.
  • Is using more than one LAN9514, is it appropriate to connect the LAN_RUN pins to the same GPIO on the CM3?
  • When using dual LAN9514, is the generally accepted solution to purchase a block of MAC addresses and write these to external EEPROM connected to the compute module, then force the CM3 to use these addresses instead of the internally generated ones? Can I purchase pre programmed EEPROMs?
Last edited by SgtSiff on Tue May 28, 2019 8:06 am, edited 2 times in total.

jamesh
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 22245
Joined: Sat Jul 30, 2011 7:41 pm

Re: Commerical design & LAN951X questions.

Tue May 07, 2019 9:48 am

The only answer I have is that on the Pi3, the LAN chip is clocked fomr the 2837. All the rest would require getting in touch with Microchip to find out what they do.
Principal Software Engineer at Raspberry Pi (Trading) Ltd.
Contrary to popular belief, humorous signatures are allowed. Here's an example...
"My grief counseller just died, luckily, he was so good, I didn't care."

6by9
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 6707
Joined: Wed Dec 04, 2013 11:27 am
Location: ZZ9 Plural Z Alpha, aka just outside Cambridge.

Re: Commerical design & LAN951X questions.

Tue May 07, 2019 10:26 am

On recent firmware, it assigns the MAC address to the LAN951x pointed to by the ethernet0 device tree alias. On a Pi3 this is /soc/[email protected]/[email protected]/[email protected]
A LAN951x at any other device tree node (ie because it is connected to one of the downstream ports on the primary LAN951x) should by default adopt a random MAC address.
Please be aware that earlier firmwares/kernels passed the MAC address on the kernel command line, and that would then apply to ALL LAN951x chips.

I vaguely recall a thread on here where someone contacted Microchip for a preprogrammed EEPROM suitable for the LAN951x and was told there wasn't one. viewtopic.php?f=98&t=180226&p=1147406#p1147260 looks likely.
Software Engineer at Raspberry Pi Trading. Views expressed are still personal views.
I'm not interested in doing contracts for bespoke functionality - please don't ask.

SgtSiff
Posts: 5
Joined: Tue Feb 05, 2019 8:12 pm

Re: Commerical design & LAN951X questions.

Fri May 10, 2019 12:28 pm

6by9 wrote: On recent firmware, it assigns the MAC address to the LAN951x......
Thankyou, that's good to know. At least for testing purposes it will work, then we can worry about purchasing & adding custom MAC addresses later.

I think we read the same thread!
jamesh wrote: The only answer I have is that on the Pi3, the LAN chip is clocked fomr the 2837. All the rest would require getting in touch with Microchip to find out what they do.
Thanks. I have decided to clock the first LAN9514 from it's own osc and clock the second device from the first. This should allow me to debug the USB devices from another machine if I want.

SgtSiff
Posts: 5
Joined: Tue Feb 05, 2019 8:12 pm

Re: Commerical design & LAN951X questions.

Tue May 28, 2019 8:06 am

I just thought I'd update my post with answers to the rest of my questions, in case any one else stumbles across this thread in future.
SgtSiff wrote:For those that have commercially produced designs, do you program......
We have decided to program the board externally, and have designed a barebones PCB to mass program the modules with etcher. We have just left a serial connection exposed on the board for terminal access.

The following were answered by Microchip technical support:
SgtSiff wrote:My design incorporates a LAN9514. All of the USB devices are onboard and powered straight form the 3.3V bus. Can I safely leave the PRTCTL pins unconnected, or will this cause issues?
The PRTCTLx pins act as output and input for the Port Power Control and Over-Current Sense functions, thus these pins have IS/O12 and PU Buffer Types.
"PU" means that there is an internal Pull-up resistor that prevents unconnected inputs from floating, thus, the PRTCTLx pin can be unconnected. If this is not enough, the user can provide an option for an external pull-up resistor if needed.
SgtSiff wrote:Is using more than one LAN9514, is it appropriate to connect the LAN_RUN pins to the same GPIO on the CM3?
It is doable to use one of the GPIO from the LAN9514 to reset the LAN9512. GPIO manipulation is needed, this reference might help (http://ww1.microchip.com/downloads/en// ... 01-12).pdf)
A Buffer of the output from the compute module to both LAN9514 and LAN9512 reset pins might be better.

Return to “Compute Module”