RPi Pidora 20 TFT driver

Fórumok

Üdv!

Ez alapján próbálom a TFT kijelzőt meghajtani:
https://sites.google.com/site/davidemadrisan/linux-embedded/pidora#TOC-…

A "make menuconfig"-ban beállítottam amit írt, el is mentette a .config fájlba.
A "make M=drivers/video/fbtft" parancsra ennyit ír:
Building modules, stage 2.
MODPOST 0 modules

A .ko modulok nem is jöttek létre persze. Mit hibáztam el?

--
G.

Hozzászólások

Ez alapján is hibákat ír: http://pastebin.com/GxM3hxxp


[root@pidora linux-rpi-3.18.y]# make M=drivers/video/fbtft
CC [M] drivers/video/fbtft/fbtft-core.o
drivers/video/fbtft/fbtft-core.c: In function ‘fbtft_mkdirty’:
drivers/video/fbtft/fbtft-core.c:451:39: error: ‘struct fb_info’ has no member named ‘fbdefio’
struct fb_deferred_io *fbdefio = info->fbdefio;
^
drivers/video/fbtft/fbtft-core.c:468:29: error: ‘struct fb_info’ has no member named ‘deferred_work’
schedule_delayed_work(&info->deferred_work, fbdefio->delay);
^
drivers/video/fbtft/fbtft-core.c:468:53: error: dereferencing pointer to incomplete type
schedule_delayed_work(&info->deferred_work, fbdefio->delay);
^
drivers/video/fbtft/fbtft-core.c: In function ‘fbtft_framebuffer_alloc’:
drivers/video/fbtft/fbtft-core.c:767:37: error: invalid application of ‘sizeof’ to incomplete type ‘struct fb_deferred_io’
fbdefio = devm_kzalloc(dev, sizeof(struct fb_deferred_io), GFP_KERNEL);
^
drivers/video/fbtft/fbtft-core.c:788:6: error: ‘struct fb_info’ has no member named ‘fbdefio’
info->fbdefio = fbdefio;
^
drivers/video/fbtft/fbtft-core.c:799:9: error: dereferencing pointer to incomplete type
fbdefio->delay = HZ/fps;
^
drivers/video/fbtft/fbtft-core.c:800:9: error: dereferencing pointer to incomplete type
fbdefio->deferred_io = fbtft_deferred_io;
^
In file included from include/linux/i2c.h:30:0,
from include/uapi/linux/fb.h:5,
from include/linux/fb.h:5,
from drivers/video/fbtft/fbtft-core.c:31:
drivers/video/fbtft/fbtft-core.c: In function ‘fbtft_register_framebuffer’:
drivers/video/fbtft/fbtft-core.c:1007:13: error: ‘struct fb_info’ has no member named ‘fbdefio’
HZ/fb_info->fbdefio->delay, text2);
^
include/linux/device.h:1102:58: note: in definition of macro ‘dev_info’
#define dev_info(dev, fmt, arg...) _dev_info(dev, fmt, ##arg)
^
make[1]: *** [drivers/video/fbtft/fbtft-core.o] Error 1
make: *** [_module_drivers/video/fbtft] Error 2

--
G.

Jómagam egy adafruitos distribből szedtem ki a .config-ot,majd azzal forgattam kernelt. De nem indult el..
A téma meredek.

---
--- A gond akkor van, ha látszólag minden működik. ---
---

Az Raspbian OS-re (Debian) vonatkozik és azon nem működik a cx231xx driver (nekem erre volna szükségem).
Pidora (Fedora) alatt úgy tűnik működik a cx231xx, viszont a TFT driver is kellene. :)

De oykawa segítségével próbálunk majd egy 3.18-as kernelt. Beszámolok majd az eredményekről. Ha minden igaz, akkor ez működik majd Pidora és Raspbian OS-eken is. De tesztelem majd ezeket!

--
G.

Ezzel a kernellel (config) próbáltam: http://pastebin.com/u5DnfgtE

~# modprobe fbtft_device name=adafruit22
~# dmesg
[ 520.996550] fbtft_device: SPI devices registered:
[ 520.996624] fbtft_device: spidev spi0.0 500kHz 8 bits mode=0x00
[ 520.996659] fbtft_device: spidev spi0.1 500kHz 8 bits mode=0x00
[ 520.996686] fbtft_device: 'fb' Platform devices registered:
[ 520.996742] fbtft_device: bcm2708_fb id=-1 pdata? no
[ 520.996931] fbtft_device: Deleting spi0.0
[ 520.998014] fbtft_device: GPIOS used by 'adafruit22':
[ 520.998151] fbtft_device: 'reset' = GPIO25
[ 520.998188] fbtft_device: 'led' = GPIO23
[ 520.998208] fbtft_device: SPI devices registered:
[ 520.998240] fbtft_device: spidev spi0.1 500kHz 8 bits mode=0x00
[ 520.998268] fbtft_device: fb_hx8340bn spi0.0 32000kHz 8 bits mode=0x00
[ 521.086941] fb_hx8340bn spi0.0: fbtft_request_gpios: gpio_request_one('reset'=25) failed with -517
[ 521.098987] spi spi0.0: Driver fb_hx8340bn requests probe deferral

~# modprobe fbtft_device name=pitft
~# dmesg
[ 62.162274] fbtft_device: SPI devices registered:
[ 62.162344] fbtft_device: spidev spi0.0 500kHz 8 bits mode=0x00
[ 62.162382] fbtft_device: spidev spi0.1 500kHz 8 bits mode=0x00
[ 62.162404] fbtft_device: 'fb' Platform devices registered:
[ 62.162459] fbtft_device: bcm2708_fb id=-1 pdata? no
[ 62.162657] fbtft_device: Deleting spi0.0
[ 62.163734] fbtft_device: GPIOS used by 'pitft':
[ 62.163781] fbtft_device: 'dc' = GPIO25
[ 62.163803] fbtft_device: SPI devices registered:
[ 62.163835] fbtft_device: spidev spi0.1 500kHz 8 bits mode=0x00
[ 62.163866] fbtft_device: fb_ili9340 spi0.0 32000kHz 8 bits mode=0x00
[ 62.242635] fb_ili9340 spi0.0: fbtft_request_gpios: gpio_request_one('dc'=25) failed with -517
[ 62.251605] spi spi0.0: Driver fb_ili9340 requests probe deferral

Van valakinek ötlete, mi lehet a bibi?
A TFT-n ILI9341 van írva. Melyik paraméter húzza be ezt a drivert?

--
G.

Sajna raspbian alatt is ugyanaz a hiba: failed -517

A "gyári" adafruit-os 3.12.26+ kernellel:

# dmesg
[ 12.001393] bcm2708_spi bcm2708_spi.0: master is unqueued, this is deprecated
[ 12.020656] bcm2708_spi bcm2708_spi.0: SPI Controller at 0x20204000 (irq 80)
[ 12.213415] fbtft_device: SPI devices registered:
[ 12.222364] fbtft_device: spidev spi0.0 500kHz 8 bits mode=0x00
[ 12.230807] fbtft_device: spidev spi0.1 500kHz 8 bits mode=0x00
[ 12.238951] fbtft_device: 'fb' Platform devices registered:
[ 12.246377] fbtft_device: bcm2708_fb id=-1 pdata? no
[ 12.253473] fbtft_device: I2C devices registered:
[ 12.335496] fbtft_device: Deleting spi0.1 (spi0.1)
[ 12.348621] stmpe-spi spi0.1: stmpe610 detected, chip id: 0x811
[ 12.373620] fbtft_device: Deleting spi0.0 (spi0.0)
[ 12.385621] fbtft_device: GPIOS used by 'adafruitrt28':
[ 12.392649] fbtft_device: 'dc' = GPIO25
[ 12.415727] fbtft_device: SPI devices registered:
[ 12.422210] fbtft_device: stmpe610 spi0.1 500kHz 8 bits mode=0x00
[ 12.444032] fbtft_device: fb_ili9340 spi0.0 32000kHz 8 bits mode=0x00
[ 12.585659] input: stmpe-ts as /devices/platform/bcm2708_spi.0/spi_master/spi0/spi0.1/stmpe-ts.0/input/input2
[ 13.453622] graphics fb1: fb_ili9340 frame buffer, 320x240, 150 KiB video memory, 4 KiB DMA buffer memory, fps=20, spi0.0 at 32 MHz

A 3.18 kernellel:

# dmesg
[ 12.765139] platform leds-gpio: Driver leds-gpio requests probe deferral
[ 12.793490] platform leds-gpio: Driver leds-gpio requests probe deferral
[ 12.964663] bcm2708_spi bcm2708_spi.0: master is unqueued, this is deprecated
[ 12.981537] platform leds-gpio: Driver leds-gpio requests probe deferral
[ 12.991495] bcm2708_spi bcm2708_spi.0: SPI Controller at 0x20204000 (irq 80)
[ 13.008395] platform leds-gpio: Driver leds-gpio requests probe deferral
[ 13.044537] platform leds-gpio: Driver leds-gpio requests probe deferral
[ 13.201522] fbtft_device: unknown parameter 'frequency' ignored
[ 13.212920] fbtft_device: SPI devices registered:
[ 13.220169] fbtft_device: spidev spi0.0 500kHz 8 bits mode=0x00
[ 13.228824] fbtft_device: spidev spi0.1 500kHz 8 bits mode=0x00
[ 13.237480] fbtft_device: 'fb' Platform devices registered:
[ 13.245311] fbtft_device: bcm2708_fb id=-1 pdata? no
[ 13.252886] fbtft_device: display not supported: 'adafruitrt28'

--
G.