Closed rezaee closed 6 years ago
That display is mentioned in the wiki: https://github.com/notro/fbtft/wiki/More-LCD-Modules#tft01-22sp Check that your kernel supports fbtft:
$ modinfo fbtft
filename: /lib/modules/4.9.0-rc5-v7+/kernel/drivers/staging/fbtft/fbtft.ko
license: GPL
srcversion: 3EFDADD511D35BFEE3B20A7
depends:
staging: Y
intree: Y
vermagic: 4.9.0-rc5-v7+ SMP mod_unload modversions ARMv7 p2v8
parm: debug:override device debug level (ulong)
parm: dma:Use DMA buffer (bool)
fbtft was added to linux in 4.10.
Hi notro and very thank you for reply. But I am newbie in linux and don't know how to check fbtft support? Are armbian or raspbian OS in they last version support that? If yes, I want to download and trying them on my board if it's possible!
this is my OS information and I think there is no support for fbtft:
Linux FriendlyARM 3.4.39-h3 #76 SMP PREEMPT Wed Sep 7 13:46:05 CST 2016 armv7l GNU/Linux
This command will tell if you have fbtft support: modinfo fbtft_device The fbtft module can be builtin, but fbtft_device is most likely not. This will show which drivers are enabled if any:
$ zgrep CONFIG_FB_TFT /proc/config.gz
CONFIG_FB_TFT=m
<snip>
AFAICT this is the tree they build the kernel from, and it does have fbtft: https://github.com/friendlyarm/h3_lichee/tree/master/linux-3.4/drivers/staging/fbtft
I don't know which defconfig is used, but this one for instance have only 2 drivers enabled: https://github.com/friendlyarm/h3_lichee/blob/97e1a057000511abe8ed85adee6c6474398a427c/linux-3.4/arch/arm/configs/sun8iw7p1smp_defconfig#L2870
This is the resault of modinfo fbtft
:
modinfo: ERROR: Module fbtft not found.
But after checking the files, I found this file here:
/lib/modules/3.4.39-h3/kernel/drivers/staging/fbtft
And this is the resaults of modinfo fbtft_device
filename: /lib/modules/3.4.39-h3/kernel/drivers/staging/fbtft/fbtft_device.ko
license: GPL
author: Noralf Tronnes
description: Add a FBTFT device.
depends:
staging: Y
intree: Y
vermagic: 3.4.39-h3 SMP preempt mod_unload ARMv7 p2v8
parm: name:Devicename (required). name=list => list all supported devices. (charp)
parm: rotate:Angle to rotate display counter clockwise: 0, 90, 180, 270 (uint)
parm: busnum:SPI bus number (default=0) (uint)
parm: cs:SPI chip select (override device default) (uint)
parm: speed:SPI speed (override device default) (uint)
parm: mode:SPI mode (override device default) (int)
parm: gpios:List of gpios. Comma separated with the form: reset:23,dc:24 (when overriding the default, all gpios must be specified) (charp)
parm: fps:Frames per second (override driver default) (uint)
parm: gamma:String representation of Gamma Curve(s). Driver specific. (charp)
parm: txbuflen:txbuflen (override driver default) (int)
parm: bgr:BGR bit (supported by some drivers). (int)
parm: startbyte:Sets the Start byte used by some SPI displays. (uint)
parm: custom:Add a custom display device. Use speed= argument to make it a SPI device, else platform_device (bool)
parm: width:Display width, used with the custom argument (uint)
parm: height:Display height, used with the custom argument (uint)
parm: buswidth:Display bus width, used with the custom argument (uint)
parm: init:Init sequence, used with the custom argument (array of int)
parm: debug:level: 0-7 (the remaining 29 bits is for advanced usage) (ulong)
parm: verbose:0 silent, >0 show gpios, >1 show devices, >2 show devices before (default=3) (uint)
And unfortunately I have no 'config.gz' :zgrep CONFIG_FB_TFT /proc/config.gz
gzip: /proc/config.gz: No such file or directory
I only have 'config-3.4.39-h3.new' in /boot directory that it's an empty file I think!
What's the meaning of these lines?
Add to drivers/video/fbdev/Kconfig: source "drivers/video/fbdev/fbtft/Kconfig"
Add to drivers/video/fbdev/Makefile: obj-y += fbtft/
I have no Kconfig
and Makefile
in that location!
@rezaee Have a look at my wiki for using the SSD1322.
https://github.com/alidaf/raspberryPi/wiki/SSD1322(SPI)---notro's-fbtft-framebuffer-driver
It's a different display but I've tried to consolidate all of Notro's guides into a single page that should work for any display by changing the references to the actual module. I had to work through it all empirically and this is what worked for me in the end. There is a section that deals with those two lines but it depends on whether you use the staging location or not. I chose not to because I determined that the Kconfig and Makefile were different in different locations and this is how I ended up understanding it all.
And unfortunately I have no 'config.gz'
Maybe the config is available as a module: sudo modprobe configs Or just look in the folder to see which drivers are available: /lib/modules/3.4.39-h3/kernel/drivers/staging/fbtft/
If some fbtft drivers are built into the kernel image/binary, they would show up here: /sys/bus/spi/drivers and here: /sys/module/ (a module registers a driver).
I have no Kconfig and Makefile in that location!
They were used before fbtft was added to staging, so some kernel trees have fbtft in that place.
The result of sudo modprobe configs
is modprobe: FATAL: Module configs not found.
In this path: /lib/modules/3.4.39-h3/kernel/drivers/staging/fbtft/ there is only one file named fbtft_device.ko
.
In this path: /sys/bus/spi/drivers there are three folders: fb_st7735s , fb_st7789s , spidev .
And inside this path: /sys/module/ there are many folders that spidev
is one of them!
There are two folders in: /lib/modules : 3.4.39-h3 and 3.18.1+
In this path: /lib/modules/3.18.1+/kernel/drivers/video/fbdev/fbtft/fbtft I have fb_ili9341.c
I guess your options are either to build your own kwernel with the driver enabled, or lobby to get the drivers enabled in the defconfig used to build your kernel. I looked at fb_st7735s and fb_st7789s, and they can't be made to work with your display. fbtft_device is quite flexible so it can override the init sequence, but the set_var() function sets a different value to the 0x36 register which controls mirror/flip/rotation.
So, how can I make working my display? I am newbie in linux and don't know which solution is better! May you tell me what do I should do step by step to make it working?
As I said, you need to build a new kernel with the driver enabled. If adafruit22a is the one that works with this display, you need the fb_ili9340 driver. http://lxr.free-electrons.com/source/drivers/staging/fbtft/fbtft_device.c#L338
I have no experience with nanopi. http://nanopi.io/support.html
If I chnge my OS to armbian, will the problem be solved? As I asked in their forum, it has fbtft support in all the kernels!
I have changed my OS to Armbian and now I have the kernel support of fbtft. So what's the next step?
root@nanopim1:/home/m# modinfo fbtft
filename: /lib/modules/3.4.112-sun8i/kernel/drivers/video/fbtft/fbtft.ko
license: GPL
depends: fb_sys_fops,syscopyarea,sysfillrect,sysimgblt
intree: Y
vermagic: 3.4.112-sun8i SMP preempt mod_unload modversions ARMv7 p2v8
parm: debug:override device debug level (ulong)
parm: dma:Use DMA buffer (bool)
I did this command:
sudo modprobe fbtft_device custom name=fb_ili9341 gpios=reset:25,dc:24,led:18 speed=16000000 rotate=90 bgr=1
And the result of dmesg after that was:
[ 361.544784] ---[ end trace 4484803e1c8239d6 ]---
[ 361.544891] fb_ili9341: probe of spi0.0 failed with error -22
[ 361.618986] fbtft_device: 'dc' = GPIO24
[ 361.623624] fbtft_device: 'led' = GPIO18
[ 361.628266] fbtft_device: SPI devices registered:
[ 361.633616] fbtft_device: fb_ili9341 spi0.0 16000kHz 8 bits mode=0x00
I have checked all the pins and they're connected true!
The info before end trace
is important.
Add this option to (maybe) get some more info: debug=7
This is the full text of dmesg
after this command:
sudo modprobe fbtft_device custom name=fb_ili9341 gpios=reset:25,dc:24,led:18 speed=16000000 rotate=90 bgr=1 debug=7
[ 0.000000] Booting Linux on physical CPU 0
[ 0.000000] Initializing cgroup subsys cpuset
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Linux version 3.4.112-sun8i (root@xenial) (gcc version 5.4.0 20160609 (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.1) ) #14 SMP PREEMPT Wed Sep 14 20:29:31 CEST 2016
[ 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: sun8i
[ 0.000000] cma: CMA: reserved 256 MiB at 50000000
[ 0.000000] Memory policy: ECC disabled, Data cache writealloc
[ 0.000000] On node 0 totalpages: 262144
[ 0.000000] free_area_init_node: node 0, pgdat c0a24900, node_mem_map c0b5d000
[ 0.000000] Normal zone: 1710 pages used for memmap
[ 0.000000] Normal zone: 0 pages reserved
[ 0.000000] Normal zone: 192850 pages, LIFO batch:31
[ 0.000000] HighMem zone: 594 pages used for memmap
[ 0.000000] HighMem zone: 66990 pages, LIFO batch:15
[ 0.000000] script_init enter!
[ 0.000000] script_init exit!
[ 0.000000] PERCPU: Embedded 8 pages/cpu @c1473000 s11968 r8192 d12608 u32768
[ 0.000000] pcpu-alloc: s11968 r8192 d12608 u32768 alloc=8*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: 259840
[ 0.000000] Kernel command line: console=ttyS0,115200 console=tty1 root=/dev/mmcblk0p1 rootwait rootfstype=ext4 cgroup_enable=memory swapaccount=1 panic=10 consoleblank=0 enforcing=0 loglevel=1
[ 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] allocated 2097152 bytes of page_cgroup
[ 0.000000] please try 'cgroup_disable=memory' option if you don't want memory cgroups
[ 0.000000] Memory: 1024MB = 1024MB total
[ 0.000000] Memory: 758708k/758708k available, 289868k reserved, 270336K highmem
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
[ 0.000000] vmalloc : 0xf0000000 - 0xff000000 ( 240 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xef800000 ( 760 MB)
[ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
[ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
[ 0.000000] .text : 0xc0008000 - 0xc095bce8 (9552 kB)
[ 0.000000] .init : 0xc095c000 - 0xc09aeec0 ( 332 kB)
[ 0.000000] .data : 0xc09b0000 - 0xc0a29750 ( 486 kB)
[ 0.000000] .bss : 0xc0a29f04 - 0xc0b5cf90 (1229 kB)
[ 0.000000] Preemptible hierarchical RCU implementation.
[ 0.000000] Additional per-CPU info printed with stalls.
[ 0.000000] NR_IRQS:544
[ 0.000000] Architected local timer running at 24.00MHz.
[ 0.000000] Switching to timer-based delay loop
[ 0.000000] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 178956ms
[ 0.000000] Console: colour dummy device 80x30
[ 0.000000] console [tty1] enabled
[ 0.000260] Calibrating delay loop (skipped), value calculated using timer frequency.. 4800.00 BogoMIPS (lpj=24000000)
[ 0.000283] pid_max: default: 32768 minimum: 301
[ 0.000623] Mount-cache hash table entries: 512
[ 0.001589] Initializing cgroup subsys cpuacct
[ 0.001604] Initializing cgroup subsys memory
[ 0.001652] Initializing cgroup subsys devices
[ 0.001663] Initializing cgroup subsys freezer
[ 0.001674] Initializing cgroup subsys blkio
[ 0.001698] Initializing cgroup subsys perf_event
[ 0.001778] CPU: Testing write buffer coherency: ok
[ 0.001823] ftrace: allocating 25740 entries in 76 pages
[ 0.030294] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[ 0.030312] [sunxi_smp_prepare_cpus] enter
[ 0.030349] Setting up static identity map for 0x40691938 - 0x40691990
[ 0.031292] CPU1: Booted secondary processor
[ 0.031292] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[ 0.031424] CPU2: Booted secondary processor
[ 0.031424] CPU2: thread -1, cpu 2, socket 0, mpidr 80000002
[ 0.040482] CPU3: Booted secondary processor
[ 0.040482] CPU3: thread -1, cpu 3, socket 0, mpidr 80000003
[ 0.040602] Brought up 4 CPUs
[ 0.040602] SMP: Total of 4 processors activated (19200.00 BogoMIPS).
[ 0.040903] devtmpfs: initialized
[ 0.050589] wakeup src cnt is : 2.
[ 0.050602] [exstandby]leave extended_standby_enable_wakeup_src : event 0x800000
[ 0.050613] [exstandby]leave extended_standby_enable_wakeup_src : wakeup_gpio_map 0x0
[ 0.050624] [exstandby]leave extended_standby_enable_wakeup_src : wakeup_gpio_group 0x40
[ 0.050635] [exstandby]leave extended_standby_enable_wakeup_src : event 0x800000
[ 0.050645] [exstandby]leave extended_standby_enable_wakeup_src : wakeup_gpio_map 0x8
[ 0.050656] [exstandby]leave extended_standby_enable_wakeup_src : wakeup_gpio_group 0x40
[ 0.050667] sunxi pm init
[ 0.050803] pinctrl core: initialized pinctrl subsystem
[ 0.060804] NET: Registered protocol family 16
[ 0.061570] DMA: preallocated 2048 KiB pool for atomic coherent allocations
[ 0.061570] script_sysfs_init success
[ 0.061570] sunxi_dump_init success
[ 0.062443] gpiochip_add: registered GPIOs 0 to 383 on device: sunxi-pinctrl
[ 0.063632] sunxi-pinctrl sunxi-pinctrl: initialized sunXi PIO driver
[ 0.063632] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
[ 0.063632] hw-breakpoint: maximum watchpoint size is 8 bytes.
[ 0.063632] script config pll_video to 297 Mhz
[ 0.063632] script config pll_de to 864 Mhz
[ 0.063632] script config pll_ve to 402 Mhz
[ 0.063632] sunxi_default_clk_init
[ 0.063632] try to set pll6ahb1 to 200000000
[ 0.063632] try to set ahb clk source to pll6ahb1
[ 0.063632] set ahb clk source to pll6ahb1
[ 0.063632] try to set ahb1 to 200000000
[ 0.063632] try to set apb1 to 100000000
[ 0.070234] bio: create slab <bio-0> at 0
[ 0.070312] [ARISC] :sunxi-arisc driver v1.04
[ 0.089921] [ARISC] :arisc version: [v0.1.58]
[ 0.177128] [ARISC] :sunxi-arisc driver v1.04 startup succeeded
[ 0.178731] SCSI subsystem initialized
[ 0.178731] usbcore: registered new interface driver usbfs
[ 0.178731] usbcore: registered new interface driver hub
[ 0.180045] usbcore: registered new device driver usb
[ 0.180154] twi_chan_cfg()340 - [twi0] has no twi_regulator.
[ 0.180167] twi_chan_cfg()340 - [twi1] has no twi_regulator.
[ 0.180179] twi_chan_cfg()340 - [twi2] has no twi_regulator.
[ 0.180486] Linux video capture interface: v2.00
[ 0.180709] Advanced Linux Sound Architecture Driver Version 1.0.25.
[ 0.181447] cfg80211: Calling CRDA to update world regulatory domain
[ 0.181505] Switching to clocksource arch_sys_counter
[ 0.193978] FS-Cache: Loaded
[ 0.194262] CacheFiles: Loaded
[ 0.205392] NET: Registered protocol family 2
[ 0.216612] IP route cache hash table entries: 32768 (order: 5, 131072 bytes)
[ 0.217205] TCP established hash table entries: 131072 (order: 8, 1048576 bytes)
[ 0.218964] TCP bind hash table entries: 65536 (order: 7, 786432 bytes)
[ 0.220056] TCP: Hash tables configured (established 131072 bind 65536)
[ 0.220068] TCP: reno registered
[ 0.220082] UDP hash table entries: 512 (order: 2, 16384 bytes)
[ 0.220119] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
[ 0.220479] NET: Registered protocol family 1
[ 0.220888] RPC: Registered named UNIX socket transport module.
[ 0.220901] RPC: Registered udp transport module.
[ 0.220909] RPC: Registered tcp transport module.
[ 0.220917] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.221105] Trying to unpack rootfs image as initramfs...
[ 0.407514] Freeing initrd memory: 3040K
[ 0.407900] hw perfevents: enabled with ARMv7 Cortex_A7 PMU driver, 5 counters available
[ 0.408026] sunxi_reg_init enter
[ 0.408935] audit: initializing netlink socket (disabled)
[ 0.408984] type=2000 audit(0.400:1): initialized
[ 0.410169] highmem bounce pool size: 64 pages
[ 0.411068] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.411261] misc fatfs initialized
[ 0.411981] NFS: Registering the id_resolver key type
[ 0.412368] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[ 0.412381] Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
[ 0.413144] NTFS driver 2.1.30 [Flags: R/W].
[ 0.413457] fuse init (API version 7.18)
[ 0.414218] Btrfs loaded
[ 0.414246] msgmni has been set to 1471
[ 0.415662] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)
[ 0.415681] io scheduler noop registered
[ 0.415690] io scheduler deadline registered
[ 0.415756] io scheduler cfq registered (default)
[ 0.416155] [DISP]disp_module_init
[ 0.416469] cmdline,init_disp=
[ 0.416498] cmdline,disp=
[ 0.424303] [DISP] Fb_map_kernel_logo,line:932:Fb_map_kernel_logo failed!
[ 0.440698] Console: switching to colour frame buffer device 160x45
[ 0.458037] [DISP]disp_module_init finish
[ 0.458260] sw_uart_get_devinfo()1503 - uart0 has no uart_regulator.
[ 0.458565] uart0: ttyS0 at MMIO 0x1c28000 (irq = 32) is a SUNXI
[ 0.458578] sw_uart_pm()890 - uart0 clk is already enable
[ 0.458597] sw_console_setup()1233 - console setup baud 115200 parity n bits 8, flow n
[ 0.458732] console [ttyS0] enabled
[ 0.459266] sunxi_cmatest_init enter
[ 0.459304] sunxi_cmatest_init success
[ 0.463460] brd: module loaded
[ 0.467320] loop: module loaded
[ 0.467603] sunxi_spi_chan_cfg()1376 - [spi-0] has no spi_regulator.
[ 0.467618] sunxi_spi_chan_cfg()1376 - [spi-1] has no spi_regulator.
[ 0.468196] spi spi0: master is unqueued, this is deprecated
[ 0.468526] tun: Universal TUN/TAP device driver, 1.6
[ 0.468537] tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
[ 0.469471] PPP generic driver version 2.4.2
[ 0.469659] PPP BSD Compression module registered
[ 0.469669] PPP Deflate Compression module registered
[ 0.472500] PPP MPPE Compression module registered
[ 0.472518] NET: Registered protocol family 24
[ 0.472594] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 0.492699] sunxi-ehci sunxi-ehci.1: SW USB2.0 'Enhanced' Host Controller (EHCI) Driver
[ 0.492735] sunxi-ehci sunxi-ehci.1: new USB bus registered, assigned bus number 1
[ 0.493292] sunxi-ehci sunxi-ehci.1: irq 104, io mem 0xf1c1a000
[ 0.510035] sunxi-ehci sunxi-ehci.1: USB 0.0 started, EHCI 1.00
[ 0.510681] hub 1-0:1.0: USB hub found
[ 0.510709] hub 1-0:1.0: 1 port detected
[ 0.531079] sunxi-ehci sunxi-ehci.2: SW USB2.0 'Enhanced' Host Controller (EHCI) Driver
[ 0.531109] sunxi-ehci sunxi-ehci.2: new USB bus registered, assigned bus number 2
[ 0.531505] sunxi-ehci sunxi-ehci.2: irq 106, io mem 0xf1c1b000
[ 0.550035] sunxi-ehci sunxi-ehci.2: USB 0.0 started, EHCI 1.00
[ 0.550052] ehci_irq: highspeed device connect
[ 0.550579] hub 2-0:1.0: USB hub found
[ 0.550603] hub 2-0:1.0: 1 port detected
[ 0.570969] sunxi-ehci sunxi-ehci.3: SW USB2.0 'Enhanced' Host Controller (EHCI) Driver
[ 0.570997] sunxi-ehci sunxi-ehci.3: new USB bus registered, assigned bus number 3
[ 0.571379] sunxi-ehci sunxi-ehci.3: irq 108, io mem 0xf1c1c000
[ 0.590034] sunxi-ehci sunxi-ehci.3: USB 0.0 started, EHCI 1.00
[ 0.590047] ehci_irq: highspeed device connect
[ 0.590563] hub 3-0:1.0: USB hub found
[ 0.590587] hub 3-0:1.0: 1 port detected
[ 0.610952] sunxi-ehci sunxi-ehci.4: SW USB2.0 'Enhanced' Host Controller (EHCI) Driver
[ 0.610983] sunxi-ehci sunxi-ehci.4: new USB bus registered, assigned bus number 4
[ 0.611372] sunxi-ehci sunxi-ehci.4: irq 110, io mem 0xf1c1d000
[ 0.630030] sunxi-ehci sunxi-ehci.4: USB 0.0 started, EHCI 1.00
[ 0.630568] hub 4-0:1.0: USB hub found
[ 0.630587] hub 4-0:1.0: 1 port detected
[ 0.630961] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 0.651066] sunxi-ohci sunxi-ohci.1: SW USB2.0 'Open' Host Controller (OHCI) Driver
[ 0.651094] sunxi-ohci sunxi-ohci.1: new USB bus registered, assigned bus number 5
[ 0.651128] sunxi-ohci sunxi-ohci.1: irq 105, io mem 0xf1c1a400
[ 0.714552] hub 5-0:1.0: USB hub found
[ 0.714573] hub 5-0:1.0: 1 port detected
[ 0.734941] sunxi-ohci sunxi-ohci.2: SW USB2.0 'Open' Host Controller (OHCI) Driver
[ 0.734969] sunxi-ohci sunxi-ohci.2: new USB bus registered, assigned bus number 6
[ 0.735001] sunxi-ohci sunxi-ohci.2: irq 107, io mem 0xf1c1b400
[ 0.750078] ehci_irq: highspeed device disconnect
[ 0.794595] hub 6-0:1.0: USB hub found
[ 0.794614] hub 6-0:1.0: 1 port detected
[ 0.810117] ehci_irq: highspeed device disconnect
[ 0.814991] sunxi-ohci sunxi-ohci.3: SW USB2.0 'Open' Host Controller (OHCI) Driver
[ 0.815018] sunxi-ohci sunxi-ohci.3: new USB bus registered, assigned bus number 7
[ 0.815060] sunxi-ohci sunxi-ohci.3: irq 109, io mem 0xf1c1c400
[ 0.874568] hub 7-0:1.0: USB hub found
[ 0.874587] hub 7-0:1.0: 1 port detected
[ 0.894970] sunxi-ohci sunxi-ohci.4: SW USB2.0 'Open' Host Controller (OHCI) Driver
[ 0.894998] sunxi-ohci sunxi-ohci.4: new USB bus registered, assigned bus number 8
[ 0.895030] sunxi-ohci sunxi-ohci.4: irq 111, io mem 0xf1c1d400
[ 0.954512] hub 8-0:1.0: USB hub found
[ 0.954531] hub 8-0:1.0: 1 port detected
[ 0.954868] Initializing USB Mass Storage driver...
[ 0.955099] usbcore: registered new interface driver usb-storage
[ 0.955110] USB Mass Storage support registered.
[ 0.955168] usbcore: registered new interface driver ums-alauda
[ 0.955214] usbcore: registered new interface driver ums-cypress
[ 0.955264] usbcore: registered new interface driver ums-datafab
[ 0.955309] usbcore: registered new interface driver ums_eneub6250
[ 0.955355] usbcore: registered new interface driver ums-freecom
[ 0.955411] usbcore: registered new interface driver ums-isd200
[ 0.955457] usbcore: registered new interface driver ums-jumpshot
[ 0.955504] usbcore: registered new interface driver ums-karma
[ 0.955549] usbcore: registered new interface driver ums-onetouch
[ 0.955609] usbcore: registered new interface driver ums-realtek
[ 0.955659] usbcore: registered new interface driver ums-sddr09
[ 0.955707] usbcore: registered new interface driver ums-sddr55
[ 0.955754] usbcore: registered new interface driver ums-usbat
[ 0.955976] uinput result 0 , vmouse_init
[ 0.956585] mousedev: PS/2 mouse device common for all mice
[ 0.956801] sunxikbd_init failed.
[ 0.957311] ls_fetch_sysconfig_para: ls_unused.
[ 0.957559] ltr_init: ls_fetch_sysconfig_para err.
[ 0.957871] [RTC] WARNING: Rtc time will be wrong!!
[ 0.957881] [RTC] WARNING: use *internal OSC* as clock source
[ 0.958127] sunxi-rtc sunxi-rtc: rtc core: registered sunxi-rtc as rtc0
[ 0.958176] i2c /dev entries driver
[ 0.958567] IR RC5(x) protocol handler initialized
[ 0.958695] sunxi cedar version 0.1
[ 0.958734] [cedar]: install start!!!
[ 0.958933] [cedar]: install end!!!
[ 0.959156] twi_start()434 - [i2c0] START can't sendout!
[ 0.959417] twi_start()434 - [i2c0] START can't sendout!
[ 0.959677] twi_start()434 - [i2c0] START can't sendout!
[ 0.959940] twi_start()434 - [i2c0] START can't sendout!
[ 0.960200] twi_start()434 - [i2c0] START can't sendout!
[ 0.960460] twi_start()434 - [i2c0] START can't sendout!
[ 0.960723] twi_start()434 - [i2c0] START can't sendout!
[ 0.960983] twi_start()434 - [i2c0] START can't sendout!
[ 0.961242] twi_start()434 - [i2c0] START can't sendout!
[ 0.961503] twi_start()434 - [i2c0] START can't sendout!
[ 0.961763] twi_start()434 - [i2c0] START can't sendout!
[ 0.962022] twi_start()434 - [i2c0] START can't sendout!
[ 0.962283] twi_start()434 - [i2c0] START can't sendout!
[ 0.962543] twi_start()434 - [i2c0] START can't sendout!
[ 0.962802] twi_start()434 - [i2c0] START can't sendout!
[ 0.963063] twi_start()434 - [i2c0] START can't sendout!
[ 0.963323] twi_start()434 - [i2c0] START can't sendout!
[ 0.963582] twi_start()434 - [i2c0] START can't sendout!
[ 0.963843] twi_start()434 - [i2c0] START can't sendout!
[ 0.964103] twi_start()434 - [i2c0] START can't sendout!
[ 0.964362] twi_start()434 - [i2c0] START can't sendout!
[ 0.964623] twi_start()434 - [i2c0] START can't sendout!
[ 0.964883] twi_start()434 - [i2c0] START can't sendout!
[ 0.965142] twi_start()434 - [i2c0] START can't sendout!
[ 0.965403] twi_start()434 - [i2c0] START can't sendout!
[ 0.965662] twi_start()434 - [i2c0] START can't sendout!
[ 0.965922] twi_start()434 - [i2c0] START can't sendout!
[ 0.966186] twi_start()434 - [i2c1] START can't sendout!
[ 0.966446] twi_start()434 - [i2c1] START can't sendout!
[ 0.966707] twi_start()434 - [i2c1] START can't sendout!
[ 0.966969] twi_start()434 - [i2c1] START can't sendout!
[ 0.967230] twi_start()434 - [i2c1] START can't sendout!
[ 0.967491] twi_start()434 - [i2c1] START can't sendout!
[ 0.967753] twi_start()434 - [i2c1] START can't sendout!
[ 0.968014] twi_start()434 - [i2c1] START can't sendout!
[ 0.968274] twi_start()434 - [i2c1] START can't sendout!
[ 0.968536] twi_start()434 - [i2c1] START can't sendout!
[ 0.968795] twi_start()434 - [i2c1] START can't sendout!
[ 0.969055] twi_start()434 - [i2c1] START can't sendout!
[ 0.969316] twi_start()434 - [i2c1] START can't sendout!
[ 0.969576] twi_start()434 - [i2c1] START can't sendout!
[ 0.969835] twi_start()434 - [i2c1] START can't sendout!
[ 0.970138] twi_start()434 - [i2c1] START can't sendout!
[ 0.970399] twi_start()434 - [i2c1] START can't sendout!
[ 0.970658] twi_start()434 - [i2c1] START can't sendout!
[ 0.970921] twi_start()434 - [i2c1] START can't sendout!
[ 0.971181] twi_start()434 - [i2c1] START can't sendout!
[ 0.971440] twi_start()434 - [i2c1] START can't sendout!
[ 0.971702] twi_start()434 - [i2c1] START can't sendout!
[ 0.971962] twi_start()434 - [i2c1] START can't sendout!
[ 0.972221] twi_start()434 - [i2c1] START can't sendout!
[ 0.972482] twi_start()434 - [i2c1] START can't sendout!
[ 0.972742] twi_start()434 - [i2c1] START can't sendout!
[ 0.973002] twi_start()434 - [i2c1] START can't sendout!
[ 0.973114] sunxi_wdt_init_module: sunxi WatchDog Timer Driver v1.0
[ 0.973274] sunxi_wdt_probe: devm_ioremap return wdt_reg 0xf1c20ca0, res->start 0x01c20ca0, res->end 0x01c20cbf
[ 0.973441] sunxi_wdt_probe: initialized (g_timeout=16s, g_nowayout=0)
[ 0.973454] wdt_enable, write reg 0xf1c20cb8 val 0x00000000
[ 0.973465] timeout_to_interv, line 167
[ 0.973473] interv_to_timeout, line 189
[ 0.973483] wdt_set_tmout, write 0x000000b0 to mode reg 0xf1c20cb8, actual timeout 16 sec
[ 0.973939] device-mapper: ioctl: 4.22.0-ioctl (2011-10-19) initialised: dm-devel@redhat.com
[ 0.974153] calibrat: max_cpufreq 1200Mhz Type 0!
[ 0.974166] [cpu_freq] ERR:get cpu extremity frequency from sysconfig failed, use max_freq
[ 0.974474] [mmc]: SD/MMC/SDIO Host Controller Driver(v1.111 2015-4-13 15:24) Compiled in Sep 14 2016 at 20:28:08
[ 0.974506] [mmc]: get mmc0's sdc_power is null!
[ 0.974534] [mmc]: get mmc1's sdc_power is null!
[ 0.974543] [mmc]: get mmc1's 2xmode ok, val = 1
[ 0.974552] [mmc]: get mmc1's ddrmode ok, val = 1
[ 0.974568] [mmc]: MMC host used card: 0x3, boot card: 0x1, io_card 2
[ 0.975525] [mmc]: sdc0 set ios: clk 0Hz bm OD pm OFF vdd 3.3V width 1 timing LEGACY(SDR12) dt B
[ 0.976636] [mmc]: sdc0 set ios: clk 0Hz bm PP pm UP vdd 3.3V width 1 timing LEGACY(SDR12) dt B
[ 0.977217] [mmc]: sdc1 set ios: clk 0Hz bm OD pm OFF vdd 3.3V width 1 timing LEGACY(SDR12) dt B
[ 0.978176] [mmc]: sdc0 power_supply is null
[ 0.980062] no red_led, ignore it!
[ 0.980320] Registered led device: green_led
[ 0.980426] Registered led device: blue_led
[ 0.980444] no led_0, ignore it!
[ 0.980453] no led_1, ignore it!
[ 0.980460] no led_2, ignore it!
[ 0.980467] no led_3, ignore it!
[ 0.980474] no led_4, ignore it!
[ 0.980481] no led_5, ignore it!
[ 0.980488] no led_6, ignore it!
[ 0.980495] no led_7, ignore it!
[ 0.981298] usbcore: registered new interface driver usbhid
[ 0.981308] usbhid: USB HID core driver
[ 0.985589] asoc: sndcodec <-> sunxi-codec mapping ok
[ 0.986409] [DAUDIO]sunxi-daudio cannot find any using configuration for controllers, return directly!
[ 0.986588] [I2S]snddaudio cannot find any using configuration for controllers, return directly!
[ 0.986605] [DAUDIO0] driver not init,just return.
[ 0.989986] asoc: sndhdmi <-> sunxi-hdmiaudio.0 mapping ok
[ 0.990082] [mmc]: sdc0 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B
[ 0.991171] oprofile: using arm/armv7-ca7
[ 0.991372] u32 classifier
[ 0.991381] Performance counters on
[ 0.991388] input device check on
[ 0.991394] Actions configured
[ 0.991580] IPv4 over IPv4 tunneling driver
[ 0.992198] TCP: bic registered
[ 0.992209] TCP: cubic registered
[ 0.992216] TCP: westwood registered
[ 0.992224] TCP: highspeed registered
[ 0.992231] TCP: hybla registered
[ 0.992239] TCP: htcp registered
[ 0.992246] TCP: vegas registered
[ 0.992253] TCP: veno registered
[ 0.992260] TCP: scalable registered
[ 0.992268] TCP: lp registered
[ 0.992275] TCP: yeah registered
[ 0.992283] TCP: illinois registered
[ 0.992290] Initializing XFRM netlink socket
[ 0.992534] NET: Registered protocol family 10
[ 0.993704] NET: Registered protocol family 17
[ 0.993735] NET: Registered protocol family 15
[ 0.993781] Registering the dns_resolver key type
[ 0.994109] VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5
[ 0.994131] ThumbEE CPU extension supported.
[ 0.994152] Registering SWP/SWPB emulation handler
[ 0.994705] registered taskstats version 1
[ 0.995147] cmdline,disp=
[ 0.995459] [HDMI] power vcc-hdmi-18
[ 1.011731] [mmc]: sdc0 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B
[ 1.014253] [mmc]: sdc0 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B
[ 1.019606] [mmc]: sdc0 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B
[ 1.019724] [mmc]: sdc0 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B
[ 1.022221] [mmc]: sdc0 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B
[ 1.026204] ths_fetch_sysconfig_para: type err device_used = 1.
[ 1.027484] CPU Budget:corekeeper enabled
[ 1.027723] CPU Budget:Register notifier
[ 1.027735] CPU Budget:register Success
[ 1.027748] sunxi-budget-cooling sunxi-budget-cooling: Cooling device registered: thermal-budget-0
[ 1.030978] [rf_pm]: module power0 name vcc-wifi-33
[ 1.030996] [rf_pm]: Did not config module_power1 in sys_config
[ 1.031006] [rf_pm]: Did not config module_power2 in sys_config
[ 1.031016] [rf_pm]: Did not config module_power3 in sys_config
[ 1.031026] [rf_pm]: mod has no chip_en gpio
[ 1.031034] [rf_pm]: failed to fetch lpo_use_apclk
[ 1.031041] [rf_pm]: regulator on.
[ 1.031051] [wifi_pm]: no wifi used in configuration
[ 1.031061] [rfkill]: init no bt used in configuration
[ 1.031069] ALSA device list:
[ 1.031077] #0: audiocodec
[ 1.031083] #1: sndhdmi
[ 1.031931] Freeing init memory: 328K
[ 1.041643] [mmc]: sdc0 set ios: clk 25000000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B
[ 1.043190] [mmc]: sdc0 set ios: clk 25000000Hz bm PP pm ON vdd 3.3V width 1 timing SD-HS(SDR25) dt B
[ 1.043312] [mmc]: sdc0 set ios: clk 50000000Hz bm PP pm ON vdd 3.3V width 1 timing SD-HS(SDR25) dt B
[ 1.043477] [mmc]: sdc0 set ios: clk 50000000Hz bm PP pm ON vdd 3.3V width 4 timing SD-HS(SDR25) dt B
[ 1.043574] mmc0: new high speed SDHC card at address 0007
[ 1.044128] mmcblk0: mmc0:0007 SL16G 14.4 GiB
[ 1.045604] mmcblk0: p1
[ 1.046232] mmcblk mmc0:0007: Card claimed for testing.
[ 1.046249] mmc0:0007: SL16G 14.4 GiB
[ 1.046292] *******************sd init ok*******************
[ 1.077242] systemd-udevd[98]: starting version 215
[ 1.170153] usb 6-1: new low-speed USB device number 2 using sunxi-ohci
[ 1.400052] generic-usb 0003:413C:3012.0001: input,hidraw0: USB HID v1.11 Mouse [Dell Dell USB Optical Mouse] on usb-sunxi-ohci-1/input0
[ 1.580048] usb 7-1: new low-speed USB device number 2 using sunxi-ohci
[ 1.630059] [DISP] disp_device_attached_and_enable,line:159:attched ok, mgr0<-->device0, type=4, mode=5
[ 1.811809] generic-usb 0003:1C4F:0002.0002: input,hidraw1: USB HID v1.10 Keyboard [SIGMACHIP USB Keyboard] on usb-sunxi-ohci-1/input0
[ 1.818389] generic-usb 0003:1C4F:0002.0003: input,hidraw2: USB HID v1.10 Device [SIGMACHIP USB Keyboard] on usb-sunxi-ohci-1/input1
[ 2.798025] EXT4-fs (mmcblk0p1): mounted filesystem with writeback data mode. Opts: (null)
[ 3.940313] systemd[1]: systemd 215 running in system mode. (+PAM +AUDIT +SELINUX +IMA +SYSVINIT +LIBCRYPTSETUP +GCRYPT +ACL +XZ -SECCOMP -APPARMOR)
[ 3.940634] systemd[1]: Detected architecture 'arm'.
[ 3.952834] systemd[1]: Set hostname to <nanopim1>.
[ 4.319804] systemd[1]: Cannot add dependency job for unit display-manager.service, ignoring: Unit display-manager.service failed to load: No such file or directory.
[ 4.322714] systemd[1]: Expecting device dev-ttyS0.device...
[ 4.323442] systemd[1]: Starting Forward Password Requests to Wall Directory Watch.
[ 4.323664] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
[ 4.323736] systemd[1]: Starting Remote File Systems (Pre).
[ 4.324139] systemd[1]: Reached target Remote File Systems (Pre).
[ 4.324255] systemd[1]: Starting Dispatch Password Requests to Console Directory Watch.
[ 4.324453] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
[ 4.324512] systemd[1]: Starting Paths.
[ 4.324842] systemd[1]: Reached target Paths.
[ 4.324903] systemd[1]: Starting Encrypted Volumes.
[ 4.325234] systemd[1]: Reached target Encrypted Volumes.
[ 4.325354] systemd[1]: Starting Arbitrary Executable File Formats File System Automount Point.
[ 4.326257] systemd[1]: Set up automount Arbitrary Executable File Formats File System Automount Point.
[ 4.326353] systemd[1]: Starting Root Slice.
[ 4.326769] systemd[1]: Created slice Root Slice.
[ 4.326830] systemd[1]: Starting User and Session Slice.
[ 4.327320] systemd[1]: Created slice User and Session Slice.
[ 4.327383] systemd[1]: Starting /dev/initctl Compatibility Named Pipe.
[ 4.327930] systemd[1]: Listening on /dev/initctl Compatibility Named Pipe.
[ 4.327993] systemd[1]: Starting Delayed Shutdown Socket.
[ 4.328443] systemd[1]: Listening on Delayed Shutdown Socket.
[ 4.328506] systemd[1]: Starting Journal Socket (/dev/log).
[ 4.328980] systemd[1]: Listening on Journal Socket (/dev/log).
[ 4.329064] systemd[1]: Starting udev Control Socket.
[ 4.329463] systemd[1]: Listening on udev Control Socket.
[ 4.329537] systemd[1]: Starting udev Kernel Socket.
[ 4.329920] systemd[1]: Listening on udev Kernel Socket.
[ 4.330071] systemd[1]: Starting Journal Socket.
[ 4.330536] systemd[1]: Listening on Journal Socket.
[ 4.330671] systemd[1]: Starting System Slice.
[ 4.331161] systemd[1]: Created slice System Slice.
[ 4.331278] systemd[1]: Started File System Check on Root Device.
[ 4.331333] systemd[1]: Starting system-getty.slice.
[ 4.331901] systemd[1]: Created slice system-getty.slice.
[ 4.331964] systemd[1]: Starting system-serial\x2dgetty.slice.
[ 4.332492] systemd[1]: Created slice system-serial\x2dgetty.slice.
[ 4.332623] systemd[1]: Starting Increase datagram queue length...
[ 4.400782] systemd[1]: Starting Restore / save the current clock...
[ 4.500768] systemd[1]: Starting udev Coldplug all Devices...
[ 4.610972] systemd[1]: Mounted Huge Pages File System.
[ 4.611393] systemd[1]: Starting Create list of required static device nodes for the current kernel...
[ 4.698612] systemd[1]: Started Set Up Additional Binary Formats.
[ 4.701528] systemd[1]: Starting Load Kernel Modules...
[ 4.790819] systemd[1]: Mounting POSIX Message Queue File System...
[ 4.819240] UMP: UMP device driver loaded
[ 4.835463] mali clk: 252 MHz
[ 4.835695] mali clk: 252 MHz
[ 4.837155] Mali: Mali device driver loaded
[ 4.880863] systemd[1]: Mounting Debug File System...
[ 4.960518] systemd[1]: Starting LSB: Set keymap...
[ 5.050614] systemd[1]: Starting Slices.
[ 5.051122] systemd[1]: Reached target Slices.
[ 5.053830] systemd[1]: Mounted Debug File System.
[ 5.054476] systemd[1]: Mounted POSIX Message Queue File System.
[ 5.110588] systemd[1]: Started Increase datagram queue length.
[ 5.164954] systemd[1]: Started Restore / save the current clock.
[ 5.315289] systemd[1]: Started Create list of required static device nodes for the current kernel.
[ 5.395020] systemd[1]: Started Load Kernel Modules.
[ 5.444914] systemd[1]: Started LSB: Set keymap.
[ 5.494784] systemd[1]: Started udev Coldplug all Devices.
[ 5.496811] systemd[1]: Time has been changed
[ 5.497396] systemd[1]: Mounted Configuration File System.
[ 5.497500] systemd[1]: Starting Apply Kernel Variables...
[ 5.580781] systemd[1]: Mounting FUSE Control File System...
[ 5.700768] systemd[1]: Starting Create Static Device Nodes in /dev...
[ 5.790785] systemd[1]: Starting Syslog Socket.
[ 5.795602] systemd[1]: Listening on Syslog Socket.
[ 5.795742] systemd[1]: Starting Journal Service...
[ 5.885540] systemd[1]: Started Journal Service.
[ 6.246099] systemd-udevd[180]: starting version 215
[ 7.185778] EXT4-fs (mmcblk0p1): re-mounted. Opts: commit=600,errors=remount-ro
[ 7.398500] Adding 131068k swap on /var/swap. Priority:-1 extents:1 across:131068k SS
[ 8.855814] systemd-journald[179]: Received request to flush runtime journal from PID 1
[ 9.135953] gmac0: probed
[ 9.136276] gmac0 gmac0: eth0: eth0: PHY ID 00441400 at 0 IRQ poll (gmac0-0:00)
[ 10.690168] Registered IR keymap rc-empty
[ 10.690880] rc0: sunxi-ir as /devices/virtual/rc/rc0
[ 10.693126] rc rc0: lirc_dev: driver ir-lirc-codec (sunxi-ir) registered at minor = 0
[ 10.886628] [DISP] disp_ioctl,line:1584:para err in disp_ioctl, cmd = 0x0,screen id = 65536
[ 10.972458] [drm] Initialized drm 1.1.0 20060810
[ 10.979871] Mali DRM initialize, driver name: mali_drm, version 2.1
[ 10.982503] [drm] Initialized mali_drm 2.1.1 20101111 on minor 0
[ 10.982581] Mali DRM initialize, driver name: mali_drm, version 2.1
[ 10.982967] [drm] Initialized mali_drm 2.1.1 20101111 on minor 1
[ 11.461585] vmouse_input_dev_open
[ 13.130320] PHY: gmac0-0:00 - Link is Up - 100/Full
[ 19.310023] eth0: no IPv6 routers present
[ 30.851173] Bluetooth: Core ver 2.16
[ 30.851259] NET: Registered protocol family 31
[ 30.851269] Bluetooth: HCI device and connection manager initialized
[ 30.851280] Bluetooth: HCI socket layer initialized
[ 30.851288] Bluetooth: L2CAP socket layer initialized
[ 30.851311] Bluetooth: SCO socket layer initialized
[ 30.870238] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 30.870254] Bluetooth: BNEP filters: protocol multicast
[ 31.681612] Bluetooth: RFCOMM TTY layer initialized
[ 31.681640] Bluetooth: RFCOMM socket layer initialized
[ 31.681648] Bluetooth: RFCOMM ver 1.11
[ 76.208927] fbtft_device: SPI devices registered:
[ 76.208948] fbtft_device: spidev spi0.0 33000kHz 8 bits mode=0x00
[ 76.208959] fbtft_device: 'fb' Platform devices registered:
[ 76.209034] fbtft_device: Deleting spi0.0
[ 76.209473] fbtft_device: GPIOS used by 'fb_ili9341':
[ 76.209486] fbtft_device: 'reset' = GPIO25
[ 76.209494] fbtft_device: 'dc' = GPIO24
[ 76.209502] fbtft_device: 'led' = GPIO18
[ 76.209510] fbtft_device: SPI devices registered:
[ 76.209521] fbtft_device: fb_ili9341 spi0.0 16000kHz 8 bits mode=0x00
[ 76.216850] fb_ili9341 spi0.0: fbtft_gamma_parse_str() str=
[ 76.216871] fb_ili9341 spi0.0: 1F 1A 18 0A 0F 06 45 87 32 0A 07 02 07 05 00
[ 76.216877] 00 25 27 05 10 09 3A 78 4D 05 18 0D 38 3A 1F
[ 76.216935] fb_ili9341 spi0.0: fbtft_request_gpios_match('reset')
[ 76.216967] fb_ili9341 spi0.0: fbtft_request_gpios: gpio_request_one('reset'=25) failed with -22
[ 76.216982] fb_ili9341 spi0.0: fbtft_free_gpios()
[ 76.216993] fb_ili9341 spi0.0: fbtft_free_gpios(): gpio_free('reset'=25)
[ 76.217005] ------------[ cut here ]------------
[ 76.217030] WARNING: at drivers/gpio/gpiolib.c:104 gpio_ensure_requested+0x54/0xb4()
[ 76.217040] autorequest GPIO-25
[ 76.217047] Modules linked in: fb_ili9341(+) fbtft_device fbtft syscopyarea sysfillrect sysimgblt fb_sys_fops rfcomm bnep bluetooth mali_drm drm sunxi_cir mali ump [last unloaded: scsi_wait_scan]
[ 76.217134] [<c0016a20>] (unwind_backtrace+0x0/0xe8) from [<c0687a10>] (dump_stack+0x20/0x24)
[ 76.217160] [<c0687a10>] (dump_stack+0x20/0x24) from [<c0029720>] (warn_slowpath_common+0x5c/0x74)
[ 76.217181] [<c0029720>] (warn_slowpath_common+0x5c/0x74) from [<c0029778>] (warn_slowpath_fmt+0x40/0x48)
[ 76.217204] [<c0029778>] (warn_slowpath_fmt+0x40/0x48) from [<c03a34e4>] (gpio_ensure_requested+0x54/0xb4)
[ 76.217228] [<c03a34e4>] (gpio_ensure_requested+0x54/0xb4) from [<c03a3a10>] (gpio_direction_input+0x84/0x188)
[ 76.217264] [<c03a3a10>] (gpio_direction_input+0x84/0x188) from [<bf0ef3f0>] (fbtft_free_gpios+0xb4/0xd4 [fbtft])
[ 76.217307] [<bf0ef3f0>] (fbtft_free_gpios+0xb4/0xd4 [fbtft]) from [<bf0f0064>] (fbtft_register_framebuffer+0x2bc/0x2e8 [fbtft])
[ 76.217343] [<bf0f0064>] (fbtft_register_framebuffer+0x2bc/0x2e8 [fbtft]) from [<bf0f1348>] (fbtft_probe_common+0x240/0x2b0 [fbtft])
[ 76.217378] [<bf0f1348>] (fbtft_probe_common+0x240/0x2b0 [fbtft]) from [<bf1070ac>] (fbtft_driver_probe_spi+0x24/0x2c [fb_ili9341])
[ 76.217408] [<bf1070ac>] (fbtft_driver_probe_spi+0x24/0x2c [fb_ili9341]) from [<c045a0fc>] (spi_drv_probe+0x28/0x2c)
[ 76.217435] [<c045a0fc>] (spi_drv_probe+0x28/0x2c) from [<c042cf7c>] (driver_probe_device+0xd0/0x20c)
[ 76.217459] [<c042cf7c>] (driver_probe_device+0xd0/0x20c) from [<c042d184>] (__driver_attach+0x78/0x9c)
[ 76.217481] [<c042d184>] (__driver_attach+0x78/0x9c) from [<c042b500>] (bus_for_each_dev+0x7c/0xa0)
[ 76.217503] [<c042b500>] (bus_for_each_dev+0x7c/0xa0) from [<c042ca3c>] (driver_attach+0x28/0x30)
[ 76.217524] [<c042ca3c>] (driver_attach+0x28/0x30) from [<c042c5e0>] (bus_add_driver+0xf4/0x230)
[ 76.217546] [<c042c5e0>] (bus_add_driver+0xf4/0x230) from [<c042d784>] (driver_register+0xac/0x124)
[ 76.217568] [<c042d784>] (driver_register+0xac/0x124) from [<c045a554>] (spi_register_driver+0x54/0x68)
[ 76.217595] [<c045a554>] (spi_register_driver+0x54/0x68) from [<bf109014>] (fbtft_driver_module_init+0x14/0x30 [fb_ili9341])
[ 76.217623] [<bf109014>] (fbtft_driver_module_init+0x14/0x30 [fb_ili9341]) from [<c000867c>] (do_one_initcall+0xa8/0x164)
[ 76.217649] [<c000867c>] (do_one_initcall+0xa8/0x164) from [<c0080740>] (sys_init_module+0xe40/0x1918)
[ 76.217675] [<c0080740>] (sys_init_module+0xe40/0x1918) from [<c000df60>] (ret_fast_syscall+0x0/0x30)
[ 76.217689] ---[ end trace 53050e35f955d0bb ]---
[ 76.217713] fb_ili9341 spi0.0: fbtft_free_gpios(): gpio_free('dc'=24)
[ 76.217723] ------------[ cut here ]------------
[ 76.217737] WARNING: at drivers/gpio/gpiolib.c:104 gpio_ensure_requested+0x54/0xb4()
[ 76.217747] autorequest GPIO-24
[ 76.217753] Modules linked in: fb_ili9341(+) fbtft_device fbtft syscopyarea sysfillrect sysimgblt fb_sys_fops rfcomm bnep bluetooth mali_drm drm sunxi_cir mali ump [last unloaded: scsi_wait_scan]
[ 76.217819] [<c0016a20>] (unwind_backtrace+0x0/0xe8) from [<c0687a10>] (dump_stack+0x20/0x24)
[ 76.217841] [<c0687a10>] (dump_stack+0x20/0x24) from [<c0029720>] (warn_slowpath_common+0x5c/0x74)
[ 76.217861] [<c0029720>] (warn_slowpath_common+0x5c/0x74) from [<c0029778>] (warn_slowpath_fmt+0x40/0x48)
[ 76.217883] [<c0029778>] (warn_slowpath_fmt+0x40/0x48) from [<c03a34e4>] (gpio_ensure_requested+0x54/0xb4)
[ 76.217906] [<c03a34e4>] (gpio_ensure_requested+0x54/0xb4) from [<c03a3a10>] (gpio_direction_input+0x84/0x188)
[ 76.217935] [<c03a3a10>] (gpio_direction_input+0x84/0x188) from [<bf0ef3f0>] (fbtft_free_gpios+0xb4/0xd4 [fbtft])
[ 76.217969] [<bf0ef3f0>] (fbtft_free_gpios+0xb4/0xd4 [fbtft]) from [<bf0f0064>] (fbtft_register_framebuffer+0x2bc/0x2e8 [fbtft])
[ 76.218005] [<bf0f0064>] (fbtft_register_framebuffer+0x2bc/0x2e8 [fbtft]) from [<bf0f1348>] (fbtft_probe_common+0x240/0x2b0 [fbtft])
[ 76.218038] [<bf0f1348>] (fbtft_probe_common+0x240/0x2b0 [fbtft]) from [<bf1070ac>] (fbtft_driver_probe_spi+0x24/0x2c [fb_ili9341])
[ 76.218065] [<bf1070ac>] (fbtft_driver_probe_spi+0x24/0x2c [fb_ili9341]) from [<c045a0fc>] (spi_drv_probe+0x28/0x2c)
[ 76.218088] [<c045a0fc>] (spi_drv_probe+0x28/0x2c) from [<c042cf7c>] (driver_probe_device+0xd0/0x20c)
[ 76.218110] [<c042cf7c>] (driver_probe_device+0xd0/0x20c) from [<c042d184>] (__driver_attach+0x78/0x9c)
[ 76.218131] [<c042d184>] (__driver_attach+0x78/0x9c) from [<c042b500>] (bus_for_each_dev+0x7c/0xa0)
[ 76.218152] [<c042b500>] (bus_for_each_dev+0x7c/0xa0) from [<c042ca3c>] (driver_attach+0x28/0x30)
[ 76.218173] [<c042ca3c>] (driver_attach+0x28/0x30) from [<c042c5e0>] (bus_add_driver+0xf4/0x230)
[ 76.218194] [<c042c5e0>] (bus_add_driver+0xf4/0x230) from [<c042d784>] (driver_register+0xac/0x124)
[ 76.218215] [<c042d784>] (driver_register+0xac/0x124) from [<c045a554>] (spi_register_driver+0x54/0x68)
[ 76.218241] [<c045a554>] (spi_register_driver+0x54/0x68) from [<bf109014>] (fbtft_driver_module_init+0x14/0x30 [fb_ili9341])
[ 76.218267] [<bf109014>] (fbtft_driver_module_init+0x14/0x30 [fb_ili9341]) from [<c000867c>] (do_one_initcall+0xa8/0x164)
[ 76.218290] [<c000867c>] (do_one_initcall+0xa8/0x164) from [<c0080740>] (sys_init_module+0xe40/0x1918)
[ 76.218312] [<c0080740>] (sys_init_module+0xe40/0x1918) from [<c000df60>] (ret_fast_syscall+0x0/0x30)
[ 76.218325] ---[ end trace 53050e35f955d0bc ]---
[ 76.218340] fb_ili9341 spi0.0: fbtft_free_gpios(): gpio_free('led'=18)
[ 76.218350] ------------[ cut here ]------------
[ 76.218363] WARNING: at drivers/gpio/gpiolib.c:104 gpio_ensure_requested+0x54/0xb4()
[ 76.218373] autorequest GPIO-18
[ 76.218379] Modules linked in: fb_ili9341(+) fbtft_device fbtft syscopyarea sysfillrect sysimgblt fb_sys_fops rfcomm bnep bluetooth mali_drm drm sunxi_cir mali ump [last unloaded: scsi_wait_scan]
[ 76.218442] [<c0016a20>] (unwind_backtrace+0x0/0xe8) from [<c0687a10>] (dump_stack+0x20/0x24)
[ 76.218464] [<c0687a10>] (dump_stack+0x20/0x24) from [<c0029720>] (warn_slowpath_common+0x5c/0x74)
[ 76.218484] [<c0029720>] (warn_slowpath_common+0x5c/0x74) from [<c0029778>] (warn_slowpath_fmt+0x40/0x48)
[ 76.218506] [<c0029778>] (warn_slowpath_fmt+0x40/0x48) from [<c03a34e4>] (gpio_ensure_requested+0x54/0xb4)
[ 76.218528] [<c03a34e4>] (gpio_ensure_requested+0x54/0xb4) from [<c03a3a10>] (gpio_direction_input+0x84/0x188)
[ 76.218556] [<c03a3a10>] (gpio_direction_input+0x84/0x188) from [<bf0ef3f0>] (fbtft_free_gpios+0xb4/0xd4 [fbtft])
[ 76.218591] [<bf0ef3f0>] (fbtft_free_gpios+0xb4/0xd4 [fbtft]) from [<bf0f0064>] (fbtft_register_framebuffer+0x2bc/0x2e8 [fbtft])
[ 76.218627] [<bf0f0064>] (fbtft_register_framebuffer+0x2bc/0x2e8 [fbtft]) from [<bf0f1348>] (fbtft_probe_common+0x240/0x2b0 [fbtft])
[ 76.218660] [<bf0f1348>] (fbtft_probe_common+0x240/0x2b0 [fbtft]) from [<bf1070ac>] (fbtft_driver_probe_spi+0x24/0x2c [fb_ili9341])
[ 76.218687] [<bf1070ac>] (fbtft_driver_probe_spi+0x24/0x2c [fb_ili9341]) from [<c045a0fc>] (spi_drv_probe+0x28/0x2c)
[ 76.218710] [<c045a0fc>] (spi_drv_probe+0x28/0x2c) from [<c042cf7c>] (driver_probe_device+0xd0/0x20c)
[ 76.218732] [<c042cf7c>] (driver_probe_device+0xd0/0x20c) from [<c042d184>] (__driver_attach+0x78/0x9c)
[ 76.218753] [<c042d184>] (__driver_attach+0x78/0x9c) from [<c042b500>] (bus_for_each_dev+0x7c/0xa0)
[ 76.218773] [<c042b500>] (bus_for_each_dev+0x7c/0xa0) from [<c042ca3c>] (driver_attach+0x28/0x30)
[ 76.218794] [<c042ca3c>] (driver_attach+0x28/0x30) from [<c042c5e0>] (bus_add_driver+0xf4/0x230)
[ 76.218815] [<c042c5e0>] (bus_add_driver+0xf4/0x230) from [<c042d784>] (driver_register+0xac/0x124)
[ 76.218836] [<c042d784>] (driver_register+0xac/0x124) from [<c045a554>] (spi_register_driver+0x54/0x68)
[ 76.218862] [<c045a554>] (spi_register_driver+0x54/0x68) from [<bf109014>] (fbtft_driver_module_init+0x14/0x30 [fb_ili9341])
[ 76.218888] [<bf109014>] (fbtft_driver_module_init+0x14/0x30 [fb_ili9341]) from [<c000867c>] (do_one_initcall+0xa8/0x164)
[ 76.218911] [<c000867c>] (do_one_initcall+0xa8/0x164) from [<c0080740>] (sys_init_module+0xe40/0x1918)
[ 76.218933] [<c0080740>] (sys_init_module+0xe40/0x1918) from [<c000df60>] (ret_fast_syscall+0x0/0x30)
[ 76.218946] ---[ end trace 53050e35f955d0bd ]---
[ 76.219036] fb_ili9341: probe of spi0.0 failed with error -22
Ok, gpio_request_one() fails with -EINVAL (-22) somewhere down the line.
Let's try and control the gpio from userspace. This should turn on backlight, run as root:
echo 18 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio18/direction
echo 1 > /sys/class/gpio/gpio18/value
No, nothing happend!
This is contents of /etc/modules
:
#gpio_sunxi
#w1-sunxi
#w1-gpio
#w1-therm
#sunxi-cir
fbtft_device custom name=fb_ili9341 gpios=reset:25,dc:24,led:18 speed=16000000 rotate=90 bgr=1
Maybe I must change something here?
No, nothing happend!
Nothing in the kernel log?
Try removing the comment in front of gpio_sunxi. See: http://linux-sunxi.org/GPIO#Accessing_the_GPIO_pins_through_sysfs_on_sunxi-3.4
Nothing in terminal and LCD happend. it made a folder named gpio18 in /sys/class/gpio and a file named value(beside some other files) inside it with number 1 inside the value. I did remove the front comment of gpio_sunxi and reboot my system amd try the commands again but nothing happend!
it made a folder named gpio18 in /sys/class/gpio
If you can't control the gpio using this interface, then fbtft won't work. They use the same functions underneath.
I asked about the problem in armbian forum and hope to find the solution! Very thank you for your help and so sorry I took your time!
I think I found the problem! they are not same GPIO pins as they are in RaspberryPi3 in Nanopi-M1 (although they say this in they're advertise!!). you can see GPIO pins of nanopi-m1 here: http://wiki.friendlyarm.com/wiki/index.php/NanoPi_M1
I changed the command to this(without changing wiring):
sudo modprobe fbtft_device custom name=fb_ili9341 gpios=reset:1,dc:201,led:6 speed=16000000 rotate=90 bgr=1
And the problem changed to new Error:
[ 1626.941908] fbtft_device: SPI devices registered:
[ 1626.941929] fbtft_device: spidev spi0.0 33000kHz 8 bits mode=0x00
[ 1626.941940] fbtft_device: 'fb' Platform devices registered:
[ 1626.942033] fbtft_device: Deleting spi0.0
[ 1626.942462] fbtft_device: GPIOS used by 'fb_ili9341':
[ 1626.942473] fbtft_device: 'reset' = GPIO1
[ 1626.942482] fbtft_device: 'dc' = GPIO201
[ 1626.942489] fbtft_device: 'led' = GPIO6
[ 1626.942497] fbtft_device: SPI devices registered:
[ 1626.942508] fbtft_device: fb_ili9341 spi0.0 16000kHz 8 bits mode=0x00
[ 1627.047324] fb_ili9341 spi0.0: fbtft_request_gpios: gpio_request_one('reset'=1) failed with -16
[ 1627.047442] fb_ili9341: probe of spi0.0 failed with error -16
I am trying to find the problem, and then trying to run the LCD with your help! Thank you again in advanced.
I checked again these codes with equal pin number in my board(6) and it worked! and turned on my LCD backlight!
echo 6 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio6/direction
echo 1 > /sys/class/gpio/gpio6/value
I think there is a problem with fbtft code! because I can export and unexport every GPIO pins but when I try to use LCD I get this error:
fb_ili9341 spi0.0: fbtft_request_gpios: gpio_request_one('reset'=200) failed with -16
[ 101.058042] fb_ili9341: probe of spi0.0 failed with error -16
I changed gpio pins but the error is the same! but testing gpio pins with export command works!
I commented again #gpio_sunxi
in /etc/modules
and the problem solved. I have no errors at this time:
[ 95.158413] fbtft_device: SPI devices registered:
[ 95.163798] fbtft_device: spidev spi0.0 33000kHz 8 bits mode=0x00
[ 95.171075] fbtft_device: 'fb' Platform devices registered:
[ 95.177424] fbtft_device: Deleting spi0.0
[ 95.182402] fbtft_device: GPIOS used by 'fb_ili9341':
[ 95.188130] fbtft_device: 'reset' = GPIO1
[ 95.192970] fbtft_device: 'dc' = GPIO201
[ 95.197616] fbtft_device: 'led' = GPIO6
[ 95.202216] fbtft_device: SPI devices registered:
[ 95.207541] fbtft_device: fb_ili9341 spi0.0 16000kHz 8 bits mode=0x00
[ 95.513259] graphics fb8: fb_ili9341 frame buffer, 320x240, 150 KiB video memory, 16 KiB buffer memory, fps=20, spi0.0 at 16 MHz
But the new problem is my LCD only shows a blanck white sceern and nothing else!
This is the result of: dmesg | grep graphics
[ 78.466083] graphics fb8: fb_ili9341 frame buffer, 320x240, 150 KiB video memory, 16 KiB buffer memory, fps=20, spi0.0 at 16 MHz
I tried this commands:
sudo mkdir -p /etc/X11/xorg.conf.d/
sudo wget https://gist.github.com/notro/63fc8f563b5f85010d30/raw/5e68d6c6df9471f973b3da5305e73a5017590a69/fbtft.conf -O /etc/X11/xorg.conf.d/fbtft.conf
becauseFRAMEBUFFER=/dev/fb1 startx
and con2fbmap 1 1
didn't work. but now the main display(HDMI) changed and went to blank screen and also TFT screen doesn't work!
And now I have no screen and I think I must reinstall my OS again! :(
But the new problem is my LCD only shows a blanck white sceern and nothing else!
This means that for some reason the controller has not received the initialization sequence, or the sequence is not correct. You should get a black backlit display.
[ 78.466083] graphics fb8:
Your framebuffer is /dev/fb8
I find fbcon to be the best and least intrusive way to test if a display is working.
In your case: con2fbmap 1 8
con2fbmap 1 8
doesn't work! I tested it wit con2fbmap 1 (0to8) and non of them worked!
No, I understand that. As long as the display is white it won't work. I just pointed to an easy way to test the display, instead of messing around with xorg.
Very very thank you for your patient and helps! I shame to say but the problem was about incorrect wiring SLK and MISO! because my focus was about GPIO pins I didn't check them.
Now the display works very nice!
I have some questions:
when I change the desktop with FRAMEBUFFER=/dev/fb8 startx
and then want to go back to HDMI display, I use FRAMEBUFFER=/dev/fb0 startx
orFRAMEBUFFER=/dev/fb1 startx
but TFT LCD freezes when display changes. why it happens and can I fix it?
Other question is How can I use touchpanel? does my display have touchpanel support? if yes, how can I activate ir?
I can't help you with X, I only use it occasionally to test displays. No touchpanel support on this display.
Closing issue since there has been no activity for more than 2 months. Reopen if needed.
Hi I have an arm-based board(nanopi m1)that has 40 pins GPIO similar to raspberry pi and Debian Jessie OS. also I have this display: http://www.elecfreaks.com/wiki/index.php?title=2.2S%22_TFT_LCD:_TFT01-2.2S and want to connect it directly to my board. May you help me how can I do that?