/* * Bus Clear */ static int omap_i2c_bus_clear(struct omap_i2c_dev *dev) { u16 w; /* Per the I2C specification, if we are stuck in a bus busy state * we can attempt a bus clear to try and recover the bus by sending * at least 9 clock pulses on SCL. Put the I2C in a test mode so it * will output a continuous clock on SCL. */ disable_irq(dev->irq); w = omap_i2c_read_reg(dev, OMAP_I2C_SYSTEST_REG); omap_i2c_write_reg(dev, OMAP_I2C_CON_REG, OMAP_I2C_CON_EN); omap_i2c_write_reg(dev, OMAP_I2C_SYSTEST_REG, (OMAP_I2C_SYSTEST_ST_EN | OMAP_I2C_SYSTEST_TMODE_TEST)); msleep(1); omap_i2c_write_reg(dev, OMAP_I2C_SYSTEST_REG, w); omap_i2c_write_reg(dev, OMAP_I2C_CON_REG, 0); omap_i2c_reset(dev); omap_i2c_init(dev); enable_irq(dev->irq); return omap_i2c_wait_for_bb(dev); }
void __init zoom_peripherals_init(void) { omap_i2c_init(); wlan_1273_reset(); omap_serial_init(); usb_musb_init(); }
void __init hub_peripherals_init(void) { hub_mmc1_gpio_init(); omap_i2c_init(); platform_add_devices(hub_devices, ARRAY_SIZE(hub_devices)); hub_synaptics_dev_init(); // 20100619 [email protected] Hub touchscreen // [email protected] Adapted to new interface of omap_serial_init() in 2.6.35 kernel [START] // omap_serial_init(); omap_serial_init(omap_serial_platform_data); // [email protected] Adapted to new interface of omap_serial_init() in 2.6.35 kernel [END] #ifdef CONFIG_INPUT_HALLEFFECT_BU52014HV sniper_hall_effect_init(); #endif #ifdef CONFIG_PANEL_HUB hub_lcd_tv_panel_init(); #endif usb_musb_init(&musb_board_data); // [email protected] Added function to initialize SYS_NIRQ pin [START] enable_board_wakeup_source(); // [email protected] Added function to initialize SYS_NIRQ pin [END] hub_cam_init(); #ifdef CONFIG_LGE_SPI hub_ipc_spi_init(); #endif //--[[ LGE_UBIQUIX_MODIFIED_START : [email protected] - TDMB #ifdef CONFIG_SPI_TDMB hub_tdmb_spi_init(); #endif //--]] LGE_UBIQUIX_MODIFIED_END : [email protected] - TDMB }
static void __init omap_zoom2_init(void) { omap_i2c_init(); omap_serial_init(); omap_zoom2_debugboard_init(); usb_musb_init(); }
static void __init board_init(void) { int num_displays = 0; init_buffer_pbias(); omap_board_config = board_config; omap_board_config_size = ARRAY_SIZE(board_config); #ifdef CONFIG_CLOCKS_INIT archos_clocks_init(&board_clocks); #endif archos_leds_init(); // set it here mask hugly transitions /* before omap_i2c_init() or IRQ will not forwarded to driver */ if (display_config.nrev > hardware_rev) archos_hdmi_gpio_init(&display_config.rev[hardware_rev]); msecure_init(); /* offmode config, before I2C config! */ board_offmode_config(); omap_i2c_init(); /* Fix to prevent VIO leakage on wl127x */ wl127x_vio_leakage_fix(); #if defined CONFIG_OMAP2_DSS if (archos_lcd_panel_init(&board_lcd_device) == 0) { board_dss_devices[num_displays++] = &board_lcd_device; board_dss_data.default_device = &board_lcd_device; } board_dss_devices[num_displays++] = &board_hdmi_device; #ifdef CONFIG_OMAP2_DSS_DUMMY board_dss_devices[num_displays++] = &board_dummy_device; board_dss_data.default_device = &board_dummy_device; #endif /* CONFIG_OMAP2_DSS_DUMMY */ board_dss_data.num_devices = num_displays; #endif/* CONFIG_OMAP2_DSS */ platform_add_devices(board_devices, ARRAY_SIZE(board_devices)); omap_cfg_reg(H20_3430_UART3_RX_IRRX); omap_serial_init(); usb_musb_init(); archos_usb_ehci_init(); archos_accel_init(&board_mma7660fc_pdata); twl4030_mmc_init(mmc); board_vmmc2_supply.dev = mmc[0].dev; archos_audio_gpio_init(); archos_usb2sata_init(); archos_camera_ov7675_init(); archos_keys_init(); enable_board_wakeup_source(); }
void __init evt_peripherals_init(void) { //&*&*&*SJ1_20110419, Add /proc file to display software and hardware version. #if defined (CONFIG_PROCFS_DISPLAY_SW_HW_VERSION) get_share_region(); #endif //&*&*&*SJ2_20110419, Add /proc file to display software and hardware version. //&*&*&*BC1_110615: fix the issue that system can not enter off mode twl4030_get_scripts(&evt_t2scripts_data); //&*&*&*BC2_110615: fix the issue that system can not enter off mode #ifdef CONFIG_ANDROID_RAM_CONSOLE platform_device_register(&ram_console_device); #endif omap_i2c_init(); platform_add_devices( evt_board_devices, ARRAY_SIZE(evt_board_devices) ); platform_add_devices( evt_board_devices_2, ARRAY_SIZE(evt_board_devices_2) ); #ifdef CONFIG_ENCORE_MODEM_MGR if (is_encore_3g()) { platform_device_register(&encore_modem_mgr_device); } #endif #ifdef CONFIG_SND_SOC_TLV320DAC3100 audio_dac_3100_dev_init(); #endif /***++++20110115, jimmySu add backlight driver for PWM***/ #ifdef CONFIG_LEDS_OMAP_DISPLAY gptimer8 = (unsigned long)ioremap(0x4903E000, 16); //&*&*&*HC1_20110826, modify pwm init sequence //zoom_pwm_init(); omap_set_primary_brightness(100); //&*&*&*HC2_20110826, modify pwm init sequence #endif // CONFIG_LEDS_OMAP_DISPLAY /***-----20110115, jimmySu add backlight driver for PWM***/ /* NOTE: Please deselect CONFIG_MACH_OMAP_USE_UART3 in order to init * only UART1 and UART2, all in the name of saving some power. */ omap_serial_init(omap_serial_platform_data); evt_lcd_panel_init(); // kxtf9_dev_init(); #ifdef CONFIG_BATTERY_MAX17042 max17042_dev_init(); #endif usb_musb_init(&musb_board_data); //&*&*&*SJ1_20110607 #if defined (CONFIG_ANDROID_FACTORY_DEFAULT_REBOOT) android_factory_default_init(); #endif //&*&*&*SJ2_20110607 }
void __init zoom_peripherals_init(void) { omap_i2c_init(); synaptics_dev_init(); omap_serial_init(omap_serial_platform_data); usb_musb_init(&musb_board_data); enable_board_wakeup_source(); zoom2_cam_init(); }
static void __init board_init(void) { omap_board_config = board_config; omap_board_config_size = ARRAY_SIZE(board_config); archos_accel_init(&board_mma7456l_pdata); omap_i2c_init(); #ifdef CONFIG_OMAP3_PM prcm_init(); #endif init_buffer_pbias(); if (archos_lcd_panel_init(&board_dss_data) < 0) pr_err("archos_lcd_panel_init failed!\n"); if (archos_tvout_venc_init(&board_dss_data) < 0) pr_err("archos_tvout_venc_init failed\n"); if (archos_tvout_hdmi_init(&board_dss_data) < 0) pr_err("archos_tvout_hdmi_init failed\n"); if (archos_tvout_extdac_init(&board_dss_data) < 0) pr_err("archos_tvout_extdac_init failed\n"); platform_device_register(&board_dss_device); platform_device_register(&omap_tvp_isp_device); #ifdef CONFIG_ARCHOS_NAND_MOD { /* fixup for nand support of hw version 1.1 */ u32 ret = gpmc_cs_read_reg(0, GPMC_CS_CONFIG1); if (hardware_rev == 1 && (ret & 0xC00) == GPMC_CONFIG1_DEVICETYPE_NAND) { usb_config.rev[1].enable_usb_musb.nb = 161; usb_config.rev[1].enable_usb_musb.mux_cfg = K26_3430_GPIO161; usb_config.rev[1].enable_usb_ehci.nb = 167; usb_config.rev[1].enable_usb_ehci.mux_cfg = B23_3430_GPIO167; } } #endif archosg7_init(); archos_flash_init(); archos_atmega_init(); ads7846_dev_init(); omap_serial_init(); usb_musb_init(); usb_ehci_init(); archos_usb2sata_init(); archos_audio_gpio_init(); archos_keys_init(); archos_wifi_bt_init(); omap_cfg_reg(AH26_3430_GPIO2); pm_power_off = archos_power_off; }
static void __init omap_ldp_init(void) { omap_i2c_init(); platform_add_devices(ldp_devices, ARRAY_SIZE(ldp_devices)); omap_board_config = ldp_config; omap_board_config_size = ARRAY_SIZE(ldp_config); omap_serial_init(); twl4030_mmc_init(mmc); usb_musb_init(); }
void __init latona_peripherals_init(void) { omap_i2c_init(); atmel_dev_init(); omap_serial_init(omap_serial_platform_data); usb_musb_init(&musb_board_data); enable_board_wakeup_source(); }
void __init black_peripherals_init(void) { black_mmc1_gpio_init(); omap_i2c_init(); platform_add_devices(black_devices, ARRAY_SIZE(black_devices)); //--[[ LGE_UBIQUIX_MODIFIED_START : [email protected] [2011.07.11] - Merged from black_gb_docomo black_synaptics_dev_init(); //--]] LGE_UBIQUIX_MODIFIED_END : [email protected] [2011.07.11]- Merged from black_gb_docomo /* LGE_CHANGE_S, [email protected], 2011-03-03, Porting for MPLv3.3.3 */ #if defined(CONFIG_MPU_SENSORS_MPU3050) || defined(CONFIG_MPU_SENSORS_MPU3050_MODULE) mpu3050_dev_init(); #endif /* LGE_CHANGE_E, [email protected], 2011-03-03, Porting for MPLv3.3.3 */ // [email protected] Adapted to new interface of omap_serial_init() in 2.6.35 kernel [START] // omap_serial_init(); omap_serial_init(omap_serial_platform_data); // [email protected] Adapted to new interface of omap_serial_init() in 2.6.35 kernel [END] #ifdef CONFIG_INPUT_HALLEFFECT_BU52014HV sniper_hall_effect_init(); #endif #ifdef CONFIG_PANEL_BLACK black_lcd_tv_panel_init(); #endif usb_musb_init(&musb_board_data); // [email protected] Added function to initialize SYS_NIRQ pin [START] enable_board_wakeup_source(); // [email protected] Added function to initialize SYS_NIRQ pin [END] black_cam_init(); #ifdef CONFIG_LGE_SPI black_ipc_spi_init(); #endif //--[[ LGE_UBIQUIX_MODIFIED_START : [email protected] [2011.07.01] - TDMB #ifdef CONFIG_SPI_TDMB black_tdmb_spi_init(); #endif /* S, 20110810, [email protected], Enable Fuelgauge. */ #if defined (CONFIG_FUELGAUGE_MAX17043) max17043_init(); #endif /* E, 20110810, [email protected], Enable Fuelgauge. */ //--[[ LGE_UBIQUIX_MODIFIED_START : [email protected] [2011.07.11] - Black Key Touch & Key Touch LED #if defined (CONFIG_LEDS_BD2802_LGE) bd2802_init(); #endif //--]] LGE_UBIQUIX_MODIFIED_END : [email protected] [2011.07.11]- Black Key Touch & Key Touch LED //--]] LGE_UBIQUIX_MODIFIED_END : [email protected] [2011.07.01] - TDMB }
void __init zoom_peripherals_init(void) { if (wl12xx_set_platform_data(&omap_zoom_wlan_data)) pr_err("error setting wl12xx data\n"); omap_i2c_init(); platform_device_register(&omap_vwlan_device); usb_musb_init(&musb_board_data); enable_board_wakeup_source(); omap_serial_init(); }
/* * Prepare controller for a transaction and call omap_i2c_xfer_msg * to do the work during IRQ processing. */ static int omap_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[], int num) { struct omap_i2c_dev *dev = i2c_get_adapdata(adap); int i; int r; //--[[ LGE_UBIQUIX_MODIFIED_START : [email protected] [2011.11.16] - In case a peripheral is holding the DATA bus low, reset the I2C controller u16 val; //--]] LGE_UBIQUIX_MODIFIED_END : [email protected] [2011.11.16]- In case a peripheral is holding the DATA bus low, reset the I2C controller /* * hwspinlock is used to time share the I2C module between A9 and Ducati * on OMAP4. To avoid spurious IRQ due to I2C transaction initiated on * Ducati sub system I2C IRQ is enabled and disabled on i2c transfers. */ omap_i2c_hwspinlock_lock(dev); omap_i2c_unidle(dev); enable_irq(dev->irq); r = omap_i2c_wait_for_bb(dev); //--[[ LGE_UBIQUIX_MODIFIED_START : [email protected] [2011.11.16] - In case a peripheral is holding the DATA bus low, reset the I2C controller /* If timeout, try to again check after soft reset of I2C block */ if (WARN_ON(r == -ETIMEDOUT)) { /* Provide a permanent clock to recover the peripheral */ val = omap_i2c_read_reg(dev, OMAP_I2C_SYSTEST_REG); val |= (OMAP_I2C_SYSTEST_ST_EN | OMAP_I2C_SYSTEST_FREE | (2 << OMAP_I2C_SYSTEST_TMODE_SHIFT)); omap_i2c_write_reg(dev, OMAP_I2C_SYSTEST_REG, val); msleep(1); omap_i2c_init(dev); r = omap_i2c_wait_for_bb(dev); } //--]] LGE_UBIQUIX_MODIFIED_END : [email protected] [2011.11.16]- In case a peripheral is holding the DATA bus low, reset the I2C controller if (r < 0) goto out; for (i = 0; i < num; i++) { r = omap_i2c_xfer_msg(adap, &msgs[i], (i == (num - 1))); if (r != 0) break; } if (r == 0) r = num; omap_i2c_wait_for_bb(dev); out: disable_irq_nosync(dev->irq); omap_i2c_idle(dev); omap_i2c_hwspinlock_unlock(dev); return r; }
static void __init omap_encore_init(void) { omap3_mux_init(board_mux, OMAP_PACKAGE_CBP); omap_i2c_init(); omap_serial_init(); usb_musb_init(NULL); omap_board_config = encore_config; omap_board_config_size = ARRAY_SIZE(encore_config); platform_add_devices(encore_devices, ARRAY_SIZE(encore_devices)); }
static void peripherals_init(void) { fidji_gpio.dev.platform_data = fidji_pins; parrot_omap_serial_init(); fidji_mmc_init(); omap_i2c_init(); usb_init(); spi_register_board_info(fidji_spi_board_info, ARRAY_SIZE(fidji_spi_board_info)); omap2_init_mcspi(&fidji_mcspi_platform_data, 2); }
/* * Prepare controller for a transaction and call omap_i2c_xfer_msg * to do the work during IRQ processing. */ static int omap_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[], int num) { struct omap_i2c_dev *dev = i2c_get_adapdata(adap); int i; int r; u16 val; omap_i2c_unidle(dev); r = omap_i2c_wait_for_bb(dev); /* If timeout, try to again check after soft reset of I2C block */ if (WARN_ON(r == -ETIMEDOUT)) { /* Provide a permanent clock to recover the peripheral */ val = omap_i2c_read_reg(dev, OMAP_I2C_SYSTEST_REG); val |= (OMAP_I2C_SYSTEST_ST_EN | OMAP_I2C_SYSTEST_FREE | (2 << OMAP_I2C_SYSTEST_TMODE_SHIFT)); omap_i2c_write_reg(dev, OMAP_I2C_SYSTEST_REG, val); msleep(1); omap_i2c_init(dev); r = omap_i2c_wait_for_bb(dev); } if (r < 0) goto out; /* * When waiting for completion of a i2c transfer, we need to * set a wake up latency constraint for the MPU. This is to * ensure quick enough wakeup from idle, when transfer * completes. */ if (dev->pm_qos) pm_qos_update_request(dev->pm_qos, dev->latency); for (i = 0; i < num; i++) { r = omap_i2c_xfer_msg(adap, &msgs[i], (i == (num - 1))); if (r != 0) break; } if (dev->pm_qos) pm_qos_update_request(dev->pm_qos, PM_QOS_DEFAULT_VALUE); if (r == 0) r = num; omap_i2c_wait_for_bb(dev); out: omap_i2c_idle(dev); return r; }
static void __init omap_boxer_init(void) { /*we need to have this enable function here to light up the BL*/ boxer_panel_enable_lcd(&boxer_lcd_device); omap_i2c_init(); /* Fix to prevent VIO leakage on wl127x */ // wl127x_vio_leakage_fix(); platform_add_devices(boxer_devices, ARRAY_SIZE(boxer_devices)); omap_board_config = boxer_config; omap_board_config_size = ARRAY_SIZE(boxer_config); spi_register_board_info(boxer_spi_board_info, ARRAY_SIZE(boxer_spi_board_info)); #ifdef CONFIG_TOUCHSCREEN_PIXCIR_I2C pixcir_dev_init(); #endif #ifdef CONFIG_TOUCHSCREEN_CYTTSP_I2C // cyttsp_dev_init(); #endif #ifdef CONFIG_INPUT_KXTF9 kxtf9_dev_init(); #endif /* CONFIG_INPUT_KXTF9 */ #ifdef CONFIG_BATTERY_MAX17042 max17042_dev_init(); #endif #if defined(CONFIG_SND_SOC_DAC3100) || defined(CONFIG_SND_SOC_DAC3100_MODULE) || defined(CONFIG_SND_OMAP_SOC_OMAP3_EDP) audio_dac_3100_dev_init(); #endif // synaptics_dev_init(); // msecure_init(); // ldp_flash_init(); omap_serial_init(); usb_musb_init(); boxer_backlight_init(); #if defined(CONFIG_USB_ANDROID) || defined(CONFIG_USB_ANDROID_MODULE) platform_device_register(&usb_mass_storage_device); // Set the device serial number passed in from the bootloader. if (system_serial_high != 0 || system_serial_low != 0) { snprintf(adb_serial_number, sizeof(adb_serial_number), "%08x%08x", system_serial_high, system_serial_low); adb_serial_number[16] = '\0'; android_usb_pdata.serial_number = adb_serial_number; } platform_device_register(&android_usb_device); #endif BUG_ON(!cpu_is_omap3630()); }
static void __init omap_encore_init(void) { omap3_mux_init(board_mux, OMAP_PACKAGE_CBP); omap_hsmmc_init(mmc); omap_i2c_init(); omap_serial_init(); omap_sdrc_init(h8mbx00u0mer0em_sdrc_params, h8mbx00u0mer0em_sdrc_params); usb_musb_init(NULL); omap_board_config = encore_config; omap_board_config_size = ARRAY_SIZE(encore_config); platform_add_devices(encore_devices, ARRAY_SIZE(encore_devices)); }
static void __init omap_ldp_init(void) { omap3_mux_init(board_mux, OMAP_PACKAGE_CBB); ldp_init_smsc911x(); omap_i2c_init(); platform_add_devices(ldp_devices, ARRAY_SIZE(ldp_devices)); omap_ads7846_init(1, 54, 310, NULL); omap_serial_init(); usb_musb_init(NULL); board_nand_init(ldp_nand_partitions, ARRAY_SIZE(ldp_nand_partitions), ZOOM_NAND_CS, 0); omap2_hsmmc_init(mmc); ldp_display_init(); }
void __init zoom_peripherals_init(void) { omap_i2c_init(); platform_add_devices(zoom_board_devices, ARRAY_SIZE(zoom_board_devices)); synaptics_dev_init(); omap_serial_init(omap_serial_platform_data); usb_musb_init(&musb_board_data); enable_board_wakeup_source(); zoom2_cam_init(); #ifdef CONFIG_PANEL_SIL9022 config_hdmi_gpio(); zoom_hdmi_reset_enable(1); #endif }
void __init encore_peripherals_init(void) { platform_add_devices(encore_board_devices, ARRAY_SIZE(encore_board_devices)); omap_i2c_init(); platform_device_register(&omap_vwlan_device); usb_musb_init(NULL); omap_serial_init(); encore_init_charger(); kxtf9_dev_init(); #ifdef CONFIG_BATTERY_MAX17042 max17042_dev_init(); #endif }
static void __init board_init(void) { int num_displays = 0; omap_board_config = board_config; omap_board_config_size = ARRAY_SIZE(board_config); msecure_init(); /* offmode config, before I2C config! */ board_offmode_config(); omap_i2c_init(); /* Fix to prevent VIO leakage on wl127x */ wl127x_vio_leakage_fix(); #if defined CONFIG_OMAP2_DSS if (archos_lcd_panel_init(&board_lcd_device) == 0) { board_dss_devices[num_displays++] = &board_lcd_device; board_dss_data.default_device = &board_lcd_device; } #ifdef CONFIG_OMAP2_DSS_DUMMY board_dss_devices[num_displays++] = &board_dummy_device; board_dss_data.default_device = &board_dummy_device; #endif /* CONFIG_OMAP2_DSS_DUMMY */ board_dss_data.num_devices = num_displays; #endif/* CONFIG_OMAP2_DSS */ platform_add_devices(board_devices, ARRAY_SIZE(board_devices)); omap_cfg_reg(R3_3611_UART2_RX); omap_cfg_reg(Y3_3611_UART1_RX); omap_cfg_reg(AA2_3611_UART1_CTS); omap_serial_init(); usb_musb_init(); archos_accel_init(&board_mma7660fc_pdata); ads7846_dev_init(); archos_mmc1_setup_gpios(&mmc[0], &board_vmmc_ext); twl4030_mmc_init(mmc); board_vmmc_ext_supply.dev = mmc[0].dev; board_vmmc2_supply.dev = mmc[1].dev; archos_audio_gpio_init(); archos_leds_init(); archos_keys_init(); enable_board_wakeup_source(); }
void __init hub_peripherals_init(void) { hub_mmc1_gpio_init(); omap_i2c_init(); #ifdef CONFIG_REGULATOR_LP8720 subpm_lp8720_init(); #endif platform_add_devices(hub_devices, ARRAY_SIZE(hub_devices)); //--[[ LGE_UBIQUIX_MODIFIED_START : [email protected] [2012.03.21] - When added to the board-ku5900-peripherals.c will be rollback.(TBD) //#ifdef CONFIG_TOUCHSCREEN_HUB_SYNAPTICS #if defined(CONFIG_TOUCHSCREEN_HUB_SYNAPTICS) || defined(CONFIG_TOUCHSCREEN_KU5900_SYNAPTICS) hub_synaptics_dev_init(); #endif //--]] LGE_UBIQUIX_MODIFIED_END : [email protected] [2012.03.21]- When added to the board-ku5900-peripherals.c will be rollback.(TBD) /* LGE_CHANGE_S, [email protected], 2011-03-03, Porting for MPLv3.3.3 */ #if defined(CONFIG_MPU_SENSORS_MPU3050) || defined(CONFIG_MPU_SENSORS_MPU3050_MODULE) mpu3050_dev_init(); #endif /* LGE_CHANGE_E, [email protected], 2011-03-03, Porting for MPLv3.3.3 */ omap_serial_board_init(omap_serial_platform_data); #ifdef CONFIG_INPUT_HALLEFFECT_BU52014HV sniper_hall_effect_init(); #endif #ifdef CONFIG_PANEL_HUB hub_display_init(); #endif usb_musb_init(&musb_board_data); enable_board_wakeup_source(); //--[[ LGE_UBIQUIX_MODIFIED_START : [email protected] [2012.03.27] - CAM from GB hub_cam_init(); //--]] LGE_UBIQUIX_MODIFIED_END : [email protected] [2012.03.27] - CAM from GB #ifdef CONFIG_LGE_SPI hub_ipc_spi_init(); #endif //--[[ LGE_UBIQUIX_MODIFIED_START : [email protected] [2012.03.29] - TDMB #ifdef CONFIG_LGE_BROADCAST_TDMB hub_tdmb_spi_init(); #endif //--]] LGE_UBIQUIX_MODIFIED_END : [email protected] [2012.03.29] - TDMB }
static void __init omap_ldp_init(void) { omap_i2c_init(); platform_add_devices(ldp_devices, ARRAY_SIZE(ldp_devices)); omap_board_config = ldp_config; omap_board_config_size = ARRAY_SIZE(ldp_config); ts_gpio = 54; ldp_spi_board_info[0].irq = gpio_to_irq(ts_gpio); spi_register_board_info(ldp_spi_board_info, ARRAY_SIZE(ldp_spi_board_info)); msecure_init(); ads7846_dev_init(); omap_serial_init(); usb_musb_init(); twl4030_mmc_init(mmc); }
static void __init omap_ldp_init(void) { omap_i2c_init(); platform_add_devices(ldp_devices, ARRAY_SIZE(ldp_devices)); ts_gpio = 54; ldp_spi_board_info[0].irq = gpio_to_irq(ts_gpio); spi_register_board_info(ldp_spi_board_info, ARRAY_SIZE(ldp_spi_board_info)); ads7846_dev_init(); omap_serial_init(); usb_musb_init(); twl4030_mmc_init(mmc); /* link regulators to MMC adapters */ ldp_vmmc1_supply.dev = mmc[0].dev; }
void __init zoom_peripherals_init(void) { int ret; omap_zoom_wlan_data.irq = gpio_to_irq(OMAP_ZOOM_WLAN_IRQ_GPIO); ret = wl12xx_set_platform_data(&omap_zoom_wlan_data); if (ret) pr_err("error setting wl12xx data: %d\n", ret); omap_hsmmc_init(mmc); omap_i2c_init(); platform_device_register(&omap_vwlan_device); usb_musb_init(NULL); enable_board_wakeup_source(); omap_serial_init(); }
static void __init omap_zoom2_init(void) { omap_i2c_init(); platform_add_devices(zoom2_devices, ARRAY_SIZE(zoom2_devices)); omap_board_config = zoom2_config; omap_board_config_size = ARRAY_SIZE(zoom2_config); spi_register_board_info(zoom2_spi_board_info, ARRAY_SIZE(zoom2_spi_board_info)); synaptics_dev_init(); msecure_init(); ldp_flash_init(); zoom2_init_quaduart(); omap_serial_init(); usb_musb_init(); config_wlan_gpio(); zoom2_cam_init(); zoom2_lcd_tv_panel_init(); }
static void __init omap_ldp_init(void) { omap3_mux_init(board_mux, OMAP_PACKAGE_CBB); omap_board_config = ldp_config; omap_board_config_size = ARRAY_SIZE(ldp_config); ldp_init_smsc911x(); omap_i2c_init(); platform_add_devices(ldp_devices, ARRAY_SIZE(ldp_devices)); omap_ads7846_init(1, 54, 310, NULL); omap_serial_init(); usb_musb_init(NULL); board_nand_init(ldp_nand_partitions, ARRAY_SIZE(ldp_nand_partitions), ZOOM_NAND_CS, 0); omap2_hsmmc_init(mmc); /* link regulators to MMC adapters */ ldp_vmmc1_supply.dev = mmc[0].dev; }
static void __init omap_ldp_init(void) { regulator_register_fixed(0, dummy_supplies, ARRAY_SIZE(dummy_supplies)); omap3_mux_init(board_mux, OMAP_PACKAGE_CBB); ldp_init_smsc911x(); omap_i2c_init(); platform_add_devices(ldp_devices, ARRAY_SIZE(ldp_devices)); omap_ads7846_init(1, 54, 310, NULL); omap_serial_init(); omap_sdrc_init(NULL, NULL); usb_bind_phy("musb-hdrc.0.auto", 0, "twl4030_usb"); usb_musb_init(NULL); board_nand_init(ldp_nand_partitions, ARRAY_SIZE(ldp_nand_partitions), ZOOM_NAND_CS, 0, nand_default_timings); omap_hsmmc_init(mmc); ldp_display_init(); }
static void __init board_init(void) { int num_displays = 0; omap_board_config = board_config; omap_board_config_size = ARRAY_SIZE(board_config); msecure_init(); /* offmode config, before I2C config! */ board_offmode_config(); omap_i2c_init(); /* Fix to prevent VIO leakage on wl127x */ wl127x_vio_leakage_fix(); #if defined CONFIG_OMAP2_DSS if (archos_lcd_panel_init(&board_lcd_device) == 0) { board_dss_devices[num_displays++] = &board_lcd_device; board_dss_data.default_device = &board_lcd_device; } board_dss_devices[num_displays++] = &board_tv_device; board_dss_data.num_devices = num_displays; panel_tv_init(); #endif platform_add_devices(board_devices, ARRAY_SIZE(board_devices)); omap_cfg_reg(H20_3430_UART3_RX_IRRX); omap_serial_init(); usb_musb_init(); archos_accel_init(&board_mma7660fc_pdata); ads7846_dev_init(); twl4030_mmc_init(mmc); board_vmmc2_supply.dev = mmc[0].dev; archos_audio_gpio_init(); archos_camera_ov7675_init(); archos_leds_init(); archos_keys_init(); enable_board_wakeup_source(); }