I am trying to get one of those pretty standard Raspberry Pi LCD 3.5" screens on my Odroid-C0 (with the official linux image). And I am not having any luck.
As far as I know the Odroid GPIO header has the same pinout as the Raspberry Pi. So I should be able to just plug the LCD on, without the need to do any rewiring.
I initialize the LCD on my Pi using:
Code: Select all
sudo modprobe flexfb nobacklight 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 width=480 height=320
Code: Select all
sudo modprobe fbtft_device name=flexfb speed=16000000 gpios=reset:25,dc:24
This is the output from dmesg:
Code: Select all
[ 3048.635281@1] fbtft_device: SPI devices registered:
[ 3048.635304@1] fbtft_device: 'fb' Platform devices registered:
[ 3048.635328@1] fbtft_device: mesonfb id=-1 pdata? no
[ 3048.635429@1] spi spi0.0: spicc_setup : spi->bits_per_word = 8, spi->max_spped_hz = 16000000, spi->chip_select = 0, spi->mode = 0x00
[ 3048.637280@1] flexfb spi0.0: fbtft_request_gpios: 'reset' = GPIO103
[ 3048.637301@1] flexfb spi0.0: fbtft_request_gpios: 'dc' = GPIO102
[ 3048.637309@1] flexfb spi0.0: flexfb_verify_gpios_dc()
[ 3048.637317@1] flexfb spi0.0: fbtft_init_display()
[ 3048.637325@1] flexfb spi0.0: fbtft_reset()
[ 3048.759019@3] flexfb spi0.0: init: write(0xB0) 0x00
[ 3048.759156@3] flexfb spi0.0: init: write(0x11)
[ 3048.759218@3] flexfb spi0.0: init: mdelay(250)
[ 3049.009670@3] flexfb spi0.0: init: write(0x3A) 0x55
[ 3049.009798@3] flexfb spi0.0: init: write(0xC2) 0x44
[ 3049.009884@3] flexfb spi0.0: init: write(0xC5) 0x00 0x00 0x00 0x00
[ 3049.009983@3] flexfb spi0.0: init: write(0xE0) 0x0F 0x1F 0x1C 0x0C 0x0F 0x08 0x48 0x98 0x37 0x0A 0x13 0x04 0x11 0x0D 0x00
[ 3049.010140@3] flexfb spi0.0: init: write(0xE1) 0x0F 0x32 0x2E 0x0B 0x0D 0x05 0x47 0x75 0x37 0x06 0x10 0x03 0x24 0x20 0x00
[ 3049.010274@3] flexfb spi0.0: init: write(0xE2) 0x0F 0x32 0x2E 0x0B 0x0D 0x05 0x47 0x75 0x37 0x06 0x10 0x03 0x24 0x20 0x00
[ 3049.010403@3] flexfb spi0.0: init: write(0x36) 0x28
[ 3049.010482@3] flexfb spi0.0: init: write(0x11)
[ 3049.010542@3] flexfb spi0.0: init: write(0x29)
[ 3049.562771@0] flexfb spi0.0: Display update: 542 kB/s (552.166 ms), fps=0 (0.000 ms)
[ 3049.563052@0] graphics fb2: flexfb frame buffer, 480x320, 300 KiB video memory, 4 KiB DMA buffer memory, fps=20, spi0.0 at 16 MHz
[ 3049.563079@0] fbtft_device: GPIOS used by 'flexfb':
[ 3049.563086@0] fbtft_device: 'reset' = GPIO103
[ 3049.563095@0] fbtft_device: 'dc' = GPIO102
[ 3049.563101@0] fbtft_device: SPI devices registered:
[ 3049.563109@0] fbtft_device: flexfb spi0.0 16000kHz 8 bits mode=0x00
So, any ideas on what could be wrong?