static void __init mx53_ard_board_init(void) { mxc_iomux_v3_setup_multiple_pads(mx53_ard_pads, ARRAY_SIZE(mx53_ard_pads)); mx53_ard_init_uart(); imx53_add_srtc(); imx53_add_imx2_wdt(0, NULL); imx53_add_sdhci_esdhc_imx(0, &mx53_ard_sd1_data); imx53_add_sdhci_esdhc_imx(1, &mx53_ard_sd2_data); weim_cs_config(); mx53_ard_io_init(); mxc_register_device(&ard_smsc_lan9220_device, &ard_smsc911x_config); imx53_add_imx_i2c(1, &mx53_ard_i2c1_data); imx53_add_imx_i2c(2, &mx53_ard_i2c2_data); i2c_register_board_info(1, mxc_i2c1_board_info, ARRAY_SIZE(mxc_i2c1_board_info)); i2c_register_board_info(2, mxc_i2c2_board_info, ARRAY_SIZE(mxc_i2c2_board_info)); /* this call required to release SCC RAM partition held by ROM * during boot, even if SCC2 driver is not part of the image */ imx53_add_mxc_scc2(); }
static void __init mx53_ard_board_init(void) { imx53_soc_init(); imx53_add_imx_uart(0, NULL); mx53_ard_io_init(); weim_cs_config(); platform_add_devices(devices, ARRAY_SIZE(devices)); imx53_add_sdhci_esdhc_imx(0, &mx53_ard_sd1_data); imx53_add_imx2_wdt(0, NULL); imx53_add_imx_i2c(1, &mx53_ard_i2c2_data); imx53_add_imx_i2c(2, &mx53_ard_i2c3_data); imx_add_gpio_keys(&ard_button_data); }
/*! * Board specific initialization. */ static void __init mxc_board_init(void) { mxc_ipu_data.di_clk[0] = clk_get(NULL, "ipu_di0_clk"); mxc_ipu_data.di_clk[1] = clk_get(NULL, "ipu_di1_clk"); mxc_ipu_data.csi_clk[0] = clk_get(NULL, "ssi_ext1_clk"); mxc_spdif_data.spdif_core_clk = clk_get(NULL, "spdif_xtal_clk"); clk_put(mxc_spdif_data.spdif_core_clk); spdif_audio_data.ext_ram_clk = clk_get(NULL, "emi_fast_clk"); clk_put(spdif_audio_data.ext_ram_clk); mxc_surround_audio_data.ext_ram_clk = clk_get(NULL, "emi_fast_clk"); clk_put(mxc_surround_audio_data.ext_ram_clk); mxcsdhc2_device.resource[2].start = gpio_to_irq(ARD_SD2_CD); mxcsdhc2_device.resource[2].end = gpio_to_irq(ARD_SD2_CD); mxcsdhc1_device.resource[2].start = gpio_to_irq(ARD_SD1_CD); mxcsdhc1_device.resource[2].end = gpio_to_irq(ARD_SD1_CD); mxc_cpu_common_init(); mx53_ard_io_init(); weim_cs_config(); mxc_read_mac_iim(); mxc_register_device(&ard_smsc_lan9220_device, &ard_smsc911x_config); mxc_register_device(&mxc_dma_device, NULL); mxc_register_device(&mxc_wdt_device, NULL); mxc_register_device(&mxcspi1_device, &mxcspi1_data); mxc_register_device(&mxci2c_devices[1], &mxci2c1_data); mxc_register_device(&mxci2c_devices[2], &mxci2c2_data); mxc_register_device(&mxc_rtc_device, NULL); mxc_register_device(&mxc_ipu_device, &mxc_ipu_data); mxc_register_device(&mxc_ldb_device, &ldb_data); mxc_register_device(&mxc_tve_device, &tve_data); if (!mxc_fuse_get_vpu_status()) mxc_register_device(&mxcvpu_device, &mxc_vpu_data); if (!mxc_fuse_get_gpu_status()) mxc_register_device(&gpu_device, &gpu_data); mxc_register_device(&mxcscc_device, NULL); mxc_register_device(&mxc_dvfs_core_device, &dvfs_core_data); mxc_register_device(&busfreq_device, &bus_freq_data); mxc_register_device(&mxc_iim_device, &iim_data); mxc_register_device(&mxc_pwm1_device, &mxc_pwm1_platform_data); /* Rev B boards use a different LVDS Panel */ if (board_is_mx53_ard_b()) { mxc_pwm1_backlight_data.pwm_period_ns = 50000; } mxc_register_device(&mxc_pwm1_backlight_device, &mxc_pwm1_backlight_data); mxc_register_device(&mxc_pwm2_device, &mxc_pwm2_platform_data); /* Rev B boards use a different LVDS Panel */ if (board_is_mx53_ard_b()) { mxc_pwm2_backlight_data.pwm_period_ns = 50000; } mxc_register_device(&mxc_pwm2_backlight_device, &mxc_pwm2_backlight_data); mxc_register_device(&mxc_flexcan0_device, &flexcan0_data); mxc_register_device(&mxc_flexcan1_device, &flexcan1_data); mxc_register_device(&mxcsdhc1_device, &mmc1_data); mxc_register_device(&mxcsdhc2_device, &mmc2_data); mxc_register_device(&ahci_fsl_device, &sata_data); mxc_register_device(&imx_ahci_device_hwmon, NULL); /* ASRC is only available for MX53 TO2.0 */ if (mx53_revision() >= IMX_CHIP_REVISION_2_0) { mxc_asrc_data.asrc_core_clk = clk_get(NULL, "asrc_clk"); clk_put(mxc_asrc_data.asrc_core_clk); mxc_asrc_data.asrc_audio_clk = clk_get(NULL, "asrc_serial_clk"); clk_put(mxc_asrc_data.asrc_audio_clk); mxc_register_device(&mxc_asrc_device, &mxc_asrc_data); } mxc_register_device(&mxc_spdif_audio_device, &spdif_audio_data); mxc_register_device(&mxc_alsa_spdif_device, &mxc_spdif_data); spi_register_board_info(mxc_dataflash_device, ARRAY_SIZE(mxc_dataflash_device)); i2c_register_board_info(1, mxc_i2c1_board_info, ARRAY_SIZE(mxc_i2c1_board_info)); /* Rev B boards use a different touchscreen */ if (board_is_mx53_ard_b()) { strcpy(mxc_i2c2_board_info[0].type, "p1003_fwv33"); mxc_i2c2_board_info[0].addr = 0x41; mxc_i2c2_board_info[0].platform_data = &p1003_ts_data; } i2c_register_board_info(2, mxc_i2c2_board_info, ARRAY_SIZE(mxc_i2c2_board_info)); mxc_register_device(&mxc_mlb_device, &mlb_data); mx5_set_otghost_vbus_func(mx53_ard_usbotg_driver_vbus); mx5_usb_dr_init(); mx5_set_host1_vbus_func(mx53_ard_host1_driver_vbus); mx5_usbh1_init(); mx5_usbh2_init(); mxc_register_device(&mxc_nandv2_mtd_device, &mxc_nand_data); mxc_register_device(&mxc_esai_device, &esai_data); mxc_register_device(&mxc_alsa_surround_device, &mxc_surround_audio_data); mxc_register_device(&mxc_v4l2out_device, NULL); mxc_register_device(&mxc_v4l2_device, NULL); }
static void __init mx53_ard_board_init(void) { int i; mxc_iomux_v3_setup_multiple_pads(mx53_ard_pads, ARRAY_SIZE(mx53_ard_pads)); /* setup VGA PINs */ if (enable_ard_vga) { iomux_v3_cfg_t vga; vga = MX53_PAD_EIM_OE__IPU_DI1_PIN7; mxc_iomux_v3_setup_pad(vga); vga = MX53_PAD_EIM_RW__IPU_DI1_PIN8; mxc_iomux_v3_setup_pad(vga); } gp_reg_id = ard_regulator_data.cpu_reg_id; lp_reg_id = ard_regulator_data.vcc_reg_id; mxc_spdif_data.spdif_core_clk = clk_get(NULL, "spdif_xtal_clk"); clk_put(mxc_spdif_data.spdif_core_clk); mx53_ard_init_uart(); imx53_add_ipuv3(0, &ipu_data); for (i = 0; i < ARRAY_SIZE(ard_fb_data); i++) imx53_add_ipuv3fb(i, &ard_fb_data[i]); imx53_add_vpu(); imx53_add_ldb(&ldb_data); imx53_add_tve(&tve_data); imx53_add_v4l2_output(0); imx53_add_mxc_pwm(0); imx53_add_mxc_pwm_backlight(0, &ard_pwm1_backlight_data); imx53_add_mxc_pwm(1); imx53_add_mxc_pwm_backlight(1, &ard_pwm2_backlight_data); imx53_add_srtc(); imx53_add_imx2_wdt(0, NULL); imx53_add_sdhci_esdhc_imx(0, &mx53_ard_sd1_data); imx53_add_sdhci_esdhc_imx(1, &mx53_ard_sd2_data); mxc_register_device(&imx_ahci_device_hwmon, NULL); weim_cs_config(); mx53_ard_io_init(); mxc_register_device(&ard_smsc_lan9220_device, &ard_smsc911x_config); imx53_add_imx_i2c(1, &mx53_ard_i2c1_data); imx53_add_imx_i2c(2, &mx53_ard_i2c2_data); imx53_add_spdif(&mxc_spdif_data); imx53_add_spdif_dai(); imx53_add_spdif_audio_device(); i2c_register_board_info(1, mxc_i2c1_board_info, ARRAY_SIZE(mxc_i2c1_board_info)); i2c_register_board_info(2, mxc_i2c2_board_info, ARRAY_SIZE(mxc_i2c2_board_info)); imx53_init_audio(); /* this call required to release SCC RAM partition held by ROM * during boot, even if SCC2 driver is not part of the image */ imx53_add_mxc_scc2(); }