aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShawn Guo <shawn.guo@freescale.com>2014-05-15 00:08:14 -0400
committerShawn Guo <shawn.guo@freescale.com>2014-05-16 04:19:13 -0400
commit365a942247859a8e7ca8b78d4de5740e40edb67a (patch)
tree0a7992a01a47af75bc170eb9cb6a833f04cae4e1
parent5cd6333a44b48ff0b6e291c3ce88d6f9f288b7f9 (diff)
ENGR00313685-15 ARM: dts: imx: apply ENET IRQ workaround for sabresd board
This is pretty much an example to demonstrate how the GPIO6 workaround for bug ERR006687 (ENET: Only the ENET wake-up interrupt request can wake the system from Wait mode) should be applied for a board. Basically it requires a setup of MX6QDL_PAD_GPIO_6__ENET_IRQ in pinctrl entry, and an overwrite on the property interrupts-extended to replace the ENET GIC IRQ with GPIO1_6. Since the pad GPIO6 is used by I2C3 on the board, we have to create sabresd-enetirq.dts with I2C3 disabled to enable this workaround. Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
-rw-r--r--arch/arm/boot/dts/Makefile2
-rw-r--r--arch/arm/boot/dts/imx6dl-sabresd-enetirq.dts18
-rw-r--r--arch/arm/boot/dts/imx6q-sabresd-enetirq.dts18
-rw-r--r--arch/arm/boot/dts/imx6qdl.dtsi6
4 files changed, 44 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index a02ff774c6da..e37e1a092912 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -118,6 +118,7 @@ dtb-$(CONFIG_ARCH_MXC) += \
118 imx6dl-sabreauto-flexcan1.dtb \ 118 imx6dl-sabreauto-flexcan1.dtb \
119 imx6dl-sabreauto-gpmi-weim.dtb \ 119 imx6dl-sabreauto-gpmi-weim.dtb \
120 imx6dl-sabresd.dtb \ 120 imx6dl-sabresd.dtb \
121 imx6dl-sabresd-enetirq.dtb \
121 imx6dl-sabresd-hdcp.dtb \ 122 imx6dl-sabresd-hdcp.dtb \
122 imx6dl-sabresd-ldo.dtb \ 123 imx6dl-sabresd-ldo.dtb \
123 imx6dl-sabresd-pf200.dtb \ 124 imx6dl-sabresd-pf200.dtb \
@@ -129,6 +130,7 @@ dtb-$(CONFIG_ARCH_MXC) += \
129 imx6q-sabreauto-gpmi-weim.dtb \ 130 imx6q-sabreauto-gpmi-weim.dtb \
130 imx6q-sabrelite.dtb \ 131 imx6q-sabrelite.dtb \
131 imx6q-sabresd.dtb \ 132 imx6q-sabresd.dtb \
133 imx6q-sabresd-enetirq.dtb \
132 imx6q-sabresd-hdcp.dtb \ 134 imx6q-sabresd-hdcp.dtb \
133 imx6q-sabresd-ldo.dtb \ 135 imx6q-sabresd-ldo.dtb \
134 imx6q-sbc6x.dtb \ 136 imx6q-sbc6x.dtb \
diff --git a/arch/arm/boot/dts/imx6dl-sabresd-enetirq.dts b/arch/arm/boot/dts/imx6dl-sabresd-enetirq.dts
new file mode 100644
index 000000000000..f4da4941d156
--- /dev/null
+++ b/arch/arm/boot/dts/imx6dl-sabresd-enetirq.dts
@@ -0,0 +1,18 @@
1/*
2 * Copyright (C) 2014 Freescale Semiconductor, Inc.
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
7 */
8
9#include "imx6dl-sabresd.dts"
10
11&fec {
12 pinctrl-0 = <&pinctrl_enet_1 &pinctrl_enet_irq>;
13 interrupts-extended = <&gpio1 6 0x04>, <&intc 0 119 0x04>;
14};
15
16&i2c3 {
17 status = "disabled";
18};
diff --git a/arch/arm/boot/dts/imx6q-sabresd-enetirq.dts b/arch/arm/boot/dts/imx6q-sabresd-enetirq.dts
new file mode 100644
index 000000000000..8ccfad6df857
--- /dev/null
+++ b/arch/arm/boot/dts/imx6q-sabresd-enetirq.dts
@@ -0,0 +1,18 @@
1/*
2 * Copyright (C) 2014 Freescale Semiconductor, Inc.
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
7 */
8
9#include "imx6q-sabresd.dts"
10
11&fec {
12 pinctrl-0 = <&pinctrl_enet_1 &pinctrl_enet_irq>;
13 interrupts-extended = <&gpio1 6 0x04>, <&intc 0 119 0x04>;
14};
15
16&i2c3 {
17 status = "disabled";
18};
diff --git a/arch/arm/boot/dts/imx6qdl.dtsi b/arch/arm/boot/dts/imx6qdl.dtsi
index 2f33815f3182..0bcf6573cdb6 100644
--- a/arch/arm/boot/dts/imx6qdl.dtsi
+++ b/arch/arm/boot/dts/imx6qdl.dtsi
@@ -1167,6 +1167,12 @@
1167 MX6QDL_PAD_ENET_TX_EN__ENET_TX_EN 0x1b0b0 1167 MX6QDL_PAD_ENET_TX_EN__ENET_TX_EN 0x1b0b0
1168 >; 1168 >;
1169 }; 1169 };
1170
1171 pinctrl_enet_irq: enetirqgrp {
1172 fsl,pins = <
1173 MX6QDL_PAD_GPIO_6__ENET_IRQ 0x000b1
1174 >;
1175 };
1170 }; 1176 };
1171 1177
1172 esai { 1178 esai {