summaryrefslogtreecommitdiff
path: root/recipes-kernel/linux/linux-at91-5.4.195/mtr
diff options
context:
space:
mode:
authorJohn Klug <john.klug@multitech.com>2022-05-24 13:59:21 -0500
committerJohn Klug <john.klug@multitech.com>2022-05-24 14:52:36 -0500
commit7f34ce94e42c0311a1a24c5101c51fb51d649cce (patch)
tree5acc15099540994ca190daafe745817f2d8514d3 /recipes-kernel/linux/linux-at91-5.4.195/mtr
parent695ebddbf1a14400e59861bd2c09f298c419dbd7 (diff)
downloadmeta-multitech-atmel-7f34ce94e42c0311a1a24c5101c51fb51d649cce.tar.gz
meta-multitech-atmel-7f34ce94e42c0311a1a24c5101c51fb51d649cce.tar.bz2
meta-multitech-atmel-7f34ce94e42c0311a1a24c5101c51fb51d649cce.zip
New Linux4SAM LinuxAT91 5.4.195
Diffstat (limited to 'recipes-kernel/linux/linux-at91-5.4.195/mtr')
-rw-r--r--recipes-kernel/linux/linux-at91-5.4.195/mtr/linux-5.4-fix-atmel-mci-reg-overloading.patch31
-rw-r--r--recipes-kernel/linux/linux-at91-5.4.195/mtr/linux-5.4-wl12xx_enable_disable.patch43
2 files changed, 74 insertions, 0 deletions
diff --git a/recipes-kernel/linux/linux-at91-5.4.195/mtr/linux-5.4-fix-atmel-mci-reg-overloading.patch b/recipes-kernel/linux/linux-at91-5.4.195/mtr/linux-5.4-fix-atmel-mci-reg-overloading.patch
new file mode 100644
index 0000000..5c2ad5c
--- /dev/null
+++ b/recipes-kernel/linux/linux-at91-5.4.195/mtr/linux-5.4-fix-atmel-mci-reg-overloading.patch
@@ -0,0 +1,31 @@
+From 7b8c093062598df773858f956b1145a8df84434f Mon Sep 17 00:00:00 2001
+From: Mykyta Dorokhin <mykyta.dorokhin@globallogic.com>
+Date: Fri, 5 Feb 2021 19:20:29 +0200
+Subject: [PATCH] linux-5.4: fix-atmel-mci-reg-overloading
+
+---
+ drivers/mmc/host/atmel-mci.c | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/mmc/host/atmel-mci.c b/drivers/mmc/host/atmel-mci.c
+index a750b0c..284057a 100644
+--- a/drivers/mmc/host/atmel-mci.c
++++ b/drivers/mmc/host/atmel-mci.c
+@@ -617,8 +617,12 @@ static void atmci_init_debugfs(struct atmel_mci_slot *slot)
+ return ERR_PTR(-ENOMEM);
+
+ for_each_child_of_node(np, cnp) {
+- if (of_property_read_u32(cnp, "reg", &slot_id)) {
+- dev_warn(&pdev->dev, "reg property is missing for %pOF\n",
++ /* Multi-Tech patch here. The original driver went through each child
++ device, and interprets 'reg' as slot ID. All other devices treat 'reg'
++ as function. We correct the driver here to take a 'slot-id' parameter
++ from OF for slot. MN */
++ if (of_property_read_u32(cnp, "slot-id", &slot_id)) {
++ dev_warn(&pdev->dev, "slot-id property is missing for %s\n",
+ cnp);
+ continue;
+ }
+--
+1.9.1
+
diff --git a/recipes-kernel/linux/linux-at91-5.4.195/mtr/linux-5.4-wl12xx_enable_disable.patch b/recipes-kernel/linux/linux-at91-5.4.195/mtr/linux-5.4-wl12xx_enable_disable.patch
new file mode 100644
index 0000000..ebaadd0
--- /dev/null
+++ b/recipes-kernel/linux/linux-at91-5.4.195/mtr/linux-5.4-wl12xx_enable_disable.patch
@@ -0,0 +1,43 @@
+From 89ade75d063fec124a6d338d7d332ab2fc4309dd Mon Sep 17 00:00:00 2001
+From: Mykyta Dorokhin <mykyta.dorokhin@globallogic.com>
+Date: Mon, 8 Feb 2021 18:30:40 +0200
+Subject: [PATCH] linux-5.4: wl12xx_enable_disable
+
+---
+ drivers/net/wireless/ti/wlcore/sdio.c | 12 +++++++++++-
+ 1 file changed, 11 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/net/wireless/ti/wlcore/sdio.c b/drivers/net/wireless/ti/wlcore/sdio.c
+index 7afaf35..b03a19c 100644
+--- a/drivers/net/wireless/ti/wlcore/sdio.c
++++ b/drivers/net/wireless/ti/wlcore/sdio.c
+@@ -140,8 +140,14 @@ static int wl12xx_sdio_power_on(struct wl12xx_sdio_glue *glue)
+ struct sdio_func *func = dev_to_sdio_func(glue->dev);
+ struct mmc_card *card = func->card;
+
++ /* Multi-Tech MTR patch: Assert WL_EN (PA27) to enable Wi-Fi */
++ gpio_set_value(27, 0);
++ msleep(10);
++ gpio_set_value(27, 1);
++ msleep(100);
++
+ ret = pm_runtime_get_sync(&card->dev);
+- if (ret < 0) {
++ if (ret < 0 && ret != -EACCES) {
+ pm_runtime_put_noidle(&card->dev);
+ dev_err(glue->dev, "%s: failed to get_sync(%d)\n",
+ __func__, ret);
+@@ -171,6 +177,10 @@ static int wl12xx_sdio_power_off(struct wl12xx_sdio_glue *glue)
+ sdio_disable_func(func);
+ sdio_release_host(func);
+
++ /* Multi-Tech MTR patch: De-assert WL_EN (PA27) to disable Wi-Fi */
++ gpio_set_value(27, 0);
++ msleep(10);
++
+ /* Let runtime PM know the card is powered off */
+ pm_runtime_put(&card->dev);
+ return 0;
+--
+1.9.1
+