New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for Waveshare 3.5 Spotpear #215

Open
sudobrew opened this Issue Jan 5, 2015 · 146 comments

Comments

Projects
None yet
@sudobrew

sudobrew commented Jan 5, 2015

Hello,
I have been attempting to set up a Waveshare 3.5 Spotpear , but all I have been getting is a blank bright white screen. I'm was hoping someone with a bit more experience would have more insight.

http://www.amazon.com/Waveshare-Raspberry-Resistive-Interface-Rapsberry-pi/dp/B00OZLG2YS

From the manufacturer:
1,17 - 3.3V
2,4 - 5V
3,5,7,8,10,12,13,15,16 - NC
6,9,14,20,25 - GND
11 - TP_IRQ (Touch Panel interrupt)
18 - LCD_RS (Instructions / Data Register Selection)
19 - LCD_SI / TP_SI (SPI data input)
21 - TP_SO (SPI data output)
22 - RST (Reset)
23 - LCD_SCK / TP_SCK (SPI clock)
24 - LCD_CS (LCD chip selection)
26 TP_CS (Touch Panel chip selection)

I have tried a few variations of:
sudo modprobe fbtft_device custom name=fb_ili9341 speed=48000000 gpios=dc:18,reset:22 bgr=1 rotate=270 width=480 height=320

But so far all I get is the HDMI to freeze and the LCD remains bright white.

I was following this forum: notro/rpi-firmware#6 but the solutions provided don't seem to work with this different display. I have the image provided from the manufacturer, but I would rather use the standard Raspian image.

@sudobrew

This comment has been minimized.

Show comment
Hide comment
@sudobrew

sudobrew Jan 5, 2015

I was thinking, since I have the custom image from waveshare, is there an easy way to extract the initialization sequence if I temporarily load the image on the raspberry pi?

sudobrew commented Jan 5, 2015

I was thinking, since I have the custom image from waveshare, is there an easy way to extract the initialization sequence if I temporarily load the image on the raspberry pi?

@notro

This comment has been minimized.

Show comment
Hide comment
@notro

notro Jan 6, 2015

Owner

Do you know if they use fbtft?
Try:

$ dmesg | grep graphics
graphics fb1: XXX frame buffer, 480x272, 255 KiB video memory, fps=20

If they do, what does lsmod show?

Owner

notro commented Jan 6, 2015

Do you know if they use fbtft?
Try:

$ dmesg | grep graphics
graphics fb1: XXX frame buffer, 480x272, 255 KiB video memory, fps=20

If they do, what does lsmod show?

@sudobrew

This comment has been minimized.

Show comment
Hide comment
@sudobrew

sudobrew Jan 6, 2015

Thank you for the response

$dmesg | grep graphics
fb1: flexb frame buffer, 480x320, 300kiB video memory, 4 kiB DMA buffer memory, fps=20, spi0.0 at 16MHz
$lsmod
Module                  Size  Used by
joydev                  9096  0 
ads7846                 8513  0 
ads7846_device          6125  0 
fbtft_device           28475  0 
flexfb                 14028  3 
fbtft                  31542  2 flexfb,fbtft_device
syscopyarea             3039  1 fbtft
sysfillrect             3349  1 fbtft
sysimgblt               2154  1 fbtft
fb_sys_fops             1455  1 fbtft
i2c_dev                 6886  0 
snd_bcm2835            18169  0 
snd_soc_pcm512x         8909  0 
snd_soc_wm8804          7833  0 
snd_soc_bcm2708_i2s     5486  0 
regmap_mmio             2818  1 snd_soc_bcm2708_i2s
snd_soc_core          146286  3 snd_soc_pcm512x,snd_soc_wm8804,snd_soc_bcm2708_i2s
snd_compress           12419  1 snd_soc_core
regmap_i2c              1657  3 snd_soc_pcm512x,snd_soc_wm8804,snd_soc_core
snd_pcm_dmaengine       5481  1 snd_soc_core
regmap_spi              1913  3 snd_soc_pcm512x,snd_soc_wm8804,snd_soc_core
snd_pcm                81542  3 snd_bcm2835,snd_soc_core,snd_pcm_dmaengine
snd_page_alloc          5168  1 snd_pcm
snd_seq                54581  0 
snd_seq_device          6485  1 snd_seq
snd_timer              20353  2 snd_pcm,snd_seq
evdev                  10485  4 
leds_gpio               2055  0 
snd                    61526  7 snd_bcm2835,snd_soc_core,snd_timer,snd_pcm,snd_seq,snd_seq_device,snd_compress
led_class               4378  1 leds_gpio
i2c_bcm2708             4719  0 
spi_bcm2708             8004  0 

I then ran:

$dmesg | grep spi

fbtft_request_gpios: 'reset' =GPIO025
fbtft_request_gpios: 'dc' =GPIO024
flexfb_verify_gpios_dc()
fbtft_init_display()
fbtft_reset()
init: write(0xB0) 0x00
init: write(0x11)
init: mdelay(250)
init: write(0x3A) 0x55
init: write(0xC2) 0x44
init: write(0xC5) 0x00 0x00 0x00 0x00
init: write(0xE0) 0x0F 0x1F 0x1C 0x0C 0x0F 0x08 0x48 0x98 0x37 0x0A 0x13 0x04 0x11 0x0D 0x00
init: write(0xE1) 0x0F 0X32 0x2E 0x0B 0x0D 0x05 0x47 0x75 0x37 0x06 0x10 0x03 0x24 0x20 0x00
init: write(0xE2) 0x0F 0X32 0x2E 0x0B 0x0D 0x05 0x47 0x75 0x37 0x06 0x10 0x03 0x24 0x20 0x00
init: write(0x36) 0x28
init: write(0x11)
init: write(0x29)
Display update: 1691kB/s (177.354ms),fps=0 (0.000 ms) 
fbtft_register_backlight()
fbtft_register_backlight(): led pin not set, exiting
graphics fb1: flexb frame buffer, 480x320, 300kiB video memory, 4 kiB DMA buffer memory, fps=20, spi0.0 at 16MHz
fbtft_device: spidev spi0.1 500kHZ 8 bits mode=0x00
fbtft_device: flexfb spi0.0 16000kHZ 8 bits mode=0x00
ads7846_device: Deleting spi0.1
ads7846 spi0.1: touchscreen, irq 187
input ADS7846 Touchscreen as /devices/platform/bcm2708_spi.0/spi_master/spi0/spi0.1/input/input1

Interesting to see that they use 24 and 25 which is different than their documentation

sudobrew commented Jan 6, 2015

Thank you for the response

$dmesg | grep graphics
fb1: flexb frame buffer, 480x320, 300kiB video memory, 4 kiB DMA buffer memory, fps=20, spi0.0 at 16MHz
$lsmod
Module                  Size  Used by
joydev                  9096  0 
ads7846                 8513  0 
ads7846_device          6125  0 
fbtft_device           28475  0 
flexfb                 14028  3 
fbtft                  31542  2 flexfb,fbtft_device
syscopyarea             3039  1 fbtft
sysfillrect             3349  1 fbtft
sysimgblt               2154  1 fbtft
fb_sys_fops             1455  1 fbtft
i2c_dev                 6886  0 
snd_bcm2835            18169  0 
snd_soc_pcm512x         8909  0 
snd_soc_wm8804          7833  0 
snd_soc_bcm2708_i2s     5486  0 
regmap_mmio             2818  1 snd_soc_bcm2708_i2s
snd_soc_core          146286  3 snd_soc_pcm512x,snd_soc_wm8804,snd_soc_bcm2708_i2s
snd_compress           12419  1 snd_soc_core
regmap_i2c              1657  3 snd_soc_pcm512x,snd_soc_wm8804,snd_soc_core
snd_pcm_dmaengine       5481  1 snd_soc_core
regmap_spi              1913  3 snd_soc_pcm512x,snd_soc_wm8804,snd_soc_core
snd_pcm                81542  3 snd_bcm2835,snd_soc_core,snd_pcm_dmaengine
snd_page_alloc          5168  1 snd_pcm
snd_seq                54581  0 
snd_seq_device          6485  1 snd_seq
snd_timer              20353  2 snd_pcm,snd_seq
evdev                  10485  4 
leds_gpio               2055  0 
snd                    61526  7 snd_bcm2835,snd_soc_core,snd_timer,snd_pcm,snd_seq,snd_seq_device,snd_compress
led_class               4378  1 leds_gpio
i2c_bcm2708             4719  0 
spi_bcm2708             8004  0 

I then ran:

$dmesg | grep spi

fbtft_request_gpios: 'reset' =GPIO025
fbtft_request_gpios: 'dc' =GPIO024
flexfb_verify_gpios_dc()
fbtft_init_display()
fbtft_reset()
init: write(0xB0) 0x00
init: write(0x11)
init: mdelay(250)
init: write(0x3A) 0x55
init: write(0xC2) 0x44
init: write(0xC5) 0x00 0x00 0x00 0x00
init: write(0xE0) 0x0F 0x1F 0x1C 0x0C 0x0F 0x08 0x48 0x98 0x37 0x0A 0x13 0x04 0x11 0x0D 0x00
init: write(0xE1) 0x0F 0X32 0x2E 0x0B 0x0D 0x05 0x47 0x75 0x37 0x06 0x10 0x03 0x24 0x20 0x00
init: write(0xE2) 0x0F 0X32 0x2E 0x0B 0x0D 0x05 0x47 0x75 0x37 0x06 0x10 0x03 0x24 0x20 0x00
init: write(0x36) 0x28
init: write(0x11)
init: write(0x29)
Display update: 1691kB/s (177.354ms),fps=0 (0.000 ms) 
fbtft_register_backlight()
fbtft_register_backlight(): led pin not set, exiting
graphics fb1: flexb frame buffer, 480x320, 300kiB video memory, 4 kiB DMA buffer memory, fps=20, spi0.0 at 16MHz
fbtft_device: spidev spi0.1 500kHZ 8 bits mode=0x00
fbtft_device: flexfb spi0.0 16000kHZ 8 bits mode=0x00
ads7846_device: Deleting spi0.1
ads7846 spi0.1: touchscreen, irq 187
input ADS7846 Touchscreen as /devices/platform/bcm2708_spi.0/spi_master/spi0/spi0.1/input/input1

Interesting to see that they use 24 and 25 which is different than their documentation

@fergie4000

This comment has been minimized.

Show comment
Hide comment
@fergie4000

fergie4000 Jan 6, 2015

modprobe flexfb  width=320  height=480  regwidth=16 init=-1,0xb0,0x0,-1,0x11,-2,250,-1,0x3A,0x55,-1,0xC2,0x44,-1,0xC5,0x00,0x00,0x00,0x00,-1,0xE0,0x0F,0x1F,0x1C,0x0C,0x0F,0x08,0x48,0x98,0x37,0x0A,0x13,0x04,0x11,0x0D,0x00,-1,0xE1,0x0F,0x32,0x2E,0x0B,0x0D,0x05,0x47,0x75,0x37,0x06,0x10,0x03,0x24,0x20,0x00,-1,0xE2,0x0F,0x32,0x2E,0x0B,0x0D,0x05,0x47,0x75,0x37,0x06,0x10,0x03,0x24,0x20,0x00,-1,0x36,0x28,-1,0x11,-1,0x29,-3
modprobe fbtft_device debug=3 rotate=90 name=flexfb speed=16000000 gpios=reset:25,dc:24

fergie4000 commented Jan 6, 2015

modprobe flexfb  width=320  height=480  regwidth=16 init=-1,0xb0,0x0,-1,0x11,-2,250,-1,0x3A,0x55,-1,0xC2,0x44,-1,0xC5,0x00,0x00,0x00,0x00,-1,0xE0,0x0F,0x1F,0x1C,0x0C,0x0F,0x08,0x48,0x98,0x37,0x0A,0x13,0x04,0x11,0x0D,0x00,-1,0xE1,0x0F,0x32,0x2E,0x0B,0x0D,0x05,0x47,0x75,0x37,0x06,0x10,0x03,0x24,0x20,0x00,-1,0xE2,0x0F,0x32,0x2E,0x0B,0x0D,0x05,0x47,0x75,0x37,0x06,0x10,0x03,0x24,0x20,0x00,-1,0x36,0x28,-1,0x11,-1,0x29,-3
modprobe fbtft_device debug=3 rotate=90 name=flexfb speed=16000000 gpios=reset:25,dc:24
@sudobrew

This comment has been minimized.

Show comment
Hide comment
@sudobrew

sudobrew Jan 6, 2015

Thank you fergie4000! That worked perfectly!

I grabbed the config.txt and cmdline.txt from the factory image and added these lines to my configs:

config.txt

gpu_mem=128

cmdline.txt

fbcon=map:1 fbcon=font:ProFont6x11

sudobrew commented Jan 6, 2015

Thank you fergie4000! That worked perfectly!

I grabbed the config.txt and cmdline.txt from the factory image and added these lines to my configs:

config.txt

gpu_mem=128

cmdline.txt

fbcon=map:1 fbcon=font:ProFont6x11
@fergie4000

This comment has been minimized.

Show comment
Hide comment
@fergie4000

fergie4000 Jan 6, 2015

Not a problem. Recently went through this trying to get the same screen working on my Raspi.

fergie4000 commented Jan 6, 2015

Not a problem. Recently went through this trying to get the same screen working on my Raspi.

@kurosov

This comment has been minimized.

Show comment
Hide comment
@kurosov

kurosov Jan 9, 2015

I now have this display running on both Raspbian and Raspbmc although often the Raspbmc display goes a bit funny. I'm trying to sort that out before i even attempt to get touch working on Raspbmc.

kurosov commented Jan 9, 2015

I now have this display running on both Raspbian and Raspbmc although often the Raspbmc display goes a bit funny. I'm trying to sort that out before i even attempt to get touch working on Raspbmc.

@drkrieger01

This comment has been minimized.

Show comment
Hide comment
@drkrieger01

drkrieger01 Jan 14, 2015

Hello folks :)
I just purchased one of these Waveshare 3.5" displays and am also having issues getting it running on my B+. I'm running Rasberian as I do not want to use the supplied image.
I tried running the commands in the shell that fergie4000 suggested, but still just get a blank white display.
Is there something else I need to do? I've run a firmware update, but I don't see the fbtft folder in my /sys/module. How do I go about getting it installed?

drkrieger01 commented Jan 14, 2015

Hello folks :)
I just purchased one of these Waveshare 3.5" displays and am also having issues getting it running on my B+. I'm running Rasberian as I do not want to use the supplied image.
I tried running the commands in the shell that fergie4000 suggested, but still just get a blank white display.
Is there something else I need to do? I've run a firmware update, but I don't see the fbtft folder in my /sys/module. How do I go about getting it installed?

@sudobrew

This comment has been minimized.

Show comment
Hide comment
@sudobrew

sudobrew Jan 14, 2015

Here are the steps that I took to get it working. The screen should start working at step 5 when you do the test.

1.Expand the filesystem

sudo raspi-config

2.Change fb0 to fb1

sudo nano /usr/share/X11/xorg.conf.d/99-fbturbo.conf

3.Enable SPI if needed

# remove or comment out the spi blacklist line
sudo nano /etc/modprobe.d/raspi-blacklist.conf

4.FBTFT drivers as loadable modules

sudo REPO_URI=https://github.com/notro/rpi-firmware rpi-update
sudo reboot

5.Test

sudo modprobe flexfb  width=320  height=480  regwidth=16 init=-1,0xb0,0x0,-1,0x11,-2,250,-1,0x3A,0x55,-1,0xC2,0x44,-1,0xC5,0x00,0x00,0x00,0x00,-1,0xE0,0x0F,0x1F,0x1C,0x0C,0x0F,0x08,0x48,0x98,0x37,0x0A,0x13,0x04,0x11,0x0D,0x00,-1,0xE1,0x0F,0x32,0x2E,0x0B,0x0D,0x05,0x47,0x75,0x37,0x06,0x10,0x03,0x24,0x20,0x00,-1,0xE2,0x0F,0x32,0x2E,0x0B,0x0D,0x05,0x47,0x75,0x37,0x06,0x10,0x03,0x24,0x20,0x00,-1,0x36,0x28,-1,0x11,-1,0x29,-3
sudo modprobe fbtft_device debug=3 rotate=90 name=flexfb speed=16000000 gpios=reset:25,dc:24

6.Perminantly add Driver

#Add to file /etc/modules
flexfb  width=320  height=480  regwidth=16 init=-1,0xb0,0x0,-1,0x11,-2,250,-1,0x3A,0x55,-1,0xC2,0x44,-1,0xC5,0x00,0x00,0x00,0x00,-1,0xE0,0x0F,0x1F,0x1C,0x0C,0x0F,0x08,0x48,0x98,0x37,0x0A,0x13,0x04,0x11,0x0D,0x00,-1,0xE1,0x0F,0x32,0x2E,0x0B,0x0D,0x05,0x47,0x75,0x37,0x06,0x10,0x03,0x24,0x20,0x00,-1,0xE2,0x0F,0x32,0x2E,0x0B,0x0D,0x05,0x47,0x75,0x37,0x06,0x10,0x03,0x24,0x20,0x00,-1,0x36,0x28,-1,0x11,-1,0x29,-3
fbtft_device debug=3 rotate=90 name=flexfb speed=16000000 gpios=reset:25,dc:24

7.Additional settings

#config.txt
gpu_mem=128
#cmdline.txt
fbcon=map:1 fbcon=font:ProFont6x11

sudobrew commented Jan 14, 2015

Here are the steps that I took to get it working. The screen should start working at step 5 when you do the test.

1.Expand the filesystem

sudo raspi-config

2.Change fb0 to fb1

sudo nano /usr/share/X11/xorg.conf.d/99-fbturbo.conf

3.Enable SPI if needed

# remove or comment out the spi blacklist line
sudo nano /etc/modprobe.d/raspi-blacklist.conf

4.FBTFT drivers as loadable modules

sudo REPO_URI=https://github.com/notro/rpi-firmware rpi-update
sudo reboot

5.Test

sudo modprobe flexfb  width=320  height=480  regwidth=16 init=-1,0xb0,0x0,-1,0x11,-2,250,-1,0x3A,0x55,-1,0xC2,0x44,-1,0xC5,0x00,0x00,0x00,0x00,-1,0xE0,0x0F,0x1F,0x1C,0x0C,0x0F,0x08,0x48,0x98,0x37,0x0A,0x13,0x04,0x11,0x0D,0x00,-1,0xE1,0x0F,0x32,0x2E,0x0B,0x0D,0x05,0x47,0x75,0x37,0x06,0x10,0x03,0x24,0x20,0x00,-1,0xE2,0x0F,0x32,0x2E,0x0B,0x0D,0x05,0x47,0x75,0x37,0x06,0x10,0x03,0x24,0x20,0x00,-1,0x36,0x28,-1,0x11,-1,0x29,-3
sudo modprobe fbtft_device debug=3 rotate=90 name=flexfb speed=16000000 gpios=reset:25,dc:24

6.Perminantly add Driver

#Add to file /etc/modules
flexfb  width=320  height=480  regwidth=16 init=-1,0xb0,0x0,-1,0x11,-2,250,-1,0x3A,0x55,-1,0xC2,0x44,-1,0xC5,0x00,0x00,0x00,0x00,-1,0xE0,0x0F,0x1F,0x1C,0x0C,0x0F,0x08,0x48,0x98,0x37,0x0A,0x13,0x04,0x11,0x0D,0x00,-1,0xE1,0x0F,0x32,0x2E,0x0B,0x0D,0x05,0x47,0x75,0x37,0x06,0x10,0x03,0x24,0x20,0x00,-1,0xE2,0x0F,0x32,0x2E,0x0B,0x0D,0x05,0x47,0x75,0x37,0x06,0x10,0x03,0x24,0x20,0x00,-1,0x36,0x28,-1,0x11,-1,0x29,-3
fbtft_device debug=3 rotate=90 name=flexfb speed=16000000 gpios=reset:25,dc:24

7.Additional settings

#config.txt
gpu_mem=128
#cmdline.txt
fbcon=map:1 fbcon=font:ProFont6x11
@drkrieger01

This comment has been minimized.

Show comment
Hide comment
@drkrieger01

drkrieger01 Jan 14, 2015

When I run the second command in step 5, I get this error:

ERROR: could not insert 'fbtft_device': Invalid argument

Any ideas?

drkrieger01 commented Jan 14, 2015

When I run the second command in step 5, I get this error:

ERROR: could not insert 'fbtft_device': Invalid argument

Any ideas?

@notro

This comment has been minimized.

Show comment
Hide comment
@notro

notro Jan 14, 2015

Owner

This will probably tell you why:

$ dmesg | tail

fbtft_device writes messages to the kernel log.

Owner

notro commented Jan 14, 2015

This will probably tell you why:

$ dmesg | tail

fbtft_device writes messages to the kernel log.

@drkrieger01

This comment has been minimized.

Show comment
Hide comment
@drkrieger01

drkrieger01 Jan 14, 2015

Sorry for delay, had to run to work.
This is what I get:
dmesg | tail
[ 26.790736] smsc95xx 1-1.1:1.0 eth0: link up, 100Mbps, full-duplex, lpa 0xCDE1
[ 30.811120] bcm2835-cpufreq: switching to governor ondemand
[ 30.811160] bcm2835-cpufreq: switching to governor ondemand
[ 35.085853] wlan0: authenticate with 6c:aa:b3:11:ac:38
[ 35.174888] wlan0: send auth to 6c:aa:b3:11:ac:38 (try 1/3)
[ 35.176448] wlan0: authenticated
[ 35.178121] wlan0: associate with 6c:aa:b3:11:ac:38 (try 1/3)
[ 35.183354] wlan0: RX AssocResp from 6c:aa:b3:11:ac:38 (capab=0x431 status=0 aid=1)
[ 35.198350] wlan0: associated
[ 35.323892] Adding 102396k swap on /var/swap. Priority:-1 extents:1 across:102396k SSFS

Also, would it matter if I was running this in a putty session? Will it still enable the screen on the unit?

drkrieger01 commented Jan 14, 2015

Sorry for delay, had to run to work.
This is what I get:
dmesg | tail
[ 26.790736] smsc95xx 1-1.1:1.0 eth0: link up, 100Mbps, full-duplex, lpa 0xCDE1
[ 30.811120] bcm2835-cpufreq: switching to governor ondemand
[ 30.811160] bcm2835-cpufreq: switching to governor ondemand
[ 35.085853] wlan0: authenticate with 6c:aa:b3:11:ac:38
[ 35.174888] wlan0: send auth to 6c:aa:b3:11:ac:38 (try 1/3)
[ 35.176448] wlan0: authenticated
[ 35.178121] wlan0: associate with 6c:aa:b3:11:ac:38 (try 1/3)
[ 35.183354] wlan0: RX AssocResp from 6c:aa:b3:11:ac:38 (capab=0x431 status=0 aid=1)
[ 35.198350] wlan0: associated
[ 35.323892] Adding 102396k swap on /var/swap. Priority:-1 extents:1 across:102396k SSFS

Also, would it matter if I was running this in a putty session? Will it still enable the screen on the unit?

@notro

This comment has been minimized.

Show comment
Hide comment
@notro

notro Jan 14, 2015

Owner

You have to load fbtft_device first (sudo modprobe ...). Then run dmesg and give me the part containing fbtft related messages (skip tail, it might drop the first messages).

Owner

notro commented Jan 14, 2015

You have to load fbtft_device first (sudo modprobe ...). Then run dmesg and give me the part containing fbtft related messages (skip tail, it might drop the first messages).

@notro

This comment has been minimized.

Show comment
Hide comment
@notro

notro Jan 14, 2015

Owner

Also, would it matter if I was running this in a putty session? Will it still enable the screen on the unit?

That works fine.

Owner

notro commented Jan 14, 2015

Also, would it matter if I was running this in a putty session? Will it still enable the screen on the unit?

That works fine.

@drkrieger01

This comment has been minimized.

Show comment
Hide comment
@drkrieger01

drkrieger01 Jan 14, 2015

For some reason my OS isn't booting anymore, I'm going to do a fresh Raspberian install to the SD card and try the steps Sudobrew has listed. I was trying them in the exact order listed, but still hung on on line two in step 5 with that error message.

drkrieger01 commented Jan 14, 2015

For some reason my OS isn't booting anymore, I'm going to do a fresh Raspberian install to the SD card and try the steps Sudobrew has listed. I was trying them in the exact order listed, but still hung on on line two in step 5 with that error message.

@drkrieger01

This comment has been minimized.

Show comment
Hide comment
@drkrieger01

drkrieger01 Jan 15, 2015

And it appears that I was running NOOBS. I'm going to reload it with Raspberian only.

drkrieger01 commented Jan 15, 2015

And it appears that I was running NOOBS. I'm going to reload it with Raspberian only.

@drkrieger01

This comment has been minimized.

Show comment
Hide comment
@drkrieger01

drkrieger01 Jan 15, 2015

Well, I have made some progress... the screen is no longer white, it is now black (backlight is on). I can see it initalize when booting up the unit, just doesn't show anything on it.

Here's a full dmesg for you. Any ideas?
Incoming wall of text:

dmesg
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Initializing cgroup subsys cpuacct
[ 0.000000] Linux version 3.12.34+ (pi@raspi2) (gcc version 4.8.3 20140106 (p rerelease) (crosstool-NG linaro-1.13.1-4.8-2014.01 - Linaro GCC 2013.11) ) #1 PR EEMPT Sun Dec 7 22:39:06 CET 2014
[ 0.000000] CPU: ARMv6-compatible processor [410fb767] revision 7 (ARMv7), cr =00c5387d
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT nonaliasing instruc tion cache
[ 0.000000] Machine: BCM2708
[ 0.000000] cma: CMA: reserved 8 MiB at 17800000
[ 0.000000] Memory policy: ECC disabled, Data cache writeback
[ 0.000000] On node 0 totalpages: 98304
[ 0.000000] free_area_init_node: node 0, pgdat c0662838, node_mem_map c071b00 0
[ 0.000000] Normal zone: 768 pages used for memmap
[ 0.000000] Normal zone: 0 pages reserved
[ 0.000000] Normal zone: 98304 pages, LIFO batch:31
[ 0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[ 0.000000] pcpu-alloc: [0] 0
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pag es: 97536
[ 0.000000] Kernel command line: dma.dmachans=0x7f35 bcm2708_fb.fbwidth=1680 bcm2708_fb.fbheight=1050 bcm2708.boardrev=0x10 bcm2708.serial=0xccdc23b4 smsc95x x.macaddr=B8:27:EB:DC:23:B4 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=0 x1ec00000 vc_mem.mem_size=0x20000000 dwc_otg.lpm_enable=0 console=ttyAMA0,11520 0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
[ 0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
[ 0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
[ 0.000000] Memory: 374204K/393216K available (4636K kernel code, 266K rwdata , 1476K rodata, 147K init, 710K bss, 19012K reserved)
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
[ 0.000000] vmalloc : 0xd8800000 - 0xff000000 ( 616 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xd8000000 ( 384 MB)
[ 0.000000] modules : 0xbf000000 - 0xc0000000 ( 16 MB)
[ 0.000000] .text : 0xc0008000 - 0xc06003d8 (6113 kB)
[ 0.000000] .init : 0xc0601000 - 0xc0625e84 ( 148 kB)
[ 0.000000] .data : 0xc0626000 - 0xc0668a38 ( 267 kB)
[ 0.000000] .bss : 0xc0668a44 - 0xc071a328 ( 711 kB)
[ 0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] Preemptible hierarchical RCU implementation.
[ 0.000000] NR_IRQS:394
[ 0.000000] sched_clock: 32 bits at 1000kHz, resolution 1000ns, wraps every 4 294967ms
[ 0.000000] Switching to timer-based delay loop
[ 0.000000] Console: colour dummy device 80x30
[ 0.000000] console [tty1] enabled
[ 0.001170] Calibrating delay loop (skipped), value calculated using timer fr equency.. 2.00 BogoMIPS (lpj=10000)
[ 0.001227] pid_max: default: 32768 minimum: 301
[ 0.001738] Mount-cache hash table entries: 512
[ 0.002577] Initializing cgroup subsys memory
[ 0.002685] Initializing cgroup subsys devices
[ 0.002723] Initializing cgroup subsys freezer
[ 0.002755] Initializing cgroup subsys blkio
[ 0.002902] CPU: Testing write buffer coherency: ok
[ 0.003349] Setting up static identity map for 0xc046b378 - 0xc046b3d4
[ 0.006608] devtmpfs: initialized
[ 0.022740] VFP support v0.3: implementor 41 architecture 1 part 20 variant b rev 5
[ 0.024323] NET: Registered protocol family 16
[ 0.029670] DMA: preallocated 4096 KiB pool for atomic coherent allocations
[ 0.030471] cpuidle: using governor ladder
[ 0.030524] cpuidle: using governor menu
[ 0.030958] bcm2708.uart_clock = 0
[ 0.032773] hw-breakpoint: found 6 breakpoint and 1 watchpoint registers.
[ 0.032828] hw-breakpoint: maximum watchpoint size is 4 bytes.
[ 0.032862] mailbox: Broadcom VideoCore Mailbox driver
[ 0.032958] bcm2708_vcio: mailbox at f200b880
[ 0.033082] bcm_power: Broadcom power driver
[ 0.033121] bcm_power_open() -> 0
[ 0.033146] bcm_power_request(0, 8)
[ 0.533872] bcm_mailbox_read -> 00000080, 0
[ 0.533915] bcm_power_request -> 0
[ 0.534175] Serial: AMBA PL011 UART driver
[ 0.534341] dev:f1: ttyAMA0 at MMIO 0x20201000 (irq = 83, base_baud = 0) is a PL011 rev3
[ 0.898896] console [ttyAMA0] enabled
[ 0.925501] bio: create slab at 0
[ 0.931181] SCSI subsystem initialized
[ 0.935150] usbcore: registered new interface driver usbfs
[ 0.940854] usbcore: registered new interface driver hub
[ 0.946415] usbcore: registered new device driver usb
[ 0.953000] Switched to clocksource stc
[ 0.957272] FS-Cache: Loaded
[ 0.960487] CacheFiles: Loaded
[ 0.976150] NET: Registered protocol family 2
[ 0.982019] TCP established hash table entries: 4096 (order: 3, 32768 bytes)
[ 0.989428] TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
[ 0.996022] TCP: Hash tables configured (established 4096 bind 4096)
[ 1.002468] TCP: reno registered
[ 1.005763] UDP hash table entries: 256 (order: 0, 4096 bytes)
[ 1.011634] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[ 1.018405] NET: Registered protocol family 1
[ 1.023403] RPC: Registered named UNIX socket transport module.
[ 1.029358] RPC: Registered udp transport module.
[ 1.034164] RPC: Registered tcp transport module.
[ 1.038887] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 1.046250] bcm2708_dma: DMA manager at f2007000
[ 1.050986] bcm2708_gpio: bcm2708_gpio_probe c0633fb0
[ 1.056552] vc-mem: phys_addr:0x00000000 mem_base=0x1ec00000 mem_size:0x20000 000(512 MiB)
[ 1.066120] audit: initializing netlink socket (disabled)
[ 1.071623] type=2000 audit(0.910:1): initialized
[ 1.247795] VFS: Disk quotas dquot_6.5.2
[ 1.252100] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[ 1.261103] FS-Cache: Netfs 'nfs' registered for caching
[ 1.268080] NFS: Registering the id_resolver key type
[ 1.273392] Key type id_resolver registered
[ 1.277600] Key type id_legacy registered
[ 1.282347] msgmni has been set to 746
[ 1.288175] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 2 52)
[ 1.296028] io scheduler noop registered
[ 1.299981] io scheduler deadline registered (default)
[ 1.305579] io scheduler cfq registered
[ 1.310677] BCM2708FB: allocated DMA memory 57c00000
[ 1.315853] BCM2708FB: allocated DMA channel 0 @ f2007000
[ 1.341664] Console: switching to colour frame buffer device 210x65
[ 1.363894] bcm2708-dmaengine bcm2708-dmaengine: Load BCM2835 DMA engine driv er
[ 1.371711] uart-pl011 dev:f1: no DMA platform data
[ 1.377419] vc-cma: Videocore CMA driver
[ 1.381449] vc-cma: vc_cma_base = 0x00000000
[ 1.386299] vc-cma: vc_cma_size = 0x00000000 (0 MiB)
[ 1.391790] vc-cma: vc_cma_initial = 0x00000000 (0 MiB)
[ 1.407083] brd: module loaded
[ 1.415620] loop: module loaded
[ 1.419203] vchiq: vchiq_init_state: slot_zero = 0xd7800000, is_master = 0
[ 1.427435] Loading iSCSI transport class v2.0-870.
[ 1.433580] CAN device driver interface
[ 1.437863] usbcore: registered new interface driver smsc95xx
[ 1.443900] dwc_otg: version 3.00a 10-AUG-2012 (platform bus)
[ 1.649950] Core Release: 2.80a
[ 1.653274] Setting default values for core params
[ 1.658190] Finished setting default values for core params
[ 1.864002] Using Buffer DMA mode
[ 1.867405] Periodic Transfer Interrupt Enhancement - disabled
[ 1.873381] Multiprocessor Interrupt Enhancement - disabled
[ 1.879060] OTG VER PARAM: 0, OTG VER FLAG: 0
[ 1.883534] Dedicated Tx FIFOs mode
[ 1.887511] WARN::dwc_otg_hcd_init:1042: FIQ DMA bounce buffers: virt = 0xd7c 14000 dma = 0x57c14000 len=9024
[ 1.897586] FIQ FSM acceleration enabled for :
[ 1.897586] Non-periodic Split Transactions
[ 1.897586] Periodic Split Transactions
[ 1.897586] High-Speed Isochronous Endpoints
[ 1.914666] dwc_otg: Microframe scheduler enabled
[ 1.914762] WARN::hcd_init:473: FIQ at 0xc033be4c
[ 1.919568] WARN::hcd_init:474: FIQ ASM at 0xc033c0fc length 36
[ 1.925644] WARN::hcd_init:500: MPHI regs_base at 0xd8806000
[ 1.931425] dwc_otg bcm2708_usb: DWC OTG Controller
[ 1.940998] dwc_otg bcm2708_usb: new USB bus registered, assigned bus number 1
[ 1.952884] dwc_otg bcm2708_usb: irq 32, io mem 0x00000000
[ 1.962927] Init: Port Power? op_state=1
[ 1.971364] Init: Power Port (0)
[ 1.979401] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[ 1.990792] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber= 1
[ 2.002593] usb usb1: Product: DWC OTG Controller
[ 2.011861] usb usb1: Manufacturer: Linux 3.12.34+ dwc_otg_hcd
[ 2.022301] usb usb1: SerialNumber: bcm2708_usb
[ 2.032292] hub 1-0:1.0: USB hub found
[ 2.040834] hub 1-0:1.0: 1 port detected
[ 2.049919] dwc_otg: FIQ enabled
[ 2.049943] dwc_otg: NAK holdoff enabled
[ 2.049955] dwc_otg: FIQ split-transaction FSM enabled
[ 2.049974] Module dwc_common_port init
[ 2.050445] usbcore: registered new interface driver usb-storage
[ 2.061562] mousedev: PS/2 mouse device common for all mice
[ 2.072475] bcm2835-cpufreq: min=700000 max=700000 cur=700000
[ 2.083095] bcm2835-cpufreq: switching to governor powersave
[ 2.093296] bcm2835-cpufreq: switching to governor powersave
[ 2.103493] sdhci: Secure Digital Host Controller Interface driver
[ 2.114198] sdhci: Copyright(c) Pierre Ossman
[ 2.123284] DMA channels allocated for the MMC driver
[ 2.163080] Load BCM2835 MMC driver
[ 2.175877] sdhci-pltfm: SDHCI platform and OF driver helper
[ 2.186268] ledtrig-cpu: registered to indicate activity on CPUs
[ 2.198032] hidraw: raw HID events driver (C) Jiri Kosina
[ 2.213562] usbcore: registered new interface driver usbhid
[ 2.223769] usbhid: USB HID core driver
[ 2.236856] TCP: cubic registered
[ 2.246988] Indeed it is in host mode hprt0 = 00021501
[ 2.258788] Initializing XFRM netlink socket
[ 2.269218] NET: Registered protocol family 17
[ 2.293080] can: controller area network core (rev 20120528 abi 9)
[ 2.311796] mmc0: host does not support reading read-only switch. assuming wr ite-enable.
[ 2.324660] NET: Registered protocol family 29
[ 2.343043] can: netlink gateway (rev 20130117) max_hops=1
[ 2.355239] mmc0: new high speed SDHC card at address 0007
[ 2.373246] Key type dns_resolver registered
[ 2.393693] mmcblk0: mmc0:0007 SD16G 14.9 GiB
[ 2.403676] registered taskstats version 1
[ 2.412431] vc-sm: Videocore shared memory driver
[ 2.429613] [vc_sm_connected_init]: start
[ 2.438622] mmcblk0: p1 p2
[ 2.447281] [vc_sm_connected_init]: end - returning 0
[ 2.543158] usb 1-1: new high-speed USB device number 2 using dwc_otg
[ 2.554589] Indeed it is in host mode hprt0 = 00001101
[ 2.763430] usb 1-1: New USB device found, idVendor=0424, idProduct=9514
[ 2.774935] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[ 2.787715] hub 1-1:1.0: USB hub found
[ 2.796388] hub 1-1:1.0: 5 ports detected
[ 3.083183] usb 1-1.1: new high-speed USB device number 3 using dwc_otg
[ 3.166085] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. O pts: (null)
[ 3.179402] VFS: Mounted root (ext4 filesystem) on device 179:2.
[ 3.191637] devtmpfs: mounted
[ 3.199835] usb 1-1.1: New USB device found, idVendor=0424, idProduct=ec00
[ 3.211921] Freeing unused kernel memory: 144K (c0601000 - c0625000)
[ 3.222993] usb 1-1.1: New USB device strings: Mfr=0, Product=0, SerialNumber =0
[ 3.238494] smsc95xx v1.0.4
[ 3.306834] smsc95xx 1-1.1:1.0 eth0: register 'smsc95xx' at usb-bcm2708_usb-1 .1, smsc95xx USB 2.0 Ethernet, b8:27:eb:dc:23:b4
[ 3.403182] usb 1-1.3: new low-speed USB device number 4 using dwc_otg
[ 3.637528] usb 1-1.3: New USB device found, idVendor=04f2, idProduct=0408
[ 3.649414] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber =0
[ 3.661676] usb 1-1.3: Product: USB Keyboard
[ 3.670857] usb 1-1.3: Manufacturer: Chicony
[ 3.738585] input: Chicony USB Keyboard as /devices/platform/bcm2708_usb/usb1 /1-1/1-1.3/1-1.3:1.0/input/input0
[ 3.754320] hid-generic 0003:04F2:0408.0001: input,hidraw0: USB HID v1.11 Key board [Chicony USB Keyboard] on usb-bcm2708_usb-1.3/input0
[ 3.912298] input: Chicony USB Keyboard as /devices/platform/bcm2708_usb/usb1 /1-1/1-1.3/1-1.3:1.1/input/input1
[ 3.929274] hid-generic 0003:04F2:0408.0002: input,hiddev0,hidraw1: USB HID v 1.11 Device [Chicony USB Keyboard] on usb-bcm2708_usb-1.3/input1
[ 5.645422] udevd[159]: starting version 175
[ 6.645977] bcm2708_i2c_init_pinmode(1,2)
[ 6.856473] bcm2708_i2c_init_pinmode(1,3)
[ 6.973615] bcm2708_i2c bcm2708_i2c.1: BSC1 Controller at 0x20804000 (irq 79) (baudrate 100000)
[ 7.238687] bcm2708_spi bcm2708_spi.0: DMA channel 2 at address 0xf2007200 wi th irq 77
[ 7.375886] bcm2708_spi bcm2708_spi.0: DMA channel 4 at address 0xf2007400 wi th irq 20
[ 7.534215] bcm2708_spi bcm2708_spi.0: SPI Controller at 0x20204000 (irq 80)
[ 7.693205] bcm2708_spi bcm2708_spi.0: SPI Controller running in dma mode
[ 9.105772] pcm512x 1-004d: Failed to reset device: -5
[ 9.251016] pcm512x: probe of 1-004d failed with error -5
[ 9.312524] pcm512x 1-004c: Failed to reset device: -5
[ 9.392528] pcm512x: probe of 1-004c failed with error -5
[ 16.723421] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
[ 18.294735] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
[ 19.396145] fbtft_device: SPI devices registered:
[ 19.406732] fbtft_device: spidev spi0.0 500kHz 8 bits mode=0x00
[ 19.418842] fbtft_device: spidev spi0.1 500kHz 8 bits mode=0x00
[ 19.430762] fbtft_device: 'fb' Platform devices registered:
[ 19.441991] fbtft_device: bcm2708_fb id=-1 pdata? no
[ 19.453086] fbtft_device: Deleting spi0.0
[ 19.466341] flexfb spi0.0: fbtft_request_gpios: 'reset' = GPIO25
[ 19.493306] flexfb spi0.0: fbtft_request_gpios: 'dc' = GPIO24
[ 19.510556] flexfb spi0.0: flexfb_verify_gpios_dc()
[ 19.521086] flexfb spi0.0: fbtft_init_display()
[ 19.531236] flexfb spi0.0: fbtft_reset()
[ 19.660639] flexfb spi0.0: init: write(0xB0) 0x00
[ 19.670932] flexfb spi0.0: init: write(0x11)
[ 19.680658] flexfb spi0.0: init: mdelay(250)
[ 19.999647] flexfb spi0.0: init: write(0x3A) 0x55
[ 20.009899] flexfb spi0.0: init: write(0xC2) 0x44
[ 20.020022] flexfb spi0.0: init: write(0xC5) 0x00 0x00 0x00 0x00
[ 20.031411] flexfb spi0.0: init: write(0xE0) 0x0F 0x1F 0x1C 0x0C 0x0F 0x08 0x 48 0x98 0x37 0x0A 0x13 0x04 0x11 0x0D 0x00
[ 20.047623] flexfb spi0.0: init: write(0xE1) 0x0F 0x32 0x2E 0x0B 0x0D 0x05 0x 47 0x75 0x37 0x06 0x10 0x03 0x24 0x20 0x00
[ 20.063735] flexfb spi0.0: init: write(0xE2) 0x0F 0x32 0x2E 0x0B 0x0D 0x05 0x 47 0x75 0x37 0x06 0x10 0x03 0x24 0x20 0x00
[ 20.079736] flexfb spi0.0: init: write(0x36) 0x28
[ 20.089544] flexfb spi0.0: init: write(0x11)
[ 20.098871] flexfb spi0.0: init: write(0x29)
[ 20.274898] flexfb spi0.0: Display update: 1797 kB/s (166.776 ms), fps=0 (0.0 00 ms)
[ 20.287578] flexfb spi0.0: fbtft_register_backlight()
[ 20.297442] flexfb spi0.0: fbtft_register_backlight(): led pin not set, exiti ng.
[ 20.313300] graphics fb1: flexfb frame buffer, 480x320, 300 KiB video memory, 4 KiB DMA buffer memory, fps=20, spi0.0 at 16 MHz
[ 20.332073] fbtft_device: GPIOS used by 'flexfb':
[ 20.341789] fbtft_device: 'reset' = GPIO25
[ 20.350804] fbtft_device: 'dc' = GPIO24
[ 20.359415] fbtft_device: SPI devices registered:
[ 20.368687] fbtft_device: spidev spi0.1 500kHz 8 bits mode=0x00
[ 20.379425] fbtft_device: flexfb spi0.0 16000kHz 8 bits mode=0x00
[ 26.664730] FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
[ 30.326184] smsc95xx 1-1.1:1.0 eth0: hardware isn't capable of remote wakeup
[ 31.906097] smsc95xx 1-1.1:1.0 eth0: link up, 100Mbps, full-duplex, lpa 0xCDE 1
[ 36.917500] Adding 102396k swap on /var/swap. Priority:-1 extents:2 across:2 134012k SSFS

drkrieger01 commented Jan 15, 2015

Well, I have made some progress... the screen is no longer white, it is now black (backlight is on). I can see it initalize when booting up the unit, just doesn't show anything on it.

Here's a full dmesg for you. Any ideas?
Incoming wall of text:

dmesg
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Initializing cgroup subsys cpuacct
[ 0.000000] Linux version 3.12.34+ (pi@raspi2) (gcc version 4.8.3 20140106 (p rerelease) (crosstool-NG linaro-1.13.1-4.8-2014.01 - Linaro GCC 2013.11) ) #1 PR EEMPT Sun Dec 7 22:39:06 CET 2014
[ 0.000000] CPU: ARMv6-compatible processor [410fb767] revision 7 (ARMv7), cr =00c5387d
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT nonaliasing instruc tion cache
[ 0.000000] Machine: BCM2708
[ 0.000000] cma: CMA: reserved 8 MiB at 17800000
[ 0.000000] Memory policy: ECC disabled, Data cache writeback
[ 0.000000] On node 0 totalpages: 98304
[ 0.000000] free_area_init_node: node 0, pgdat c0662838, node_mem_map c071b00 0
[ 0.000000] Normal zone: 768 pages used for memmap
[ 0.000000] Normal zone: 0 pages reserved
[ 0.000000] Normal zone: 98304 pages, LIFO batch:31
[ 0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[ 0.000000] pcpu-alloc: [0] 0
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pag es: 97536
[ 0.000000] Kernel command line: dma.dmachans=0x7f35 bcm2708_fb.fbwidth=1680 bcm2708_fb.fbheight=1050 bcm2708.boardrev=0x10 bcm2708.serial=0xccdc23b4 smsc95x x.macaddr=B8:27:EB:DC:23:B4 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=0 x1ec00000 vc_mem.mem_size=0x20000000 dwc_otg.lpm_enable=0 console=ttyAMA0,11520 0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
[ 0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
[ 0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
[ 0.000000] Memory: 374204K/393216K available (4636K kernel code, 266K rwdata , 1476K rodata, 147K init, 710K bss, 19012K reserved)
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
[ 0.000000] vmalloc : 0xd8800000 - 0xff000000 ( 616 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xd8000000 ( 384 MB)
[ 0.000000] modules : 0xbf000000 - 0xc0000000 ( 16 MB)
[ 0.000000] .text : 0xc0008000 - 0xc06003d8 (6113 kB)
[ 0.000000] .init : 0xc0601000 - 0xc0625e84 ( 148 kB)
[ 0.000000] .data : 0xc0626000 - 0xc0668a38 ( 267 kB)
[ 0.000000] .bss : 0xc0668a44 - 0xc071a328 ( 711 kB)
[ 0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] Preemptible hierarchical RCU implementation.
[ 0.000000] NR_IRQS:394
[ 0.000000] sched_clock: 32 bits at 1000kHz, resolution 1000ns, wraps every 4 294967ms
[ 0.000000] Switching to timer-based delay loop
[ 0.000000] Console: colour dummy device 80x30
[ 0.000000] console [tty1] enabled
[ 0.001170] Calibrating delay loop (skipped), value calculated using timer fr equency.. 2.00 BogoMIPS (lpj=10000)
[ 0.001227] pid_max: default: 32768 minimum: 301
[ 0.001738] Mount-cache hash table entries: 512
[ 0.002577] Initializing cgroup subsys memory
[ 0.002685] Initializing cgroup subsys devices
[ 0.002723] Initializing cgroup subsys freezer
[ 0.002755] Initializing cgroup subsys blkio
[ 0.002902] CPU: Testing write buffer coherency: ok
[ 0.003349] Setting up static identity map for 0xc046b378 - 0xc046b3d4
[ 0.006608] devtmpfs: initialized
[ 0.022740] VFP support v0.3: implementor 41 architecture 1 part 20 variant b rev 5
[ 0.024323] NET: Registered protocol family 16
[ 0.029670] DMA: preallocated 4096 KiB pool for atomic coherent allocations
[ 0.030471] cpuidle: using governor ladder
[ 0.030524] cpuidle: using governor menu
[ 0.030958] bcm2708.uart_clock = 0
[ 0.032773] hw-breakpoint: found 6 breakpoint and 1 watchpoint registers.
[ 0.032828] hw-breakpoint: maximum watchpoint size is 4 bytes.
[ 0.032862] mailbox: Broadcom VideoCore Mailbox driver
[ 0.032958] bcm2708_vcio: mailbox at f200b880
[ 0.033082] bcm_power: Broadcom power driver
[ 0.033121] bcm_power_open() -> 0
[ 0.033146] bcm_power_request(0, 8)
[ 0.533872] bcm_mailbox_read -> 00000080, 0
[ 0.533915] bcm_power_request -> 0
[ 0.534175] Serial: AMBA PL011 UART driver
[ 0.534341] dev:f1: ttyAMA0 at MMIO 0x20201000 (irq = 83, base_baud = 0) is a PL011 rev3
[ 0.898896] console [ttyAMA0] enabled
[ 0.925501] bio: create slab at 0
[ 0.931181] SCSI subsystem initialized
[ 0.935150] usbcore: registered new interface driver usbfs
[ 0.940854] usbcore: registered new interface driver hub
[ 0.946415] usbcore: registered new device driver usb
[ 0.953000] Switched to clocksource stc
[ 0.957272] FS-Cache: Loaded
[ 0.960487] CacheFiles: Loaded
[ 0.976150] NET: Registered protocol family 2
[ 0.982019] TCP established hash table entries: 4096 (order: 3, 32768 bytes)
[ 0.989428] TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
[ 0.996022] TCP: Hash tables configured (established 4096 bind 4096)
[ 1.002468] TCP: reno registered
[ 1.005763] UDP hash table entries: 256 (order: 0, 4096 bytes)
[ 1.011634] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[ 1.018405] NET: Registered protocol family 1
[ 1.023403] RPC: Registered named UNIX socket transport module.
[ 1.029358] RPC: Registered udp transport module.
[ 1.034164] RPC: Registered tcp transport module.
[ 1.038887] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 1.046250] bcm2708_dma: DMA manager at f2007000
[ 1.050986] bcm2708_gpio: bcm2708_gpio_probe c0633fb0
[ 1.056552] vc-mem: phys_addr:0x00000000 mem_base=0x1ec00000 mem_size:0x20000 000(512 MiB)
[ 1.066120] audit: initializing netlink socket (disabled)
[ 1.071623] type=2000 audit(0.910:1): initialized
[ 1.247795] VFS: Disk quotas dquot_6.5.2
[ 1.252100] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[ 1.261103] FS-Cache: Netfs 'nfs' registered for caching
[ 1.268080] NFS: Registering the id_resolver key type
[ 1.273392] Key type id_resolver registered
[ 1.277600] Key type id_legacy registered
[ 1.282347] msgmni has been set to 746
[ 1.288175] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 2 52)
[ 1.296028] io scheduler noop registered
[ 1.299981] io scheduler deadline registered (default)
[ 1.305579] io scheduler cfq registered
[ 1.310677] BCM2708FB: allocated DMA memory 57c00000
[ 1.315853] BCM2708FB: allocated DMA channel 0 @ f2007000
[ 1.341664] Console: switching to colour frame buffer device 210x65
[ 1.363894] bcm2708-dmaengine bcm2708-dmaengine: Load BCM2835 DMA engine driv er
[ 1.371711] uart-pl011 dev:f1: no DMA platform data
[ 1.377419] vc-cma: Videocore CMA driver
[ 1.381449] vc-cma: vc_cma_base = 0x00000000
[ 1.386299] vc-cma: vc_cma_size = 0x00000000 (0 MiB)
[ 1.391790] vc-cma: vc_cma_initial = 0x00000000 (0 MiB)
[ 1.407083] brd: module loaded
[ 1.415620] loop: module loaded
[ 1.419203] vchiq: vchiq_init_state: slot_zero = 0xd7800000, is_master = 0
[ 1.427435] Loading iSCSI transport class v2.0-870.
[ 1.433580] CAN device driver interface
[ 1.437863] usbcore: registered new interface driver smsc95xx
[ 1.443900] dwc_otg: version 3.00a 10-AUG-2012 (platform bus)
[ 1.649950] Core Release: 2.80a
[ 1.653274] Setting default values for core params
[ 1.658190] Finished setting default values for core params
[ 1.864002] Using Buffer DMA mode
[ 1.867405] Periodic Transfer Interrupt Enhancement - disabled
[ 1.873381] Multiprocessor Interrupt Enhancement - disabled
[ 1.879060] OTG VER PARAM: 0, OTG VER FLAG: 0
[ 1.883534] Dedicated Tx FIFOs mode
[ 1.887511] WARN::dwc_otg_hcd_init:1042: FIQ DMA bounce buffers: virt = 0xd7c 14000 dma = 0x57c14000 len=9024
[ 1.897586] FIQ FSM acceleration enabled for :
[ 1.897586] Non-periodic Split Transactions
[ 1.897586] Periodic Split Transactions
[ 1.897586] High-Speed Isochronous Endpoints
[ 1.914666] dwc_otg: Microframe scheduler enabled
[ 1.914762] WARN::hcd_init:473: FIQ at 0xc033be4c
[ 1.919568] WARN::hcd_init:474: FIQ ASM at 0xc033c0fc length 36
[ 1.925644] WARN::hcd_init:500: MPHI regs_base at 0xd8806000
[ 1.931425] dwc_otg bcm2708_usb: DWC OTG Controller
[ 1.940998] dwc_otg bcm2708_usb: new USB bus registered, assigned bus number 1
[ 1.952884] dwc_otg bcm2708_usb: irq 32, io mem 0x00000000
[ 1.962927] Init: Port Power? op_state=1
[ 1.971364] Init: Power Port (0)
[ 1.979401] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[ 1.990792] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber= 1
[ 2.002593] usb usb1: Product: DWC OTG Controller
[ 2.011861] usb usb1: Manufacturer: Linux 3.12.34+ dwc_otg_hcd
[ 2.022301] usb usb1: SerialNumber: bcm2708_usb
[ 2.032292] hub 1-0:1.0: USB hub found
[ 2.040834] hub 1-0:1.0: 1 port detected
[ 2.049919] dwc_otg: FIQ enabled
[ 2.049943] dwc_otg: NAK holdoff enabled
[ 2.049955] dwc_otg: FIQ split-transaction FSM enabled
[ 2.049974] Module dwc_common_port init
[ 2.050445] usbcore: registered new interface driver usb-storage
[ 2.061562] mousedev: PS/2 mouse device common for all mice
[ 2.072475] bcm2835-cpufreq: min=700000 max=700000 cur=700000
[ 2.083095] bcm2835-cpufreq: switching to governor powersave
[ 2.093296] bcm2835-cpufreq: switching to governor powersave
[ 2.103493] sdhci: Secure Digital Host Controller Interface driver
[ 2.114198] sdhci: Copyright(c) Pierre Ossman
[ 2.123284] DMA channels allocated for the MMC driver
[ 2.163080] Load BCM2835 MMC driver
[ 2.175877] sdhci-pltfm: SDHCI platform and OF driver helper
[ 2.186268] ledtrig-cpu: registered to indicate activity on CPUs
[ 2.198032] hidraw: raw HID events driver (C) Jiri Kosina
[ 2.213562] usbcore: registered new interface driver usbhid
[ 2.223769] usbhid: USB HID core driver
[ 2.236856] TCP: cubic registered
[ 2.246988] Indeed it is in host mode hprt0 = 00021501
[ 2.258788] Initializing XFRM netlink socket
[ 2.269218] NET: Registered protocol family 17
[ 2.293080] can: controller area network core (rev 20120528 abi 9)
[ 2.311796] mmc0: host does not support reading read-only switch. assuming wr ite-enable.
[ 2.324660] NET: Registered protocol family 29
[ 2.343043] can: netlink gateway (rev 20130117) max_hops=1
[ 2.355239] mmc0: new high speed SDHC card at address 0007
[ 2.373246] Key type dns_resolver registered
[ 2.393693] mmcblk0: mmc0:0007 SD16G 14.9 GiB
[ 2.403676] registered taskstats version 1
[ 2.412431] vc-sm: Videocore shared memory driver
[ 2.429613] [vc_sm_connected_init]: start
[ 2.438622] mmcblk0: p1 p2
[ 2.447281] [vc_sm_connected_init]: end - returning 0
[ 2.543158] usb 1-1: new high-speed USB device number 2 using dwc_otg
[ 2.554589] Indeed it is in host mode hprt0 = 00001101
[ 2.763430] usb 1-1: New USB device found, idVendor=0424, idProduct=9514
[ 2.774935] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[ 2.787715] hub 1-1:1.0: USB hub found
[ 2.796388] hub 1-1:1.0: 5 ports detected
[ 3.083183] usb 1-1.1: new high-speed USB device number 3 using dwc_otg
[ 3.166085] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. O pts: (null)
[ 3.179402] VFS: Mounted root (ext4 filesystem) on device 179:2.
[ 3.191637] devtmpfs: mounted
[ 3.199835] usb 1-1.1: New USB device found, idVendor=0424, idProduct=ec00
[ 3.211921] Freeing unused kernel memory: 144K (c0601000 - c0625000)
[ 3.222993] usb 1-1.1: New USB device strings: Mfr=0, Product=0, SerialNumber =0
[ 3.238494] smsc95xx v1.0.4
[ 3.306834] smsc95xx 1-1.1:1.0 eth0: register 'smsc95xx' at usb-bcm2708_usb-1 .1, smsc95xx USB 2.0 Ethernet, b8:27:eb:dc:23:b4
[ 3.403182] usb 1-1.3: new low-speed USB device number 4 using dwc_otg
[ 3.637528] usb 1-1.3: New USB device found, idVendor=04f2, idProduct=0408
[ 3.649414] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber =0
[ 3.661676] usb 1-1.3: Product: USB Keyboard
[ 3.670857] usb 1-1.3: Manufacturer: Chicony
[ 3.738585] input: Chicony USB Keyboard as /devices/platform/bcm2708_usb/usb1 /1-1/1-1.3/1-1.3:1.0/input/input0
[ 3.754320] hid-generic 0003:04F2:0408.0001: input,hidraw0: USB HID v1.11 Key board [Chicony USB Keyboard] on usb-bcm2708_usb-1.3/input0
[ 3.912298] input: Chicony USB Keyboard as /devices/platform/bcm2708_usb/usb1 /1-1/1-1.3/1-1.3:1.1/input/input1
[ 3.929274] hid-generic 0003:04F2:0408.0002: input,hiddev0,hidraw1: USB HID v 1.11 Device [Chicony USB Keyboard] on usb-bcm2708_usb-1.3/input1
[ 5.645422] udevd[159]: starting version 175
[ 6.645977] bcm2708_i2c_init_pinmode(1,2)
[ 6.856473] bcm2708_i2c_init_pinmode(1,3)
[ 6.973615] bcm2708_i2c bcm2708_i2c.1: BSC1 Controller at 0x20804000 (irq 79) (baudrate 100000)
[ 7.238687] bcm2708_spi bcm2708_spi.0: DMA channel 2 at address 0xf2007200 wi th irq 77
[ 7.375886] bcm2708_spi bcm2708_spi.0: DMA channel 4 at address 0xf2007400 wi th irq 20
[ 7.534215] bcm2708_spi bcm2708_spi.0: SPI Controller at 0x20204000 (irq 80)
[ 7.693205] bcm2708_spi bcm2708_spi.0: SPI Controller running in dma mode
[ 9.105772] pcm512x 1-004d: Failed to reset device: -5
[ 9.251016] pcm512x: probe of 1-004d failed with error -5
[ 9.312524] pcm512x 1-004c: Failed to reset device: -5
[ 9.392528] pcm512x: probe of 1-004c failed with error -5
[ 16.723421] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
[ 18.294735] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
[ 19.396145] fbtft_device: SPI devices registered:
[ 19.406732] fbtft_device: spidev spi0.0 500kHz 8 bits mode=0x00
[ 19.418842] fbtft_device: spidev spi0.1 500kHz 8 bits mode=0x00
[ 19.430762] fbtft_device: 'fb' Platform devices registered:
[ 19.441991] fbtft_device: bcm2708_fb id=-1 pdata? no
[ 19.453086] fbtft_device: Deleting spi0.0
[ 19.466341] flexfb spi0.0: fbtft_request_gpios: 'reset' = GPIO25
[ 19.493306] flexfb spi0.0: fbtft_request_gpios: 'dc' = GPIO24
[ 19.510556] flexfb spi0.0: flexfb_verify_gpios_dc()
[ 19.521086] flexfb spi0.0: fbtft_init_display()
[ 19.531236] flexfb spi0.0: fbtft_reset()
[ 19.660639] flexfb spi0.0: init: write(0xB0) 0x00
[ 19.670932] flexfb spi0.0: init: write(0x11)
[ 19.680658] flexfb spi0.0: init: mdelay(250)
[ 19.999647] flexfb spi0.0: init: write(0x3A) 0x55
[ 20.009899] flexfb spi0.0: init: write(0xC2) 0x44
[ 20.020022] flexfb spi0.0: init: write(0xC5) 0x00 0x00 0x00 0x00
[ 20.031411] flexfb spi0.0: init: write(0xE0) 0x0F 0x1F 0x1C 0x0C 0x0F 0x08 0x 48 0x98 0x37 0x0A 0x13 0x04 0x11 0x0D 0x00
[ 20.047623] flexfb spi0.0: init: write(0xE1) 0x0F 0x32 0x2E 0x0B 0x0D 0x05 0x 47 0x75 0x37 0x06 0x10 0x03 0x24 0x20 0x00
[ 20.063735] flexfb spi0.0: init: write(0xE2) 0x0F 0x32 0x2E 0x0B 0x0D 0x05 0x 47 0x75 0x37 0x06 0x10 0x03 0x24 0x20 0x00
[ 20.079736] flexfb spi0.0: init: write(0x36) 0x28
[ 20.089544] flexfb spi0.0: init: write(0x11)
[ 20.098871] flexfb spi0.0: init: write(0x29)
[ 20.274898] flexfb spi0.0: Display update: 1797 kB/s (166.776 ms), fps=0 (0.0 00 ms)
[ 20.287578] flexfb spi0.0: fbtft_register_backlight()
[ 20.297442] flexfb spi0.0: fbtft_register_backlight(): led pin not set, exiti ng.
[ 20.313300] graphics fb1: flexfb frame buffer, 480x320, 300 KiB video memory, 4 KiB DMA buffer memory, fps=20, spi0.0 at 16 MHz
[ 20.332073] fbtft_device: GPIOS used by 'flexfb':
[ 20.341789] fbtft_device: 'reset' = GPIO25
[ 20.350804] fbtft_device: 'dc' = GPIO24
[ 20.359415] fbtft_device: SPI devices registered:
[ 20.368687] fbtft_device: spidev spi0.1 500kHz 8 bits mode=0x00
[ 20.379425] fbtft_device: flexfb spi0.0 16000kHz 8 bits mode=0x00
[ 26.664730] FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
[ 30.326184] smsc95xx 1-1.1:1.0 eth0: hardware isn't capable of remote wakeup
[ 31.906097] smsc95xx 1-1.1:1.0 eth0: link up, 100Mbps, full-duplex, lpa 0xCDE 1
[ 36.917500] Adding 102396k swap on /var/swap. Priority:-1 extents:2 across:2 134012k SSFS

@drkrieger01

This comment has been minimized.

Show comment
Hide comment
@drkrieger01

drkrieger01 Jan 15, 2015

Update: So, the GUI works (if I run startx). But no display while outside of the gui.

Is there any way to display the system when not in gui?

drkrieger01 commented Jan 15, 2015

Update: So, the GUI works (if I run startx). But no display while outside of the gui.

Is there any way to display the system when not in gui?

@drkrieger01

This comment has been minimized.

Show comment
Hide comment
@drkrieger01

drkrieger01 Jan 15, 2015

Also, no touchscreen function. I know it uses the XPT2046 touch controller

drkrieger01 commented Jan 15, 2015

Also, no touchscreen function. I know it uses the XPT2046 touch controller

@notro

This comment has been minimized.

Show comment
Hide comment
@notro

notro Jan 15, 2015

Owner

Console
Move console 1 to framebuffer 1: con2fbmap 1 1
Permanent: https://github.com/notro/fbtft/wiki/Boot-console#enable-console

Touch
Example for a display with the same controller:

sudo modprobe ads7846_device model=7846 cs=1 speed=2000000 gpio_pendown=25 pressure_max=255 x_plate_ohms=60

https://github.com/notro/fbtft_tools/wiki/ads7846_device
https://github.com/notro/fbtft/wiki/Touchpanel

Owner

notro commented Jan 15, 2015

Console
Move console 1 to framebuffer 1: con2fbmap 1 1
Permanent: https://github.com/notro/fbtft/wiki/Boot-console#enable-console

Touch
Example for a display with the same controller:

sudo modprobe ads7846_device model=7846 cs=1 speed=2000000 gpio_pendown=25 pressure_max=255 x_plate_ohms=60

https://github.com/notro/fbtft_tools/wiki/ads7846_device
https://github.com/notro/fbtft/wiki/Touchpanel

@drkrieger01

This comment has been minimized.

Show comment
Hide comment
@drkrieger01

drkrieger01 Jan 15, 2015

Great! Thank you very much for the help Notro and Sudobrew!

drkrieger01 commented Jan 15, 2015

Great! Thank you very much for the help Notro and Sudobrew!

@pykoon

This comment has been minimized.

Show comment
Hide comment
@pykoon

pykoon Jan 21, 2015

Thank you for your help, I have the same Waveshare 3.5 Spotpear screen and I have 2 questions :

  • How do you set the touch exactly with this display (3.5" 320x480)? I can't do it, I really need you help.
  • How can I rotate my X11 session to 270°?
    I tried to change rotate and width/height and nothing to do, X11 is already in the same orientation.
    I change it in modprobe command :
    modprobe fbtft_device custom name=fb_ili9341 speed=48000000 gpios=dc:18,reset:22 bgr=1 rotate=270 width=480 height=320

I have no xorg.config file, I think I have to modify xorg file but where is it in the last raspbian?

Please, help me...

pykoon commented Jan 21, 2015

Thank you for your help, I have the same Waveshare 3.5 Spotpear screen and I have 2 questions :

  • How do you set the touch exactly with this display (3.5" 320x480)? I can't do it, I really need you help.
  • How can I rotate my X11 session to 270°?
    I tried to change rotate and width/height and nothing to do, X11 is already in the same orientation.
    I change it in modprobe command :
    modprobe fbtft_device custom name=fb_ili9341 speed=48000000 gpios=dc:18,reset:22 bgr=1 rotate=270 width=480 height=320

I have no xorg.config file, I think I have to modify xorg file but where is it in the last raspbian?

Please, help me...

@pykoon

This comment has been minimized.

Show comment
Hide comment
@pykoon

pykoon Jan 24, 2015

I really need your help. I can't rotate my screen and I don't know how do it.
My /etc/modules is like this (same on the top af this thread) :

flexfb  width=320  height=480  regwidth=16 init=-1,0xb0,0x0,-1,0x11,-2,250,-1,0x3A,0x55,-1,0xC2,0x44,-1,0xC5,0x00,0x00,0x00,0x00,-1,0xE0,0x0F,0x1F,0x1C,0x0C,0x0F,0x08,0x48,0x98,0x37,0x0A,0x13,0x04,0x11,0x0D,0x00,-1,0xE1,0x0F,0x32,0x2E,0x0B,0x0D,0x05,0x47,0x75,0x37,0x06,0x10,0x03,0x24,0x20,0x00,-1,0xE2,0x0F,0x32,0x2E,0x0B,0x0D,0x05,0x47,0x75,0x37,0x06,0x10,0x03,0x24,0x20,0x00,-1,0x36,0x28,-1,0x11,-1,0x29,-3

fbtft_device debug=3 rotate=90 name=flexfb speed=16000000 gpios=reset:25,dc:24

When I try to change rotate to rotate=180 or 270 I can see that something change on my screen if width and height don't change but each time, X11 is load in the same direction.

Please help me, please...

Notro, you made an raspian image for other screen. Do you have one for this screen ?

pykoon commented Jan 24, 2015

I really need your help. I can't rotate my screen and I don't know how do it.
My /etc/modules is like this (same on the top af this thread) :

flexfb  width=320  height=480  regwidth=16 init=-1,0xb0,0x0,-1,0x11,-2,250,-1,0x3A,0x55,-1,0xC2,0x44,-1,0xC5,0x00,0x00,0x00,0x00,-1,0xE0,0x0F,0x1F,0x1C,0x0C,0x0F,0x08,0x48,0x98,0x37,0x0A,0x13,0x04,0x11,0x0D,0x00,-1,0xE1,0x0F,0x32,0x2E,0x0B,0x0D,0x05,0x47,0x75,0x37,0x06,0x10,0x03,0x24,0x20,0x00,-1,0xE2,0x0F,0x32,0x2E,0x0B,0x0D,0x05,0x47,0x75,0x37,0x06,0x10,0x03,0x24,0x20,0x00,-1,0x36,0x28,-1,0x11,-1,0x29,-3

fbtft_device debug=3 rotate=90 name=flexfb speed=16000000 gpios=reset:25,dc:24

When I try to change rotate to rotate=180 or 270 I can see that something change on my screen if width and height don't change but each time, X11 is load in the same direction.

Please help me, please...

Notro, you made an raspian image for other screen. Do you have one for this screen ?

@notro

This comment has been minimized.

Show comment
Hide comment
@notro

notro Jan 24, 2015

Owner

The flexfb driver doesn't have builtin rotation support. You have to change the init sequence as well as providing the rotation parameter (or just take care of swapping width/height yourself).
width=320 height=480 and rotate=90 is equivalent to width=480 height=320 and rotate=0

Register 0x36 controls rotation

init=[...],-1,0x36,0x28,[...]

I believe this is a MIPI compatible register, so this driver can be used as an example for the various bit fields: https://github.com/notro/fbtft/blob/master/fb_ili9341.c#L100
The values for this register can differ between panels.

You can try asking the seller for the values.

Owner

notro commented Jan 24, 2015

The flexfb driver doesn't have builtin rotation support. You have to change the init sequence as well as providing the rotation parameter (or just take care of swapping width/height yourself).
width=320 height=480 and rotate=90 is equivalent to width=480 height=320 and rotate=0

Register 0x36 controls rotation

init=[...],-1,0x36,0x28,[...]

I believe this is a MIPI compatible register, so this driver can be used as an example for the various bit fields: https://github.com/notro/fbtft/blob/master/fb_ili9341.c#L100
The values for this register can differ between panels.

You can try asking the seller for the values.

@pykoon

This comment has been minimized.

Show comment
Hide comment
@pykoon

pykoon Jan 25, 2015

Notro, you are my god and receive a very big thank you.

I wasn't easy, I tried a lot of value because it depend of width, height and rotate in fbtft_device.
I found the good value : register 0x36, value 0x48 with rotate = 0 in fbtft_device.

flexfb  width=320  height=480  regwidth=16 init=-1,0xb0,0x0,-1,0x11,-2,250,-1,0x3A,0x55,-1,0xC2,0x44,-1,0xC5,0x00,0x00,0x00,0x00,-1,0xE0,0x0F,0x1F,0x1C,0x0C,0x0F,0x08,0x48,0x98,0x37,0x0A,0x13,0x04,0x11,0x0D,0x00,-1,0xE1,0x0F,0x32,0x2E,0x0B,0x0D,0x05,0x47,0x75,0x37,0x06,0x10,0x03,0x24,0x20,0x00,-1,0xE2,0x0F,0x32,0x2E,0x0B,0x0D,0x05,0x47,0x75,0x37,0x06,0x10,0x03,0x24,0x20,0x00,-1,0x36,0x48,-1,0x11,-1,0x29,-3

fbtft_device debug=3 rotate=0 name=flexfb speed=16000000 gpios=reset:25,dc:24

Now I have to configure touchscreen. drkrieger01 or sudobrew, could you explain how did you configure it?

pykoon commented Jan 25, 2015

Notro, you are my god and receive a very big thank you.

I wasn't easy, I tried a lot of value because it depend of width, height and rotate in fbtft_device.
I found the good value : register 0x36, value 0x48 with rotate = 0 in fbtft_device.

flexfb  width=320  height=480  regwidth=16 init=-1,0xb0,0x0,-1,0x11,-2,250,-1,0x3A,0x55,-1,0xC2,0x44,-1,0xC5,0x00,0x00,0x00,0x00,-1,0xE0,0x0F,0x1F,0x1C,0x0C,0x0F,0x08,0x48,0x98,0x37,0x0A,0x13,0x04,0x11,0x0D,0x00,-1,0xE1,0x0F,0x32,0x2E,0x0B,0x0D,0x05,0x47,0x75,0x37,0x06,0x10,0x03,0x24,0x20,0x00,-1,0xE2,0x0F,0x32,0x2E,0x0B,0x0D,0x05,0x47,0x75,0x37,0x06,0x10,0x03,0x24,0x20,0x00,-1,0x36,0x48,-1,0x11,-1,0x29,-3

fbtft_device debug=3 rotate=0 name=flexfb speed=16000000 gpios=reset:25,dc:24

Now I have to configure touchscreen. drkrieger01 or sudobrew, could you explain how did you configure it?

@pykoon

This comment has been minimized.

Show comment
Hide comment
@pykoon

pykoon Jan 26, 2015

To finish, here touchscreen config :
A good link : http://cooljc.me.uk/?page_id=14

sudo apt-get -y install xinput evtest libts-bin

Edit /etc/modules

# Touchscreen
ads7846_device model=7846 cs=1 gpio_pendown=17  keep_vref_on=1 swap_xy=0 pressure_max=255 x_plate_ohms=60 x_min=200  x_max=3900 y_min=200 y_max=3900

If you want a vertical mode, you can take this configuration :

pi@rasp ~ $ sudo nano /usr/share/X11/xorg.conf.d/99-calibration.conf
Section "InputClass"
Identifier "calibration"
MatchProduct "ADS7846 Touchscreen"
Option "Calibration" "3869 178 3903 270"
EndSection

If you need to recalibrate for other orientation, you can use xinput_calibrator :

wget http://adafruit-download.s3.amazonaws.com/xinput-calibrator_0.7.5-1_armhf.deb
sudo dpkg -i -B xinput-calibrator_0.7.5-1_armhf.deb

Before to start it, you have to delete (if exist) /usr/share/X11/xorg.conf.d/99-calibration.conf.

sudo reboot.
DISPLAY=:0.0 xinput_calibrator

After calibration, this tools give you informations usefull to create you own /usr/share/X11/xorg.conf.d/99-calibration.conf witdh your calibration.

Enjoy,

pykoon commented Jan 26, 2015

To finish, here touchscreen config :
A good link : http://cooljc.me.uk/?page_id=14

sudo apt-get -y install xinput evtest libts-bin

Edit /etc/modules

# Touchscreen
ads7846_device model=7846 cs=1 gpio_pendown=17  keep_vref_on=1 swap_xy=0 pressure_max=255 x_plate_ohms=60 x_min=200  x_max=3900 y_min=200 y_max=3900

If you want a vertical mode, you can take this configuration :

pi@rasp ~ $ sudo nano /usr/share/X11/xorg.conf.d/99-calibration.conf
Section "InputClass"
Identifier "calibration"
MatchProduct "ADS7846 Touchscreen"
Option "Calibration" "3869 178 3903 270"
EndSection

If you need to recalibrate for other orientation, you can use xinput_calibrator :

wget http://adafruit-download.s3.amazonaws.com/xinput-calibrator_0.7.5-1_armhf.deb
sudo dpkg -i -B xinput-calibrator_0.7.5-1_armhf.deb

Before to start it, you have to delete (if exist) /usr/share/X11/xorg.conf.d/99-calibration.conf.

sudo reboot.
DISPLAY=:0.0 xinput_calibrator

After calibration, this tools give you informations usefull to create you own /usr/share/X11/xorg.conf.d/99-calibration.conf witdh your calibration.

Enjoy,

@twkrol

This comment has been minimized.

Show comment
Hide comment
@twkrol

twkrol Feb 15, 2015

Thanks for this thread! It works for Waveshare 4inch LCD on raspberry pi v2.
You saved my day :)

twkrol commented Feb 15, 2015

Thanks for this thread! It works for Waveshare 4inch LCD on raspberry pi v2.
You saved my day :)

@mikertr

This comment has been minimized.

Show comment
Hide comment
@mikertr

mikertr Feb 17, 2015

@twkrol can you speak to specifically which instructions you followed? I'm also working on a Waveshare 4inch LCD with RPi 2. I followed the instructions (twice) with a fresh install of Raspbian, and after reboot I can't hit the pi via SSH or get the HDMI display to show me anything. So clearly, I'll be starting over again. Ha!

mikertr commented Feb 17, 2015

@twkrol can you speak to specifically which instructions you followed? I'm also working on a Waveshare 4inch LCD with RPi 2. I followed the instructions (twice) with a fresh install of Raspbian, and after reboot I can't hit the pi via SSH or get the HDMI display to show me anything. So clearly, I'll be starting over again. Ha!

@twkrol

This comment has been minimized.

Show comment
Hide comment
@twkrol

twkrol Feb 17, 2015

@mikertr I've follwed instructions from http://www.circuitbasics.com/setup-lcd-touchscreen-raspberry-pi/#content.
But use flexfb device instead of waveshare32b. Keep the configuration of touch, but have to calibrate or rotate screen to keep it as is.

Add modules in /etc/modules as below:

flexfb width=480 height=320 regwidth=16 init=-1,0xb0,0x0,-1,0x11,-2,250,-1,0x3A,0x55,-1,0xC2,0x44,-1,0xC5,0x00,0x00,0x00,0x00,-1,0xE0,0x0F,0x1F,0x1C,0x0C,0x0F,0x08,0x48,0x98,0x37,0x0A,0x13,0x04,0x11,0x0D,0x00,-1,0xE1,0x0F,0x32,0x2E,0x0B,0x0D,0x05,0x47,0x75,0x37,0x06,0x10,0x03,0x24,0x20,0x00,-1,0xE2,0x0F,0x32,0x2E,0x0B,0x0D,0x05,0x47,0x75,0x37,0x06,0x10,0x03,0x24,0x20,0x00,-1,0x36,0x28,-1,0x11,-1,0x29,-3 

fbtft_device debug=3 rotate=0 name=flexfb speed=16000000 gpios=reset:25,dc:24

Changing screen rotation is a bit tricky but possible. You have to modify value of register 0x36 at the end of init string (value 0x28 just after 0x36). In the example above there is 0x28, as well as rotate=0 below. This is for horizontal screen with power socket on upper side, touch inverted.
You can try these combinations:

Reg 0x36 value rotate value result
0x28 0 Horizontal (power socket on top)
0xF8 0 Horizontal (power socket on bottom side), touch works well
0x48 90 Vertical
0x84 90 Vertical (opposite)

Above values are found by testing, may not be the best settings but works :)

twkrol commented Feb 17, 2015

@mikertr I've follwed instructions from http://www.circuitbasics.com/setup-lcd-touchscreen-raspberry-pi/#content.
But use flexfb device instead of waveshare32b. Keep the configuration of touch, but have to calibrate or rotate screen to keep it as is.

Add modules in /etc/modules as below:

flexfb width=480 height=320 regwidth=16 init=-1,0xb0,0x0,-1,0x11,-2,250,-1,0x3A,0x55,-1,0xC2,0x44,-1,0xC5,0x00,0x00,0x00,0x00,-1,0xE0,0x0F,0x1F,0x1C,0x0C,0x0F,0x08,0x48,0x98,0x37,0x0A,0x13,0x04,0x11,0x0D,0x00,-1,0xE1,0x0F,0x32,0x2E,0x0B,0x0D,0x05,0x47,0x75,0x37,0x06,0x10,0x03,0x24,0x20,0x00,-1,0xE2,0x0F,0x32,0x2E,0x0B,0x0D,0x05,0x47,0x75,0x37,0x06,0x10,0x03,0x24,0x20,0x00,-1,0x36,0x28,-1,0x11,-1,0x29,-3 

fbtft_device debug=3 rotate=0 name=flexfb speed=16000000 gpios=reset:25,dc:24

Changing screen rotation is a bit tricky but possible. You have to modify value of register 0x36 at the end of init string (value 0x28 just after 0x36). In the example above there is 0x28, as well as rotate=0 below. This is for horizontal screen with power socket on upper side, touch inverted.
You can try these combinations:

Reg 0x36 value rotate value result
0x28 0 Horizontal (power socket on top)
0xF8 0 Horizontal (power socket on bottom side), touch works well
0x48 90 Vertical
0x84 90 Vertical (opposite)

Above values are found by testing, may not be the best settings but works :)

@DonaldTrump44

This comment has been minimized.

Show comment
Hide comment
@DonaldTrump44

DonaldTrump44 Feb 17, 2015

@twkrol Thanks
And can you tell me what do you have in your /boot/cmdline.txt file? because when I modify mine, my rpi2 won't boot anymore

DonaldTrump44 commented Feb 17, 2015

@twkrol Thanks
And can you tell me what do you have in your /boot/cmdline.txt file? because when I modify mine, my rpi2 won't boot anymore

@jor3l

This comment has been minimized.

Show comment
Hide comment
@jor3l

jor3l Aug 5, 2016

@Githog haha no prob, I'll just keep trying until that. Congrats btw and nice truck 👍

jor3l commented Aug 5, 2016

@Githog haha no prob, I'll just keep trying until that. Congrats btw and nice truck 👍

@jor3l

This comment has been minimized.

Show comment
Hide comment
@jor3l

jor3l Aug 5, 2016

Got it working, this is what I did on a fresh install of Jessie:

Update firmware with:

sudo rpi-update

Enable SPI in raspi-config

sudo raspi-config

Then go to advanced, SPI and enable it

sudo nano /etc/rc.local

and add:

sudo modprobe flexfb  width=320  height=480  regwidth=16 init=-1,0xb0,0x0,-1,0x11,-2,250,-1,0x3A,0x55,-1,0xC2,0x44,-1,0xC5,0x00,0x00,0x00,0x00,-1,0xE0,0x0F,0x1F,0x1C,0x0C,0x0F,0x08,0x48,0x98,0x37,0x0A,0x13,0x04,0x11,0x0D,0x00,-1,0xE1,0x0F,0x32,0x2E,0x0B,0x0D,0x05,0x47,0x75,0x37,0x06,0x10,0x03,0x24,0x20,0x00,-1,0xE2,0x0F,0x32,0x2E,0x0B,0x0D,0x05,0x47,0x75,0x37,0x06,0x10,0x03,0x24,0x20,0x00,-1,0x36,0x28,-1,0x11,-1,0x29,-3
sudo modprobe fbtft_device debug=3 rotate=90 name=flexfb speed=16000000 gpios=reset:25,dc:24

To edit the boot process:

sudo nano /boot/cmdline.txt:

change everything to:

dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait fbtft_device.custom fbtft_device.name=flexfb fbtft_device.gpios=dc:24,reset:25 fbtft_device.bgr=1 fbtft_device.speed=16000000 fbcon=map:10 fbcon=font:ProFont6x11 logo.nologo dma.dmachans=0x7f35 console=tty1 consoleblank=0 fbtft_device.fps=50 fbtft_device.rotate=0

Then run:

sudo nano /usr/share/X11/xorg.conf.d/99-fbturbo.conf:

in fbturbo change fb0 to fb1 and then run:

sudo nano /boot/config.txt

here add this line: (or search for dtoverlay and change it)

dtoverlay=ads7846,speed=500000,penirq=17,swapxy=1

then run this to add touch support:

sudo /usr/share/X11/xorg.conf.d/99-calibration.conf

add this to the 99-calibration file:

Section "InputClass"
        Identifier      "calibration"
        MatchProduct    "ADS7846 Touchscreen"
        Option  "Calibration"   "3900 240 240 3900"
EndSection

jor3l commented Aug 5, 2016

Got it working, this is what I did on a fresh install of Jessie:

Update firmware with:

sudo rpi-update

Enable SPI in raspi-config

sudo raspi-config

Then go to advanced, SPI and enable it

sudo nano /etc/rc.local

and add:

sudo modprobe flexfb  width=320  height=480  regwidth=16 init=-1,0xb0,0x0,-1,0x11,-2,250,-1,0x3A,0x55,-1,0xC2,0x44,-1,0xC5,0x00,0x00,0x00,0x00,-1,0xE0,0x0F,0x1F,0x1C,0x0C,0x0F,0x08,0x48,0x98,0x37,0x0A,0x13,0x04,0x11,0x0D,0x00,-1,0xE1,0x0F,0x32,0x2E,0x0B,0x0D,0x05,0x47,0x75,0x37,0x06,0x10,0x03,0x24,0x20,0x00,-1,0xE2,0x0F,0x32,0x2E,0x0B,0x0D,0x05,0x47,0x75,0x37,0x06,0x10,0x03,0x24,0x20,0x00,-1,0x36,0x28,-1,0x11,-1,0x29,-3
sudo modprobe fbtft_device debug=3 rotate=90 name=flexfb speed=16000000 gpios=reset:25,dc:24

To edit the boot process:

sudo nano /boot/cmdline.txt:

change everything to:

dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait fbtft_device.custom fbtft_device.name=flexfb fbtft_device.gpios=dc:24,reset:25 fbtft_device.bgr=1 fbtft_device.speed=16000000 fbcon=map:10 fbcon=font:ProFont6x11 logo.nologo dma.dmachans=0x7f35 console=tty1 consoleblank=0 fbtft_device.fps=50 fbtft_device.rotate=0

Then run:

sudo nano /usr/share/X11/xorg.conf.d/99-fbturbo.conf:

in fbturbo change fb0 to fb1 and then run:

sudo nano /boot/config.txt

here add this line: (or search for dtoverlay and change it)

dtoverlay=ads7846,speed=500000,penirq=17,swapxy=1

then run this to add touch support:

sudo /usr/share/X11/xorg.conf.d/99-calibration.conf

add this to the 99-calibration file:

Section "InputClass"
        Identifier      "calibration"
        MatchProduct    "ADS7846 Touchscreen"
        Option  "Calibration"   "3900 240 240 3900"
EndSection
@Githog

This comment has been minimized.

Show comment
Hide comment
@Githog

Githog Aug 5, 2016

@jor3l Oh yay! congrats!

Githog commented Aug 5, 2016

@jor3l Oh yay! congrats!

@Ryanphs

This comment has been minimized.

Show comment
Hide comment
@Ryanphs

Ryanphs Aug 5, 2016

Purely out of interest, has anyone got this going with Noobs? I really like the idea of having more than one OS on my PI but getting the screen working with Raspbian as well.

Ryanphs commented Aug 5, 2016

Purely out of interest, has anyone got this going with Noobs? I really like the idea of having more than one OS on my PI but getting the screen working with Raspbian as well.

@snail71

This comment has been minimized.

Show comment
Hide comment
@snail71

snail71 Aug 5, 2016

@jor3l Great work. I have been trying to get this working. Followed your steps and bingo!

snail71 commented Aug 5, 2016

@jor3l Great work. I have been trying to get this working. Followed your steps and bingo!

@CoderFX

This comment has been minimized.

Show comment
Hide comment
@CoderFX

CoderFX Sep 29, 2016

@jor3l ADS7846 Touchscreen? Does this work on Waveshare 3.5 Spotpear?

CoderFX commented Sep 29, 2016

@jor3l ADS7846 Touchscreen? Does this work on Waveshare 3.5 Spotpear?

@jor3l

This comment has been minimized.

Show comment
Hide comment
@jor3l

jor3l Sep 29, 2016

@CoderFX yeah that's the one I have, LCD (A) V3

jor3l commented Sep 29, 2016

@CoderFX yeah that's the one I have, LCD (A) V3

@CoderFX

This comment has been minimized.

Show comment
Hide comment
@CoderFX

CoderFX Sep 29, 2016

@jor3l did you get touch to work?

CoderFX commented Sep 29, 2016

@jor3l did you get touch to work?

@jor3l

This comment has been minimized.

Show comment
Hide comment
@jor3l

jor3l Sep 29, 2016

@CoderFX everything works, did you follow my instructions?

jor3l commented Sep 29, 2016

@CoderFX everything works, did you follow my instructions?

@CoderFX

This comment has been minimized.

Show comment
Hide comment
@CoderFX

CoderFX Sep 29, 2016

@jor3l yes, I just did everything according to your instructions and now RPi 3 does not even boot - can't ssh into it, shows black screen, sometimes with stuck pointer in the middle.

CoderFX commented Sep 29, 2016

@jor3l yes, I just did everything according to your instructions and now RPi 3 does not even boot - can't ssh into it, shows black screen, sometimes with stuck pointer in the middle.

@jor3l

This comment has been minimized.

Show comment
Hide comment
@jor3l

jor3l Sep 29, 2016

@CoderFX hope you didn't lose data, was it a fresh install? Send me a message over twitter I think I have a backup that works, same @

jor3l commented Sep 29, 2016

@CoderFX hope you didn't lose data, was it a fresh install? Send me a message over twitter I think I have a backup that works, same @

@CoderFX

This comment has been minimized.

Show comment
Hide comment
@CoderFX

CoderFX Sep 29, 2016

@jor3l no worries ;) I'm playing around with fresh install + few configs backed up. I'm more worried about my microSD card because re-writing it so many times per day trying to make this work. So current status is that Waveshare 3.5 Spotpear screen works fine on RPi v3, but touch is not working.

dmesg | grep spi

[ 4.740789] ads7846 spi0.1: touchscreen, irq 183
[ 4.741507] input: ADS7846 Touchscreen as /devices/platform/soc/3f204000.spi/spi_master/spi0/spi0.1/input/input2
[ 5.320007] graphics fb1: fb_ili9486 frame buffer, 480x320, 300 KiB video memory, 32 KiB DMA buffer memory, fps=33, spi0.0 at 15 MHz

ads7846 is on spi0.1 and fb_ili9486 is on spi0.0 <- is this how it should be?

cat /etc/modules

snd-bcm2835
spi-bcm2708
i2c-bcm2708
i2c-dev
fbtft_device name=waveshare35a gpios=dc:22,reset:27 speed=48000000

cat /usr/share/X11/xorg.conf.d/99-fbturbo.conf

Section "Device"
Identifier "Allwinner A10/A13 FBDEV"
Driver "fbturbo"
Option "fbdev" "/dev/fb1"
Option "SwapbuffersWait" "true"
EndSection

cat /usr/share/X11/xorg.conf.d/99-calibration.conf

Section "InputClass"
Identifier "calibration"
MatchProduct "ADS7846 Touchscreen"
Option "Calibration" "3897 292 369 3844"
EndSection

Default Waveshare's settings:
dmesg | grep spi

[ 6.843751] spi-bcm2835 3f204000.spi: chipselect 1 already in use
[ 6.843776] spi_master spi0: spi_device register error /soc/spi@7e204000/waveshare35a-ts@1
[ 6.843797] spi_master spi0: Failed to create SPI device for /soc/spi@7e204000/waveshare35a-ts@1
[ 7.449711] ads7846 spi0.1: touchscreen, irq 183
[ 7.451342] input: ADS7846 Touchscreen as /devices/platform/soc/3f204000.spi/spi_master/spi0/spi0.1/input/input2
[ 7.477848] pinctrl-bcm2835 3f200000.gpio: pin gpio17 already requested by spi0.1; cannot claim for spi0.0
[ 7.477871] pinctrl-bcm2835 3f200000.gpio: pin-17 (spi0.0) status -22
[ 7.477900] fb_ili9486 spi0.0: Error applying setting, reverse things back
[ 8.097309] graphics fb1: fb_ili9486 frame buffer, 480x320, 300 KiB video memory, 32 KiB DMA buffer memory, fps=33, spi0.0 at 15 MHz

Touch not working due to incorrect pin-17 settings?

@notro can you help?

CoderFX commented Sep 29, 2016

@jor3l no worries ;) I'm playing around with fresh install + few configs backed up. I'm more worried about my microSD card because re-writing it so many times per day trying to make this work. So current status is that Waveshare 3.5 Spotpear screen works fine on RPi v3, but touch is not working.

dmesg | grep spi

[ 4.740789] ads7846 spi0.1: touchscreen, irq 183
[ 4.741507] input: ADS7846 Touchscreen as /devices/platform/soc/3f204000.spi/spi_master/spi0/spi0.1/input/input2
[ 5.320007] graphics fb1: fb_ili9486 frame buffer, 480x320, 300 KiB video memory, 32 KiB DMA buffer memory, fps=33, spi0.0 at 15 MHz

ads7846 is on spi0.1 and fb_ili9486 is on spi0.0 <- is this how it should be?

cat /etc/modules

snd-bcm2835
spi-bcm2708
i2c-bcm2708
i2c-dev
fbtft_device name=waveshare35a gpios=dc:22,reset:27 speed=48000000

cat /usr/share/X11/xorg.conf.d/99-fbturbo.conf

Section "Device"
Identifier "Allwinner A10/A13 FBDEV"
Driver "fbturbo"
Option "fbdev" "/dev/fb1"
Option "SwapbuffersWait" "true"
EndSection

cat /usr/share/X11/xorg.conf.d/99-calibration.conf

Section "InputClass"
Identifier "calibration"
MatchProduct "ADS7846 Touchscreen"
Option "Calibration" "3897 292 369 3844"
EndSection

Default Waveshare's settings:
dmesg | grep spi

[ 6.843751] spi-bcm2835 3f204000.spi: chipselect 1 already in use
[ 6.843776] spi_master spi0: spi_device register error /soc/spi@7e204000/waveshare35a-ts@1
[ 6.843797] spi_master spi0: Failed to create SPI device for /soc/spi@7e204000/waveshare35a-ts@1
[ 7.449711] ads7846 spi0.1: touchscreen, irq 183
[ 7.451342] input: ADS7846 Touchscreen as /devices/platform/soc/3f204000.spi/spi_master/spi0/spi0.1/input/input2
[ 7.477848] pinctrl-bcm2835 3f200000.gpio: pin gpio17 already requested by spi0.1; cannot claim for spi0.0
[ 7.477871] pinctrl-bcm2835 3f200000.gpio: pin-17 (spi0.0) status -22
[ 7.477900] fb_ili9486 spi0.0: Error applying setting, reverse things back
[ 8.097309] graphics fb1: fb_ili9486 frame buffer, 480x320, 300 KiB video memory, 32 KiB DMA buffer memory, fps=33, spi0.0 at 15 MHz

Touch not working due to incorrect pin-17 settings?

@notro can you help?

@notro

This comment has been minimized.

Show comment
Hide comment
@notro

notro Oct 7, 2016

Owner

Check /proc/interrupts to see if touching is generating interrupts.

Owner

notro commented Oct 7, 2016

Check /proc/interrupts to see if touching is generating interrupts.

@CoderFX

This comment has been minimized.

Show comment
Hide comment
@CoderFX

CoderFX Oct 9, 2016

cat /proc/interrupts

      CPU0       CPU1       CPU2       CPU3

16: 0 0 0 0 bcm2836-timer 0 Edge arch_timer
17: 4254 3054 3317 4649 bcm2836-timer 1 Edge arch_timer
23: 18 0 0 0 ARMCTRL-level 1 Edge 3f00b880.mailbox
24: 369 0 0 0 ARMCTRL-level 2 Edge VCHIQ doorbell
39: 1 0 0 0 ARMCTRL-level 41 Edge
46: 0 0 0 0 ARMCTRL-level 48 Edge bcm2708_fb dma
48: 5437 0 0 0 ARMCTRL-level 50 Edge DMA IRQ
50: 0 0 0 0 ARMCTRL-level 52 Edge DMA IRQ
51: 453 0 0 0 ARMCTRL-level 53 Edge DMA IRQ
54: 453 0 0 0 ARMCTRL-level 56 Edge DMA IRQ
59: 8671 0 0 0 ARMCTRL-level 61 Edge serial
62: 130036 0 0 0 ARMCTRL-level 64 Edge dwc_otg, dwc_otg_pcd, dwc_otg_hcd:usb1
79: 0 0 0 0 ARMCTRL-level 81 Edge 3f200000.gpio:bank0
80: 0 0 0 0 ARMCTRL-level 82 Edge 3f200000.gpio:bank1
83: 0 0 0 0 ARMCTRL-level 85 Edge 3f804000.i2c
84: 0 0 0 0 ARMCTRL-level 86 Edge 3f204000.spi
86: 519 0 0 0 ARMCTRL-level 88 Edge mmc0
87: 4981 0 0 0 ARMCTRL-level 89 Edge uart-pl011
92: 6031 0 0 0 ARMCTRL-level 94 Edge mmc1
183: 0 0 0 0 pinctrl-bcm2835 17 Edge ads7846
FIQ: usb_fiq
IPI0: 0 0 0 0 CPU wakeup interrupts
IPI1: 0 0 0 0 Timer broadcast interrupts
IPI2: 4688 14081 7897 10279 Rescheduling interrupts
IPI3: 11 15 16 11 Function call interrupts
IPI4: 1 7 3 0 Single function call interrupts
IPI5: 0 0 0 0 CPU stop interrupts
IPI6: 0 0 0 0 IRQ work interrupts
IPI7: 0 0 0 0 completion interrupts

CoderFX commented Oct 9, 2016

cat /proc/interrupts

      CPU0       CPU1       CPU2       CPU3

16: 0 0 0 0 bcm2836-timer 0 Edge arch_timer
17: 4254 3054 3317 4649 bcm2836-timer 1 Edge arch_timer
23: 18 0 0 0 ARMCTRL-level 1 Edge 3f00b880.mailbox
24: 369 0 0 0 ARMCTRL-level 2 Edge VCHIQ doorbell
39: 1 0 0 0 ARMCTRL-level 41 Edge
46: 0 0 0 0 ARMCTRL-level 48 Edge bcm2708_fb dma
48: 5437 0 0 0 ARMCTRL-level 50 Edge DMA IRQ
50: 0 0 0 0 ARMCTRL-level 52 Edge DMA IRQ
51: 453 0 0 0 ARMCTRL-level 53 Edge DMA IRQ
54: 453 0 0 0 ARMCTRL-level 56 Edge DMA IRQ
59: 8671 0 0 0 ARMCTRL-level 61 Edge serial
62: 130036 0 0 0 ARMCTRL-level 64 Edge dwc_otg, dwc_otg_pcd, dwc_otg_hcd:usb1
79: 0 0 0 0 ARMCTRL-level 81 Edge 3f200000.gpio:bank0
80: 0 0 0 0 ARMCTRL-level 82 Edge 3f200000.gpio:bank1
83: 0 0 0 0 ARMCTRL-level 85 Edge 3f804000.i2c
84: 0 0 0 0 ARMCTRL-level 86 Edge 3f204000.spi
86: 519 0 0 0 ARMCTRL-level 88 Edge mmc0
87: 4981 0 0 0 ARMCTRL-level 89 Edge uart-pl011
92: 6031 0 0 0 ARMCTRL-level 94 Edge mmc1
183: 0 0 0 0 pinctrl-bcm2835 17 Edge ads7846
FIQ: usb_fiq
IPI0: 0 0 0 0 CPU wakeup interrupts
IPI1: 0 0 0 0 Timer broadcast interrupts
IPI2: 4688 14081 7897 10279 Rescheduling interrupts
IPI3: 11 15 16 11 Function call interrupts
IPI4: 1 7 3 0 Single function call interrupts
IPI5: 0 0 0 0 CPU stop interrupts
IPI6: 0 0 0 0 IRQ work interrupts
IPI7: 0 0 0 0 completion interrupts

@notro

This comment has been minimized.

Show comment
Hide comment
@notro

notro Oct 9, 2016

Owner

No interrupts generated:

183: 0 0 0 0 pinctrl-bcm2835 17 Edge ads7846
Owner

notro commented Oct 9, 2016

No interrupts generated:

183: 0 0 0 0 pinctrl-bcm2835 17 Edge ads7846
@norfskate

This comment has been minimized.

Show comment
Hide comment
@norfskate

norfskate Dec 31, 2016

K, this has been an incredible forum with tonnes of good info, however after trying everything here for four days straight i am still stuck!

So, at my wits-end i am here to ask for a very large favour:

Would someone with the exact same hardware as me (and who has succeeded in making it all work) be so kind as to put together a disk image for me to copy and use?

If so I'd be very grateful!

Details are as thus:
I have a Raspberry Pi 3 B, a Waveshare SpotPear 3.5inch RPi LCD (A) V3 and a SanDisk 32GB microSDHC class 4 memory card. And I wish to install BerryBoot V2.0 with Raspbian Jessie (I'll add other OS's myself later)

If you can get me that far that'd amazing!

Thank you greatly in advance!

norfskate commented Dec 31, 2016

K, this has been an incredible forum with tonnes of good info, however after trying everything here for four days straight i am still stuck!

So, at my wits-end i am here to ask for a very large favour:

Would someone with the exact same hardware as me (and who has succeeded in making it all work) be so kind as to put together a disk image for me to copy and use?

If so I'd be very grateful!

Details are as thus:
I have a Raspberry Pi 3 B, a Waveshare SpotPear 3.5inch RPi LCD (A) V3 and a SanDisk 32GB microSDHC class 4 memory card. And I wish to install BerryBoot V2.0 with Raspbian Jessie (I'll add other OS's myself later)

If you can get me that far that'd amazing!

Thank you greatly in advance!

@Levantinyx

This comment has been minimized.

Show comment
Hide comment
@Levantinyx

Levantinyx Jan 2, 2017

@CoderFX did you manage to get it working from where you were at? The messegas are nearly exactly the same as I am getting right now on Raspi 2 B running latest Raspbian Jessie.

Levantinyx commented Jan 2, 2017

@CoderFX did you manage to get it working from where you were at? The messegas are nearly exactly the same as I am getting right now on Raspi 2 B running latest Raspbian Jessie.

@CN-P5

This comment has been minimized.

Show comment
Hide comment
@CN-P5

CN-P5 commented Jan 22, 2017

make

@LiqwdE

This comment has been minimized.

Show comment
Hide comment
@LiqwdE

LiqwdE Feb 28, 2017

Ok guys, been reading this post and others. But I have a problem.

I'm running a Pi 3, 32bg SD, Fresh install of RPi-35inch-LCD-Raspbian-160728.img (Raspbian). Its a premade image from waveshare.

Its boots and loads to GUI fine. Everything seems to work great. With one problem. When I use framebuffer copy to FB1 with mplayer or omxplayer I get what seems like 1 FPS. You can almost see the frame building from 1 to the next. Anyone got any ideas?

LiqwdE commented Feb 28, 2017

Ok guys, been reading this post and others. But I have a problem.

I'm running a Pi 3, 32bg SD, Fresh install of RPi-35inch-LCD-Raspbian-160728.img (Raspbian). Its a premade image from waveshare.

Its boots and loads to GUI fine. Everything seems to work great. With one problem. When I use framebuffer copy to FB1 with mplayer or omxplayer I get what seems like 1 FPS. You can almost see the frame building from 1 to the next. Anyone got any ideas?

@gwpl

This comment has been minimized.

Show comment
Hide comment
@gwpl

gwpl Feb 28, 2017

gwpl commented Feb 28, 2017

@LiqwdE

This comment has been minimized.

Show comment
Hide comment
@LiqwdE

LiqwdE Mar 2, 2017

Ok, this is my update. When using the premade waveshare image, there us actually a setting missing. In the /boot/config.txt near the bottom you have fbtft_device=waveshare35a and another after it. If you add speed=27000000 after waveshare35a you can crank up the speed.

Now, it's true you'll never get 60fps HDMI quality through your gpio to tft. This can get you to a fairly smooth and watchable experience. I don't know how to clock the fps, but I would say it's around 15fps mark.

LiqwdE commented Mar 2, 2017

Ok, this is my update. When using the premade waveshare image, there us actually a setting missing. In the /boot/config.txt near the bottom you have fbtft_device=waveshare35a and another after it. If you add speed=27000000 after waveshare35a you can crank up the speed.

Now, it's true you'll never get 60fps HDMI quality through your gpio to tft. This can get you to a fairly smooth and watchable experience. I don't know how to clock the fps, but I would say it's around 15fps mark.

@cmseal

This comment has been minimized.

Show comment
Hide comment
@cmseal

cmseal Mar 4, 2017

Has anyone been able to try the 3.5 B? Using the waveshare driver works fine on an RPi 3, including touch (just needing calibration), with the latest Raspbian image.
Only issue is that the colours appear inverted :(

cmseal commented Mar 4, 2017

Has anyone been able to try the 3.5 B? Using the waveshare driver works fine on an RPi 3, including touch (just needing calibration), with the latest Raspbian image.
Only issue is that the colours appear inverted :(

@gwpl

This comment has been minimized.

Show comment
Hide comment
@gwpl

gwpl Mar 4, 2017

Give a try to xcalib -i -a if inverts colors and helps

gwpl commented Mar 4, 2017

Give a try to xcalib -i -a if inverts colors and helps

@elBoz73

This comment has been minimized.

Show comment
Hide comment
@elBoz73

elBoz73 Mar 26, 2017

Hi,
I try to replace my squeeezeboxplayer using raspeberry pi 3, picore player (tinycore linux) and my waveshare 3.5.
I tried all procedure I known but I still have a white screen (the HDMI is working correctly). do you have a procedure for tiny core ( kernel 4.4.39) that I could use without having X11 installed?
thanks for your help

elBoz73 commented Mar 26, 2017

Hi,
I try to replace my squeeezeboxplayer using raspeberry pi 3, picore player (tinycore linux) and my waveshare 3.5.
I tried all procedure I known but I still have a white screen (the HDMI is working correctly). do you have a procedure for tiny core ( kernel 4.4.39) that I could use without having X11 installed?
thanks for your help

@davecrump

This comment has been minimized.

Show comment
Hide comment
@davecrump

davecrump Mar 30, 2017

I am using a Waveshare 3.5inch RPi LCD (A) touchscreen display on an RPi3 for this project. It has worked perfectly with Jessie Lite 2016-11-25 and rpi-update until the kernel was bumped to 4.9.y (about 21 Feb 17). After the kernel update, the display does not get loaded during boot, although the touch sensor still works. dmesg reports: "fb_ili9486: probe of spi0.0 failed with error -22" It works perfectly again after a kernel rollback to 4.4.50. Grateful for any suggestions. Dave

davecrump commented Mar 30, 2017

I am using a Waveshare 3.5inch RPi LCD (A) touchscreen display on an RPi3 for this project. It has worked perfectly with Jessie Lite 2016-11-25 and rpi-update until the kernel was bumped to 4.9.y (about 21 Feb 17). After the kernel update, the display does not get loaded during boot, although the touch sensor still works. dmesg reports: "fb_ili9486: probe of spi0.0 failed with error -22" It works perfectly again after a kernel rollback to 4.4.50. Grateful for any suggestions. Dave

@davecrump

This comment has been minimized.

Show comment
Hide comment
@davecrump

davecrump Apr 2, 2017

Reference my post above about problems loading the Waveshare 3.5inch RPi LCD (A) touchscreen display with kernel 4.9.y. I traced it to the fact that I was trying to load the waveshare touchscreen overlay and the touchscreen driver overlay. What I did not realise is that the waveshare overlay already includes the touchscreen driver. Kernel 4.9.y seems to handle this differently to kernel 4.4.50 and throws a fatal error. I cured the problem by commenting out the duplicate touchscreen overlay. Dave

davecrump commented Apr 2, 2017

Reference my post above about problems loading the Waveshare 3.5inch RPi LCD (A) touchscreen display with kernel 4.9.y. I traced it to the fact that I was trying to load the waveshare touchscreen overlay and the touchscreen driver overlay. What I did not realise is that the waveshare overlay already includes the touchscreen driver. Kernel 4.9.y seems to handle this differently to kernel 4.4.50 and throws a fatal error. I cured the problem by commenting out the duplicate touchscreen overlay. Dave

@elBoz73

This comment has been minimized.

Show comment
Hide comment
@elBoz73

elBoz73 Apr 4, 2017

Thanks dave,
It seems that I need to create a new tft file depending on the kernel version.
I will try to create a development environment with a virtual box and find a procedure to create my tft file.
If some one has the procedure it would help me a lot ( I never did it).
ElBoz

elBoz73 commented Apr 4, 2017

Thanks dave,
It seems that I need to create a new tft file depending on the kernel version.
I will try to create a development environment with a virtual box and find a procedure to create my tft file.
If some one has the procedure it would help me a lot ( I never did it).
ElBoz

@amrithmmh

This comment has been minimized.

Show comment
Hide comment
@amrithmmh

amrithmmh Mar 24, 2018

Im using rasberry pi 3 with waveshare 3.5(B) but plymouth only works in hdmi +monitor not the waveshare LCD how to fix it? i am really new and i tried reading all the above comments but i cannot understand much

amrithmmh commented Mar 24, 2018

Im using rasberry pi 3 with waveshare 3.5(B) but plymouth only works in hdmi +monitor not the waveshare LCD how to fix it? i am really new and i tried reading all the above comments but i cannot understand much

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment