diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-10-01 21:28:06 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-10-01 21:28:06 -0400 |
commit | 2a2bf85f05e42b12ea6bfe821e2d19221cf93555 (patch) | |
tree | 11abcdaef6e4f8307574056998d306d21558b6ed /arch/arm/mach-imx/mach-mx53_smd.c | |
parent | 11801e9de26992d37cb869cc74f389b6a7677e0e (diff) | |
parent | 99261fbad0a16f105b262d7525801697588ba526 (diff) |
Merge tag 'dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM soc device tree updates from Olof Johansson:
"Device tree conversion and enablement branch. Mostly a bunch of new
bindings and setup for various platforms, but the Via/Winchip VT8500
platform is also converted over from being 100% legacy to now use
device tree for probing. More of that will come for 3.8."
Trivial conflicts due to removal of vt8500 files, and one documentation
file that was added with slightly different contents both here and in
the USb tree.
* tag 'dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (212 commits)
arm: vt8500: Fixup for missing gpio.h
ARM: LPC32xx: LED fix in PHY3250 DTS file
ARM: dt: mmp-dma: add binding file
arm: vt8500: Update arch-vt8500 to devicetree support.
arm: vt8500: gpio: Devicetree support for arch-vt8500
arm: vt8500: doc: Add device tree bindings for arch-vt8500 devices
arm: vt8500: clk: Add Common Clock Framework support
video: vt8500: Add devicetree support for vt8500-fb and wm8505-fb
serial: vt8500: Add devicetree support for vt8500-serial
rtc: vt8500: Add devicetree support for vt8500-rtc
arm: vt8500: Add device tree files for VIA/Wondermedia SoC's
ARM: tegra: Add Avionic Design Tamonten Evaluation Carrier support
ARM: tegra: Add Avionic Design Medcom-Wide support
ARM: tegra: Add Avionic Design Plutux support
ARM: tegra: Add Avionic Design Tamonten support
ARM: tegra: dts: Add pwm label
ARM: ux500: Fix SSP register address format
ARM: ux500: Apply tc3589x's GPIO/IRQ properties to HREF's DT
ARM: ux500: Remove redundant #gpio-cell properties from Snowball DT
ARM: ux500: Add all encompassing sound node to the HREF Device Tree
...
Diffstat (limited to 'arch/arm/mach-imx/mach-mx53_smd.c')
-rw-r--r-- | arch/arm/mach-imx/mach-mx53_smd.c | 168 |
1 files changed, 0 insertions, 168 deletions
diff --git a/arch/arm/mach-imx/mach-mx53_smd.c b/arch/arm/mach-imx/mach-mx53_smd.c deleted file mode 100644 index b15d6a6d3b6..00000000000 --- a/arch/arm/mach-imx/mach-mx53_smd.c +++ /dev/null | |||
@@ -1,168 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2011 Freescale Semiconductor, Inc. All Rights Reserved. | ||
3 | */ | ||
4 | |||
5 | /* | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License as published by | ||
8 | * the Free Software Foundation; either version 2 of the License, or | ||
9 | * (at your option) any later version. | ||
10 | |||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | * GNU General Public License for more details. | ||
15 | |||
16 | * You should have received a copy of the GNU General Public License along | ||
17 | * with this program; if not, write to the Free Software Foundation, Inc., | ||
18 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | ||
19 | */ | ||
20 | |||
21 | #include <linux/init.h> | ||
22 | #include <linux/clk.h> | ||
23 | #include <linux/delay.h> | ||
24 | #include <linux/gpio.h> | ||
25 | |||
26 | #include <mach/common.h> | ||
27 | #include <mach/hardware.h> | ||
28 | #include <mach/iomux-mx53.h> | ||
29 | |||
30 | #include <asm/mach-types.h> | ||
31 | #include <asm/mach/arch.h> | ||
32 | #include <asm/mach/time.h> | ||
33 | |||
34 | #include "devices-imx53.h" | ||
35 | |||
36 | #define SMD_FEC_PHY_RST IMX_GPIO_NR(7, 6) | ||
37 | #define MX53_SMD_SATA_PWR_EN IMX_GPIO_NR(3, 3) | ||
38 | |||
39 | static iomux_v3_cfg_t mx53_smd_pads[] = { | ||
40 | MX53_PAD_CSI0_DAT10__UART1_TXD_MUX, | ||
41 | MX53_PAD_CSI0_DAT11__UART1_RXD_MUX, | ||
42 | |||
43 | MX53_PAD_PATA_BUFFER_EN__UART2_RXD_MUX, | ||
44 | MX53_PAD_PATA_DMARQ__UART2_TXD_MUX, | ||
45 | |||
46 | MX53_PAD_PATA_CS_0__UART3_TXD_MUX, | ||
47 | MX53_PAD_PATA_CS_1__UART3_RXD_MUX, | ||
48 | MX53_PAD_PATA_DA_1__UART3_CTS, | ||
49 | MX53_PAD_PATA_DA_2__UART3_RTS, | ||
50 | /* I2C1 */ | ||
51 | MX53_PAD_CSI0_DAT8__I2C1_SDA, | ||
52 | MX53_PAD_CSI0_DAT9__I2C1_SCL, | ||
53 | /* SD1 */ | ||
54 | MX53_PAD_SD1_CMD__ESDHC1_CMD, | ||
55 | MX53_PAD_SD1_CLK__ESDHC1_CLK, | ||
56 | MX53_PAD_SD1_DATA0__ESDHC1_DAT0, | ||
57 | MX53_PAD_SD1_DATA1__ESDHC1_DAT1, | ||
58 | MX53_PAD_SD1_DATA2__ESDHC1_DAT2, | ||
59 | MX53_PAD_SD1_DATA3__ESDHC1_DAT3, | ||
60 | /* SD2 */ | ||
61 | MX53_PAD_SD2_CMD__ESDHC2_CMD, | ||
62 | MX53_PAD_SD2_CLK__ESDHC2_CLK, | ||
63 | MX53_PAD_SD2_DATA0__ESDHC2_DAT0, | ||
64 | MX53_PAD_SD2_DATA1__ESDHC2_DAT1, | ||
65 | MX53_PAD_SD2_DATA2__ESDHC2_DAT2, | ||
66 | MX53_PAD_SD2_DATA3__ESDHC2_DAT3, | ||
67 | /* SD3 */ | ||
68 | MX53_PAD_PATA_DATA8__ESDHC3_DAT0, | ||
69 | MX53_PAD_PATA_DATA9__ESDHC3_DAT1, | ||
70 | MX53_PAD_PATA_DATA10__ESDHC3_DAT2, | ||
71 | MX53_PAD_PATA_DATA11__ESDHC3_DAT3, | ||
72 | MX53_PAD_PATA_DATA0__ESDHC3_DAT4, | ||
73 | MX53_PAD_PATA_DATA1__ESDHC3_DAT5, | ||
74 | MX53_PAD_PATA_DATA2__ESDHC3_DAT6, | ||
75 | MX53_PAD_PATA_DATA3__ESDHC3_DAT7, | ||
76 | MX53_PAD_PATA_IORDY__ESDHC3_CLK, | ||
77 | MX53_PAD_PATA_RESET_B__ESDHC3_CMD, | ||
78 | }; | ||
79 | |||
80 | static const struct imxuart_platform_data mx53_smd_uart_data __initconst = { | ||
81 | .flags = IMXUART_HAVE_RTSCTS, | ||
82 | }; | ||
83 | |||
84 | static inline void mx53_smd_init_uart(void) | ||
85 | { | ||
86 | imx53_add_imx_uart(0, NULL); | ||
87 | imx53_add_imx_uart(1, NULL); | ||
88 | imx53_add_imx_uart(2, &mx53_smd_uart_data); | ||
89 | } | ||
90 | |||
91 | static inline void mx53_smd_fec_reset(void) | ||
92 | { | ||
93 | int ret; | ||
94 | |||
95 | /* reset FEC PHY */ | ||
96 | ret = gpio_request(SMD_FEC_PHY_RST, "fec-phy-reset"); | ||
97 | if (ret) { | ||
98 | printk(KERN_ERR"failed to get GPIO_FEC_PHY_RESET: %d\n", ret); | ||
99 | return; | ||
100 | } | ||
101 | gpio_direction_output(SMD_FEC_PHY_RST, 0); | ||
102 | msleep(1); | ||
103 | gpio_set_value(SMD_FEC_PHY_RST, 1); | ||
104 | } | ||
105 | |||
106 | static const struct fec_platform_data mx53_smd_fec_data __initconst = { | ||
107 | .phy = PHY_INTERFACE_MODE_RMII, | ||
108 | }; | ||
109 | |||
110 | static const struct imxi2c_platform_data mx53_smd_i2c_data __initconst = { | ||
111 | .bitrate = 100000, | ||
112 | }; | ||
113 | |||
114 | static inline void mx53_smd_ahci_pwr_on(void) | ||
115 | { | ||
116 | int ret; | ||
117 | |||
118 | /* Enable SATA PWR */ | ||
119 | ret = gpio_request_one(MX53_SMD_SATA_PWR_EN, | ||
120 | GPIOF_DIR_OUT | GPIOF_INIT_HIGH, "ahci-sata-pwr"); | ||
121 | if (ret) { | ||
122 | pr_err("failed to enable SATA_PWR_EN: %d\n", ret); | ||
123 | return; | ||
124 | } | ||
125 | } | ||
126 | |||
127 | void __init imx53_smd_common_init(void) | ||
128 | { | ||
129 | mxc_iomux_v3_setup_multiple_pads(mx53_smd_pads, | ||
130 | ARRAY_SIZE(mx53_smd_pads)); | ||
131 | } | ||
132 | |||
133 | static void __init mx53_smd_board_init(void) | ||
134 | { | ||
135 | imx53_soc_init(); | ||
136 | imx53_smd_common_init(); | ||
137 | |||
138 | mx53_smd_init_uart(); | ||
139 | mx53_smd_fec_reset(); | ||
140 | imx53_add_fec(&mx53_smd_fec_data); | ||
141 | imx53_add_imx2_wdt(0); | ||
142 | imx53_add_imx_i2c(0, &mx53_smd_i2c_data); | ||
143 | imx53_add_sdhci_esdhc_imx(0, NULL); | ||
144 | imx53_add_sdhci_esdhc_imx(1, NULL); | ||
145 | imx53_add_sdhci_esdhc_imx(2, NULL); | ||
146 | mx53_smd_ahci_pwr_on(); | ||
147 | imx53_add_ahci_imx(); | ||
148 | } | ||
149 | |||
150 | static void __init mx53_smd_timer_init(void) | ||
151 | { | ||
152 | mx53_clocks_init(32768, 24000000, 22579200, 0); | ||
153 | } | ||
154 | |||
155 | static struct sys_timer mx53_smd_timer = { | ||
156 | .init = mx53_smd_timer_init, | ||
157 | }; | ||
158 | |||
159 | MACHINE_START(MX53_SMD, "Freescale MX53 SMD Board") | ||
160 | .map_io = mx53_map_io, | ||
161 | .init_early = imx53_init_early, | ||
162 | .init_irq = mx53_init_irq, | ||
163 | .handle_irq = imx53_handle_irq, | ||
164 | .timer = &mx53_smd_timer, | ||
165 | .init_machine = mx53_smd_board_init, | ||
166 | .init_late = imx53_init_late, | ||
167 | .restart = mxc_restart, | ||
168 | MACHINE_END | ||