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 @@ -337,6 +337,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
vc4-kms-dpi-hyperpixel4sq.dtbo \
vc4-kms-dpi-panel.dtbo \
vc4-kms-dsi-7inch.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
12 changes: 12 additions & 0 deletions arch/arm/boot/dts/overlays/README
Original file line number Diff line number Diff line change
Expand Up @@ -5790,6 +5790,18 @@ Params: sizex Touchscreen size x (default 800)
the default DSI1 and i2c_csi_dsi).


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 and the default DSI1
i2c10 Use i2c-10 and the default DSI1


Name: vc4-kms-dsi-generic
Info: Enable a generic DSI display under KMS.
Default timings are for a 840x480 RGB888 panel.
Expand Down
117 changes: 117 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,117 @@
/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>;
regulator-boot-on;
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This feels like an odd property to be setting on this regulator
Docs at https://github.com/raspberrypi/linux/blob/rpi-6.18.y/Documentation/devicetree/bindings/regulator/regulator.yaml#L44-L51

  It's expected that this regulator was left on by the bootloader.
 If the bootloader didn't leave it on then OS should turn it on
 at boot but shouldn't prevent it from being turned off later.
 This property is intended to only be used for regulators where
 software cannot read the state of the regulator.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes this dts is config for edatec-panel-regulator.c

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, but why is there a need for it to be declared as 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";
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";
i2c10 = <&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 @@ -861,6 +861,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_10INCH=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 @@ -860,6 +860,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_10INCH=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 @@ -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_10INCH=m
CONFIG_RC_CORE=y
CONFIG_BPF_LIRC_MODE2=y
CONFIG_LIRC=y
Expand Down
Loading
Loading