lede/target/linux/rockchip/patches-5.4/002-net-usb-r8152-add-LED-configuration-from-OF.patch
CN_SZTL f4b1b358fe
rockchip: sync latest codes from ImmortalWrt (#6522)
uboot:
 - immortalwrt/immortalwrt@7a042afdee uboot-rockchip: fix RockPro64 boot from eMMC
 - immortalwrt/immortalwrt@f450acefb0 uboot-rockchip: update to v2021.01
 - immortalwrt/immortalwrt@5cc1d3df78 rockchip: improve support for NanoPi R4S
 - immortalwrt/immortalwrt@83d3fb9634 uboot-rockchip: add NanoPi R4S support
 - immortalwrt/immortalwrt@3d86ffedd7 uboot-rockchip: update to v2020.10
 - immortalwrt/immortalwrt@fe5fa0c7ab Revert "uboot-rockchip: fix nanopi-r2s failed to boot on some sd cards"

target:
 - immortalwrt/immortalwrt@f67522e532 rockchip: add support for Radxa Rock Pi 4
 - immortalwrt/immortalwrt@cd7fd0c77b rockchip: add NanoPi R4S support
 - immortalwrt/immortalwrt@02395293a2 rockchip: fix SUPPORTED_DEVICES for Radxa ROCK Pi 4
 - immortalwrt/immortalwrt@c7b200b8a2 rockchip: re-order patches
 - immortalwrt/immortalwrt@aee038e773 rockchip: refresh Kconfig
 - immortalwrt/immortalwrt@22061b2880 kernel: enable CONFIG_LEDS_TRIGGER_HEARTBEAT
 - immortalwrt/immortalwrt@b1150de9e4 rockchip: add missing Kconfig symbols
 - immortalwrt/immortalwrt@ab28d07c3b treewide: fix spelling 'seperate' -> 'separate'
 - immortalwrt/immortalwrt@6401fca74d rockchip: use native mac address for NanoPi R4S

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2021-03-14 11:52:00 +08:00

75 lines
1.9 KiB
Diff

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)