Re: [PATCH 2/2] ARM: dts: Add bcm2711-rpi-4-b-7inch-ts-dsi.dts

From: Stefan Wahren
Date: Wed Feb 09 2022 - 15:37:23 EST


Hi Detlev,

Am 09.02.22 um 20:44 schrieb Detlev Casanova:
> Hi Stefan,
>
> On Wednesday, February 9, 2022 12:10:12 P.M. EST Stefan Wahren wrote:
>> 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.
> Yes, that is how it started but the upstream kernel doesn't use them. We
> thought that a separate device-tree makes sense as it is the official raspberry
> pi touchscreen.

i'm not an expert here, but this seems not quite correct. AFAIK there is
no full runtime overlay support in the kernel, but the resources that i
found are promising [1], [2], [3]. Unfortunately i never test it by myself.

Please understand that all these possible combination would result in a
unmaintable mess.

Best regards

[1] - https://u-boot.readthedocs.io/en/latest/usage/fdt_overlays.html
[2] - https://www.kernel.org/doc/html/latest/devicetree/overlay-notes.html
[3] -
https://bootlin.com/pub/conferences/2021/lee/maincent-devicetree-overlay-and-uboot-extension-board-management/maincent-devicetree-overlay-and-uboot-extension-board-management.pdf