aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/layerscape/patches-5.4/813-pm-0005-soc-fsl-handle-RCPM-errata-A-008646-on-SoC-LS1021A.patch
diff options
context:
space:
mode:
authorDaniel Golle <daniel@makrotopia.org>2022-03-21 01:16:48 +0000
committerDaniel Golle <daniel@makrotopia.org>2022-03-21 13:11:56 +0000
commit786bf7fdaca4c75e7eba6e9aa3a8b5775fd21186 (patch)
tree926fecb2b1f6ce1e42ba7ef4c7aab8e68dfd214c /target/linux/layerscape/patches-5.4/813-pm-0005-soc-fsl-handle-RCPM-errata-A-008646-on-SoC-LS1021A.patch
parent9470160c350d15f765c33d6c1db15d6c4709a64c (diff)
downloadupstream-786bf7fdaca4c75e7eba6e9aa3a8b5775fd21186.tar.gz
upstream-786bf7fdaca4c75e7eba6e9aa3a8b5775fd21186.tar.bz2
upstream-786bf7fdaca4c75e7eba6e9aa3a8b5775fd21186.zip
kernel: delete Linux 5.4 config and patches
As the upcoming release will be based on Linux 5.10 only, remove all kernel configuration as well as patches for Linux 5.4. There were no targets still actively using Linux 5.4. Signed-off-by: Daniel Golle <daniel@makrotopia.org> (cherry picked from commit 3a14580411adfb75f9a44eded9f41245b9e44606)
Diffstat (limited to 'target/linux/layerscape/patches-5.4/813-pm-0005-soc-fsl-handle-RCPM-errata-A-008646-on-SoC-LS1021A.patch')
-rw-r--r--target/linux/layerscape/patches-5.4/813-pm-0005-soc-fsl-handle-RCPM-errata-A-008646-on-SoC-LS1021A.patch100
1 files changed, 0 insertions, 100 deletions
diff --git a/target/linux/layerscape/patches-5.4/813-pm-0005-soc-fsl-handle-RCPM-errata-A-008646-on-SoC-LS1021A.patch b/target/linux/layerscape/patches-5.4/813-pm-0005-soc-fsl-handle-RCPM-errata-A-008646-on-SoC-LS1021A.patch
deleted file mode 100644
index faf5627b9d..0000000000
--- a/target/linux/layerscape/patches-5.4/813-pm-0005-soc-fsl-handle-RCPM-errata-A-008646-on-SoC-LS1021A.patch
+++ /dev/null
@@ -1,100 +0,0 @@
-From 12ae7ff3ecb4527ebe30ec6feb29ebb0ec4cd0a7 Mon Sep 17 00:00:00 2001
-From: Biwen Li <biwen.li@nxp.com>
-Date: Sat, 14 Sep 2019 12:37:49 +0800
-Subject: [PATCH] soc: fsl: handle RCPM errata A-008646 on SoC LS1021A
-
-Description:
- - Reading configuration register RCPM_IPPDEXPCR1
- always return zero
-
-Workaround:
- - Save register RCPM_IPPDEXPCR1's value to
- register SCFG_SPARECR8.(uboot's psci also
- need reading value from the register SCFG_SPARECR8
- to set register RCPM_IPPDEXPCR1)
-
-Impact:
- - FlexTimer module will cannot wakeup system in
- deep sleep on SoC LS1021A
-
-Reviewed-by: Ran Wang <ran.wang_1@nxp.com>
-Signed-off-by: Biwen Li <biwen.li@nxp.com>
----
- drivers/soc/fsl/rcpm.c | 47 +++++++++++++++++++++++++++++++++++++++++++++--
- 1 file changed, 45 insertions(+), 2 deletions(-)
-
---- a/drivers/soc/fsl/rcpm.c
-+++ b/drivers/soc/fsl/rcpm.c
-@@ -6,13 +6,16 @@
- //
- // Author: Ran Wang <ran.wang_1@nxp.com>
-
-+#include <linux/acpi.h>
- #include <linux/init.h>
-+#include <linux/kernel.h>
-+#include <linux/mfd/syscon.h>
- #include <linux/module.h>
--#include <linux/platform_device.h>
- #include <linux/of_address.h>
-+#include <linux/platform_device.h>
-+#include <linux/regmap.h>
- #include <linux/slab.h>
- #include <linux/suspend.h>
--#include <linux/kernel.h>
-
- #define RCPM_WAKEUP_CELL_MAX_SIZE 7
-
-@@ -37,6 +40,9 @@ static int rcpm_pm_prepare(struct device
- struct device_node *np = dev->of_node;
- u32 value[RCPM_WAKEUP_CELL_MAX_SIZE + 1];
- u32 setting[RCPM_WAKEUP_CELL_MAX_SIZE] = {0};
-+ struct regmap *scfg_addr_regmap = NULL;
-+ u32 reg_offset[RCPM_WAKEUP_CELL_MAX_SIZE + 1];
-+ u32 reg_value = 0;
-
- rcpm = dev_get_drvdata(dev);
- if (!rcpm)
-@@ -90,6 +96,43 @@ static int rcpm_pm_prepare(struct device
- tmp |= ioread32be(address);
- iowrite32be(tmp, address);
- }
-+ /*
-+ * Workaround of errata A-008646 on SoC LS1021A:
-+ * There is a bug of register ippdexpcr1.
-+ * Reading configuration register RCPM_IPPDEXPCR1
-+ * always return zero. So save ippdexpcr1's value
-+ * to register SCFG_SPARECR8.And the value of
-+ * ippdexpcr1 will be read from SCFG_SPARECR8.
-+ */
-+ if (device_property_present(dev, "fsl,ippdexpcr1-alt-addr")) {
-+ if (dev_of_node(dev)) {
-+ scfg_addr_regmap = syscon_regmap_lookup_by_phandle(np,
-+ "fsl,ippdexpcr1-alt-addr");
-+ } else if (is_acpi_node(dev->fwnode)) {
-+ dev_err(dev, "not support acpi for rcpm\n");
-+ continue;
-+ }
-+
-+ if (scfg_addr_regmap && (i == 1)) {
-+ if (device_property_read_u32_array(dev,
-+ "fsl,ippdexpcr1-alt-addr",
-+ reg_offset,
-+ 1 + sizeof(u64)/sizeof(u32))) {
-+ scfg_addr_regmap = NULL;
-+ continue;
-+ }
-+ /* Read value from register SCFG_SPARECR8 */
-+ regmap_read(scfg_addr_regmap,
-+ (u32)(((u64)(reg_offset[1] << (sizeof(u32) * 8) |
-+ reg_offset[2])) & 0xffffffff),
-+ &reg_value);
-+ /* Write value to register SCFG_SPARECR8 */
-+ regmap_write(scfg_addr_regmap,
-+ (u32)(((u64)(reg_offset[1] << (sizeof(u32) * 8) |
-+ reg_offset[2])) & 0xffffffff),
-+ tmp | reg_value);
-+ }
-+ }
- }
-
- return 0;