summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrey Dolnikov <andrey.dolnikov@cogentembedded.com>2018-03-09 17:21:11 +0300
committerVladimir Barinov <vladimir.barinov@cogentembedded.com>2018-03-12 03:48:44 +0300
commit9681c03f421a3def0bd21ff87a40293b7f38e09c (patch)
treec2dcc935c0a33b308131c4882f85963f6553c6e5
parent781b63a5f56a13a7211979ab3f90d40b4c376fc9 (diff)
Add V3H VIP devices support.
-rw-r--r--meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0107-V3H-device-tree-Add-VIP-devices-IRQs.patch189
-rw-r--r--meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/condor.cfg1
-rw-r--r--meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/v3hsk.cfg1
-rw-r--r--meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas_4.9.bbappend6
4 files changed, 197 insertions, 0 deletions
diff --git a/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0107-V3H-device-tree-Add-VIP-devices-IRQs.patch b/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0107-V3H-device-tree-Add-VIP-devices-IRQs.patch
new file mode 100644
index 0000000..7198428
--- /dev/null
+++ b/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0107-V3H-device-tree-Add-VIP-devices-IRQs.patch
@@ -0,0 +1,189 @@
+From 2ef84c77a4c536dc1996c2e6ca2dc3cfa743fe7e Mon Sep 17 00:00:00 2001
+From: Andrey Dolnikov <andrey.dolnikov@cogentembedded.com>
+Date: Fri, 9 Mar 2018 15:50:29 +0300
+Subject: [PATCH] V3H device tree: Add VIP devices IRQs.
+
+---
+ arch/arm64/boot/dts/renesas/r8a7798.dtsi | 110 ++++++++++++++++++++++++++++---
+ 1 file changed, 100 insertions(+), 10 deletions(-)
+
+diff --git a/arch/arm64/boot/dts/renesas/r8a7798.dtsi b/arch/arm64/boot/dts/renesas/r8a7798.dtsi
+index 6412a24..b8b0665 100644
+--- a/arch/arm64/boot/dts/renesas/r8a7798.dtsi
++++ b/arch/arm64/boot/dts/renesas/r8a7798.dtsi
+@@ -1627,72 +1627,162 @@
+ rse;
+ };
+
+- disp {
++ vip_disp_status {
+ compatible = "generic-uio";
+ reg = <0 0xe7a00000 0 0x10000>;
++ interrupts = <GIC_SPI 238 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&cpg CPG_MOD 101>;
+ power-domains = <&sysc R8A7798_PD_A3VIP>;
+ };
+
+- umf {
++ vip_disp_error {
++ compatible = "generic-uio";
++ reg = <0 0xe7a00000 0 0x10000>;
++ interrupts = <GIC_SPI 239 IRQ_TYPE_LEVEL_HIGH>;
++ clocks = <&cpg CPG_MOD 101>;
++ power-domains = <&sysc R8A7798_PD_A3VIP>;
++ };
++
++ vip_umf_status {
+ compatible = "generic-uio";
+ reg = <0 0xe7a10000 0 0x10000>;
++ interrupts = <GIC_SPI 242 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&cpg CPG_MOD 102>;
+ power-domains = <&sysc R8A7798_PD_A3VIP1>;
+ };
+
+- smd_ps {
++ vip_umf_error {
++ compatible = "generic-uio";
++ reg = <0 0xe7a10000 0 0x10000>;
++ interrupts = <GIC_SPI 243 IRQ_TYPE_LEVEL_HIGH>;
++ clocks = <&cpg CPG_MOD 102>;
++ power-domains = <&sysc R8A7798_PD_A3VIP1>;
++ };
++
++ vip_smd_ps_status {
++ compatible = "generic-uio";
++ reg = <0 0xe7a20000 0 0x10000>;
++ interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
++ clocks = <&cpg CPG_MOD 1102>;
++ power-domains = <&sysc R8A7798_PD_A3VIP1>;
++ };
++
++ vip_smd_ps_error {
+ compatible = "generic-uio";
+ reg = <0 0xe7a20000 0 0x10000>;
++ interrupts = <GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&cpg CPG_MOD 1102>;
+ power-domains = <&sysc R8A7798_PD_A3VIP1>;
+ };
+
+- smd_est {
++ vip_smd_est_status {
+ compatible = "generic-uio";
+ reg = <0 0xe7a30000 0 0x10000>;
++ interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&cpg CPG_MOD 1101>;
+ power-domains = <&sysc R8A7798_PD_A3VIP1>;
+ };
+
+- smd_post {
++ vip_smd_est_error {
++ compatible = "generic-uio";
++ reg = <0 0xe7a30000 0 0x10000>;
++ interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>;
++ clocks = <&cpg CPG_MOD 1101>;
++ power-domains = <&sysc R8A7798_PD_A3VIP1>;
++ };
++
++ vip_smd_post_status {
++ compatible = "generic-uio";
++ reg = <0 0xe7a40000 0 0x10000>;
++ interrupts = <GIC_SPI 173 IRQ_TYPE_LEVEL_HIGH>;
++ clocks = <&cpg CPG_MOD 1100>;
++ power-domains = <&sysc R8A7798_PD_A3VIP1>;
++ };
++
++ vip_smd_post_error {
+ compatible = "generic-uio";
+ reg = <0 0xe7a40000 0 0x10000>;
++ interrupts = <GIC_SPI 235 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&cpg CPG_MOD 1100>;
+ power-domains = <&sysc R8A7798_PD_A3VIP1>;
+ };
+
+- cle0 {
++ vip_cle0_status {
+ compatible = "generic-uio";
+ reg = <0 0xe7a50000 0 0x10000>;
++ interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&cpg CPG_MOD 1004>;
+ power-domains = <&sysc R8A7798_PD_A3VIP2>;
+ };
+
+- cle1 {
++ vip_cle0_error {
++ compatible = "generic-uio";
++ reg = <0 0xe7a50000 0 0x10000>;
++ interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
++ clocks = <&cpg CPG_MOD 1004>;
++ power-domains = <&sysc R8A7798_PD_A3VIP2>;
++ };
++
++ vip_cle1_status {
+ compatible = "generic-uio";
+ reg = <0 0xe7a60000 0 0x10000>;
++ interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&cpg CPG_MOD 1003>;
+ power-domains = <&sysc R8A7798_PD_A3VIP2>;
+ };
+
+- cle2 {
++ vip_cle1_error {
++ compatible = "generic-uio";
++ reg = <0 0xe7a60000 0 0x10000>;
++ interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
++ clocks = <&cpg CPG_MOD 1003>;
++ power-domains = <&sysc R8A7798_PD_A3VIP2>;
++ };
++
++ vip_cle2_status {
++ compatible = "generic-uio";
++ reg = <0 0xe7a70000 0 0x10000>;
++ interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
++ clocks = <&cpg CPG_MOD 1002>;
++ power-domains = <&sysc R8A7798_PD_A3VIP2>;
++ };
++
++ vip_cle2_error {
+ compatible = "generic-uio";
+ reg = <0 0xe7a70000 0 0x10000>;
++ interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&cpg CPG_MOD 1002>;
+ power-domains = <&sysc R8A7798_PD_A3VIP2>;
+ };
+
+- cle3 {
++ vip_cle3_status {
+ compatible = "generic-uio";
+ reg = <0 0xe7a80000 0 0x10000>;
++ interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&cpg CPG_MOD 1001>;
+ power-domains = <&sysc R8A7798_PD_A3VIP2>;
+ };
+
+- cle4 {
++ vip_cle3_erorr {
++ compatible = "generic-uio";
++ reg = <0 0xe7a80000 0 0x10000>;
++ interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
++ clocks = <&cpg CPG_MOD 1001>;
++ power-domains = <&sysc R8A7798_PD_A3VIP2>;
++ };
++
++ vip_cle4_status {
++ compatible = "generic-uio";
++ reg = <0 0xe7a90000 0 0x10000>;
++ interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
++ clocks = <&cpg CPG_MOD 1000>;
++ power-domains = <&sysc R8A7798_PD_A3VIP2>;
++ };
++
++ vip_cle4_error {
+ compatible = "generic-uio";
+ reg = <0 0xe7a90000 0 0x10000>;
++ interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&cpg CPG_MOD 1000>;
+ power-domains = <&sysc R8A7798_PD_A3VIP2>;
+ };
+--
+2.7.4
+
diff --git a/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/condor.cfg b/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/condor.cfg
index 9b2a6a9..7322e21 100644
--- a/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/condor.cfg
+++ b/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/condor.cfg
@@ -27,6 +27,7 @@ CONFIG_TOUCHSCREEN_PROPERTIES=y
CONFIG_HID_MULTITOUCH=y
CONFIG_SERIAL_SH_SCI_DMA=y
CONFIG_UIO=y
+CONFIG_UIO_PDRV_GENIRQ=m
CONFIG_SH_ETH=y
CONFIG_BLK_DEV_NVME=m
CONFIG_SATA_ACARD_AHCI=y
diff --git a/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/v3hsk.cfg b/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/v3hsk.cfg
index 7f04bb1..3713001 100644
--- a/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/v3hsk.cfg
+++ b/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/v3hsk.cfg
@@ -31,6 +31,7 @@ CONFIG_TOUCHSCREEN_PROPERTIES=y
CONFIG_HID_MULTITOUCH=y
CONFIG_SERIAL_SH_SCI_DMA=y
CONFIG_UIO=y
+CONFIG_UIO_PDRV_GENIRQ=m
CONFIG_SPI_SLAVE=y
CONFIG_SPI_SLAVE_TIME=y
CONFIG_SPI_SLAVE_SYSTEM_CONTROL=y
diff --git a/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas_4.9.bbappend b/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas_4.9.bbappend
index 60a97e5..61a87e5 100644
--- a/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas_4.9.bbappend
+++ b/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas_4.9.bbappend
@@ -84,6 +84,7 @@ SRC_URI_append = " \
file://0104-media-vsp1-extend-DRM-VSP1-interface.patch \
file://0105-media-rcar-imr-IMR-driver-updates-for-raw-DL.patch \
file://0106-media-rcar-imr-Add-RSE-support.patch \
+ file://0107-V3H-device-tree-Add-VIP-devices-IRQs.patch \
"
SRC_URI_append_h3ulcb = " file://ulcb.cfg"
@@ -156,3 +157,8 @@ KERNEL_DEVICETREE_append_v3hsk = " \
renesas/r8a7798-v3hsk-vbm.dtb \
renesas/r8a7798-v3hsk-vbm-v2.dtb \
"
+
+# V3H VIP devices
+KERNEL_MODULE_AUTOLOAD_r8a7798 += "uio_pdrv_genirq"
+KERNEL_MODULE_PROBECONF_r8a7798 += "uio_pdrv_genirq"
+module_conf_uio_pdrv_genirq_r8a7798 = 'options uio_pdrv_genirq of_id="generic-uio"'