mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2025-01-13 09:15:02 +08:00
31f0820a67
We've had deeper idle states working on omaps for few years now, but only in the legacy mode. When booted with device tree, the wake-up events did not have a chance to work until commit3e6cee1786
(pinctrl: single: Add support for wake-up interrupts) that recently got merged. In addition to that we also needed commit79d9701559
(of/irq: create interrupts-extended property) and9ec36cafe4
(of/irq: do irq resolution in platform_get_irq) that are now also merged. So let's fix the wake-up events for some selected omaps so devices booted in device tree mode won't just hang if deeper power states are enabled, and so systems can wake up from suspend to the serial port event. Note that there's no longer need to specify the wake-up bit in the pinctrl settings, the request_irq on the wake-up pin takes care of that. Cc: devicetree@vger.kernel.org Cc: "Benoît Cousson" <bcousson@baylibre.com> Cc: Kevin Hilman <khilman@linaro.org> Cc: Nishanth Menon <nm@ti.com> Cc: Paul Walmsley <paul@pwsan.com> Cc: Tero Kristo <t-kristo@ti.com> [tony@atomide.com: updated comments, added board LDP] Signed-off-by: Tony Lindgren <tony@atomide.com>
161 lines
4.0 KiB
Plaintext
161 lines
4.0 KiB
Plaintext
/*
|
|
* Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License version 2 as
|
|
* published by the Free Software Foundation.
|
|
*/
|
|
/dts-v1/;
|
|
|
|
#include "omap36xx.dtsi"
|
|
#include "omap3-evm-common.dtsi"
|
|
|
|
|
|
/ {
|
|
model = "TI OMAP37XX EVM (TMDSEVM3730)";
|
|
compatible = "ti,omap3-evm-37xx", "ti,omap36xx";
|
|
|
|
memory {
|
|
device_type = "memory";
|
|
reg = <0x80000000 0x10000000>; /* 256 MB */
|
|
};
|
|
|
|
wl12xx_vmmc: wl12xx_vmmc {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&wl12xx_gpio>;
|
|
};
|
|
};
|
|
|
|
&omap3_pmx_core {
|
|
mmc1_pins: pinmux_mmc1_pins {
|
|
pinctrl-single,pins = <
|
|
0x114 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* sdmmc1_clk.sdmmc1_clk */
|
|
0x116 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_cmd.sdmmc1_cmd */
|
|
0x118 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat0.sdmmc1_dat0 */
|
|
0x11a (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat1.sdmmc1_dat1 */
|
|
0x11c (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat2.sdmmc1_dat2 */
|
|
0x11e (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat3.sdmmc1_dat3 */
|
|
0x120 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat4.sdmmc1_dat4 */
|
|
0x122 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat5.sdmmc1_dat5 */
|
|
0x124 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat6.sdmmc1_dat6 */
|
|
0x126 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat7.sdmmc1_dat7 */
|
|
>;
|
|
};
|
|
|
|
/* NOTE: Clocked externally, needs INPUT also for sdmmc2_clk.sdmmc2_clk */
|
|
mmc2_pins: pinmux_mmc2_pins {
|
|
pinctrl-single,pins = <
|
|
0x128 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_clk.sdmmc2_clk */
|
|
0x12a (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_cmd.sdmmc2_cmd */
|
|
0x12c (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat0.sdmmc2_dat0 */
|
|
0x12e (WAKEUP_EN | PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat1.sdmmc2_dat1 */
|
|
0x130 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat2.sdmmc2_dat2 */
|
|
0x132 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat3.sdmmc2_dat3 */
|
|
>;
|
|
};
|
|
|
|
uart3_pins: pinmux_uart3_pins {
|
|
pinctrl-single,pins = <
|
|
0x16e (WAKEUP_EN | PIN_INPUT | MUX_MODE0) /* uart3_rx_irrx.uart3_rx_irrx */
|
|
0x170 (PIN_OUTPUT | MUX_MODE0) /* uart3_tx_irtx.uart3_tx_irtx */
|
|
>;
|
|
};
|
|
|
|
wl12xx_gpio: pinmux_wl12xx_gpio {
|
|
pinctrl-single,pins = <
|
|
0x150 (PIN_OUTPUT | MUX_MODE4) /* uart1_cts.gpio_150 */
|
|
0x14e (PIN_INPUT | MUX_MODE4) /* uart1_rts.gpio_149 */
|
|
>;
|
|
};
|
|
|
|
smsc911x_pins: pinmux_smsc911x_pins {
|
|
pinctrl-single,pins = <
|
|
0x1a2 (PIN_INPUT | MUX_MODE4) /* mcspi1_cs2.gpio_176 */
|
|
>;
|
|
};
|
|
};
|
|
|
|
&mmc1 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&mmc1_pins>;
|
|
};
|
|
|
|
&mmc2 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&mmc2_pins>;
|
|
};
|
|
|
|
&mmc3 {
|
|
status = "disabled";
|
|
};
|
|
|
|
&uart1 {
|
|
interrupts-extended = <&intc 72 &omap3_pmx_core OMAP3_UART1_RX>;
|
|
};
|
|
|
|
&uart2 {
|
|
interrupts-extended = <&intc 73 &omap3_pmx_core OMAP3_UART2_RX>;
|
|
};
|
|
|
|
&uart3 {
|
|
interrupts-extended = <&intc 74 &omap3_pmx_core OMAP3_UART3_RX>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&uart3_pins>;
|
|
};
|
|
|
|
&gpmc {
|
|
ranges = <0 0 0x00000000 0x20000000>,
|
|
<5 0 0x2c000000 0x01000000>;
|
|
|
|
nand@0,0 {
|
|
linux,mtd-name= "hynix,h8kds0un0mer-4em";
|
|
reg = <0 0 0>;
|
|
nand-bus-width = <16>;
|
|
ti,nand-ecc-opt = "bch8";
|
|
|
|
gpmc,sync-clk-ps = <0>;
|
|
gpmc,cs-on-ns = <0>;
|
|
gpmc,cs-rd-off-ns = <44>;
|
|
gpmc,cs-wr-off-ns = <44>;
|
|
gpmc,adv-on-ns = <6>;
|
|
gpmc,adv-rd-off-ns = <34>;
|
|
gpmc,adv-wr-off-ns = <44>;
|
|
gpmc,we-off-ns = <40>;
|
|
gpmc,oe-off-ns = <54>;
|
|
gpmc,access-ns = <64>;
|
|
gpmc,rd-cycle-ns = <82>;
|
|
gpmc,wr-cycle-ns = <82>;
|
|
gpmc,wr-access-ns = <40>;
|
|
gpmc,wr-data-mux-bus-ns = <0>;
|
|
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
|
|
partition@0 {
|
|
label = "X-Loader";
|
|
reg = <0 0x80000>;
|
|
};
|
|
partition@0x80000 {
|
|
label = "U-Boot";
|
|
reg = <0x80000 0x1c0000>;
|
|
};
|
|
partition@0x1c0000 {
|
|
label = "Environment";
|
|
reg = <0x240000 0x40000>;
|
|
};
|
|
partition@0x280000 {
|
|
label = "Kernel";
|
|
reg = <0x280000 0x500000>;
|
|
};
|
|
partition@0x780000 {
|
|
label = "Filesystem";
|
|
reg = <0x780000 0x1f880000>;
|
|
};
|
|
};
|
|
|
|
ethernet@gpmc {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&smsc911x_pins>;
|
|
};
|
|
};
|