diff options
Diffstat (limited to 'arch/arm/mach-mx5/board-mx51_babbage.c')
-rw-r--r-- | arch/arm/mach-mx5/board-mx51_babbage.c | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/arch/arm/mach-mx5/board-mx51_babbage.c b/arch/arm/mach-mx5/board-mx51_babbage.c index ed885f9d7b7..6e384d92e62 100644 --- a/arch/arm/mach-mx5/board-mx51_babbage.c +++ b/arch/arm/mach-mx5/board-mx51_babbage.c | |||
@@ -12,6 +12,7 @@ | |||
12 | 12 | ||
13 | #include <linux/init.h> | 13 | #include <linux/init.h> |
14 | #include <linux/platform_device.h> | 14 | #include <linux/platform_device.h> |
15 | #include <linux/i2c.h> | ||
15 | #include <linux/gpio.h> | 16 | #include <linux/gpio.h> |
16 | #include <linux/delay.h> | 17 | #include <linux/delay.h> |
17 | #include <linux/io.h> | 18 | #include <linux/io.h> |
@@ -21,6 +22,7 @@ | |||
21 | #include <mach/hardware.h> | 22 | #include <mach/hardware.h> |
22 | #include <mach/imx-uart.h> | 23 | #include <mach/imx-uart.h> |
23 | #include <mach/iomux-mx51.h> | 24 | #include <mach/iomux-mx51.h> |
25 | #include <mach/i2c.h> | ||
24 | #include <mach/mxc_ehci.h> | 26 | #include <mach/mxc_ehci.h> |
25 | 27 | ||
26 | #include <asm/irq.h> | 28 | #include <asm/irq.h> |
@@ -64,6 +66,18 @@ static struct pad_desc mx51babbage_pads[] = { | |||
64 | MX51_PAD_EIM_D27__UART3_RTS, | 66 | MX51_PAD_EIM_D27__UART3_RTS, |
65 | MX51_PAD_EIM_D24__UART3_CTS, | 67 | MX51_PAD_EIM_D24__UART3_CTS, |
66 | 68 | ||
69 | /* I2C1 */ | ||
70 | MX51_PAD_EIM_D16__I2C1_SDA, | ||
71 | MX51_PAD_EIM_D19__I2C1_SCL, | ||
72 | |||
73 | /* I2C2 */ | ||
74 | MX51_PAD_KEY_COL4__I2C2_SCL, | ||
75 | MX51_PAD_KEY_COL5__I2C2_SDA, | ||
76 | |||
77 | /* HSI2C */ | ||
78 | MX51_PAD_I2C1_CLK__HSI2C_CLK, | ||
79 | MX51_PAD_I2C1_DAT__HSI2C_DAT, | ||
80 | |||
67 | /* USB HOST1 */ | 81 | /* USB HOST1 */ |
68 | MX51_PAD_USBH1_CLK__USBH1_CLK, | 82 | MX51_PAD_USBH1_CLK__USBH1_CLK, |
69 | MX51_PAD_USBH1_DIR__USBH1_DIR, | 83 | MX51_PAD_USBH1_DIR__USBH1_DIR, |
@@ -78,7 +92,7 @@ static struct pad_desc mx51babbage_pads[] = { | |||
78 | MX51_PAD_USBH1_DATA7__USBH1_DATA7, | 92 | MX51_PAD_USBH1_DATA7__USBH1_DATA7, |
79 | 93 | ||
80 | /* USB HUB reset line*/ | 94 | /* USB HUB reset line*/ |
81 | MX51_PAD_GPIO_1_7__GPIO1_7, | 95 | MX51_PAD_GPIO_1_7__GPIO_1_7, |
82 | }; | 96 | }; |
83 | 97 | ||
84 | /* Serial ports */ | 98 | /* Serial ports */ |
@@ -99,6 +113,14 @@ static inline void mxc_init_imx_uart(void) | |||
99 | } | 113 | } |
100 | #endif /* SERIAL_IMX */ | 114 | #endif /* SERIAL_IMX */ |
101 | 115 | ||
116 | static struct imxi2c_platform_data babbage_i2c_data = { | ||
117 | .bitrate = 100000, | ||
118 | }; | ||
119 | |||
120 | static struct imxi2c_platform_data babbage_hsi2c_data = { | ||
121 | .bitrate = 400000, | ||
122 | }; | ||
123 | |||
102 | static int gpio_usbh1_active(void) | 124 | static int gpio_usbh1_active(void) |
103 | { | 125 | { |
104 | struct pad_desc usbh1stp_gpio = MX51_PAD_USBH1_STP__GPIO_1_27; | 126 | struct pad_desc usbh1stp_gpio = MX51_PAD_USBH1_STP__GPIO_1_27; |
@@ -230,6 +252,10 @@ static void __init mxc_board_init(void) | |||
230 | mxc_init_imx_uart(); | 252 | mxc_init_imx_uart(); |
231 | platform_add_devices(devices, ARRAY_SIZE(devices)); | 253 | platform_add_devices(devices, ARRAY_SIZE(devices)); |
232 | 254 | ||
255 | mxc_register_device(&mxc_i2c_device0, &babbage_i2c_data); | ||
256 | mxc_register_device(&mxc_i2c_device1, &babbage_i2c_data); | ||
257 | mxc_register_device(&mxc_hsi2c_device, &babbage_hsi2c_data); | ||
258 | |||
233 | if (otg_mode_host) | 259 | if (otg_mode_host) |
234 | mxc_register_device(&mxc_usbdr_host_device, &dr_utmi_config); | 260 | mxc_register_device(&mxc_usbdr_host_device, &dr_utmi_config); |
235 | else { | 261 | else { |