Skip to content

Commit

Permalink
Add joystick, spi, i2c and 800x480 touch screen support
Browse files Browse the repository at this point in the history
:Release Notes:
Add joystick, spi, i2c and 800x480 touch screen support

:Detailed Notes:
Display: CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN
Touch: CONFIG_SPI_BCM2835 + CONFIG_TOUCHSCREEN_RPI_FT5406
Joystick: CONFIG_INPUT_JOYDEV + CONFIG_JOYSTICK_XPAD
I2C: CONFIG_I2C_CHARDEV

Migrate the changes below from meta-webosose@r2d2 to meta-r2d2:
  - https://gpro.lgsvl.com/#/c/207417/
    Support RPI official 7 inch display (800x480)
  - https://gpro.lgsvl.com/#/c/207428/
    include i2c-dev and joydev kernel modules in image
  - https://gpro.lgsvl.com/#/c/207737/
    Enable X-Box gamepad driver in kernel

:Testing Performed:
Local testing on rpi device

:QA Notes:
None

:Issues Addressed:
N/A

Change-Id: I65c6f22a5dc573af16827c042477710f72631b0f
  • Loading branch information
andre-rosa authored and bshin-lge committed Jun 14, 2018
1 parent fe134b5 commit 9024b9b
Show file tree
Hide file tree
Showing 8 changed files with 152 additions and 0 deletions.
1 change: 1 addition & 0 deletions recipes-bsp/bootfiles/rpi-config_git.bbappend
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,5 @@ do_deploy_append() {
echo "start_x=1" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
echo "dtparam=i2c1=on" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
echo "dtparam=i2c_arm=on" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
echo "dtoverlay=rpi-ft5406" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
}
10 changes: 10 additions & 0 deletions recipes-core/webos-initscripts/webos-initscripts.bbappend
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Copyright (c) 2018 LG Electronics, Inc.

EXTENDPRAUTO_append = "r2d2rpi1"

FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:"

SRC_URI_append = " \
file://0001-Set-default-resolution-to-800x480.patch \
"

Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
diff --git a/files/systemd/scripts/common/surface-manager-env.sh.in b/files/systemd/scripts/common/surface-manager-env.sh.in
index 5ac1a7e..b797518 100644
--- a/files/systemd/scripts/common/surface-manager-env.sh.in
+++ b/files/systemd/scripts/common/surface-manager-env.sh.in
@@ -17,8 +17,10 @@

# Compositor geometry
# syntax: WIDTH[x]HEIGHT[+/-]X[+/-]Y[r]ROTATION
-c=$(luna-send -n 1 -a com.webos.surfacemanager luna://com.webos.service.config/getConfigs '{"configNames":["com.webos.surfacemanager.compositorGeometry"]}' | grep -oE "[0-9]+x[0-9]+[\+\-][0-9]+[\+\-][0-9]+r[0-9]+" || echo "0x0+0+0r0")
-c=${c/-/+-}; c=${c//[x+r]/:}
+# luna-send -f -n 1 luna://com.webos.service.config/setConfigs '{"configs":{"com.webos.surfacemanager.compositorGeometry":"800x480+0+0r0"}}'
+# c=$(luna-send -n 1 -a com.webos.surfacemanager luna://com.webos.service.config/getConfigs '{"configNames":["com.webos.surfacemanager.compositorGeometry"]}' | grep -oE "[0-9]+x[0-9]+[\+\-][0-9]+[\+\-][0-9]+r[0-9]+" || echo "0x0+0+0r0")
+# c=${c/-/+-}; c=${c//[x+r]/:}
+c=800:480:0:0:0

export WEBOS_COMPOSITOR_WIDTH=${c%%:*}; c=${c#$WEBOS_COMPOSITOR_WIDTH:}
export WEBOS_COMPOSITOR_HEIGHT=${c%%:*}; c=${c#$WEBOS_COMPOSITOR_HEIGHT:}
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
--- kernel-source/arch/arm/configs/bcm2709_defconfig.orig 2018-06-13 14:36:56.088482300 -0700
+++ kernel-source/arch/arm/configs/bcm2709_defconfig 2018-06-13 15:02:28.528081258 -0700
@@ -571,7 +571,7 @@ CONFIG_INPUT_TOUCHSCREEN=y
CONFIG_TOUCHSCREEN_ADS7846=m
CONFIG_TOUCHSCREEN_EGALAX=m
CONFIG_TOUCHSCREEN_FT6236=m
-CONFIG_TOUCHSCREEN_RPI_FT5406=m
+CONFIG_TOUCHSCREEN_RPI_FT5406=y
CONFIG_TOUCHSCREEN_USB_COMPOSITE=m
CONFIG_TOUCHSCREEN_STMPE=m
CONFIG_INPUT_MISC=y
@@ -612,13 +612,13 @@ CONFIG_TTY_PRINTK=y
CONFIG_HW_RANDOM=y
CONFIG_RAW_DRIVER=y
CONFIG_I2C=y
-CONFIG_I2C_CHARDEV=m
+CONFIG_I2C_CHARDEV=y
CONFIG_I2C_MUX_PCA954x=m
CONFIG_I2C_BCM2708=m
CONFIG_I2C_GPIO=m
CONFIG_SPI=y
-CONFIG_SPI_BCM2835=m
-CONFIG_SPI_BCM2835AUX=m
+CONFIG_SPI_BCM2835=y
+CONFIG_SPI_BCM2835AUX=y
CONFIG_SPI_SPIDEV=y
CONFIG_PPS=m
CONFIG_PPS_CLIENT_LDISC=m
@@ -832,7 +832,7 @@ CONFIG_DRM=m
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
CONFIG_DRM_UDL=m
CONFIG_DRM_PANEL_SIMPLE=m
-CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN=m
+CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN=y
CONFIG_DRM_VC4=m
CONFIG_FB=y
CONFIG_FB_BCM2708=y
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
--- git/arch/arm/configs/bcm2709_defconfig.orig 2018-06-07 13:38:32.820503748 -0700
+++ git/arch/arm/configs/bcm2709_defconfig 2018-06-07 13:39:46.132867285 -0700
@@ -555,7 +555,7 @@ CONFIG_IEEE802154_MRF24J40=m
CONFIG_IEEE802154_CC2520=m
CONFIG_INPUT_POLLDEV=m
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
-CONFIG_INPUT_JOYDEV=m
+CONFIG_INPUT_JOYDEV=y
CONFIG_INPUT_EVDEV=m
# CONFIG_KEYBOARD_ATKBD is not set
CONFIG_KEYBOARD_GPIO=m
@@ -563,7 +563,7 @@ CONFIG_KEYBOARD_GPIO=m
CONFIG_INPUT_JOYSTICK=y
CONFIG_JOYSTICK_IFORCE=m
CONFIG_JOYSTICK_IFORCE_USB=y
-CONFIG_JOYSTICK_XPAD=m
+CONFIG_JOYSTICK_XPAD=y
CONFIG_JOYSTICK_XPAD_FF=y
CONFIG_JOYSTICK_XPAD_LEDS=y
CONFIG_JOYSTICK_RPISENSE=m
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
--- kernel-source/arch/arm/configs/bcm2709_defconfig.orig 2018-06-13 14:36:56.088482300 -0700
+++ kernel-source/arch/arm/configs/bcm2709_defconfig 2018-06-13 15:02:28.528081258 -0700
@@ -571,7 +571,7 @@ CONFIG_INPUT_TOUCHSCREEN=y
CONFIG_TOUCHSCREEN_ADS7846=m
CONFIG_TOUCHSCREEN_EGALAX=m
CONFIG_TOUCHSCREEN_FT6236=m
-CONFIG_TOUCHSCREEN_RPI_FT5406=m
+CONFIG_TOUCHSCREEN_RPI_FT5406=y
CONFIG_TOUCHSCREEN_USB_COMPOSITE=m
CONFIG_TOUCHSCREEN_STMPE=m
CONFIG_INPUT_MISC=y
@@ -612,13 +612,13 @@ CONFIG_TTY_PRINTK=y
CONFIG_HW_RANDOM=y
CONFIG_RAW_DRIVER=y
CONFIG_I2C=y
-CONFIG_I2C_CHARDEV=m
+CONFIG_I2C_CHARDEV=y
CONFIG_I2C_MUX_PCA954x=m
CONFIG_I2C_BCM2708=m
CONFIG_I2C_GPIO=m
CONFIG_SPI=y
-CONFIG_SPI_BCM2835=m
-CONFIG_SPI_BCM2835AUX=m
+CONFIG_SPI_BCM2835=y
+CONFIG_SPI_BCM2835AUX=y
CONFIG_SPI_SPIDEV=y
CONFIG_PPS=m
CONFIG_PPS_CLIENT_LDISC=m
@@ -832,7 +832,7 @@ CONFIG_DRM=m
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
CONFIG_DRM_UDL=m
CONFIG_DRM_PANEL_SIMPLE=m
-CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN=m
+CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN=y
CONFIG_DRM_VC4=m
CONFIG_FB=y
CONFIG_FB_BCM2708=y
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
--- git/arch/arm/configs/bcm2709_defconfig.orig 2018-06-07 13:38:32.820503748 -0700
+++ git/arch/arm/configs/bcm2709_defconfig 2018-06-07 13:39:46.132867285 -0700
@@ -555,7 +555,7 @@ CONFIG_IEEE802154_MRF24J40=m
CONFIG_IEEE802154_CC2520=m
CONFIG_INPUT_POLLDEV=m
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
-CONFIG_INPUT_JOYDEV=m
+CONFIG_INPUT_JOYDEV=y
CONFIG_INPUT_EVDEV=m
# CONFIG_KEYBOARD_ATKBD is not set
CONFIG_KEYBOARD_GPIO=m
@@ -563,7 +563,7 @@ CONFIG_KEYBOARD_GPIO=m
CONFIG_INPUT_JOYSTICK=y
CONFIG_JOYSTICK_IFORCE=m
CONFIG_JOYSTICK_IFORCE_USB=y
-CONFIG_JOYSTICK_XPAD=m
+CONFIG_JOYSTICK_XPAD=y
CONFIG_JOYSTICK_XPAD_FF=y
CONFIG_JOYSTICK_XPAD_LEDS=y
CONFIG_JOYSTICK_RPISENSE=m
10 changes: 10 additions & 0 deletions recipes-kernel/linux/linux-raspberrypi_%.bbappend
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Copyright (c) 2018 LG Electronics, Inc.

EXTENDPRAUTO_append = "r2d21"

FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}-${SHRT_VER}:"

SRC_URI_append = " \
file://0001-Enable-raspberrypi-official-7-inch-touch-screen.patch \
file://0002-Enable-joystick-support.patch \
"

0 comments on commit 9024b9b

Please sign in to comment.