summaryrefslogtreecommitdiffstats
path: root/meta-rcar-gen3/recipes-kernel/linux-libc-headers
diff options
context:
space:
mode:
authorThuy Tran <thuy.tran.xh@rvc.renesas.com>2017-11-15 14:33:39 +0700
committerThuy Tran <thuy.tran.xh@rvc.renesas.com>2017-11-24 20:15:23 +0700
commit4de23dc93df3b8d77c468b16b1d2003a66eb9447 (patch)
tree31dedadeec9cec34a61a5fe0cdee1478307ae9d3 /meta-rcar-gen3/recipes-kernel/linux-libc-headers
parentf218c158a4291c9715d304e6429489f88fbe5a84 (diff)
rcar-gen3: linux-renesas: Update SRC_URI to support ICCOM module
This commit modifies Linux BSP recipes to add more patches to support ICCOM module. Signed-off-by: Thuy Tran <thuy.tran.xh@rvc.renesas.com> Signed-off-by: Takamitsu Honda <takamitsu.honda.pv@renesas.com>
Diffstat (limited to 'meta-rcar-gen3/recipes-kernel/linux-libc-headers')
-rw-r--r--meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-Revert-arm64-dts-r8a77965-Add-MFIS-device-node.patch35
-rw-r--r--meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0002-Revert-arm64-dts-r8a77965-Add-MFIS-Lock-device-node.patch35
-rw-r--r--meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0003-Revert-arm64-dts-r8a7796-Add-MFIS-device-node.patch35
-rw-r--r--meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0004-Revert-arm64-dts-r8a7796-Add-MFIS-Lock-device-node.patch43
-rw-r--r--meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0005-Revert-arm64-dts-r8a7795-Add-MFIS-device-node.patch35
-rw-r--r--meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0006-Revert-arm64-dts-r8a7795-Add-MFIS-Lock-device-node.patch34
-rw-r--r--meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0007-Revert-arm64-dts-r8a7795-es1-Add-MFIS-device-node.patch35
-rw-r--r--meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0008-Revert-arm64-dts-r8a7795-es1-Add-MFIS-Lock-device-no.patch44
-rw-r--r--meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0009-Revert-Revert-arm64-dts-r8a7795-es1-Add-MFIS-device-.patch45
-rw-r--r--meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0010-Revert-Revert-arm64-dts-r8a7795-es1-Add-MFIS-Lock-de.patch35
-rw-r--r--meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0011-Revert-Revert-arm64-dts-r8a7795-Add-MFIS-device-node.patch36
-rw-r--r--meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0012-Revert-Revert-arm64-dts-r8a7795-Add-MFIS-Lock-device.patch35
-rw-r--r--meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0013-Revert-Revert-arm64-dts-r8a7796-Add-MFIS-device-node.patch45
-rw-r--r--meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0014-Revert-Revert-arm64-dts-r8a7795-Add-MFIS-Lock-device.patch35
-rw-r--r--meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0015-Revert-DT-hwspinlock-Add-binding-documentation-for-R.patch49
-rw-r--r--meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0016-Revert-hwspinlock-rcar-Add-support-for-R-Car-Gen3-Ha.patch220
-rw-r--r--meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0017-Revert-Revert-hwspinlock-rcar-Add-support-for-R-Car-.patch214
-rw-r--r--meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0018-Revert-Revert-hwspinlock-rcar-Remove-the-MFIS-clock-.patch104
-rw-r--r--meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0019-Revert-Revert-hwspinlock-rcar-Add-pm_runtime_disable.patch44
-rw-r--r--meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0020-Revert-Revert-DT-hwspinlock-Add-binding-documentatio.patch42
-rw-r--r--meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0021-arm64-dts-r8a77965-Add-MFIS-device-node.patch34
-rw-r--r--meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0022-arm64-dts-r8a7795-Add-MFIS-Lock-device-node.patch33
-rw-r--r--meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0023-DT-hwspinlock-Add-support-for-R8A77965.patch25
-rw-r--r--meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/iccom_feature.scc23
-rw-r--r--meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers_4.9.bb5
25 files changed, 1320 insertions, 0 deletions
diff --git a/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-Revert-arm64-dts-r8a77965-Add-MFIS-device-node.patch b/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-Revert-arm64-dts-r8a77965-Add-MFIS-device-node.patch
new file mode 100644
index 0000000..f18f3c9
--- /dev/null
+++ b/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-Revert-arm64-dts-r8a77965-Add-MFIS-device-node.patch
@@ -0,0 +1,35 @@
+From 756117c3d47d41048505955c260227bf6a274480 Mon Sep 17 00:00:00 2001
+From: Hiroki Negishi <hiroki.negishi.bx@renesas.com>
+Date: Mon, 13 Nov 2017 11:29:53 +0900
+Subject: [PATCH 01/23] Revert "arm64: dts: r8a77965: Add MFIS device node"
+
+This reverts commit 85ca8548e474 ("arm64: dts: r8a77965: Add MFIS
+device node")
+
+Signed-off-by: Hiroki Negishi <hiroki.negishi.bx@renesas.com>
+---
+ arch/arm64/boot/dts/renesas/r8a77965.dtsi | 8 --------
+ 1 file changed, 8 deletions(-)
+
+diff --git a/arch/arm64/boot/dts/renesas/r8a77965.dtsi b/arch/arm64/boot/dts/renesas/r8a77965.dtsi
+index 43825d3..2255890 100644
+--- a/arch/arm64/boot/dts/renesas/r8a77965.dtsi
++++ b/arch/arm64/boot/dts/renesas/r8a77965.dtsi
+@@ -701,14 +701,6 @@
+ "renesas,mfis-lock";
+ reg = <0 0xe6260000 0 0x1000>;
+ #hwlock-cells = <1>;
+-
+- mfis_as: mfis-as {
+- compatible = "renesas,mfis-as-r8a77965",
+- "renesas,mfis-as";
+- interrupts = <GIC_SPI 180 IRQ_TYPE_LEVEL_HIGH>;
+- interrupt-names = "eicr0";
+- renesas,mfis-ch = <0>;
+- };
+ };
+
+ pfc: pin-controller@e6060000 {
+--
+1.9.1
+
diff --git a/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0002-Revert-arm64-dts-r8a77965-Add-MFIS-Lock-device-node.patch b/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0002-Revert-arm64-dts-r8a77965-Add-MFIS-Lock-device-node.patch
new file mode 100644
index 0000000..f2940c0
--- /dev/null
+++ b/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0002-Revert-arm64-dts-r8a77965-Add-MFIS-Lock-device-node.patch
@@ -0,0 +1,35 @@
+From 5dc239a1179cd627f2bdb5cbeadce53d91bbae79 Mon Sep 17 00:00:00 2001
+From: Hiroki Negishi <hiroki.negishi.bx@renesas.com>
+Date: Mon, 13 Nov 2017 11:31:56 +0900
+Subject: [PATCH 02/23] Revert "arm64: dts: r8a77965: Add MFIS Lock device
+ node"
+
+This reverts commit a29f51f0e6aa ("arm64: dts: r8a77965: Add MFIS
+Lock device node")
+
+Signed-off-by: Hiroki Negishi <hiroki.negishi.bx@renesas.com>
+---
+ arch/arm64/boot/dts/renesas/r8a77965.dtsi | 7 -------
+ 1 file changed, 7 deletions(-)
+
+diff --git a/arch/arm64/boot/dts/renesas/r8a77965.dtsi b/arch/arm64/boot/dts/renesas/r8a77965.dtsi
+index 2255890..24bb42a 100644
+--- a/arch/arm64/boot/dts/renesas/r8a77965.dtsi
++++ b/arch/arm64/boot/dts/renesas/r8a77965.dtsi
+@@ -696,13 +696,6 @@
+ power-domains = <&sysc R8A77965_PD_ALWAYS_ON>;
+ };
+
+- mfis: mfis@e6260000 {
+- compatible = "renesas,mfis-lock-r8a77965",
+- "renesas,mfis-lock";
+- reg = <0 0xe6260000 0 0x1000>;
+- #hwlock-cells = <1>;
+- };
+-
+ pfc: pin-controller@e6060000 {
+ compatible = "renesas,pfc-r8a77965";
+ reg = <0 0xe6060000 0 0x50c>;
+--
+1.9.1
+
diff --git a/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0003-Revert-arm64-dts-r8a7796-Add-MFIS-device-node.patch b/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0003-Revert-arm64-dts-r8a7796-Add-MFIS-device-node.patch
new file mode 100644
index 0000000..2fc76e1
--- /dev/null
+++ b/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0003-Revert-arm64-dts-r8a7796-Add-MFIS-device-node.patch
@@ -0,0 +1,35 @@
+From dea7584314f0d060e6d5d818b1c00c7053f53777 Mon Sep 17 00:00:00 2001
+From: Hiroki Negishi <hiroki.negishi.bx@renesas.com>
+Date: Mon, 13 Nov 2017 11:36:10 +0900
+Subject: [PATCH 03/23] Revert "arm64: dts: r8a7796: Add MFIS device node"
+
+This reverts commit f249493ec3e2 ("arm64: dts: r8a7796: Add MFIS
+device node")
+
+Signed-off-by: Hiroki Negishi <hiroki.negishi.bx@renesas.com>
+---
+ arch/arm64/boot/dts/renesas/r8a7796.dtsi | 8 --------
+ 1 file changed, 8 deletions(-)
+
+diff --git a/arch/arm64/boot/dts/renesas/r8a7796.dtsi b/arch/arm64/boot/dts/renesas/r8a7796.dtsi
+index 552892b..539bd38 100644
+--- a/arch/arm64/boot/dts/renesas/r8a7796.dtsi
++++ b/arch/arm64/boot/dts/renesas/r8a7796.dtsi
+@@ -758,14 +758,6 @@
+ "renesas,mfis-lock";
+ reg = <0 0xe6260000 0 0x1000>;
+ #hwlock-cells = <1>;
+-
+- mfis_as: mfis-as {
+- compatible = "renesas,mfis-as-r8a7796",
+- "renesas,mfis-as";
+- interrupts = <GIC_SPI 180 IRQ_TYPE_LEVEL_HIGH>;
+- interrupt-names = "eicr0";
+- renesas,mfis-ch = <0>;
+- };
+ };
+
+ pfc: pin-controller@e6060000 {
+--
+1.9.1
+
diff --git a/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0004-Revert-arm64-dts-r8a7796-Add-MFIS-Lock-device-node.patch b/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0004-Revert-arm64-dts-r8a7796-Add-MFIS-Lock-device-node.patch
new file mode 100644
index 0000000..22115f8
--- /dev/null
+++ b/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0004-Revert-arm64-dts-r8a7796-Add-MFIS-Lock-device-node.patch
@@ -0,0 +1,43 @@
+From 9274cd15e1b16496cd160c70c86a65fe7b61b451 Mon Sep 17 00:00:00 2001
+From: Hiroki Negishi <hiroki.negishi.bx@renesas.com>
+Date: Mon, 13 Nov 2017 11:37:41 +0900
+Subject: [PATCH 04/23] Revert "arm64: dts: r8a7796: Add MFIS Lock device node"
+
+This reverts commit 8878a2390883 ("arm64: dts: r8a7796: Add MFIS
+Lock device node")
+
+Signed-off-by: Hiroki Negishi <hiroki.negishi.bx@renesas.com>
+---
+ arch/arm64/boot/dts/renesas/r8a7796.dtsi | 9 +--------
+ 1 file changed, 1 insertion(+), 8 deletions(-)
+
+diff --git a/arch/arm64/boot/dts/renesas/r8a7796.dtsi b/arch/arm64/boot/dts/renesas/r8a7796.dtsi
+index 539bd38..2da6f29 100644
+--- a/arch/arm64/boot/dts/renesas/r8a7796.dtsi
++++ b/arch/arm64/boot/dts/renesas/r8a7796.dtsi
+@@ -1,7 +1,7 @@
+ /*
+ * Device Tree Source for the r8a7796 SoC
+ *
+- * Copyright (C) 2016-2017 Renesas Electronics Corp.
++ * Copyright (C) 2016 Renesas Electronics Corp.
+ *
+ * This file is licensed under the terms of the GNU General Public License
+ * version 2. This program is licensed "as is" without any warranty of any
+@@ -753,13 +753,6 @@
+ power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
+ };
+
+- mfis: mfis@e6260000 {
+- compatible = "renesas,mfis-lock-r8a7796",
+- "renesas,mfis-lock";
+- reg = <0 0xe6260000 0 0x1000>;
+- #hwlock-cells = <1>;
+- };
+-
+ pfc: pin-controller@e6060000 {
+ compatible = "renesas,pfc-r8a7796";
+ reg = <0 0xe6060000 0 0x50c>;
+--
+1.9.1
+
diff --git a/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0005-Revert-arm64-dts-r8a7795-Add-MFIS-device-node.patch b/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0005-Revert-arm64-dts-r8a7795-Add-MFIS-device-node.patch
new file mode 100644
index 0000000..b84d914
--- /dev/null
+++ b/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0005-Revert-arm64-dts-r8a7795-Add-MFIS-device-node.patch
@@ -0,0 +1,35 @@
+From 4c4d1db55157e5ecc49226294b759041ec8393de Mon Sep 17 00:00:00 2001
+From: Hiroki Negishi <hiroki.negishi.bx@renesas.com>
+Date: Mon, 13 Nov 2017 11:39:56 +0900
+Subject: [PATCH 05/23] Revert "arm64: dts: r8a7795: Add MFIS device node"
+
+This reverts commit 20d31b376a4f ("arm64: dts: r8a7795: Add MFIS
+device node")
+
+Signed-off-by: Hiroki Negishi <hiroki.negishi.bx@renesas.com>
+---
+ arch/arm64/boot/dts/renesas/r8a7795.dtsi | 8 --------
+ 1 file changed, 8 deletions(-)
+
+diff --git a/arch/arm64/boot/dts/renesas/r8a7795.dtsi b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
+index 66ffe7b..83cba567 100644
+--- a/arch/arm64/boot/dts/renesas/r8a7795.dtsi
++++ b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
+@@ -877,14 +877,6 @@
+ "renesas,mfis-lock";
+ reg = <0 0xe6260000 0 0x1000>;
+ #hwlock-cells = <1>;
+-
+- mfis_as: mfis-as {
+- compatible = "renesas,mfis-as-r8a7795",
+- "renesas,mfis-as";
+- interrupts = <GIC_SPI 180 IRQ_TYPE_LEVEL_HIGH>;
+- interrupt-names = "eicr0";
+- renesas,mfis-ch = <0>;
+- };
+ };
+
+ pfc: pfc@e6060000 {
+--
+1.9.1
+
diff --git a/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0006-Revert-arm64-dts-r8a7795-Add-MFIS-Lock-device-node.patch b/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0006-Revert-arm64-dts-r8a7795-Add-MFIS-Lock-device-node.patch
new file mode 100644
index 0000000..1497268
--- /dev/null
+++ b/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0006-Revert-arm64-dts-r8a7795-Add-MFIS-Lock-device-node.patch
@@ -0,0 +1,34 @@
+From e248cbf54c7c87d235d10214fbc98772edf564f7 Mon Sep 17 00:00:00 2001
+From: Hiroki Negishi <hiroki.negishi.bx@renesas.com>
+Date: Mon, 13 Nov 2017 11:40:56 +0900
+Subject: [PATCH 06/23] Revert "arm64: dts: r8a7795: Add MFIS Lock device node"
+
+This reverts commit edf4b5915805 ("arm64: dts: r8a7795: Add MFIS
+Lock device node")
+
+Signed-off-by: Hiroki Negishi <hiroki.negishi.bx@renesas.com>
+---
+ arch/arm64/boot/dts/renesas/r8a7795.dtsi | 7 -------
+ 1 file changed, 7 deletions(-)
+
+diff --git a/arch/arm64/boot/dts/renesas/r8a7795.dtsi b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
+index 83cba567..3027c49 100644
+--- a/arch/arm64/boot/dts/renesas/r8a7795.dtsi
++++ b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
+@@ -872,13 +872,6 @@
+ <&ipmmu_mp0 30>, <&ipmmu_mp0 31>;
+ };
+
+- mfis: mfis@e6260000 {
+- compatible = "renesas,mfis-lock-r8a7795",
+- "renesas,mfis-lock";
+- reg = <0 0xe6260000 0 0x1000>;
+- #hwlock-cells = <1>;
+- };
+-
+ pfc: pfc@e6060000 {
+ compatible = "renesas,pfc-r8a7795";
+ reg = <0 0xe6060000 0 0x50c>;
+--
+1.9.1
+
diff --git a/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0007-Revert-arm64-dts-r8a7795-es1-Add-MFIS-device-node.patch b/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0007-Revert-arm64-dts-r8a7795-es1-Add-MFIS-device-node.patch
new file mode 100644
index 0000000..65117a9
--- /dev/null
+++ b/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0007-Revert-arm64-dts-r8a7795-es1-Add-MFIS-device-node.patch
@@ -0,0 +1,35 @@
+From 1df686083e8ca9a4d6f3fb4e9d238b11e6007f5c Mon Sep 17 00:00:00 2001
+From: Hiroki Negishi <hiroki.negishi.bx@renesas.com>
+Date: Mon, 13 Nov 2017 11:43:11 +0900
+Subject: [PATCH 07/23] Revert "arm64: dts: r8a7795-es1: Add MFIS device node"
+
+This reverts commit 462c591430d6 ("arm64: dts: r8a7795-es1: Add
+MFIS device node")
+
+Signed-off-by: Hiroki Negishi <hiroki.negishi.bx@renesas.com>
+---
+ arch/arm64/boot/dts/renesas/r8a7795-es1.dtsi | 8 --------
+ 1 file changed, 8 deletions(-)
+
+diff --git a/arch/arm64/boot/dts/renesas/r8a7795-es1.dtsi b/arch/arm64/boot/dts/renesas/r8a7795-es1.dtsi
+index c29b668..2695eff 100644
+--- a/arch/arm64/boot/dts/renesas/r8a7795-es1.dtsi
++++ b/arch/arm64/boot/dts/renesas/r8a7795-es1.dtsi
+@@ -882,14 +882,6 @@
+ "renesas,mfis-lock";
+ reg = <0 0xe6260000 0 0x1000>;
+ #hwlock-cells = <1>;
+-
+- mfis_as: mfis-as {
+- compatible = "renesas,mfis-as-r8a7795",
+- "renesas,mfis-as";
+- interrupts = <GIC_SPI 180 IRQ_TYPE_LEVEL_HIGH>;
+- interrupt-names = "eicr0";
+- renesas,mfis-ch = <0>;
+- };
+ };
+
+ pfc: pfc@e6060000 {
+--
+1.9.1
+
diff --git a/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0008-Revert-arm64-dts-r8a7795-es1-Add-MFIS-Lock-device-no.patch b/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0008-Revert-arm64-dts-r8a7795-es1-Add-MFIS-Lock-device-no.patch
new file mode 100644
index 0000000..4e47d5a
--- /dev/null
+++ b/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0008-Revert-arm64-dts-r8a7795-es1-Add-MFIS-Lock-device-no.patch
@@ -0,0 +1,44 @@
+From a142e2ebbc7368185a5b6605c7dd61c8728dc257 Mon Sep 17 00:00:00 2001
+From: Hiroki Negishi <hiroki.negishi.bx@renesas.com>
+Date: Mon, 13 Nov 2017 11:44:41 +0900
+Subject: [PATCH 08/23] Revert "arm64: dts: r8a7795-es1: Add MFIS Lock device
+ node"
+
+This reverts commit 2a88d80f2122 ("arm64: dts: r8a7795-es1: Add
+MFIS Lock device node")
+
+Signed-off-by: Hiroki Negishi <hiroki.negishi.bx@renesas.com>
+---
+ arch/arm64/boot/dts/renesas/r8a7795-es1.dtsi | 9 +--------
+ 1 file changed, 1 insertion(+), 8 deletions(-)
+
+diff --git a/arch/arm64/boot/dts/renesas/r8a7795-es1.dtsi b/arch/arm64/boot/dts/renesas/r8a7795-es1.dtsi
+index 2695eff..30f72bc 100644
+--- a/arch/arm64/boot/dts/renesas/r8a7795-es1.dtsi
++++ b/arch/arm64/boot/dts/renesas/r8a7795-es1.dtsi
+@@ -1,7 +1,7 @@
+ /*
+ * Device Tree Source for the r8a7795 ES1.x SoC
+ *
+- * Copyright (C) 2016-2017 Renesas Electronics Corp.
++ * Copyright (C) 2016 Renesas Electronics Corp.
+ *
+ * This file is based on the arch/arm64/boot/dts/renesas/r8a7795.dtsi
+ *
+@@ -877,13 +877,6 @@
+ <&ipmmu_mp1 30>, <&ipmmu_mp1 31>;
+ };
+
+- mfis: mfis@e6260000 {
+- compatible = "renesas,mfis-lock-r8a7795",
+- "renesas,mfis-lock";
+- reg = <0 0xe6260000 0 0x1000>;
+- #hwlock-cells = <1>;
+- };
+-
+ pfc: pfc@e6060000 {
+ compatible = "renesas,pfc-r8a7795";
+ reg = <0 0xe6060000 0 0x50c>;
+--
+1.9.1
+
diff --git a/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0009-Revert-Revert-arm64-dts-r8a7795-es1-Add-MFIS-device-.patch b/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0009-Revert-Revert-arm64-dts-r8a7795-es1-Add-MFIS-device-.patch
new file mode 100644
index 0000000..6099139
--- /dev/null
+++ b/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0009-Revert-Revert-arm64-dts-r8a7795-es1-Add-MFIS-device-.patch
@@ -0,0 +1,45 @@
+From 9a6af2ca74b65ec933d24cc75d42559c19b2de69 Mon Sep 17 00:00:00 2001
+From: Hiroki Negishi <hiroki.negishi.bx@renesas.com>
+Date: Mon, 13 Nov 2017 11:46:15 +0900
+Subject: [PATCH 09/23] Revert "Revert "arm64: dts: r8a7795-es1: Add MFIS
+ device node""
+
+This reverts commit a428110d14bb ("Revert "arm64: dts: r8a7795-es1:
+Add MFIS device node"")
+
+Signed-off-by: Hiroki Negishi <hiroki.negishi.bx@renesas.com>
+---
+ arch/arm64/boot/dts/renesas/r8a7795-es1.dtsi | 10 +++++++++-
+ 1 file changed, 9 insertions(+), 1 deletion(-)
+
+diff --git a/arch/arm64/boot/dts/renesas/r8a7795-es1.dtsi b/arch/arm64/boot/dts/renesas/r8a7795-es1.dtsi
+index 30f72bc..0a6bab8 100644
+--- a/arch/arm64/boot/dts/renesas/r8a7795-es1.dtsi
++++ b/arch/arm64/boot/dts/renesas/r8a7795-es1.dtsi
+@@ -1,7 +1,7 @@
+ /*
+ * Device Tree Source for the r8a7795 ES1.x SoC
+ *
+- * Copyright (C) 2016 Renesas Electronics Corp.
++ * Copyright (C) 2016-2017 Renesas Electronics Corp.
+ *
+ * This file is based on the arch/arm64/boot/dts/renesas/r8a7795.dtsi
+ *
+@@ -877,6 +877,14 @@
+ <&ipmmu_mp1 30>, <&ipmmu_mp1 31>;
+ };
+
++ mfis: mfis@e6260000 {
++ compatible = "renesas,mfis-r8a7795", "renesas,mfis";
++ reg = <0 0xe6260000 0 0x0200>;
++ interrupts = <GIC_SPI 180 IRQ_TYPE_LEVEL_HIGH>;
++ interrupt-names = "eicr0";
++ status = "okay";
++ };
++
+ pfc: pfc@e6060000 {
+ compatible = "renesas,pfc-r8a7795";
+ reg = <0 0xe6060000 0 0x50c>;
+--
+1.9.1
+
diff --git a/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0010-Revert-Revert-arm64-dts-r8a7795-es1-Add-MFIS-Lock-de.patch b/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0010-Revert-Revert-arm64-dts-r8a7795-es1-Add-MFIS-Lock-de.patch
new file mode 100644
index 0000000..0075f65
--- /dev/null
+++ b/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0010-Revert-Revert-arm64-dts-r8a7795-es1-Add-MFIS-Lock-de.patch
@@ -0,0 +1,35 @@
+From 2889aa588138b79e66d0124f25fc07adf962b360 Mon Sep 17 00:00:00 2001
+From: Hiroki Negishi <hiroki.negishi.bx@renesas.com>
+Date: Mon, 13 Nov 2017 11:47:34 +0900
+Subject: [PATCH 10/23] Revert "Revert "arm64: dts: r8a7795-es1: Add MFIS Lock
+ device node""
+
+This reverts commit a663e40c8d59 ("Revert "arm64: dts: r8a7795-es1:
+Add MFIS Lock device node"")
+
+Signed-off-by: Hiroki Negishi <hiroki.negishi.bx@renesas.com>
+---
+ arch/arm64/boot/dts/renesas/r8a7795-es1.dtsi | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/arch/arm64/boot/dts/renesas/r8a7795-es1.dtsi b/arch/arm64/boot/dts/renesas/r8a7795-es1.dtsi
+index 0a6bab8..97db2d0 100644
+--- a/arch/arm64/boot/dts/renesas/r8a7795-es1.dtsi
++++ b/arch/arm64/boot/dts/renesas/r8a7795-es1.dtsi
+@@ -885,6 +885,13 @@
+ status = "okay";
+ };
+
++ mfis_lock: mfis-lock@e62600c0 {
++ compatible = "renesas,mfis-lock-r8a7795",
++ "renesas,mfis-lock";
++ reg = <0 0xe62600c0 0 0x0020>;
++ status = "okay";
++ };
++
+ pfc: pfc@e6060000 {
+ compatible = "renesas,pfc-r8a7795";
+ reg = <0 0xe6060000 0 0x50c>;
+--
+1.9.1
+
diff --git a/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0011-Revert-Revert-arm64-dts-r8a7795-Add-MFIS-device-node.patch b/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0011-Revert-Revert-arm64-dts-r8a7795-Add-MFIS-device-node.patch
new file mode 100644
index 0000000..5bf31f6
--- /dev/null
+++ b/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0011-Revert-Revert-arm64-dts-r8a7795-Add-MFIS-device-node.patch
@@ -0,0 +1,36 @@
+From d7c8daacad4fde2b1997109e0ea5c985840149d2 Mon Sep 17 00:00:00 2001
+From: Hiroki Negishi <hiroki.negishi.bx@renesas.com>
+Date: Mon, 13 Nov 2017 11:48:44 +0900
+Subject: [PATCH 11/23] Revert "Revert "arm64: dts: r8a7795: Add MFIS device
+ node""
+
+is reverts commit 8e7c5c5c7fd2 ("Revert "arm64: dts: r8a7795: Add
+MFIS device node"")
+
+Signed-off-by: Hiroki Negishi <hiroki.negishi.bx@renesas.com>
+---
+ arch/arm64/boot/dts/renesas/r8a7795.dtsi | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/arch/arm64/boot/dts/renesas/r8a7795.dtsi b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
+index 3027c49..ffbfab5 100644
+--- a/arch/arm64/boot/dts/renesas/r8a7795.dtsi
++++ b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
+@@ -872,6 +872,14 @@
+ <&ipmmu_mp0 30>, <&ipmmu_mp0 31>;
+ };
+
++ mfis: mfis@e6260000 {
++ compatible = "renesas,mfis-r8a7795", "renesas,mfis";
++ reg = <0 0xe6260000 0 0x0200>;
++ interrupts = <GIC_SPI 180 IRQ_TYPE_LEVEL_HIGH>;
++ interrupt-names = "eicr0";
++ status = "okay";
++ };
++
+ pfc: pfc@e6060000 {
+ compatible = "renesas,pfc-r8a7795";
+ reg = <0 0xe6060000 0 0x50c>;
+--
+1.9.1
+
diff --git a/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0012-Revert-Revert-arm64-dts-r8a7795-Add-MFIS-Lock-device.patch b/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0012-Revert-Revert-arm64-dts-r8a7795-Add-MFIS-Lock-device.patch
new file mode 100644
index 0000000..1c94b5f
--- /dev/null
+++ b/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0012-Revert-Revert-arm64-dts-r8a7795-Add-MFIS-Lock-device.patch
@@ -0,0 +1,35 @@
+From 9d346ca900eb982b533f72a585ea10357b4e3006 Mon Sep 17 00:00:00 2001
+From: Hiroki Negishi <hiroki.negishi.bx@renesas.com>
+Date: Mon, 13 Nov 2017 11:51:17 +0900
+Subject: [PATCH 12/23] Revert "Revert "arm64: dts: r8a7795: Add MFIS Lock
+ device node""
+
+This reverts commit 1d4a318e4a40 ("Revert "arm64: dts: r8a7795:
+Add MFIS Lock device node"")
+
+Signed-off-by: Hiroki Negishi <hiroki.negishi.bx@renesas.com>
+---
+ arch/arm64/boot/dts/renesas/r8a7795.dtsi | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/arch/arm64/boot/dts/renesas/r8a7795.dtsi b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
+index ffbfab5..c56a65e 100644
+--- a/arch/arm64/boot/dts/renesas/r8a7795.dtsi
++++ b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
+@@ -880,6 +880,13 @@
+ status = "okay";
+ };
+
++ mfis_lock: mfis-lock@e62600c0 {
++ compatible = "renesas,mfis-lock-r8a7795",
++ "renesas,mfis-lock";
++ reg = <0 0xe62600c0 0 0x0020>;
++ status = "okay";
++ };
++
+ pfc: pfc@e6060000 {
+ compatible = "renesas,pfc-r8a7795";
+ reg = <0 0xe6060000 0 0x50c>;
+--
+1.9.1
+
diff --git a/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0013-Revert-Revert-arm64-dts-r8a7796-Add-MFIS-device-node.patch b/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0013-Revert-Revert-arm64-dts-r8a7796-Add-MFIS-device-node.patch
new file mode 100644
index 0000000..b46ca79
--- /dev/null
+++ b/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0013-Revert-Revert-arm64-dts-r8a7796-Add-MFIS-device-node.patch
@@ -0,0 +1,45 @@
+From 355dfb61f132b37bf775c643c2b035da15219ef5 Mon Sep 17 00:00:00 2001
+From: Hiroki Negishi <hiroki.negishi.bx@renesas.com>
+Date: Mon, 13 Nov 2017 11:52:02 +0900
+Subject: [PATCH 13/23] Revert "Revert "arm64: dts: r8a7796: Add MFIS device
+ node""
+
+This reverts commit a088770496a8 ("Revert "arm64: dts: r8a7796:
+Add MFIS device node"")
+
+Signed-off-by: Hiroki Negishi <hiroki.negishi.bx@renesas.com>
+---
+ arch/arm64/boot/dts/renesas/r8a7796.dtsi | 10 +++++++++-
+ 1 file changed, 9 insertions(+), 1 deletion(-)
+
+diff --git a/arch/arm64/boot/dts/renesas/r8a7796.dtsi b/arch/arm64/boot/dts/renesas/r8a7796.dtsi
+index 2da6f29..fc1cd08 100644
+--- a/arch/arm64/boot/dts/renesas/r8a7796.dtsi
++++ b/arch/arm64/boot/dts/renesas/r8a7796.dtsi
+@@ -1,7 +1,7 @@
+ /*
+ * Device Tree Source for the r8a7796 SoC
+ *
+- * Copyright (C) 2016 Renesas Electronics Corp.
++ * Copyright (C) 2016-2017 Renesas Electronics Corp.
+ *
+ * This file is licensed under the terms of the GNU General Public License
+ * version 2. This program is licensed "as is" without any warranty of any
+@@ -753,6 +753,14 @@
+ power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
+ };
+
++ mfis: mfis@e6260000 {
++ compatible = "renesas,mfis-r8a7796", "renesas,mfis";
++ reg = <0 0xe6260000 0 0x0200>;
++ interrupts = <GIC_SPI 180 IRQ_TYPE_LEVEL_HIGH>;
++ interrupt-names = "eicr0";
++ status = "okay";
++ };
++
+ pfc: pin-controller@e6060000 {
+ compatible = "renesas,pfc-r8a7796";
+ reg = <0 0xe6060000 0 0x50c>;
+--
+1.9.1
+
diff --git a/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0014-Revert-Revert-arm64-dts-r8a7795-Add-MFIS-Lock-device.patch b/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0014-Revert-Revert-arm64-dts-r8a7795-Add-MFIS-Lock-device.patch
new file mode 100644
index 0000000..39c48bb
--- /dev/null
+++ b/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0014-Revert-Revert-arm64-dts-r8a7795-Add-MFIS-Lock-device.patch
@@ -0,0 +1,35 @@
+From 651e635b55479d35d1dd125fa3927f2a42509336 Mon Sep 17 00:00:00 2001
+From: Hiroki Negishi <hiroki.negishi.bx@renesas.com>
+Date: Mon, 13 Nov 2017 11:54:31 +0900
+Subject: [PATCH 14/23] Revert "Revert "arm64: dts: r8a7795: Add MFIS Lock
+ device node""
+
+This reverts commit f5c963caa6ed ("Revert "arm64: dts: r8a7795:
+Add MFIS Lock device node"")
+
+Signed-off-by: Hiroki Negishi <hiroki.negishi.bx@renesas.com>
+---
+ arch/arm64/boot/dts/renesas/r8a7796.dtsi | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/arch/arm64/boot/dts/renesas/r8a7796.dtsi b/arch/arm64/boot/dts/renesas/r8a7796.dtsi
+index fc1cd08..7a6dc8d 100644
+--- a/arch/arm64/boot/dts/renesas/r8a7796.dtsi
++++ b/arch/arm64/boot/dts/renesas/r8a7796.dtsi
+@@ -761,6 +761,13 @@
+ status = "okay";
+ };
+
++ mfis_lock: mfis-lock@e62600c0 {
++ compatible = "renesas,mfis-lock-r8a7796",
++ "renesas,mfis-lock";
++ reg = <0 0xe62600c0 0 0x0020>;
++ status = "okay";
++ };
++
+ pfc: pin-controller@e6060000 {
+ compatible = "renesas,pfc-r8a7796";
+ reg = <0 0xe6060000 0 0x50c>;
+--
+1.9.1
+
diff --git a/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0015-Revert-DT-hwspinlock-Add-binding-documentation-for-R.patch b/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0015-Revert-DT-hwspinlock-Add-binding-documentation-for-R.patch
new file mode 100644
index 0000000..232a36e
--- /dev/null
+++ b/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0015-Revert-DT-hwspinlock-Add-binding-documentation-for-R.patch
@@ -0,0 +1,49 @@
+From 25a07114b0b094582ed18f0e536c78c651c0d5e1 Mon Sep 17 00:00:00 2001
+From: Hiroki Negishi <hiroki.negishi.bx@renesas.com>
+Date: Mon, 13 Nov 2017 11:56:16 +0900
+Subject: [PATCH 15/23] Revert "DT: hwspinlock: Add binding documentation for
+ R-Car Gen3 hwspinlock"
+
+This reverts commit bddba251a4ab ("DT: hwspinlock: Add binding
+documentation for R-Car Gen3 hwspinlock")
+
+Signed-off-by: Hiroki Negishi <hiroki.negishi.bx@renesas.com>
+---
+ .../devicetree/bindings/hwlock/rcar-hwspinlock.txt | 25 ----------------------
+ 1 file changed, 25 deletions(-)
+ delete mode 100644 Documentation/devicetree/bindings/hwlock/rcar-hwspinlock.txt
+
+diff --git a/Documentation/devicetree/bindings/hwlock/rcar-hwspinlock.txt b/Documentation/devicetree/bindings/hwlock/rcar-hwspinlock.txt
+deleted file mode 100644
+index e5bab0e..0000000
+--- a/Documentation/devicetree/bindings/hwlock/rcar-hwspinlock.txt
++++ /dev/null
+@@ -1,25 +0,0 @@
+-DT bindings for the Renesas R-Car Hardware spinlock driver
+-----------------------------------------------------------
+-
+-Required properties :
+-- compatible : shall contain only one of the following:
+- - "renesas,mfis-lock-r8a7795", "renesas,mfis-lock";
+- - "renesas,mfis-lock-r8a7796", "renesas,mfis-lock";
+- - "renesas,mfis-lock-r8a77965", "renesas,mfis-lock";
+-
+-- reg : start address and length for MFIS registers.
+-
+-- #hwlock-cells : should be 1. hwspinlock users specify the hwspinlock id
+- to request a specific hwspinlock.
+-
+-Please look at the generic hwlock binding for usage information for consumers,
+-"Documentation/devicetree/bindings/hwlock/hwlock.txt"
+-
+-Examples:
+-
+-mfis: mfis@e6260000 {
+- compatible = "renesas,mfis-lock-r8a7795",
+- "renesas,mfis-lock";
+- reg = <0 0xe6260000 0 0x1000>;
+- #hwlock-cells = <1>;
+-};
+--
+1.9.1
+
diff --git a/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0016-Revert-hwspinlock-rcar-Add-support-for-R-Car-Gen3-Ha.patch b/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0016-Revert-hwspinlock-rcar-Add-support-for-R-Car-Gen3-Ha.patch
new file mode 100644
index 0000000..7fd5650
--- /dev/null
+++ b/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0016-Revert-hwspinlock-rcar-Add-support-for-R-Car-Gen3-Ha.patch
@@ -0,0 +1,220 @@
+From 90628b9c9b731cff9071a6d587431e0a4b8e5c0a Mon Sep 17 00:00:00 2001
+From: Hiroki Negishi <hiroki.negishi.bx@renesas.com>
+Date: Mon, 13 Nov 2017 11:57:53 +0900
+Subject: [PATCH 16/23] Revert "hwspinlock: rcar: Add support for R-Car Gen3
+ Hardware Spinlock"
+
+This reverts commit 18ff508d5241 ("hwspinlock: rcar: Add support
+for R-Car Gen3 Hardware Spinlock")
+
+Signed-off-by: Hiroki Negishi <hiroki.negishi.bx@renesas.com>
+---
+ drivers/hwspinlock/Kconfig | 13 ---
+ drivers/hwspinlock/Makefile | 1 -
+ drivers/hwspinlock/rcar_hwspinlock.c | 162 -----------------------------------
+ 3 files changed, 176 deletions(-)
+ delete mode 100644 drivers/hwspinlock/rcar_hwspinlock.c
+
+diff --git a/drivers/hwspinlock/Kconfig b/drivers/hwspinlock/Kconfig
+index f0c0a35..73a4016 100644
+--- a/drivers/hwspinlock/Kconfig
++++ b/drivers/hwspinlock/Kconfig
+@@ -53,17 +53,4 @@ config HSEM_U8500
+
+ If unsure, say N.
+
+-config HWSPINLOCK_RCAR
+- bool "R-Car Hardware Spinlock functionality"
+- depends on ARCH_RENESAS
+- select HWSPINLOCK
+- default y
+- help
+- Say y here to support the R-Car Hardware Spinlock functionality, which
+- provides a synchronisation mechanism for the various processor on the
+- SoC.
+- This function is implemented with MFIS device.
+-
+- If unsure, say N.
+-
+ endmenu
+diff --git a/drivers/hwspinlock/Makefile b/drivers/hwspinlock/Makefile
+index 4ee4001..6b59cb5a 100644
+--- a/drivers/hwspinlock/Makefile
++++ b/drivers/hwspinlock/Makefile
+@@ -6,5 +6,4 @@ obj-$(CONFIG_HWSPINLOCK) += hwspinlock_core.o
+ obj-$(CONFIG_HWSPINLOCK_OMAP) += omap_hwspinlock.o
+ obj-$(CONFIG_HWSPINLOCK_QCOM) += qcom_hwspinlock.o
+ obj-$(CONFIG_HWSPINLOCK_SIRF) += sirf_hwspinlock.o
+-obj-$(CONFIG_HWSPINLOCK_RCAR) += rcar_hwspinlock.o
+ obj-$(CONFIG_HSEM_U8500) += u8500_hsem.o
+diff --git a/drivers/hwspinlock/rcar_hwspinlock.c b/drivers/hwspinlock/rcar_hwspinlock.c
+deleted file mode 100644
+index 8b45c49..0000000
+--- a/drivers/hwspinlock/rcar_hwspinlock.c
++++ /dev/null
+@@ -1,162 +0,0 @@
+-/*
+- * rcar_hwspinlock.c
+- *
+- * Copyright (C) 2017 Renesas Electronics Corporation
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License version 2
+- * as published by the Free Software Foundation.
+- *
+- * This program is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+- * GNU General Public License for more details.
+- */
+-#include <linux/hwspinlock.h>
+-#include <linux/kernel.h>
+-#include <linux/module.h>
+-#include <linux/pm_runtime.h>
+-#include <linux/of.h>
+-#include <linux/of_device.h>
+-#include <linux/of_address.h>
+-#include <linux/platform_device.h>
+-#include <linux/io.h>
+-#include <linux/sys_soc.h>
+-
+-#include "hwspinlock_internal.h"
+-
+-#define MFISLCKR0_OFFSET 0x000000C0
+-#define MFISLCKR8_OFFSET 0x00000724
+-#define MFISLCKR_NUM_8 8 /* r8a7795 ES1.*, r8a7796 ES1.* */
+-#define MFISLCKR_NUM_64 64
+-
+-static int rcar_hwspinlock_trylock(struct hwspinlock *lock)
+-{
+- void *addr = lock->priv;
+-
+- return !ioread32((void __iomem *)addr);
+-}
+-
+-static void rcar_hwspinlock_unlock(struct hwspinlock *lock)
+-{
+- void *addr = lock->priv;
+-
+- iowrite32(0, (void __iomem *)addr);
+-}
+-
+-static const struct hwspinlock_ops rcar_hwspinlock_ops = {
+- .trylock = rcar_hwspinlock_trylock,
+- .unlock = rcar_hwspinlock_unlock,
+-};
+-
+-static const struct soc_device_attribute mfislock_quirks_match[] = {
+- { .soc_id = "r8a7795", .revision = "ES1.*" },
+- { .soc_id = "r8a7796", .revision = "ES1.*" },
+- { /* sentinel */ }
+-};
+-
+-static const struct of_device_id rcar_hwspinlock_of_match[] = {
+- { .compatible = "renesas,mfis-lock" },
+- { },
+-};
+-MODULE_DEVICE_TABLE(of, rcar_hwspinlock_of_match);
+-
+-static int rcar_hwspinlock_probe(struct platform_device *pdev)
+-{
+- int ch;
+- int num_locks = MFISLCKR_NUM_64;
+- int ret = 0;
+- u32 __iomem *addr;
+- struct resource *res;
+- struct hwspinlock_device *bank;
+-
+- /* allocate hwspinlock control info */
+- bank = devm_kzalloc(&pdev->dev, sizeof(*bank)
+- + sizeof(struct hwspinlock) * MFISLCKR_NUM_64,
+- GFP_KERNEL);
+- if (!bank) {
+- dev_err(&pdev->dev, "Failed to allocate memory.\n");
+- ret = -ENOMEM;
+- goto out;
+- }
+-
+- res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
+-
+- /* map MFIS lock register */
+- addr = (u32 __iomem *)devm_ioremap_nocache(&pdev->dev,
+- res->start,
+- resource_size(res));
+- if (!addr) {
+- dev_err(&pdev->dev, "Failed to remap register.\n");
+- ret = PTR_ERR(addr);
+- goto out;
+- }
+-
+- /* create lock for MFISLCKR0-7 */
+- for (ch = 0; ch < 8; ch++)
+- bank->lock[ch].priv = (void __force *)addr + MFISLCKR0_OFFSET
+- + sizeof(u32) * ch;
+-
+- /* create lock for MFISLCKR8-63 */
+- for (ch = 8; ch < 64; ch++)
+- bank->lock[ch].priv = (void __force *)addr + MFISLCKR8_OFFSET
+- + sizeof(u32) * (ch - 8);
+-
+- platform_set_drvdata(pdev, bank);
+-
+- ret = of_platform_populate(pdev->dev.of_node, NULL, NULL, &pdev->dev);
+- if (ret)
+- goto out;
+-
+- pm_runtime_enable(&pdev->dev);
+-
+- /* register hwspinlock */
+- if (soc_device_match(mfislock_quirks_match))
+- num_locks = MFISLCKR_NUM_8;
+-
+- ret = hwspin_lock_register(bank, &pdev->dev, &rcar_hwspinlock_ops,
+- 0, num_locks);
+- if (ret)
+- pm_runtime_disable(&pdev->dev);
+-
+-out:
+- return ret;
+-}
+-
+-static int rcar_hwspinlock_remove(struct platform_device *pdev)
+-{
+- int ret;
+-
+- ret = hwspin_lock_unregister(platform_get_drvdata(pdev));
+- if (ret) {
+- dev_err(&pdev->dev, "%s failed: %d\n", __func__, ret);
+- return ret;
+- }
+-
+- pm_runtime_disable(&pdev->dev);
+-
+- return 0;
+-}
+-
+-static struct platform_driver rcar_hwspinlock_driver = {
+- .probe = rcar_hwspinlock_probe,
+- .remove = rcar_hwspinlock_remove,
+- .driver = {
+- .name = "rcar_hwspinlock",
+- .of_match_table = rcar_hwspinlock_of_match,
+- },
+-};
+-
+-static int __init rcar_hwspinlock_init(void)
+-{
+- return platform_driver_register(&rcar_hwspinlock_driver);
+-}
+-core_initcall(rcar_hwspinlock_init);
+-
+-static void __exit rcar_hwspinlock_exit(void)
+-{
+- platform_driver_unregister(&rcar_hwspinlock_driver);
+-}
+-module_exit(rcar_hwspinlock_exit);
+-
+-MODULE_LICENSE("GPL v2");
+--
+1.9.1
+
diff --git a/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0017-Revert-Revert-hwspinlock-rcar-Add-support-for-R-Car-.patch b/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0017-Revert-Revert-hwspinlock-rcar-Add-support-for-R-Car-.patch
new file mode 100644
index 0000000..a4f0744
--- /dev/null
+++ b/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0017-Revert-Revert-hwspinlock-rcar-Add-support-for-R-Car-.patch
@@ -0,0 +1,214 @@
+From d10a3b0e5170ebe5350342c3e36902ff3624f2b1 Mon Sep 17 00:00:00 2001
+From: Hiroki Negishi <hiroki.negishi.bx@renesas.com>
+Date: Mon, 13 Nov 2017 11:58:51 +0900
+Subject: [PATCH 17/23] Revert "Revert "hwspinlock: rcar: Add support for R-Car
+ Gen3 Hardware Spinlock""
+
+This reverts commit b960f2c58f30 ("Revert "hwspinlock: rcar: Add
+support for R-Car Gen3 Hardware Spinlock"")
+
+Signed-off-by: Hiroki Negishi <hiroki.negishi.bx@renesas.com>
+---
+ drivers/hwspinlock/Kconfig | 13 +++
+ drivers/hwspinlock/Makefile | 1 +
+ drivers/hwspinlock/rcar_hwspinlock.c | 156 +++++++++++++++++++++++++++++++++++
+ 3 files changed, 170 insertions(+)
+ create mode 100644 drivers/hwspinlock/rcar_hwspinlock.c
+
+diff --git a/drivers/hwspinlock/Kconfig b/drivers/hwspinlock/Kconfig
+index 73a4016..f0c0a35 100644
+--- a/drivers/hwspinlock/Kconfig
++++ b/drivers/hwspinlock/Kconfig
+@@ -53,4 +53,17 @@ config HSEM_U8500
+
+ If unsure, say N.
+
++config HWSPINLOCK_RCAR
++ bool "R-Car Hardware Spinlock functionality"
++ depends on ARCH_RENESAS
++ select HWSPINLOCK
++ default y
++ help
++ Say y here to support the R-Car Hardware Spinlock functionality, which
++ provides a synchronisation mechanism for the various processor on the
++ SoC.
++ This function is implemented with MFIS device.
++
++ If unsure, say N.
++
+ endmenu
+diff --git a/drivers/hwspinlock/Makefile b/drivers/hwspinlock/Makefile
+index 6b59cb5a..4ee4001 100644
+--- a/drivers/hwspinlock/Makefile
++++ b/drivers/hwspinlock/Makefile
+@@ -6,4 +6,5 @@ obj-$(CONFIG_HWSPINLOCK) += hwspinlock_core.o
+ obj-$(CONFIG_HWSPINLOCK_OMAP) += omap_hwspinlock.o
+ obj-$(CONFIG_HWSPINLOCK_QCOM) += qcom_hwspinlock.o
+ obj-$(CONFIG_HWSPINLOCK_SIRF) += sirf_hwspinlock.o
++obj-$(CONFIG_HWSPINLOCK_RCAR) += rcar_hwspinlock.o
+ obj-$(CONFIG_HSEM_U8500) += u8500_hsem.o
+diff --git a/drivers/hwspinlock/rcar_hwspinlock.c b/drivers/hwspinlock/rcar_hwspinlock.c
+new file mode 100644
+index 0000000..35ba8c1
+--- /dev/null
++++ b/drivers/hwspinlock/rcar_hwspinlock.c
+@@ -0,0 +1,156 @@
++/*
++ * rcar_hwspinlock.c
++ *
++ * Copyright (C) 2016 Renesas Electronics Corporation
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2
++ * as published by the Free Software Foundation.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ */
++#include <linux/hwspinlock.h>
++#include <linux/clk.h>
++#include <linux/kernel.h>
++#include <linux/module.h>
++#include <linux/pm_runtime.h>
++#include <linux/of.h>
++#include <linux/of_device.h>
++#include <linux/of_address.h>
++#include <linux/platform_device.h>
++#include <linux/io.h>
++
++#include "hwspinlock_internal.h"
++
++#define RCAR_HWSPINLOCK_NUM (8)
++
++static int rcar_hwspinlock_trylock(struct hwspinlock *lock)
++{
++ void __iomem *addr = lock->priv;
++
++ return !ioread32(addr);
++}
++
++static void rcar_hwspinlock_unlock(struct hwspinlock *lock)
++{
++ void __iomem *addr = lock->priv;
++
++ iowrite32(0, addr);
++}
++
++static const struct hwspinlock_ops rcar_hwspinlock_ops = {
++ .trylock = rcar_hwspinlock_trylock,
++ .unlock = rcar_hwspinlock_unlock,
++};
++
++static const struct of_device_id rcar_hwspinlock_of_match[] = {
++ { .compatible = "renesas,mfis-lock" },
++ { },
++};
++MODULE_DEVICE_TABLE(of, rcar_hwspinlock_of_match);
++
++static int rcar_hwspinlock_probe(struct platform_device *pdev)
++{
++ int idx;
++ int ret = 0;
++ u32 __iomem *addr;
++ struct hwspinlock_device *bank;
++ struct hwspinlock *lock;
++ struct resource *res = NULL;
++ struct clk *clock;
++
++ /* enable MFIS clock */
++ clock = of_clk_get(pdev->dev.of_node, 0);
++ if (!clock) {
++ dev_err(&pdev->dev, "Failed to get clock.\n");
++ ret = PTR_ERR(clock);
++ goto out;
++ }
++ clk_prepare_enable(clock);
++
++ pm_runtime_enable(&pdev->dev);
++
++ /* map MFIS register */
++ res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
++ addr = (u32 __iomem *)devm_ioremap_nocache(&pdev->dev,
++ res->start, resource_size(res));
++ if (IS_ERR(addr)) {
++ dev_err(&pdev->dev, "Failed to remap MFIS Lock register.\n");
++ ret = PTR_ERR(addr);
++ goto clk_disable;
++ }
++
++ /* create hwspinlock control info */
++ bank = devm_kzalloc(&pdev->dev,
++ sizeof(*bank) + sizeof(*lock) * RCAR_HWSPINLOCK_NUM,
++ GFP_KERNEL);
++ if (!bank) {
++ dev_err(&pdev->dev, "Failed to allocate memory.\n");
++ ret = PTR_ERR(bank);
++ goto clk_disable;
++ }
++
++ for (idx = 0; idx < RCAR_HWSPINLOCK_NUM; idx++) {
++ lock = &bank->lock[idx];
++ lock->priv = &addr[idx];
++ }
++ platform_set_drvdata(pdev, bank);
++
++ /* register hwspinlock */
++ ret = hwspin_lock_register(bank, &pdev->dev, &rcar_hwspinlock_ops,
++ 0, RCAR_HWSPINLOCK_NUM);
++ if (!ret)
++ goto out;
++
++clk_disable:
++ if (clock)
++ clk_disable_unprepare(clock);
++
++out:
++ return ret;
++}
++
++static int rcar_hwspinlock_remove(struct platform_device *pdev)
++{
++ int ret;
++ struct clk *clock = NULL;
++
++ ret = hwspin_lock_unregister(platform_get_drvdata(pdev));
++ if (ret) {
++ dev_err(&pdev->dev, "%s failed: %d\n", __func__, ret);
++ return ret;
++ }
++
++ pm_runtime_disable(&pdev->dev);
++ clock = of_clk_get(pdev->dev.of_node, 0);
++ if (clock)
++ clk_disable_unprepare(clock);
++
++ return 0;
++}
++
++static struct platform_driver rcar_hwspinlock_driver = {
++ .probe = rcar_hwspinlock_probe,
++ .remove = rcar_hwspinlock_remove,
++ .driver = {
++ .name = "rcar_hwspinlock",
++ .of_match_table = rcar_hwspinlock_of_match,
++ },
++};
++
++static int __init rcar_hwspinlock_init(void)
++{
++ return platform_driver_register(&rcar_hwspinlock_driver);
++}
++core_initcall(rcar_hwspinlock_init);
++
++static void __exit rcar_hwspinlock_exit(void)
++{
++ platform_driver_unregister(&rcar_hwspinlock_driver);
++}
++module_exit(rcar_hwspinlock_exit);
++
++MODULE_LICENSE("GPL v2");
+--
+1.9.1
+
diff --git a/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0018-Revert-Revert-hwspinlock-rcar-Remove-the-MFIS-clock-.patch b/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0018-Revert-Revert-hwspinlock-rcar-Remove-the-MFIS-clock-.patch
new file mode 100644
index 0000000..5520dc1
--- /dev/null
+++ b/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0018-Revert-Revert-hwspinlock-rcar-Remove-the-MFIS-clock-.patch
@@ -0,0 +1,104 @@
+From d50c16e7df2cd0fad5edc132948a117e9b589ec5 Mon Sep 17 00:00:00 2001
+From: Hiroki Negishi <hiroki.negishi.bx@renesas.com>
+Date: Mon, 13 Nov 2017 11:59:53 +0900
+Subject: [PATCH 18/23] Revert "Revert "hwspinlock: rcar: Remove the MFIS clock
+ control""
+
+This reverts commit 0f2e362bbfc3 ("Revert "hwspinlock: rcar: Remove
+the MFIS clock control"")
+
+Signed-off-by: Hiroki Negishi <hiroki.negishi.bx@renesas.com>
+---
+ drivers/hwspinlock/rcar_hwspinlock.c | 27 +++------------------------
+ 1 file changed, 3 insertions(+), 24 deletions(-)
+
+diff --git a/drivers/hwspinlock/rcar_hwspinlock.c b/drivers/hwspinlock/rcar_hwspinlock.c
+index 35ba8c1..e089d9a 100644
+--- a/drivers/hwspinlock/rcar_hwspinlock.c
++++ b/drivers/hwspinlock/rcar_hwspinlock.c
+@@ -1,7 +1,7 @@
+ /*
+ * rcar_hwspinlock.c
+ *
+- * Copyright (C) 2016 Renesas Electronics Corporation
++ * Copyright (C) 2016-2017 Renesas Electronics Corporation
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2
+@@ -13,7 +13,6 @@
+ * GNU General Public License for more details.
+ */
+ #include <linux/hwspinlock.h>
+-#include <linux/clk.h>
+ #include <linux/kernel.h>
+ #include <linux/module.h>
+ #include <linux/pm_runtime.h>
+@@ -60,16 +59,6 @@ static int rcar_hwspinlock_probe(struct platform_device *pdev)
+ struct hwspinlock_device *bank;
+ struct hwspinlock *lock;
+ struct resource *res = NULL;
+- struct clk *clock;
+-
+- /* enable MFIS clock */
+- clock = of_clk_get(pdev->dev.of_node, 0);
+- if (!clock) {
+- dev_err(&pdev->dev, "Failed to get clock.\n");
+- ret = PTR_ERR(clock);
+- goto out;
+- }
+- clk_prepare_enable(clock);
+
+ pm_runtime_enable(&pdev->dev);
+
+@@ -80,7 +69,7 @@ static int rcar_hwspinlock_probe(struct platform_device *pdev)
+ if (IS_ERR(addr)) {
+ dev_err(&pdev->dev, "Failed to remap MFIS Lock register.\n");
+ ret = PTR_ERR(addr);
+- goto clk_disable;
++ goto out;
+ }
+
+ /* create hwspinlock control info */
+@@ -90,7 +79,7 @@ static int rcar_hwspinlock_probe(struct platform_device *pdev)
+ if (!bank) {
+ dev_err(&pdev->dev, "Failed to allocate memory.\n");
+ ret = PTR_ERR(bank);
+- goto clk_disable;
++ goto out;
+ }
+
+ for (idx = 0; idx < RCAR_HWSPINLOCK_NUM; idx++) {
+@@ -102,12 +91,6 @@ static int rcar_hwspinlock_probe(struct platform_device *pdev)
+ /* register hwspinlock */
+ ret = hwspin_lock_register(bank, &pdev->dev, &rcar_hwspinlock_ops,
+ 0, RCAR_HWSPINLOCK_NUM);
+- if (!ret)
+- goto out;
+-
+-clk_disable:
+- if (clock)
+- clk_disable_unprepare(clock);
+
+ out:
+ return ret;
+@@ -116,7 +99,6 @@ static int rcar_hwspinlock_probe(struct platform_device *pdev)
+ static int rcar_hwspinlock_remove(struct platform_device *pdev)
+ {
+ int ret;
+- struct clk *clock = NULL;
+
+ ret = hwspin_lock_unregister(platform_get_drvdata(pdev));
+ if (ret) {
+@@ -125,9 +107,6 @@ static int rcar_hwspinlock_remove(struct platform_device *pdev)
+ }
+
+ pm_runtime_disable(&pdev->dev);
+- clock = of_clk_get(pdev->dev.of_node, 0);
+- if (clock)
+- clk_disable_unprepare(clock);
+
+ return 0;
+ }
+--
+1.9.1
+
diff --git a/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0019-Revert-Revert-hwspinlock-rcar-Add-pm_runtime_disable.patch b/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0019-Revert-Revert-hwspinlock-rcar-Add-pm_runtime_disable.patch
new file mode 100644
index 0000000..7c70c42
--- /dev/null
+++ b/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0019-Revert-Revert-hwspinlock-rcar-Add-pm_runtime_disable.patch
@@ -0,0 +1,44 @@
+From 6f3c87b79a086e94df4bb93bae56b13797ca7478 Mon Sep 17 00:00:00 2001
+From: Hiroki Negishi <hiroki.negishi.bx@renesas.com>
+Date: Mon, 13 Nov 2017 12:00:51 +0900
+Subject: [PATCH 19/23] Revert "Revert "hwspinlock: rcar: Add
+ pm_runtime_disable if probe is failed.""
+
+This reverts commit 9242bfb6e240 ("Revert "hwspinlock: rcar: Add
+pm_runtime_disable if probe is failed."")
+
+Signed-off-by: Hiroki Negishi <hiroki.negishi.bx@renesas.com>
+---
+ drivers/hwspinlock/rcar_hwspinlock.c | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/hwspinlock/rcar_hwspinlock.c b/drivers/hwspinlock/rcar_hwspinlock.c
+index e089d9a..b92db1b 100644
+--- a/drivers/hwspinlock/rcar_hwspinlock.c
++++ b/drivers/hwspinlock/rcar_hwspinlock.c
+@@ -60,8 +60,6 @@ static int rcar_hwspinlock_probe(struct platform_device *pdev)
+ struct hwspinlock *lock;
+ struct resource *res = NULL;
+
+- pm_runtime_enable(&pdev->dev);
+-
+ /* map MFIS register */
+ res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
+ addr = (u32 __iomem *)devm_ioremap_nocache(&pdev->dev,
+@@ -88,9 +86,13 @@ static int rcar_hwspinlock_probe(struct platform_device *pdev)
+ }
+ platform_set_drvdata(pdev, bank);
+
++ pm_runtime_enable(&pdev->dev);
++
+ /* register hwspinlock */
+ ret = hwspin_lock_register(bank, &pdev->dev, &rcar_hwspinlock_ops,
+ 0, RCAR_HWSPINLOCK_NUM);
++ if (ret)
++ pm_runtime_disable(&pdev->dev);
+
+ out:
+ return ret;
+--
+1.9.1
+
diff --git a/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0020-Revert-Revert-DT-hwspinlock-Add-binding-documentatio.patch b/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0020-Revert-Revert-DT-hwspinlock-Add-binding-documentatio.patch
new file mode 100644
index 0000000..82f7394
--- /dev/null
+++ b/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0020-Revert-Revert-DT-hwspinlock-Add-binding-documentatio.patch
@@ -0,0 +1,42 @@
+From fcae5c3fa62507857cdfc3ff7f41ae68088a350a Mon Sep 17 00:00:00 2001
+From: Hiroki Negishi <hiroki.negishi.bx@renesas.com>
+Date: Mon, 13 Nov 2017 12:02:03 +0900
+Subject: [PATCH 20/23] Revert "Revert "DT: hwspinlock: Add binding
+ documentation for R-Car Gen3 hwspinlock""
+
+This reverts commit 58493d26331f ("Revert "DT: hwspinlock: Add
+binding documentation for R-Car Gen3 hwspinlock"")
+
+Signed-off-by: Hiroki Negishi <hiroki.negishi.bx@renesas.com>
+---
+ .../devicetree/bindings/hwlock/rcar-hwspinlock.txt | 18 ++++++++++++++++++
+ 1 file changed, 18 insertions(+)
+ create mode 100644 Documentation/devicetree/bindings/hwlock/rcar-hwspinlock.txt
+
+diff --git a/Documentation/devicetree/bindings/hwlock/rcar-hwspinlock.txt b/Documentation/devicetree/bindings/hwlock/rcar-hwspinlock.txt
+new file mode 100644
+index 0000000..e342ae4
+--- /dev/null
++++ b/Documentation/devicetree/bindings/hwlock/rcar-hwspinlock.txt
+@@ -0,0 +1,18 @@
++DT bindings for the Renesas R-Car Hardware spinlock driver
++----------------------------------------------------------
++
++Required properties :
++- compatible : shall contain only one of the following:
++ - "renesas,mfis-lock-r8a7795", "renesas,mfis-lock";
++ - "renesas,mfis-lock-r8a7796", "renesas,mfis-lock";
++
++- reg : start address and length for MFIS lock registers.
++
++
++Examples:
++
++mfis_lock: mfis-lock {
++ compatible = "renesas,mfis-lock-r8a7795",
++ "renesas,mfis-lock";
++ reg = <0 0xe62600c0 0 0x0020>;
++};
+--
+1.9.1
+
diff --git a/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0021-arm64-dts-r8a77965-Add-MFIS-device-node.patch b/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0021-arm64-dts-r8a77965-Add-MFIS-device-node.patch
new file mode 100644
index 0000000..798a769
--- /dev/null
+++ b/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0021-arm64-dts-r8a77965-Add-MFIS-device-node.patch
@@ -0,0 +1,34 @@
+From 8aacad27fd689c933150bcabdc2cba3353892803 Mon Sep 17 00:00:00 2001
+From: Hiroki Negishi <hiroki.negishi.bx@renesas.com>
+Date: Mon, 13 Nov 2017 12:09:11 +0900
+Subject: [PATCH 21/23] arm64: dts: r8a77965: Add MFIS device node
+
+This patch adds the MFIS device node.
+
+Signed-off-by: Hiroki Negishi <hiroki.negishi.bx@renesas.com>
+---
+ arch/arm64/boot/dts/renesas/r8a77965.dtsi | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/arch/arm64/boot/dts/renesas/r8a77965.dtsi b/arch/arm64/boot/dts/renesas/r8a77965.dtsi
+index 24bb42a..0977119 100644
+--- a/arch/arm64/boot/dts/renesas/r8a77965.dtsi
++++ b/arch/arm64/boot/dts/renesas/r8a77965.dtsi
+@@ -696,6 +696,14 @@
+ power-domains = <&sysc R8A77965_PD_ALWAYS_ON>;
+ };
+
++ mfis: mfis@e6260000 {
++ compatible = "renesas,mfis-r8a77965", "renesas,mfis";
++ reg = <0 0xe6260000 0 0x0200>;
++ interrupts = <GIC_SPI 180 IRQ_TYPE_LEVEL_HIGH>;
++ interrupt-names = "eicr0";
++ status = "okay";
++ };
++
+ pfc: pin-controller@e6060000 {
+ compatible = "renesas,pfc-r8a77965";
+ reg = <0 0xe6060000 0 0x50c>;
+--
+1.9.1
+
diff --git a/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0022-arm64-dts-r8a7795-Add-MFIS-Lock-device-node.patch b/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0022-arm64-dts-r8a7795-Add-MFIS-Lock-device-node.patch
new file mode 100644
index 0000000..1f2a4b5
--- /dev/null
+++ b/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0022-arm64-dts-r8a7795-Add-MFIS-Lock-device-node.patch
@@ -0,0 +1,33 @@
+From 57b4d4e9052790f6ee47d9f36cd2763fe8388bdd Mon Sep 17 00:00:00 2001
+From: Hiroki Negishi <hiroki.negishi.bx@renesas.com>
+Date: Mon, 13 Nov 2017 12:12:53 +0900
+Subject: [PATCH 22/23] arm64: dts: r8a7795: Add MFIS Lock device node
+
+Add MFIS Lock device node for R-Car Gen3 Hardware Spinlock driver.
+
+Signed-off-by: Hiroki Negishi <hiroki.negishi.bx@renesas.com>
+---
+ arch/arm64/boot/dts/renesas/r8a77965.dtsi | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/arch/arm64/boot/dts/renesas/r8a77965.dtsi b/arch/arm64/boot/dts/renesas/r8a77965.dtsi
+index 0977119..fa09093 100644
+--- a/arch/arm64/boot/dts/renesas/r8a77965.dtsi
++++ b/arch/arm64/boot/dts/renesas/r8a77965.dtsi
+@@ -704,6 +704,13 @@
+ status = "okay";
+ };
+
++ mfis_lock: mfis-lock {
++ compatible = "renesas,mfis-lock-r8a77965",
++ "renesas,mfis-lock";
++ reg = <0 0xe62600c0 0 0x0020>;
++ status = "okay";
++ };
++
+ pfc: pin-controller@e6060000 {
+ compatible = "renesas,pfc-r8a77965";
+ reg = <0 0xe6060000 0 0x50c>;
+--
+1.9.1
+
diff --git a/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0023-DT-hwspinlock-Add-support-for-R8A77965.patch b/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0023-DT-hwspinlock-Add-support-for-R8A77965.patch
new file mode 100644
index 0000000..8c48545
--- /dev/null
+++ b/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/0023-DT-hwspinlock-Add-support-for-R8A77965.patch
@@ -0,0 +1,25 @@
+From 55275fe86ebc492a0b45c6ad1f39767f8efcda3f Mon Sep 17 00:00:00 2001
+From: Hiroki Negishi <hiroki.negishi.bx@renesas.com>
+Date: Mon, 13 Nov 2017 12:14:51 +0900
+Subject: [PATCH 23/23] DT: hwspinlock: Add support for R8A77965
+
+Signed-off-by: Hiroki Negishi <hiroki.negishi.bx@renesas.com>
+---
+ Documentation/devicetree/bindings/hwlock/rcar-hwspinlock.txt | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/Documentation/devicetree/bindings/hwlock/rcar-hwspinlock.txt b/Documentation/devicetree/bindings/hwlock/rcar-hwspinlock.txt
+index e342ae4..fb4127b 100644
+--- a/Documentation/devicetree/bindings/hwlock/rcar-hwspinlock.txt
++++ b/Documentation/devicetree/bindings/hwlock/rcar-hwspinlock.txt
+@@ -5,6 +5,7 @@ Required properties :
+ - compatible : shall contain only one of the following:
+ - "renesas,mfis-lock-r8a7795", "renesas,mfis-lock";
+ - "renesas,mfis-lock-r8a7796", "renesas,mfis-lock";
++ - "renesas,mfis-lock-r8a77965", "renesas,mfis-lock";
+
+ - reg : start address and length for MFIS lock registers.
+
+--
+1.9.1
+
diff --git a/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/iccom_feature.scc b/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/iccom_feature.scc
new file mode 100644
index 0000000..17ff954
--- /dev/null
+++ b/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers/iccom_feature.scc
@@ -0,0 +1,23 @@
+patch 0001-Revert-arm64-dts-r8a77965-Add-MFIS-device-node.patch
+patch 0002-Revert-arm64-dts-r8a77965-Add-MFIS-Lock-device-node.patch
+patch 0003-Revert-arm64-dts-r8a7796-Add-MFIS-device-node.patch
+patch 0004-Revert-arm64-dts-r8a7796-Add-MFIS-Lock-device-node.patch
+patch 0005-Revert-arm64-dts-r8a7795-Add-MFIS-device-node.patch
+patch 0006-Revert-arm64-dts-r8a7795-Add-MFIS-Lock-device-node.patch
+patch 0007-Revert-arm64-dts-r8a7795-es1-Add-MFIS-device-node.patch
+patch 0008-Revert-arm64-dts-r8a7795-es1-Add-MFIS-Lock-device-no.patch
+patch 0009-Revert-Revert-arm64-dts-r8a7795-es1-Add-MFIS-device-.patch
+patch 0010-Revert-Revert-arm64-dts-r8a7795-es1-Add-MFIS-Lock-de.patch
+patch 0011-Revert-Revert-arm64-dts-r8a7795-Add-MFIS-device-node.patch
+patch 0012-Revert-Revert-arm64-dts-r8a7795-Add-MFIS-Lock-device.patch
+patch 0013-Revert-Revert-arm64-dts-r8a7796-Add-MFIS-device-node.patch
+patch 0014-Revert-Revert-arm64-dts-r8a7795-Add-MFIS-Lock-device.patch
+patch 0015-Revert-DT-hwspinlock-Add-binding-documentation-for-R.patch
+patch 0016-Revert-hwspinlock-rcar-Add-support-for-R-Car-Gen3-Ha.patch
+patch 0017-Revert-Revert-hwspinlock-rcar-Add-support-for-R-Car-.patch
+patch 0018-Revert-Revert-hwspinlock-rcar-Remove-the-MFIS-clock-.patch
+patch 0019-Revert-Revert-hwspinlock-rcar-Add-pm_runtime_disable.patch
+patch 0020-Revert-Revert-DT-hwspinlock-Add-binding-documentatio.patch
+patch 0021-arm64-dts-r8a77965-Add-MFIS-device-node.patch
+patch 0022-arm64-dts-r8a7795-Add-MFIS-Lock-device-node.patch
+patch 0023-DT-hwspinlock-Add-support-for-R8A77965.patch
diff --git a/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers_4.9.bb b/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers_4.9.bb
index 42bf739..41fe33a 100644
--- a/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers_4.9.bb
+++ b/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers_4.9.bb
@@ -1,3 +1,4 @@
+require include/iccom-control.inc
require recipes-kernel/linux-libc-headers/linux-libc-headers.inc
RENESAS_BSP_URL = " \
@@ -7,4 +8,8 @@ SRCREV = "2c20c9881d53f1b5c7a3ebf55bb83ec15902d0d0"
SRC_URI = "${RENESAS_BSP_URL};branch=${BRANCH}"
+# Add some patches to support ICCOM module
+SRC_URI_append = " \
+ ${@base_conditional("USE_ICCOM", "1", " file://iccom_feature.scc", "", d)} \
+"
S = "${WORKDIR}/git"