rockchip: enable LAN LED configuration
authorDavid Bauer <mail@david-bauer.net>
Sun, 26 Jul 2020 17:12:03 +0000 (19:12 +0200)
committerDavid Bauer <mail@david-bauer.net>
Tue, 28 Jul 2020 13:52:44 +0000 (15:52 +0200)
This enables the LEDs on the LAN interfaces.

Signed-off-by: David Bauer <mail@david-bauer.net>
target/linux/rockchip/patches-5.4/002-net-usb-r8152-add-LED-configuration-from-OF.patch [new file with mode: 0644]
target/linux/rockchip/patches-5.4/003-dt-bindings-net-add-RTL8152-binding-documentation.patch [new file with mode: 0644]
target/linux/rockchip/patches-5.4/103-arm64-rockchip-add-OF-node-for-USB-eth-on-NanoPi-R2S.patch [new file with mode: 0644]

diff --git a/target/linux/rockchip/patches-5.4/002-net-usb-r8152-add-LED-configuration-from-OF.patch b/target/linux/rockchip/patches-5.4/002-net-usb-r8152-add-LED-configuration-from-OF.patch
new file mode 100644 (file)
index 0000000..53b6413
--- /dev/null
@@ -0,0 +1,74 @@
+From 82985725e071f2a5735052f18e109a32aeac3a0b Mon Sep 17 00:00:00 2001
+From: David Bauer <mail@david-bauer.net>
+Date: Sun, 26 Jul 2020 02:38:31 +0200
+Subject: [PATCH] net: usb: r8152: add LED configuration from OF
+
+This adds the ability to configure the LED configuration register using
+OF. This way, the correct value for board specific LED configuration can
+be determined.
+
+Signed-off-by: David Bauer <mail@david-bauer.net>
+---
+ drivers/net/usb/r8152.c | 23 +++++++++++++++++++++++
+ 1 file changed, 23 insertions(+)
+
+--- a/drivers/net/usb/r8152.c
++++ b/drivers/net/usb/r8152.c
+@@ -11,6 +11,7 @@
+ #include <linux/mii.h>
+ #include <linux/ethtool.h>
+ #include <linux/usb.h>
++#include <linux/of.h>
+ #include <linux/crc32.h>
+ #include <linux/if_vlan.h>
+ #include <linux/uaccess.h>
+@@ -4363,6 +4364,22 @@ static void rtl_tally_reset(struct r8152
+       ocp_write_word(tp, MCU_TYPE_PLA, PLA_RSTTALLY, ocp_data);
+ }
++static int r8152_led_configuration(struct r8152 *tp)
++{
++      u32 led_data;
++      int ret;
++
++      ret = of_property_read_u32(tp->udev->dev.of_node, "realtek,led-data",
++                                                              &led_data);
++
++      if (ret)
++              return ret;
++      
++      ocp_write_word(tp, MCU_TYPE_PLA, PLA_LEDSEL, led_data);
++
++      return 0;
++}
++
+ static void r8152b_init(struct r8152 *tp)
+ {
+       u32 ocp_data;
+@@ -4404,6 +4421,8 @@ static void r8152b_init(struct r8152 *tp
+       ocp_data = ocp_read_word(tp, MCU_TYPE_USB, USB_USB_CTRL);
+       ocp_data &= ~(RX_AGG_DISABLE | RX_ZERO_EN);
+       ocp_write_word(tp, MCU_TYPE_USB, USB_USB_CTRL, ocp_data);
++
++      r8152_led_configuration(tp);
+ }
+ static void r8153_init(struct r8152 *tp)
+@@ -4533,6 +4552,8 @@ static void r8153_init(struct r8152 *tp)
+               tp->coalesce = COALESCE_SLOW;
+               break;
+       }
++
++      r8152_led_configuration(tp);
+ }
+ static void r8153b_init(struct r8152 *tp)
+@@ -4609,6 +4630,8 @@ static void r8153b_init(struct r8152 *tp
+       rtl_tally_reset(tp);
+       tp->coalesce = 15000;   /* 15 us */
++
++      r8152_led_configuration(tp);
+ }
+ static int rtl8152_pre_reset(struct usb_interface *intf)
diff --git a/target/linux/rockchip/patches-5.4/003-dt-bindings-net-add-RTL8152-binding-documentation.patch b/target/linux/rockchip/patches-5.4/003-dt-bindings-net-add-RTL8152-binding-documentation.patch
new file mode 100644 (file)
index 0000000..be262b9
--- /dev/null
@@ -0,0 +1,54 @@
+From 3ee05f4aa64fc86af3be5bc176ba5808de9260a7 Mon Sep 17 00:00:00 2001
+From: David Bauer <mail@david-bauer.net>
+Date: Sun, 26 Jul 2020 15:30:33 +0200
+Subject: [PATCH] dt-bindings: net: add RTL8152 binding documentation
+
+Add binding documentation for the Realtek RTL8152 / RTL8153 USB ethernet
+adapters.
+
+Signed-off-by: David Bauer <mail@david-bauer.net>
+---
+ .../bindings/net/realtek,rtl8152.yaml         | 36 +++++++++++++++++++
+ 1 file changed, 36 insertions(+)
+ create mode 100644 Documentation/devicetree/bindings/net/realtek,rtl8152.yaml
+
+--- /dev/null
++++ b/Documentation/devicetree/bindings/net/realtek,rtl8152.yaml
+@@ -0,0 +1,36 @@
++# SPDX-License-Identifier: GPL-2.0
++%YAML 1.2
++---
++$id: http://devicetree.org/schemas/net/realtek,rtl8152.yaml#
++$schema: http://devicetree.org/meta-schemas/core.yaml#
++
++title: Realtek RTL8152/RTL8153 series USB ethernet
++
++maintainers:
++  - David Bauer <mail@david-bauer.net>
++
++properties:
++  compatible:
++    oneOf:
++      - items:
++          - enum:
++              - realtek,rtl8152
++              - realtek,rtl8153
++
++  reg:
++    description: The device number on the USB bus
++
++  realtek,led-data:
++    description: Value to be written to the LED configuration register.
++
++required:
++  - compatible
++  - reg
++
++examples:
++  - |
++    usb-eth@2 {
++      compatible = "realtek,rtl8153";
++      reg = <2>;
++      realtek,led-data = <0x87>;
++    };
+\ No newline at end of file
diff --git a/target/linux/rockchip/patches-5.4/103-arm64-rockchip-add-OF-node-for-USB-eth-on-NanoPi-R2S.patch b/target/linux/rockchip/patches-5.4/103-arm64-rockchip-add-OF-node-for-USB-eth-on-NanoPi-R2S.patch
new file mode 100644 (file)
index 0000000..96c7566
--- /dev/null
@@ -0,0 +1,28 @@
+From 2795c8b31a686bdb8338f9404d18ef7a154f0d75 Mon Sep 17 00:00:00 2001
+From: David Bauer <mail@david-bauer.net>
+Date: Sun, 26 Jul 2020 13:32:59 +0200
+Subject: [PATCH] arm64: rockchip: add OF node for USB eth on NanoPi R2S
+
+This adds the OF node for the USB3 ethernet adapter on the FriendlyARM
+NanoPi R2S. Add the correct value for the RTL8153 LED configuration
+register to match the blink behavior of the other port on the device.
+
+Signed-off-by: David Bauer <mail@david-bauer.net>
+---
+ arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2s.dts | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+--- a/arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2s.dts
++++ b/arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2s.dts
+@@ -354,4 +354,11 @@
+ &usbdrd_dwc3 {
+       dr_mode = "host";
+       status = "okay";
++
++      usb-eth@2 {
++              compatible = "realtek,rtl8153";
++              reg = <2>;
++
++              realtek,led-data = <0x87>;
++      };
+ };