diff options
Diffstat (limited to 'arch/arm/mach-mx3/mach-pcm043.c')
| -rw-r--r-- | arch/arm/mach-mx3/mach-pcm043.c | 31 |
1 files changed, 15 insertions, 16 deletions
diff --git a/arch/arm/mach-mx3/mach-pcm043.c b/arch/arm/mach-mx3/mach-pcm043.c index 78d9185a9d4b..47f5311b301a 100644 --- a/arch/arm/mach-mx3/mach-pcm043.c +++ b/arch/arm/mach-mx3/mach-pcm043.c | |||
| @@ -10,10 +10,6 @@ | |||
| 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| 12 | * GNU General Public License for more details. | 12 | * GNU General Public License for more details. |
| 13 | * | ||
| 14 | * You should have received a copy of the GNU General Public License | ||
| 15 | * along with this program; if not, write to the Free Software | ||
| 16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
| 17 | */ | 13 | */ |
| 18 | 14 | ||
| 19 | #include <linux/types.h> | 15 | #include <linux/types.h> |
| @@ -40,19 +36,15 @@ | |||
| 40 | 36 | ||
| 41 | #include <mach/hardware.h> | 37 | #include <mach/hardware.h> |
| 42 | #include <mach/common.h> | 38 | #include <mach/common.h> |
| 43 | #include <mach/imx-uart.h> | ||
| 44 | #if defined CONFIG_I2C_IMX || defined CONFIG_I2C_IMX_MODULE | ||
| 45 | #include <mach/i2c.h> | ||
| 46 | #endif | ||
| 47 | #include <mach/iomux-mx35.h> | 39 | #include <mach/iomux-mx35.h> |
| 48 | #include <mach/ipu.h> | 40 | #include <mach/ipu.h> |
| 49 | #include <mach/mx3fb.h> | 41 | #include <mach/mx3fb.h> |
| 50 | #include <mach/mxc_nand.h> | ||
| 51 | #include <mach/mxc_ehci.h> | 42 | #include <mach/mxc_ehci.h> |
| 52 | #include <mach/ulpi.h> | 43 | #include <mach/ulpi.h> |
| 53 | #include <mach/audmux.h> | 44 | #include <mach/audmux.h> |
| 54 | #include <mach/ssi.h> | 45 | #include <mach/ssi.h> |
| 55 | 46 | ||
| 47 | #include "devices-imx35.h" | ||
| 56 | #include "devices.h" | 48 | #include "devices.h" |
| 57 | 49 | ||
| 58 | static const struct fb_videomode fb_modedb[] = { | 50 | static const struct fb_videomode fb_modedb[] = { |
| @@ -122,12 +114,12 @@ static struct platform_device pcm043_flash = { | |||
| 122 | .num_resources = 1, | 114 | .num_resources = 1, |
| 123 | }; | 115 | }; |
| 124 | 116 | ||
| 125 | static struct imxuart_platform_data uart_pdata = { | 117 | static const struct imxuart_platform_data uart_pdata __initconst = { |
| 126 | .flags = IMXUART_HAVE_RTSCTS, | 118 | .flags = IMXUART_HAVE_RTSCTS, |
| 127 | }; | 119 | }; |
| 128 | 120 | ||
| 129 | #if defined CONFIG_I2C_IMX || defined CONFIG_I2C_IMX_MODULE | 121 | #if defined CONFIG_I2C_IMX || defined CONFIG_I2C_IMX_MODULE |
| 130 | static struct imxi2c_platform_data pcm043_i2c_1_data = { | 122 | static const struct imxi2c_platform_data pcm043_i2c0_data __initconst = { |
| 131 | .bitrate = 50000, | 123 | .bitrate = 50000, |
| 132 | }; | 124 | }; |
| 133 | 125 | ||
| @@ -222,6 +214,9 @@ static struct pad_desc pcm043_pads[] = { | |||
| 222 | MX35_PAD_STXD4__AUDMUX_AUD4_TXD, | 214 | MX35_PAD_STXD4__AUDMUX_AUD4_TXD, |
| 223 | MX35_PAD_SRXD4__AUDMUX_AUD4_RXD, | 215 | MX35_PAD_SRXD4__AUDMUX_AUD4_RXD, |
| 224 | MX35_PAD_SCK4__AUDMUX_AUD4_TXC, | 216 | MX35_PAD_SCK4__AUDMUX_AUD4_TXC, |
| 217 | /* CAN2 */ | ||
| 218 | MX35_PAD_TX5_RX0__CAN2_TXCAN, | ||
| 219 | MX35_PAD_TX4_RX1__CAN2_RXCAN, | ||
| 225 | }; | 220 | }; |
| 226 | 221 | ||
| 227 | #define AC97_GPIO_TXFS (1 * 32 + 31) | 222 | #define AC97_GPIO_TXFS (1 * 32 + 31) |
| @@ -304,11 +299,13 @@ static struct imx_ssi_platform_data pcm043_ssi_pdata = { | |||
| 304 | .flags = IMX_SSI_USE_AC97, | 299 | .flags = IMX_SSI_USE_AC97, |
| 305 | }; | 300 | }; |
| 306 | 301 | ||
| 307 | static struct mxc_nand_platform_data pcm037_nand_board_info = { | 302 | static const struct mxc_nand_platform_data |
| 303 | pcm037_nand_board_info __initconst = { | ||
| 308 | .width = 1, | 304 | .width = 1, |
| 309 | .hw_ecc = 1, | 305 | .hw_ecc = 1, |
| 310 | }; | 306 | }; |
| 311 | 307 | ||
| 308 | #if defined(CONFIG_USB_ULPI) | ||
| 312 | static struct mxc_usbh_platform_data otg_pdata = { | 309 | static struct mxc_usbh_platform_data otg_pdata = { |
| 313 | .portsc = MXC_EHCI_MODE_UTMI, | 310 | .portsc = MXC_EHCI_MODE_UTMI, |
| 314 | .flags = MXC_EHCI_INTERFACE_DIFF_UNI, | 311 | .flags = MXC_EHCI_INTERFACE_DIFF_UNI, |
| @@ -319,6 +316,7 @@ static struct mxc_usbh_platform_data usbh1_pdata = { | |||
| 319 | .flags = MXC_EHCI_INTERFACE_SINGLE_UNI | MXC_EHCI_INTERNAL_PHY | | 316 | .flags = MXC_EHCI_INTERFACE_SINGLE_UNI | MXC_EHCI_INTERNAL_PHY | |
| 320 | MXC_EHCI_IPPUE_DOWN, | 317 | MXC_EHCI_IPPUE_DOWN, |
| 321 | }; | 318 | }; |
| 319 | #endif | ||
| 322 | 320 | ||
| 323 | static struct fsl_usb2_platform_data otg_device_pdata = { | 321 | static struct fsl_usb2_platform_data otg_device_pdata = { |
| 324 | .operating_mode = FSL_USB2_DR_DEVICE, | 322 | .operating_mode = FSL_USB2_DR_DEVICE, |
| @@ -361,17 +359,17 @@ static void __init mxc_board_init(void) | |||
| 361 | 359 | ||
| 362 | platform_add_devices(devices, ARRAY_SIZE(devices)); | 360 | platform_add_devices(devices, ARRAY_SIZE(devices)); |
| 363 | 361 | ||
| 364 | mxc_register_device(&mxc_uart_device0, &uart_pdata); | 362 | imx35_add_imx_uart0(&uart_pdata); |
| 365 | mxc_register_device(&mxc_nand_device, &pcm037_nand_board_info); | 363 | imx35_add_mxc_nand(&pcm037_nand_board_info); |
| 366 | mxc_register_device(&imx_ssi_device0, &pcm043_ssi_pdata); | 364 | mxc_register_device(&imx_ssi_device0, &pcm043_ssi_pdata); |
| 367 | 365 | ||
| 368 | mxc_register_device(&mxc_uart_device1, &uart_pdata); | 366 | imx35_add_imx_uart1(&uart_pdata); |
| 369 | 367 | ||
| 370 | #if defined CONFIG_I2C_IMX || defined CONFIG_I2C_IMX_MODULE | 368 | #if defined CONFIG_I2C_IMX || defined CONFIG_I2C_IMX_MODULE |
| 371 | i2c_register_board_info(0, pcm043_i2c_devices, | 369 | i2c_register_board_info(0, pcm043_i2c_devices, |
| 372 | ARRAY_SIZE(pcm043_i2c_devices)); | 370 | ARRAY_SIZE(pcm043_i2c_devices)); |
| 373 | 371 | ||
| 374 | mxc_register_device(&mxc_i2c_device0, &pcm043_i2c_1_data); | 372 | imx35_add_imx_i2c0(&pcm043_i2c0_data); |
| 375 | #endif | 373 | #endif |
| 376 | 374 | ||
| 377 | mxc_register_device(&mx3_ipu, &mx3_ipu_data); | 375 | mxc_register_device(&mx3_ipu, &mx3_ipu_data); |
| @@ -390,6 +388,7 @@ static void __init mxc_board_init(void) | |||
| 390 | if (!otg_mode_host) | 388 | if (!otg_mode_host) |
| 391 | mxc_register_device(&mxc_otg_udc_device, &otg_device_pdata); | 389 | mxc_register_device(&mxc_otg_udc_device, &otg_device_pdata); |
| 392 | 390 | ||
| 391 | imx35_add_flexcan1(NULL); | ||
| 393 | } | 392 | } |
| 394 | 393 | ||
| 395 | static void __init pcm043_timer_init(void) | 394 | static void __init pcm043_timer_init(void) |
