rockchip: nanopi r4s: read mac address from eeprom

NanoPi R4S has a unique MAC address for the ethernet on board. As the
PCIe NIC doesn't have, just reuse this MAC and flipp the LA bit for it.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 99adbe5ffd70995136a3cf12e0700ded7a04a072)
This commit is contained in:
Tianling Shen 2021-06-12 01:10:18 +08:00
parent ddf060e338
commit 58e0c21c94
No known key found for this signature in database
GPG Key ID: 6850B6345C862176
2 changed files with 42 additions and 2 deletions

View File

@ -39,8 +39,8 @@ rockchip_setup_macs()
lan_mac=$(macaddr_add "$wan_mac" +1)
;;
friendlyarm,nanopi-r4s)
wan_mac=$(cat /sys/class/net/eth0/address)
lan_mac=$(macaddr_add "$wan_mac" +1)
wan_mac=$(get_mac_binary "/sys/bus/i2c/devices/2-0051/eeprom" 0xfa)
lan_mac=$(macaddr_setbit_la "$wan_mac")
;;
xunlong,orangepi-r1-plus)
lan_mac=$(cat /sys/class/net/eth1/address)

View File

@ -0,0 +1,40 @@
From 43f3999d1836117ab2e601aec9a9e6f292ce4958 Mon Sep 17 00:00:00 2001
From: Tianling Shen <cnsztl@gmail.com>
Date: Mon, 7 Jun 2021 15:45:37 +0800
Subject: [PATCH] arm64: dts: rockchip: add EEPROM node for NanoPi R4S
NanoPi R4S has a EEPROM attached to the 2nd I2C bus (U92), which
stores the MAC address.
Signed-off-by: Tianling Shen <cnsztl@gmail.com>
---
.../boot/dts/rockchip/rk3399-nanopi-r4s.dts | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
--- a/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts
@@ -68,6 +68,24 @@
status = "disabled";
};
+&gmac {
+ nvmem-cells = <&mac_address>;
+ nvmem-cells-names = "mac-address";
+};
+
+&i2c2 {
+ eeprom@51 {
+ compatible = "microchip,24c02", "atmel,24c02";
+ reg = <0x51>;
+ pagesize = <16>;
+ size = <256>;
+
+ mac_address: mac-address@fa {
+ reg = <0xfa 0x06>;
+ };
+ };
+};
+
&i2c4 {
status = "disabled";
};