summaryrefslogtreecommitdiff
path: root/recipes-kernel
diff options
context:
space:
mode:
authorJohn Klug <john.klug@multitech.com>2021-11-01 11:43:12 -0500
committerAndrii Pientsov <andrii.pientsov@globallogic.com>2021-11-18 10:00:33 +0200
commit7e041a3236986d26f8174df5063ec5523a3f952a (patch)
treec674ba56ca545ecf7b715897f482864b2b307b6c /recipes-kernel
parent5e363ebddbb2b891d89d52f001e565a62e2732d8 (diff)
downloadmeta-multitech-atmel-7e041a3236986d26f8174df5063ec5523a3f952a.tar.gz
meta-multitech-atmel-7e041a3236986d26f8174df5063ec5523a3f952a.tar.bz2
meta-multitech-atmel-7e041a3236986d26f8174df5063ec5523a3f952a.zip
output-high and output-low are ignored by pinctrl_at91 driver
Diffstat (limited to 'recipes-kernel')
-rw-r--r--recipes-kernel/linux/linux-at91-4.9.87/mtcdt/linux-4.9-mtcdt-device-tree.patch24
1 files changed, 12 insertions, 12 deletions
diff --git a/recipes-kernel/linux/linux-at91-4.9.87/mtcdt/linux-4.9-mtcdt-device-tree.patch b/recipes-kernel/linux/linux-at91-4.9.87/mtcdt/linux-4.9-mtcdt-device-tree.patch
index fff3d85..481ab6d 100644
--- a/recipes-kernel/linux/linux-at91-4.9.87/mtcdt/linux-4.9-mtcdt-device-tree.patch
+++ b/recipes-kernel/linux/linux-at91-4.9.87/mtcdt/linux-4.9-mtcdt-device-tree.patch
@@ -1,6 +1,6 @@
diff -Naru orig/arch/arm/boot/dts/mtcdt.dts new/arch/arm/boot/dts/mtcdt.dts
--- orig/arch/arm/boot/dts/mtcdt.dts 1969-12-31 18:00:00.000000000 -0600
-+++ new/arch/arm/boot/dts/mtcdt.dts 2021-10-21 06:40:53.695663469 -0500
++++ new/arch/arm/boot/dts/mtcdt.dts 2021-11-01 11:34:34.531175268 -0500
@@ -0,0 +1,315 @@
+/*
+ * DTS file for Multi-Tech Systems MTCDT Hardware
@@ -54,23 +54,25 @@ diff -Naru orig/arch/arm/boot/dts/mtcdt.dts new/arch/arm/boot/dts/mtcdt.dts
+ };
+ mts-io {
+ pinctrl_mts_io_out: mts_io-0 {
++ // gpio4 and gpio5 are reset in at91bootstrap. They should not be touched in Linux.
+ atmel,pins =
-+ <AT91_PIOD 14 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP /* PD14 WiFi BT reset */
-+ AT91_PIOD 16 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP /* PD16 Secure reset */
-+ AT91_PIOD 17 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP /* PD17 MTQ reset */
-+ AT91_PIOD 18 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>; /* PD18 USB Hub reset */
-+ output-high;
++ <AT91_PIOD 14 AT91_PERIPH_GPIO (AT91_PINCTRL_OUTPUT|AT91_PINCTRL_OUTPUT_VAL(1)) /* PD14 WiFi BT reset */
++ AT91_PIOD 16 AT91_PERIPH_GPIO (AT91_PINCTRL_OUTPUT|AT91_PINCTRL_OUTPUT_VAL(1)) /* PD16 Secure reset or gpio4 reset */
++ AT91_PIOD 17 AT91_PERIPH_GPIO (AT91_PINCTRL_OUTPUT|AT91_PINCTRL_OUTPUT_VAL(1)) /* PD17 MTQ reset */
++ AT91_PIOD 18 AT91_PERIPH_GPIO (AT91_PINCTRL_OUTPUT|AT91_PINCTRL_OUTPUT_VAL(1))>; /* PD18 USB Hub reset */
++ output-high; // ignored by at91_pinctrl
+ };
+ pinctrl_mts_io_in: mts_io-1 {
+ atmel,pins =
+ <AT91_PIOD 19 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP /* PD19 GNSS Int */
+ AT91_PIOD 20 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>; /* PD20 WiFi_BT_LPMode Input */
+ };
++ // GNSS kept in reset to prevent EXAR from hanging
+ pinctrl_mts_io_gnss: mts_io-2 {
+ atmel,pins =
-+ <AT91_PIOC 4 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP /* PC16 ETH_NRST */
-+ AT91_PIOD 15 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>; /* PD15 N_GNSS_RESET */
-+ output-low;
++ <AT91_PIOC 4 AT91_PERIPH_GPIO (AT91_PINCTRL_OUTPUT|AT91_PINCTRL_OUTPUT_VAL(0)) /* PC16 ETH_NRST */
++ AT91_PIOD 15 AT91_PERIPH_GPIO (AT91_PINCTRL_OUTPUT|AT91_PINCTRL_OUTPUT_VAL(0))>; /* PD15 N_GNSS_RESET */
++ output-low; // ignored by at91_pinctrl
+ };
+ };
+
@@ -312,9 +314,7 @@ diff -Naru orig/arch/arm/boot/dts/mtcdt.dts new/arch/arm/boot/dts/mtcdt.dts
+ status = "okay";
+ compatible = "mts,mts-io";
+ pinctrl-names = "default";
-+ pinctrl-0 = <&pinctrl_mts_io_out>;
-+ pinctrl-1 = <&pinctrl_mts_io_in>;
-+ pinctrl-2 = <&pinctrl_mts_io_gnss>;
++ pinctrl-0 = <&pinctrl_mts_io_out>, <&pinctrl_mts_io_in>, <&pinctrl_mts_io_gnss>;
+ };
+};
Index: linux-4.9/arch/arm/boot/dts/at91sam9x5cm.dtsi