KeDei 3.5 inch 480x320 TFT lcd from ali - Raspberry Pi Forums


hi,

have came in possession :d of cheap (~14usd) 3,5" tft lcd display touch. on provided seller sysimage lcd works ok replaces hdmi.
lcd module:
image image

while googling info lcd controller came across page: http://heikki.virekunnas.fi/2015/raspberry-pi-tft/, author managed manufacturer patch file kernel sources , tested 4.1.y - on lcd worked. still lcd replace hdmi, want use screen additional user interaction, while bigger on hdmi presentation monitor.
have looked through files (author of page `heikki.virekunnas.fi`) published, , came conclusion patch not changes standard ili9341 driver replace default framebuffer , directs ili driver while cutting out hdmi, single mention in patch file ili9341 adding it's .ko file $obj in makefile... wow i'm smart :lol:

since, fbtft has been merged rpi kernel, fb drivers (including ili9341.c) moved fbtft_device driver (so author of page can't compile latest kernel driver+patch).
tried use fbtft got "not supported driver" :(

grateful making works alongside hdmi display...

found manufacturer on taobao https://kedei.taobao.com/ couldn't create account on taobao can't contact manufacturer....

hardware
hardware, reverse engineered "hard way" - "grab multimeter , run through lcd fpc pins , shift register pins" :d

on board marking:

code: select all

kedei 3.5 inch spi tftlcd 480x320 16/18bit version 1.1 2015/8/11 
on lcd - sticker:

code: select all

a35138n05qi tw2c000094 29/9486l    pj
noticed there "9486l" can suggest lcd screen controlled ili9486l, found lcd on taobao can't contact seller.

lcd - printed:

code: select all

blu-a35138n05vi-a pr3514-25 1227 1
on fpc of lcd:

code: select all

fpc-a35138s55vi-a
+ date

photos:
image image image
image image

, schematic draft & "human readable version" version :d :
image
image

i'm pretty sure d/c (pin 37 on lcd) , reset (pin 19 on lcd) pins looking driver code, can't identify other signals (wr/rd/cs/etc...)

the working sysimage
have gathered information form sysimage provided seller:

dmesg after boot.

code: select all

pi@raspberrypi ~ $ dmesg [    0.000000] booting linux on physical cpu 0xf00 [    0.000000] initializing cgroup subsys cpu [    0.000000] initializing cgroup subsys cpuacct [    0.000000] linux version 3.18.9-v7 (lgh@lgh-thinkpad-x200) (gcc version 4.7.1 20120402 (prerelease) (crosstool-ng 1.15.2) ) #7 smp preempt sun jun 28 09:33:18 cst 2015 [    0.000000] cpu: armv7 processor [410fc075] revision 5 (armv7), cr=10c5387d [    0.000000] cpu: pipt / vipt nonaliasing data cache, vipt aliasing instruction cache [    0.000000] machine: bcm2709 [    0.000000] cma: reserved 8 mib @ 0x3a800000 [    0.000000] memory policy: data cache writealloc [    0.000000] on node 0 totalpages: 241664 [    0.000000] free_area_init_node: node 0, pgdat 8081e640, node_mem_map ba093000 [    0.000000]   normal zone: 1888 pages used memmap [    0.000000]   normal zone: 0 pages reserved [    0.000000]   normal zone: 241664 pages, lifo batch:31 [    0.000000] [bcm2709_smp_init_cpus] enter (8600->f3003010) [    0.000000] [bcm2709_smp_init_cpus] ncores=4 [    0.000000] percpu: embedded 10 pages/cpu @ba066000 s12224 r8192 d20544 u40960 [    0.000000] pcpu-alloc: s12224 r8192 d20544 u40960 alloc=10*4096 [    0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3 [    0.000000] built 1 zonelists in zone order, mobility grouping on.  total pages: 239776 [    0.000000] kernel command line: dma.dmachans=0x7f35 bcm2708_fb.fbwidth=656 bcm2708_fb.fbheight=416 bcm2709.boardrev=0xa01041 bcm2709.serial=0x2938b030 smsc95xx.macaddr=b8:27:eb:38:b0:30 bcm2708_fb.fbswap=1 bcm2709.disk_led_gpio=47 bcm2709.disk_led_active_low=0 sdhci-bcm2708.emmc_clock_freq=250000000 vc_mem.mem_base=0x3dc00000 vc_mem.mem_size=0x3f000000  dwc_otg.lpm_enable=0 console=ttyama0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait [    0.000000] pid hash table entries: 4096 (order: 2, 16384 bytes) [    0.000000] dentry cache hash table entries: 131072 (order: 7, 524288 bytes) [    0.000000] inode-cache hash table entries: 65536 (order: 6, 262144 bytes) [    0.000000] memory: 940800k/966656k available (5759k kernel code, 401k rwdata, 1760k rodata, 392k init, 771k bss, 25856k reserved) [    0.000000] virtual kernel memory layout: [    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kb) [    0.000000]     fixmap  : 0xffc00000 - 0xffe00000   (2048 kb) [    0.000000]     vmalloc : 0xbb800000 - 0xff000000   (1080 mb) [    0.000000]     lowmem  : 0x80000000 - 0xbb000000   ( 944 mb) [    0.000000]     modules : 0x7f000000 - 0x80000000   (  16 mb) [    0.000000]       .text : 0x80008000 - 0x8075feb4   (7520 kb) [    0.000000]       .init : 0x80760000 - 0x807c2000   ( 392 kb) [    0.000000]       .data : 0x807c2000 - 0x808267f4   ( 402 kb) [    0.000000]        .bss : 0x808267f4 - 0x808e77e4   ( 772 kb) [    0.000000] slub: hwalign=64, order=0-3, minobjects=0, cpus=4, nodes=1 [    0.000000] preemptible hierarchical rcu implementation. [    0.000000] nr_irqs:608 [    0.000000] architected cp15 timer(s) running @ 19.20mhz (virt). [    0.000015] sched_clock: 56 bits @ 19mhz, resolution 52ns, wraps every 3579139424256ns [    0.000038] switching timer-based delay loop, resolution 52ns [    0.000323] console: colour dummy device 80x30 [    0.002069] console [tty1] enabled [    0.002125] calibrating delay loop (skipped), value calculated using timer frequency.. 38.40 bogomips (lpj=192000) [    0.002222] pid_max: default: 32768 minimum: 301 [    0.002679] mount-cache hash table entries: 2048 (order: 1, 8192 bytes) [    0.002748] mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes) [    0.004077] initializing cgroup subsys memory [    0.004178] initializing cgroup subsys devices [    0.004241] initializing cgroup subsys freezer [    0.004298] initializing cgroup subsys net_cls [    0.004353] initializing cgroup subsys blkio [    0.004497] cpu: testing write buffer coherency: ok [    0.004618] ftrace: allocating 20075 entries in 59 pages [    0.054619] missing device node cpu 0 [    0.054700] missing device node cpu 1 [    0.054732] missing device node cpu 2 [    0.054762] missing device node cpu 3 [    0.054803] cpu0: thread -1, cpu 0, socket 15, mpidr 80000f00 [    0.054845] [bcm2709_smp_prepare_cpus] enter [    0.055017] setting static identity map 0x52f398 - 0x52f3f0 [    0.114632] [bcm2709_boot_secondary] cpu:1 started (0) 18 [    0.114944] cpu1: booted secondary processor [    0.114950] [bcm2709_secondary_init] enter cpu:1 [    0.115005] cpu1: thread -1, cpu 1, socket 15, mpidr 80000f01 [    0.134622] [bcm2709_boot_secondary] cpu:2 started (0) 18 [    0.134876] cpu2: booted secondary processor [    0.134882] [bcm2709_secondary_init] enter cpu:2 [    0.134920] cpu2: thread -1, cpu 2, socket 15, mpidr 80000f02 [    0.154656] [bcm2709_boot_secondary] cpu:3 started (0) 18 [    0.154896] cpu3: booted secondary processor [    0.154903] [bcm2709_secondary_init] enter cpu:3 [    0.154938] cpu3: thread -1, cpu 3, socket 15, mpidr 80000f03 [    0.155038] brought 4 cpus [    0.155153] smp: total of 4 processors activated (153.60 bogomips). [    0.155191] cpu: cpu(s) started in svc mode. [    0.156253] devtmpfs: initialized [    0.182161] vfp support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5 [    0.184364] pinctrl core: initialized pinctrl subsystem [    0.185196] net: registered protocol family 16 [    0.190967] dma: preallocated 4096 kib pool atomic coherent allocations [    0.214447] cpuidle: using governor ladder [    0.244479] cpuidle: using governor menu [    0.245069] bcm2709.uart_clock = 3000000 [    0.247759] hw-breakpoint: found 5 (+1 reserved) breakpoint , 4 watchpoint registers. [    0.247817] hw-breakpoint: maximum watchpoint size 8 bytes. [    0.247879] mailbox: broadcom videocore mailbox driver [    0.248005] bcm2708_vcio: mailbox @ f300b880 [    0.248410] bcm_power: broadcom power driver [    0.248451] bcm_power_open() -> 0 [    0.248480] bcm_power_request(0, 8) [    0.749185] bcm_mailbox_read -> 00000080, 0 [    0.749220] bcm_power_request -> 0 [    0.749367] serial: amba pl011 uart driver [    0.749518] dev:f1: ttyama0 @ mmio 0x3f201000 (irq = 83, base_baud = 0) pl011 rev3 [    1.260280] console [ttyama0] enabled [    1.338050] scsi subsystem initialized [    1.342071] usbcore: registered new interface driver usbfs [    1.347735] usbcore: registered new interface driver hub [    1.353197] usbcore: registered new device driver usb [    1.360280] switched clocksource arch_sys_counter [    1.395373] fs-cache: loaded [    1.398632] cachefiles: loaded [    1.413942] net: registered protocol family 2 [    1.419845] tcp established hash table entries: 8192 (order: 3, 32768 bytes) [    1.427091] tcp bind hash table entries: 8192 (order: 4, 65536 bytes) [    1.433763] tcp: hash tables configured (established 8192 bind 8192) [    1.440238] tcp: reno registered [    1.443521] udp hash table entries: 512 (order: 2, 16384 bytes) [    1.449511] udp-lite hash table entries: 512 (order: 2, 16384 bytes) [    1.456255] net: registered protocol family 1 [    1.461128] rpc: registered named unix socket transport module. [    1.467075] rpc: registered udp transport module. [    1.471863] rpc: registered tcp transport module. [    1.476586] rpc: registered tcp nfsv4.1 backchannel transport module. [    1.484235] bcm2708_dma: dma manager @ f3007000 [    1.489012] bcm2708_gpio: bcm2708_gpio_probe 807ed1d8 [    1.494891] vc-mem: phys_addr:0x00000000 mem_base=0x3dc00000 mem_size:0x3f000000(1008 mib) [    1.504874] futex hash table entries: 1024 (order: 4, 65536 bytes) [    1.511385] audit: initializing netlink subsys (disabled) [    1.516865] audit: type=2000 audit(1.289:1): initialized [    1.538539] vfs: disk quotas dquot_6.5.2 [    1.542906] dquot-cache hash table entries: 1024 (order 0, 4096 bytes) [    1.552491] fs-cache: netfs 'nfs' registered caching [    1.558791] nfs: registering id_resolver key type [    1.563973] key type id_resolver registered [    1.568174] key type id_legacy registered [    1.573491] msgmni has been set 1853 [    1.579125] block layer scsi generic (bsg) driver version 0.4 loaded (major 252) [    1.586856] io scheduler noop registered [    1.590841] io scheduler deadline registered (default) [    1.596347] io scheduler cfq registered [    1.911108] input: kedei.taobao.com /devices/virtual/input/input0 [    2.321002] console: switching colour frame buffer device 60x40 [    2.334824] bcm2708-dmaengine bcm2708-dmaengine: load bcm2835 dma engine driver [    2.346777] uart-pl011 dev:f1: no dma platform data [    2.360932] vc-cma: videocore cma driver [    2.367043] vc-cma: vc_cma_base      = 0x00000000 [    2.373964] vc-cma: vc_cma_size      = 0x00000000 (0 mib) [    2.381573] vc-cma: vc_cma_initial   = 0x00000000 (0 mib) [    2.401336] brd: module loaded [    2.412768] loop: module loaded [    2.418460] vchiq: vchiq_init_state: slot_zero = 0xba800000, is_master = 0 [    2.430724] loading iscsi transport class v2.0-870. [    2.438790] usbcore: registered new interface driver smsc95xx [    2.448962] dwc_otg: version 3.00a 10-aug-2012 (platform bus) [    2.659550] core release: 2.80a [    2.664974] setting default values core params [    2.672024] finished setting default values core params [    2.882400] using buffer dma mode [    2.887990] periodic transfer interrupt enhancement - disabled [    2.898264] multiprocessor interrupt enhancement - disabled [    2.908334] otg ver param: 0, otg ver flag: 0 [    2.915053] dedicated tx fifos mode [    2.922642] warn::dwc_otg_hcd_init:1047: fiq dma bounce buffers: virt = 0xbac04000 dma = 0xfac04000 len=9024 [    2.937150] fiq fsm acceleration enabled : [    2.937150] non-periodic split transactions [    2.937150] periodic split transactions [    2.937150] high-speed isochronous endpoints [    2.962548] dwc_otg: microframe scheduler enabled [    2.962659] warn::hcd_init_fiq:412: fiq on core 1 @ 0x803df06c [    2.972943] warn::hcd_init_fiq:413: fiq asm @ 0x803df3b8 length 36 [    2.983727] warn::hcd_init_fiq:438: mphi regs_base @ 0xbb85e000 [    2.994358] dwc_otg bcm2708_usb: dwc otg controller [    3.001665] dwc_otg bcm2708_usb: new usb bus registered, assigned bus number 1 [    3.013569] dwc_otg bcm2708_usb: irq 32, io mem 0x00000000 [    3.023730] init: port power? op_state=1 [    3.029973] init: power port (0) [    3.035812] usb usb1: new usb device found, idvendor=1d6b, idproduct=0002 [    3.047205] usb usb1: new usb device strings: mfr=3, product=2, serialnumber=1 [    3.059098] usb usb1: product: dwc otg controller [    3.066188] usb usb1: manufacturer: linux 3.18.9-v7 dwc_otg_hcd [    3.076715] usb usb1: serialnumber: bcm2708_usb [    3.084692] hub 1-0:1.0: usb hub found [    3.090856] hub 1-0:1.0: 1 port detected [    3.097670] dwc_otg: fiq enabled [    3.097685] dwc_otg: nak holdoff enabled [    3.097696] dwc_otg: fiq split-transaction fsm enabled [    3.097744] module dwc_common_port init [    3.098246] usbcore: registered new interface driver usb-storage [    3.109352] mousedev: ps/2 mouse device common mice [    3.120453] bcm2835-cpufreq: min=600000 max=900000 [    3.128075] sdhci: secure digital host controller interface driver [    3.139119] sdhci: copyright(c) pierre ossman [    3.146142] dma channels allocated mmc driver [    3.190379] load bcm2835 mmc driver [    3.199000] sdhci-pltfm: sdhci platform , of driver helper [    3.209958] ledtrig-cpu: registered indicate activity on cpus [    3.221012] hidraw: raw hid events driver (c) jiri kosina [    3.228366] mmc0: host not support reading read-only switch, assuming write-enable [    3.230524] mmc0: new high speed sdhc card @ address 0007 [    3.231276] mmcblk0: mmc0:0007 sd8gb 7.42 gib [    3.233167]  mmcblk0: p1 p2 [    3.264962] usbcore: registered new interface driver usbhid [    3.275539] usbhid: usb hid core driver [    3.282323] tcp: cubic registered [    3.288155] initializing xfrm netlink socket [    3.290504] indeed in host mode hprt0 = 00021501 [    3.302591] net: registered protocol family 17 [    3.309727] key type dns_resolver registered [    3.317122] registering swp/swpb emulation handler [    3.325651] registered taskstats version 1 [    3.332536] vc-sm: videocore shared memory driver [    3.339645] [vc_sm_connected_init]: start [    3.347002] [vc_sm_connected_init]: end - returning 0 [    3.470499] usb 1-1: new high-speed usb device number 2 using dwc_otg [    3.481920] indeed in host mode hprt0 = 00001101 [    3.492098] ext4-fs (mmcblk0p2): mounted filesystem ordered data mode. opts: (null) [    3.505070] vfs: mounted root (ext4 filesystem) on device 179:2. [    3.517157] devtmpfs: mounted [    3.523192] freeing unused kernel memory: 392k (80760000 - 807c2000) [    3.680741] usb 1-1: new usb device found, idvendor=0424, idproduct=9514 [    3.692598] usb 1-1: new usb device strings: mfr=0, product=0, serialnumber=0 [    3.706071] hub 1-1:1.0: usb hub found [    3.712403] hub 1-1:1.0: 5 ports detected [    4.000532] usb 1-1.1: new high-speed usb device number 3 using dwc_otg [    4.110793] usb 1-1.1: new usb device found, idvendor=0424, idproduct=ec00 [    4.122818] usb 1-1.1: new usb device strings: mfr=0, product=0, serialnumber=0 [    4.139259] smsc95xx v1.0.4 [    4.205350] smsc95xx 1-1.1:1.0 eth0: register 'smsc95xx' @ usb-bcm2708_usb-1.1, smsc95xx usb 2.0 ethernet, b8:27:eb:38:b0:30 [    4.670786] usb 1-1.3: new full-speed usb device number 4 using dwc_otg [    4.782173] udevd[175]: starting version 175 [    4.787057] usb 1-1.3: new usb device found, idvendor=24ae, idproduct=1000 [    4.787071] usb 1-1.3: new usb device strings: mfr=1, product=2, serialnumber=0 [    4.787082] usb 1-1.3: product: rapoo 2.4g wireless touch desktop [    4.787091] usb 1-1.3: manufacturer: mosart semi. [    4.838806] input: mosart semi. rapoo 2.4g wireless touch desktop  /devices/platform/bcm2708_usb/usb1/1-1/1-1.3/1-1.3:1.0/0003:24ae:1000.0001/input/input1 [    4.862704] hid-generic 0003:24ae:1000.0001: input,hidraw0: usb hid v1.10 keyboard [mosart semi. rapoo 2.4g wireless touch desktop ] on usb-bcm2708_usb-1.3/input0 [    4.902783] input: mosart semi. rapoo 2.4g wireless touch desktop  /devices/platform/bcm2708_usb/usb1/1-1/1-1.3/1-1.3:1.1/0003:24ae:1000.0002/input/input2 [    4.926400] hid-generic 0003:24ae:1000.0002: input,hiddev0,hidraw1: usb hid v1.10 mouse [mosart semi. rapoo 2.4g wireless touch desktop ] on usb-bcm2708_usb-1.3/input1 [    5.376850] bcm2708_i2c bcm2708_i2c.1: not irq [    8.298303] random: nonblocking pool initialized [    9.458110] ext4-fs (mmcblk0p2): re-mounted. opts: (null) [    9.791195] ext4-fs (mmcblk0p2): re-mounted. opts: (null) [   15.253190] smsc95xx 1-1.1:1.0 eth0: hardware isn't capable of remote wakeup [   16.785108] smsc95xx 1-1.1:1.0 eth0: link up, 100mbps, full-duplex, lpa 0xc5e1 [   20.605736] adding 102396k swap on /var/swap.  priority:-1 extents:2 across:2101240k ssfs
lsmod - didn't expect find anyway...

code: select all

pi@raspberrypi ~ $ sudo lsmod module                  size  used snd_bcm2835            18739  0 snd_soc_bcm2708_i2s     6448  0 regmap_mmio             2961  1 snd_soc_bcm2708_i2s snd_soc_core          139781  1 snd_soc_bcm2708_i2s snd_compress            7579  1 snd_soc_core snd_pcm_dmaengine       3335  1 snd_soc_core snd_pcm                74726  3 snd_bcm2835,snd_soc_core,snd_pcm_dmaengine snd_seq                52859  0 snd_seq_device          5597  1 snd_seq snd_timer              17616  2 snd_pcm,snd_seq evdev                   9894  6 joydev                  8923  0 snd                    51452  7 snd_bcm2835,snd_soc_core,snd_timer,snd_pcm,snd_seq,snd_seq_device,snd_compress i2c_bcm2708             4946  0
uname , fb info /sys/... , fbset -i (framebuffer info)

code: select all

pi@raspberrypi ~ $ uname -a linux raspberrypi 3.18.9-v7 #7 smp preempt sun jun 28 09:33:18 cst 2015 armv7l gnu/linux root@raspberrypi:/sys/bus/platform/devices# ls alarmtimer         bcm2708_powerman.0  bcm2835_aud3.3     ili9341.0            snd-hifiberry-dac.0 bcm2708_dma.0      bcm2708_spi.0       bcm2835_aud4.4     leds-gpio            snd-hifiberry-digi.0 bcm2708-dmaengine  bcm2708_usb         bcm2835_aud5.5     mmc-bcm2835.0        snd-rpi-dac.0 bcm2708_fb         bcm2708_vcio        bcm2835_aud6.6     pcm1794a-codec       snd-rpi-hifiberry-dacplus.0 bcm2708_gpio       bcm2835_aud0.0      bcm2835_aud7.7     pcm5102a-codec       snd-rpi-iqaudio-dac.0 bcm2708_i2c.1      bcm2835_aud1.1      bcm2835_hwmon.0    serial8250.0         snd-soc-dummy bcm2708-i2s.0      bcm2835_aud2.2      bcm2835_thermal.0  snd-hifiberry-amp.0  w1-gpio root@raspberrypi:/sys/bus/platform/devices# cd ili9341.0 root@raspberrypi:/sys/bus/platform/devices/ili9341.0# ls driver  driver_override  graphics  modalias  power  subsystem  uevent root@raspberrypi:/sys/bus/platform/devices/ili9341.0# cd graphics root@raspberrypi:/sys/bus/platform/devices/ili9341.0/graphics# ls fb0 root@raspberrypi:/sys/bus/platform/devices/ili9341.0/graphics# cd fb0 root@raspberrypi:/sys/bus/platform/devices/ili9341.0/graphics/fb0# ls -la total 0 drwxr-xr-x 3 root root    0 oct 29 17:49 . drwxr-xr-x 3 root root    0 oct 29 17:49 .. -rw-r--r-- 1 root root 4096 oct 29 17:49 bits_per_pixel -rw-r--r-- 1 root root 4096 oct 29 17:49 blank -rw-r--r-- 1 root root 4096 oct 29 17:49 console -rw-r--r-- 1 root root 4096 oct 29 17:49 cursor -r--r--r-- 1 root root 4096 oct 29 17:49 dev lrwxrwxrwx 1 root root    0 oct 29 17:49 device -> ../../../ili9341.0 -rw-r--r-- 1 root root 4096 oct 29 17:49 mode -rw-r--r-- 1 root root 4096 oct 29 17:49 modes -r--r--r-- 1 root root 4096 oct 29 17:49 name -rw-r--r-- 1 root root 4096 oct 29 17:49 pan drwxr-xr-x 2 root root    0 oct 29 17:49 power -rw-r--r-- 1 root root 4096 oct 29 17:49 rotate -rw-r--r-- 1 root root 4096 oct 29 17:49 state -r--r--r-- 1 root root 4096 oct 29 17:49 stride lrwxrwxrwx 1 root root    0 oct 29 17:49 subsystem -> ../../../../../class/graphics -rw-r--r-- 1 root root 4096 oct 29 17:49 uevent -rw-r--r-- 1 root root 4096 oct 29 17:49 virtual_size root@raspberrypi:/sys/bus/platform/devices/ili9341.0/graphics/fb0# cat name ili9325 root@raspberrypi:/sys/bus/platform/devices/ili9341.0/graphics/fb0# cat bits_per_pixel 16 root@raspberrypi:/sys/bus/platform/devices/ili9341.0/graphics/fb0# cat modes u:480x320p-0 root@raspberrypi:/sys/bus/platform/devices/ili9341.0/graphics/fb0# cat virtual_size 480,320 root@raspberrypi:/sys/bus/platform/devices/ili9341.0/graphics/fb0# cat dev 29:0 root@raspberrypi:/sys/bus/platform/devices/ili9341.0/graphics/fb0# cat rotate 0 root@raspberrypi:/sys/bus/platform/devices/ili9341.0/graphics/fb0# cat state 0 root@raspberrypi:/sys/bus/platform/devices/ili9341.0/graphics/fb0# cat stride 960 root@raspberrypi:/sys/bus/platform/devices/ili9341.0/graphics/fb0# fbset -i -fb /dev/fb0   mode "480x320"     geometry 480 320 480 320 16     timings 0 0 0 0 0 0 0     rgba 5/11,6/5,5/0,0/0 endmode   frame buffer device information:     name        : ili9325     address     : 0xbb80d000     size        : 307200     type        : packed pixels     visual      : truecolor     xpanstep    : 0     ypanstep    : 0     ywrapstep   : 0     linelength  : 960     accelerator : no
what know :d
- controller not ili9341/ili9325 - smaller displays (320x240, etc...), guess might ili9486/9488 because 480x320 displays. when compared init ds not fit right lcd can have clone of ili9486/9488 ...
- module use spi interface , 2 ce signals (ce0 touch controller, ce1 lcd shift registers - compared others lcd modules, in kedei module swapped),
- lcd control signals on first shift registers,
- lcd works in 16bit mode - why, because 2 tracks have jumpers (r4 & r5 - not soldered) , right beside other data signals,
- touch controller xpt2046 (or clone :) on spi ce0)

files
have upload on gdrive files seller (sysimage , driver files, , path file + ili9341.c page heikki.virekunnas.fi )
- sysimage (for rpi b,b+ & rpi2) https://drive.google.com/file/d/0bysjzb ... sp=sharing
- driver files seller https://drive.google.com/file/d/0bysjzb ... sp=sharing
- patch file: https://drive.google.com/file/d/0bysjzb ... sp=sharing
- ili9341.c driver file: https://drive.google.com/file/d/0bysjzb ... sp=sharing

suck when comes kernel, loading modules config :( ... please, help?


----- edit: 2016-06-06 -----
after few months of being lazy have made prototype circuit of fbtft spi interface , wired kedei lcd v1.1. i'm going test :) , in meantime have put kedei "backup" repository kernels & sysimages (for debian/raspbian only) - write "i not going ever use other distro there no other distro backup". i've uploaded files mediafire.

kedei raspbian system images (the backup repo)
https://www.mediafire.com/folder/t709uv ... dei-sysimg

kedei kernels (the backup repo)
https://www.mediafire.com/folder/sxsyoh ... ei-kernels (this called chinese sellers "driver" :? )
ps. 0. hope lcd still working , fbtft spi interface good...


----- edit: 2016-06-07 -----
i've tested circuit , unfortunatly i've broken lcd ealier when i've been testing fbtft-spi adapter in spider-circuit :(
more photos i've put on github project page hack :) :
https://github.com/saper-2/rpi-spi-lcd35-kedei
exact link results: https://github.com/saper-2/rpi-spi-lcd3 ... .1/results

here 1 photo :d :
image

ps. sorry bad english....

one step further, have working lcd python script , , c++ program. :)

https://www.youtube.com/watch?v=_pr_oaxkis0

dropped test programs on github: https://github.com/saper-2/rpi-spi-lcd35-kedei, slow - few sec fill black whole screen o_o. far found googling, speed limiter bcm2835_spi kernel module, accessing him /dev/spidev0.1 take lot of time.

looking on fbflex, wonder how should perform lcd reset, not mention controlling signals of lcd?

know on first shift register there control signals lcd, know 6 states: 2 prepare , store data, 2 similar command , 2 reset - u1 first shift register.
known output states:

code: select all

q 8 7 6 5 4 3 2 1 - hex  - action   0 0 0 0 0 0 0 0 - 0x00 - reset        0 0 0 0 0 0 0 1 - 0x01 - release reset        0 0 0 1 0 0 0 1 - 0x11 - prepare command        0 0 0 1 1 0 1 1 - 0x1b - store command   0 0 0 1 1 0 0 1 - 0x15 - prepare data   0 0 0 1 1 1 1 1 - 0x1f - store data
shift register values suspect signals:
- q1 (bit 0) - reset
- q2 - might be: cs or wr
- q3 - be: data/command select

i'm thinking of trying write fbtft driver lcd, @ moment have no idea start :| ...

i'm going wreck brain tomorrow or on weekend... need time off :)

if give hints start create fbtft device driver grateful :)


raspberrypi



Comments

Popular posts from this blog

Thread: Howto install Flash debug player plugin for Firefox in Ubuntu 9.04 64 bit

Thread: Error 15 en Grub 1.5