Difference between revisions of "R-Car/Boards/Porter:BD101LCC1"

From eLinux.org
Jump to: navigation, search
(Created page with "= Hardware = For detailed description, display and touchscreen datasheets and 'where to buy' information see [http://boundarydevices.com/product/bd101lcc1-10-1-1280x800-displa...")
 
(Connection)
 
(13 intermediate revisions by the same user not shown)
Line 1: Line 1:
 +
This page provides information (quick how-to) regarding connecting 10.1″ LG IPS Display+touch with Porter board
 +
 
= Hardware =
 
= Hardware =
For detailed description, display and touchscreen datasheets and 'where to buy' information see [http://boundarydevices.com/product/bd101lcc1-10-1-1280x800-display/ Boundary Devices] official web-site.
+
For detailed description, display and touchscreen datasheets and 'where to buy' information see [http://boundarydevices.com/product/bd101lcc1-10-1-1280x800-display/ Boundary Devices] official web-site.  
 +
Useful links: [http://boundarydevices.com/wp-content/uploads/2014/12/LP101WX1-SLN2-Final-CAS.pdf Display Datasheet]
  
= Connecting =
+
= Connection =
To connect BD101LCC1 to Porter board 2 cables required:
+
To connect BD101LCC1 with Porter board two cables required:
 
* LVDS cable. The one provided with the display is suitable and should be connected to J14 on the display controller board and to [[R-Car/Boards/Porter:Hardware#LVDS (CN30)|CN30]] on the Porter.
 
* LVDS cable. The one provided with the display is suitable and should be connected to J14 on the display controller board and to [[R-Car/Boards/Porter:Hardware#LVDS (CN30)|CN30]] on the Porter.
* Touchscreen and backlight cable. Should be connected to J14 on the display controller board and to [[R-Car/Boards/Porter:Hardware#Board Layout| I2C Touchscreen connector]] on the Porter. See the table below showing cable pin-to-pin connection scheme.
+
* Touchscreen and backlight cable. Should be connected to J15 on the display controller board and to [[R-Car/Boards/Porter:Hardware#Board Layout| CN31 (I2C Touchscreen)]] on the Porter. See the table below showing cable pin-to-pin connection scheme.
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! Line name !! BD101LCC1 (J15) pin # !! Porter CN30 pin#
+
! Line name !! BD101LCC1 (J14) pin # !! Porter CN31 pin#
 
|-
 
|-
| Example || Example || Example
+
| +5V || 1 || 7
 
|-
 
|-
| Example || Example || Example
+
| Touchscreen IRQ || 4 || 2
 
|-
 
|-
| Example || Example || Example
+
| I2C SDA || 5 || 4
 
|-
 
|-
| Example || Example || Example
+
| I2C SCL || 6 || 3
 
|-
 
|-
| Example || Example || Example
+
| Ground || 7 || 5
 
|}
 
|}
 +
* To enable backlight Porter [[R-Car/Boards/Porter:Hardware#Board Layout| JP10]] jumper should be set to 1-2 closed. This is specific for BD101LCC1 where pin #20 of the LVDS cable is used for PWM, so closing JP10 1-2 actually sets the brightness to maximum.
  
 
= Software =
 
= Software =
 +
== LVDS display parameters ==
 +
Porter BSP enables LG 10" LP101WX1 LVDS display parameters by default, so no additional modifications are needed. To support another LVDS display Linux kernel need to be modified. See ''arch/arm/mach-shmobile/board-porter-reference.c'' file, LVDS part of the ''porter_du_encoders'' structure:
 +
<pre>
 +
static struct rcar_du_encoder_data porter_du_encoders[] = {
 +
{
 +
.type = RCAR_DU_ENCODER_HDMI,
 +
.output = RCAR_DU_OUTPUT_DPAD0,
 +
},
 +
{
 +
.type = RCAR_DU_ENCODER_NONE,
 +
.output = RCAR_DU_OUTPUT_LVDS0,
 +
.connector.lvds.panel = {
 +
.width_mm = 229,
 +
.height_mm = 149,
 +
.mode = {
 +
.clock = 69000,
 +
.hdisplay = 1280,
 +
.hsync_start = 1280 + 48,
 +
.hsync_end = 1280 + 48 + 32,
 +
.htotal = 1280 + 48 + 32 + 80,
 +
.vdisplay = 800,
 +
.vsync_start = 800 + 2,
 +
.vsync_end = 800 + 2 + 6,
 +
.vtotal = 800 + 2 + 6 + 15,
 +
.flags = 0,
 +
},
 +
},
 +
},
 +
};
 +
</pre>
 +
 +
== Touchscreen driver ==
 +
To enable touchscreen the [[File:0001-FT5x06-support.patch|0001-FT5x06-support.patch]] patch need to be applied to the Linux kernel. It contains the driver itself and corresponding modifications to the Porter device tree file.<br/>
 +
To do so it should be placed under ''meta-renesas-lcb/recipes-kernel/linux/linux-renesas/'' directory, added to the ''meta-renesas-lcb/recipes-kernel/linux/linux-renesas/linux-renesas_3.10.bbappend'' file.<br/>
 +
Also ''meta-renesas-lcb/recipes-kernel/linux/linux-renesas/linux-renesas_3.10.bbappend'' need to be modifed to enable the driver.<br/>
 +
As a result ''meta-renesas-lcb/recipes-kernel/linux/linux-renesas/linux-renesas_3.10.bbappend'' should be:
 +
<pre>
 +
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
 +
COMPATIBLE_MACHINE = "(silk|porter)"
 +
 +
SRC_URI_append = " \
 +
    file://0001-kernel-Silk-board-support.patch \
 +
    file://0002-kernel-silk-fix-ethernet-phy-irq.patch \
 +
    ...
 +
    [snip]
 +
    ...
 +
    file://0001-FT5x06-support.patch \
 +
"
 +
do_configure_append_porter() {
 +
    # Enable CAN
 +
    ...
 +
    [snip]
 +
    ...
 +
 +
    # Enable FT5x06 touchscreen
 +
    kernel_configure_variable TOUCHSCREEN_FT5X06 y
 +
 +
    yes '' | oe_runmake oldconfig
 +
}
 +
</pre>

Latest revision as of 02:38, 7 May 2015

This page provides information (quick how-to) regarding connecting 10.1″ LG IPS Display+touch with Porter board

Hardware

For detailed description, display and touchscreen datasheets and 'where to buy' information see Boundary Devices official web-site. Useful links: Display Datasheet

Connection

To connect BD101LCC1 with Porter board two cables required:

  • LVDS cable. The one provided with the display is suitable and should be connected to J14 on the display controller board and to CN30 on the Porter.
  • Touchscreen and backlight cable. Should be connected to J15 on the display controller board and to CN31 (I2C Touchscreen) on the Porter. See the table below showing cable pin-to-pin connection scheme.
Line name BD101LCC1 (J14) pin # Porter CN31 pin#
+5V 1 7
Touchscreen IRQ 4 2
I2C SDA 5 4
I2C SCL 6 3
Ground 7 5
  • To enable backlight Porter JP10 jumper should be set to 1-2 closed. This is specific for BD101LCC1 where pin #20 of the LVDS cable is used for PWM, so closing JP10 1-2 actually sets the brightness to maximum.

Software

LVDS display parameters

Porter BSP enables LG 10" LP101WX1 LVDS display parameters by default, so no additional modifications are needed. To support another LVDS display Linux kernel need to be modified. See arch/arm/mach-shmobile/board-porter-reference.c file, LVDS part of the porter_du_encoders structure:

static struct rcar_du_encoder_data porter_du_encoders[] = {
	{
		.type = RCAR_DU_ENCODER_HDMI,
		.output = RCAR_DU_OUTPUT_DPAD0,
	},
	{
		.type = RCAR_DU_ENCODER_NONE,
		.output = RCAR_DU_OUTPUT_LVDS0,
		.connector.lvds.panel = {
			.width_mm = 229,
			.height_mm = 149,
			.mode = {
				.clock = 69000,
				.hdisplay = 1280,
				.hsync_start = 1280 + 48,
				.hsync_end = 1280 + 48 + 32,
				.htotal = 1280 + 48 + 32 + 80,
				.vdisplay = 800,
				.vsync_start = 800 + 2,
				.vsync_end = 800 + 2 + 6,
				.vtotal = 800 + 2 + 6 + 15,
				.flags = 0,
			},
		},
	},
};

Touchscreen driver

To enable touchscreen the File:0001-FT5x06-support.patch patch need to be applied to the Linux kernel. It contains the driver itself and corresponding modifications to the Porter device tree file.
To do so it should be placed under meta-renesas-lcb/recipes-kernel/linux/linux-renesas/ directory, added to the meta-renesas-lcb/recipes-kernel/linux/linux-renesas/linux-renesas_3.10.bbappend file.
Also meta-renesas-lcb/recipes-kernel/linux/linux-renesas/linux-renesas_3.10.bbappend need to be modifed to enable the driver.
As a result meta-renesas-lcb/recipes-kernel/linux/linux-renesas/linux-renesas_3.10.bbappend should be:

FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
COMPATIBLE_MACHINE = "(silk|porter)"

SRC_URI_append = " \
    file://0001-kernel-Silk-board-support.patch \
    file://0002-kernel-silk-fix-ethernet-phy-irq.patch \
    ...
    [snip]
    ...
    file://0001-FT5x06-support.patch \
"
do_configure_append_porter() {
    # Enable CAN
    ...
    [snip]
    ...

    # Enable FT5x06 touchscreen
    kernel_configure_variable TOUCHSCREEN_FT5X06 y

    yes '' | oe_runmake oldconfig
}