diff options
author | Tony Lindgren <tony@atomide.com> | 2010-05-20 14:07:23 -0400 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2010-05-20 14:07:23 -0400 |
commit | df760137ad3cbfa15ceed42478f81bff01b6e799 (patch) | |
tree | be939c9d11094858d74141a4c62cb23f477754d8 /arch/arm/mach-omap2 | |
parent | 754b8e653412106ff613f4750b197f807fcd8347 (diff) | |
parent | de997718b64df2f766736f23f8557da450b83a25 (diff) |
Merge branch 'omap-boards' into omap-for-linus
Diffstat (limited to 'arch/arm/mach-omap2')
-rw-r--r-- | arch/arm/mach-omap2/Kconfig | 1 | ||||
-rw-r--r-- | arch/arm/mach-omap2/board-2430sdp.c | 21 | ||||
-rw-r--r-- | arch/arm/mach-omap2/board-am3517evm.c | 146 | ||||
-rw-r--r-- | arch/arm/mach-omap2/board-devkit8000.c | 155 | ||||
-rw-r--r-- | arch/arm/mach-omap2/board-overo.c | 14 | ||||
-rw-r--r-- | arch/arm/mach-omap2/board-rx51-peripherals.c | 77 | ||||
-rw-r--r-- | arch/arm/mach-omap2/clock3xxx_data.c | 4 | ||||
-rw-r--r-- | arch/arm/mach-omap2/devices.c | 28 | ||||
-rw-r--r-- | arch/arm/mach-omap2/include/mach/am35xx.h | 20 |
9 files changed, 449 insertions, 17 deletions
diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig index 2455dcc744a0..99abac2a8c53 100644 --- a/arch/arm/mach-omap2/Kconfig +++ b/arch/arm/mach-omap2/Kconfig | |||
@@ -10,6 +10,7 @@ config ARCH_OMAP2420 | |||
10 | config ARCH_OMAP2430 | 10 | config ARCH_OMAP2430 |
11 | bool "OMAP2430 support" | 11 | bool "OMAP2430 support" |
12 | depends on ARCH_OMAP2 | 12 | depends on ARCH_OMAP2 |
13 | select ARCH_OMAP_OTG | ||
13 | 14 | ||
14 | config ARCH_OMAP3430 | 15 | config ARCH_OMAP3430 |
15 | bool "OMAP3430 support" | 16 | bool "OMAP3430 support" |
diff --git a/arch/arm/mach-omap2/board-2430sdp.c b/arch/arm/mach-omap2/board-2430sdp.c index 01d113ff9fcf..a11a575745e4 100644 --- a/arch/arm/mach-omap2/board-2430sdp.c +++ b/arch/arm/mach-omap2/board-2430sdp.c | |||
@@ -174,9 +174,18 @@ static struct i2c_board_info __initdata sdp2430_i2c_boardinfo[] = { | |||
174 | }, | 174 | }, |
175 | }; | 175 | }; |
176 | 176 | ||
177 | static struct i2c_board_info __initdata sdp2430_i2c1_boardinfo[] = { | ||
178 | { | ||
179 | I2C_BOARD_INFO("isp1301_omap", 0x2D), | ||
180 | .flags = I2C_CLIENT_WAKE, | ||
181 | .irq = OMAP_GPIO_IRQ(78), | ||
182 | }, | ||
183 | }; | ||
184 | |||
177 | static int __init omap2430_i2c_init(void) | 185 | static int __init omap2430_i2c_init(void) |
178 | { | 186 | { |
179 | omap_register_i2c_bus(1, 400, NULL, 0); | 187 | omap_register_i2c_bus(1, 100, sdp2430_i2c1_boardinfo, |
188 | ARRAY_SIZE(sdp2430_i2c1_boardinfo)); | ||
180 | omap_register_i2c_bus(2, 2600, sdp2430_i2c_boardinfo, | 189 | omap_register_i2c_bus(2, 2600, sdp2430_i2c_boardinfo, |
181 | ARRAY_SIZE(sdp2430_i2c_boardinfo)); | 190 | ARRAY_SIZE(sdp2430_i2c_boardinfo)); |
182 | return 0; | 191 | return 0; |
@@ -198,6 +207,15 @@ static struct omap_musb_board_data musb_board_data = { | |||
198 | .mode = MUSB_OTG, | 207 | .mode = MUSB_OTG, |
199 | .power = 100, | 208 | .power = 100, |
200 | }; | 209 | }; |
210 | static struct omap_usb_config sdp2430_usb_config __initdata = { | ||
211 | .otg = 1, | ||
212 | #ifdef CONFIG_USB_GADGET_OMAP | ||
213 | .hmc_mode = 0x0, | ||
214 | #elif defined(CONFIG_USB_OHCI_HCD) || defined(CONFIG_USB_OHCI_HCD_MODULE) | ||
215 | .hmc_mode = 0x1, | ||
216 | #endif | ||
217 | .pins[0] = 3, | ||
218 | }; | ||
201 | 219 | ||
202 | static void __init omap_2430sdp_init(void) | 220 | static void __init omap_2430sdp_init(void) |
203 | { | 221 | { |
@@ -208,6 +226,7 @@ static void __init omap_2430sdp_init(void) | |||
208 | platform_add_devices(sdp2430_devices, ARRAY_SIZE(sdp2430_devices)); | 226 | platform_add_devices(sdp2430_devices, ARRAY_SIZE(sdp2430_devices)); |
209 | omap_serial_init(); | 227 | omap_serial_init(); |
210 | omap2_hsmmc_init(mmc); | 228 | omap2_hsmmc_init(mmc); |
229 | omap_usb_init(&sdp2430_usb_config); | ||
211 | usb_musb_init(&musb_board_data); | 230 | usb_musb_init(&musb_board_data); |
212 | board_smc91x_init(); | 231 | board_smc91x_init(); |
213 | 232 | ||
diff --git a/arch/arm/mach-omap2/board-am3517evm.c b/arch/arm/mach-omap2/board-am3517evm.c index c1c4389fbd8f..19b9e415710d 100644 --- a/arch/arm/mach-omap2/board-am3517evm.c +++ b/arch/arm/mach-omap2/board-am3517evm.c | |||
@@ -21,6 +21,8 @@ | |||
21 | #include <linux/platform_device.h> | 21 | #include <linux/platform_device.h> |
22 | #include <linux/gpio.h> | 22 | #include <linux/gpio.h> |
23 | #include <linux/i2c/pca953x.h> | 23 | #include <linux/i2c/pca953x.h> |
24 | #include <linux/can/platform/ti_hecc.h> | ||
25 | #include <linux/davinci_emac.h> | ||
24 | 26 | ||
25 | #include <mach/hardware.h> | 27 | #include <mach/hardware.h> |
26 | #include <mach/am35xx.h> | 28 | #include <mach/am35xx.h> |
@@ -30,11 +32,106 @@ | |||
30 | 32 | ||
31 | #include <plat/board.h> | 33 | #include <plat/board.h> |
32 | #include <plat/common.h> | 34 | #include <plat/common.h> |
35 | #include <plat/control.h> | ||
33 | #include <plat/usb.h> | 36 | #include <plat/usb.h> |
34 | #include <plat/display.h> | 37 | #include <plat/display.h> |
35 | 38 | ||
36 | #include "mux.h" | 39 | #include "mux.h" |
37 | 40 | ||
41 | #define AM35XX_EVM_PHY_MASK (0xF) | ||
42 | #define AM35XX_EVM_MDIO_FREQUENCY (1000000) | ||
43 | |||
44 | static struct emac_platform_data am3517_evm_emac_pdata = { | ||
45 | .phy_mask = AM35XX_EVM_PHY_MASK, | ||
46 | .mdio_max_freq = AM35XX_EVM_MDIO_FREQUENCY, | ||
47 | .rmii_en = 1, | ||
48 | }; | ||
49 | |||
50 | static struct resource am3517_emac_resources[] = { | ||
51 | { | ||
52 | .start = AM35XX_IPSS_EMAC_BASE, | ||
53 | .end = AM35XX_IPSS_EMAC_BASE + 0x3FFFF, | ||
54 | .flags = IORESOURCE_MEM, | ||
55 | }, | ||
56 | { | ||
57 | .start = INT_35XX_EMAC_C0_RXTHRESH_IRQ, | ||
58 | .end = INT_35XX_EMAC_C0_RXTHRESH_IRQ, | ||
59 | .flags = IORESOURCE_IRQ, | ||
60 | }, | ||
61 | { | ||
62 | .start = INT_35XX_EMAC_C0_RX_PULSE_IRQ, | ||
63 | .end = INT_35XX_EMAC_C0_RX_PULSE_IRQ, | ||
64 | .flags = IORESOURCE_IRQ, | ||
65 | }, | ||
66 | { | ||
67 | .start = INT_35XX_EMAC_C0_TX_PULSE_IRQ, | ||
68 | .end = INT_35XX_EMAC_C0_TX_PULSE_IRQ, | ||
69 | .flags = IORESOURCE_IRQ, | ||
70 | }, | ||
71 | { | ||
72 | .start = INT_35XX_EMAC_C0_MISC_PULSE_IRQ, | ||
73 | .end = INT_35XX_EMAC_C0_MISC_PULSE_IRQ, | ||
74 | .flags = IORESOURCE_IRQ, | ||
75 | }, | ||
76 | }; | ||
77 | |||
78 | static struct platform_device am3517_emac_device = { | ||
79 | .name = "davinci_emac", | ||
80 | .id = -1, | ||
81 | .num_resources = ARRAY_SIZE(am3517_emac_resources), | ||
82 | .resource = am3517_emac_resources, | ||
83 | }; | ||
84 | |||
85 | static void am3517_enable_ethernet_int(void) | ||
86 | { | ||
87 | u32 regval; | ||
88 | |||
89 | regval = omap_ctrl_readl(AM35XX_CONTROL_LVL_INTR_CLEAR); | ||
90 | regval = (regval | AM35XX_CPGMAC_C0_RX_PULSE_CLR | | ||
91 | AM35XX_CPGMAC_C0_TX_PULSE_CLR | | ||
92 | AM35XX_CPGMAC_C0_MISC_PULSE_CLR | | ||
93 | AM35XX_CPGMAC_C0_RX_THRESH_CLR); | ||
94 | omap_ctrl_writel(regval, AM35XX_CONTROL_LVL_INTR_CLEAR); | ||
95 | regval = omap_ctrl_readl(AM35XX_CONTROL_LVL_INTR_CLEAR); | ||
96 | } | ||
97 | |||
98 | static void am3517_disable_ethernet_int(void) | ||
99 | { | ||
100 | u32 regval; | ||
101 | |||
102 | regval = omap_ctrl_readl(AM35XX_CONTROL_LVL_INTR_CLEAR); | ||
103 | regval = (regval | AM35XX_CPGMAC_C0_RX_PULSE_CLR | | ||
104 | AM35XX_CPGMAC_C0_TX_PULSE_CLR); | ||
105 | omap_ctrl_writel(regval, AM35XX_CONTROL_LVL_INTR_CLEAR); | ||
106 | regval = omap_ctrl_readl(AM35XX_CONTROL_LVL_INTR_CLEAR); | ||
107 | } | ||
108 | |||
109 | void am3517_evm_ethernet_init(struct emac_platform_data *pdata) | ||
110 | { | ||
111 | unsigned int regval; | ||
112 | |||
113 | pdata->ctrl_reg_offset = AM35XX_EMAC_CNTRL_OFFSET; | ||
114 | pdata->ctrl_mod_reg_offset = AM35XX_EMAC_CNTRL_MOD_OFFSET; | ||
115 | pdata->ctrl_ram_offset = AM35XX_EMAC_CNTRL_RAM_OFFSET; | ||
116 | pdata->mdio_reg_offset = AM35XX_EMAC_MDIO_OFFSET; | ||
117 | pdata->ctrl_ram_size = AM35XX_EMAC_CNTRL_RAM_SIZE; | ||
118 | pdata->version = EMAC_VERSION_2; | ||
119 | pdata->hw_ram_addr = AM35XX_EMAC_HW_RAM_ADDR; | ||
120 | pdata->interrupt_enable = am3517_enable_ethernet_int; | ||
121 | pdata->interrupt_disable = am3517_disable_ethernet_int; | ||
122 | am3517_emac_device.dev.platform_data = pdata; | ||
123 | platform_device_register(&am3517_emac_device); | ||
124 | |||
125 | regval = omap_ctrl_readl(AM35XX_CONTROL_IP_SW_RESET); | ||
126 | regval = regval & (~(AM35XX_CPGMACSS_SW_RST)); | ||
127 | omap_ctrl_writel(regval, AM35XX_CONTROL_IP_SW_RESET); | ||
128 | regval = omap_ctrl_readl(AM35XX_CONTROL_IP_SW_RESET); | ||
129 | |||
130 | return ; | ||
131 | } | ||
132 | |||
133 | |||
134 | |||
38 | #define LCD_PANEL_PWR 176 | 135 | #define LCD_PANEL_PWR 176 |
39 | #define LCD_PANEL_BKLIGHT_PWR 182 | 136 | #define LCD_PANEL_BKLIGHT_PWR 182 |
40 | #define LCD_PANEL_PWM 181 | 137 | #define LCD_PANEL_PWM 181 |
@@ -119,6 +216,8 @@ static int __init am3517_evm_i2c_init(void) | |||
119 | static int lcd_enabled; | 216 | static int lcd_enabled; |
120 | static int dvi_enabled; | 217 | static int dvi_enabled; |
121 | 218 | ||
219 | #if defined(CONFIG_PANEL_SHARP_LQ043T1DG01) || \ | ||
220 | defined(CONFIG_PANEL_SHARP_LQ043T1DG01_MODULE) | ||
122 | static void __init am3517_evm_display_init(void) | 221 | static void __init am3517_evm_display_init(void) |
123 | { | 222 | { |
124 | int r; | 223 | int r; |
@@ -162,6 +261,9 @@ err_2: | |||
162 | err_1: | 261 | err_1: |
163 | gpio_free(LCD_PANEL_BKLIGHT_PWR); | 262 | gpio_free(LCD_PANEL_BKLIGHT_PWR); |
164 | } | 263 | } |
264 | #else | ||
265 | static void __init am3517_evm_display_init(void) {} | ||
266 | #endif | ||
165 | 267 | ||
166 | static int am3517_evm_panel_enable_lcd(struct omap_dss_device *dssdev) | 268 | static int am3517_evm_panel_enable_lcd(struct omap_dss_device *dssdev) |
167 | { | 269 | { |
@@ -275,7 +377,12 @@ static void __init am3517_evm_init_irq(void) | |||
275 | 377 | ||
276 | static const struct ehci_hcd_omap_platform_data ehci_pdata __initconst = { | 378 | static const struct ehci_hcd_omap_platform_data ehci_pdata __initconst = { |
277 | .port_mode[0] = EHCI_HCD_OMAP_MODE_PHY, | 379 | .port_mode[0] = EHCI_HCD_OMAP_MODE_PHY, |
380 | #if defined(CONFIG_PANEL_SHARP_LQ043T1DG01) || \ | ||
381 | defined(CONFIG_PANEL_SHARP_LQ043T1DG01_MODULE) | ||
382 | .port_mode[1] = EHCI_HCD_OMAP_MODE_UNKNOWN, | ||
383 | #else | ||
278 | .port_mode[1] = EHCI_HCD_OMAP_MODE_PHY, | 384 | .port_mode[1] = EHCI_HCD_OMAP_MODE_PHY, |
385 | #endif | ||
279 | .port_mode[2] = EHCI_HCD_OMAP_MODE_UNKNOWN, | 386 | .port_mode[2] = EHCI_HCD_OMAP_MODE_UNKNOWN, |
280 | 387 | ||
281 | .phy_reset = true, | 388 | .phy_reset = true, |
@@ -292,6 +399,42 @@ static struct omap_board_mux board_mux[] __initdata = { | |||
292 | #define board_mux NULL | 399 | #define board_mux NULL |
293 | #endif | 400 | #endif |
294 | 401 | ||
402 | |||
403 | static struct resource am3517_hecc_resources[] = { | ||
404 | { | ||
405 | .start = AM35XX_IPSS_HECC_BASE, | ||
406 | .end = AM35XX_IPSS_HECC_BASE + 0x3FFF, | ||
407 | .flags = IORESOURCE_MEM, | ||
408 | }, | ||
409 | { | ||
410 | .start = INT_35XX_HECC0_IRQ, | ||
411 | .end = INT_35XX_HECC0_IRQ, | ||
412 | .flags = IORESOURCE_IRQ, | ||
413 | }, | ||
414 | }; | ||
415 | |||
416 | static struct platform_device am3517_hecc_device = { | ||
417 | .name = "ti_hecc", | ||
418 | .id = -1, | ||
419 | .num_resources = ARRAY_SIZE(am3517_hecc_resources), | ||
420 | .resource = am3517_hecc_resources, | ||
421 | }; | ||
422 | |||
423 | static struct ti_hecc_platform_data am3517_evm_hecc_pdata = { | ||
424 | .scc_hecc_offset = AM35XX_HECC_SCC_HECC_OFFSET, | ||
425 | .scc_ram_offset = AM35XX_HECC_SCC_RAM_OFFSET, | ||
426 | .hecc_ram_offset = AM35XX_HECC_RAM_OFFSET, | ||
427 | .mbx_offset = AM35XX_HECC_MBOX_OFFSET, | ||
428 | .int_line = AM35XX_HECC_INT_LINE, | ||
429 | .version = AM35XX_HECC_VERSION, | ||
430 | }; | ||
431 | |||
432 | static void am3517_evm_hecc_init(struct ti_hecc_platform_data *pdata) | ||
433 | { | ||
434 | am3517_hecc_device.dev.platform_data = pdata; | ||
435 | platform_device_register(&am3517_hecc_device); | ||
436 | } | ||
437 | |||
295 | static void __init am3517_evm_init(void) | 438 | static void __init am3517_evm_init(void) |
296 | { | 439 | { |
297 | omap3_mux_init(board_mux, OMAP_PACKAGE_CBB); | 440 | omap3_mux_init(board_mux, OMAP_PACKAGE_CBB); |
@@ -305,6 +448,7 @@ static void __init am3517_evm_init(void) | |||
305 | /* Configure GPIO for EHCI port */ | 448 | /* Configure GPIO for EHCI port */ |
306 | omap_mux_init_gpio(57, OMAP_PIN_OUTPUT); | 449 | omap_mux_init_gpio(57, OMAP_PIN_OUTPUT); |
307 | usb_ehci_init(&ehci_pdata); | 450 | usb_ehci_init(&ehci_pdata); |
451 | am3517_evm_hecc_init(&am3517_evm_hecc_pdata); | ||
308 | /* DSS */ | 452 | /* DSS */ |
309 | am3517_evm_display_init(); | 453 | am3517_evm_display_init(); |
310 | 454 | ||
@@ -313,6 +457,8 @@ static void __init am3517_evm_init(void) | |||
313 | 457 | ||
314 | i2c_register_board_info(1, am3517evm_i2c_boardinfo, | 458 | i2c_register_board_info(1, am3517evm_i2c_boardinfo, |
315 | ARRAY_SIZE(am3517evm_i2c_boardinfo)); | 459 | ARRAY_SIZE(am3517evm_i2c_boardinfo)); |
460 | /*Ethernet*/ | ||
461 | am3517_evm_ethernet_init(&am3517_evm_emac_pdata); | ||
316 | } | 462 | } |
317 | 463 | ||
318 | static void __init am3517_evm_map_io(void) | 464 | static void __init am3517_evm_map_io(void) |
diff --git a/arch/arm/mach-omap2/board-devkit8000.c b/arch/arm/mach-omap2/board-devkit8000.c index 47e3af2166d4..77022b588816 100644 --- a/arch/arm/mach-omap2/board-devkit8000.c +++ b/arch/arm/mach-omap2/board-devkit8000.c | |||
@@ -633,8 +633,163 @@ static const struct ehci_hcd_omap_platform_data ehci_pdata __initconst = { | |||
633 | .reset_gpio_port[2] = -EINVAL | 633 | .reset_gpio_port[2] = -EINVAL |
634 | }; | 634 | }; |
635 | 635 | ||
636 | static struct omap_board_mux board_mux[] __initdata = { | ||
637 | /* nCS and IRQ for Devkit8000 ethernet */ | ||
638 | OMAP3_MUX(GPMC_NCS6, OMAP_MUX_MODE0), | ||
639 | OMAP3_MUX(ETK_D11, OMAP_MUX_MODE4 | OMAP_PIN_INPUT_PULLUP), | ||
640 | |||
641 | /* McSPI 2*/ | ||
642 | OMAP3_MUX(MCSPI2_CLK, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), | ||
643 | OMAP3_MUX(MCSPI2_SIMO, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), | ||
644 | OMAP3_MUX(MCSPI2_SOMI, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), | ||
645 | OMAP3_MUX(MCSPI2_CS0, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), | ||
646 | OMAP3_MUX(MCSPI2_CS1, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), | ||
647 | |||
648 | /* PENDOWN GPIO */ | ||
649 | OMAP3_MUX(ETK_D13, OMAP_MUX_MODE4 | OMAP_PIN_INPUT), | ||
650 | |||
651 | /* mUSB */ | ||
652 | OMAP3_MUX(HSUSB0_CLK, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), | ||
653 | OMAP3_MUX(HSUSB0_STP, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), | ||
654 | OMAP3_MUX(HSUSB0_DIR, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), | ||
655 | OMAP3_MUX(HSUSB0_NXT, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), | ||
656 | OMAP3_MUX(HSUSB0_DATA0, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), | ||
657 | OMAP3_MUX(HSUSB0_DATA1, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), | ||
658 | OMAP3_MUX(HSUSB0_DATA2, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), | ||
659 | OMAP3_MUX(HSUSB0_DATA3, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), | ||
660 | OMAP3_MUX(HSUSB0_DATA4, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), | ||
661 | OMAP3_MUX(HSUSB0_DATA5, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), | ||
662 | OMAP3_MUX(HSUSB0_DATA6, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), | ||
663 | OMAP3_MUX(HSUSB0_DATA7, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), | ||
664 | |||
665 | /* USB 1 */ | ||
666 | OMAP3_MUX(ETK_CTL, OMAP_MUX_MODE3 | OMAP_PIN_INPUT), | ||
667 | OMAP3_MUX(ETK_CLK, OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT), | ||
668 | OMAP3_MUX(ETK_D8, OMAP_MUX_MODE3 | OMAP_PIN_INPUT), | ||
669 | OMAP3_MUX(ETK_D9, OMAP_MUX_MODE3 | OMAP_PIN_INPUT), | ||
670 | OMAP3_MUX(ETK_D0, OMAP_MUX_MODE3 | OMAP_PIN_INPUT), | ||
671 | OMAP3_MUX(ETK_D1, OMAP_MUX_MODE3 | OMAP_PIN_INPUT), | ||
672 | OMAP3_MUX(ETK_D2, OMAP_MUX_MODE3 | OMAP_PIN_INPUT), | ||
673 | OMAP3_MUX(ETK_D3, OMAP_MUX_MODE3 | OMAP_PIN_INPUT), | ||
674 | OMAP3_MUX(ETK_D4, OMAP_MUX_MODE3 | OMAP_PIN_INPUT), | ||
675 | OMAP3_MUX(ETK_D5, OMAP_MUX_MODE3 | OMAP_PIN_INPUT), | ||
676 | OMAP3_MUX(ETK_D6, OMAP_MUX_MODE3 | OMAP_PIN_INPUT), | ||
677 | OMAP3_MUX(ETK_D7, OMAP_MUX_MODE3 | OMAP_PIN_INPUT), | ||
678 | |||
679 | /* MMC 1 */ | ||
680 | OMAP3_MUX(SDMMC1_CLK, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), | ||
681 | OMAP3_MUX(SDMMC1_CMD, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), | ||
682 | OMAP3_MUX(SDMMC1_DAT0, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), | ||
683 | OMAP3_MUX(SDMMC1_DAT1, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), | ||
684 | OMAP3_MUX(SDMMC1_DAT2, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), | ||
685 | OMAP3_MUX(SDMMC1_DAT3, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), | ||
686 | OMAP3_MUX(SDMMC1_DAT4, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), | ||
687 | OMAP3_MUX(SDMMC1_DAT5, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), | ||
688 | OMAP3_MUX(SDMMC1_DAT6, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), | ||
689 | OMAP3_MUX(SDMMC1_DAT7, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), | ||
690 | |||
691 | /* McBSP 2 */ | ||
692 | OMAP3_MUX(MCBSP2_FSX, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), | ||
693 | OMAP3_MUX(MCBSP2_CLKX, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), | ||
694 | OMAP3_MUX(MCBSP2_DR, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), | ||
695 | OMAP3_MUX(MCBSP2_DX, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), | ||
696 | |||
697 | /* I2C 1 */ | ||
698 | OMAP3_MUX(I2C1_SCL, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), | ||
699 | OMAP3_MUX(I2C1_SDA, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), | ||
700 | |||
701 | /* I2C 2 */ | ||
702 | OMAP3_MUX(I2C2_SCL, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), | ||
703 | OMAP3_MUX(I2C2_SDA, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), | ||
704 | |||
705 | /* I2C 3 */ | ||
706 | OMAP3_MUX(I2C3_SCL, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), | ||
707 | OMAP3_MUX(I2C3_SDA, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), | ||
708 | |||
709 | /* I2C 4 */ | ||
710 | OMAP3_MUX(I2C4_SCL, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), | ||
711 | OMAP3_MUX(I2C4_SDA, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), | ||
712 | |||
713 | /* serial ports */ | ||
714 | OMAP3_MUX(MCBSP3_CLKX, OMAP_MUX_MODE1 | OMAP_PIN_OUTPUT), | ||
715 | OMAP3_MUX(MCBSP3_FSX, OMAP_MUX_MODE1 | OMAP_PIN_INPUT), | ||
716 | OMAP3_MUX(UART1_TX, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), | ||
717 | OMAP3_MUX(UART1_RX, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), | ||
718 | |||
719 | /* DSS */ | ||
720 | OMAP3_MUX(DSS_PCLK, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), | ||
721 | OMAP3_MUX(DSS_HSYNC, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), | ||
722 | OMAP3_MUX(DSS_VSYNC, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), | ||
723 | OMAP3_MUX(DSS_ACBIAS, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), | ||
724 | OMAP3_MUX(DSS_DATA0, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), | ||
725 | OMAP3_MUX(DSS_DATA1, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), | ||
726 | OMAP3_MUX(DSS_DATA2, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), | ||
727 | OMAP3_MUX(DSS_DATA3, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), | ||
728 | OMAP3_MUX(DSS_DATA4, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), | ||
729 | OMAP3_MUX(DSS_DATA5, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), | ||
730 | OMAP3_MUX(DSS_DATA6, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), | ||
731 | OMAP3_MUX(DSS_DATA7, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), | ||
732 | OMAP3_MUX(DSS_DATA8, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), | ||
733 | OMAP3_MUX(DSS_DATA9, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), | ||
734 | OMAP3_MUX(DSS_DATA10, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), | ||
735 | OMAP3_MUX(DSS_DATA11, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), | ||
736 | OMAP3_MUX(DSS_DATA12, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), | ||
737 | OMAP3_MUX(DSS_DATA13, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), | ||
738 | OMAP3_MUX(DSS_DATA14, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), | ||
739 | OMAP3_MUX(DSS_DATA15, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), | ||
740 | OMAP3_MUX(DSS_DATA16, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), | ||
741 | OMAP3_MUX(DSS_DATA17, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), | ||
742 | OMAP3_MUX(DSS_DATA18, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), | ||
743 | OMAP3_MUX(DSS_DATA19, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), | ||
744 | OMAP3_MUX(DSS_DATA20, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), | ||
745 | OMAP3_MUX(DSS_DATA21, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), | ||
746 | OMAP3_MUX(DSS_DATA22, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), | ||
747 | OMAP3_MUX(DSS_DATA23, OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT), | ||
748 | |||
749 | /* expansion port */ | ||
750 | /* McSPI 1 */ | ||
751 | OMAP3_MUX(MCSPI1_CLK, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), | ||
752 | OMAP3_MUX(MCSPI1_SIMO, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), | ||
753 | OMAP3_MUX(MCSPI1_SOMI, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), | ||
754 | OMAP3_MUX(MCSPI1_CS0, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLDOWN), | ||
755 | OMAP3_MUX(MCSPI1_CS3, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLDOWN), | ||
756 | |||
757 | /* HDQ */ | ||
758 | OMAP3_MUX(HDQ_SIO, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), | ||
759 | |||
760 | /* McSPI4 */ | ||
761 | OMAP3_MUX(MCBSP1_CLKR, OMAP_MUX_MODE1 | OMAP_PIN_INPUT), | ||
762 | OMAP3_MUX(MCBSP1_DX, OMAP_MUX_MODE1 | OMAP_PIN_INPUT), | ||
763 | OMAP3_MUX(MCBSP1_DR, OMAP_MUX_MODE1 | OMAP_PIN_INPUT), | ||
764 | OMAP3_MUX(MCBSP1_FSX, OMAP_MUX_MODE1 | OMAP_PIN_INPUT_PULLUP), | ||
765 | |||
766 | /* MMC 2 */ | ||
767 | OMAP3_MUX(SDMMC2_DAT4, OMAP_MUX_MODE1 | OMAP_PIN_OUTPUT), | ||
768 | OMAP3_MUX(SDMMC2_DAT5, OMAP_MUX_MODE1 | OMAP_PIN_OUTPUT), | ||
769 | OMAP3_MUX(SDMMC2_DAT6, OMAP_MUX_MODE1 | OMAP_PIN_OUTPUT), | ||
770 | OMAP3_MUX(SDMMC2_DAT7, OMAP_MUX_MODE1 | OMAP_PIN_INPUT), | ||
771 | |||
772 | /* I2C3 */ | ||
773 | OMAP3_MUX(I2C3_SCL, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), | ||
774 | OMAP3_MUX(I2C3_SDA, OMAP_MUX_MODE0 | OMAP_PIN_INPUT), | ||
775 | |||
776 | OMAP3_MUX(MCBSP1_CLKX, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT), | ||
777 | OMAP3_MUX(MCBSP_CLKS, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT), | ||
778 | OMAP3_MUX(MCBSP1_FSR, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT), | ||
779 | |||
780 | OMAP3_MUX(GPMC_NCS7, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT), | ||
781 | OMAP3_MUX(GPMC_NCS3, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT), | ||
782 | |||
783 | /* TPS IRQ */ | ||
784 | OMAP3_MUX(SYS_NIRQ, OMAP_MUX_MODE0 | OMAP_WAKEUP_EN | \ | ||
785 | OMAP_PIN_INPUT_PULLUP), | ||
786 | |||
787 | { .reg_offset = OMAP_MUX_TERMINATOR }, | ||
788 | }; | ||
789 | |||
636 | static void __init devkit8000_init(void) | 790 | static void __init devkit8000_init(void) |
637 | { | 791 | { |
792 | omap3_mux_init(board_mux, OMAP_PACKAGE_CUS); | ||
638 | omap_serial_init(); | 793 | omap_serial_init(); |
639 | 794 | ||
640 | omap_dm9000_init(); | 795 | omap_dm9000_init(); |
diff --git a/arch/arm/mach-omap2/board-overo.c b/arch/arm/mach-omap2/board-overo.c index 8848c7c5ce48..79ac41400c21 100644 --- a/arch/arm/mach-omap2/board-overo.c +++ b/arch/arm/mach-omap2/board-overo.c | |||
@@ -63,6 +63,8 @@ | |||
63 | 63 | ||
64 | #define OVERO_SMSC911X_CS 5 | 64 | #define OVERO_SMSC911X_CS 5 |
65 | #define OVERO_SMSC911X_GPIO 176 | 65 | #define OVERO_SMSC911X_GPIO 176 |
66 | #define OVERO_SMSC911X2_CS 4 | ||
67 | #define OVERO_SMSC911X2_GPIO 65 | ||
66 | 68 | ||
67 | #if defined(CONFIG_TOUCHSCREEN_ADS7846) || \ | 69 | #if defined(CONFIG_TOUCHSCREEN_ADS7846) || \ |
68 | defined(CONFIG_TOUCHSCREEN_ADS7846_MODULE) | 70 | defined(CONFIG_TOUCHSCREEN_ADS7846_MODULE) |
@@ -137,6 +139,16 @@ static struct resource overo_smsc911x_resources[] = { | |||
137 | }, | 139 | }, |
138 | }; | 140 | }; |
139 | 141 | ||
142 | static struct resource overo_smsc911x2_resources[] = { | ||
143 | { | ||
144 | .name = "smsc911x2-memory", | ||
145 | .flags = IORESOURCE_MEM, | ||
146 | }, | ||
147 | { | ||
148 | .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_LOWLEVEL, | ||
149 | }, | ||
150 | }; | ||
151 | |||
140 | static struct smsc911x_platform_config overo_smsc911x_config = { | 152 | static struct smsc911x_platform_config overo_smsc911x_config = { |
141 | .irq_polarity = SMSC911X_IRQ_POLARITY_ACTIVE_LOW, | 153 | .irq_polarity = SMSC911X_IRQ_POLARITY_ACTIVE_LOW, |
142 | .irq_type = SMSC911X_IRQ_TYPE_OPEN_DRAIN, | 154 | .irq_type = SMSC911X_IRQ_TYPE_OPEN_DRAIN, |
@@ -146,7 +158,7 @@ static struct smsc911x_platform_config overo_smsc911x_config = { | |||
146 | 158 | ||
147 | static struct platform_device overo_smsc911x_device = { | 159 | static struct platform_device overo_smsc911x_device = { |
148 | .name = "smsc911x", | 160 | .name = "smsc911x", |
149 | .id = -1, | 161 | .id = 0, |
150 | .num_resources = ARRAY_SIZE(overo_smsc911x_resources), | 162 | .num_resources = ARRAY_SIZE(overo_smsc911x_resources), |
151 | .resource = overo_smsc911x_resources, | 163 | .resource = overo_smsc911x_resources, |
152 | .dev = { | 164 | .dev = { |
diff --git a/arch/arm/mach-omap2/board-rx51-peripherals.c b/arch/arm/mach-omap2/board-rx51-peripherals.c index 4377a4cf36eb..8179d55106d5 100644 --- a/arch/arm/mach-omap2/board-rx51-peripherals.c +++ b/arch/arm/mach-omap2/board-rx51-peripherals.c | |||
@@ -277,7 +277,7 @@ static struct regulator_consumer_supply rx51_vmmc1_supply = { | |||
277 | .dev_name = "mmci-omap-hs.0", | 277 | .dev_name = "mmci-omap-hs.0", |
278 | }; | 278 | }; |
279 | 279 | ||
280 | static struct regulator_consumer_supply rx51_vmmc2_supply = { | 280 | static struct regulator_consumer_supply rx51_vaux3_supply = { |
281 | .supply = "vmmc", | 281 | .supply = "vmmc", |
282 | .dev_name = "mmci-omap-hs.1", | 282 | .dev_name = "mmci-omap-hs.1", |
283 | }; | 283 | }; |
@@ -287,6 +287,35 @@ static struct regulator_consumer_supply rx51_vsim_supply = { | |||
287 | .dev_name = "mmci-omap-hs.1", | 287 | .dev_name = "mmci-omap-hs.1", |
288 | }; | 288 | }; |
289 | 289 | ||
290 | static struct regulator_consumer_supply rx51_vmmc2_supplies[] = { | ||
291 | /* tlv320aic3x analog supplies */ | ||
292 | { | ||
293 | .supply = "AVDD", | ||
294 | .dev_name = "2-0018", | ||
295 | }, | ||
296 | { | ||
297 | .supply = "DRVDD", | ||
298 | .dev_name = "2-0018", | ||
299 | }, | ||
300 | /* Keep vmmc as last item. It is not iterated for newer boards */ | ||
301 | { | ||
302 | .supply = "vmmc", | ||
303 | .dev_name = "mmci-omap-hs.1", | ||
304 | }, | ||
305 | }; | ||
306 | |||
307 | static struct regulator_consumer_supply rx51_vio_supplies[] = { | ||
308 | /* tlv320aic3x digital supplies */ | ||
309 | { | ||
310 | .supply = "IOVDD", | ||
311 | .dev_name = "2-0018" | ||
312 | }, | ||
313 | { | ||
314 | .supply = "DVDD", | ||
315 | .dev_name = "2-0018" | ||
316 | }, | ||
317 | }; | ||
318 | |||
290 | static struct regulator_init_data rx51_vaux1 = { | 319 | static struct regulator_init_data rx51_vaux1 = { |
291 | .constraints = { | 320 | .constraints = { |
292 | .name = "V28", | 321 | .name = "V28", |
@@ -338,7 +367,7 @@ static struct regulator_init_data rx51_vaux3_mmc = { | |||
338 | | REGULATOR_CHANGE_STATUS, | 367 | | REGULATOR_CHANGE_STATUS, |
339 | }, | 368 | }, |
340 | .num_consumer_supplies = 1, | 369 | .num_consumer_supplies = 1, |
341 | .consumer_supplies = &rx51_vmmc2_supply, | 370 | .consumer_supplies = &rx51_vaux3_supply, |
342 | }; | 371 | }; |
343 | 372 | ||
344 | static struct regulator_init_data rx51_vaux4 = { | 373 | static struct regulator_init_data rx51_vaux4 = { |
@@ -370,9 +399,9 @@ static struct regulator_init_data rx51_vmmc1 = { | |||
370 | 399 | ||
371 | static struct regulator_init_data rx51_vmmc2 = { | 400 | static struct regulator_init_data rx51_vmmc2 = { |
372 | .constraints = { | 401 | .constraints = { |
373 | .name = "VMMC2_30", | 402 | .name = "V28_A", |
374 | .min_uV = 1850000, | 403 | .min_uV = 2800000, |
375 | .max_uV = 3150000, | 404 | .max_uV = 3000000, |
376 | .apply_uV = true, | 405 | .apply_uV = true, |
377 | .valid_modes_mask = REGULATOR_MODE_NORMAL | 406 | .valid_modes_mask = REGULATOR_MODE_NORMAL |
378 | | REGULATOR_MODE_STANDBY, | 407 | | REGULATOR_MODE_STANDBY, |
@@ -380,8 +409,8 @@ static struct regulator_init_data rx51_vmmc2 = { | |||
380 | | REGULATOR_CHANGE_MODE | 409 | | REGULATOR_CHANGE_MODE |
381 | | REGULATOR_CHANGE_STATUS, | 410 | | REGULATOR_CHANGE_STATUS, |
382 | }, | 411 | }, |
383 | .num_consumer_supplies = 1, | 412 | .num_consumer_supplies = ARRAY_SIZE(rx51_vmmc2_supplies), |
384 | .consumer_supplies = &rx51_vmmc2_supply, | 413 | .consumer_supplies = rx51_vmmc2_supplies, |
385 | }; | 414 | }; |
386 | 415 | ||
387 | static struct regulator_init_data rx51_vsim = { | 416 | static struct regulator_init_data rx51_vsim = { |
@@ -411,6 +440,20 @@ static struct regulator_init_data rx51_vdac = { | |||
411 | }, | 440 | }, |
412 | }; | 441 | }; |
413 | 442 | ||
443 | static struct regulator_init_data rx51_vio = { | ||
444 | .constraints = { | ||
445 | .min_uV = 1800000, | ||
446 | .max_uV = 1800000, | ||
447 | .valid_modes_mask = REGULATOR_MODE_NORMAL | ||
448 | | REGULATOR_MODE_STANDBY, | ||
449 | .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE | ||
450 | | REGULATOR_CHANGE_MODE | ||
451 | | REGULATOR_CHANGE_STATUS, | ||
452 | }, | ||
453 | .num_consumer_supplies = ARRAY_SIZE(rx51_vio_supplies), | ||
454 | .consumer_supplies = rx51_vio_supplies, | ||
455 | }; | ||
456 | |||
414 | static int rx51_twlgpio_setup(struct device *dev, unsigned gpio, unsigned n) | 457 | static int rx51_twlgpio_setup(struct device *dev, unsigned gpio, unsigned n) |
415 | { | 458 | { |
416 | /* FIXME this gpio setup is just a placeholder for now */ | 459 | /* FIXME this gpio setup is just a placeholder for now */ |
@@ -618,6 +661,7 @@ static struct twl4030_platform_data rx51_twldata __initdata = { | |||
618 | .vmmc1 = &rx51_vmmc1, | 661 | .vmmc1 = &rx51_vmmc1, |
619 | .vsim = &rx51_vsim, | 662 | .vsim = &rx51_vsim, |
620 | .vdac = &rx51_vdac, | 663 | .vdac = &rx51_vdac, |
664 | .vio = &rx51_vio, | ||
621 | }; | 665 | }; |
622 | 666 | ||
623 | static struct i2c_board_info __initdata rx51_peripherals_i2c_board_info_1[] = { | 667 | static struct i2c_board_info __initdata rx51_peripherals_i2c_board_info_1[] = { |
@@ -629,18 +673,27 @@ static struct i2c_board_info __initdata rx51_peripherals_i2c_board_info_1[] = { | |||
629 | }, | 673 | }, |
630 | }; | 674 | }; |
631 | 675 | ||
676 | static struct i2c_board_info __initdata rx51_peripherals_i2c_board_info_2[] = { | ||
677 | { | ||
678 | I2C_BOARD_INFO("tlv320aic3x", 0x18), | ||
679 | }, | ||
680 | }; | ||
681 | |||
632 | static int __init rx51_i2c_init(void) | 682 | static int __init rx51_i2c_init(void) |
633 | { | 683 | { |
634 | if ((system_rev >= SYSTEM_REV_S_USES_VAUX3 && system_rev < 0x100) || | 684 | if ((system_rev >= SYSTEM_REV_S_USES_VAUX3 && system_rev < 0x100) || |
635 | system_rev >= SYSTEM_REV_B_USES_VAUX3) | 685 | system_rev >= SYSTEM_REV_B_USES_VAUX3) { |
636 | rx51_twldata.vaux3 = &rx51_vaux3_mmc; | 686 | rx51_twldata.vaux3 = &rx51_vaux3_mmc; |
637 | else { | 687 | /* Only older boards use VMMC2 for internal MMC */ |
688 | rx51_vmmc2.num_consumer_supplies--; | ||
689 | } else { | ||
638 | rx51_twldata.vaux3 = &rx51_vaux3_cam; | 690 | rx51_twldata.vaux3 = &rx51_vaux3_cam; |
639 | rx51_twldata.vmmc2 = &rx51_vmmc2; | ||
640 | } | 691 | } |
692 | rx51_twldata.vmmc2 = &rx51_vmmc2; | ||
641 | omap_register_i2c_bus(1, 2200, rx51_peripherals_i2c_board_info_1, | 693 | omap_register_i2c_bus(1, 2200, rx51_peripherals_i2c_board_info_1, |
642 | ARRAY_SIZE(rx51_peripherals_i2c_board_info_1)); | 694 | ARRAY_SIZE(rx51_peripherals_i2c_board_info_1)); |
643 | omap_register_i2c_bus(2, 100, NULL, 0); | 695 | omap_register_i2c_bus(2, 100, rx51_peripherals_i2c_board_info_2, |
696 | ARRAY_SIZE(rx51_peripherals_i2c_board_info_2)); | ||
644 | omap_register_i2c_bus(3, 400, NULL, 0); | 697 | omap_register_i2c_bus(3, 400, NULL, 0); |
645 | return 0; | 698 | return 0; |
646 | } | 699 | } |
diff --git a/arch/arm/mach-omap2/clock3xxx_data.c b/arch/arm/mach-omap2/clock3xxx_data.c index 9cba5560519b..6905eb7aa67c 100644 --- a/arch/arm/mach-omap2/clock3xxx_data.c +++ b/arch/arm/mach-omap2/clock3xxx_data.c | |||
@@ -3472,8 +3472,8 @@ static struct omap_clk omap3xxx_clks[] = { | |||
3472 | CLK(NULL, "ipss_ick", &ipss_ick, CK_AM35XX), | 3472 | CLK(NULL, "ipss_ick", &ipss_ick, CK_AM35XX), |
3473 | CLK(NULL, "rmii_ck", &rmii_ck, CK_AM35XX), | 3473 | CLK(NULL, "rmii_ck", &rmii_ck, CK_AM35XX), |
3474 | CLK(NULL, "pclk_ck", &pclk_ck, CK_AM35XX), | 3474 | CLK(NULL, "pclk_ck", &pclk_ck, CK_AM35XX), |
3475 | CLK("davinci_emac", "ick", &emac_ick, CK_AM35XX), | 3475 | CLK("davinci_emac", "emac_clk", &emac_ick, CK_AM35XX), |
3476 | CLK("davinci_emac", "fck", &emac_fck, CK_AM35XX), | 3476 | CLK("davinci_emac", "phy_clk", &emac_fck, CK_AM35XX), |
3477 | CLK("vpfe-capture", "master", &vpfe_ick, CK_AM35XX), | 3477 | CLK("vpfe-capture", "master", &vpfe_ick, CK_AM35XX), |
3478 | CLK("vpfe-capture", "slave", &vpfe_fck, CK_AM35XX), | 3478 | CLK("vpfe-capture", "slave", &vpfe_fck, CK_AM35XX), |
3479 | CLK("musb_hdrc", "ick", &hsotgusb_ick_am35xx, CK_AM35XX), | 3479 | CLK("musb_hdrc", "ick", &hsotgusb_ick_am35xx, CK_AM35XX), |
diff --git a/arch/arm/mach-omap2/devices.c b/arch/arm/mach-omap2/devices.c index 2271b9bd1f50..10f3a3c58cc0 100644 --- a/arch/arm/mach-omap2/devices.c +++ b/arch/arm/mach-omap2/devices.c | |||
@@ -786,6 +786,33 @@ static inline void omap_hdq_init(void) | |||
786 | static inline void omap_hdq_init(void) {} | 786 | static inline void omap_hdq_init(void) {} |
787 | #endif | 787 | #endif |
788 | 788 | ||
789 | /*---------------------------------------------------------------------------*/ | ||
790 | |||
791 | #if defined(CONFIG_VIDEO_OMAP2_VOUT) || \ | ||
792 | defined(CONFIG_VIDEO_OMAP2_VOUT_MODULE) | ||
793 | #if defined(CONFIG_FB_OMAP2) || defined(CONFIG_FB_OMAP2_MODULE) | ||
794 | static struct resource omap_vout_resource[3 - CONFIG_FB_OMAP2_NUM_FBS] = { | ||
795 | }; | ||
796 | #else | ||
797 | static struct resource omap_vout_resource[2] = { | ||
798 | }; | ||
799 | #endif | ||
800 | |||
801 | static struct platform_device omap_vout_device = { | ||
802 | .name = "omap_vout", | ||
803 | .num_resources = ARRAY_SIZE(omap_vout_resource), | ||
804 | .resource = &omap_vout_resource[0], | ||
805 | .id = -1, | ||
806 | }; | ||
807 | static void omap_init_vout(void) | ||
808 | { | ||
809 | if (platform_device_register(&omap_vout_device) < 0) | ||
810 | printk(KERN_ERR "Unable to register OMAP-VOUT device\n"); | ||
811 | } | ||
812 | #else | ||
813 | static inline void omap_init_vout(void) {} | ||
814 | #endif | ||
815 | |||
789 | /*-------------------------------------------------------------------------*/ | 816 | /*-------------------------------------------------------------------------*/ |
790 | 817 | ||
791 | static int __init omap2_init_devices(void) | 818 | static int __init omap2_init_devices(void) |
@@ -800,6 +827,7 @@ static int __init omap2_init_devices(void) | |||
800 | omap_hdq_init(); | 827 | omap_hdq_init(); |
801 | omap_init_sti(); | 828 | omap_init_sti(); |
802 | omap_init_sha1_md5(); | 829 | omap_init_sha1_md5(); |
830 | omap_init_vout(); | ||
803 | 831 | ||
804 | return 0; | 832 | return 0; |
805 | } | 833 | } |
diff --git a/arch/arm/mach-omap2/include/mach/am35xx.h b/arch/arm/mach-omap2/include/mach/am35xx.h index a705f946fc46..f1e13d1ca5e7 100644 --- a/arch/arm/mach-omap2/include/mach/am35xx.h +++ b/arch/arm/mach-omap2/include/mach/am35xx.h | |||
@@ -23,4 +23,22 @@ | |||
23 | #define AM35XX_IPSS_HECC_BASE 0x5C050000 | 23 | #define AM35XX_IPSS_HECC_BASE 0x5C050000 |
24 | #define AM35XX_IPSS_VPFE_BASE 0x5C060000 | 24 | #define AM35XX_IPSS_VPFE_BASE 0x5C060000 |
25 | 25 | ||
26 | #endif /* __ASM_ARCH_AM35XX_H */ | 26 | |
27 | /* HECC module specifc offset definitions */ | ||
28 | #define AM35XX_HECC_SCC_HECC_OFFSET (0x0) | ||
29 | #define AM35XX_HECC_SCC_RAM_OFFSET (0x3000) | ||
30 | #define AM35XX_HECC_RAM_OFFSET (0x3000) | ||
31 | #define AM35XX_HECC_MBOX_OFFSET (0x2000) | ||
32 | #define AM35XX_HECC_INT_LINE (0x0) | ||
33 | #define AM35XX_HECC_VERSION (0x1) | ||
34 | |||
35 | #define AM35XX_EMAC_CNTRL_OFFSET (0x10000) | ||
36 | #define AM35XX_EMAC_CNTRL_MOD_OFFSET (0x0) | ||
37 | #define AM35XX_EMAC_CNTRL_RAM_OFFSET (0x20000) | ||
38 | #define AM35XX_EMAC_MDIO_OFFSET (0x30000) | ||
39 | #define AM35XX_EMAC_CNTRL_RAM_SIZE (0x2000) | ||
40 | #define AM35XX_EMAC_RAM_ADDR (AM3517_EMAC_BASE + \ | ||
41 | AM3517_EMAC_CNTRL_RAM_OFFSET) | ||
42 | #define AM35XX_EMAC_HW_RAM_ADDR (0x01E20000) | ||
43 | |||
44 | #endif /* __ASM_ARCH_AM35XX_H */ | ||