mirror of
https://github.com/kernelkit/infix.git
synced 2026-07-22 01:13:00 +02:00
Merge pull request #1111 from kernelkit/rpi-4-dsi-display
Raspberry Pi 4 DSI display
This commit is contained in:
@@ -7,3 +7,48 @@ Board Specific Documentation
|
||||
- [Marvell CN9130-CRB](cn9130-crb/)
|
||||
- [Microchip SparX-5i PCB135 (eMMC)](sparx5-pcb135/)
|
||||
- [NanoPi R2S](r2s/)
|
||||
- [Raspberry Pi 4 b](#raspberry-pi-4-b)
|
||||
|
||||
# Raspberry Pi 4 b
|
||||
|
||||
## Support level
|
||||
Full support for base board but not any extension board on the
|
||||
GPIOs.
|
||||
|
||||
### Touch screen
|
||||
The [Raspberry Pi touch display v1][RPI-TOUCH] is supported, including
|
||||
touch functionality. There are multiple touchscreens on the market for
|
||||
Raspberry Pi, but only the official (first version with 800x480
|
||||
resolution) is currently supported. Infix supplies all drivers
|
||||
required to utilize the hardware, but you need to add the actual
|
||||
graphical application in a container.
|
||||
|
||||
There are some important considerations you need to know about when
|
||||
using Infix for graphical applications. The container needs access to
|
||||
/dev/dri/ to be able to access the graphics card, and it also needs
|
||||
access to /run/udev to be able to find the input devices.
|
||||
|
||||
Example of running Doom in Infix:
|
||||
|
||||
```cli
|
||||
admin@example:/> configure
|
||||
admin@example:/config/> edit container doom
|
||||
admin@example:/config/container/doom/> set image docker://mattiaswal/alpine-doom:latest
|
||||
admin@example:/config/container/doom/> set privileged
|
||||
admin@example:/config/container/doom/> edit mount udev
|
||||
admin@example:/config/container/doom/mount/udev/> set type bind
|
||||
admin@example:/config/container/doom/mount/udev/> set target /run/udev/
|
||||
admin@example:/config/container/doom/mount/udev/> set source /run/udev/
|
||||
admin@example:/config/container/doom/mount/udev/> end
|
||||
admin@example:/config/container/doom/mount/xorg.conf/> set content U2VjdGlvbiAiU2VydmVyTGF5b3V0IgogICAgSWRlbnRpZmllciAiRGVmYXVsdExheW91dCIKICAgIFNjcmVlbiAwICJTY3JlZW4wIiAwIDAKRW5kU2VjdGlvbgpTZWN0aW9uICJEZXZpY2UiCiAgICBJZGVudGlmaWVyICJpTVggTENEIgogICAgRHJpdmVyICJtb2Rlc2V0dGluZyIKICAgIEJ1c0lEICJwbGF0Zm9ybTozMmZjNjAwMC5kaXNwbGF5LWNvbnRyb2xsZXIiCiAgICBPcHRpb24gImttc2RldiIgIi9kZXYvZHJpL2NhcmQxIgpFbmRTZWN0aW9uCgpTZWN0aW9uICJTY3JlZW4iCiAgICBJZGVudGlmaWVyICJTY3JlZW4wIgogICAgRGV2aWNlICJpTVggTENEIgogICAgRGVmYXVsdERlcHRoIDI0CkVuZFNlY3Rpb24KCg==
|
||||
admin@example:/config/container/doom/mount/xorg.conf/> set target /etc/X11/xorg.conf
|
||||
admin@example:/config/container/doom/mount/xorg.conf/> end
|
||||
admin@example:/config/container/doom/> edit volume var
|
||||
admin@example:/config/container/doom/volume/var/> set target /var
|
||||
admin@example:/config/container/doom/volume/var/> leave
|
||||
admin@example:/>
|
||||
|
||||
```
|
||||
|
||||
|
||||
[RPI-TOUCH]: https://www.raspberrypi.com/products/raspberry-pi-touch-display/
|
||||
|
||||
@@ -110,11 +110,3 @@ if [ "$BR2_TARGET_ROOTFS_SQUASHFS" = "y" ]; then
|
||||
# Quick intro for beginners, with links to more information
|
||||
cp "$BR2_EXTERNAL_INFIX_PATH/board/common/README.txt" "$BINARIES_DIR/"
|
||||
fi
|
||||
|
||||
boards=$(${BR2_EXTERNAL_INFIX_PATH}/board/common/selected-boards.sh ${BR2_EXTERNAL_INFIX_PATH} ${O})
|
||||
for board in $boards; do
|
||||
[ ! -f "${BR2_EXTERNAL_INFIX_PATH}/src/board/${board}/post-image.sh" ] && continue
|
||||
RELEASE=$(ver)
|
||||
export INFIX_ID RELEASE
|
||||
${BR2_EXTERNAL_INFIX_PATH}/src/board/${board}/post-image.sh
|
||||
done
|
||||
|
||||
@@ -1,61 +0,0 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Check if an infix board is selected
|
||||
|
||||
if [ $# -ne 2 ]; then
|
||||
echo "usage: $0 <INFIX-DIR> <OUTPUT>"
|
||||
exit 1
|
||||
fi
|
||||
ROOT=$1
|
||||
O=$2
|
||||
BOARD_SRC_DIR="${ROOT}/src/board"
|
||||
BOARD_PACKAGE_DIR="${ROOT}/package/board"
|
||||
CONFIG_FILE="${O}/.config"
|
||||
|
||||
is_board_enabled() {
|
||||
local symbol=$1
|
||||
|
||||
if [ -f "$CONFIG_FILE" ]; then
|
||||
if grep -q "^${symbol}=y" "$CONFIG_FILE" 2>/dev/null; then
|
||||
return 0 # enabled
|
||||
else
|
||||
return 1 # disabled or not set
|
||||
fi
|
||||
else
|
||||
echo "Warning: No .config file found. Run 'make menuconfig' first."
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
get_actual_config_symbol() {
|
||||
local board_name=$1
|
||||
local config_file="${BOARD_PACKAGE_DIR}/$board_name/Config.in"
|
||||
|
||||
if [ -f "$config_file" ]; then
|
||||
# Extract the first config symbol from the Config.in file
|
||||
local symbol=$(grep -m1 "^config " "$config_file" 2>/dev/null | awk '{print $2}')
|
||||
if [ -n "$symbol" ]; then
|
||||
echo "$symbol"
|
||||
return 0
|
||||
fi
|
||||
fi
|
||||
|
||||
# Fallback to predicted symbol if no Config.in found
|
||||
echo "BR2_PACKAGE_BOARD_$(echo "$board_name" | tr '[:lower:]' '[:upper:]' | tr '-' '_')"
|
||||
return 1
|
||||
}
|
||||
|
||||
boards=""
|
||||
|
||||
for board_path in "$BOARD_SRC_DIR"/*; do
|
||||
if [ -d "$board_path" ]; then
|
||||
board_name=$(basename "$board_path")
|
||||
config_symbol=$(get_actual_config_symbol "$board_name")
|
||||
|
||||
if is_board_enabled "$config_symbol"; then
|
||||
boards="$boards $board_name"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
echo "$boards"
|
||||
+3
-1
@@ -11,11 +11,13 @@ All notable changes to the project are documented in this file.
|
||||
- Upgrade Linux kernel to 6.12.42 (LTS)
|
||||
- Raspberry Pi 4 is now a part of the aarch64 image, as well as a SDcard
|
||||
image for initial deployments.
|
||||
|
||||
- Add support for [Raspberry Pi touch display][RPI-TOUCH] on Raspberry Pi 4
|
||||
|
||||
### Fixes
|
||||
- containers: prune dangling images to reclaim disk space (#1098)
|
||||
|
||||
[RPI-TOUCH]: https://www.raspberrypi.com/products/raspberry-pi-touch-display/
|
||||
|
||||
[v25.06.0][] - 2025-07-01
|
||||
-------------------------
|
||||
|
||||
|
||||
@@ -5,10 +5,5 @@ config BR2_PACKAGE_RASPBERRY_PI_4
|
||||
select BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI
|
||||
select BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI_WIFI
|
||||
|
||||
select BR2_PACKAGE_RPI_FIRMWARE
|
||||
select BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4
|
||||
select BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4_X
|
||||
select SDCARD_AUX
|
||||
select BR2_TARGET_UBOOT_NEEDS_UBOOT_TOOLS
|
||||
help
|
||||
Raspberry pi 4
|
||||
Raspberry Pi 4
|
||||
|
||||
@@ -1,37 +1,28 @@
|
||||
define RASPBERRY_PI_4_LINUX_CONFIG_FIXUPS
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_SOUND)
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_SND)
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_SND_SOC)
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_COMMON_CLK_BCM2835)
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_CLK_RASPBERRYPI)
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_DRM)
|
||||
$(call KCONFIG_SET_OPT,CONFIG_DRM_V3D,m)
|
||||
$(call KCONFIG_SET_OPT,CONFIG_DRM_VC4,m)
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_DRM_VC4_HDMI_CEC)
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_DRM_LOAD_EDID_FIRMWARE)
|
||||
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_FB)
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_DRM_FBDEV_EMULATION)
|
||||
|
||||
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_INPUT_MOUSE)
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_INPUT_KEYBOARD)
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_INPUT_TOUCHSCREEN)
|
||||
$(call KCONFIG_SET_OPT,CONFIG_TOUCHSCREEN_EDT_FT5X06,m)
|
||||
$(call KCONFIG_SET_OPT,CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN,m)
|
||||
$(call KCONFIG_SET_OPT,CONFIG_INPUT_MOUSEDEV,m)
|
||||
$(call KCONFIG_SET_OPT,CONFIG_HID_GENERIC,m)
|
||||
|
||||
# RPI
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_ARCH_BCM)
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_ARCH_BCM2835)
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_ARCH_BRCMSTB)
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_BCM2835_MBOX)
|
||||
$(call KCONFIG_SET_OPT,CONFIG_BCM2835_MBOX,y)
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_BCM2835_WDT)
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_DMA_BCM2835)
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_RASPBERRYPI_FIRMWARE)
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_PINCTRL_BCM2835)
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_GPIO_BCM2835)
|
||||
$(call KCONFIG_SET_OPT,CONFIG_BRCMFMAC,m)
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_BRCMFMAC_SDIO)
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_I2C_BCM2835)
|
||||
$(call KCONFIG_SET_OPT,CONFIG_I2C_BCM2835,m)
|
||||
$(call KCONFIG_SET_OPT,CONFIG_BCM2711_THERMAL,m)
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_MMC_BCM2835)
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_MMC_SDHCI_IPROC)
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_BCM2711_THERMAL)
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_RASPBERRYPI_POWER)
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_SERIAL_8250)
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_SERIAL_8250_CONSOLE)
|
||||
@@ -39,8 +30,32 @@ define RASPBERRY_PI_4_LINUX_CONFIG_FIXUPS
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_SERIAL_8250_EXTENDED)
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_SERIAL_8250_SHARE_IRQ)
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_NET_VENDOR_BROADCOM)
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_BCMGENET)
|
||||
endef
|
||||
$(call KCONFIG_SET_OPT,CONFIG_BCMGENET,m)
|
||||
$(call KCONFIG_SET_OPT,CONFIG_REGULATOR_RASPBERRYPI_TOUCHSCREEN_ATTINY,m)
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_COMMON_CLK_BCM2835)
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_CLK_RASPBERRYPI)
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_DRM)
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_DRM_KMS_HELPER)
|
||||
$(call KCONFIG_SET_OPT,CONFIG_DRM_V3D,m)
|
||||
$(call KCONFIG_SET_OPT,CONFIG_DRM_VC4,m)
|
||||
$(call KCONFIG_SET_OPT,CONFIG_STAGING,y)
|
||||
$(call KCONFIG_SET_OPT,CONFIG_SND_BCM2835,m)
|
||||
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_DRM_VC4_HDMI_CEC)
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_DRM_LOAD_EDID_FIRMWARE)
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_DRM_PANEL_BRIDGE)
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_DRM_BRIDGE)
|
||||
$(call KCONFIG_SET_OPT,CONFIG_DRM_TOSHIBA_TC358762,m)
|
||||
$(call KCONFIG_SET_OPT,CONFIG_DRM_PANEL_SIMPLE,m)
|
||||
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_FB)
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_FRAMEBUFFER_CONSOLE)
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY)
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_DRM_FBDEV_EMULATION)
|
||||
|
||||
$(call KCONFIG_SET_OPT,CONFIG_TOUCHSCREEN_EDT_FT5X06,m)
|
||||
|
||||
$(call KCONFIG_ENABLE_OPT,CONFIG_BACKLIGHT_CLASS_DEVICE)
|
||||
endef
|
||||
$(eval $(ix-board))
|
||||
$(eval $(generic-package))
|
||||
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
From 40a8201087967980260b7424bbbde69fea24a773 Mon Sep 17 00:00:00 2001
|
||||
From: Tobias Waldekranz <tobias@waldekranz.com>
|
||||
Date: Tue, 12 Mar 2024 10:27:24 +0100
|
||||
Subject: [PATCH 01/28] [FIX] net: dsa: mv88e6xxx: Fix timeout on waiting for
|
||||
Subject: [PATCH 01/30] [FIX] net: dsa: mv88e6xxx: Fix timeout on waiting for
|
||||
PPU on 6393X
|
||||
Organization: Wires
|
||||
|
||||
@@ -13,7 +13,7 @@ register 0, bit 15). Therefore, increase the timeout threshold to 1s.
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/net/dsa/mv88e6xxx/chip.c b/drivers/net/dsa/mv88e6xxx/chip.c
|
||||
index 211c219dd52d..d64c3eef4447 100644
|
||||
index 211c219dd52db..d64c3eef4447a 100644
|
||||
--- a/drivers/net/dsa/mv88e6xxx/chip.c
|
||||
+++ b/drivers/net/dsa/mv88e6xxx/chip.c
|
||||
@@ -86,7 +86,7 @@ int mv88e6xxx_write(struct mv88e6xxx_chip *chip, int addr, int reg, u16 val)
|
||||
|
||||
+6
-6
@@ -1,7 +1,7 @@
|
||||
From a6289c5551cdfc4aa715e6ba66c9030e9dbbe9e1 Mon Sep 17 00:00:00 2001
|
||||
From: Tobias Waldekranz <tobias@waldekranz.com>
|
||||
Date: Wed, 27 Mar 2024 15:52:43 +0100
|
||||
Subject: [PATCH 02/28] net: dsa: mv88e6xxx: Improve indirect register access
|
||||
Subject: [PATCH 02/30] net: dsa: mv88e6xxx: Improve indirect register access
|
||||
perf on 6393
|
||||
Organization: Wires
|
||||
|
||||
@@ -22,7 +22,7 @@ other accesses use the regular indirect interface.
|
||||
5 files changed, 119 insertions(+)
|
||||
|
||||
diff --git a/drivers/net/dsa/mv88e6xxx/chip.c b/drivers/net/dsa/mv88e6xxx/chip.c
|
||||
index d64c3eef4447..47138492885e 100644
|
||||
index d64c3eef4447a..47138492885e6 100644
|
||||
--- a/drivers/net/dsa/mv88e6xxx/chip.c
|
||||
+++ b/drivers/net/dsa/mv88e6xxx/chip.c
|
||||
@@ -6539,6 +6539,13 @@ static int mv88e6xxx_detect(struct mv88e6xxx_chip *chip)
|
||||
@@ -40,7 +40,7 @@ index d64c3eef4447..47138492885e 100644
|
||||
chip->info->prod_num, chip->info->name, rev);
|
||||
|
||||
diff --git a/drivers/net/dsa/mv88e6xxx/global1.h b/drivers/net/dsa/mv88e6xxx/global1.h
|
||||
index 3dbb7a1b8fe1..5ea956aadecc 100644
|
||||
index 3dbb7a1b8fe11..5ea956aadecc9 100644
|
||||
--- a/drivers/net/dsa/mv88e6xxx/global1.h
|
||||
+++ b/drivers/net/dsa/mv88e6xxx/global1.h
|
||||
@@ -218,6 +218,9 @@
|
||||
@@ -54,7 +54,7 @@ index 3dbb7a1b8fe1..5ea956aadecc 100644
|
||||
#define MV88E6XXX_G1_CTL2 0x1c
|
||||
#define MV88E6185_G1_CTL2_CASCADE_PORT_MASK 0xf000
|
||||
diff --git a/drivers/net/dsa/mv88e6xxx/global2.h b/drivers/net/dsa/mv88e6xxx/global2.h
|
||||
index 82f9b410de0b..3663645621c9 100644
|
||||
index 82f9b410de0b8..3663645621c9d 100644
|
||||
--- a/drivers/net/dsa/mv88e6xxx/global2.h
|
||||
+++ b/drivers/net/dsa/mv88e6xxx/global2.h
|
||||
@@ -143,6 +143,9 @@
|
||||
@@ -68,7 +68,7 @@ index 82f9b410de0b..3663645621c9 100644
|
||||
#define MV88E6XXX_G2_EEPROM_CMD 0x14
|
||||
#define MV88E6XXX_G2_EEPROM_CMD_BUSY 0x8000
|
||||
diff --git a/drivers/net/dsa/mv88e6xxx/smi.c b/drivers/net/dsa/mv88e6xxx/smi.c
|
||||
index a990271b7482..f54bb0e79030 100644
|
||||
index a990271b74823..f54bb0e79030c 100644
|
||||
--- a/drivers/net/dsa/mv88e6xxx/smi.c
|
||||
+++ b/drivers/net/dsa/mv88e6xxx/smi.c
|
||||
@@ -8,6 +8,8 @@
|
||||
@@ -169,7 +169,7 @@ index a990271b7482..f54bb0e79030 100644
|
||||
chip->smi_ops = &mv88e6xxx_smi_indirect_ops;
|
||||
else
|
||||
diff --git a/drivers/net/dsa/mv88e6xxx/smi.h b/drivers/net/dsa/mv88e6xxx/smi.h
|
||||
index c6c71d5757f5..788cf68b7b33 100644
|
||||
index c6c71d5757f5d..788cf68b7b334 100644
|
||||
--- a/drivers/net/dsa/mv88e6xxx/smi.h
|
||||
+++ b/drivers/net/dsa/mv88e6xxx/smi.h
|
||||
@@ -31,6 +31,36 @@
|
||||
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
From 91a77f0ff1202cd1f7bca0a62b7c1d07209feb7d Mon Sep 17 00:00:00 2001
|
||||
From: Tobias Waldekranz <tobias@waldekranz.com>
|
||||
Date: Mon, 22 Apr 2024 23:18:01 +0200
|
||||
Subject: [PATCH 03/28] net: dsa: mv88e6xxx: Honor ports being managed via
|
||||
Subject: [PATCH 03/30] net: dsa: mv88e6xxx: Honor ports being managed via
|
||||
in-band-status
|
||||
Organization: Wires
|
||||
|
||||
@@ -18,7 +18,7 @@ when in-band-status is being used.
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/drivers/net/dsa/mv88e6xxx/chip.c b/drivers/net/dsa/mv88e6xxx/chip.c
|
||||
index 47138492885e..b96bc12dc6a8 100644
|
||||
index 47138492885e6..b96bc12dc6a86 100644
|
||||
--- a/drivers/net/dsa/mv88e6xxx/chip.c
|
||||
+++ b/drivers/net/dsa/mv88e6xxx/chip.c
|
||||
@@ -964,6 +964,9 @@ static void mv88e6xxx_mac_link_down(struct phylink_config *config,
|
||||
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
From 562c9080217c439d2ce92307ad675ee3e0572d44 Mon Sep 17 00:00:00 2001
|
||||
From: Tobias Waldekranz <tobias@waldekranz.com>
|
||||
Date: Wed, 24 Apr 2024 22:41:04 +0200
|
||||
Subject: [PATCH 04/28] net: dsa: mv88e6xxx: Limit rsvd2cpu policy to user
|
||||
Subject: [PATCH 04/30] net: dsa: mv88e6xxx: Limit rsvd2cpu policy to user
|
||||
ports on 6393X
|
||||
Organization: Wires
|
||||
|
||||
@@ -34,7 +34,7 @@ forwarded like any other.
|
||||
1 file changed, 25 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/dsa/mv88e6xxx/port.c b/drivers/net/dsa/mv88e6xxx/port.c
|
||||
index 04053fdc6489..f25fb3214acb 100644
|
||||
index 04053fdc6489a..f25fb3214acb9 100644
|
||||
--- a/drivers/net/dsa/mv88e6xxx/port.c
|
||||
+++ b/drivers/net/dsa/mv88e6xxx/port.c
|
||||
@@ -1432,6 +1432,23 @@ static int mv88e6393x_port_policy_write_all(struct mv88e6xxx_chip *chip,
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From e3a3a1d5a835028eb83444b809d87bada292a6f0 Mon Sep 17 00:00:00 2001
|
||||
From: Tobias Waldekranz <tobias@waldekranz.com>
|
||||
Date: Thu, 16 Nov 2023 19:44:32 +0100
|
||||
Subject: [PATCH 05/28] net: dsa: mv88e6xxx: Add LED infrastructure
|
||||
Subject: [PATCH 05/30] net: dsa: mv88e6xxx: Add LED infrastructure
|
||||
Organization: Wires
|
||||
|
||||
Parse DT for LEDs and register them for devices that support it,
|
||||
@@ -17,7 +17,7 @@ though no actual implementations exist yet.
|
||||
create mode 100644 drivers/net/dsa/mv88e6xxx/leds.h
|
||||
|
||||
diff --git a/drivers/net/dsa/mv88e6xxx/Makefile b/drivers/net/dsa/mv88e6xxx/Makefile
|
||||
index a9a9651187db..6720d9303914 100644
|
||||
index a9a9651187db7..6720d93039148 100644
|
||||
--- a/drivers/net/dsa/mv88e6xxx/Makefile
|
||||
+++ b/drivers/net/dsa/mv88e6xxx/Makefile
|
||||
@@ -9,6 +9,7 @@ mv88e6xxx-objs += global2.o
|
||||
@@ -29,7 +29,7 @@ index a9a9651187db..6720d9303914 100644
|
||||
mv88e6xxx-objs += pcs-6352.o
|
||||
mv88e6xxx-objs += pcs-639x.o
|
||||
diff --git a/drivers/net/dsa/mv88e6xxx/chip.c b/drivers/net/dsa/mv88e6xxx/chip.c
|
||||
index b96bc12dc6a8..f92b7d7d5780 100644
|
||||
index b96bc12dc6a86..f92b7d7d57801 100644
|
||||
--- a/drivers/net/dsa/mv88e6xxx/chip.c
|
||||
+++ b/drivers/net/dsa/mv88e6xxx/chip.c
|
||||
@@ -37,6 +37,7 @@
|
||||
@@ -52,7 +52,7 @@ index b96bc12dc6a8..f92b7d7d5780 100644
|
||||
|
||||
static void mv88e6xxx_port_teardown(struct dsa_switch *ds, int port)
|
||||
diff --git a/drivers/net/dsa/mv88e6xxx/chip.h b/drivers/net/dsa/mv88e6xxx/chip.h
|
||||
index a54682240839..32c87ab754d1 100644
|
||||
index a546822408396..32c87ab754d1f 100644
|
||||
--- a/drivers/net/dsa/mv88e6xxx/chip.h
|
||||
+++ b/drivers/net/dsa/mv88e6xxx/chip.h
|
||||
@@ -207,6 +207,7 @@ struct mv88e6xxx_avb_ops;
|
||||
@@ -102,7 +102,7 @@ index a54682240839..32c87ab754d1 100644
|
||||
static inline bool mv88e6xxx_has_stu(struct mv88e6xxx_chip *chip)
|
||||
diff --git a/drivers/net/dsa/mv88e6xxx/leds.c b/drivers/net/dsa/mv88e6xxx/leds.c
|
||||
new file mode 100644
|
||||
index 000000000000..e3de10991f29
|
||||
index 0000000000000..e3de10991f297
|
||||
--- /dev/null
|
||||
+++ b/drivers/net/dsa/mv88e6xxx/leds.c
|
||||
@@ -0,0 +1,185 @@
|
||||
@@ -293,7 +293,7 @@ index 000000000000..e3de10991f29
|
||||
+}
|
||||
diff --git a/drivers/net/dsa/mv88e6xxx/leds.h b/drivers/net/dsa/mv88e6xxx/leds.h
|
||||
new file mode 100644
|
||||
index 000000000000..8afa2a0c0527
|
||||
index 0000000000000..8afa2a0c05278
|
||||
--- /dev/null
|
||||
+++ b/drivers/net/dsa/mv88e6xxx/leds.h
|
||||
@@ -0,0 +1,12 @@
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From abe5d15c0d04f410c2a2696b5fb2aa895cca3826 Mon Sep 17 00:00:00 2001
|
||||
From: Tobias Waldekranz <tobias@waldekranz.com>
|
||||
Date: Thu, 16 Nov 2023 21:59:35 +0100
|
||||
Subject: [PATCH 06/28] net: dsa: mv88e6xxx: Add LED support for 6393X
|
||||
Subject: [PATCH 06/30] net: dsa: mv88e6xxx: Add LED support for 6393X
|
||||
Organization: Wires
|
||||
|
||||
Trigger support:
|
||||
@@ -17,7 +17,7 @@ Trigger support:
|
||||
5 files changed, 272 insertions(+)
|
||||
|
||||
diff --git a/drivers/net/dsa/mv88e6xxx/chip.c b/drivers/net/dsa/mv88e6xxx/chip.c
|
||||
index f92b7d7d5780..c833b7e44d8b 100644
|
||||
index f92b7d7d57801..c833b7e44d8b4 100644
|
||||
--- a/drivers/net/dsa/mv88e6xxx/chip.c
|
||||
+++ b/drivers/net/dsa/mv88e6xxx/chip.c
|
||||
@@ -5691,6 +5691,7 @@ static const struct mv88e6xxx_ops mv88e6393x_ops = {
|
||||
@@ -29,7 +29,7 @@ index f92b7d7d5780..c833b7e44d8b 100644
|
||||
.pcs_ops = &mv88e6393x_pcs_ops,
|
||||
};
|
||||
diff --git a/drivers/net/dsa/mv88e6xxx/leds.c b/drivers/net/dsa/mv88e6xxx/leds.c
|
||||
index e3de10991f29..acdb5eca6647 100644
|
||||
index e3de10991f297..acdb5eca66472 100644
|
||||
--- a/drivers/net/dsa/mv88e6xxx/leds.c
|
||||
+++ b/drivers/net/dsa/mv88e6xxx/leds.c
|
||||
@@ -5,6 +5,13 @@
|
||||
@@ -276,7 +276,7 @@ index e3de10991f29..acdb5eca6647 100644
|
||||
enum led_brightness brightness)
|
||||
{
|
||||
diff --git a/drivers/net/dsa/mv88e6xxx/leds.h b/drivers/net/dsa/mv88e6xxx/leds.h
|
||||
index 8afa2a0c0527..542345d23dc5 100644
|
||||
index 8afa2a0c05278..542345d23dc5a 100644
|
||||
--- a/drivers/net/dsa/mv88e6xxx/leds.h
|
||||
+++ b/drivers/net/dsa/mv88e6xxx/leds.h
|
||||
@@ -7,6 +7,8 @@
|
||||
@@ -289,7 +289,7 @@ index 8afa2a0c0527..542345d23dc5 100644
|
||||
|
||||
#endif /* _MV88E6XXX_LEDS_H */
|
||||
diff --git a/drivers/net/dsa/mv88e6xxx/port.c b/drivers/net/dsa/mv88e6xxx/port.c
|
||||
index f25fb3214acb..aa5d312d8aa5 100644
|
||||
index f25fb3214acb9..aa5d312d8aa5e 100644
|
||||
--- a/drivers/net/dsa/mv88e6xxx/port.c
|
||||
+++ b/drivers/net/dsa/mv88e6xxx/port.c
|
||||
@@ -1558,6 +1558,39 @@ int mv88e6351_port_set_ether_type(struct mv88e6xxx_chip *chip, int port,
|
||||
@@ -333,7 +333,7 @@ index f25fb3214acb..aa5d312d8aa5 100644
|
||||
* Offset 0x19: Port IEEE Priority Remapping Registers [4-7]
|
||||
*/
|
||||
diff --git a/drivers/net/dsa/mv88e6xxx/port.h b/drivers/net/dsa/mv88e6xxx/port.h
|
||||
index ddadeb9bfdae..7157864dc20f 100644
|
||||
index ddadeb9bfdaee..7157864dc20fe 100644
|
||||
--- a/drivers/net/dsa/mv88e6xxx/port.h
|
||||
+++ b/drivers/net/dsa/mv88e6xxx/port.h
|
||||
@@ -309,6 +309,9 @@
|
||||
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
From 2545496357bd22dd5f34ff802ec5e78617949c48 Mon Sep 17 00:00:00 2001
|
||||
From: Tobias Waldekranz <tobias@waldekranz.com>
|
||||
Date: Tue, 28 May 2024 10:38:42 +0200
|
||||
Subject: [PATCH 07/28] net: dsa: tag_dsa: Use tag priority as initial
|
||||
Subject: [PATCH 07/30] net: dsa: tag_dsa: Use tag priority as initial
|
||||
skb->priority
|
||||
Organization: Wires
|
||||
|
||||
@@ -24,7 +24,7 @@ implemented, support the setup that is likely to be the most common; a
|
||||
1 file changed, 7 insertions(+)
|
||||
|
||||
diff --git a/net/dsa/tag_dsa.c b/net/dsa/tag_dsa.c
|
||||
index 2a2c4fb61a65..a00ae6bf2971 100644
|
||||
index 2a2c4fb61a65c..a00ae6bf29717 100644
|
||||
--- a/net/dsa/tag_dsa.c
|
||||
+++ b/net/dsa/tag_dsa.c
|
||||
@@ -323,6 +323,13 @@ static struct sk_buff *dsa_rcv_ll(struct sk_buff *skb, struct net_device *dev,
|
||||
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
From 03609dd912ed2af88486f958098c7b7440ea27b6 Mon Sep 17 00:00:00 2001
|
||||
From: Tobias Waldekranz <tobias@waldekranz.com>
|
||||
Date: Tue, 16 Jan 2024 16:00:55 +0100
|
||||
Subject: [PATCH 08/28] net: dsa: Support MDB memberships whose L2 addresses
|
||||
Subject: [PATCH 08/30] net: dsa: Support MDB memberships whose L2 addresses
|
||||
overlap
|
||||
Organization: Wires
|
||||
|
||||
@@ -34,7 +34,7 @@ which previously skipped reference countung on user ports.
|
||||
1 file changed, 16 deletions(-)
|
||||
|
||||
diff --git a/net/dsa/switch.c b/net/dsa/switch.c
|
||||
index 3d2feeea897b..628e8a884dde 100644
|
||||
index 3d2feeea897b6..628e8a884dde5 100644
|
||||
--- a/net/dsa/switch.c
|
||||
+++ b/net/dsa/switch.c
|
||||
@@ -164,14 +164,6 @@ static int dsa_port_do_mdb_add(struct dsa_port *dp,
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 3b5250872088b5f0451608e2f8ea06cd4a00177c Mon Sep 17 00:00:00 2001
|
||||
From: Tobias Waldekranz <tobias@waldekranz.com>
|
||||
Date: Thu, 21 Mar 2024 19:12:15 +0100
|
||||
Subject: [PATCH 09/28] net: dsa: Support EtherType based priority overrides
|
||||
Subject: [PATCH 09/30] net: dsa: Support EtherType based priority overrides
|
||||
Organization: Wires
|
||||
|
||||
---
|
||||
@@ -10,7 +10,7 @@ Organization: Wires
|
||||
2 files changed, 58 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/include/net/dsa.h b/include/net/dsa.h
|
||||
index d7a6c2930277..db30c059b3c2 100644
|
||||
index d7a6c2930277e..db30c059b3c25 100644
|
||||
--- a/include/net/dsa.h
|
||||
+++ b/include/net/dsa.h
|
||||
@@ -968,6 +968,10 @@ struct dsa_switch_ops {
|
||||
@@ -25,7 +25,7 @@ index d7a6c2930277..db30c059b3c2 100644
|
||||
/*
|
||||
* Suspend and resume
|
||||
diff --git a/net/dsa/user.c b/net/dsa/user.c
|
||||
index 64f660d2334b..e13fb22e2c2b 100644
|
||||
index 64f660d2334b7..e13fb22e2c2b6 100644
|
||||
--- a/net/dsa/user.c
|
||||
+++ b/net/dsa/user.c
|
||||
@@ -2294,6 +2294,34 @@ dsa_user_dcbnl_add_dscp_prio(struct net_device *dev, struct dcb_app *app)
|
||||
|
||||
+7
-7
@@ -1,7 +1,7 @@
|
||||
From 7463f43f815b99764b9783de0dd8f1625443ba49 Mon Sep 17 00:00:00 2001
|
||||
From: Tobias Waldekranz <tobias@waldekranz.com>
|
||||
Date: Fri, 22 Mar 2024 16:15:43 +0100
|
||||
Subject: [PATCH 10/28] net: dsa: mv88e6xxx: Support EtherType based priority
|
||||
Subject: [PATCH 10/30] net: dsa: mv88e6xxx: Support EtherType based priority
|
||||
overrides
|
||||
Organization: Wires
|
||||
|
||||
@@ -15,7 +15,7 @@ Organization: Wires
|
||||
6 files changed, 207 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/dsa/mv88e6xxx/chip.c b/drivers/net/dsa/mv88e6xxx/chip.c
|
||||
index c833b7e44d8b..c48369663425 100644
|
||||
index c833b7e44d8b4..c483696634256 100644
|
||||
--- a/drivers/net/dsa/mv88e6xxx/chip.c
|
||||
+++ b/drivers/net/dsa/mv88e6xxx/chip.c
|
||||
@@ -1715,6 +1715,11 @@ static int mv88e6xxx_rmu_setup(struct mv88e6xxx_chip *chip)
|
||||
@@ -118,7 +118,7 @@ index c833b7e44d8b..c48369663425 100644
|
||||
|
||||
static int mv88e6xxx_register_switch(struct mv88e6xxx_chip *chip)
|
||||
diff --git a/drivers/net/dsa/mv88e6xxx/chip.h b/drivers/net/dsa/mv88e6xxx/chip.h
|
||||
index 32c87ab754d1..25edc2534979 100644
|
||||
index 32c87ab754d1f..25edc25349790 100644
|
||||
--- a/drivers/net/dsa/mv88e6xxx/chip.h
|
||||
+++ b/drivers/net/dsa/mv88e6xxx/chip.h
|
||||
@@ -293,6 +293,11 @@ struct mv88e6xxx_port {
|
||||
@@ -171,7 +171,7 @@ index 32c87ab754d1..25edc2534979 100644
|
||||
|
||||
struct mv88e6xxx_bus_ops {
|
||||
diff --git a/drivers/net/dsa/mv88e6xxx/global2.c b/drivers/net/dsa/mv88e6xxx/global2.c
|
||||
index b2b5f6ba438f..2c52903e8992 100644
|
||||
index b2b5f6ba438f4..2c52903e8992b 100644
|
||||
--- a/drivers/net/dsa/mv88e6xxx/global2.c
|
||||
+++ b/drivers/net/dsa/mv88e6xxx/global2.c
|
||||
@@ -315,7 +315,7 @@ int mv88e6xxx_g2_atu_stats_get(struct mv88e6xxx_chip *chip, u16 *stats)
|
||||
@@ -245,7 +245,7 @@ index b2b5f6ba438f..2c52903e8992 100644
|
||||
* Offset 0x15: EEPROM Data (for 16-bit data access)
|
||||
* Offset 0x15: EEPROM Addr (for 8-bit data access)
|
||||
diff --git a/drivers/net/dsa/mv88e6xxx/global2.h b/drivers/net/dsa/mv88e6xxx/global2.h
|
||||
index 3663645621c9..496269c26c50 100644
|
||||
index 3663645621c9d..496269c26c508 100644
|
||||
--- a/drivers/net/dsa/mv88e6xxx/global2.h
|
||||
+++ b/drivers/net/dsa/mv88e6xxx/global2.h
|
||||
@@ -138,6 +138,7 @@
|
||||
@@ -267,7 +267,7 @@ index 3663645621c9..496269c26c50 100644
|
||||
int mv88e6xxx_g2_trunk_mask_write(struct mv88e6xxx_chip *chip, int num,
|
||||
bool hash, u16 mask);
|
||||
diff --git a/drivers/net/dsa/mv88e6xxx/port.c b/drivers/net/dsa/mv88e6xxx/port.c
|
||||
index aa5d312d8aa5..84900814c456 100644
|
||||
index aa5d312d8aa5e..84900814c4562 100644
|
||||
--- a/drivers/net/dsa/mv88e6xxx/port.c
|
||||
+++ b/drivers/net/dsa/mv88e6xxx/port.c
|
||||
@@ -1558,6 +1558,52 @@ int mv88e6351_port_set_ether_type(struct mv88e6xxx_chip *chip, int port,
|
||||
@@ -324,7 +324,7 @@ index aa5d312d8aa5..84900814c456 100644
|
||||
|
||||
int mv88e6393x_port_led_write(struct mv88e6xxx_chip *chip, int port,
|
||||
diff --git a/drivers/net/dsa/mv88e6xxx/port.h b/drivers/net/dsa/mv88e6xxx/port.h
|
||||
index 7157864dc20f..7edb04c41ac8 100644
|
||||
index 7157864dc20fe..7edb04c41ac85 100644
|
||||
--- a/drivers/net/dsa/mv88e6xxx/port.h
|
||||
+++ b/drivers/net/dsa/mv88e6xxx/port.h
|
||||
@@ -286,7 +286,18 @@
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 38d2973b2137a904b24a63ab1140393d3ccceb9d Mon Sep 17 00:00:00 2001
|
||||
From: Tobias Waldekranz <tobias@waldekranz.com>
|
||||
Date: Tue, 28 May 2024 11:04:22 +0200
|
||||
Subject: [PATCH 11/28] net: dsa: mv88e6xxx: Add mqprio qdisc support
|
||||
Subject: [PATCH 11/30] net: dsa: mv88e6xxx: Add mqprio qdisc support
|
||||
Organization: Wires
|
||||
|
||||
Add support for attaching mqprio qdisc's to mv88e6xxx ports and use
|
||||
@@ -30,7 +30,7 @@ handle the mapping down to the "real" number.
|
||||
2 files changed, 73 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/net/dsa/mv88e6xxx/chip.c b/drivers/net/dsa/mv88e6xxx/chip.c
|
||||
index c48369663425..050a89c1b7e1 100644
|
||||
index c483696634256..050a89c1b7e13 100644
|
||||
--- a/drivers/net/dsa/mv88e6xxx/chip.c
|
||||
+++ b/drivers/net/dsa/mv88e6xxx/chip.c
|
||||
@@ -31,6 +31,7 @@
|
||||
@@ -132,7 +132,7 @@ index c48369663425..050a89c1b7e1 100644
|
||||
|
||||
return dsa_register_switch(ds);
|
||||
diff --git a/net/dsa/tag_dsa.c b/net/dsa/tag_dsa.c
|
||||
index a00ae6bf2971..55c296e0b5b0 100644
|
||||
index a00ae6bf29717..55c296e0b5b0e 100644
|
||||
--- a/net/dsa/tag_dsa.c
|
||||
+++ b/net/dsa/tag_dsa.c
|
||||
@@ -180,8 +180,10 @@ static struct sk_buff *dsa_xmit_ll(struct sk_buff *skb, struct net_device *dev,
|
||||
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
From dd401d73673b756623ed662620d5a088dca565b6 Mon Sep 17 00:00:00 2001
|
||||
From: Tobias Waldekranz <tobias@waldekranz.com>
|
||||
Date: Wed, 29 May 2024 13:20:41 +0200
|
||||
Subject: [PATCH 12/28] net: dsa: mv88e6xxx: Use VLAN prio over IP when both
|
||||
Subject: [PATCH 12/30] net: dsa: mv88e6xxx: Use VLAN prio over IP when both
|
||||
are available
|
||||
Organization: Wires
|
||||
|
||||
@@ -27,7 +27,7 @@ main reasons for choosing the new default:
|
||||
1 file changed, 8 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/dsa/mv88e6xxx/chip.c b/drivers/net/dsa/mv88e6xxx/chip.c
|
||||
index 050a89c1b7e1..1888ddd9bfa4 100644
|
||||
index 050a89c1b7e13..1888ddd9bfa42 100644
|
||||
--- a/drivers/net/dsa/mv88e6xxx/chip.c
|
||||
+++ b/drivers/net/dsa/mv88e6xxx/chip.c
|
||||
@@ -3443,9 +3443,13 @@ static int mv88e6xxx_setup_port(struct mv88e6xxx_chip *chip, int port)
|
||||
|
||||
+4
-4
@@ -1,7 +1,7 @@
|
||||
From 5e9b1a8c14a625b3a96fbf84aed8d08b365ca31e Mon Sep 17 00:00:00 2001
|
||||
From: Tobias Waldekranz <tobias@waldekranz.com>
|
||||
Date: Tue, 26 Nov 2024 19:45:59 +0100
|
||||
Subject: [PATCH 13/28] [FIX] net: dsa: mv88e6xxx: Trap locally terminated
|
||||
Subject: [PATCH 13/30] [FIX] net: dsa: mv88e6xxx: Trap locally terminated
|
||||
VLANs
|
||||
Organization: Wires
|
||||
|
||||
@@ -31,7 +31,7 @@ cause all packets assigned to these VLANs to properly terminated.
|
||||
3 files changed, 27 insertions(+), 14 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/dsa/mv88e6xxx/chip.c b/drivers/net/dsa/mv88e6xxx/chip.c
|
||||
index 1888ddd9bfa4..70eefc1b2140 100644
|
||||
index 1888ddd9bfa42..70eefc1b2140b 100644
|
||||
--- a/drivers/net/dsa/mv88e6xxx/chip.c
|
||||
+++ b/drivers/net/dsa/mv88e6xxx/chip.c
|
||||
@@ -2665,7 +2665,7 @@ static int mv88e6xxx_port_broadcast_sync(struct mv88e6xxx_chip *chip, int port,
|
||||
@@ -118,7 +118,7 @@ index 1888ddd9bfa4..70eefc1b2140 100644
|
||||
return err;
|
||||
|
||||
diff --git a/include/net/switchdev.h b/include/net/switchdev.h
|
||||
index 8346b0d29542..764cd3dd4645 100644
|
||||
index 8346b0d29542c..764cd3dd46454 100644
|
||||
--- a/include/net/switchdev.h
|
||||
+++ b/include/net/switchdev.h
|
||||
@@ -104,6 +104,10 @@ struct switchdev_obj_port_vlan {
|
||||
@@ -133,7 +133,7 @@ index 8346b0d29542..764cd3dd4645 100644
|
||||
|
||||
#define SWITCHDEV_OBJ_PORT_VLAN(OBJ) \
|
||||
diff --git a/net/dsa/user.c b/net/dsa/user.c
|
||||
index e13fb22e2c2b..f45e313f1dd0 100644
|
||||
index e13fb22e2c2b6..f45e313f1dd07 100644
|
||||
--- a/net/dsa/user.c
|
||||
+++ b/net/dsa/user.c
|
||||
@@ -1754,6 +1754,8 @@ static int dsa_user_vlan_rx_add_vid(struct net_device *dev, __be16 proto,
|
||||
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
From 730ca5898365199b50655e797a781cf845e7374f Mon Sep 17 00:00:00 2001
|
||||
From: Tobias Waldekranz <tobias@waldekranz.com>
|
||||
Date: Tue, 19 Sep 2023 18:38:10 +0200
|
||||
Subject: [PATCH 14/28] net: phy: marvell10g: Support firmware loading on
|
||||
Subject: [PATCH 14/30] net: phy: marvell10g: Support firmware loading on
|
||||
88X3310
|
||||
Organization: Wires
|
||||
|
||||
@@ -16,7 +16,7 @@ fall back.
|
||||
1 file changed, 161 insertions(+)
|
||||
|
||||
diff --git a/drivers/net/phy/marvell10g.c b/drivers/net/phy/marvell10g.c
|
||||
index 6642eb642d4b..79d9483419c0 100644
|
||||
index 6642eb642d4bd..79d9483419c05 100644
|
||||
--- a/drivers/net/phy/marvell10g.c
|
||||
+++ b/drivers/net/phy/marvell10g.c
|
||||
@@ -25,6 +25,7 @@
|
||||
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
From 2ec66ebbc94b963893ee003c7a5654f0945b4329 Mon Sep 17 00:00:00 2001
|
||||
From: Tobias Waldekranz <tobias@waldekranz.com>
|
||||
Date: Tue, 21 Nov 2023 20:15:24 +0100
|
||||
Subject: [PATCH 15/28] net: phy: marvell10g: Fix power-up when strapped to
|
||||
Subject: [PATCH 15/30] net: phy: marvell10g: Fix power-up when strapped to
|
||||
start powered down
|
||||
Organization: Wires
|
||||
|
||||
@@ -13,7 +13,7 @@ affected by this setting.
|
||||
1 file changed, 15 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/phy/marvell10g.c b/drivers/net/phy/marvell10g.c
|
||||
index 79d9483419c0..268484092776 100644
|
||||
index 79d9483419c05..2684840927769 100644
|
||||
--- a/drivers/net/phy/marvell10g.c
|
||||
+++ b/drivers/net/phy/marvell10g.c
|
||||
@@ -342,11 +342,23 @@ static int mv3310_power_down(struct phy_device *phydev)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 3a1e59af27cb5f2d822b857be846e01825f68f5b Mon Sep 17 00:00:00 2001
|
||||
From: Tobias Waldekranz <tobias@waldekranz.com>
|
||||
Date: Wed, 15 Nov 2023 20:58:42 +0100
|
||||
Subject: [PATCH 16/28] net: phy: marvell10g: Add LED support for 88X3310
|
||||
Subject: [PATCH 16/30] net: phy: marvell10g: Add LED support for 88X3310
|
||||
Organization: Wires
|
||||
|
||||
Pickup the LEDs from the state in which the hardware reset or
|
||||
@@ -22,7 +22,7 @@ Trigger support:
|
||||
1 file changed, 422 insertions(+)
|
||||
|
||||
diff --git a/drivers/net/phy/marvell10g.c b/drivers/net/phy/marvell10g.c
|
||||
index 268484092776..9f8475b67ef7 100644
|
||||
index 2684840927769..9f8475b67ef74 100644
|
||||
--- a/drivers/net/phy/marvell10g.c
|
||||
+++ b/drivers/net/phy/marvell10g.c
|
||||
@@ -28,6 +28,7 @@
|
||||
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
From 09ce57976021cd1bcd6c16393ed06d6e74c04394 Mon Sep 17 00:00:00 2001
|
||||
From: Tobias Waldekranz <tobias@waldekranz.com>
|
||||
Date: Tue, 12 Dec 2023 09:51:05 +0100
|
||||
Subject: [PATCH 17/28] net: phy: marvell10g: Support LEDs tied to a single
|
||||
Subject: [PATCH 17/30] net: phy: marvell10g: Support LEDs tied to a single
|
||||
media side
|
||||
Organization: Wires
|
||||
|
||||
@@ -19,7 +19,7 @@ versa for the SFP cage.
|
||||
1 file changed, 22 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/net/phy/marvell10g.c b/drivers/net/phy/marvell10g.c
|
||||
index 9f8475b67ef7..82b2e9b55b67 100644
|
||||
index 9f8475b67ef74..82b2e9b55b673 100644
|
||||
--- a/drivers/net/phy/marvell10g.c
|
||||
+++ b/drivers/net/phy/marvell10g.c
|
||||
@@ -192,6 +192,9 @@ struct mv3310_chip {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 54ead59e5b54be441ce6507132535873ba262674 Mon Sep 17 00:00:00 2001
|
||||
From: Tobias Waldekranz <tobias@waldekranz.com>
|
||||
Date: Wed, 27 Mar 2024 10:10:19 +0100
|
||||
Subject: [PATCH 18/28] net: phy: Do not resume PHY when attaching
|
||||
Subject: [PATCH 18/30] net: phy: Do not resume PHY when attaching
|
||||
Organization: Wires
|
||||
|
||||
The PHY should not start negotiating with its link-partner until
|
||||
@@ -20,7 +20,7 @@ administratively down.
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c
|
||||
index 834624a61060..d09872e1ac4e 100644
|
||||
index 834624a61060e..d09872e1ac4ee 100644
|
||||
--- a/drivers/net/phy/phy_device.c
|
||||
+++ b/drivers/net/phy/phy_device.c
|
||||
@@ -1661,7 +1661,6 @@ int phy_attach_direct(struct net_device *dev, struct phy_device *phydev,
|
||||
|
||||
+8
-8
@@ -1,7 +1,7 @@
|
||||
From 03f21e47910e236ddd6c65429d1a049ddae10e66 Mon Sep 17 00:00:00 2001
|
||||
From: Joachim Wiberg <troglobit@gmail.com>
|
||||
Date: Mon, 4 Mar 2024 16:47:28 +0100
|
||||
Subject: [PATCH 19/28] net: bridge: avoid classifying unknown multicast as
|
||||
Subject: [PATCH 19/30] net: bridge: avoid classifying unknown multicast as
|
||||
mrouters_only
|
||||
Organization: Wires
|
||||
|
||||
@@ -27,7 +27,7 @@ Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
|
||||
7 files changed, 50 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/include/uapi/linux/if_bridge.h b/include/uapi/linux/if_bridge.h
|
||||
index a5b743a2f775..3bffc39d7800 100644
|
||||
index a5b743a2f7750..3bffc39d78009 100644
|
||||
--- a/include/uapi/linux/if_bridge.h
|
||||
+++ b/include/uapi/linux/if_bridge.h
|
||||
@@ -830,6 +830,7 @@ enum br_boolopt_id {
|
||||
@@ -39,7 +39,7 @@ index a5b743a2f775..3bffc39d7800 100644
|
||||
};
|
||||
|
||||
diff --git a/net/bridge/br.c b/net/bridge/br.c
|
||||
index 2cab878e0a39..006fb2e5eafb 100644
|
||||
index 2cab878e0a39c..006fb2e5eafbf 100644
|
||||
--- a/net/bridge/br.c
|
||||
+++ b/net/bridge/br.c
|
||||
@@ -277,6 +277,9 @@ int br_boolopt_toggle(struct net_bridge *br, enum br_boolopt_id opt, bool on,
|
||||
@@ -62,7 +62,7 @@ index 2cab878e0a39..006fb2e5eafb 100644
|
||||
/* shouldn't be called with unsupported options */
|
||||
WARN_ON(1);
|
||||
diff --git a/net/bridge/br_device.c b/net/bridge/br_device.c
|
||||
index 26b79feb385d..f3ecc70a47dc 100644
|
||||
index 26b79feb385d2..f3ecc70a47dc3 100644
|
||||
--- a/net/bridge/br_device.c
|
||||
+++ b/net/bridge/br_device.c
|
||||
@@ -87,10 +87,10 @@ netdev_tx_t br_dev_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||
@@ -102,7 +102,7 @@ index 26b79feb385d..f3ecc70a47dc 100644
|
||||
br_stp_timer_init(br);
|
||||
br_multicast_init(br);
|
||||
diff --git a/net/bridge/br_forward.c b/net/bridge/br_forward.c
|
||||
index e19b583ff2c6..1094364d96e0 100644
|
||||
index e19b583ff2c6d..1094364d96e0b 100644
|
||||
--- a/net/bridge/br_forward.c
|
||||
+++ b/net/bridge/br_forward.c
|
||||
@@ -198,14 +198,19 @@ static struct net_bridge_port *maybe_deliver(
|
||||
@@ -140,7 +140,7 @@ index e19b583ff2c6..1094364d96e0 100644
|
||||
continue;
|
||||
break;
|
||||
diff --git a/net/bridge/br_input.c b/net/bridge/br_input.c
|
||||
index ceaa5a89b947..e54d648db7de 100644
|
||||
index ceaa5a89b947f..e54d648db7de8 100644
|
||||
--- a/net/bridge/br_input.c
|
||||
+++ b/net/bridge/br_input.c
|
||||
@@ -212,7 +212,7 @@ int br_handle_frame_finish(struct net *net, struct sock *sk, struct sk_buff *skb
|
||||
@@ -153,7 +153,7 @@ index ceaa5a89b947..e54d648db7de 100644
|
||||
br_multicast_flood(mdst, skb, brmctx, local_rcv, false);
|
||||
}
|
||||
diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c
|
||||
index 733ff6b758f6..b1799e03403f 100644
|
||||
index 733ff6b758f69..b1799e03403ff 100644
|
||||
--- a/net/bridge/br_multicast.c
|
||||
+++ b/net/bridge/br_multicast.c
|
||||
@@ -3835,6 +3835,11 @@ static void br_multicast_err_count(const struct net_bridge *br,
|
||||
@@ -189,7 +189,7 @@ index 733ff6b758f6..b1799e03403f 100644
|
||||
ipv6_addr_is_all_snoopers(&ipv6_hdr(skb)->daddr))
|
||||
br_ip6_multicast_mrd_rcv(brmctx, pmctx, skb);
|
||||
diff --git a/net/bridge/br_private.h b/net/bridge/br_private.h
|
||||
index 6a1bce8959af..ed5325c6add9 100644
|
||||
index 6a1bce8959afa..ed5325c6add97 100644
|
||||
--- a/net/bridge/br_private.h
|
||||
+++ b/net/bridge/br_private.h
|
||||
@@ -483,6 +483,7 @@ enum net_bridge_opts {
|
||||
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
From 9a4b7a20f0f679bd105645bf6b7cb542ba580ee3 Mon Sep 17 00:00:00 2001
|
||||
From: Joachim Wiberg <troglobit@gmail.com>
|
||||
Date: Tue, 5 Mar 2024 06:44:41 +0100
|
||||
Subject: [PATCH 20/28] net: bridge: Ignore router ports when forwarding L2
|
||||
Subject: [PATCH 20/30] net: bridge: Ignore router ports when forwarding L2
|
||||
multicast
|
||||
Organization: Wires
|
||||
|
||||
@@ -17,7 +17,7 @@ Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/net/bridge/br_private.h b/net/bridge/br_private.h
|
||||
index ed5325c6add9..0afb886b9a30 100644
|
||||
index ed5325c6add97..0afb886b9a303 100644
|
||||
--- a/net/bridge/br_private.h
|
||||
+++ b/net/bridge/br_private.h
|
||||
@@ -1088,7 +1088,10 @@ br_multicast_get_first_rport_node(struct net_bridge_mcast *brmctx,
|
||||
|
||||
+3
-3
@@ -1,7 +1,7 @@
|
||||
From fa5c4701d9ee8df41107df81d31683a1b68fa654 Mon Sep 17 00:00:00 2001
|
||||
From: Joachim Wiberg <troglobit@gmail.com>
|
||||
Date: Thu, 4 Apr 2024 16:36:30 +0200
|
||||
Subject: [PATCH 21/28] net: bridge: drop delay for applying strict multicast
|
||||
Subject: [PATCH 21/30] net: bridge: drop delay for applying strict multicast
|
||||
filtering
|
||||
Organization: Wires
|
||||
|
||||
@@ -25,7 +25,7 @@ Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
|
||||
2 files changed, 8 insertions(+), 38 deletions(-)
|
||||
|
||||
diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c
|
||||
index b1799e03403f..282105bdca85 100644
|
||||
index b1799e03403ff..282105bdca85d 100644
|
||||
--- a/net/bridge/br_multicast.c
|
||||
+++ b/net/bridge/br_multicast.c
|
||||
@@ -1762,10 +1762,6 @@ static void br_ip6_multicast_querier_expired(struct timer_list *t)
|
||||
@@ -164,7 +164,7 @@ index b1799e03403f..282105bdca85 100644
|
||||
#endif
|
||||
|
||||
diff --git a/net/bridge/br_private.h b/net/bridge/br_private.h
|
||||
index 0afb886b9a30..5b5b2c2442a5 100644
|
||||
index 0afb886b9a303..5b5b2c2442a57 100644
|
||||
--- a/net/bridge/br_private.h
|
||||
+++ b/net/bridge/br_private.h
|
||||
@@ -78,7 +78,6 @@ struct bridge_mcast_own_query {
|
||||
|
||||
+4
-4
@@ -1,7 +1,7 @@
|
||||
From 1e450a2ad39e64de48bea281823311b5fa2d4d53 Mon Sep 17 00:00:00 2001
|
||||
From: Tobias Waldekranz <tobias@waldekranz.com>
|
||||
Date: Thu, 16 May 2024 14:51:54 +0200
|
||||
Subject: [PATCH 22/28] net: bridge: Differentiate MDB additions from
|
||||
Subject: [PATCH 22/30] net: bridge: Differentiate MDB additions from
|
||||
modifications
|
||||
Organization: Wires
|
||||
|
||||
@@ -28,7 +28,7 @@ introducing a RTM_SETMDB events to be used in the latter scenario.
|
||||
3 files changed, 8 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/include/uapi/linux/rtnetlink.h b/include/uapi/linux/rtnetlink.h
|
||||
index db7254d52d93..63508279df47 100644
|
||||
index db7254d52d935..63508279df478 100644
|
||||
--- a/include/uapi/linux/rtnetlink.h
|
||||
+++ b/include/uapi/linux/rtnetlink.h
|
||||
@@ -134,6 +134,8 @@ enum {
|
||||
@@ -41,7 +41,7 @@ index db7254d52d93..63508279df47 100644
|
||||
RTM_NEWNSID = 88,
|
||||
#define RTM_NEWNSID RTM_NEWNSID
|
||||
diff --git a/net/bridge/br_mdb.c b/net/bridge/br_mdb.c
|
||||
index 7e1ad229e133..3b1873e7c499 100644
|
||||
index 7e1ad229e1330..3b1873e7c499a 100644
|
||||
--- a/net/bridge/br_mdb.c
|
||||
+++ b/net/bridge/br_mdb.c
|
||||
@@ -734,7 +734,7 @@ static int br_mdb_replace_group_sg(const struct br_mdb_config *cfg,
|
||||
@@ -63,7 +63,7 @@ index 7e1ad229e133..3b1873e7c499 100644
|
||||
if (br_multicast_should_handle_mode(brmctx, cfg->group.proto))
|
||||
br_multicast_star_g_handle_mode(pg, cfg->filter_mode);
|
||||
diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c
|
||||
index 282105bdca85..aa97b07ed528 100644
|
||||
index 282105bdca85d..aa97b07ed528e 100644
|
||||
--- a/net/bridge/br_multicast.c
|
||||
+++ b/net/bridge/br_multicast.c
|
||||
@@ -619,7 +619,7 @@ static void br_multicast_fwd_src_handle(struct net_bridge_group_src *src)
|
||||
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
From 2ea43d917c5e65c7af20ea690adb4b7affc0b3a0 Mon Sep 17 00:00:00 2001
|
||||
From: Tobias Waldekranz <tobias@waldekranz.com>
|
||||
Date: Fri, 24 Nov 2023 23:29:55 +0100
|
||||
Subject: [PATCH 23/28] nvmem: layouts: onie-tlv: Let device probe even when
|
||||
Subject: [PATCH 23/30] nvmem: layouts: onie-tlv: Let device probe even when
|
||||
TLV is invalid
|
||||
Organization: Wires
|
||||
|
||||
@@ -18,7 +18,7 @@ simply refrain from registering any cells in those cases.
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/drivers/nvmem/layouts/onie-tlv.c b/drivers/nvmem/layouts/onie-tlv.c
|
||||
index 0967a32319a2..48547d5bb502 100644
|
||||
index 0967a32319a28..48547d5bb5020 100644
|
||||
--- a/drivers/nvmem/layouts/onie-tlv.c
|
||||
+++ b/drivers/nvmem/layouts/onie-tlv.c
|
||||
@@ -197,7 +197,7 @@ static int onie_tlv_parse_table(struct nvmem_layout *layout)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
From 81649f0cb80310a46b9e081d198d9607c6b72554 Mon Sep 17 00:00:00 2001
|
||||
From: Joachim Wiberg <troglobit@gmail.com>
|
||||
Date: Mon, 29 Apr 2024 15:14:51 +0200
|
||||
Subject: [PATCH 24/28] usb: core: adjust log level for unauthorized devices
|
||||
Subject: [PATCH 24/30] usb: core: adjust log level for unauthorized devices
|
||||
Organization: Wires
|
||||
|
||||
The fact that a USB device currently is not authorized is not an error,
|
||||
@@ -15,7 +15,7 @@ Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
|
||||
2 files changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/drivers/usb/core/driver.c b/drivers/usb/core/driver.c
|
||||
index 0c3f12daac79..037f03aace9f 100644
|
||||
index 0c3f12daac79e..037f03aace9f9 100644
|
||||
--- a/drivers/usb/core/driver.c
|
||||
+++ b/drivers/usb/core/driver.c
|
||||
@@ -335,10 +335,10 @@ static int usb_probe_interface(struct device *dev)
|
||||
@@ -32,7 +32,7 @@ index 0c3f12daac79..037f03aace9f 100644
|
||||
return error;
|
||||
}
|
||||
diff --git a/drivers/usb/core/generic.c b/drivers/usb/core/generic.c
|
||||
index b134bff5c3fe..60575a01a810 100644
|
||||
index b134bff5c3fe3..60575a01a8104 100644
|
||||
--- a/drivers/usb/core/generic.c
|
||||
+++ b/drivers/usb/core/generic.c
|
||||
@@ -247,7 +247,7 @@ int usb_generic_driver_probe(struct usb_device *udev)
|
||||
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
From 2d2b8e8cc0affdf1534080ac9bd273bdf177452e Mon Sep 17 00:00:00 2001
|
||||
From: Joachim Wiberg <troglobit@gmail.com>
|
||||
Date: Thu, 16 Jan 2025 12:35:12 +0100
|
||||
Subject: [PATCH 25/28] net: dsa: mv88e6xxx: collapse disabled state into
|
||||
Subject: [PATCH 25/30] net: dsa: mv88e6xxx: collapse disabled state into
|
||||
blocking
|
||||
Organization: Wires
|
||||
|
||||
@@ -23,7 +23,7 @@ Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
|
||||
1 file changed, 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/dsa/mv88e6xxx/port.c b/drivers/net/dsa/mv88e6xxx/port.c
|
||||
index 84900814c456..91e58297594c 100644
|
||||
index 84900814c4562..91e58297594cb 100644
|
||||
--- a/drivers/net/dsa/mv88e6xxx/port.c
|
||||
+++ b/drivers/net/dsa/mv88e6xxx/port.c
|
||||
@@ -791,8 +791,6 @@ int mv88e6xxx_port_set_state(struct mv88e6xxx_chip *chip, int port, u8 state)
|
||||
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
From 4c254c368564a9cb0a615b5a6c31d2401b07072b Mon Sep 17 00:00:00 2001
|
||||
From: Tobias Waldekranz <tobias@waldekranz.com>
|
||||
Date: Wed, 12 Feb 2025 22:03:14 +0100
|
||||
Subject: [PATCH 26/28] net: dsa: mv88e6xxx: Only activate LAG offloading when
|
||||
Subject: [PATCH 26/30] net: dsa: mv88e6xxx: Only activate LAG offloading when
|
||||
bridged
|
||||
Organization: Wires
|
||||
|
||||
@@ -51,7 +51,7 @@ CPU; egress traffic always relies on software hashing.
|
||||
1 file changed, 20 insertions(+), 22 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/dsa/mv88e6xxx/chip.c b/drivers/net/dsa/mv88e6xxx/chip.c
|
||||
index 70eefc1b2140..e0db6333e418 100644
|
||||
index 70eefc1b2140b..e0db6333e418c 100644
|
||||
--- a/drivers/net/dsa/mv88e6xxx/chip.c
|
||||
+++ b/drivers/net/dsa/mv88e6xxx/chip.c
|
||||
@@ -3106,6 +3106,7 @@ static int mv88e6xxx_port_bridge_join(struct dsa_switch *ds, int port,
|
||||
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
From 4e22ecbdcb6609b9f2d00487ffbc166565261c23 Mon Sep 17 00:00:00 2001
|
||||
From: Joachim Wiberg <troglobit@gmail.com>
|
||||
Date: Sun, 11 Aug 2024 11:27:35 +0200
|
||||
Subject: [PATCH 27/28] net: usb: r8152: add r8153b support for link/activity
|
||||
Subject: [PATCH 27/30] net: usb: r8152: add r8153b support for link/activity
|
||||
LEDs
|
||||
Organization: Wires
|
||||
|
||||
@@ -19,7 +19,7 @@ Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
|
||||
1 file changed, 8 insertions(+)
|
||||
|
||||
diff --git a/drivers/net/usb/r8152.c b/drivers/net/usb/r8152.c
|
||||
index 2cab046749a9..c9947ad320ff 100644
|
||||
index 2cab046749a92..c9947ad320ff9 100644
|
||||
--- a/drivers/net/usb/r8152.c
|
||||
+++ b/drivers/net/usb/r8152.c
|
||||
@@ -41,6 +41,11 @@
|
||||
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
From 185cdd3a26a9e33c004d7343dc05696ba4d72b10 Mon Sep 17 00:00:00 2001
|
||||
From: Joachim Wiberg <troglobit@gmail.com>
|
||||
Date: Sun, 10 Aug 2025 18:52:54 +0200
|
||||
Subject: [PATCH 28/28] arm64: dts: mediatek: mt7986a: rename BPi R3 ports to
|
||||
Subject: [PATCH 28/30] arm64: dts: mediatek: mt7986a: rename BPi R3 ports to
|
||||
match case
|
||||
Organization: Wires
|
||||
|
||||
@@ -16,7 +16,7 @@ Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
|
||||
1 file changed, 7 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/mediatek/mt7986a-bananapi-bpi-r3.dts b/arch/arm64/boot/dts/mediatek/mt7986a-bananapi-bpi-r3.dts
|
||||
index ed79ad1ae871..1c7c666e3173 100644
|
||||
index ed79ad1ae8716..1c7c666e3173b 100644
|
||||
--- a/arch/arm64/boot/dts/mediatek/mt7986a-bananapi-bpi-r3.dts
|
||||
+++ b/arch/arm64/boot/dts/mediatek/mt7986a-bananapi-bpi-r3.dts
|
||||
@@ -46,7 +46,7 @@ fan: pwm-fan {
|
||||
|
||||
+104
@@ -0,0 +1,104 @@
|
||||
From 3b549f8064abc24e7b3c09b10a3d5ab177e649c2 Mon Sep 17 00:00:00 2001
|
||||
From: Mattias Walström <lazzer@gmail.com>
|
||||
Date: Wed, 20 Aug 2025 21:38:24 +0200
|
||||
Subject: [PATCH 29/30] drm/panel-simple: Add a timing for the Raspberry Pi 7"
|
||||
panel
|
||||
Organization: Wires
|
||||
|
||||
The Raspberry Pi 7" 800x480 panel uses a Toshiba TC358762 DSI
|
||||
to DPI bridge chip, so there is a requirement for the timings
|
||||
to be specified for the end panel. Add such a definition.
|
||||
|
||||
Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
||||
|
||||
drm/panel: simple: Alter the timing for the Pi 7" DSI display
|
||||
|
||||
vc4 has always fixed up the timing, so the values defined have
|
||||
never actually appeared on the wire.
|
||||
The display appears to want a slightly longer HFP, so extend
|
||||
the timings and recompute the clock to give the same frame rate.
|
||||
|
||||
Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
||||
|
||||
drm/panel-simple: Fix 7inch panel mode for misalignment
|
||||
|
||||
The 7inch panel is one line off the screen both horizontally
|
||||
and vertically.
|
||||
|
||||
Alter the panel mode to correct this.
|
||||
|
||||
Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
||||
|
||||
drm/panel-simple: Increase pixel clock on Pi 7inch panel
|
||||
|
||||
The Toshiba bridge is very fussy and doesn't like the CM3
|
||||
output when being told to produce a 27.777MHz pixel clock, which
|
||||
is an almost perfect match to the DSI link integer divider.
|
||||
|
||||
Increasing to 30MHz will switch the DSI link from 333MHz to 400MHz
|
||||
and makes the bridge happy with the same video timing as works
|
||||
on Pi4.
|
||||
(Pi4 will be using a link frequency of 375MHz due to a 3GHz
|
||||
parent PLL).
|
||||
|
||||
Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
||||
---
|
||||
drivers/gpu/drm/panel/panel-simple.c | 31 +++++++++++++++++++++++++++-
|
||||
1 file changed, 30 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
|
||||
index 82db3daf4f81a..3699cef24ea6f 100644
|
||||
--- a/drivers/gpu/drm/panel/panel-simple.c
|
||||
+++ b/drivers/gpu/drm/panel/panel-simple.c
|
||||
@@ -391,7 +391,8 @@ static int panel_simple_get_modes(struct drm_panel *panel,
|
||||
* TODO: Remove once all drm drivers call
|
||||
* drm_connector_set_orientation_from_panel()
|
||||
*/
|
||||
- drm_connector_set_panel_orientation(connector, p->orientation);
|
||||
+ /* RPI Hack */
|
||||
+ //drm_connector_set_panel_orientation(connector, p->orientation);
|
||||
|
||||
return num;
|
||||
}
|
||||
@@ -3829,6 +3830,31 @@ static const struct panel_desc qishenglong_gopher2b_lcd = {
|
||||
.connector_type = DRM_MODE_CONNECTOR_DPI,
|
||||
};
|
||||
|
||||
+static const struct drm_display_mode raspberrypi_7inch_mode = {
|
||||
+ .clock = 30000,
|
||||
+ .hdisplay = 800,
|
||||
+ .hsync_start = 800 + 131,
|
||||
+ .hsync_end = 800 + 131 + 2,
|
||||
+ .htotal = 800 + 131 + 2 + 45,
|
||||
+ .vdisplay = 480,
|
||||
+ .vsync_start = 480 + 7,
|
||||
+ .vsync_end = 480 + 7 + 2,
|
||||
+ .vtotal = 480 + 7 + 2 + 22,
|
||||
+ .flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC,
|
||||
+};
|
||||
+
|
||||
+static const struct panel_desc raspberrypi_7inch = {
|
||||
+ .modes = &raspberrypi_7inch_mode,
|
||||
+ .num_modes = 1,
|
||||
+ .bpc = 8,
|
||||
+ .size = {
|
||||
+ .width = 154,
|
||||
+ .height = 86,
|
||||
+ },
|
||||
+ .bus_format = MEDIA_BUS_FMT_RGB888_1X24,
|
||||
+ .connector_type = DRM_MODE_CONNECTOR_DSI,
|
||||
+};
|
||||
+
|
||||
static const struct display_timing rocktech_rk043fn48h_timing = {
|
||||
.pixelclock = { 6000000, 9000000, 12000000 },
|
||||
.hactive = { 480, 480, 480 },
|
||||
@@ -4977,6 +5003,9 @@ static const struct of_device_id platform_of_match[] = {
|
||||
.compatible = "qishenglong,gopher2b-lcd",
|
||||
.data = &qishenglong_gopher2b_lcd,
|
||||
}, {
|
||||
+ .compatible = "raspberrypi,7inch-dsi",
|
||||
+ .data = &raspberrypi_7inch,
|
||||
+ }, {
|
||||
.compatible = "rocktech,rk043fn48h",
|
||||
.data = &rocktech_rk043fn48h,
|
||||
}, {
|
||||
@@ -0,0 +1,160 @@
|
||||
From 9188aca67f9a00f91de065ce74e8d34381436656 Mon Sep 17 00:00:00 2001
|
||||
From: Mattias Walström <lazzer@gmail.com>
|
||||
Date: Thu, 21 Aug 2025 11:20:23 +0200
|
||||
Subject: [PATCH 30/30] input:touchscreen:edt-ft5x06: Add polled mode
|
||||
Organization: Wires
|
||||
|
||||
Not all hardware has interrupts therefore we need
|
||||
to poll the touchscreen.
|
||||
---
|
||||
drivers/input/touchscreen/edt-ft5x06.c | 74 ++++++++++++++++++++------
|
||||
1 file changed, 58 insertions(+), 16 deletions(-)
|
||||
|
||||
diff --git a/drivers/input/touchscreen/edt-ft5x06.c b/drivers/input/touchscreen/edt-ft5x06.c
|
||||
index 85c6d8ce003f3..e615199151375 100644
|
||||
--- a/drivers/input/touchscreen/edt-ft5x06.c
|
||||
+++ b/drivers/input/touchscreen/edt-ft5x06.c
|
||||
@@ -77,6 +77,9 @@
|
||||
#define EDT_DEFAULT_NUM_X 1024
|
||||
#define EDT_DEFAULT_NUM_Y 1024
|
||||
|
||||
+#define FIRST_POLL_DELAY_MS 300 /* in addition to the above */
|
||||
+#define POLL_INTERVAL_MS 17 /* 17ms = 60fps */
|
||||
+
|
||||
#define M06_REG_CMD(factory) ((factory) ? 0xf3 : 0xfc)
|
||||
#define M06_REG_ADDR(factory, addr) ((factory) ? (addr) & 0x7f : (addr) & 0x3f)
|
||||
|
||||
@@ -139,6 +142,7 @@ struct edt_ft5x06_ts_data {
|
||||
u8 tdata_cmd;
|
||||
int tdata_len;
|
||||
int tdata_offset;
|
||||
+ int init_td_status;
|
||||
|
||||
char name[EDT_NAME_LEN];
|
||||
char fw_version[EDT_NAME_LEN];
|
||||
@@ -147,6 +151,9 @@ struct edt_ft5x06_ts_data {
|
||||
enum edt_ver version;
|
||||
unsigned int crc_errors;
|
||||
unsigned int header_errors;
|
||||
+
|
||||
+ struct timer_list timer;
|
||||
+ struct work_struct work_i2c_poll;
|
||||
};
|
||||
|
||||
struct edt_i2c_chip_data {
|
||||
@@ -582,6 +589,22 @@ static struct attribute *edt_ft5x06_attrs[] = {
|
||||
};
|
||||
ATTRIBUTE_GROUPS(edt_ft5x06);
|
||||
|
||||
+static void edt_ft5x06_ts_irq_poll_timer(struct timer_list *t)
|
||||
+{
|
||||
+ struct edt_ft5x06_ts_data *tsdata = from_timer(tsdata, t, timer);
|
||||
+
|
||||
+ schedule_work(&tsdata->work_i2c_poll);
|
||||
+ mod_timer(&tsdata->timer, jiffies + msecs_to_jiffies(POLL_INTERVAL_MS));
|
||||
+}
|
||||
+
|
||||
+static void edt_ft5x06_ts_work_i2c_poll(struct work_struct *work)
|
||||
+{
|
||||
+ struct edt_ft5x06_ts_data *tsdata = container_of(work,
|
||||
+ struct edt_ft5x06_ts_data, work_i2c_poll);
|
||||
+
|
||||
+ edt_ft5x06_ts_isr(0, tsdata);
|
||||
+}
|
||||
+
|
||||
static void edt_ft5x06_restore_reg_parameters(struct edt_ft5x06_ts_data *tsdata)
|
||||
{
|
||||
struct edt_reg_addr *reg_addr = &tsdata->reg_addr;
|
||||
@@ -614,7 +637,9 @@ static int edt_ft5x06_factory_mode(struct edt_ft5x06_ts_data *tsdata)
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
- disable_irq(client->irq);
|
||||
+ if (client->irq) {
|
||||
+ disable_irq(client->irq);
|
||||
+ }
|
||||
|
||||
if (!tsdata->raw_buffer) {
|
||||
tsdata->raw_bufsize = tsdata->num_x * tsdata->num_y *
|
||||
@@ -657,7 +682,8 @@ static int edt_ft5x06_factory_mode(struct edt_ft5x06_ts_data *tsdata)
|
||||
kfree(tsdata->raw_buffer);
|
||||
tsdata->raw_buffer = NULL;
|
||||
tsdata->factory_mode = false;
|
||||
- enable_irq(client->irq);
|
||||
+ if (client->irq)
|
||||
+ enable_irq(client->irq);
|
||||
|
||||
return error;
|
||||
}
|
||||
@@ -698,7 +724,8 @@ static int edt_ft5x06_work_mode(struct edt_ft5x06_ts_data *tsdata)
|
||||
tsdata->raw_buffer = NULL;
|
||||
|
||||
edt_ft5x06_restore_reg_parameters(tsdata);
|
||||
- enable_irq(client->irq);
|
||||
+ if (client->irq)
|
||||
+ enable_irq(client->irq);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -1331,18 +1358,27 @@ static int edt_ft5x06_ts_probe(struct i2c_client *client)
|
||||
dev_err(&client->dev, "Unable to init MT slots.\n");
|
||||
return error;
|
||||
}
|
||||
-
|
||||
- irq_flags = irq_get_trigger_type(client->irq);
|
||||
- if (irq_flags == IRQF_TRIGGER_NONE)
|
||||
- irq_flags = IRQF_TRIGGER_FALLING;
|
||||
- irq_flags |= IRQF_ONESHOT;
|
||||
-
|
||||
- error = devm_request_threaded_irq(&client->dev, client->irq,
|
||||
- NULL, edt_ft5x06_ts_isr, irq_flags,
|
||||
- client->name, tsdata);
|
||||
- if (error) {
|
||||
- dev_err(&client->dev, "Unable to request touchscreen IRQ.\n");
|
||||
- return error;
|
||||
+ if (client->irq) {
|
||||
+ irq_flags = irq_get_trigger_type(client->irq);
|
||||
+ if (irq_flags == IRQF_TRIGGER_NONE)
|
||||
+ irq_flags = IRQF_TRIGGER_FALLING;
|
||||
+ irq_flags |= IRQF_ONESHOT;
|
||||
+
|
||||
+ error = devm_request_threaded_irq(&client->dev, client->irq,
|
||||
+ NULL, edt_ft5x06_ts_isr, irq_flags,
|
||||
+ client->name, tsdata);
|
||||
+ if (error) {
|
||||
+ dev_err(&client->dev, "Unable to request touchscreen IRQ.\n");
|
||||
+ return error;
|
||||
+ }
|
||||
+ } else {
|
||||
+ tsdata->init_td_status = -1; /* filter bogus initial data */
|
||||
+ INIT_WORK(&tsdata->work_i2c_poll,
|
||||
+ edt_ft5x06_ts_work_i2c_poll);
|
||||
+ timer_setup(&tsdata->timer, edt_ft5x06_ts_irq_poll_timer, 0);
|
||||
+ tsdata->timer.expires =
|
||||
+ jiffies + msecs_to_jiffies(FIRST_POLL_DELAY_MS);
|
||||
+ add_timer(&tsdata->timer);
|
||||
}
|
||||
|
||||
error = input_register_device(input);
|
||||
@@ -1364,6 +1400,11 @@ static void edt_ft5x06_ts_remove(struct i2c_client *client)
|
||||
{
|
||||
struct edt_ft5x06_ts_data *tsdata = i2c_get_clientdata(client);
|
||||
|
||||
+ if (!client->irq) {
|
||||
+ del_timer(&tsdata->timer);
|
||||
+ cancel_work_sync(&tsdata->work_i2c_poll);
|
||||
+ }
|
||||
+
|
||||
edt_ft5x06_ts_teardown_debugfs(tsdata);
|
||||
}
|
||||
|
||||
@@ -1395,7 +1436,8 @@ static int edt_ft5x06_ts_suspend(struct device *dev)
|
||||
* settings. Disable the irq to avoid adjusting each host till the
|
||||
* device is back in a full functional state.
|
||||
*/
|
||||
- disable_irq(tsdata->client->irq);
|
||||
+ if (tsdata->client->irq)
|
||||
+ disable_irq(tsdata->client->irq);
|
||||
|
||||
gpiod_set_value_cansleep(reset_gpio, 1);
|
||||
usleep_range(1000, 2000);
|
||||
@@ -13,7 +13,9 @@ device_tree=bcm2711-rpi-4-b.dtb
|
||||
dtoverlay=rpi-env
|
||||
dtoverlay=infix-key
|
||||
dtoverlay=vc4-kms-v3d-pi4
|
||||
dtoverlay=vc4-kms-dsi-ili9881-7inch
|
||||
dtoverlay=vc4-kms-dsi-7inch
|
||||
|
||||
#ignore_lcd=0
|
||||
|
||||
# To use an external initramfs file
|
||||
#initramfs rootfs.cpio.gz
|
||||
|
||||
@@ -1,15 +1,42 @@
|
||||
#include <arm64/broadcom/bcm2711-rpi-4-b.dts>
|
||||
|
||||
/ {
|
||||
framebuffer@3e402000 {
|
||||
compatible = "simple-framebuffer";
|
||||
reg = <0x3e402000 0x1000>;
|
||||
width = <800>;
|
||||
height = <480>;
|
||||
stride = <1600>;
|
||||
format = "r5g6b5";
|
||||
status = "okay";
|
||||
memory@0 {
|
||||
device_type = "memory";
|
||||
reg = <0x0 0x0 0x0 0x30000000>; /* Reserve top 256MB for GPU */
|
||||
};
|
||||
reserved-memory {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
gpu_reserved: gpu@30000000 {
|
||||
reg = <0x0 0x30000000 0x0 0x10000000>;
|
||||
no-map;
|
||||
};
|
||||
};
|
||||
|
||||
panel_disp: panel_disp@1 {
|
||||
reg = <1>;
|
||||
compatible = "raspberrypi,7inch-dsi", "simple-panel";
|
||||
backlight = <®_display>;
|
||||
power-supply = <®_display>;
|
||||
rotation = <180>;
|
||||
port {
|
||||
panel_in: endpoint {
|
||||
remote-endpoint = <&bridge_out>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
reg_bridge: reg_bridge@1 {
|
||||
reg = <1>;
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "bridge_reg";
|
||||
gpio = <®_display 0 0>;
|
||||
vin-supply = <®_display>;
|
||||
enable-active-high;
|
||||
};
|
||||
|
||||
chosen {
|
||||
/* 8250 auxiliary UART instead of pl011 */
|
||||
stdout-path = "serial1:115200n8";
|
||||
@@ -20,3 +47,73 @@
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
&vc4 {
|
||||
status = "okay";
|
||||
};
|
||||
&i2c0mux {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
status = "okay";
|
||||
reg_display: reg_display@45 {
|
||||
compatible = "raspberrypi,7inch-touchscreen-panel-regulator";
|
||||
reg = <0x45>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
};
|
||||
|
||||
ft5406: ts@38 {
|
||||
compatible = "edt,edt-ft5506";
|
||||
reg = <0x38>;
|
||||
touchscreen-size-x = < 800 >;
|
||||
touchscreen-size-y = < 480 >;
|
||||
touchscreen-inverted-y;
|
||||
touchscreen-inverted-x;
|
||||
vcc-supply = <®_display>;
|
||||
reset-gpio = <®_display 1 1>;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
&dsi1 {
|
||||
status = "okay";
|
||||
port {
|
||||
dsi_out: endpoint {
|
||||
remote-endpoint = <&bridge_in>;
|
||||
};
|
||||
};
|
||||
bridge@0 {
|
||||
reg = <0>;
|
||||
compatible = "toshiba,tc358762";
|
||||
vddc-supply = <®_bridge>;
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
bridge_in: endpoint {
|
||||
remote-endpoint = <&dsi_out>;
|
||||
};
|
||||
};
|
||||
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
bridge_out: endpoint {
|
||||
remote-endpoint = <&panel_in>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
/*
|
||||
&hdmi0 {
|
||||
status = "disabled";
|
||||
};
|
||||
&hdmi1 {
|
||||
status = "disabled";
|
||||
};*/
|
||||
|
||||
Reference in New Issue
Block a user