ARM: bcm2835: dt: Add the ethernet to the device trees
Subsystems (3)
PATCH v4 1/1 ARM: bcm2835: dt: Add the ethernet to the device trees
The hub and the ethernet in its port 1 are hardwired on the board.
Compared to the adapters that can be plugged into the USB ports, this one has no serial EEPROM to store its MAC. Nevertheless, the Raspberry Pi has the MAC address for this adapter in its ROM, accessible from its firmware.
U-Boot can read out the address and set the local-mac-address property of the node with "ethernet" alias. Let's add the node so that U-Boot can do its business.
Model B rev2 and Model B+ entries were verified by me, the hierarchy and pid/vid pair for the Version 2 was provided by Peter Chen. Original Model B is a blind short, though very likely correct.
---
Changes since v3:
- Include the ethernet alias in 9514 dtsi too
Changes since v2:
- Removed leading zeroes in vendor name and reg
- Split the common files in separate includes per model
Changes since v1:
- s/@01/@1/ for ethernet and the hub
- Corrected the vid/pid pairs for hub and ethernet
- Added Model B rev2 and version 2 board changes
- Fixed a missing semicolon typo
arch/arm/boot/dts/bcm2835-rpi-b-plus.dts | 1 + arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts | 1 + arch/arm/boot/dts/bcm2835-rpi-b.dts | 1 + arch/arm/boot/dts/bcm2836-rpi-2-b.dts | 1 + arch/arm/boot/dts/bcm283x-rpi-smsc9512.dtsi | 20 ++++++++++++++++++++ arch/arm/boot/dts/bcm283x-rpi-smsc9514.dtsi | 19 +++++++++++++++++++ arch/arm/boot/dts/bcm283x.dtsi | 2 ++ 7 files changed, 45 insertions(+) create mode 100644 arch/arm/boot/dts/bcm283x-rpi-smsc9512.dtsi create mode 100644 arch/arm/boot/dts/bcm283x-rpi-smsc9514.dtsi
arch/arm/boot/dts/bcm2835-rpi-b-plus.dts +1 -0
@@ -1,6 +1,7 @@ /dts-v1/; #include "bcm2835.dtsi" #include "bcm2835-rpi.dtsi" +#include "bcm283x-rpi-smsc9514.dtsi" / { compatible = "raspberrypi,model-b-plus", "brcm,bcm2835";
arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts +1 -0
@@ -1,6 +1,7 @@ /dts-v1/; #include "bcm2835.dtsi" #include "bcm2835-rpi.dtsi" +#include "bcm283x-rpi-smsc9512.dtsi" / { compatible = "raspberrypi,model-b-rev2", "brcm,bcm2835";
arch/arm/boot/dts/bcm2835-rpi-b.dts +1 -0
@@ -1,6 +1,7 @@ /dts-v1/; #include "bcm2835.dtsi" #include "bcm2835-rpi.dtsi" +#include "bcm283x-rpi-smsc9512.dtsi" / { compatible = "raspberrypi,model-b", "brcm,bcm2835";
arch/arm/boot/dts/bcm2836-rpi-2-b.dts +1 -0
@@ -1,6 +1,7 @@ /dts-v1/; #include "bcm2836.dtsi" #include "bcm2835-rpi.dtsi" +#include "bcm283x-rpi-smsc9514.dtsi" / { compatible = "raspberrypi,2-model-b", "brcm,bcm2836";
arch/arm/boot/dts/bcm283x-rpi-smsc9512.dtsi new file +20 -0
@@ -0,0 +1,20 @@ + +/ { + aliases { + ethernet = ðernet; + }; +}; + +&usb { + usb1 at 1 { + compatible = "usb424,9512"; + reg = <1>; + #address-cells = <1>; + #size-cells = <0>; + + ethernet: usbether at 1 { + compatible = "usb424,ec00"; + reg = <1>; + }; + }; +};
arch/arm/boot/dts/bcm283x-rpi-smsc9514.dtsi new file +19 -0
@@ -0,0 +1,19 @@ +/ { + aliases { + ethernet = ðernet; + }; +}; + +&usb { + usb1 at 1 { + compatible = "usb424,9514"; + reg = <1>; + #address-cells = <1>; + #size-cells = <0>; + + ethernet: usbether at 1 { + compatible = "usb424,ec00"; + reg = <1>; + }; + }; +};
arch/arm/boot/dts/bcm283x.dtsi +2 -0
@@ -230,6 +230,8 @@ compatible = "brcm,bcm2835-usb"; reg = <0x7e980000 0x10000>; interrupts = <1 9>; + #address-cells = <1>; + #size-cells = <0>; }; };
Signature · 1 line
2.7.4
PATCH v4 1/1 ARM: bcm2835: dt: Add the ethernet to the device trees
Quoted 7 lines · Lubomir Rintel
The hub and the ethernet in its port 1 are hardwired on the board.
Compared to the adapters that can be plugged into the USB ports, this one has no serial EEPROM to store its MAC. Nevertheless, the Raspberry Pi has the MAC address for this adapter in its ROM, accessible from its firmware.
Quoted 7 lines
U-Boot can read out the address and set the local-mac-address property of the node with "ethernet" alias. Let's add the node so that U-Boot can do its business.
Model B rev2 and Model B+ entries were verified by me, the hierarchy and pid/vid pair for the Version 2 was provided by Peter Chen. Original Model B is a blind short, though very likely correct.
One nit:
arch/arm/boot/dts/bcm283x-rpi-smsc9512.dtsi line 2
Quoted 8 lines
arch/arm/boot/dts/bcm283x-rpi-smsc9512.dtsi new file +2
-0@@ -0,0 +1,20 @@ + +/ {
There's an extra blank line at the top of the file.