A10 - LCD display not working, DRM RGB output disabled

83 views
Skip to first unread message

Francisco Ferreira

unread,
Dec 7, 2023, 5:27:56 PM12/7/23
to linux-sunxi
Hi, guys. I'm trying to make the LCD screen of my A10 tablet work but I haven't had success. The screen is working when u-boot starts, I can see the boot logs on screen, but as soon as the kernel starts the screen stops and goes dark. The backlight is always on. The kernel log says "No panel or bridge found... RGB output disabled". Here is the boot logs related to the screen or DRM:

franz@cubieboard:~$ dmesg | grep 'lcd\|panel\|drm'
[    0.092531] platform 1e40000.display-backend: Fixed dependency cycle(s) with /soc/lcd-controller@1c0d000/ports/port@0/endpoint@1
[    0.092636] platform 1e40000.display-backend: Fixed dependency cycle(s) with /soc/lcd-controller@1c0c000/ports/port@0/endpoint@1
[    0.093088] platform 1e60000.display-backend: Fixed dependency cycle(s) with /soc/lcd-controller@1c0d000/ports/port@0/endpoint@0
[    0.093175] platform 1e60000.display-backend: Fixed dependency cycle(s) with /soc/lcd-controller@1c0c000/ports/port@0/endpoint@0
[    0.095664] platform panel: Fixed dependency cycle(s) with /soc/lcd-controller@1c0c000/ports/port@1/endpoint@0
[    5.495129] sun4i-drm display-engine: bound 1e00000.display-frontend (ops 0xc0a991d0)
[    5.503199] sun4i-drm display-engine: bound 1e20000.display-frontend (ops 0xc0a991d0)
[    5.511522] sun4i-drm display-engine: bound 1e60000.display-backend (ops 0xc0a98948)
[    5.519710] sun4i-drm display-engine: bound 1e40000.display-backend (ops 0xc0a98948)
[    5.528244] sun4i-drm display-engine: bound 1c0c000.lcd-controller (ops 0xc0a96e08)
[    5.536626] sun4i-drm display-engine: No panel or bridge found... RGB output disabled
[    5.544546] sun4i-drm display-engine: bound 1c0d000.lcd-controller (ops 0xc0a96e08)
[    5.792091] [drm] Initialized sun4i-drm 1.0.0 20150629 for display-engine on minor 0
[    5.979251] sun4i-drm display-engine: [drm] fb0: sun4i-drmdrmfb frame buffer device
[   10.856623] systemd[1]: Starting Load Kernel Module drm...
[   11.810514] systemd[1]: modp...@drm.service: Deactivated successfully.
[   11.837949] systemd[1]: Finished Load Kernel Module drm.
[   17.466606] [drm] Initialized lima 1.2.0 20200215 for 1c40000.gpu on minor 1


Here is my device tree. Did I write something wrong?

/dts-v1/;
#include "sun4i-a10.dtsi"
#include "sunxi-common-regulators.dtsi"

#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/pwm/pwm.h>

/ {
model = "Topwise A721";
compatible = "topwise,a721", "allwinner,sun4i-a10";

aliases {
serial0 = &uart0;
};

backlight: backlight {
compatible = "pwm-backlight";
pwms = <&pwm 0 100000 PWM_POLARITY_INVERTED>;
power-supply = <&reg_vbat>;
enable-gpios = <&pio 7 7 GPIO_ACTIVE_HIGH>; /* PH7 */
brightness-levels = <0 30 40 50 60 70 80 90 100>;
default-brightness-level = <8>;
};

chosen {
stdout-path = "serial0:115200n8";
};

panel: panel {
compatible = "starry,kr070pe2t";
backlight = <&backlight>;
power-supply = <&reg_lcd_power>;
status = "okay";

port@0 {
#address-cells = <1>;
#size-cells = <0>;

panel_input: endpoint@0 {
reg = <0>;
remote-endpoint = <&tcon0_out_panel>;
};
};
};

reg_lcd_power: reg-lcd-power {
compatible = "regulator-fixed";
regulator-name = "reg-lcd-power";
gpio = <&pio 7 8 GPIO_ACTIVE_HIGH>; /* PH8 */
enable-active-high;
};

reg_vbat: reg-vbat {
compatible = "regulator-fixed";
regulator-name = "vbat";
regulator-min-microvolt = <3700000>;
regulator-max-microvolt = <3700000>;
};

};

&codec {
status = "okay";
};

&pwm {
pinctrl-names = "default";
pinctrl-0 = <&pwm0_pin>;
status = "okay";
};

&tcon0 {
pinctrl-names = "default";
pinctrl-0 = <&lcd_rgb666_pins>;
status = "okay";
};

&tcon0_out {
tcon0_out_panel: endpoint@0 {
reg = <0>;
remote-endpoint = <&panel_input>;
};
};

&be0 {
status = "okay";
};

&de {
status = "okay";
};

I appreciate any help. Thanks

Brandon Cheo Fusi

unread,
Dec 8, 2023, 3:08:38 AM12/8/23
to linux-sunxi
Hi Francisco,

The compatible should be "starry,kr070pe2t",  "panel-simple". And make sure
to select DRM_PANEL_SIMPLE=y.
Cheers,
Brandon. 

Francisco Ferreira

unread,
Dec 8, 2023, 4:56:01 PM12/8/23
to linux-sunxi
I replaced compatible with "starry,kr070pe2t",  "panel-simple"  and DRM_PANEL_SIMPLE is selected but still does not work.
I discovered that my display is LVDS.
Do you know of any device tree example to make a LVDS display work? I try use "panel-lvds" but I haven't had success, the display doesn't even react.

Thanks
Brandon
Reply all
Reply to author
Forward
0 new messages