} static struct mpu3050gyro_platform_data mpu3050_platform_data = { .irq_flags = (IRQF_TRIGGER_HIGH | IRQF_ONESHOT), .default_poll_rate = 200, .slave_i2c_addr = 0x40, .sample_rate_div = 0x00, .dlpf_fs_sync = 0x10, .interrupt_cfg = (MPU3050_INT_CFG_OPEN | MPU3050_INT_CFG_LATCH_INT_EN | MPU3050_INT_CFG_MPU_RDY_EN | MPU3050_INT_CFG_RAW_RDY_EN), }; /* MPU3050 Gyro End */ static struct i2c_board_info __initdata blaze_tablet_i2c_bus3_sensor_info[] = { { I2C_BOARD_INFO("tmp105", 0x48), }, }; static struct i2c_board_info __initdata blaze_tablet_i2c_bus4_sensor_info[] = { { I2C_BOARD_INFO("bmp085", 0x77), }, { I2C_BOARD_INFO("hmc5843", 0x1e), }, { I2C_BOARD_INFO("bma180_accel", 0x40), .platform_data = &bma180accel_platform_data, }, {
#define MX35PDK_BOARD_REV_1 0 #define MX35PDK_BOARD_REV_2 1 static struct fec_platform_data fec_info = { .xcv_type = MII100, .phy_addr = 0x1F, }; struct imx_nand_platform_data nand_info = { .hw_ecc = 1, .flash_bbt = 1, }; static struct i2c_board_info i2c_devices[] = { { I2C_BOARD_INFO("mc13xxx-i2c", 0x08), }, { I2C_BOARD_INFO("mc9sdz60", 0x69), }, }; /* * Generic display, shipped with the PDK */ static struct fb_videomode CTP_CLAA070LC0ACW = { /* 800x480 @ 60 Hz */ .name = "CTP-CLAA070LC0ACW", .refresh = 60, .xres = 800, .yres = 480, .pixclock = KHZ2PICOS(27000),
.cam_gpio_common_tbl = apq8064_common_cam_gpio, .cam_gpio_common_tbl_size = ARRAY_SIZE(apq8064_common_cam_gpio), .cam_gpio_req_tbl = apq8064_front_cam_gpio, .cam_gpio_req_tbl_size = ARRAY_SIZE(apq8064_front_cam_gpio), .cam_gpio_set_tbl = apq8064_front_cam_gpio_set_tbl, .cam_gpio_set_tbl_size = ARRAY_SIZE(apq8064_front_cam_gpio_set_tbl), }; static struct msm_camera_i2c_conf apq8064_back_cam_i2c_conf = { .use_i2c_mux = 1, .mux_dev = &msm8960_device_i2c_mux_gsbi4, .i2c_mux_mode = MODE_L, }; static struct i2c_board_info msm_act_main_cam_i2c_info = { I2C_BOARD_INFO("msm_actuator", 0x11), }; static struct msm_actuator_info msm_act_main_cam_0_info = { .board_info = &msm_act_main_cam_i2c_info, .cam_name = MSM_ACTUATOR_MAIN_CAM_0, .bus_id = APQ_8064_GSBI4_QUP_I2C_BUS_ID, .vcm_pwd = 0, .vcm_enable = 0, }; static struct i2c_board_info msm_act_main_cam1_i2c_info = { I2C_BOARD_INFO("msm_actuator", 0x18), }; static struct msm_actuator_info msm_act_main_cam_1_info = {
static struct s6000_snd_platform_data s6105_snd_data __initdata = { .wide = 0, .channel_in = 0, .channel_out = 1, .lines_in = 1, .lines_out = 1, .same_rate = 1, }; static struct platform_device *s6105_snd_device; /* temporary i2c device creation until this can be moved into the machine * support file. */ static struct i2c_board_info i2c_device[] = { { I2C_BOARD_INFO("tlv320aic33", 0x18), } }; static int __init s6105_init(void) { int ret; i2c_register_board_info(0, i2c_device, ARRAY_SIZE(i2c_device)); s6105_snd_device = platform_device_alloc("soc-audio", -1); if (!s6105_snd_device) return -ENOMEM; platform_set_drvdata(s6105_snd_device, &snd_soc_card_s6105); platform_device_add_data(s6105_snd_device, &s6105_snd_data, sizeof(s6105_snd_data));
WM8962_GPIO_FN_OPCLK, WM8962_GPIO_FN_DMICCLK, 0, 0x8000 | WM8962_GPIO_FN_DMICDAT, WM8962_GPIO_FN_IRQ, }, .in4_dc_measure = true, }; static struct wm9081_pdata wm9081_pdata __initdata = { .irq_high = false, .irq_cmos = false, }; static const struct i2c_board_info wm1254_devs[] = { { I2C_BOARD_INFO("wm8996", 0x1a), .platform_data = &wm8996_pdata, .irq = GLENFARCLAS_PMIC_IRQ_BASE + WM831X_IRQ_GPIO_2, }, { I2C_BOARD_INFO("wm9081", 0x6c), .platform_data = &wm9081_pdata, }, }; static const struct i2c_board_info wm1255_devs[] = { { I2C_BOARD_INFO("wm5100", 0x1a), .platform_data = &wm5100_pdata, .irq = GLENFARCLAS_PMIC_IRQ_BASE + WM831X_IRQ_GPIO_2, }, { I2C_BOARD_INFO("wm9081", 0x6c), .platform_data = &wm9081_pdata, }, };
}; static struct rmi_sensordata synaptics_sensordata = { .perfunctiondata = &synaptics_perfunctiondata, .rmi_sensor_setup = synaptics_touchpad_setup, }; static struct rmi_i2c_platformdata synaptics_platformdata = { .i2c_address = 0x2c, .irq_type = IORESOURCE_IRQ_LOWLEVEL, .sensordata = &synaptics_sensordata, }; static struct i2c_board_info synaptic_i2c_clearpad3k[] = { { I2C_BOARD_INFO("rmi4_ts", 0x2c), .platform_data = &synaptics_platformdata, }, }; static int synaptics_touchpad_setup(void) { int retval = 0; virtual_key_properties_kobj = kobject_create_and_add("board_properties", NULL); if (virtual_key_properties_kobj) retval = sysfs_create_group(virtual_key_properties_kobj, &virtual_key_properties_attr_group); if (!virtual_key_properties_kobj || retval) pr_err("failed to create ft5202 board_properties\n");
eukrea_mbimxsd_button_data __initconst = { .buttons = eukrea_mbimxsd_gpio_buttons, .nbuttons = ARRAY_SIZE(eukrea_mbimxsd_gpio_buttons), }; static struct platform_device *platform_devices[] __initdata = { &eukrea_mbimxsd_lcd_powerdev, }; static const struct imxuart_platform_data uart_pdata __initconst = { .flags = IMXUART_HAVE_RTSCTS, }; static struct i2c_board_info eukrea_mbimxsd_i2c_devices[] = { { I2C_BOARD_INFO("tlv320aic23", 0x1a), }, }; static const struct imx_ssi_platform_data eukrea_mbimxsd_ssi_pdata __initconst = { .flags = IMX_SSI_SYN | IMX_SSI_NET | IMX_SSI_USE_I2S_SLAVE, }; static struct esdhc_platform_data sd1_pdata = { .cd_gpio = GPIO_SD1CD, .cd_type = ESDHC_CD_GPIO, .wp_type = ESDHC_WP_NONE, }; /*
struct adi9889_i2c_platform_data avng_v3_adi9889_i2c_conf ={ .audio_format = I2S_FORMAT, }; /***************************************************************************** * I2C devices: * ALC5630 codec, address 0x * Battery charger, address 0x?? * G-Sensor, address 0x?? * MCU PIC-16F887, address 0x?? ****************************************************************************/ static struct i2c_board_info __initdata dove_d2plug_i2c_bus0_devs[] = { #if 0 { I2C_BOARD_INFO("rt5630", 0x1f), }, { I2C_BOARD_INFO("rt5623", 0x1a), }, #endif { //I2C_BOARD_INFO("tda19988", 0x70), I2C_BOARD_INFO("tda998X", 0x70), }, { I2C_BOARD_INFO("tda99Xcec", 0x34), }, }; static struct i2c_board_info __initdata dove_d2plug_i2c_bus1_devs[] = {
.name = "sh_mobile_ceu", .id = 1, /* "ceu1" clock */ .num_resources = ARRAY_SIZE(ceu1_resources), .resource = ceu1_resources, .dev = { .platform_data = &sh_mobile_ceu1_info, }, .archdata = { .hwblk_id = HWBLK_CEU1, }, }; /* I2C device */ static struct i2c_board_info i2c0_devices[] = { { I2C_BOARD_INFO("da7210", 0x1a), }, }; static struct i2c_board_info i2c1_devices[] = { { I2C_BOARD_INFO("r2025sd", 0x32), }, { I2C_BOARD_INFO("lis3lv02d", 0x1c), .irq = 33, } }; /* KEYSC */ static struct sh_keysc_info keysc_info = {
/* video1 (= CON1 camera) expect 24MHz */ clk_set_rate(mclk, clk_round_rate(mclk, 24000000)); clk_enable(mclk); gpio_set_value(158, 1); } else { gpio_set_value(158, 0); clk_disable(mclk); } clk_put(mclk); return 0; } static struct i2c_board_info i2c_camera_mt9t111 = { I2C_BOARD_INFO("mt9t112", 0x3d), }; static struct mt9t112_camera_info mt9t111_info = { .divider = { 16, 0, 0, 7, 0, 10, 14, 7, 7 }, }; static struct soc_camera_link mt9t111_link = { .i2c_adapter_id = 0, .bus_id = 0, .board_info = &i2c_camera_mt9t111, .power = mt9t111_power, .priv = &mt9t111_info, }; static struct platform_device camera_device = {
{ tps65010_config_vregs1(TPS_LDO2_ENABLE | TPS_VLDO2_3_0V | TPS_LDO1_ENABLE | TPS_VLDO1_3_0V); return 0; } static struct tps65010_board tps_board = { .base = H2_TPS_GPIO_BASE, .outmask = 0x0f, .setup = tps_setup, }; static struct i2c_board_info __initdata h2_i2c_board_info[] = { { I2C_BOARD_INFO("tps65010", 0x48), .platform_data = &tps_board, }, { I2C_BOARD_INFO("isp1301_omap", 0x2d), }, }; static struct omap_usb_config h2_usb_config __initdata = { /* usb1 has a Mini-AB port and external isp1301 transceiver */ .otg = 2, #if IS_ENABLED(CONFIG_USB_OMAP) .hmc_mode = 19, /* 0:host(off) 1:dev|otg 2:disabled */ /* .hmc_mode = 21,*/ /* 0:host(off) 1:dev(loopback) 2:host(loopback) */ #elif defined(CONFIG_USB_OHCI_HCD) || defined(CONFIG_USB_OHCI_HCD_MODULE) /* needs OTG cable, or NONSTANDARD (B-to-MiniB) */
return 0; } static struct tvp514x_platform_data tvp5146_pdata = { .master = "omap34xxcam", .power_set = tvp5146_power_set, .priv_data_set = tvp5146_set_prv_data, .ifparm = tvp5146_ifparm, /* Some interface dependent params */ .clk_polarity = 0, /* data clocked out on falling edge */ .hs_polarity = 1, /* 0 - Active low, 1- Active high */ .vs_polarity = 1, /* 0 - Active low, 1- Active high */ }; static struct i2c_board_info __initdata tvp5146_i2c_board_info = { I2C_BOARD_INFO("tvp5146m2", 0), .platform_data = &tvp5146_pdata, }; #endif /* #ifdef CONFIG_VIDEO_TVP514X */ /** * @brief omap3evmdc_mdc_config - GPIO configuration for * GPIO 134, 54 and 136 * * @return result of operation - 0 is success */ static int omap3evmdc_mdc_config(void) { if (is_dec_onboard) { /* Enable Video Decoder */
#define BMU_NFC_I2C_BUS_ID 1 static struct lm3630_platform_data lm3630_bmu_platform_data = { .max_brt_led1 = 255, .init_brt_led1 = 128, .pwm_ctrl = PWM_CTRL_DISABLE, .pwm_active = PWM_ACTIVE_HIGH, .bank_a_ctrl = BANK_A_CTRL_LED1, .bank_b_ctrl = BANK_B_CTRL_DISABLE, .pwm_period = 0, }; static struct i2c_board_info __initdata lm3630_i2c_boardinfo[] = { { /* Backlight */ I2C_BOARD_INFO("lm3630_bl", 0x36), .platform_data = &lm3630_bmu_platform_data, }, }; void __init kivu_add_backlight(void) { pr_info("Registering LM3630 BMU with I2C bus #%i\n", BMU_NFC_I2C_BUS_ID); i2c_register_board_info(BMU_NFC_I2C_BUS_ID, lm3630_i2c_boardinfo, ARRAY_SIZE(lm3630_i2c_boardinfo)); }
#define BMI_IOX_I2C_ADDRESS 0x38 // 7-bit address #endif #define IOX_CAM_RESETB 0x80 #define IOX_GREEN_LED 0x40 #define IOX_SER_SYNC 0x20 #define IOX_FLASH_TORCHB 0x10 #define IOX_STROBE 0x08 #define IOX_CAM_STBY 0x04 #define GPIO_SER_EN 1 #define GPIO_FLASHON 2 #define GPIO_REDLED 3 static struct i2c_board_info iox_info = { I2C_BOARD_INFO("CAM_IOX", BMI_IOX_I2C_ADDRESS), }; static struct i2c_board_info mt9t111_info = { I2C_BOARD_INFO(MT9T111_NAME, MT9T111_I2C_ADDR), }; // read byte from I2C IO expander static int ReadByte_IOX (struct i2c_client *client, unsigned char offset, unsigned char *data) { #ifdef REVB int ret = 0; struct i2c_msg rmsg[2]; /* Read Byte with Pointer */
}; static struct platform_device btwilink_device = { .name = "btwilink", .id = -1, }; // camera static struct i2c_board_info __initdata board_i2c_2_boardinfo[] = { // FIXME }; // accel compas static struct i2c_board_info __initdata board_i2c_3_boardinfo[] = { { I2C_BOARD_INFO("mma8453q", 0x1c), .flags = I2C_CLIENT_WAKE, .platform_data = &board_mma8453q_pdata, }, { I2C_BOARD_INFO("akm8975", 0x0C), .flags = I2C_CLIENT_WAKE, .platform_data = &board_akm8975_pdata, }, // FIXME }; static struct cypress_tma340_platform_data board_tma340_pdata = { .flags = CYPRESS_TMA340_FLAGS_INV_Y, };
.deselect_on_exit = 0, }, { .adap_id = 8, .deselect_on_exit = 0, }, }; static struct pca954x_platform_data pca954x_i2cmux_adap_data = { .modes = pca954x_platform_modes, .num_modes = 8, }; static struct i2c_board_info __initdata pca954x_i2c_devices[] = { { I2C_BOARD_INFO("pca9548", 0x74), .platform_data = &pca954x_i2cmux_adap_data, }, }; #if defined(CONFIG_RTC_DRV_PCF8563) static struct i2c_board_info __initdata rtc8564_board_info[] = { { I2C_BOARD_INFO("rtc8564", 0x51), }, }; #endif /*CONFIG_RTC_DRV_PCF8563 */ #if defined(CONFIG_GPIO_PCA953X)
static void dm355leopard_mmcsd_gpios(unsigned gpio) { gpio_request(gpio + 0, "mmc0_ro"); gpio_request(gpio + 1, "mmc0_cd"); gpio_request(gpio + 2, "mmc1_ro"); gpio_request(gpio + 3, "mmc1_cd"); /* we "know" these are input-only so we don't * need to call gpio_direction_input() */ leopard_mmc_gpio = gpio; } static struct i2c_board_info dm355leopard_i2c_info[] = { { I2C_BOARD_INFO("dm355leopard_msp", 0x25), .platform_data = dm355leopard_mmcsd_gpios, /* plus irq */ }, /* { I2C_BOARD_INFO("tlv320aic3x", 0x1b), }, */ /* { I2C_BOARD_INFO("tvp5146", 0x5d), }, */ }; static void __init leopard_init_i2c(void) { davinci_init_i2c(&i2c_pdata); gpio_request(5, "dm355leopard_msp"); gpio_direction_input(5); dm355leopard_i2c_info[0].irq = gpio_to_irq(5); i2c_register_board_info(1, dm355leopard_i2c_info,
static struct platform_device irda_device = { .name = "sh_sir", .num_resources = ARRAY_SIZE(irda_resources), .resource = irda_resources, }; #include <media/ak881x.h> #include <media/sh_vou.h> static struct ak881x_pdata ak881x_pdata = { .flags = AK881X_IF_MODE_SLAVE, }; static struct i2c_board_info ak8813 = { /* With open J18 jumper address is 0x21 */ I2C_BOARD_INFO("ak8813", 0x20), .platform_data = &ak881x_pdata, }; static struct sh_vou_pdata sh_vou_pdata = { .bus_fmt = SH_VOU_BUS_8BIT, .flags = SH_VOU_HSYNC_LOW | SH_VOU_VSYNC_LOW, .board_info = &ak8813, .i2c_adap = 0, }; static struct resource sh_vou_resources[] = { [0] = { .start = 0xfe960000, .end = 0xfe962043, .flags = IORESOURCE_MEM,
.always_on = 1, .boot_on = 1, }, .num_consumer_supplies = 1, .consumer_supplies = &board_vmmc2_supply, }; static struct platform_device board_vmmc2_device = { .name = "reg-fixed-voltage", .id = 1, .dev.platform_data = &board_vmmc2, }; static struct i2c_board_info __initdata board_i2c_bus1_info[] = { { I2C_BOARD_INFO("tps65921", 0x48), .flags = I2C_CLIENT_WAKE, .irq = INT_34XX_SYS_NIRQ, .platform_data = &board_tps65921_pdata, }, }; static void archos_hdmi_power(struct i2c_client *cl, int on_off) { struct device *dev = &cl->dev; struct archos_hdmi_platform_data *pdata = dev->platform_data; if (on_off) gpio_direction_output(pdata->pwr_gpio, 1); else gpio_direction_input(pdata->pwr_gpio);
.codec = &twl6040_codec, .vibra = &twl6040_vibra, .audpwron_gpio = 127, .irq_base = TWL6040_CODEC_IRQ_BASE, }; static struct twl4030_platform_data sdp4430_twldata = { /* Regulators */ .vusim = &sdp4430_vusim, .vaux1 = &sdp4430_vaux1, .vaux3 = &sdp4430_vaux3, }; static struct i2c_board_info __initdata sdp4430_i2c_3_boardinfo[] = { { I2C_BOARD_INFO("tmp105", 0x48), }, { I2C_BOARD_INFO("bh1780", 0x29), }, }; static struct i2c_board_info __initdata sdp4430_i2c_4_boardinfo[] = { { I2C_BOARD_INFO("hmc5843", 0x1e), }, }; static int __init omap4_i2c_init(void) { omap4_pmic_get_config(&sdp4430_twldata, TWL_COMMON_PDATA_USB, TWL_COMMON_REGULATOR_VDAC | TWL_COMMON_REGULATOR_VAUX2 |
static struct platform_device i2c_bfin_twi1_device = { .name = "i2c-bfin-twi", .id = 1, .num_resources = ARRAY_SIZE(bfin_twi1_resource), .resource = bfin_twi1_resource, .dev = { .platform_data = &bfin_twi1_pins, }, }; #endif static struct i2c_board_info __initdata bfin_i2c_board_info0[] = { #if defined(CONFIG_INPUT_ADXL34X_I2C) || defined(CONFIG_INPUT_ADXL34X_I2C_MODULE) { I2C_BOARD_INFO("adxl34x", 0x53), .irq = IRQ_PC5, .platform_data = (void *)&adxl34x_info, }, #endif #if defined(CONFIG_SND_SOC_ADAU1761) || defined(CONFIG_SND_SOC_ADAU1761_MODULE) { I2C_BOARD_INFO("adau1761", 0x38), .platform_data = (void *)&adau1761_info }, #endif #if defined(CONFIG_SND_SOC_SSM2602) || defined(CONFIG_SND_SOC_SSM2602_MODULE) { I2C_BOARD_INFO("ssm2602", 0x1b), }, #endif
{ "i2c2", "pll_p", 3200000, false}, { "i2c3", "pll_p", 3200000, false}, { "i2c4", "pll_p", 3200000, false}, { "i2c5", "pll_p", 3200000, false}, { NULL, NULL, 0, 0}, }; static struct pn544_i2c_platform_data nfc_pdata = { .irq_gpio = TEGRA_GPIO_PX0, .ven_gpio = TEGRA_GPIO_PS7, .firm_gpio = TEGRA_GPIO_PR3, }; static struct i2c_board_info __initdata kai_nfc_board_info[] = { { I2C_BOARD_INFO("pn544", 0x28), .platform_data = &nfc_pdata, .irq = TEGRA_GPIO_TO_IRQ(TEGRA_GPIO_PX0), }, }; static struct tegra_i2c_platform_data kai_i2c1_platform_data = { .adapter_nr = 0, .bus_count = 1, .bus_clk_rate = { 100000, 0 }, .scl_gpio = {TEGRA_GPIO_PC4, 0}, .sda_gpio = {TEGRA_GPIO_PC5, 0}, .arb_recovery = arb_lost_recovery, }; static struct tegra_i2c_platform_data kai_i2c2_platform_data = {
static struct twl4030_platform_data ldp_twldata = { .irq_base = TWL4030_IRQ_BASE, .irq_end = TWL4030_IRQ_END, /* platform_data for children goes here */ .madc = &ldp_madc_data, .usb = &ldp_usb_data, .vmmc1 = &ldp_vmmc1, .gpio = &ldp_gpio_data, .keypad = &ldp_kp_twl4030_data, }; static struct i2c_board_info __initdata ldp_i2c_boardinfo[] = { { I2C_BOARD_INFO("twl4030", 0x48), .flags = I2C_CLIENT_WAKE, .irq = INT_34XX_SYS_NIRQ, .platform_data = &ldp_twldata, }, }; static int __init omap_i2c_init(void) { omap_register_i2c_bus(1, 2600, ldp_i2c_boardinfo, ARRAY_SIZE(ldp_i2c_boardinfo)); omap_register_i2c_bus(2, 400, NULL, 0); omap_register_i2c_bus(3, 400, NULL, 0); return 0; }
.name = "i2c-bfin-twi", .id = 1, .num_resources = ARRAY_SIZE(bfin_twi1_resource), .resource = bfin_twi1_resource, }; #endif #endif static struct i2c_board_info __initdata bfin_i2c_board_info0[] = { }; #if !defined(CONFIG_BF542) /* The BF542 only has 1 TWI */ static struct i2c_board_info __initdata bfin_i2c_board_info1[] = { #if defined(CONFIG_BFIN_TWI_LCD) || defined(CONFIG_BFIN_TWI_LCD_MODULE) { I2C_BOARD_INFO("pcf8574_lcd", 0x22), }, #endif #if defined(CONFIG_INPUT_PCF8574) || defined(CONFIG_INPUT_PCF8574_MODULE) { I2C_BOARD_INFO("pcf8574_keypad", 0x27), .irq = 212, }, #endif #if defined(CONFIG_INPUT_ADXL34X_I2C) || defined(CONFIG_INPUT_ADXL34X_I2C_MODULE) { I2C_BOARD_INFO("adxl34x", 0x53), .irq = IRQ_PC5, .platform_data = (void *)&adxl34x_info, }, #endif
.phy_addr = MV643XX_ETH_PHY_ADDR(0), }; static struct mv643xx_eth_platform_data db78x00_ge01_data = { .phy_addr = MV643XX_ETH_PHY_ADDR(8), }; /* 2 SATA controller supporting HotPlug */ static struct mv_sata_platform_data db78x00_sata_data = { .n_ports = 2, }; static struct i2c_board_info __initdata db78x00_i2c_rtc = { I2C_BOARD_INFO("ds1338", 0x68), }; static unsigned int wxl_mpp_config[] __initdata = { MPP0_GE1_TXCLK, MPP1_GE1_TXCTL, MPP2_GE1_RXCTL, MPP3_GE1_RXCLK, MPP4_GE1_TXD0, MPP5_GE1_TXD1, MPP6_GE1_TXD2, MPP7_GE1_TXD3, MPP8_GE1_RXD0, MPP9_GE1_RXD1, MPP10_GE1_RXD2,
orion5x_pci_disable(); pci_common_init(&kurobox_pro_pci); } return 0; } subsys_initcall(kurobox_pro_pci_init); static struct mv643xx_eth_platform_data kurobox_pro_eth_data = { .phy_addr = MV643XX_ETH_PHY_ADDR(8), }; static struct i2c_board_info __initdata kurobox_pro_i2c_rtc = { I2C_BOARD_INFO("rs5c372a", 0x32), }; static struct mv_sata_platform_data kurobox_pro_sata_data = { .n_ports = 2, }; #define UART1_REG(x) (UART1_VIRT_BASE + ((UART_##x) << 2)) static int kurobox_pro_miconread(unsigned char *buf, int count) { int i; int timeout; for (i = 0; i < count; i++) {
static struct vpfe_subdev_info vpfe_sub_devs[] = { { .name = "tvp5146", .grp_id = 0, .num_inputs = ARRAY_SIZE(tvp5146_inputs), .inputs = tvp5146_inputs, .routes = tvp5146_routes, .can_route = 1, .ccdc_if_params = { .if_type = VPFE_BT656, .hdpol = VPFE_PINPOL_POSITIVE, .vdpol = VPFE_PINPOL_POSITIVE, }, .board_info = { I2C_BOARD_INFO("tvp5146", 0x5d), .platform_data = &tvp5146_pdata, }, }, }; static struct vpfe_config vpfe_cfg = { .num_subdevs = ARRAY_SIZE(vpfe_sub_devs), .i2c_adapter_id = 1, .sub_devs = vpfe_sub_devs, .card_name = "DM6446 EVM", .ccdc = "DM6446 CCDC", }; static struct platform_device rtc_dev = { .name = "rtc_davinci_evm",
.voltage = 2800000, /* 2.8V */ .orient = MXT_DIAGONAL_COUNTER, .irqflags = IRQF_TRIGGER_FALLING, }; static struct s3c2410_platform_i2c i2c3_data __initdata = { .flags = 0, .bus_num = 3, .slave_addr = 0x10, .frequency = 400 * 1000, .sda_delay = 100, }; static struct i2c_board_info i2c3_devs[] __initdata = { { I2C_BOARD_INFO("atmel_mxt_ts", 0x4a), .platform_data = &mxt_platform_data, .irq = IRQ_EINT(4), }, }; static void __init nuri_tsp_init(void) { int gpio; /* TOUCH_INT: XEINT_4 */ gpio = EXYNOS4_GPX0(4); gpio_request(gpio, "TOUCH_INT"); s3c_gpio_cfgpin(gpio, S3C_GPIO_SFN(0xf)); s3c_gpio_setpull(gpio, S3C_GPIO_PULL_UP); }
#include <linux/uaccess.h> //#include <linux/delay.h> #include <linux/interrupt.h> #include <linux/io.h> #include <linux/platform_device.h> /***************************************************************************** * Define *****************************************************************************/ #ifndef CONFIG_FPGA_EARLY_PORTING #define TPS_I2C_BUSNUM I2C_I2C_LCD_BIAS_CHANNEL//for I2C channel 0 #define I2C_ID_NAME "tps65132" #define TPS_ADDR 0x3E /***************************************************************************** * GLobal Variable *****************************************************************************/ static struct i2c_board_info __initdata tps65132_board_info = {I2C_BOARD_INFO(I2C_ID_NAME, TPS_ADDR)}; static struct i2c_client *tps65132_i2c_client = NULL; /***************************************************************************** * Function Prototype *****************************************************************************/ static int tps65132_probe(struct i2c_client *client, const struct i2c_device_id *id); static int tps65132_remove(struct i2c_client *client); /***************************************************************************** * Data Structure *****************************************************************************/ struct tps65132_dev { struct i2c_client *client;
static struct mag_init_info st480_init_info = { .name = "st480", .init = st480_local_init, .uninit = st_remove, }; #define ST480_AXIS_X 0 #define ST480_AXIS_Y 1 #define ST480_AXIS_Z 2 #define ST480_AXES_NUM 3 #define ST480_BUFSIZE 256 /*----------------------------------------------------------------------------*/ static struct i2c_board_info __initdata i2c_st480={ I2C_BOARD_INFO("st480", (0X0c))}; static struct platform_driver st480_sensor_driver; static DECLARE_WAIT_QUEUE_HEAD(open_wq); struct st480_data { struct i2c_client *client; struct mag_hw *hw; struct hwmsen_convert cvt; atomic_t layout; atomic_t trace; }; struct SensorData st480sensordata;