diff options
author | Shawn Guo <shawn.guo@freescale.com> | 2014-05-15 00:08:14 -0400 |
---|---|---|
committer | Shawn Guo <shawn.guo@freescale.com> | 2014-05-16 04:19:13 -0400 |
commit | 365a942247859a8e7ca8b78d4de5740e40edb67a (patch) | |
tree | 0a7992a01a47af75bc170eb9cb6a833f04cae4e1 /arch/arm/boot | |
parent | 5cd6333a44b48ff0b6e291c3ce88d6f9f288b7f9 (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>
Diffstat (limited to 'arch/arm/boot')
-rw-r--r-- | arch/arm/boot/dts/Makefile | 2 | ||||
-rw-r--r-- | arch/arm/boot/dts/imx6dl-sabresd-enetirq.dts | 18 | ||||
-rw-r--r-- | arch/arm/boot/dts/imx6q-sabresd-enetirq.dts | 18 | ||||
-rw-r--r-- | arch/arm/boot/dts/imx6qdl.dtsi | 6 |
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 { |