mirror of
https://github.com/armbian/build.git
synced 2025-08-09 12:46:58 +02:00
- materialized overwrites: - `add-board-helios64.patch` - `add-board-orangepi-r1-plus.patch` - `add-driver-for-Motorcomm-YT85xx+PHYs.patch` - `add-board-rk3328-roc-pc.patch` - not touched: wifi patches, those still require work before rebase is consistent. - `wifi-4003-uwe5622-adjust-for-rockchip.patch` - this patch is done on top of the wifi drivers patches exclusively, and fails to apply out of tree. - we should probably consider moving this into the wifi drivers patch harness, not in the rockchip tree.
80 lines
2.0 KiB
Diff
80 lines
2.0 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: David Bauer <mail@david-bauer.net>
|
|
Date: Sun, 26 Jul 2020 02:38:31 +0200
|
|
Subject: 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(+)
|
|
|
|
diff --git a/drivers/net/usb/r8152.c b/drivers/net/usb/r8152.c
|
|
index 0fc4b959edc1..2b9bd8ebbc52 100644
|
|
--- 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>
|
|
@@ -6871,6 +6872,22 @@ static void rtl_tally_reset(struct r8152 *tp)
|
|
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;
|
|
@@ -6912,6 +6929,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)
|
|
@@ -7052,6 +7071,8 @@ static void r8153_init(struct r8152 *tp)
|
|
tp->coalesce = COALESCE_SLOW;
|
|
break;
|
|
}
|
|
+
|
|
+ r8152_led_configuration(tp);
|
|
}
|
|
|
|
static void r8153b_init(struct r8152 *tp)
|
|
@@ -7134,6 +7155,8 @@ static void r8153b_init(struct r8152 *tp)
|
|
rtl_tally_reset(tp);
|
|
|
|
tp->coalesce = 15000; /* 15 us */
|
|
+
|
|
+ r8152_led_configuration(tp);
|
|
}
|
|
|
|
static void r8153c_init(struct r8152 *tp)
|
|
--
|
|
Armbian
|
|
|