Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
This commit is contained in:
commit
86e04e191c
@ -3,9 +3,9 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=broadcom-sprom
|
||||
PKG_SOURCE_DATE:=2023-04-19
|
||||
PKG_SOURCE_VERSION:=d1d94f2407d9090ce72363614bbb87230a92ba44
|
||||
PKG_MIRROR_HASH:=76cc5590a577713a65a512db12014d4fef61d9c67750e9f69753b358f442db8e
|
||||
PKG_SOURCE_DATE:=2023-04-27
|
||||
PKG_SOURCE_VERSION:=d36f7fcb37711106a3a2652b576436cb09aa5b6f
|
||||
PKG_MIRROR_HASH:=fde251ab4ed26d61c95269316119710d6ccb8fe30ef13305d08b3e7d7d8a4c60
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
|
||||
@ -16,7 +16,7 @@
|
||||
|
||||
keys {
|
||||
compatible = "gpio-keys-polled";
|
||||
poll-interval = <20>;
|
||||
poll-interval = <100>;
|
||||
|
||||
wps {
|
||||
label = "wps";
|
||||
|
||||
@ -19,7 +19,7 @@
|
||||
|
||||
keys {
|
||||
compatible = "gpio-keys-polled";
|
||||
poll-interval = <20>;
|
||||
poll-interval = <100>;
|
||||
|
||||
reset {
|
||||
label = "reset";
|
||||
|
||||
@ -27,7 +27,7 @@
|
||||
|
||||
keys {
|
||||
compatible = "gpio-keys-polled";
|
||||
poll-interval = <20>;
|
||||
poll-interval = <100>;
|
||||
|
||||
wps {
|
||||
label = "wps";
|
||||
|
||||
@ -19,7 +19,7 @@
|
||||
|
||||
keys {
|
||||
compatible = "gpio-keys-polled";
|
||||
poll-interval = <20>;
|
||||
poll-interval = <100>;
|
||||
|
||||
wps {
|
||||
label = "wps";
|
||||
|
||||
@ -6,6 +6,7 @@
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/interrupt-controller/bcm6318-interrupt-controller.h>
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
#include <dt-bindings/reset/bcm6318-reset.h>
|
||||
#include <dt-bindings/soc/bcm6318-pm.h>
|
||||
|
||||
|
||||
@ -6,6 +6,7 @@
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/interrupt-controller/bcm63268-interrupt-controller.h>
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
#include <dt-bindings/reset/bcm63268-reset.h>
|
||||
#include <dt-bindings/soc/bcm63268-pm.h>
|
||||
|
||||
|
||||
@ -18,7 +18,7 @@
|
||||
|
||||
keys {
|
||||
compatible = "gpio-keys-polled";
|
||||
poll-interval = <20>;
|
||||
poll-interval = <100>;
|
||||
|
||||
reset {
|
||||
label = "reset";
|
||||
|
||||
@ -6,6 +6,7 @@
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/interrupt-controller/bcm6328-interrupt-controller.h>
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
#include <dt-bindings/reset/bcm6328-reset.h>
|
||||
#include <dt-bindings/soc/bcm6328-pm.h>
|
||||
|
||||
|
||||
@ -18,7 +18,7 @@
|
||||
|
||||
keys {
|
||||
compatible = "gpio-keys-polled";
|
||||
poll-interval = <20>;
|
||||
poll-interval = <100>;
|
||||
|
||||
help {
|
||||
label = "help";
|
||||
|
||||
@ -6,6 +6,7 @@
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/interrupt-controller/bcm6358-interrupt-controller.h>
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
#include <dt-bindings/reset/bcm6358-reset.h>
|
||||
|
||||
/ {
|
||||
|
||||
@ -18,7 +18,7 @@
|
||||
|
||||
keys {
|
||||
compatible = "gpio-keys-polled";
|
||||
poll-interval = <20>;
|
||||
poll-interval = <100>;
|
||||
|
||||
reset {
|
||||
label = "reset";
|
||||
|
||||
@ -21,7 +21,7 @@
|
||||
|
||||
keys {
|
||||
compatible = "gpio-keys-polled";
|
||||
poll-interval = <20>;
|
||||
poll-interval = <100>;
|
||||
|
||||
wlan {
|
||||
label = "wlan";
|
||||
|
||||
@ -6,6 +6,7 @@
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/interrupt-controller/bcm6362-interrupt-controller.h>
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
#include <dt-bindings/reset/bcm6362-reset.h>
|
||||
#include <dt-bindings/soc/bcm6362-pm.h>
|
||||
|
||||
|
||||
@ -18,7 +18,7 @@
|
||||
|
||||
keys {
|
||||
compatible = "gpio-keys-polled";
|
||||
poll-interval = <20>;
|
||||
poll-interval = <100>;
|
||||
|
||||
reset {
|
||||
label = "reset";
|
||||
|
||||
@ -6,6 +6,7 @@
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/interrupt-controller/bcm6368-interrupt-controller.h>
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
#include <dt-bindings/reset/bcm6368-reset.h>
|
||||
|
||||
/ {
|
||||
|
||||
@ -81,4 +81,9 @@
|
||||
#define BCM6318_IRQ_EPHY2_IDDQ_ENERGY 78
|
||||
#define BCM6318_IRQ_EPHY3_IDDQ_ENERGY 79
|
||||
|
||||
#define BCM6318_EXTIRQ_0 0 /* GPIO 33 */
|
||||
#define BCM6318_EXTIRQ_1 1
|
||||
#define BCM6318_EXTIRQ_2 2
|
||||
#define BCM6318_EXTIRQ_3 3
|
||||
|
||||
#endif /* __DT_BINDINGS_INTERRUPT_CONTROLLER_BCM6318_H */
|
||||
|
||||
@ -35,9 +35,9 @@
|
||||
#define BCM63268_IRQ_ATM_DMA3 29
|
||||
#define BCM63268_IRQ_WAKE_ON_IRQ 30
|
||||
#define BCM63268_IRQ_GPHY 31
|
||||
#define BCM63268_IRQ_DECT0 32
|
||||
#define BCM63268_IRQ_DECT0 32
|
||||
#define BCM63268_IRQ_DECT1 33
|
||||
#define BCM63268_IRQ_UART1 34
|
||||
#define BCM63268_IRQ_UART1 34
|
||||
#define BCM63268_IRQ_WLAN_GPIO 35
|
||||
#define BCM63268_IRQ_USB_CTL_TX_DMA 36
|
||||
#define BCM63268_IRQ_USB_BULK_TX_DMA 37
|
||||
@ -83,4 +83,9 @@
|
||||
#define BCM63268_IRQ_ATM_DMA19 79
|
||||
#define BCM63268_IRQ_LSSPI 80
|
||||
|
||||
#define BCM63268_EXTIRQ_0 0 /* GPIO 32 */
|
||||
#define BCM63268_EXTIRQ_1 1 /* GPIO 33 */
|
||||
#define BCM63268_EXTIRQ_2 2 /* GPIO 34 */
|
||||
#define BCM63268_EXTIRQ_3 3 /* GPIO 35 */
|
||||
|
||||
#endif /* __DT_BINDINGS_INTERRUPT_CONTROLLER_BCM63268_H */
|
||||
|
||||
@ -65,4 +65,9 @@
|
||||
#define BCM6328_IRQ_ATM_DMA19 62
|
||||
#define BCM6328_IRQ_SAR 63
|
||||
|
||||
#define BCM6328_EXTIRQ_0 0 /* GPIO 23 */
|
||||
#define BCM6328_EXTIRQ_1 1 /* GPIO 24 */
|
||||
#define BCM6328_EXTIRQ_2 2 /* GPIO 15 */
|
||||
#define BCM6328_EXTIRQ_3 3 /* GPIO 12 */
|
||||
|
||||
#endif /* __DT_BINDINGS_INTERRUPT_CONTROLLER_BCM6328_H */
|
||||
|
||||
@ -35,4 +35,11 @@
|
||||
#define BCM6358_IRQ_DG 30
|
||||
#define BCM6358_IRQ_MPI 31
|
||||
|
||||
#define BCM6358_EXTIRQ0_0 0 /* GPIO 34 */
|
||||
#define BCM6358_EXTIRQ0_1 1 /* GPIO 35 */
|
||||
#define BCM6358_EXTIRQ0_2 2 /* GPIO 36 */
|
||||
#define BCM6358_EXTIRQ0_3 3 /* GPIO 37 */
|
||||
#define BCM6358_EXTIRQ1_4 0 /* GPIO 32 */
|
||||
#define BCM6358_EXTIRQ1_5 1 /* GPIO 33 */
|
||||
|
||||
#endif /* __DT_BINDINGS_INTERRUPT_CONTROLLER_BCM6358_H */
|
||||
|
||||
@ -65,7 +65,12 @@
|
||||
#define BCM6362_IRQ_ATM_DMA15 59
|
||||
#define BCM6362_IRQ_ATM_DMA16 60
|
||||
#define BCM6362_IRQ_ATM_DMA17 61
|
||||
#define BCM6362_IRQ_ATM_DMA18 62
|
||||
#define BCM6362_IRQ_ATM_DMA18 62
|
||||
#define BCM6362_IRQ_ATM_DMA19 63
|
||||
|
||||
#define BCM6362_EXTIRQ_0 0 /* GPIO 24 */
|
||||
#define BCM6362_EXTIRQ_1 1 /* GPIO 25 */
|
||||
#define BCM6362_EXTIRQ_2 2 /* GPIO 26 */
|
||||
#define BCM6362_EXTIRQ_3 3 /* GPIO 27 */
|
||||
|
||||
#endif /* __DT_BINDINGS_INTERRUPT_CONTROLLER_BCM6362_H */
|
||||
|
||||
@ -35,14 +35,14 @@
|
||||
#define BCM6368_IRQ_USB_BULK_TX_DMA 29
|
||||
#define BCM6368_IRQ_USB_ISO_RX_DMA 30
|
||||
#define BCM6368_IRQ_USB_ISO_TX_DMA 31
|
||||
#define BCM6368_IRQ_ENETSW_RX_DMA0 32
|
||||
#define BCM6368_IRQ_ENETSW_RX_DMA1 33
|
||||
#define BCM6368_IRQ_ENETSW_RX_DMA2 34
|
||||
#define BCM6368_IRQ_ENETSW_RX_DMA3 35
|
||||
#define BCM6368_IRQ_ENETSW_TX_DMA0 36
|
||||
#define BCM6368_IRQ_ENETSW_TX_DMA1 37
|
||||
#define BCM6368_IRQ_ENETSW_TX_DMA2 38
|
||||
#define BCM6368_IRQ_ENETSW_TX_DMA3 39
|
||||
#define BCM6368_IRQ_ENETSW_RX_DMA0 32
|
||||
#define BCM6368_IRQ_ENETSW_RX_DMA1 33
|
||||
#define BCM6368_IRQ_ENETSW_RX_DMA2 34
|
||||
#define BCM6368_IRQ_ENETSW_RX_DMA3 35
|
||||
#define BCM6368_IRQ_ENETSW_TX_DMA0 36
|
||||
#define BCM6368_IRQ_ENETSW_TX_DMA1 37
|
||||
#define BCM6368_IRQ_ENETSW_TX_DMA2 38
|
||||
#define BCM6368_IRQ_ENETSW_TX_DMA3 39
|
||||
#define BCM6368_IRQ_ATM_DMA0 40
|
||||
#define BCM6368_IRQ_ATM_DMA1 41
|
||||
#define BCM6368_IRQ_ATM_DMA2 42
|
||||
@ -68,4 +68,11 @@
|
||||
#define BCM6368_IRQ_PCM_DMA0 62
|
||||
#define BCM6368_IRQ_PCM_DMA1 63
|
||||
|
||||
#define BCM6368_EXTIRQ0_0 0 /* GPIO 34 */
|
||||
#define BCM6368_EXTIRQ0_1 1 /* GPIO 35 */
|
||||
#define BCM6368_EXTIRQ0_2 2 /* GPIO 36 */
|
||||
#define BCM6368_EXTIRQ0_3 3 /* GPIO 37 */
|
||||
#define BCM6368_EXTIRQ1_4 0 /* GPIO 32 */
|
||||
#define BCM6368_EXTIRQ1_5 1 /* GPIO 33 */
|
||||
|
||||
#endif /* __DT_BINDINGS_INTERRUPT_CONTROLLER_BCM6368_H */
|
||||
|
||||
@ -73,7 +73,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||
obj-$(CONFIG_BCM7120_L2_IRQ) += irq-bcm7120-l2.o
|
||||
--- /dev/null
|
||||
+++ b/drivers/irqchip/irq-bcm6345-ext.c
|
||||
@@ -0,0 +1,299 @@
|
||||
@@ -0,0 +1,280 @@
|
||||
+/*
|
||||
+ * This file is subject to the terms and conditions of the GNU General Public
|
||||
+ * License. See the file "COPYING" in the main directory of this archive
|
||||
@ -94,14 +94,6 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||
+#include <linux/slab.h>
|
||||
+#include <linux/spinlock.h>
|
||||
+
|
||||
+#ifdef CONFIG_BCM63XX
|
||||
+#include <asm/mach-bcm63xx/bcm63xx_irq.h>
|
||||
+
|
||||
+#define VIRQ_BASE IRQ_EXTERNAL_BASE
|
||||
+#else
|
||||
+#define VIRQ_BASE 0
|
||||
+#endif
|
||||
+
|
||||
+#define MAX_IRQS 4
|
||||
+
|
||||
+#define EXTIRQ_CFG_SENSE 0
|
||||
@ -271,7 +263,6 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||
+{
|
||||
+ struct intc_data *data;
|
||||
+ unsigned int i;
|
||||
+ int start = VIRQ_BASE;
|
||||
+
|
||||
+ data = kzalloc(sizeof(*data), GFP_KERNEL);
|
||||
+ if (!data)
|
||||
@ -296,17 +287,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||
+ data->chip.irq_unmask = bcm6345_ext_intc_irq_unmask;
|
||||
+ data->chip.irq_set_type = bcm6345_ext_intc_set_type;
|
||||
+
|
||||
+ /*
|
||||
+ * If we have less than 4 irqs, this is the second controller on
|
||||
+ * bcm63xx. So increase the VIRQ start to not overlap with the first
|
||||
+ * one, but only do so if we actually use a non-zero start.
|
||||
+ *
|
||||
+ * This can be removed when bcm63xx has no legacy users anymore.
|
||||
+ */
|
||||
+ if (start && num_irqs < 4)
|
||||
+ start += 4;
|
||||
+
|
||||
+ data->domain = irq_domain_add_simple(node, num_irqs, start,
|
||||
+ data->domain = irq_domain_add_linear(node, num_irqs,
|
||||
+ &bcm6345_ext_domain_ops, data);
|
||||
+ if (!data->domain) {
|
||||
+ kfree(data);
|
||||
|
||||
@ -1,3 +1,20 @@
|
||||
From f5d43ddd334b7c32fcaed9ba46afbd85cb467f1f Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Golle <daniel@makrotopia.org>
|
||||
Date: Sun, 19 Mar 2023 12:56:28 +0000
|
||||
Subject: [PATCH] net: ethernet: mtk_eth_soc: add support for MT7981 SoC
|
||||
|
||||
The MediaTek MT7981 SoC comes with two 1G/2.5G SGMII ports, just like
|
||||
MT7986.
|
||||
|
||||
In addition MT7981 is equipped with a built-in 1000Base-T PHY which can
|
||||
be used with GMAC1.
|
||||
|
||||
As many MT7981 boards make use of inverting SGMII signal polarity, add
|
||||
new device-tree attribute 'mediatek,pn_swap' to support them.
|
||||
|
||||
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
|
||||
--- a/drivers/net/ethernet/mediatek/mtk_eth_path.c
|
||||
+++ b/drivers/net/ethernet/mediatek/mtk_eth_path.c
|
||||
@@ -96,12 +96,20 @@ static int set_mux_gmac2_gmac0_to_gephy(
|
||||
|
||||
@ -1,3 +1,16 @@
|
||||
From 880d1311335120f64447ca9d11933872d734e19a Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Golle <daniel@makrotopia.org>
|
||||
Date: Mon, 27 Mar 2023 18:41:54 +0100
|
||||
Subject: [PATCH] generic: pcs-mtk-lynxi: add hack to use 2500Base-X without AN
|
||||
|
||||
Using 2500Base-T SFP modules e.g. on the BananaPi R3 requires manually
|
||||
disabling auto-negotiation, e.g. using ethtool. While a proper fix
|
||||
using SFP quirks is being discussed upstream, bring a work-around to
|
||||
restore user experience to what it was before the switch to the
|
||||
dedicated SGMII PCS driver.
|
||||
|
||||
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
|
||||
--- a/drivers/net/pcs/pcs-mtk-lynxi.c
|
||||
+++ b/drivers/net/pcs/pcs-mtk-lynxi.c
|
||||
@@ -92,14 +92,23 @@ static void mtk_pcs_lynxi_get_state(stru
|
||||
|
||||
@ -1,3 +1,20 @@
|
||||
From 027586ae8ecacff49757ed854c020f35d24a599c Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Golle <daniel@makrotopia.org>
|
||||
Date: Sat, 11 Mar 2023 03:44:41 +0000
|
||||
Subject: [PATCH] generic: backport some phylink helper functions
|
||||
|
||||
It isn't feasible to literally backport all upstream phylink_pcs changes
|
||||
down to Linux 5.15: It's just too many patches, and many downstream
|
||||
drivers and hacks are likely to break. We are too close to branching off
|
||||
to risk this, and it's also just too much work.
|
||||
Instead just add helper functions used by modern PCS drivers while keeping
|
||||
the original functions instact as well. While this may add a kilobyte or
|
||||
two of extra kernel size, it has the advantage that we get the best of both
|
||||
worlds: None of the existing codepaths are touched, but yet we have the
|
||||
option to backport singular improvements to Ethernet drivers where needed.
|
||||
|
||||
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
|
||||
--- a/include/linux/phylink.h
|
||||
+++ b/include/linux/phylink.h
|
||||
@@ -584,10 +584,37 @@ int phylink_speed_up(struct phylink *pl)
|
||||
|
||||
@ -52,7 +52,7 @@
|
||||
flash@0 {
|
||||
compatible = "jedec,spi-nor";
|
||||
reg = <0>;
|
||||
spi-max-frequency = <80000000>;
|
||||
spi-max-frequency = <25000000>;
|
||||
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
|
||||
@ -85,7 +85,7 @@
|
||||
flash@0 {
|
||||
compatible = "jedec,spi-nor";
|
||||
reg = <0>;
|
||||
spi-max-frequency = <80000000>;
|
||||
spi-max-frequency = <25000000>;
|
||||
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
|
||||
Loading…
Reference in New Issue
Block a user