Skip to content
Merged
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
2 changes: 2 additions & 0 deletions arch/arm/boot/dts/overlays/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -337,6 +337,8 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
vc4-kms-dpi-hyperpixel4sq.dtbo \
vc4-kms-dpi-panel.dtbo \
vc4-kms-dsi-7inch.dtbo \
vc4-kms-dsi-edatec-panel-070c.dtbo \
vc4-kms-dsi-edatec-panel-101c.dtbo \
vc4-kms-dsi-generic.dtbo \
vc4-kms-dsi-ili79600-10-1inch.dtbo \
vc4-kms-dsi-ili9881-5inch.dtbo \
Expand Down
23 changes: 23 additions & 0 deletions arch/arm/boot/dts/overlays/README
Original file line number Diff line number Diff line change
Expand Up @@ -5791,6 +5791,29 @@ Params: sizex Touchscreen size x (default 800)
the default DSI1 and i2c_csi_dsi).


Name: vc4-kms-dsi-edatec-panel-070c
Info: Enable the edatec DSI 7" screen.
support ed-dispr-070c.
support ed-dispr5-070c.
support ed-dispr4-070c.
Load: dtoverlay=vc4-kms-dsi-edatec-panel-070c,<param>=<val>
Params: interrupt GPIO pin for interrupt signal(default 16)
i2c1 Use i2c-1
i2c4 Use i2c-4 (specialized for CM5)


Name: vc4-kms-dsi-edatec-panel-101c
Info: Enable the edatec DSI 10" screen.
support ed-dispr-101c.
support ed-dispr5-101c.
support ed-dispr4-101c.
Load: dtoverlay=vc4-kms-dsi-edatec-panel-101c,<param>=<val>
Params: rotation Display rotation {0,90,180,270} (default 270)
interrupt GPIO pin for interrupt signal(default 16)
i2c1 Use i2c-1
i2c4 Use i2c-4 (specialized for CM5)


Name: vc4-kms-dsi-generic
Info: Enable a generic DSI display under KMS.
Default timings are for a 840x480 RGB888 panel.
Expand Down
119 changes: 119 additions & 0 deletions arch/arm/boot/dts/overlays/vc4-kms-dsi-edatec-panel-070c-overlay.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
/dts-v1/;
/plugin/;

/ {
compatible = "brcm,bcm2835";

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

reg_display: reg_display@27 {
reg = <0x27>;
compatible = "edatec,disp-regulator";

gpio-controller;
#gpio-cells = <2>;
};

gt911: gt911@14 {
compatible = "goodix,gt911";
reg = <0x14>;
pinctrl-names = "default";
pinctrl-0 = <&gt911_pins>;

reset-gpios = <&reg_display 3 0>;
interrupt-parent = <&gpio>;
interrupts = <16 2>;
irq-gpios = <&gpio 16 0>;
};
};
};

fragment@1 {
target = <&dsi1>;
__overlay__ {
status = "okay";
port {
dsi_out: endpoint {
remote-endpoint = <&panel_in>;
};
};

panel: panel@0 {
reg = <0>;
compatible = "panel-dsi";
backlight = <&reg_display>;

width-mm = <154>;
height-mm = <86>;
dsi-color-format = "RGB888";
mode = "MODE_VIDEO","MODE_VIDEO_SYNC_PULSE";

timing: panel-timing {
clock-frequency = <41000000>;
hactive = <1024>;
hfront-porch = <40>;
hsync-len = <10>;
hback-porch = <40>;
vactive = <600>;
vfront-porch = <4>;
vsync-len = <2>;
vback-porch = <4>;
};

port {
panel_in: endpoint {
data-lanes = <1 2>;
remote-endpoint = <&dsi_out>;
};
};
};
};
};

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

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

fragment@4 {
target = <&i2c1>;
__dormant__ {
status = "okay";
};
};

fragment@5 {
target = <&gpio>;
__overlay__ {
gt911_pins: gt911_pins {
brcm,pins = <16>;
brcm,function = <0>;
brcm,pull = <2>;
};
};
};

__overrides__ {
i2c1 = <&i2c_frag>, "target:0=",<&i2c1>,
<0>,"-2-3+4";
i2c4 = <&i2c_frag>, "target:0=",<&i2c_csi_dsi0>;
interrupt = <&gt911_pins>,"brcm,pins:0",
<&gt911>,"interrupts:0",
<&gt911>,"irq-gpios:4";
};
};
116 changes: 116 additions & 0 deletions arch/arm/boot/dts/overlays/vc4-kms-dsi-edatec-panel-101c-overlay.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
/dts-v1/;
/plugin/;

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

/ {
compatible = "brcm,bcm2835";

fragment@0 {
target-path = "/";
__overlay__ {
vdd_lcd: fixedregulator_lcd {
compatible = "regulator-fixed";
regulator-name = "vdd_lcd";

gpios = <&reg_display 4 GPIO_ACTIVE_HIGH>;
startup-delay-us = <5000>;
enable-active-high;
};
};
};

fragment@1 {
target = <&dsi1>;
__overlay__{
status = "okay";
#address-cells = <1>;
#size-cells = <0>;
port {
dsi_out_port:endpoint {
remote-endpoint = <&panel_dsi_port>;
};
};

ili9881c:ili9881c@0 {
compatible = "rzw,t101p136cq";
status = "okay";
reg = <0>;

reset-gpios = <&reg_display 2 GPIO_ACTIVE_LOW>;
backlight = <&reg_display>;
power-supply = <&vdd_lcd>;
rotation = <270>;

port {
panel_dsi_port: endpoint {
remote-endpoint = <&dsi_out_port>;
};
};
};
};
};

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

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

fragment@4 {
target = <&gpio>;
__overlay__ {
gt928_pins: gt928_pins {
brcm,pins = <16>;
brcm,function = <0>;
brcm,pull = <2>;
};
};
};

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

reg_display: reg_display@27 {
compatible = "edatec,disp-regulator";
reg = <0x27>;
gpio-controller;
#gpio-cells = <2>;
};

gt928:gt928@14 {
compatible = "goodix,gt928";
reg = <0x14>;
pinctrl-names = "default";
pinctrl-0 = <&gt928_pins>;

reset-gpios = <&reg_display 3 GPIO_ACTIVE_HIGH>;
interrupt-parent = <&gpio>;
interrupts = <16 2>;
irq-gpios = <&gpio 16 GPIO_ACTIVE_HIGH>;
};
};
};

__overrides__ {
i2c1 = <&i2c_frag>, "target:0=",<&i2c1>,
<0>, "-3-4+5";
i2c4 = <&i2c_frag>, "target:0=",<&i2c_csi_dsi0>;
interrupt = <&gt928_pins>, "brcm,pins:0",
<&gt928>, "interrupts:0",
<&gt928>, "irq-gpios:4";
rotation = <&ili9881c>, "rotation:0";
};
};
1 change: 1 addition & 0 deletions arch/arm64/configs/bcm2711_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -863,6 +863,7 @@ CONFIG_REGULATOR_GPIO=y
CONFIG_REGULATOR_RASPBERRYPI_TOUCHSCREEN_ATTINY=m
CONFIG_REGULATOR_RASPBERRYPI_TOUCHSCREEN_V2=m
CONFIG_REGULATOR_WAVESHARE_TOUCHSCREEN=m
CONFIG_REGULATOR_EDATEC_PANEL=m
CONFIG_RC_CORE=y
CONFIG_BPF_LIRC_MODE2=y
CONFIG_LIRC=y
Expand Down
1 change: 1 addition & 0 deletions arch/arm64/configs/bcm2711_rt_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -862,6 +862,7 @@ CONFIG_REGULATOR_GPIO=y
CONFIG_REGULATOR_RASPBERRYPI_TOUCHSCREEN_ATTINY=m
CONFIG_REGULATOR_RASPBERRYPI_TOUCHSCREEN_V2=m
CONFIG_REGULATOR_WAVESHARE_TOUCHSCREEN=m
CONFIG_REGULATOR_EDATEC_PANEL=m
CONFIG_RC_CORE=y
CONFIG_BPF_LIRC_MODE2=y
CONFIG_LIRC=y
Expand Down
1 change: 1 addition & 0 deletions arch/arm64/configs/bcm2712_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -865,6 +865,7 @@ CONFIG_REGULATOR_GPIO=y
CONFIG_REGULATOR_RASPBERRYPI_TOUCHSCREEN_ATTINY=m
CONFIG_REGULATOR_RASPBERRYPI_TOUCHSCREEN_V2=m
CONFIG_REGULATOR_WAVESHARE_TOUCHSCREEN=m
CONFIG_REGULATOR_EDATEC_PANEL=m
CONFIG_RC_CORE=y
CONFIG_BPF_LIRC_MODE2=y
CONFIG_LIRC=y
Expand Down
Loading
Loading