summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Klug <john.klug@multitech.com>2021-11-01 11:43:12 -0500
committerJohn Klug <john.klug@multitech.com>2021-12-29 08:26:41 -0600
commitd79db5f8ea7613c85beb42e2f2c20b780cd9dd83 (patch)
treea723e1b21fad212db3f45dca0b9209ddbf4d7140
parentd890391ef975270f20c26bcbbf10fa73f2e6a708 (diff)
downloadmeta-multitech-atmel-d79db5f8ea7613c85beb42e2f2c20b780cd9dd83.tar.gz
meta-multitech-atmel-d79db5f8ea7613c85beb42e2f2c20b780cd9dd83.tar.bz2
meta-multitech-atmel-d79db5f8ea7613c85beb42e2f2c20b780cd9dd83.zip
output-high and output-low are ignored by pinctrl_at91 driver
-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