Merge pull request #1111 from kernelkit/rpi-4-dsi-display

Raspberry Pi 4 DSI display
This commit is contained in:
Mattias Walström
2025-08-22 23:46:26 +02:00
committed by GitHub
39 changed files with 543 additions and 192 deletions
+45
View File
@@ -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/
-8
View File
@@ -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
-61
View File
@@ -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
View File
@@ -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
-------------------------
+1 -6
View File
@@ -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
+35 -20
View File
@@ -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))
@@ -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)
@@ -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 @@
@@ -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,
@@ -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 @@
@@ -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,
@@ -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)
@@ -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,
@@ -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)
@@ -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,
@@ -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 @@
@@ -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 @@
@@ -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,
@@ -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 {
@@ -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,
@@ -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 {
@@ -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)
@@ -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)
@@ -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)
@@ -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,
@@ -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 @@
@@ -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 {
@@ -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);
+3 -1
View File
@@ -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 = <&reg_display>;
power-supply = <&reg_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 = <&reg_display 0 0>;
vin-supply = <&reg_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 = <&reg_display>;
reset-gpio = <&reg_display 1 1>;
};
};
&dsi1 {
status = "okay";
port {
dsi_out: endpoint {
remote-endpoint = <&bridge_in>;
};
};
bridge@0 {
reg = <0>;
compatible = "toshiba,tc358762";
vddc-supply = <&reg_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";
};*/