marcosartore
Posts: 14
Joined: Thu Jan 15, 2015 3:07 pm

100baseT ethernet controller

Thu Apr 13, 2017 8:19 am

Hello,
I am interested in connecting a 100baseT ethernet chip to the SPI of a Compute Module 3. I have read the document "Compute module attaching and enabling peripherals Guide", which explains in Example 2 how to attach a 10baseT ENC28J60 SPI Ethernet Controller on BANK0.

I wish to ask if anybody could please suggest how to:
1) connect instead a 100baseT chip, for example the ENC424J600
2) use SPI1 instead of SPI0
3) modify the config.txt and related dtoverlay line to handle this chip and the SPI1

Many thanks in advance,
Marco

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

Re: 100baseT ethernet controller

Thu Apr 13, 2017 9:17 am

Yes in theory you should be able to, but the ENCX24J600 driver is not built as part of the default Pi kernel.
If you want to enable it then you need to add "CONFIG_ENCX24J600=m" to arch/arm/configs/bcm2709_defconfig and arch/arm/configs/bcmrpi_defconfig and rebuild.

The device tree side should then follow very similar lines to https://github.com/raspberrypi/linux/bl ... verlay.dts or https://github.com/raspberrypi/linux/bl ... verlay.dts, but with the initial target being <&spi1>, renaming the nodes to be encx24j600, and the compatible seems to be "encx24j600".

Whether there is any gain in doing so is a different question. SPI normally runs at relatively low speeds, so is there sufficient bandwidth to handle 100Mbit/s ethernet?
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.

marcosartore
Posts: 14
Joined: Thu Jan 15, 2015 3:07 pm

Re: 100baseT ethernet controller

Thu Apr 13, 2017 10:07 am

Many thanks for your detailed answer. I will consider the speed issue that you have pointed out....
Greetings,
Marco

Return to “Device Tree”