Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fbtft spi lcd not working after update to from 5.10.43 to 5.10.60 #300

Open
naty6458 opened this issue Sep 2, 2021 · 1 comment
Open

Comments

@naty6458
Copy link

naty6458 commented Sep 2, 2021

hello,
i update my OS from Linux 5.10.43-sunxi to Linux 5.10.60-sunxi
my screen fbtft spi lcd stop working , the screen is black.

If there is a solution to this issue I would love to get help, thanks!
here my configuration that work on 5.10.43 .

orange pi zero ,
use spi0.0.
i try both OS Focal and Buster.

### user_overlays

/dts-v1/;
/plugin/;
/ {
        compatible = "allwinner,sun8i-h3";

        fragment@0 {
                target = <&spi1>;
                __overlay__ {
                        status = "okay";
                };
        };

        fragment@1 {
                target = <&pio>;
                __overlay__ {
                        opiz_display_pins: opiz_display_pins {
                pins = "PA7", "PA2", "PA6"; 
                function = "gpio_out";
                        };
                };
        };

        fragment@2 {
                target = <&spi1>;
                __overlay__ {
                        /* needed to avoid dtc warning */
                        #address-cells = <1>;
                        #size-cells = <0>;

                        opizdisplay: opiz-display@0{
                                compatible = "ilitek,ili9341";
                                reg = <0>;  /* Chip Select 0 */
                                pinctrl-names = "default";
                                pinctrl-0 = <&opiz_display_pins>;

                                spi-max-frequency = <32000000>;
                                rotate = <270>;
                                bgr = <0>;
                                fps = <25>;
                                buswidth = <8>;
                                reset-gpios = <&pio 0 7 1>; /* PIN_11  GPIOA1 */
                                dc-gpios =    <&pio 0 2 0>;     /* PIN_13  GPIOA0 */
                                led-gpios=    <&pio 0 6 0>;     /* PIN_15  GPIOA3 */
                                debug=<3>;
                                status="okay";
                        };
                };
        };
};

### armbianEnv.txt

verbosity=1
bootlogo=true
console=serial
disp_mode=1920x1080p60
overlay_prefix=sun8i-h3
overlays=analog-codec i2c0 uart1 uart2
user_overlays=fbtft mcp7940
usbstoragequirks=0x2537:0x1066:u,0x2537:0x1068:u

### dmesg

dmesg | grep fb
[ 0.000000] Kernel command line: root=/dev/mmcblk0p1 rootwait rootfstype=ext4 bootsplash.bootfile=bootsplash.armbian console=ttyS0,115200 hdmi.audio=EDID:0 disp.screen0_output_mode=1920x1080p60 consoleblank=0 loglevel=1 ubootpart=17e892a6-01 ubootsource=mmc usb-storage.quirks=0x2537:0x1066:u,0x2537:0x1068:u sunxi_ve_mem_reserve=0 sunxi_g2d_mem_reserve=0 sunxi_fb_mem_reserve=16 cgroup_enable=memory swapaccount=1
[ 3.927607] sunxi_fb_mem_reserve=16
[ 12.563165] fbtft: module is from the staging directory, the quality is unknown, you have been warned.
[ 12.586317] fb_ili9341: module is from the staging directory, the quality is unknown, you have been warned.
[ 12.613381] fb_ili9341 spi0.0: fbtft_property_value: buswidth = 8
[ 12.613404] fb_ili9341 spi0.0: fbtft_property_value: debug = 4
[ 12.613414] fb_ili9341 spi0.0: fbtft_property_value: rotate = 270
[ 12.613424] fb_ili9341 spi0.0: fbtft_property_value: fps = 25
[ 12.613739] fb_ili9341 spi0.0: fbtft_request_one_gpio: 'reset' GPIO
[ 12.613774] fb_ili9341 spi0.0: fbtft_request_one_gpio: 'dc' GPIO
[ 12.613808] fb_ili9341 spi0.0: fbtft_request_one_gpio: 'rd' GPIO
[ 12.613835] fb_ili9341 spi0.0: fbtft_request_one_gpio: 'wr' GPIO
[ 12.613861] fb_ili9341 spi0.0: fbtft_request_one_gpio: 'cs' GPIO
[ 12.613888] fb_ili9341 spi0.0: fbtft_request_one_gpio: 'latch' GPIO
[ 12.613915] fb_ili9341 spi0.0: fbtft_request_one_gpio: 'db' GPIO
[ 12.613947] fb_ili9341 spi0.0: fbtft_request_one_gpio: 'led' GPIO
[ 12.613975] fb_ili9341 spi0.0: fbtft_request_one_gpio: 'aux' GPIO
[ 12.614002] fb_ili9341 spi0.0: fbtft_request_one_gpio: 'db' GPIO
[ 12.614029] fb_ili9341 spi0.0: fbtft_request_one_gpio: 'led' GPIO
[ 12.614055] fb_ili9341 spi0.0: fbtft_request_one_gpio: 'aux' GPIO
[ 12.614081] fb_ili9341 spi0.0: fbtft_request_one_gpio: 'db' GPIO
[ 12.614108] fb_ili9341 spi0.0: fbtft_request_one_gpio: 'led' GPIO
[ 12.614134] fb_ili9341 spi0.0: fbtft_request_one_gpio: 'aux' GPIO
[ 12.614161] fb_ili9341 spi0.0: fbtft_request_one_gpio: 'db' GPIO
[ 12.614188] fb_ili9341 spi0.0: fbtft_request_one_gpio: 'led' GPIO
[ 12.614214] fb_ili9341 spi0.0: fbtft_request_one_gpio: 'aux' GPIO
[ 12.614242] fb_ili9341 spi0.0: fbtft_request_one_gpio: 'db' GPIO
[ 12.614269] fb_ili9341 spi0.0: fbtft_request_one_gpio: 'led' GPIO
[ 12.614295] fb_ili9341 spi0.0: fbtft_request_one_gpio: 'aux' GPIO
[ 12.614321] fb_ili9341 spi0.0: fbtft_request_one_gpio: 'db' GPIO
[ 12.614349] fb_ili9341 spi0.0: fbtft_request_one_gpio: 'led' GPIO
[ 12.614375] fb_ili9341 spi0.0: fbtft_request_one_gpio: 'aux' GPIO
[ 12.614401] fb_ili9341 spi0.0: fbtft_request_one_gpio: 'db' GPIO
[ 12.614428] fb_ili9341 spi0.0: fbtft_request_one_gpio: 'led' GPIO
[ 12.614454] fb_ili9341 spi0.0: fbtft_request_one_gpio: 'aux' GPIO
[ 12.614481] fb_ili9341 spi0.0: fbtft_request_one_gpio: 'db' GPIO
[ 12.614508] fb_ili9341 spi0.0: fbtft_request_one_gpio: 'led' GPIO
[ 12.614533] fb_ili9341 spi0.0: fbtft_request_one_gpio: 'aux' GPIO
[ 12.614560] fb_ili9341 spi0.0: fbtft_request_one_gpio: 'db' GPIO
[ 12.614588] fb_ili9341 spi0.0: fbtft_request_one_gpio: 'led' GPIO
[ 12.614614] fb_ili9341 spi0.0: fbtft_request_one_gpio: 'aux' GPIO
[ 12.614641] fb_ili9341 spi0.0: fbtft_request_one_gpio: 'db' GPIO
[ 12.614668] fb_ili9341 spi0.0: fbtft_request_one_gpio: 'led' GPIO
[ 12.614693] fb_ili9341 spi0.0: fbtft_request_one_gpio: 'aux' GPIO
[ 12.614720] fb_ili9341 spi0.0: fbtft_request_one_gpio: 'db' GPIO
[ 12.614747] fb_ili9341 spi0.0: fbtft_request_one_gpio: 'led' GPIO
[ 12.614772] fb_ili9341 spi0.0: fbtft_request_one_gpio: 'aux' GPIO
[ 12.614798] fb_ili9341 spi0.0: fbtft_request_one_gpio: 'db' GPIO
[ 12.614825] fb_ili9341 spi0.0: fbtft_request_one_gpio: 'led' GPIO
[ 12.614851] fb_ili9341 spi0.0: fbtft_request_one_gpio: 'aux' GPIO
[ 12.614877] fb_ili9341 spi0.0: fbtft_request_one_gpio: 'db' GPIO
[ 12.614905] fb_ili9341 spi0.0: fbtft_request_one_gpio: 'led' GPIO
[ 12.614931] fb_ili9341 spi0.0: fbtft_request_one_gpio: 'aux' GPIO
[ 12.615108] fb_ili9341 spi0.0: fbtft_request_one_gpio: 'db' GPIO
[ 12.615141] fb_ili9341 spi0.0: fbtft_request_one_gpio: 'led' GPIO
[ 12.615168] fb_ili9341 spi0.0: fbtft_request_one_gpio: 'aux' GPIO
[ 12.615194] fb_ili9341 spi0.0: fbtft_request_one_gpio: 'db' GPIO
[ 12.615221] fb_ili9341 spi0.0: fbtft_request_one_gpio: 'led' GPIO
[ 12.615248] fb_ili9341 spi0.0: fbtft_request_one_gpio: 'aux' GPIO
[ 12.615274] fb_ili9341 spi0.0: fbtft_request_one_gpio: 'db' GPIO
[ 12.615302] fb_ili9341 spi0.0: fbtft_request_one_gpio: 'led' GPIO
[ 12.615328] fb_ili9341 spi0.0: fbtft_request_one_gpio: 'aux' GPIO
[ 12.939776] fb_ili9341 spi0.0: Display update: 2851 kB/s, fps=0
[ 12.974853] graphics fb0: fb_ili9341 frame buffer, 320x240, 150 KiB video memory, 16 KiB buffer memory, fps=25, spi0.0 at 32 MHz

@naty6458
Copy link
Author

Thanks to notro I solved the problem, changed the way the screen brightness was controlled.
Here is the configuration I have at the moment.

reset ---> PA7
led ---> PA6
dc ----> PA2

/dts-v1/;
/plugin/;

/ {
	compatible = "allwinner,sun8i-h3";

    fragment@0 {
        target-path = "/aliases";
        __overlay__ {
            spi1 = "/soc/spi@01c69000";
        };
    };

	fragment@1 {
		target = <&spi1>;
		__overlay__ {
			status = "okay";

			spidev@0{
				status = "disabled";
			};

			spidev@1{
				status = "disabled";
			};
		};
	};

	fragment@2 {
		target = <&pio>;
		__overlay__ {
			opiz_display_pins: opiz_display_pins {
                pins = "PA7", "PA2", "PA6";
                function = "gpio_out";
			};
		};
	};

	fragment@3 {
		target = <&spi1>;
		__overlay__ {
			/* needed to avoid dtc warning */
			#address-cells = <1>;
			#size-cells = <0>;
			opizdisplay: opiz-display@0{
				compatible = "ilitek,ili9341";
				reg = <0>;
				pinctrl-names = "default";
				pinctrl-0 = <&opiz_display_pins>;
				spi-max-frequency = <8000000>;
				rotate = <270>;
				bgr;
				fps = <30>;
				buswidth = <8>;
				reset-gpios = <&pio 0 7 1>;
				dc-gpios = <&pio 0 2 0>;
				led-gpios= <&pio 0 6 1>;
				debug = <3>;
				status="okay";
			};
		};
	};
	__overrides__ {
		speed =   <&opizdisplay>,"spi-max-frequency:0";
		rotate =  <&opizdisplay>,"rotate:0";
		fps =     <&opizdisplay>,"fps:0";
		debug =   <&opizdisplay>,"debug:0";
        };
};


Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant