Closed EtiennePerot closed 10 years ago
Isn't that because you gave to use the custom image supplied by Adafruit? The wiki page points to the 'how to'.
Texy
No, I am trying to get it to work under Arch Linux ARM. Adafruit provides an unsupported patchset on their wiki page, but I thought I'd try using FBTFT directly so that I don't have to compile a patched kernel myself. I installed it using rpi-update
as described on #33. Since I saw the PiTFT in the list of LCD shields, I assumed I would be able to use it directly. Reading Adafruit's wiki further, I now see that FBTFT itself needs to be patched to add support in order to support PiTFT (and then use name=adafruitts
).
The wiki should probably say this; just reading that page without reading Adafruit's how-to leads to believe that PiTFT is fully supported by FBTFT like any other display.
It is possible to use the FBTFT prebuilt kernel, using the custom parameter to fbtft_device. I had a look at the PiTFT patches yesterday and realized that there is also a custom init sequence for that display, which makes it a bit harder. I will post a modprobe command you can try later today.
Try this:
sudo modprobe fbtft_device debug=7 custom name=fb_ili9340 speed=16000000 rotate=90 gpios=dc:25 init=-1,0x01,-2,5,-1,0x28,-1,0xEF,0x03,0x80,0x02,-1,0xCF,0x00,0xC1,0x30,-1,0xED,0x64,0x03,0x12,0x81,-1,0xE8,0x85,0x00,0x78,-1,0xCB,0x39,0x2C,0x00,0x34,0x02,-1,0xF7,0x20,-1,0xEA,0x00,0x00,-1,0xC0,0x23,-1,0xC1,0x10,-1,0xC5,0x3e,0x28,-1,0xC7,0x86,-1,0x3A,0x55,-1,0xB1,0x00,0x18,-1,0xB6,0x08,0x82,0x27,-1,0xF2,0x00,-1,0x26,0x01,-1,0xE0,0x0F,0x31,0x2B,0x0C,0x0E,0x08,0x4E,0xF1,0x37,0x07,0x10,0x03,0x0E,0x09,0x00,-1,0xE1,0x00,0x0E,0x14,0x03,0x11,0x07,0x31,0xC1,0x48,0x08,0x0F,0x0C,0x31,0x36,0x0F,-1,0x11,-2,100,-1,0x29,-2,20,-3
Didn't work. :(
$ sudo modprobe fbtft_device debug=7 custom name=fb_ili9340 speed=16000000 rotate=90 gpios=dc:25 init=-1,0x01,-2,5,-1,0x28,-1,0xEF,0x03,0x80,0x02,-1,0xCF,0x00,0xC1,0x30,-1,0xED,0x64,0x03,0x12,0x81,-1,0xE8,0x85,0x00,0x78,-1,0xCB,0x39,0x2C,0x00,0x34,0x02,-1,0xF7,0x20,-1,0xEA,0x00,0x00,-1,0xC0,0x23,-1,0xC1,0x10,-1,0xC5,0x3e,0x28,-1,0xC7,0x86,-1,0x3A,0x55,-1,0xB1,0x00,0x18,-1,0xB6,0x08,0x82,0x27,-1,0xF2,0x00,-1,0x26,0x01,-1,0xE0,0x0F,0x31,0x2B,0x0C,0x0E,0x08,0x4E,0xF1,0x37,0x07,0x10,0x03,0x0E,0x09,0x00,-1,0xE1,0x00,0x0E,0x14,0x03,0x11,0x07,0x31,0xC1,0x48,0x08,0x0F,0x0C,0x31,0x36,0x0F,-1,0x11,-2,100,-1,0x29,-2,20,-3
modprobe: ERROR: could not insert 'fbtft_device': Invalid argument
$ sudo dmesg | grep fbtft
[ 202.693753] fbtft_device: SPI devices registered:
[ 202.714205] fbtft_device: 'fb' Platform devices registered:
[ 202.720104] fbtft_device: bcm2708_fb id=-1 pdata? no
[ 202.744356] fbtft_device: spi_busnum_to_master(0) returned NULL
This is the same message I got compared to when I was trying to use some random name=
values. I checked that the TFT screen works at all by downloading the latest Raspbian and installing the packages from the Adafruit wiki, so I know it's not a hardware problem.
spi_busnum_to_master(0) returned NULL
This is most likely because the SPI master driver is not loaded. It can't find a driver on SPI bus 0.
Run lsmod
and see if spi-bcm2708 is loaded.
It is blacklisted by default on Raspian: /etc/modprobe.d/raspi-blacklist.conf
It isn't loaded. It's not blacklisted on ArchLinux. I tried loading it manually:
# modprobe spi-bcm2708 debug=1
modprobe: ERROR: could not insert 'spi_bcm2708': No such device
# dmesg | grep -i spi
[ 0.000000] Linux version 3.10.24+ (pi@raspi2) (gcc version 4.7.1 20120402 (prerelease) (crosstool-NG 1.15.2) ) #1 PREEMPT Sat Dec 14 22:04:32 CET 2013
[ 7.405984] bcm2708_spi bcm2708_spi.0: couldn't allocate a DMA channel
[ 7.472159] bcm2708_spi: probe of bcm2708_spi.0 failed with error -12
[ 906.318116] bcm2708_spi bcm2708_spi.0: couldn't allocate a DMA channel
[ 906.334605] bcm2708_spi: probe of bcm2708_spi.0 failed with error -12
Clearly it tried to load on boot as well, but couldn't :(
# stat /dev/spi*
stat: cannot stat '/dev/spi*': No such file or directory
No SPI devices. Loading spidev seems to do little:
# modprobe spidev
# lsmod | grep spi
regmap_spi 1897 1 snd_soc_core
Kernel has SPI enabled:
# zcat /proc/config.gz | grep -i SPIDEV
CONFIG_BCM2708_SPIDEV=y
CONFIG_SPI_SPIDEV=y
Then I stumbled on https://github.com/vogelchr/rpi_add_spidev_module (created just a few hours ago, what a coincidence) which suggests that this is likely a distro issue rather than an FBTFT issue.
The FBTFT kernel uses a different SPI master driver than the vanilla kernel. It has DMA support: https://github.com/notro/spi-bcm2708
The problem is that the driver can't allocate a DMA channel:
modprobe: ERROR: could not insert 'spi_bcm2708': No such device
# dmesg
bcm2708_spi bcm2708_spi.0: couldn't allocate a DMA channel
bcm2708_spi: probe of bcm2708_spi.0 failed with error -12
Error -12 is: #define ENOMEM 12 /* Out of memory */
The call chain seem to be like this: drivers/spi/spi-bcm2708.c: bcm2708_spi_probe() -> bcm2708_register_dma() -> bcm_dma_chan_alloc() arch/arm/mach-bcm2708/dma.c: bcm_dma_chan_alloc() -> vc_dmaman_chan_alloc()
vc_dmaman_chan_alloc() fails because dmaman->chan_available is zero and returns -ENOMEM
Setting of dmaman->chan_available: bcm_dmaman_probe() -> if dmachans is set: vc_dmaman_init(.., dmachans)
dmachans is a module parameter.
This is my value:
pi@raspberrypi:~$ cat /proc/cmdline
dma.dmachans=0x7f35 .....
Is this set in your case?
Yes.
# cat /proc/cmdline
dma.dmachans=0x7f35 bcm2708_fb.fbwidth=1680 bcm2708_fb.fbheight=1050 bcm2708.boardrev=0xe bcm2708.serial=0x547ef95e smsc95xx.macaddr=B8:27:EB:7E:F9:5E sdhci-bcm2708.emmc_clock_freq=250000000 vc-cma-mem=0/0x11800000@0xd400000 mem=0xc400000@0x0 mem=0x11800000@0xd400000 vc_mem.mem_base=0x1ec00000 vc_mem.mem_size=0x20000000 ipv6.disable=1 avoid_safe_mode=1 selinux=0 plymouth.enable=0 smsc95xx.turbo_mode=N dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p5 rootfstype=ext4 elevator=noop rootwait
# modprobe spi-bcm2708 debug=1
modprobe: ERROR: could not insert 'spi_bcm2708': No such device
# dmesg | grep -i spi
[ 0.000000] Linux version 3.10.24+ (pi@raspi2) (gcc version 4.7.1 20120402 (prerelease) (crosstool-NG 1.15.2) ) #1 PREEMPT Sat Dec 14 22:04:32 CET 2013
[ 7.350855] bcm2708_spi bcm2708_spi.0: couldn't allocate a DMA channel
[ 7.432497] bcm2708_spi: probe of bcm2708_spi.0 failed with error -12
[ 132.601242] bcm2708_spi bcm2708_spi.0: couldn't allocate a DMA channel
[ 132.611112] bcm2708_spi: probe of bcm2708_spi.0 failed with error -12
# dmesg | grep -i dma
[ 0.000000] Kernel command line: dma.dmachans=0x7f35 bcm2708_fb.fbwidth=1680 bcm2708_fb.fbheight=1050 bcm2708.boardrev=0xe bcm2708.serial=0x547ef95e smsc95xx.macaddr=B8:27:EB:7E:F9:5E sdhci-bcm2708.emmc_clock_freq=250000000 vc-cma-mem=0/0x11800000@0xd400000 mem=0xc400000@0x0 mem=0x11800000@0xd400000 vc_mem.mem_base=0x1ec00000 vc_mem.mem_size=0x20000000 ipv6.disable=1 avoid_safe_mode=1 selinux=0 plymouth.enable=0 smsc95xx.turbo_mode=N dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p5 rootfstype=ext4 elevator=noop rootwait
[ 0.058970] DMA: preallocated 4096 KiB pool for atomic coherent allocations
[ 1.072911] bcm2708_dma: DMA manager at f2007000
[ 1.323803] BCM2708FB: allocated DMA memory 4d800000
[ 1.328943] BCM2708FB: allocated DMA channel 0 @ f2007000
[ 1.378194] uart-pl011 dev:f1: no DMA platform data
[ 1.884021] Using Buffer DMA mode
[ 2.134132] mmc0: SDHCI controller on BCM2708_Arasan [platform] using platform's DMA
[ 2.146550] mmc0: BCM2708 SDHC host at 0x20300000 DMA 2 IRQ 77
[ 7.350855] bcm2708_spi bcm2708_spi.0: couldn't allocate a DMA channel
[ 132.601242] bcm2708_spi bcm2708_spi.0: couldn't allocate a DMA channel
I was puzzled by the 'No such device' error -ENODEV (-19) from modprobe, since probing returned -ENOMEM (-12). It turns out that the init_module syscall returns -ENODEV when probing fails.
I really don't know what causes this. I'm reopening this issue so I don't forget about this. I don't know when I have time to look more into this. I need a kernel with debug output to find out more about why it fails.
I appreciate the support so far. I've renamed the issue to something more meaningful considering what it's turned into. I'd be happy to donate whatever a PiTFT costs for you if it helps debugging.
I do have a PiTFT and it's working on Raspian. At least for me :-) Sorry I didn't mention that earlier. I'm currently finishing up a new image release so I'm a bit tied up in that. See #82
Closing issue since there has been no activity for more than 2 months. Reopen if needed.
I too am trying to get fbtft to work with Arch Linux on the Raspberry Pi and am running into some of these same issues. I've gone ahead and replaced the stock spi-bcm2708 module with one from your spi-bcm2708 git repo (https://github.com/notro/spi-bcm2708). I still have issues. Here is some of the relevant output from dmesg:
$ dmesg | grep DMA
[ 0.328865] DMA: preallocated 4096 KiB pool for atomic coherent allocations
[ 2.260767] bcm2708_dma: DMA manager at f2007000
[ 2.409630] BCM2708FB: allocated DMA memory 5bc00000
[ 2.414873] BCM2708FB: allocated DMA channel 0 @ f2007000
[ 2.438353] bcm2708-dmaengine bcm2708-dmaengine: Load BCM2835 DMA engine driver
[ 2.447809] uart-pl011 dev:f1: no DMA platform data
[ 3.009930] Using Buffer DMA mode
[ 3.040208] WARN::dwc_otg_hcd_init:1047: FIQ DMA bounce buffers: virt = 0xdbc14000 dma = 0x5bc14000 len=9024
[ 3.338968] DMA channels allocated for the MMC driver
$ dmesg | grep bcm2708
[ 0.000000] Kernel command line: dma.dmachans=0x7f35 bcm2708_fb.fbwidth=656 bcm2708_fb.fbheight=416 bcm2708.boardrev=0x10 bcm2708.serial=0x90532883 smsc95xx.macaddr=B8:27:EB:53:28:83 bcm2708_fb.fbswap=1 bcm2708.disk_led_gpio=47 bcm2708.disk_led_active_low=0 sdhci-bcm2708.emmc_clock_freq=250000000 vc_mem.mem_base=0x1ec00000 vc_mem.mem_size=0x20000000 root=/dev/mmcblk0p2 rw rootwait console=ttyAMA0,115200 console=tty1 selinux=0 plymouth.enable=0 smsc95xx.turbo_mode=N dwc_otg.lpm_enable=0 kgdboc=ttyAMA0,115200 elevator=noop
[ 0.381526] bcm2708.uart_clock = 3000000
[ 0.384827] bcm2708_vcio: mailbox at f200b880
[ 2.260767] bcm2708_dma: DMA manager at f2007000
[ 2.438353] bcm2708-dmaengine bcm2708-dmaengine: Load BCM2835 DMA engine driver
[ 3.096643] dwc_otg bcm2708_usb: DWC OTG Controller
[ 3.103088] dwc_otg bcm2708_usb: new USB bus registered, assigned bus number 1
[ 3.112015] dwc_otg bcm2708_usb: irq 32, io mem 0x00000000
[ 3.160897] usb usb1: SerialNumber: bcm2708_usb
[ 4.460937] smsc95xx 1-1.1:1.0 eth0: register 'smsc95xx' at usb-bcm2708_usb-1.1, smsc95xx USB 2.0 Ethernet, b8:27:eb:53:28:83
[ 4.935971] input: Chicony USB Keyboard as /devices/platform/bcm2708_usb/usb1/1-1/1-1.4/1-1.4:1.0/0003:04F2:0402.0001/input/input0
[ 4.953049] hid-generic 0003:04F2:0402.0001: input,hidraw0: USB HID v1.11 Keyboard [Chicony USB Keyboard] on usb-bcm2708_usb-1.4/input0
[ 5.114228] input: Chicony USB Keyboard as /devices/platform/bcm2708_usb/usb1/1-1/1-1.4/1-1.4:1.1/0003:04F2:0402.0002/input/input1
[ 5.135687] hid-generic 0003:04F2:0402.0002: input,hiddev0,hidraw1: USB HID v1.11 Device [Chicony USB Keyboard] on usb-bcm2708_usb-1.4/input1
[ 5.889300] bcm2708_rng_init=dcafe000
[ 202.831137] fbtft_device: bcm2708_fb id=-1 pdata? no
$ dmesg | grep fbtft
[ 202.784059] fbtft_device: SPI devices registered:
[ 202.814517] fbtft_device: 'fb' Platform devices registered:
[ 202.831137] fbtft_device: bcm2708_fb id=-1 pdata? no
[ 202.851366] fbtft_device: spi_busnum_to_master(0) returned NULL
[ 202.872924] fbtft_device: failed to register SPI device
and lsmod give:
$ lsmod
Module Size Used by
fbtft 33620 0
syscopyarea 3067 1 fbtft
sysfillrect 3310 1 fbtft
sysimgblt 2124 1 fbtft
fb_sys_fops 1463 1 fbtft
evdev 9900 0
leds_gpio 3492 0
led_class 4066 1 leds_gpio
uio_pdrv_genirq 3238 0
uio 8753 1 uio_pdrv_genirq
sch_fq_codel 7611 2
snd_bcm2835 19740 1
snd_pcm 86628 2 snd_bcm2835
snd_timer 20697 1 snd_pcm
snd 61799 4 snd_bcm2835,snd_timer,snd_pcm
bcm2708_rng 1044 0
rng_core 5666 1 bcm2708_rng
ipv6 327644 18
I'm happy to do whatever I can to get this sorted out.
Thanks,
George
If you are using the new Device Tree enabled kernel, look here: https://github.com/notro/fbtft/wiki#install
[ 202.851366] fbtft_device: spi_busnum_to_master(0) returned NULL
This says that there is no SPI master driver loaded (spi-bcm2708)
I had the same thought last night, so I added: dtparam=spi=on and dtoverlay=pitft to /boot/config.txt. What I get now for sudo modprobe fbtft_device name=adafruitct28 rotate=90 is:
[ 227.624716] fbtft_device: SPI devices registered:
[ 227.642785] fbtft_device: spidev spi0.0 500kHz 8 bits mode=0x00
[ 227.650200] fbtft_device: spidev spi0.1 500kHz 8 bits mode=0x00
[ 227.656616] fbtft_device: 'fb' Platform devices registered:
[ 227.668424] fbtft_device: bcm2708_fb id=-1 pdata? no
[ 227.678543] fbtft_device: display not supported: 'adafruitct28'
and
$ dmesg | grep spi
[ 14.708356] bcm2708_spi 20204000.spi: DMA channel 2 at address 0xf2007200 with irq 77
[ 14.823669] bcm2708_spi 20204000.spi: DMA channel 4 at address 0xf2007400 with irq 20
[ 14.994637] bcm2708_spi 20204000.spi: SPI Controller at 0x20204000 (irq 80)
[ 15.158062] bcm2708_spi 20204000.spi: SPI Controller running in dma mode
[ 227.642785] fbtft_device: spidev spi0.0 500kHz 8 bits mode=0x00
[ 227.650200] fbtft_device: spidev spi0.1 500kHz 8 bits mode=0x00
[ 300.795189] fbtft_device: spidev spi0.0 500kHz 8 bits mode=0x00
[ 300.811719] fbtft_device: spidev spi0.1 500kHz 8 bits mode=0x00
[ 362.577389] fbtft_device: spidev spi0.0 500kHz 8 bits mode=0x00
[ 362.592622] fbtft_device: spidev spi0.1 500kHz 8 bits mode=0x00
[ 362.748675] fbtft_device: itdb28_spi
[ 362.850200] fbtft_device: sainsmart32_spi
[ 362.858139] fbtft_device: spidev
$ dmesg | grep fbtft
[ 227.624716] fbtft_device: SPI devices registered:
[ 227.642785] fbtft_device: spidev spi0.0 500kHz 8 bits mode=0x00
[ 227.650200] fbtft_device: spidev spi0.1 500kHz 8 bits mode=0x00
[ 227.656616] fbtft_device: 'fb' Platform devices registered:
[ 227.668424] fbtft_device: bcm2708_fb id=-1 pdata? no
[ 227.678543] fbtft_device: display not supported: 'adafruitct28'
[ 300.790298] fbtft_device: SPI devices registered:
[ 300.795189] fbtft_device: spidev spi0.0 500kHz 8 bits mode=0x00
[ 300.811719] fbtft_device: spidev spi0.1 500kHz 8 bits mode=0x00
[ 300.818370] fbtft_device: 'fb' Platform devices registered:
[ 300.829298] fbtft_device: bcm2708_fb id=-1 pdata? no
[ 300.838420] fbtft_device: display not supported: 'adafruitct28'
[ 362.568379] fbtft_device: SPI devices registered:
[ 362.577389] fbtft_device: spidev spi0.0 500kHz 8 bits mode=0x00
[ 362.592622] fbtft_device: spidev spi0.1 500kHz 8 bits mode=0x00
[ 362.602241] fbtft_device: 'fb' Platform devices registered:
[ 362.608385] fbtft_device: bcm2708_fb id=-1 pdata? no
[ 362.618240] fbtft_device: Supported displays:
[ 362.625043] fbtft_device: adafruit18
[ 362.629961] fbtft_device: adafruit18_green
[ 362.639998] fbtft_device: adafruit22
[ 362.646348] fbtft_device: adafruit22a
[ 362.650817] fbtft_device: adafruit28
[ 362.658959] fbtft_device: adafruit13m
[ 362.665567] fbtft_device: agm1264k-fl
[ 362.670527] fbtft_device: dogs102
[ 362.677992] fbtft_device: er_tftm050_2
[ 362.685848] fbtft_device: er_tftm070_5
[ 362.690462] fbtft_device: flexfb
[ 362.698715] fbtft_device: flexpfb
[ 362.704905] fbtft_device: freetronicsoled128
[ 362.710508] fbtft_device: hx8353d
[ 362.718094] fbtft_device: hy28a
[ 362.724725] fbtft_device: hy28b
[ 362.728612] fbtft_device: ili9481
[ 362.736848] fbtft_device: itdb24
[ 362.740740] fbtft_device: itdb28
[ 362.748675] fbtft_device: itdb28_spi
[ 362.755801] fbtft_device: mi0283qt-2
[ 362.759993] fbtft_device: mi0283qt-9a
[ 362.768196] fbtft_device: mi0283qt-v2
[ 362.774960] fbtft_device: nokia3310
[ 362.779067] fbtft_device: nokia3310a
[ 362.787216] fbtft_device: piscreen
[ 362.793930] fbtft_device: pitft
[ 362.797611] fbtft_device: pioled
[ 362.807395] fbtft_device: rpi-display
[ 362.816081] fbtft_device: s6d02a1
[ 362.820133] fbtft_device: sainsmart18
[ 362.828662] fbtft_device: sainsmart32
[ 362.835973] fbtft_device: sainsmart32_fast
[ 362.840662] fbtft_device: sainsmart32_latched
[ 362.850200] fbtft_device: sainsmart32_spi
[ 362.858139] fbtft_device: spidev
[ 362.864298] fbtft_device: ssd1331
[ 362.868912] fbtft_device: tinylcd35
[ 362.877248] fbtft_device: tm022hdh26
[ 362.883725] fbtft_device: tontec35_9481
[ 362.888378] fbtft_device: tontec35_9486
[ 362.897691] fbtft_device: upd161704
[ 362.904141] fbtft_device: waveshare32b
[ 362.909167] fbtft_device: waveshare22
[ 362.917974] fbtft_device:
$ dmesg | grep DMA
[ 0.328844] DMA: preallocated 4096 KiB pool for atomic coherent allocations
[ 2.260982] bcm2708_dma: DMA manager at f2007000
[ 2.409814] BCM2708FB: allocated DMA memory 5bc00000
[ 2.415057] BCM2708FB: allocated DMA channel 0 @ f2007000
[ 2.438573] bcm2708-dmaengine bcm2708-dmaengine: Load BCM2835 DMA engine driver
[ 2.448008] uart-pl011 dev:f1: no DMA platform data
[ 3.010154] Using Buffer DMA mode
[ 3.040382] WARN::dwc_otg_hcd_init:1047: FIQ DMA bounce buffers: virt = 0xdbc14000 dma = 0x5bc14000 len=9024
[ 3.339113] DMA channels allocated for the MMC driver
[ 14.708356] bcm2708_spi 20204000.spi: DMA channel 2 at address 0xf2007200 with irq 77
[ 14.823669] bcm2708_spi 20204000.spi: DMA channel 4 at address 0xf2007400 with irq 20
$ dmesg | grep bcm2708
[ 0.000000] Kernel command line: dma.dmachans=0x7f35 bcm2708_fb.fbwidth=656 bcm2708_fb.fbheight=416 bcm2708.boardrev=0x10 bcm2708.serial=0x90532883 smsc95xx.macaddr=B8:27:EB:53:28:83 bcm2708_fb.fbswap=1 bcm2708.disk_led_gpio=47 bcm2708.disk_led_active_low=0 sdhci-bcm2708.emmc_clock_freq=250000000 vc_mem.mem_base=0x1ec00000 vc_mem.mem_size=0x20000000 root=/dev/mmcblk0p2 rw rootwait console=ttyAMA0,115200 console=tty1 selinux=0 plymouth.enable=0 smsc95xx.turbo_mode=N dwc_otg.lpm_enable=0 kgdboc=ttyAMA0,115200 elevator=noop
[ 0.381537] bcm2708.uart_clock = 3000000
[ 0.385030] bcm2708_vcio: mailbox at f200b880
[ 2.260982] bcm2708_dma: DMA manager at f2007000
[ 2.438573] bcm2708-dmaengine bcm2708-dmaengine: Load BCM2835 DMA engine driver
[ 3.096746] dwc_otg bcm2708_usb: DWC OTG Controller
[ 3.103197] dwc_otg bcm2708_usb: new USB bus registered, assigned bus number 1
[ 3.112122] dwc_otg bcm2708_usb: irq 32, io mem 0x00000000
[ 3.160996] usb usb1: SerialNumber: bcm2708_usb
[ 4.450789] smsc95xx 1-1.1:1.0 eth0: register 'smsc95xx' at usb-bcm2708_usb-1.1, smsc95xx USB 2.0 Ethernet, b8:27:eb:53:28:83
[ 4.880340] input: Chicony USB Keyboard as /devices/platform/bcm2708_usb/usb1/1-1/1-1.4/1-1.4:1.0/0003:04F2:0402.0001/input/input0
[ 4.901291] hid-generic 0003:04F2:0402.0001: input,hidraw0: USB HID v1.11 Keyboard [Chicony USB Keyboard] on usb-bcm2708_usb-1.4/input0
[ 5.065289] input: Chicony USB Keyboard as /devices/platform/bcm2708_usb/usb1/1-1/1-1.4/1-1.4:1.1/0003:04F2:0402.0002/input/input1
[ 5.091306] hid-generic 0003:04F2:0402.0002: input,hiddev0,hidraw1: USB HID v1.11 Device [Chicony USB Keyboard] on usb-bcm2708_usb-1.4/input1
[ 6.277387] bcm2708_rng_init=dcafe000
[ 14.708356] bcm2708_spi 20204000.spi: DMA channel 2 at address 0xf2007200 with irq 77
[ 14.823669] bcm2708_spi 20204000.spi: DMA channel 4 at address 0xf2007400 with irq 20
[ 14.994637] bcm2708_spi 20204000.spi: SPI Controller at 0x20204000 (irq 80)
[ 15.158062] bcm2708_spi 20204000.spi: SPI Controller running in dma mode
[ 227.668424] fbtft_device: bcm2708_fb id=-1 pdata? no
[ 300.829298] fbtft_device: bcm2708_fb id=-1 pdata? no
[ 362.608385] fbtft_device: bcm2708_fb id=-1 pdata? no
It looks like I'm getting closer, but still get a blank white screen and it seems that my Adafruit 2.8" capacitive display isn't recognized. As mentioned, I pulled in you bcm2708 spi module, do I need to pull in your full firmware tree from https://github.com/notro/rpi-firmware?
The touch panel of 'adafruitct28' is only supported in the Adafruit kernel/sources. The display part is called 'pitft' in fbtft repo.
Adafruit has simplified kernel building: https://learn.adafruit.com/raspberry-pi-kernel-o-matic/overview
I'll have to take a look at their sources. I'm running ArchLinux and I'm assuming this builds for Raspian. However, it may be that I can pull sources and add them when I build a kernel for Arch. You don't happen to know which files they've added (I'll also make a request at Adafruit to detail their modifications)?
I believe this is their kernel repo: https://github.com/adafruit/adafruit-raspberrypi-linux
Thanks! I see that some others have gotten it working on Arch, but I can't find a complete walk-through. If I get it working properly, I'll see if I can put one together.
@ggalt Did you ever manage to get this working? I am currently running through the same process.
@sarietta Sorry, I got hung up on a few points. After a lot of work -- most of which I didn't capture unfortunately -- I was able to get the screen to flash, but never got more than the backlite to work. If I do go any further, I'll leave a note here. Sorry.
Hi there, I'm trying to get a PiTFT to work with FBTFT (listed on the Supported LCD Shields page), but can't find the value of the
name
parameter I should use. I've triedadafruit22
which seemed the most promising, but to no avail (module refuses to load). It'd be nice to show whatname
value to use for each LCD shield on the wiki page.