View: 1454|Reply: 0

Orange pi 3 lts ili9341

[Copy link]

4

threads

6

posts

76

credits

Registered member

Rank: 2

credits
76
Published in 2023-3-13 09:50:49 | Show all floors |Read mode
Hello there,

I am tring to get my ili9341 spi tft 2.8" screen to work but just can not seem to crack it. I been flying through forums found some information but non of this seems to be translate to anything closes I got was with this guide https://4pda.to/forum/index.php? ... noform=1&st=20. I have subsatuted the ili9486 for the ili9341 I removed the int node I also had to translate the whole site with chrome. This is what my overlay looks like after said and do.
/dts-v1/;
/plugin/;

/ {
        compatible = "xunlong,orangepi-3-lts","allwinner,sun50i-h6";


        fragment@0 {
                target-path = "/aliases";
                __overlay__ {
                        spi0 = "/soc/spi@5010000";
                        spi1 = "/soc/spi@5011000";
                };
        };

        fragment@2 {
               target = <&r_pio>;
                __overlay__ {
                        spi1_cs1_pin: spi1_cs1_pin {
                                pins = "PA8"; /* - real use PL8 but... error in calculate pin number 360!!!!*/
                                function = "gpio_out";
                                output-high;
                        };
                };
        };

        fragment@3 {
                 target = <&spi1>;
                 __overlay__ {
                            pinctrl-names = "default", "default";
                            pinctrl-1 = < &spi1_cs1_pin>;
                            cs-gpios = <0>, <&r_pio 0 8 0>; /* PL8 */

                            status = "okay";
                            debug=<0>;
                            #address-cells = <1>;
                            #size-cells = <0>;
                            spidev@0 {
                                     reg = <0>; /* Chip Select 0 */
                                     compatible = "spidev";
                                     spi-max-frequency = <100000000>;
                                     status = "disabled";
                            };
                            spidev@1 {
                                      reg = <1>; /* Chip Select 1 */
                                      compatible = "spidev";
                                      spi-max-frequency = <12000000>;
                                      status = "disabled";
                            };
                 };
        };

  fragment@4 {
    target = <&pio>;
    __overlay__ {
      ili9341_pins: ili9341_pins {
allwinner,pins = "PD21", "PD16"; /*RESET, DC_RS*/
allwinner,function = "gpio_out", "gpio_out" ;
      };
    };
  };
        fragment@5 {
                target = <&spi1>;
                __overlay__ {
                        /* needed to avoid dtc warning */
                        #address-cells = <1>;
                        #size-cells = <0>;

                        cs-gpios = <0>, <&r_pio 0 8 0>; /* PL8 */
                        status = "okay";

                        ili9341: ili9341@0 {
                                compatible = "ilitek,ili9341";
                                spi-max-frequency = <60000000>;
                                reg = <0>;
                                pinctrl-names = "default";
                                pinctrl-0 = <&ili9341_pins>;
                                status = "okay";
                                debug=<0>;
//txbuflen = <32768>;
                                rotate = <90>;
                                bgr = <0>;
                                fps = <60>;
                                buswidth = <8>;
                                regwidth = <16>;
                                reset-gpios = <&pio 3 21 0>; /*RST= PD21 */
                                dc-gpios = <&pio 3 16 0>; /*LCD_RS PD16 */
                        };
                        xpt2046: xpt2046@1 {
                                compatible = "ti,ads7846";
                                reg = <1>;
                                status ="okay";
                                spi-max-frequency = <1000000>;
                                interrupts = <0 10 2>; /* high-to-low edge triggered */
                                interrupt-parent = <&r_pio>;   /* PL10<-----> TP_IRQ= PD24 -irq not possible!*/
                                pendown-gpio = <&r_pio 0 10 0>;
                                ti,keep-vref-on = <1>;
                                ti,x-min = /bits/ 16 <00>;
                                ti,x-max = /bits/ 16 <0xFFF>;
                                ti,y-min = /bits/ 16 <00>;
                                ti,y-max = /bits/ 16 <0xFFF>;
                                ti,x-plate-ohms = /bits/ 16 <60>;
                                ti,pressure-max = /bits/ 16 <255>;
                                ti,swap-xy = <0>;
                        };
                };
        };
};


But when I do dmesg | grep spi I get this message.


[    7.801102] ads7846 spi1.1: supply vcc not found, using dummy regulator
[    7.804527] ads7846 spi1.1: touchscreen, irq 66
[    7.805076] input: ADS7846 Touchscreen as /devices/platform/soc/5011000.spi/1
[    7.811986] fb_ili9341 spi1.0: fbtft_property_value: regwidth = 16
[    7.812000] fb_ili9341 spi1.0: fbtft_property_value: buswidth = 8
[    7.812005] fb_ili9341 spi1.0: fbtft_property_value: debug = 0
[    7.812010] fb_ili9341 spi1.0: fbtft_property_value: rotate = 90
[    7.812015] fb_ili9341 spi1.0: fbtft_property_value: fps = 30
[    7.812019] fb_ili9341 spi1.0: fbtft_property_value: txbuflen = 32768
[    7.812226] sun50i-h6-pinctrl 300b000.pinctrl: pin PD21 already requested by7
[    7.812246] fb_ili9341 spi1.0: error -EINVAL: Failed to request reset GPIO
[    7.812310] fb_ili9341: probe of spi1.0 failed with error -22


not sure how to correct this hoping anyone can help.
You need to log in before you can reply login | Register

Points Rule

Quick reply Top Return list