August 24, 20251 yr Help! I used your overlay, but nothing works for me. Orange pi zero 3 (Armbian Linux 6.12.35-current-sunxi64) overlay: /dts-v1/; /plugin/; / { compatible = "allwinner,sun50i-h616"; fragment@0 { target = <&spi1>; __overlay__ { status = "okay"; cs-gpios = <&pio 7 5 0>,<&pio 2 15 0>; /*PH5=CS0 for lcd, PC15=CS1 for touch*/ display: display@0 { compatible = "ilitek,ili9341"; reg = <0>; pinctrl-names = "default"; spi-max-frequency = <20000000>; rotate = <270>; bgr = <0>; fps = <30>; buswidth = <8>; regwidth = <16>; height = <480>; width = <320>; reset-gpios = <&pio 2 14 1>; /* PC14 */ dc-gpios = <&pio 2 6 0>; /* PC6 */ debug = <3>; init = <0x10000b0 0x00 // Interface Mode Control 0x1000011 // Sleep Out 0x20000ff // Delay (255ms) 0x10000C0 0x0D 0x0D // Power Control 1 0x10000C1 0x43 // Power Control 2 0x10000C5 0x00 0x48 0x80 // VCOM Control 1 0x10000C7 0x00 // VCOM Control 2 0x1000036 0x28 // Memory Access Control (Rotacao) 0x100003A 0x55 // Pixel Format Set (16bit) 0x10000B1 0xB0 0x11 // Frame Rate Control 0x10000F0 0x01 // Enable Extended Comand Set 0x10000F6 0x00 0x01 0x32 // SPI ilInterface Control 0x1000026 0x01 // Gamma Set 0x10000E0 0x0F 0x31 0x2B 0x0C 0x0E 0x08 0x4E 0xF1 0x37 0x07 0x10 0x03 0x0E 0x09 0x00 // Positive Gamma Correction 0x10000E1 0x00 0x0E 0x14 0x03 0x11 0x07 0x31 0xC1 0x48 0x08 0x0F 0x0C 0x31 0x36 0x0F // Negative Gamma Correction 0x10000B6 0x02 0x02 0x3B // Display Function Control 0x1000011 // Sleep Out 0x20000ff // Delay (255ms) 0x1000029>; // Display ON }; ads7846: ads7846@1 { compatible = "ti,ads7846"; reg = <1>; pinctrl-names = "default"; spi-max-frequency = <1000000>; interrupt-parent = <&pio>; interrupts = <2 10 2>; /* PC10 - IRQ */ pendown-gpio = <&pio 2 10 1>; /* PC10 */ /* OPTIONS */ ti,x-min = /bits/ 16 <0>; ti,y-min = /bits/ 16 <0>; ti,x-max = /bits/ 16 <0xFFF>; ti,y-max = /bits/ 16 <0xFFF>; ti,pressure-min = /bits/ 16 <0>; ti,pressure-max = /bits/ 16 <0xFFF>; ti,x-plate-ohms = /bits/ 16 <400>; ti,swap-xy = <1>; }; }; }; }; Here's what I got in the console: root@orangepizero3:~# dmesg | grep -i "spi\|ili9486\|fb_" [ 1.496981] sun6i-spi 5010000.spi: Error applying setting, reverse things back [ 1.497500] sun6i-spi 5011000.spi: cannot register SPI host [ 1.504082] sun6i-spi 5010000.spi: Error applying setting, reverse things back [ 1.504504] sun6i-spi 5011000.spi: cannot register SPI host [ 1.512160] spi-nor spi0.0: supply vdd not found, using dummy regulator [ 6.677433] fb_ili9341: module is from the staging directory, the quality is unknown, you have been warned. [ 6.677997] fb_ili9341 spi1.0: fbtft_property_value: width = 320 [ 6.678010] fb_ili9341 spi1.0: fbtft_property_value: height = 480 [ 6.678018] fb_ili9341 spi1.0: fbtft_property_value: regwidth = 16 [ 6.678025] fb_ili9341 spi1.0: fbtft_property_value: buswidth = 8 [ 6.678033] fb_ili9341 spi1.0: fbtft_property_value: debug = 3 [ 6.678041] fb_ili9341 spi1.0: fbtft_property_value: rotate = 270 [ 6.678049] fb_ili9341 spi1.0: fbtft_property_value: fps = 30 [ 6.678234] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'reset' GPIO [ 6.678260] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'dc' GPIO [ 6.678279] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'rd' GPIO [ 6.678294] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'wr' GPIO [ 6.678310] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'cs' GPIO [ 6.678325] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'latch' GPIO [ 6.678340] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'db' GPIO [ 6.678354] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'led' GPIO [ 6.678369] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'aux' GPIO [ 6.678383] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'db' GPIO [ 6.678398] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'led' GPIO [ 6.678412] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'aux' GPIO [ 6.678426] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'db' GPIO [ 6.678441] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'led' GPIO [ 6.678456] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'aux' GPIO [ 6.678470] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'db' GPIO [ 6.678485] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'led' GPIO [ 6.678499] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'aux' GPIO [ 6.678514] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'db' GPIO [ 6.678528] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'led' GPIO [ 6.678543] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'aux' GPIO [ 6.678557] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'db' GPIO [ 6.678572] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'led' GPIO [ 6.678587] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'aux' GPIO [ 6.678604] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'db' GPIO [ 6.678621] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'led' GPIO [ 6.678638] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'aux' GPIO [ 6.678655] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'db' GPIO [ 6.678672] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'led' GPIO [ 6.678689] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'aux' GPIO [ 6.678706] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'db' GPIO [ 6.678723] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'led' GPIO [ 6.678740] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'aux' GPIO [ 6.678757] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'db' GPIO [ 6.678774] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'led' GPIO [ 6.678791] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'aux' GPIO [ 6.678808] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'db' GPIO [ 6.678825] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'led' GPIO [ 6.678842] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'aux' GPIO [ 6.678859] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'db' GPIO [ 6.678876] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'led' GPIO [ 6.678893] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'aux' GPIO [ 6.678910] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'db' GPIO [ 6.678927] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'led' GPIO [ 6.678944] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'aux' GPIO [ 6.678961] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'db' GPIO [ 6.678978] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'led' GPIO [ 6.678995] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'aux' GPIO [ 6.679012] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'db' GPIO [ 6.679029] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'led' GPIO [ 6.679046] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'aux' GPIO [ 6.679063] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'db' GPIO [ 6.679080] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'led' GPIO [ 6.679098] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'aux' GPIO [ 6.701957] ads7846 spi1.1: supply vcc not found, using dummy regulator [ 6.703555] ads7846 spi1.1: touchscreen, irq 77 [ 6.704030] input: ADS7846 Touchscreen as /devices/platform/soc/5011000.spi/spi_master/spi1/spi1.1/input/input0 [ 6.801201] fb_ili9341 spi1.0: init: write_register: [ 6.801229] fb_ili9341 spi1.0: buf[0] = B0 [ 6.801238] fb_ili9341 spi1.0: buf[1] = 00 [ 6.801397] fb_ili9341 spi1.0: init: write_register: [ 6.801406] fb_ili9341 spi1.0: buf[0] = 11 [ 6.801441] fb_ili9341 spi1.0: init: msleep(255) [ 7.073196] fb_ili9341 spi1.0: init: write_register: [ 7.073241] fb_ili9341 spi1.0: buf[0] = C0 [ 7.073265] fb_ili9341 spi1.0: buf[1] = 0D [ 7.073284] fb_ili9341 spi1.0: buf[2] = 0D [ 7.073489] fb_ili9341 spi1.0: init: write_register: [ 7.073510] fb_ili9341 spi1.0: buf[0] = C1 [ 7.073530] fb_ili9341 spi1.0: buf[1] = 43 [ 7.073701] fb_ili9341 spi1.0: init: write_register: [ 7.073721] fb_ili9341 spi1.0: buf[0] = C5 [ 7.073743] fb_ili9341 spi1.0: buf[1] = 00 [ 7.073762] fb_ili9341 spi1.0: buf[2] = 48 [ 7.073781] fb_ili9341 spi1.0: buf[3] = 80 [ 7.073952] fb_ili9341 spi1.0: init: write_register: [ 7.073973] fb_ili9341 spi1.0: buf[0] = C7 [ 7.073994] fb_ili9341 spi1.0: buf[1] = 00 [ 7.074163] fb_ili9341 spi1.0: init: write_register: [ 7.074183] fb_ili9341 spi1.0: buf[0] = 36 [ 7.074203] fb_ili9341 spi1.0: buf[1] = 28 [ 7.074372] fb_ili9341 spi1.0: init: write_register: [ 7.074392] fb_ili9341 spi1.0: buf[0] = 3A [ 7.074414] fb_ili9341 spi1.0: buf[1] = 55 [ 7.074581] fb_ili9341 spi1.0: init: write_register: [ 7.074601] fb_ili9341 spi1.0: buf[0] = B1 [ 7.074622] fb_ili9341 spi1.0: buf[1] = B0 [ 7.074641] fb_ili9341 spi1.0: buf[2] = 11 [ 7.074809] fb_ili9341 spi1.0: init: write_register: [ 7.074829] fb_ili9341 spi1.0: buf[0] = F0 [ 7.074850] fb_ili9341 spi1.0: buf[1] = 01 [ 7.075018] fb_ili9341 spi1.0: init: write_register: [ 7.075038] fb_ili9341 spi1.0: buf[0] = F6 [ 7.075058] fb_ili9341 spi1.0: buf[1] = 00 [ 7.075077] fb_ili9341 spi1.0: buf[2] = 01 [ 7.075096] fb_ili9341 spi1.0: buf[3] = 32 [ 7.075264] fb_ili9341 spi1.0: init: write_register: [ 7.075285] fb_ili9341 spi1.0: buf[0] = 26 [ 7.075306] fb_ili9341 spi1.0: buf[1] = 01 [ 7.075474] fb_ili9341 spi1.0: init: write_register: [ 7.075494] fb_ili9341 spi1.0: buf[0] = E0 [ 7.075515] fb_ili9341 spi1.0: buf[1] = 0F [ 7.075534] fb_ili9341 spi1.0: buf[2] = 31 [ 7.075553] fb_ili9341 spi1.0: buf[3] = 2B [ 7.075571] fb_ili9341 spi1.0: buf[4] = 0C [ 7.075590] fb_ili9341 spi1.0: buf[5] = 0E [ 7.075609] fb_ili9341 spi1.0: buf[6] = 08 [ 7.075628] fb_ili9341 spi1.0: buf[7] = 4E [ 7.075647] fb_ili9341 spi1.0: buf[8] = F1 [ 7.075665] fb_ili9341 spi1.0: buf[9] = 37 [ 7.075684] fb_ili9341 spi1.0: buf[10] = 07 [ 7.075703] fb_ili9341 spi1.0: buf[11] = 10 [ 7.075722] fb_ili9341 spi1.0: buf[12] = 03 [ 7.075742] fb_ili9341 spi1.0: buf[13] = 0E [ 7.075761] fb_ili9341 spi1.0: buf[14] = 09 [ 7.075780] fb_ili9341 spi1.0: buf[15] = 00 [ 7.075954] fb_ili9341 spi1.0: init: write_register: [ 7.075974] fb_ili9341 spi1.0: buf[0] = E1 [ 7.075995] fb_ili9341 spi1.0: buf[1] = 00 [ 7.076014] fb_ili9341 spi1.0: buf[2] = 0E [ 7.076034] fb_ili9341 spi1.0: buf[3] = 14 [ 7.076053] fb_ili9341 spi1.0: buf[4] = 03 [ 7.076071] fb_ili9341 spi1.0: buf[5] = 11 [ 7.076090] fb_ili9341 spi1.0: buf[6] = 07 [ 7.076109] fb_ili9341 spi1.0: buf[7] = 31 [ 7.076128] fb_ili9341 spi1.0: buf[8] = C1 [ 7.076147] fb_ili9341 spi1.0: buf[9] = 48 [ 7.076165] fb_ili9341 spi1.0: buf[10] = 08 [ 7.076184] fb_ili9341 spi1.0: buf[11] = 0F [ 7.076203] fb_ili9341 spi1.0: buf[12] = 0C [ 7.076222] fb_ili9341 spi1.0: buf[13] = 31 [ 7.076241] fb_ili9341 spi1.0: buf[14] = 36 [ 7.076260] fb_ili9341 spi1.0: buf[15] = 0F [ 7.076432] fb_ili9341 spi1.0: init: write_register: [ 7.076452] fb_ili9341 spi1.0: buf[0] = B6 [ 7.076473] fb_ili9341 spi1.0: buf[1] = 02 [ 7.076493] fb_ili9341 spi1.0: buf[2] = 02 [ 7.076511] fb_ili9341 spi1.0: buf[3] = 3B [ 7.076679] fb_ili9341 spi1.0: init: write_register: [ 7.076699] fb_ili9341 spi1.0: buf[0] = 11 [ 7.076797] fb_ili9341 spi1.0: init: msleep(255) [ 7.361180] fb_ili9341 spi1.0: init: write_register: [ 7.361202] fb_ili9341 spi1.0: buf[0] = 29 [ 7.490659] fb_ili9341 spi1.0: Display update: 2321 kB/s, fps=0 [ 7.491267] graphics fb0: fb_ili9341 frame buffer, 480x320, 300 KiB video memory, 16 KiB buffer memory, fps=31, spi1.0 at 20 MHz I'm connecting exactly according to this picture: Edited August 24, 20251 yr by goodfvh _YT_
August 24, 20251 yr Find a DTS that uses compatible="waveshare,rpi-lcd-35" and try again (I don't use that LCD, so I am not sure... but I know it is special because it contains a SPI-to-parallel chip)
September 19, 20251 yr Hi goodfvh _YT_. I wanted to know if you are using Dupont wires? Edited September 19, 20251 yr by WDR_s
November 2, 20251 yr Start with this DTS and change the GPIO for your OPIZ3 https://github.com/raspberrypi/linux/blob/rpi-6.12.y/arch/arm/boot/dts/overlays/piscreen-overlay.dts Or start with your DTS and change the "compatible" line to "compatible=waveshare,rpi-lcd-35" and copy the other parameters of piscreen-overlay.dts if needed Let us know if it works Edited November 2, 20251 yr by robertoj
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.