diff options
Diffstat (limited to 'meta-rcar-gen3/recipes-kernel/linux/linux-renesas')
24 files changed, 1315 insertions, 0 deletions
diff --git a/meta-rcar-gen3/recipes-kernel/linux/linux-renesas/0001-Revert-arm64-dts-r8a77965-Add-MFIS-device-node.patch b/meta-rcar-gen3/recipes-kernel/linux/linux-renesas/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/linux-renesas/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/linux-renesas/0002-Revert-arm64-dts-r8a77965-Add-MFIS-Lock-device-node.patch b/meta-rcar-gen3/recipes-kernel/linux/linux-renesas/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/linux-renesas/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/linux-renesas/0003-Revert-arm64-dts-r8a7796-Add-MFIS-device-node.patch b/meta-rcar-gen3/recipes-kernel/linux/linux-renesas/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/linux-renesas/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/linux-renesas/0004-Revert-arm64-dts-r8a7796-Add-MFIS-Lock-device-node.patch b/meta-rcar-gen3/recipes-kernel/linux/linux-renesas/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/linux-renesas/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/linux-renesas/0005-Revert-arm64-dts-r8a7795-Add-MFIS-device-node.patch b/meta-rcar-gen3/recipes-kernel/linux/linux-renesas/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/linux-renesas/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/linux-renesas/0006-Revert-arm64-dts-r8a7795-Add-MFIS-Lock-device-node.patch b/meta-rcar-gen3/recipes-kernel/linux/linux-renesas/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/linux-renesas/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/linux-renesas/0007-Revert-arm64-dts-r8a7795-es1-Add-MFIS-device-node.patch b/meta-rcar-gen3/recipes-kernel/linux/linux-renesas/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/linux-renesas/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/linux-renesas/0008-Revert-arm64-dts-r8a7795-es1-Add-MFIS-Lock-device-no.patch b/meta-rcar-gen3/recipes-kernel/linux/linux-renesas/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/linux-renesas/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/linux-renesas/0009-Revert-Revert-arm64-dts-r8a7795-es1-Add-MFIS-device-.patch b/meta-rcar-gen3/recipes-kernel/linux/linux-renesas/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/linux-renesas/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/linux-renesas/0010-Revert-Revert-arm64-dts-r8a7795-es1-Add-MFIS-Lock-de.patch b/meta-rcar-gen3/recipes-kernel/linux/linux-renesas/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/linux-renesas/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/linux-renesas/0011-Revert-Revert-arm64-dts-r8a7795-Add-MFIS-device-node.patch b/meta-rcar-gen3/recipes-kernel/linux/linux-renesas/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/linux-renesas/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/linux-renesas/0012-Revert-Revert-arm64-dts-r8a7795-Add-MFIS-Lock-device.patch b/meta-rcar-gen3/recipes-kernel/linux/linux-renesas/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/linux-renesas/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/linux-renesas/0013-Revert-Revert-arm64-dts-r8a7796-Add-MFIS-device-node.patch b/meta-rcar-gen3/recipes-kernel/linux/linux-renesas/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/linux-renesas/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/linux-renesas/0014-Revert-Revert-arm64-dts-r8a7795-Add-MFIS-Lock-device.patch b/meta-rcar-gen3/recipes-kernel/linux/linux-renesas/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/linux-renesas/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/linux-renesas/0015-Revert-DT-hwspinlock-Add-binding-documentation-for-R.patch b/meta-rcar-gen3/recipes-kernel/linux/linux-renesas/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/linux-renesas/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/linux-renesas/0016-Revert-hwspinlock-rcar-Add-support-for-R-Car-Gen3-Ha.patch b/meta-rcar-gen3/recipes-kernel/linux/linux-renesas/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/linux-renesas/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/linux-renesas/0017-Revert-Revert-hwspinlock-rcar-Add-support-for-R-Car-.patch b/meta-rcar-gen3/recipes-kernel/linux/linux-renesas/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/linux-renesas/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/linux-renesas/0018-Revert-Revert-hwspinlock-rcar-Remove-the-MFIS-clock-.patch b/meta-rcar-gen3/recipes-kernel/linux/linux-renesas/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/linux-renesas/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/linux-renesas/0019-Revert-Revert-hwspinlock-rcar-Add-pm_runtime_disable.patch b/meta-rcar-gen3/recipes-kernel/linux/linux-renesas/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/linux-renesas/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/linux-renesas/0020-Revert-Revert-DT-hwspinlock-Add-binding-documentatio.patch b/meta-rcar-gen3/recipes-kernel/linux/linux-renesas/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/linux-renesas/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/linux-renesas/0021-arm64-dts-r8a77965-Add-MFIS-device-node.patch b/meta-rcar-gen3/recipes-kernel/linux/linux-renesas/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/linux-renesas/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/linux-renesas/0022-arm64-dts-r8a7795-Add-MFIS-Lock-device-node.patch b/meta-rcar-gen3/recipes-kernel/linux/linux-renesas/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/linux-renesas/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/linux-renesas/0023-DT-hwspinlock-Add-support-for-R8A77965.patch b/meta-rcar-gen3/recipes-kernel/linux/linux-renesas/0023-DT-hwspinlock-Add-support-for-R8A77965.patch new file mode 100644 index 0000000..8c48545 --- /dev/null +++ b/meta-rcar-gen3/recipes-kernel/linux/linux-renesas/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/linux-renesas/iccom_feature.scc b/meta-rcar-gen3/recipes-kernel/linux/linux-renesas/iccom_feature.scc new file mode 100644 index 0000000..17ff954 --- /dev/null +++ b/meta-rcar-gen3/recipes-kernel/linux/linux-renesas/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 |