Hi Detlev, Am 09.02.22 um 17:25 schrieb Detlev Casanova: > Add a device tree to support the official Raspberrypi 7" touchscreen for > the Raspberry Pi 4 B > > The panel is connected on the DSI 1 port and uses the simple-panel > driver. > > The device tree also makes sure to activate: > * dvp: bcm2711 clock driver > * hvs: Hardware Video Scaler > * pixelvalve[0-4]: CRTC modules > * txp: CRTC Writeback > > Signed-off-by: Detlev Casanova <detlev.casanova@xxxxxxxxxxxxx> > --- > arch/arm/boot/dts/Makefile | 1 + > .../boot/dts/bcm2711-rpi-4-b-7inch-ts-dsi.dts | 129 ++++++++++++++++++ > arch/arm64/boot/dts/broadcom/Makefile | 1 + > .../broadcom/bcm2711-rpi-4-b-7inch-ts-dsi.dts | 2 + > 4 files changed, 133 insertions(+) > create mode 100644 arch/arm/boot/dts/bcm2711-rpi-4-b-7inch-ts-dsi.dts > create mode 100644 arch/arm64/boot/dts/broadcom/bcm2711-rpi-4-b-7inch-ts-dsi.dts > > diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile > index 0de64f237cd8..b46daf2df4ce 100644 > --- a/arch/arm/boot/dts/Makefile > +++ b/arch/arm/boot/dts/Makefile > @@ -94,6 +94,7 @@ dtb-$(CONFIG_ARCH_BCM2835) += \ > bcm2837-rpi-cm3-io3.dtb \ > bcm2711-rpi-400.dtb \ > bcm2711-rpi-4-b.dtb \ > + bcm2711-rpi-4-b-7inch-ts-dsi.dtb \ > bcm2711-rpi-cm4-io.dtb \ > bcm2835-rpi-zero.dtb \ > bcm2835-rpi-zero-w.dtb > diff --git a/arch/arm/boot/dts/bcm2711-rpi-4-b-7inch-ts-dsi.dts b/arch/arm/boot/dts/bcm2711-rpi-4-b-7inch-ts-dsi.dts > new file mode 100644 > index 000000000000..62e986358c2a > --- /dev/null > +++ b/arch/arm/boot/dts/bcm2711-rpi-4-b-7inch-ts-dsi.dts i think this should be an overlay because this board can be connected to different boards and we want to avoid copy & paste. Unfortunately i don't know where this should be stored in the kernel tree. > @@ -0,0 +1,129 @@ > +// SPDX-License-Identifier: GPL-2.0 > + > +#include "bcm2711-rpi-4-b.dts" > + > +/ { > + model = "Raspberry Pi 4 Model B + Rpi 7inch touchscreen"; > + > + panel_disp1: panel_disp1@0 { > + reg = <0 0 0>; > + compatible = "raspberrypi,7inch-dsi", "simple-panel"; > + backlight = <®_display>; > + power-supply = <®_display>; > + status = "okay"; > + > + port { > + panel_in: endpoint { > + remote-endpoint = <&bridge_out>; > + }; > + }; > + }; > + > + reg_bridge: reg_bridge@0 { > + reg = <0 0 0>; > + compatible = "regulator-fixed"; > + regulator-name = "bridge_reg"; > + gpio = <®_display 0 0>; > + vin-supply = <®_display>; > + enable-active-high; > + status = "okay"; > + }; > +}; > + > +&i2c_csi_dsi { > + ft5406: ts@38 { s/ts/touchscreen/ > + compatible = "edt,edt-ft5506"; > + reg = <0x38>; > + status = "okay"; > + > + vcc-supply = <®_display>; > + reset-gpio = <®_display 1 1>; > + > + touchscreen-size-x = < 800 >; > + touchscreen-size-y = < 480 >; > + > + touchscreen-inverted-x; > + touchscreen-inverted-y; > + }; > + > + reg_display: reg_display@45 { node name should be regulator > + compatible = "raspberrypi,7inch-touchscreen-panel-regulator"; > + reg = <0x45>; > + gpio-controller; > + #gpio-cells = <2>; > + status = "okay"; > + }; > + > +}; > + > +&dsi1 { > + #address-cells = <1>; > + #size-cells = <0>; > + 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>; > + }; > + }; > + }; > + }; > +}; > + > +&aon_intr { > + status = "okay"; > +}; > + > +&dvp { > + status = "okay"; > +}; > + > +&hvs { > + status = "okay"; > +};