mirror of
https://github.com/Ysurac/openmptcprouter-feeds.git
synced 2025-03-09 15:40:03 +00:00
fix
This commit is contained in:
parent
02df59a6f7
commit
6e4bf6d2df
2 changed files with 129 additions and 0 deletions
55
r8152/Makefile
Normal file
55
r8152/Makefile
Normal file
|
@ -0,0 +1,55 @@
|
||||||
|
#
|
||||||
|
# Download realtek r8152 linux driver from official site:
|
||||||
|
# [https://www.realtek.com/en/component/zoo/category/network-interface-controllers-10-100-1000m-gigabit-ethernet-usb-3-0-software]
|
||||||
|
#
|
||||||
|
|
||||||
|
include $(TOPDIR)/rules.mk
|
||||||
|
include $(INCLUDE_DIR)/kernel.mk
|
||||||
|
|
||||||
|
PKG_NAME:=r8152
|
||||||
|
PKG_VERSION:=2.15.20211119
|
||||||
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||||
|
PKG_SOURCE_URL:=https://codeload.github.com/wget/realtek-r8152-linux/tar.gz/v$(PKG_VERSION)?
|
||||||
|
PKG_HASH:=b7926db3b4ca71d453ac1cf875d7a8ab409ece108edc6913e8bc1c0c3b99179d
|
||||||
|
|
||||||
|
PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/realtek-$(PKG_NAME)-linux-$(PKG_VERSION)
|
||||||
|
|
||||||
|
PKG_BUILD_PARALLEL:=1
|
||||||
|
|
||||||
|
PKG_MAINTAINER:=Tianling Shen <cnsztl@immortalwrt.org>
|
||||||
|
|
||||||
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
define KernelPackage/usb-net-rtl8152-vendor
|
||||||
|
TITLE:=Kernel module for USB-to-Ethernet Realtek convertors
|
||||||
|
SUBMENU:=USB Support
|
||||||
|
VERSION:=$(LINUX_VERSION)+$(PKG_VERSION)-$(BOARD)-$(PKG_RELEASE)
|
||||||
|
DEPENDS:=+kmod-usb-net
|
||||||
|
CONFLICTS:=kmod-usb-net-rtl8152
|
||||||
|
FILES:= $(PKG_BUILD_DIR)/r8152.ko
|
||||||
|
AUTOLOAD:=$(call AutoProbe,r8152)
|
||||||
|
endef
|
||||||
|
|
||||||
|
define KernelPackage/usb-net-rtl8152-vendor/description
|
||||||
|
Kernel module for Realtek RTL8152/RTL8153 Based USB Ethernet Adapters
|
||||||
|
endef
|
||||||
|
|
||||||
|
R8152_MAKEOPTS= -C $(PKG_BUILD_DIR) \
|
||||||
|
PATH="$(TARGET_PATH)" \
|
||||||
|
ARCH="$(LINUX_KARCH)" \
|
||||||
|
CROSS_COMPILE="$(TARGET_CROSS)" \
|
||||||
|
TARGET="$(HAL_TARGET)" \
|
||||||
|
TOOLPREFIX="$(KERNEL_CROSS)" \
|
||||||
|
TOOLPATH="$(KERNEL_CROSS)" \
|
||||||
|
KERNELPATH="$(LINUX_DIR)" \
|
||||||
|
KERNELDIR="$(LINUX_DIR)" \
|
||||||
|
LDOPTS=" " \
|
||||||
|
DOMULTI=1
|
||||||
|
|
||||||
|
define Build/Compile
|
||||||
|
+$(MAKE) $(PKG_JOBS) $(R8152_MAKEOPTS) modules
|
||||||
|
endef
|
||||||
|
|
||||||
|
$(eval $(call KernelPackage,usb-net-rtl8152-vendor))
|
74
r8152/patches/100-add-LED-configuration-from-OF.patch
Normal file
74
r8152/patches/100-add-LED-configuration-from-OF.patch
Normal file
|
@ -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] 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>
|
||||||
|
---
|
||||||
|
r8152.c | 23 +++++++++++++++++++++++
|
||||||
|
1 file changed, 23 insertions(+)
|
||||||
|
|
||||||
|
--- a/r8152.c
|
||||||
|
+++ b/r8152.c
|
||||||
|
@@ -18,6 +18,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>
|
||||||
|
@@ -9804,6 +9805,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;
|
||||||
|
@@ -9865,6 +9882,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)
|
||||||
|
@@ -10008,6 +10027,8 @@ static void r8153_init(struct r8152 *tp)
|
||||||
|
tp->coalesce = COALESCE_SLOW;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
+
|
||||||
|
+ r8152_led_configuration(tp);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void r8153b_init(struct r8152 *tp)
|
||||||
|
@@ -10098,6 +10119,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)
|
Loading…
Add table
Add a link
Reference in a new issue