Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions arch/arm/boot/dts/overlays/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -338,6 +338,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
vc4-kms-dpi-panel.dtbo \
vc4-kms-dsi-7inch.dtbo \
vc4-kms-dsi-generic.dtbo \
vc4-kms-dsi-ili79600-10-1inch.dtbo \
vc4-kms-dsi-ili9881-5inch.dtbo \
vc4-kms-dsi-ili9881-7inch.dtbo \
vc4-kms-dsi-lt070me05000.dtbo \
Expand Down
15 changes: 15 additions & 0 deletions arch/arm/boot/dts/overlays/README
Original file line number Diff line number Diff line change
Expand Up @@ -5725,6 +5725,21 @@ Params: clock-frequency Display clock frequency (Hz)
Only supported on Pi5 and CM


Name: vc4-kms-dsi-ili79600-10-1inch
Info: Enable the Raspberry Pi 10" ILI79600 based touchscreen panel.
Requires vc4-kms-v3d to be loaded.
Load: dtoverlay=vc4-kms-dsi-ili79600-10-1inch,<param>
Params: sizex Touchscreen size x (default 1200)
sizey Touchscreen size y (default 1920)
invx Touchscreen inverted x axis
invy Touchscreen inverted y axis
swapxy Touchscreen swapped x y axis
disable_touch Disables the touch screen overlay driver
rotation Display rotation {0,90,180,270} (default 0)
dsi0 Use DSI0 and i2c_csi_dsi0 (rather than
the default DSI1 and i2c_csi_dsi).


Name: vc4-kms-dsi-ili9881-5inch
Info: Enable the Raspberry Pi 5" ILI9881 based touchscreen panel.
Requires vc4-kms-v3d to be loaded.
Expand Down
126 changes: 126 additions & 0 deletions arch/arm/boot/dts/overlays/vc4-kms-dsi-ili79600-10-1inch-overlay.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
/*
* vc4-kms-dsi-ili79600-10-1inch-overlay.dts
*/

/dts-v1/;
/plugin/;

#include <dt-bindings/gpio/gpio.h>

/ {
compatible = "brcm,bcm2835";

i2c_frag: fragment@0 {
target = <&i2c_csi_dsi>;
__overlay__ {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";

display_mcu: display_mcu@45
{
compatible = "raspberrypi,v2-touchscreen-panel-regulator";
reg = <0x45>;
gpio-controller;
#gpio-cells = <2>;
};

touch: ts@41 {
compatible = "ilitek,ili79600a";
reg = <0x41>;

reset-gpio = <&display_mcu 1 GPIO_ACTIVE_LOW>;

touchscreen-size-x = < 1200 >;
touchscreen-size-y = < 1920 >;
vcc-supply = <&display_reg>;

panel = <&dsi_panel>;
};
};
};

dsi_frag: fragment@1 {
target = <&dsi1>;
__overlay__ {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";

port {
dsi_out: endpoint {
remote-endpoint = <&panel_in>;
};
};

dsi_panel: dsi_panel@0 {
reg = <0>;
compatible = "raspberrypi,dsi-10-1inch";
power-supply = <&display_reg>;
backlight = <&display_mcu>;

port {
panel_in: endpoint {
remote-endpoint = <&dsi_out>;
};
};
};
};
};

fragment@2 {
target = <&i2c0if>;
__overlay__ {
status = "okay";
};
};

fragment@3 {
target = <&i2c0mux>;
__overlay__ {
status = "okay";
};
};

fragment@4 {
target-path = "/";
__overlay__ {
display_reg: display_reg@1 {
reg = <1>;
compatible = "regulator-fixed";
regulator-name = "display_reg_1";
gpio = <&display_mcu 0 GPIO_ACTIVE_HIGH>;
startup-delay-us = <50000>;
enable-active-high;
};
};
};

fragment@10 {
target = <&touch>;
__dormant__ {
touchscreen-inverted-x;
};
};

fragment@11 {
target = <&touch>;
__dormant__ {
touchscreen-inverted-y;
};
};

__overrides__ {
sizex = <&touch>,"touchscreen-size-x:0";
sizey = <&touch>,"touchscreen-size-y:0";
invx = <0>, "+10";
invy = <0>, "+11";
swapxy = <&touch>,"touchscreen-swapped-x-y?";
disable_touch = <&touch>, "status=disabled";
rotation = <&dsi_panel>, "rotation:0";
dsi0 = <&dsi_frag>, "target:0=",<&dsi0>,
<&i2c_frag>, "target:0=",<&i2c_csi_dsi0>,
<&display_reg>, "reg:0=0",
<&display_reg>, "regulator-name=display_reg_0";
};
};
2 changes: 2 additions & 0 deletions arch/arm64/configs/bcm2711_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -709,6 +709,7 @@ CONFIG_TOUCHSCREEN_EXC3000=m
CONFIG_TOUCHSCREEN_GOODIX=m
CONFIG_TOUCHSCREEN_ILI210X=m
CONFIG_TOUCHSCREEN_ILITEK=m
CONFIG_TOUCHSCREEN_ILITEK_V3=m
CONFIG_TOUCHSCREEN_EDT_FT5X06=m
CONFIG_TOUCHSCREEN_RASPBERRYPI_FW=m
CONFIG_TOUCHSCREEN_USB_COMPOSITE=m
Expand Down Expand Up @@ -1076,6 +1077,7 @@ CONFIG_DRM=m
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
CONFIG_DRM_UDL=m
CONFIG_DRM_PANEL_LVDS=m
CONFIG_DRM_PANEL_ILITEK_IL79600A=m
CONFIG_DRM_PANEL_ILITEK_ILI9806E=m
CONFIG_DRM_PANEL_ILITEK_ILI9806E_SPI=m
CONFIG_DRM_PANEL_ILITEK_ILI9881C=m
Expand Down
2 changes: 2 additions & 0 deletions arch/arm64/configs/bcm2712_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -712,6 +712,7 @@ CONFIG_TOUCHSCREEN_EXC3000=m
CONFIG_TOUCHSCREEN_GOODIX=m
CONFIG_TOUCHSCREEN_ILI210X=m
CONFIG_TOUCHSCREEN_ILITEK=m
CONFIG_TOUCHSCREEN_ILITEK_V3=m
CONFIG_TOUCHSCREEN_EDT_FT5X06=m
CONFIG_TOUCHSCREEN_RASPBERRYPI_FW=m
CONFIG_TOUCHSCREEN_USB_COMPOSITE=m
Expand Down Expand Up @@ -1078,6 +1079,7 @@ CONFIG_DRM=m
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
CONFIG_DRM_UDL=m
CONFIG_DRM_PANEL_LVDS=m
CONFIG_DRM_PANEL_ILITEK_IL79600A=m
CONFIG_DRM_PANEL_ILITEK_ILI9806E=m
CONFIG_DRM_PANEL_ILITEK_ILI9806E_SPI=m
CONFIG_DRM_PANEL_ILITEK_ILI9881C=m
Expand Down
9 changes: 9 additions & 0 deletions drivers/gpu/drm/panel/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -185,6 +185,15 @@

If M is selected the module will be called panel-himax-hx8394.

config DRM_PANEL_ILITEK_IL79600A

Check failure on line 188 in drivers/gpu/drm/panel/Kconfig

View workflow job for this annotation

GitHub Actions / checkpatch review

WARNING: please write a help paragraph that fully describes the config symbol
tristate "Ilitek ILI79960A-based panels"
depends on OF
depends on DRM_MIPI_DSI
depends on BACKLIGHT_CLASS_DEVICE
help
Say Y if you want to enable support for panels based on the
Ilitek ILI79960A controller.

config DRM_PANEL_ILITEK_IL9322
tristate "Ilitek ILI9322 320x240 QVGA panels"
depends on OF && SPI
Expand Down
1 change: 1 addition & 0 deletions drivers/gpu/drm/panel/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ obj-$(CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D) += panel-feiyang-fy07024di26a30d
obj-$(CONFIG_DRM_PANEL_HIMAX_HX83102) += panel-himax-hx83102.o
obj-$(CONFIG_DRM_PANEL_HIMAX_HX83112A) += panel-himax-hx83112a.o
obj-$(CONFIG_DRM_PANEL_HIMAX_HX8394) += panel-himax-hx8394.o
obj-$(CONFIG_DRM_PANEL_ILITEK_IL79600A) += panel-ilitek-ili79600a.o
obj-$(CONFIG_DRM_PANEL_ILITEK_IL9322) += panel-ilitek-ili9322.o
obj-$(CONFIG_DRM_PANEL_ILITEK_ILI9341) += panel-ilitek-ili9341.o
obj-$(CONFIG_DRM_PANEL_ILITEK_ILI9805) += panel-ilitek-ili9805.o
Expand Down
Loading
Loading