I have came in possession

This is the lcd module:


While googling for any info about lcd controller I came across this page: http://heikki.virekunnas.fi/2015/raspberry-pi-tft/, author managed to get from manufacturer patch file for kernel sources and tested it with 4.1.y - on which lcd worked. But still LCD replace HDMI, but I want to use this screen as additional for user interaction, while the bigger on HDMI as presentation monitor.
I have looked through files that he (author of page `heikki.virekunnas.fi`) published, and I came to conclusion that the patch do not changes standard ILI9341 driver but only replace default framebuffer and directs it to ili driver while cutting out hdmi, only single mention in patch file about ili9341 is adding it's .ko file to $obj in makefile... wow I'm so smart

Since, fbtft has been merged with rpi kernel, so the fb drivers (including ili9341.c) was moved to fbtft_device driver (so the author of page can't compile latest kernel with driver+patch).
I tried to use fbtft but I just got "not supported driver"

I would be grateful for help making it works alongside with hdmi display...
I found the manufacturer on taobao https://kedei.taobao.com/ but I couldn't create account on taobao so I can't contact manufacturer....
Hardware
So something about hardware, which I reverse engineered by the "hard way" - "grab multimeter and run through all LCD FPC pins and shift register pins"

On board marking:
Code: Select all
KeDei
3.5 inch SPI TFTLCD
480x320 16/18bit
version 1.1 2015/8/11
Code: Select all
A35138N05QI
TW2C000094
29/9486L PJ
LCD - printed:
Code: Select all
BLU-A35138N05VI-A
PR3514-25 1227 1
Code: Select all
FPC-A35138S55VI-A
Some photos:





And schematic draft & "human readable version" version



I'm pretty sure about D/C (Pin 37 on LCD) and Reset (Pin 19 on LCD) pins by looking into driver code, but I can't identify other signals (WR/RD/CS/etc...)
The working sysimage
I have gathered some information form sysimage that is provided by seller:
dmesg just 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 at 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 for 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 at 19.20MHz (virt).
[ 0.000015] sched_clock: 56 bits at 19MHz, resolution 52ns, wraps every 3579139424256ns
[ 0.000038] Switching to 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 for CPU 0
[ 0.054700] missing device node for CPU 1
[ 0.054732] missing device node for CPU 2
[ 0.054762] missing device node for CPU 3
[ 0.054803] CPU0: thread -1, cpu 0, socket 15, mpidr 80000f00
[ 0.054845] [bcm2709_smp_prepare_cpus] enter
[ 0.055017] Setting up static identity map for 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 up 4 CPUs
[ 0.155153] SMP: Total of 4 processors activated (153.60 BogoMIPS).
[ 0.155191] CPU: All 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 for 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 and 4 watchpoint registers.
[ 0.247817] hw-breakpoint: maximum watchpoint size is 8 bytes.
[ 0.247879] mailbox: Broadcom VideoCore Mailbox driver
[ 0.248005] bcm2708_vcio: mailbox at 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 at MMIO 0x3f201000 (irq = 83, base_baud = 0) is a 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 to 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 at 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 for caching
[ 1.558791] NFS: Registering the id_resolver key type
[ 1.563973] Key type id_resolver registered
[ 1.568174] Key type id_legacy registered
[ 1.573491] msgmni has been set to 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 as /devices/virtual/input/input0
[ 2.321002] Console: switching to 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 for core params
[ 2.672024] Finished setting default values for 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 for :
[ 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 at 0x803df06c
[ 2.972943] WARN::hcd_init_fiq:413: FIQ ASM at 0x803df3b8 length 36
[ 2.983727] WARN::hcd_init_fiq:438: MPHI regs_base at 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 for all 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 for the MMC driver
[ 3.190379] Load BCM2835 MMC driver
[ 3.199000] sdhci-pltfm: SDHCI platform and OF driver helper
[ 3.209958] ledtrig-cpu: registered to indicate activity on CPUs
[ 3.221012] hidraw: raw HID events driver (C) Jiri Kosina
[ 3.228366] mmc0: host does not support reading read-only switch, assuming write-enable
[ 3.230524] mmc0: new high speed SDHC card at 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 it is 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 it is in host mode hprt0 = 00001101
[ 3.492098] EXT4-fs (mmcblk0p2): mounted filesystem with 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' at 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 as /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 as /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: could not get IRQ
[ 8.298303] random: nonblocking pool is 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
Code: Select all
pi@raspberrypi ~ $ sudo lsmod
Module Size Used by
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
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

- Controller is not ILI9341/ILI9325 - those are for smaller displays (320x240, etc...), I guess this might be ILI9486/9488 because they are for 480x320 displays. But when I compared init with DS it does not fit right so LCD can have a clone of ILI9486/9488 ...
- Module use only SPI interface and two CE signals (CE0 for touch controller, CE1 for LCD shift registers - compared to others lcd modules, in KeDei module this is swapped),
- all LCD control signals are on first shift registers,
- LCD works in 16bit mode - why, because two tracks have jumpers (R4 & R5 - not soldered) and are right beside other data signals,
- Touch controller is XPT2046 (or clone

Files
I have upload on gdrive files from seller (sysimage and driver files, and also path file + ili9341.c from page heikki.virekunnas.fi )
- sysimage (for RPi B,B+ & RPi2) https://drive.google.com/file/d/0BySjzB ... sp=sharing
- driver files from 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
I suck when it comes to kernel, especially loading modules with config

----- EDIT: 2016-06-06 -----
After few months of being lazy I have made a prototype circuit of fbtft spi interface and wired it up to kedei lcd v1.1. So I'm going to test it

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 is called by chinese sellers "driver"

Ps. 0. I hope my LCD is still working and my fbtft spi interface is good...
----- EDIT: 2016-06-07 -----
I've tested my circuit and unfortunatly I've broken my lcd ealier when I've been testing fbtft-spi adapter in spider-circuit

More photos I've put on my github project page with this hack

https://github.com/saper-2/rpi-spi-lcd35-kedei
This is exact link to results: https://github.com/saper-2/rpi-spi-lcd3 ... .1/results
Here is one photo


Ps. Sorry for my bad English....