Feb 23, 2015 I have a Latitude E6430. Mine came with a 1376x768 over single channel LVDS, but there is a 1600x900 model (which requires swapping out the single channel LVDS for dual channel LVDS). I have purchased the cable and the screen, and will be upgrading soon. But I was really curious about the possibility of putting a 1920x1080 screen in. LVDS to DVI Converter Board. Westar offers a LVDS to DVI converter board for embedded applications. This product is popular for converting LVDS video intended for an LCD panel to DVI video to be displayed on a LCD monitor. The board is powered by 12 VDC (not included). The board can be ordered with various connectors installed.
ARV-36XX series are middle-size A/D converter boards designed for most industrial or customized display devices. This controller boardcan drive LCD panels from VGA (640 x 480) up to WSXGA (1680 x 1050) resolution in true color, one or two pixel/clk mode. The onboardGenesis controller is a high quality A to D converter with excellent scaler feature, capable of converting analog RGB, DVI, and videosignals to required digital signals for a wide range of LCD panels including AUO, CMO, Sharp, CPT, NEC, Toshiba, Samsung, and LG.ARV-36XX series provide complete signal input ports, including RGB, DVI, Composite, S-Video, and YPbPr. New additional light sensorport supports Spectrah SR-2901 light sensor board to do auto brightness control for display device.‧ ( RGB, LVDS )RGB, TTL )‧ ( RGB, DVI-I, LVDS )‧ ( RGB, DVI-I, TTL )‧ ( Video, RGB, DVI-I, LVDS )‧ ( Video, RGB, DVI-I, TTL )‧ ( Audio, RGB, LVDS )‧ ( Audio, RGB, DVI-I, LVDS )‧ ( Audio, RGB, DVI-I, LVDS ).
THIS POST IS NOW OUTDATED! The instructions below only apply to kernel version setenv bootargs mxcfb0:dev=hdmi,1280x720M@60,if=RGB24U-Boot saveenvU-Boot run bootcmdWindows CEWindows Embedded Compact 7 from Adeneo contains two support for HDMI and the Freescale LVDS1 panel in the form of two separate O/S images ( NK.bin). QNXAt the time of this writing, only the 7″ Parallel RGB display is supported in QNX. Known issuesThere is a known bug in the HDMI driver which causes display corruption if an HDMI monitor is either disconnected and reconnected or powered down and back up during operation.
A customer just reminded me of an outstanding bug related to Ubuntu releases and the 7″ display.It appears that something in the startup of X decides to re-configure the display and in the process, bit 17 of the IPU1DI0GENERAL register gets cleared to zero. This bit defines the pixel clock polarity and this will result in visible artifacts on the display.If you see this problem, you can use the ‘devregs’ tool at to verify the symptom and temporarily fix it.root@linaro-ubuntu-desktop:# devregs IPU1DI0GENERALIPU1DI0GENERAL:0x02640000 =0x00300004root@linaro-ubuntu-desktop:# devregs IPU1DI0GENERAL 0x00320004IPU1DI0GENERAL:0x02640000 =0x00300004IPU1DI0GENERAL:0x02640000 0x00300004.0x00320004You can read about devregs in this post:And you can get the sources here. Hi Eric,I am trying to install Linux on our custom board similar to the I.MX6Q SabreLite board. I am using linux-imx6-boundary-imx3.0.354.0.0 and linux-imx6-boundary-imx3.0.351.1.1.
On the SabreLite HDMI uses I2C2, and on our custom board HDMI uses I2C3.How to move HDMI from I2C2 to I2C3?I am move I2CBOARDINFO(“mxchdmii2c”, 0x50) from static struct i2cboardinfo mxci2c1boardinfo initdata tostatic struct i2cboardinfo mxci2c2boardinfo initdata in boardmx6qsabrelite.c What else it is necessary to make? (excuse for my bad English).During u-boot loading time I see the image on the monitor, and during Linux operating time – no. I am looking for some video assistance on a custom i.MX6Q board we have in development. Currently I have HDMI and LVDS displays connected. When I boot our Ubuntu Linux kernel, only the video source which is attached to mxcfb0 displays the GUI. I can still utilize both displays using gstreamer. Should I be able to use both displays to extend the Ubuntu GUI?
If so is the xorg.conf file used to set this up?Earlier in the boot cycle only the selected display displays the Linux penguins while the other display isn’t even in sync. Once the file system starts to load both displays get in sync. Following is the u-boot environment variables:bootargs=console=ttymxc0,115200 video=mxcfb0:dev=hdmi,1280x720M@60,if=RGB24 video=mxcfb1:dev=ldb,1024x600M@60,if=RGB666If I switch the fb0 and fb1 variables, then the LVDS display works and the HDMI display does not.Is there something within my custom board files that control which display gets enabled? How do I get both displays to work during the early boot cycle? I would expect to see penguins on both displays.Thanks is advance. Hi Paul,Nice dig with the “my iWave board does.” 😉Penguins are easy though.
You’ll just need to unblank /dev/fb2 somewhere in the boot process:# echo 0 /sys/class/graphics/fb2/blankNote that /dev/fb1 is the YUV overlay associated with /dev/fb0 though. It’s not normally the second display.You can get a more complete picture through this bit of shell-fu to browse the /sys tree:for fb in /sys/class/graphics/fb?; doecho '- $fb';cat $fb/name;cat $fb/mode;cat $fb/fsldisp.;done. New finding on the Dual Screen issue with our iMX6Q custom board. I found the following error in my Xorg.0.log file – Screen 1 deleted because of no matching config section.
This would explain why I cannot utilize the second display. Hi,For some projects we need to adapt several LVDS displays to be supported on a sabreLITE board.We are using JB 4.2.2-1.1.0 from the bouldary repository.I found a 640×480 TFT (AUO G104VN01) and an appropriate connector and after changing the 6xbootscriptjb.txt I could see a good picture on the display.
But it seems that the Android desktop is 800 pixel width. I only can see 2/3 of the Android desktop. Strange is that dm.widthPixels gives 640.Is the minimum Android desktop widt 800?As we are running an own compiled Android it is possible for us to do changes.
Where and how does Android set the the desktop width?Many thanks,MichaelG. Hi Michael,The short answer is “No”. Android doesn’t have a minimum width of 800.We’re using Android with VGA displays (on the OC board), and also a 480×272 display.There is a bit of code in Android which determines whether to use a “tablet” or “phone” layout based on the screen resolution. In the “phone” layout, the on-screen controls for Home and Back aren’t displayed, so hard buttons are needed.If memory serves, VGA should select the tablet layout.Can you be more specific about what you’re seeing?Can you upload a photo and start a conversation on i.MX Community? Hey Eric, we’re seeing some strangeness with the way fg/bg gets assigned.
The original goal (since the application is coded this way) is to have fb0/fb1 used for hdmi and fb2/fb3 used for a lcd touchscreen. Booting with the original bootscript, the lcd doesn’t get a fg fb (fb3), and poking through sysfs shows fb3/fb4 set up as fg/bg for ldb. Don’t have one at the moment, but if memory serves, if an ldb is present, it will get fb2/fb3 and the lcd will get fb4.Unplugging the hdmi and fb0/fb1 ends up with the lcd and fb2/fb3 ends up on the ldb. I think this happens whether the hardware is present or not.If the bootscript is changed so the hdmidet is after the touchscreen probes, the lcd gets a fg/bg (fb0/fb1) the hdmi only gets a bg (fb2), and fb3/fb4 are assigned to ldb. Somewhat expected, unplugging hdmi puts ldb on fb2/fb3.Of couse, in all cases, the boot log shows mxcfb0-2 as on or off depending on what is present.Is there a simple explaination for what’s going on with fb2/fb3 and the presence of hdmi? If not, a more complicated wouldn’t hurt either. Hi Mark,I’d suggest doing this in two parts:.
Firstly, set ‘bootargs’ by hand until you get it all tested, and then. Work on the boot scriptStep 1 normally looks something likeU-Boot setenv bootargs blah blah video=mxcfb0:dev=hdmi,1280x720M@60,if=RGB24.U-Boot mmc dev 0 10800000 /boot/uImage && bootm 10800000You can copy the blah blah. From the kernel output where it says “Kernel Command-line” and save it in a text editor somewhere for fixup and paste into the U-Boot command line.The device specified in a video=mxcfb0: clause will be connected to /dev/fb0 and /dev/fb1. Likewise, video=mxcfb1: will set up /dev/fb2 and /dev/fb3.Once you have these commands, you can just build a boot script with precisely what you want and skip the whole auto-detect thing. That’s really only needed for folks like us who don’t know what kind of displays a customer will use. I hate to say it Eric, but I believe I’m running 1.1.1 (doesn’t use board-mx6nitrogen6x.c).
Hi Mark,Okay, we’ve figured this out. The trouble stems from an internal artifact of the hardware and how we’ve assigned display channels to HDMI.I apologize for the delay.
I knew this, but hadn’t visited it since we did the last October.At the hardware level, the i.MX6Q processor has two internal IPU devices, and each of them has a single channel that can be used for an overlay.The RGB display output is a functional part of an IPU, and our RGB connection is attached to DI0 or Display Interface 0 of that part.The LVDS and HDMI channels can be assigned to either IPU, but the assignment isn’t made at run-time. We hardcoded them ) and in the ipuid field.Displays are initialized in order of the video= statements on the kernel command-line, and the first display on each IPU will get a foreground or overlay layer.Since your command-line above initializes the LCD and HDMI ports, which are both assigned to IPU0, only the LCD gets the FG device.In the near term, you should probably edit the assignment of HDMI and place it on IPU1 to get two displays with overlays. First, really appreciate you looking into this, Eric. I went off yesterday digging into the lvds (ldb.c?) since it seemed to be the one that was always “taking over” any second foreground (along with just being present until the extra video= was added). I was coming to the realization that it was the ipu, but it probably would have been a while before coming back to the board file.The examples I did with lcd first and hdmi second were to satisfy an application requirement. The lcd has to have a fb/bg and hdmi really only needs one framebuffer. Unfortunately, what I’m hearing from the application people is that swapping all the framebuffers and especially getting hdmi to use the background is problematic.
So, the ideal situation would be to go back to hdmi first and lcd second. That being the case, I should probably go down a few lines for the lcdif assignment, correct? Back in front of a build environment and hardware.Using the 4.0.0 kernel, this does setup the displays as expected. The lcd is fb0/fb1 and hdmi is fb2/fb3. This kernel has been giving me problems with the application. The only good information I’ve gotten has been ENOTTY on the ioctl after opening /dev/galcore. After a short time, the application is killed with a SIGSEGV.Since that has been an issue, I’ve been using what I think is the previous kernel (1.1.1?
Since uname -a reports the same version, not sure how else to differentiate these), I made the same change in the board file there (board-mx6xsabrelite.c). Hi Chris,For all practical purposes (Nit6X10.1Hannstar Freescale 10.1″ Hannstar Freescale LVDS1). Only the plexiglass stand should be different.All of our current SD card images, and U-Boot should detect the panel if connected at boot time.Are you in a position to look at the output from U-boot on the serial console? You should see a message at boot time that says “detected Hannstar-XGA”.If not, please double-check the connection on the back of the panel. That one in particular has a habit of coming loose. Hi Eric:Thanks for the reply. I have tried two different boards with two different screens with the same result.
Below is the console output from boot.N.B.: edited to remove some irrelevant outputU-Boot 2009.08 (Aug 16 2012 - 10:06:42)CPU: Freescale i.MX 6 family 0.0V at 792 MHz.Loading file '/6qbootscript' from mmc device 1:1 (xxb1)361 bytes read## Executing script at 10008000Loading file '/boot/uImage' from mmc device 1:1 (xxb1)3627844 bytes read## Booting kernel from Legacy Image at 10800000.Image Name: Linux-3.0.15-ts-armv7lImage Type: ARM Linux Kernel Image (uncompressed)Data Size: 3627780 Bytes = 3.5 MBLoad Address: 10008000Entry Point: 10008000Verifying Checksum. OKLoading Kernel Image. OKOKStarting kernel.Uncompressing Linux.
Hi Eric:Thanks for your help. I now have the screen working! Now, it seems touch is not working. I am now using unnamed proprietary OS 🙂 that is driving the display just fine.
I run a command to see touch metrics like the following.# cat /dev/screen/0/dev-0vendor = egalaxproduct = (unknown)id string = egalax-0event type = SCREENEVENTMTOUCHowner pid = (none)focus = dpy-1button count = 0buttons = 0x0transform = 1 0 0,0 1 0,0 0 1power mode = SCREENPOWERMODEONreports = (none)metrics.total.count = 0metrics.total.power = 0metrics.delta.count = 0metrics.delta.power = 0#Per the vendor rep, I should see the metrics increasing as I touch the screen. The metrics never change. I have several boards, several cables and several screens. They all have the same problem. Do you have any tips for troubleshooting the touch function?Thanks,-CS. Thanks for the quick reply.
I’m not sure I understand fully, though. Does “Yes, but” mean I have to make changes to U-Boot (i.e. Your steps still apply) or does it mean I only need to change the device tree, or will I have do both?Either way, if I need to specify the timings in U-Boot: how do I re-compile and update U-Boot for a nitrogen6x board? Make nitrogen6q (nitrogen6x, nitrogen6dl?) then what?If I need to specify the timing in the device tree: Which.dts files will I need to look into?Thanks.cladden says.
Hello,we purchased the Nit6X1024x600 display including cable.We use the Nitrogen6X board and want to adjust the brightness and contrast of the display.The brightness can be changed via sysfs (sys/class/backlight/pwm-backlight.3/brightness, range 0-256)But ‘0’ means not that display backlight is switched off.How can I achieve that the brightness continuously decreases until the display backlight is off?And how can the contrast be changed?The SABRE Lite schematics shows a DISP0CONTRAST pin on LVDS0 20-pin connector (J6).The data sheet of the display shows a 40-pin connector. But no CONTRAST pin.How can the DISP0CONTRAST pin be used?Thanks in advanceMario. Dear Erich,we bought your products and have some questions to you:NIT6X1024x600NIT6X5MPBD-SL-i.MX6Defect descriptionIn debug set SabreLite (Boundary Devices) was discovered the following defect: when setting touch-screen display (N1T6X 1024×600) using LVDS connector to panel BD-SL-i.MX6 the picture on screen disappears in a few minutes, then appear color vertical lines. Thereby touch screen responds on touch, while brightness of the backdrop changes. When connecting the screen to HDMI output, the picture is displayed.Could you comment on the cause of the defect?How to solve this problem?
Hi Eric,I am trying to work out the mysteries of getting a LVDS display working with my iMX6 Saber Lite. I am close, but the resolution is a bit out.The display I am trying to use is:It is a 9.7″ display with 1024×768 pixel resolution.I tried it with the Ubunto 12.04 system (dist-upgrade’d from oneiric-imx6-20130307.tar.gz), and the display was recognized and came up perfectly – nice and clear. Except that the X server indicated a resolution of 1280×800 and I was missing the right hand and bottom parts of the desktopI installed fbset and it showed me:mode “1280×800-60”# D: 71.098 MHz, H: 49.374 kHz, V: 59.993 Hzgeometry 1280 800 1280 800 16timings 14065 40 40 10 3 80 10rgba 5/11,6/5,5/0,0/0endmodeI am not sure where it got that from.
Hi Eric,Thank you for that explanation. I did as you suggest, and now it works perfectly.Where I went wrong was assuming that because the panel came up when no HDMI display was connected, it must have been recognized by the start script. I was puzzled by why the kernel seemed to use mxcsdcfb.3.Now I see the penguins when booting, and the panel has the correct resolution. Maybe, but there’s no easy way.There are two primary issues:1. The frame buffer is malloc’d in U-Boot and isn’t stored such that the bdinfo command will show you where.
You’d need to instrument the code to figure out where it it, and2. U-Boot isn’t particularly adept at writing filesYou can be 100% certain that U-Boot takes each pixel directly into the frame buffer, so you should be able to do the same by converting the image into a.565 file and using ‘dd’ under Linux to write it to the frame-buffer there ( dd certainly doesn’t know about scaling).There are some tools around for Android to convert images to.565 files because that’s what the animated Android logo code uses. Hi everyone,I’m trying to connect SABRE Lite board to Chimei Innolux panel (model: V390HJ1-LE6) on LVDS connector.
My problem is that SABRE board has 20 pin LVDS connector and panel has 51 pin connector. Here is a pinout from Sabre: (on page 6), and here is from panel: (on page 19).First, is this even possible? Can SABRE be connected to that panel?
And, if it can be, what pin on SABRE do I need connect to pin on panel? Because, as it can be seen from pinouts, panels LVDS connector has, e. More GND pins than SABRE board.
Do I just connect pins that match and extra pins left unconnected?Thanks in advance,Robert. Hello ericn,I use an imx6solo card with linux 3.0.35 and android 4.4I wonder if it is possible to use two screens with two different resolutions.1 – HDMI 1920×1080 @ 60 (IPU0-DI0)2 – LCD 800×480 @ 60 (IPU0-DI1)The imx6 solo processor has only one IPU, is it possible to do that?I can currently display on 2 screens but with the same resolution (it is always DI0 which imposes the second resolution).U-boot command line:video=mxcfb0:dev=hdmi,1920x1080M@60,if=RGB24video=mxcfb1:dev=lcd,7inchLCD,if=RGB565 fbmem=28M,28M vmalloc=400Thank a lot for your answerPhil.