aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/layerscape/patches-5.4/808-i2c-0012-i2c-imx-correct-code-of-errata-A-010650-for-layersca.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/808-i2c-0012-i2c-imx-correct-code-of-errata-A-010650-for-layersca.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/808-i2c-0012-i2c-imx-correct-code-of-errata-A-010650-for-layersca.patch')
-rw-r--r--target/linux/layerscape/patches-5.4/808-i2c-0012-i2c-imx-correct-code-of-errata-A-010650-for-layersca.patch92
1 files changed, 0 insertions, 92 deletions
diff --git a/target/linux/layerscape/patches-5.4/808-i2c-0012-i2c-imx-correct-code-of-errata-A-010650-for-layersca.patch b/target/linux/layerscape/patches-5.4/808-i2c-0012-i2c-imx-correct-code-of-errata-A-010650-for-layersca.patch
deleted file mode 100644
index 7fd505df42..0000000000
--- a/target/linux/layerscape/patches-5.4/808-i2c-0012-i2c-imx-correct-code-of-errata-A-010650-for-layersca.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-From 27ea8554c8fdcdf1d7aba5ce47630d878ce96691 Mon Sep 17 00:00:00 2001
-From: Biwen Li <biwen.li@nxp.com>
-Date: Thu, 24 Oct 2019 13:14:44 +0800
-Subject: [PATCH] i2c: imx: correct code of errata A-010650 for layerscape
- platform
-
-- Simplify code with helper function i2c_imx_clr_al_bit
-- Fix an error about clearing arbitration lost bit
-- Fix an error that not set I2Cx_IBCR following by
- the workaround of A-010650 (in step 5)
-
-Reviewed-by: Clark Wang <xiaoning.wang@nxp.com>
-Signed-off-by: Biwen Li <biwen.li@nxp.com>
----
- drivers/i2c/busses/i2c-imx.c | 38 +++++++++++++++++++-------------------
- 1 file changed, 19 insertions(+), 19 deletions(-)
-
---- a/drivers/i2c/busses/i2c-imx.c
-+++ b/drivers/i2c/busses/i2c-imx.c
-@@ -516,6 +516,14 @@ static void i2c_imx_clear_irq(struct imx
- imx_i2c_write_reg(temp, i2c_imx, IMX_I2C_I2SR);
- }
-
-+/* Clear arbitration lost bit */
-+static void i2c_imx_clr_al_bit(unsigned int status, struct imx_i2c_struct *i2c_imx)
-+{
-+ status &= ~I2SR_IAL;
-+ status |= (i2c_imx->hwdata->i2sr_clr_opcode & I2SR_IAL);
-+ imx_i2c_write_reg(status, i2c_imx, IMX_I2C_I2SR);
-+}
-+
- static int i2c_imx_bus_busy(struct imx_i2c_struct *i2c_imx, int for_busy)
- {
- unsigned long orig_jiffies = jiffies;
-@@ -528,7 +536,7 @@ static int i2c_imx_bus_busy(struct imx_i
-
- /* check for arbitration lost */
- if (temp & I2SR_IAL) {
-- i2c_imx_clear_irq(i2c_imx, I2SR_IAL);
-+ i2c_imx_clr_al_bit(temp, i2c_imx);
- return -EAGAIN;
- }
-
-@@ -724,14 +732,6 @@ static void i2c_imx_clr_if_bit(unsigned
- imx_i2c_write_reg(status, i2c_imx, IMX_I2C_I2SR);
- }
-
--/* Clear arbitration lost bit */
--static void i2c_imx_clr_al_bit(unsigned int status, struct imx_i2c_struct *i2c_imx)
--{
-- status &= ~I2SR_IAL;
-- status |= (i2c_imx->hwdata->i2sr_clr_opcode & I2SR_IAL);
-- imx_i2c_write_reg(status, i2c_imx, IMX_I2C_I2SR);
--}
--
- static irqreturn_t i2c_imx_master_isr(struct imx_i2c_struct *i2c_imx)
- {
- unsigned int status;
-@@ -1080,12 +1080,14 @@ static int i2c_imx_recovery_for_layersca
- gpio_set_value(i2c_imx->gpio, 1);
-
- /*
-- * Set I2Cx_IBCR = 0h00 to generate a STOP and then
-- * set I2Cx_IBCR = 0h80 to reset
-+ * Set I2Cx_IBCR = 0h00 to generate a STOP
- */
-- temp = imx_i2c_read_reg(i2c_imx, IMX_I2C_I2CR);
-- temp &= ~(I2CR_MSTA | I2CR_MTX);
-- imx_i2c_write_reg(temp, i2c_imx, IMX_I2C_I2CR);
-+ imx_i2c_write_reg(i2c_imx->hwdata->i2cr_ien_opcode, i2c_imx, IMX_I2C_I2CR);
-+
-+ /*
-+ * Set I2Cx_IBCR = 0h80 to reset the I2Cx controller
-+ */
-+ imx_i2c_write_reg(i2c_imx->hwdata->i2cr_ien_opcode | I2CR_IEN, i2c_imx, IMX_I2C_I2CR);
-
- /* Restore the saved value of the register SCFG_RCWPMUXCR0 */
- if (i2c_imx->need_set_pmuxcr == 1) {
-@@ -1099,10 +1101,9 @@ static int i2c_imx_recovery_for_layersca
- * I2C_IBSR[IBAL] = 1
- */
- temp = imx_i2c_read_reg(i2c_imx, IMX_I2C_I2SR);
-- if (temp & I2SR_IAL) {
-- temp &= ~I2SR_IAL;
-- imx_i2c_write_reg(temp, i2c_imx, IMX_I2C_I2SR);
-- }
-+ if (temp & I2SR_IAL)
-+ i2c_imx_clr_al_bit(temp, i2c_imx);
-+
- return 0;
- }
-