diff options
author | Andrey Dolnikov <andrey.dolnikov@cogentembedded.com> | 2018-03-09 17:21:11 +0300 |
---|---|---|
committer | Vladimir Barinov <vladimir.barinov@cogentembedded.com> | 2018-03-12 03:48:44 +0300 |
commit | 9681c03f421a3def0bd21ff87a40293b7f38e09c (patch) | |
tree | c2dcc935c0a33b308131c4882f85963f6553c6e5 /meta-rcar-gen3-adas | |
parent | 781b63a5f56a13a7211979ab3f90d40b4c376fc9 (diff) |
Add V3H VIP devices support.
Diffstat (limited to 'meta-rcar-gen3-adas')
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"' |