ilI9341 display on newest kernel

Discussion about writing software for VS1005 and the VSOS Operating System. Also posts about VS1005-related hardware design and device drivers should be posted here.
Post Reply
treverwagenhals
Senior User
Posts: 21
Joined: Thu 2018-03-01 15:45

ilI9341 display on newest kernel

Post by treverwagenhals » Sat 2018-03-24 3:23

Good evening,

I am trying to get the il9341 display to work on my breakout board. I hooked up the 8 data pins, WR, RD, CS, RS, and RST.

I originally tried following the youtube video with the developer board, so I installed an older version of VSIDE to mirror the exact settings. I installed the 3.07 kernel and created the lcd driver as in the video, but when I loaded it nothing happened. I was not even getting UART information back when booting, so I figured there might be some other issue there.

Nevertheless, I installed 3.54 again just to verify functionality of my other features. Ideally I'd like to get the display working with this kernel as well, but I'm a little confused at what the setup would be then. In the newest solutions zip file, the LCD288 solution is not available like it was in previous versions, although the .DL3 is. I imagine I'd still load this driver and it would have some default display information (although currently I am still getting nothing.) Past this though, I see other drivers that I've tried loading, also to no avail. I've tried the LCDMessage and LCDcon, as well as the touchscreen even though I know this won't function without the others working. All of them report successfully loading, but nothing happens.

So, my questions are:

What am I expecting to see when these drivers are loaded, either through the UART or the display?
If LCD288 solutions are not provided, is it safe to use older ones or are they not compatible? Has LCD288 been encompassed by a different solution now?
Assuming I've loaded all the drivers and something should happen either way, does that mean that my pinout is wrong? I tried to follow the developer board pinout. I saw a few discrepancies, mainly with the TPX, TPY, CLE and ALE pins. I imagine these are the four pins for the touch screen interface and so are fine to not use for at least display purposes. Also, some of the pinouts on your schematic are labeled active low, whereas my board doesn't have this labeling. I don't know if it needs to be explicitly stated on the display pin, but this may also be my issue.

Any advice is greatly appreciated. Thanks

Code: Select all

Hello.
VSOS 3.53 build Feb 08 2018 10:41:14
VLSI Solution Oy 2012-2018 - www.vlsi.fi

Starting the kernel..
Starting Devices... 
Internal Flash

Installed system devices:
S: SPI Flash c213, handled by FAT.
USB publishing disk: SPI Flash c213.
Size 0.9 MB.
SCSI START
BRST
BRST

Hello.
VSOS 3.53 build Feb 08 2018 10:41:14
VLSI Solution Oy 2012-2018 - www.vlsi.fi

Starting the kernel..
Starting Devices... 
Internal Flash

Installed system devices:
S: SPI Flash c213, handled by FAT.
Load drivers, config 0...
Driver: USBHOST... No device.

Driver: AUODAC... 
Driver: AUIADC...   Input 0x0440  Rate 48000
Driver: UARTIN... 
Driver: LCD288... 
Driver: LCDCON... 
Driver: LCDMESSAGE... 
Driver: TOUCH288... 
Driver: STDBTCH... 

9 driver(s) loaded.

VSOS running with 5 tasks:
Task   I/O Stack:0010-020f (512w), free:118
Task   Int Stack:0210-024f ( 64w), free:22
Task   Net Stack:0250-0251 (  2w), free:1
Task    UI Stack:0252-0253 (  2w), free:1
Task DECOD Stack:0254-03cf (380w), free:379

Interrupts:  INT0_DAC:2->16083 INT6_MAC0:2->16659 INT12_TX:2->17950 INT13_RX:3->17930 INT15_TI1:1->20736 INT16_TI2:1->10936

Load S:INIT.AP3...

User avatar
Panu
VLSI Staff
Posts: 2674
Joined: Tue 2010-06-22 13:43

Re: ilI9341 display on newest kernel

Post by Panu » Mon 2018-03-26 8:20

Hi!

I think we haven't touched the LCD288 solution in years, and we might actually be running the same binary that was compiled years ago. The LCD288 was one of the first drivers ever written for the VS1005 and it was distributed as a template in VSIDE. I need to check if there is any later version and where it might be found.

Let's see if I can answer some of your questions first... I don't have a board at hand, so all these replies come from my memory..
What am I expecting to see when these drivers are loaded, either through the UART or the display?
A navy blue screen on the LCD. Nothing in the UART, except "Driver: LCD288" if you're running it from the CONFIG.TXT. (To load it from the console, use "DRIVER +LCD288"
If LCD288 solutions are not provided, is it safe to use older ones or are they not compatible?
Yes, if they load and you see something on the screen, they should work.
I tried to follow the developer board pinout.
Could you give a list of where you connect each pin?

I'll try to get a hold of a card with an LCD display to see if I can compile a new LCD288 driver.

-Panu
Info: Line In and Line Out, VS1000 User interface, Overlay howto, Latest VSIDE, MCU Howto, Youtube
Panu-Kristian Poiksalo, VLSI Solution Oy

User avatar
Panu
VLSI Staff
Posts: 2674
Joined: Tue 2010-06-22 13:43

Re: ilI9341 display on newest kernel

Post by Panu » Mon 2018-03-26 10:27

Hi!

Henrik just looked through the latest LCD288 solutions, please see here:

viewtopic.php?t=680&p=11902#p11902

-Panu
Info: Line In and Line Out, VS1000 User interface, Overlay howto, Latest VSIDE, MCU Howto, Youtube
Panu-Kristian Poiksalo, VLSI Solution Oy

treverwagenhals
Senior User
Posts: 21
Joined: Thu 2018-03-01 15:45

Re: ilI9341 display on newest kernel

Post by treverwagenhals » Mon 2018-03-26 17:12

Hi Panu,

I grabbed the latest driver and tried to fire it up but still don't get anything. It must be something with my pinout then.

Here is a picture of the pinout on the display I purchased attached.

As far as referencing the developer board then, I connected D0-D7 on the NFBus to DB8-DB15 on the board I have. I haven't tried the lower bits but I don't imagine that should make a difference.

I connected WR to WR, RD to RD. I tried pulling CS high and low since I don't have an XTFT like the developer board.

Currently I'm tying my VCC pins and backlight pin to IOVDD. I don't know if this is okay or not, but the backlight does come on so I'm assuming it should not be an issue.

I connected RS to CLE as shown in the developer board schematic as well. I see CLE has some kind of FET circuitry too that the breakout board doesn't have, so I don't know how that affects the functionality. I tried tying RST low and high as well (with CS low/high to give all 4 combinations).

The only pins I did not set up were ALE, CLE, TPX, and TPY which look like they go to the resistive touch screen pins. There doesn't seem to be pins that correspond on this display I purchase (and the documentation is nonexistent so I do not know what the pins I have not used are actually for). Nevertheless I'm pretty sure I don't need these to at least get the initial screen output.

Looking at a lot of displays with the ili9341 controller, it seems that it needs to be configured between 8 bit and SPI mode. I don't know if one of these pins toggle that and it defaults to SPI mode which may be the issue. From what I saw on other boards though, it tends to default to 8-bit and requires setup for SPI. No documentation for this is another issue and may result in me returning the board for a different one unless you see something blatantly wrong with my setup.

Are there any examples of the 288 ili9341 controller display utilizing the SPI protocol over the years here?
Attachments
Capture.PNG
Capture.PNG (1.11 MiB) Viewed 860 times

User avatar
Panu
VLSI Staff
Posts: 2674
Joined: Tue 2010-06-22 13:43

Re: ilI9341 display on newest kernel

Post by Panu » Tue 2018-03-27 8:34

Hi!

You should connect XCS of the LCD to GPIO1.15 on the VS1005.

The FETs in the VLSI displayboard are used to make a kind of analog switch to drive the resistive touchpad. They are irrelevant in your design.

Can you see if there are configuration resistors for IM0, IM1 or IM2 on the LCD flex cable?

ILI9341 has always been used with the 8 bit bus at VLSI. Often we've had to change the IM1 (IM0?) resistor to switch the panel from 16-bit bus to 8-bit bus. Never used SPI with this particular controller, but there's LCD144 which uses a common Sitronix controller and SPI bus.

-Panu
Info: Line In and Line Out, VS1000 User interface, Overlay howto, Latest VSIDE, MCU Howto, Youtube
Panu-Kristian Poiksalo, VLSI Solution Oy

treverwagenhals
Senior User
Posts: 21
Joined: Thu 2018-03-01 15:45

Re: ilI9341 display on newest kernel

Post by treverwagenhals » Fri 2018-04-06 2:17

Thanks Panu,

I returned the display I screenshotted above since it literally had no documentation and the pinout naming did not seem standard for the controller. I purchased the display from a different vendor and had no issues getting it to work with the new driver you provided.

Thanks again.

User avatar
Panu
VLSI Staff
Posts: 2674
Joined: Tue 2010-06-22 13:43

Re: ilI9341 display on newest kernel

Post by Panu » Fri 2018-04-06 10:13

That's great! Thank you for the info!
-Panu
Info: Line In and Line Out, VS1000 User interface, Overlay howto, Latest VSIDE, MCU Howto, Youtube
Panu-Kristian Poiksalo, VLSI Solution Oy

Post Reply