Skip to content
Draft
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
30 changes: 30 additions & 0 deletions arch/arm/boot/dts/overlays/README
Original file line number Diff line number Diff line change
Expand Up @@ -5787,6 +5787,36 @@ 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: i2c1 Use i2c1
interrupt GPIO pin for interrupt signal(default 2)
cm0 the default DSI1 and i2c_csi_dsi
pi4 the default DSI1 and i2c_csi_dsi
cm4 the default DSI1 and i2c_csi_dsi
pi5 the default DSI1 and i2c_csi_dsi
cm5 the default DSI0 and i2c_csi_dsi0


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 0)
interrupt GPIO pin for interrupt signal(default 2)
cm0 the default DSI1 and i2c_csi_dsi
pi4 the default DSI1 and i2c_csi_dsi
cm4 the default DSI1 and i2c_csi_dsi
pi5 the default DSI1 and i2c_csi_dsi
cm5 the default DSI0 and i2c_csi_dsi0


Name: vc4-kms-dsi-generic
Info: Enable a generic DSI display under KMS.
Default timings are for a 840x480 RGB888 panel.
Expand Down
124 changes: 124 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,124 @@
/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 = <2 2>;
irq-gpios = <&gpio 2 0>;
};
};
};

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

panel: panel@0 {
reg = <0>;
compatible = "rzw,t70p383rk", "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 = <2>;
brcm,function = <0>;
brcm,pull = <2>;
};
};
};

__overrides__ {
i2c1 = <&i2c_frag>, "target:0=",<&i2c1>,
<0>,"-2-3+4";
interrupt = <&gt911_pins>,"brcm,pins:0",
<&gt911>,"interrupts:0",
<&gt911>,"irq-gpios:4";

pi4 = <&i2c_frag>, "target:0=",<&i2c_csi_dsi>;
cm4 = <&i2c_frag>, "target:0=",<&i2c_csi_dsi>;
pi5 = <&i2c_frag>, "target:0=",<&i2c_csi_dsi>;
cm5 = <&i2c_frag>, "target:0=",<&i2c_csi_dsi0>;
cm0 = <&i2c_frag>, "target:0=",<&i2c_csi_dsi>;
};
};
134 changes: 134 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,134 @@
/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 0>;
startup-delay-us = <5000>;
regulator-boot-on;
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-rpi4";
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 0>;
interrupt-parent = <&gpio>;
interrupts = <16 2>;
irq-gpios = <&gpio 16 0>;
};
};
};

fragment@6 {
target = <&ili9881c>;
__dormant__ {
compatible = "rzw,t101p136cq-rpi4-lite";
};
};

fragment@7 {
target = <&ili9881c>;
__dormant__ {
compatible = "rzw,t101p136cq-rpi5";
};
};

__overrides__ {
interrupt = <&gt928_pins>,"brcm,pins:0",
<&gt928>,"interrupts:0",
<&gt928>,"irq-gpios:4";
rotation = <&ili9881c>,"rotation:0";

pi4 = <&i2c_frag>, "target:0=",<&i2c_csi_dsi>,<0>, "+6";
cm4 = <&i2c_frag>, "target:0=",<&i2c_csi_dsi>;
pi5 = <&i2c_frag>, "target:0=",<&i2c_csi_dsi>,<0>, "+7";
cm5 = <&i2c_frag>, "target:0=",<&i2c_csi_dsi0>,<0>, "+7";
cm0 = <&i2c_frag>, "target:0=",<&i2c_csi_dsi>,<0>, "+6";
};
};
Loading
Loading