int __init cardhu_sensors_init(void) { int err; tegra_get_board_info(&board_info); cardhu_camera_init(); cam_tca6416_init(); i2c_register_board_info(2, cardhu_i2c1_board_info, ARRAY_SIZE(cardhu_i2c1_board_info)); i2c_register_board_info(2, cardhu_i2c1_board_info_al3010, ARRAY_SIZE(cardhu_i2c1_board_info_al3010)); #ifdef CONFIG_I2C_MUX_PCA954x i2c_register_board_info(2, cardhu_i2c3_board_info, ARRAY_SIZE(cardhu_i2c3_board_info)); i2c_register_board_info(2, cardhu_i2c_board_info_tps61050, ARRAY_SIZE(cardhu_i2c_board_info_tps61050)); /* Left camera is on PCA954x's I2C BUS0, Right camera is on BUS1 & * Front camera is on BUS2 */ i2c_register_board_info(PCA954x_I2C_BUS0, cardhu_i2c6_board_info, ARRAY_SIZE(cardhu_i2c6_board_info)); i2c_register_board_info(PCA954x_I2C_BUS1, cardhu_i2c7_board_info, ARRAY_SIZE(cardhu_i2c7_board_info)); i2c_register_board_info(PCA954x_I2C_BUS2, cardhu_i2c8_board_info, ARRAY_SIZE(cardhu_i2c8_board_info)); #endif //+ m6mo rear camera #ifdef CONFIG_VIDEO_YUV pr_info("fjm6mo i2c_register_board_info"); i2c_register_board_info(2, rear_sensor_i2c3_board_info, ARRAY_SIZE(rear_sensor_i2c3_board_info)); /* Front Camera mi1040 + */ pr_info("mi1040 i2c_register_board_info"); i2c_register_board_info(2, front_sensor_i2c2_board_info, ARRAY_SIZE(front_sensor_i2c2_board_info)); /* Front Camera mi1040 - */ #endif /* CONFIG_VIDEO_YUV */ //- pmu_tca6416_init(); if (board_info.board_id == BOARD_E1291) i2c_register_board_info(4, cardhu_i2c4_bq27510_board_info, ARRAY_SIZE(cardhu_i2c4_bq27510_board_info)); else i2c_register_board_info(4, cardhu_i2c4_pad_bat_board_info, ARRAY_SIZE(cardhu_i2c4_pad_bat_board_info)); i2c_register_board_info(2, cardhu_i2c2_isl_board_info, ARRAY_SIZE(cardhu_i2c2_isl_board_info)); #ifdef CONFIG_MPU_SENSORS_MPU3050 cardhu_mpuirq_init(); #endif err = cardhu_nct1008_init(); if (err) return err; i2c_register_board_info(4, cardhu_i2c4_nct1008_board_info, ARRAY_SIZE(cardhu_i2c4_nct1008_board_info)); return 0; }
int __init cardhu_sensors_init(void) { int err; tegra_get_board_info(&board_info); cardhu_camera_init(); cam_tca6416_init(); i2c_register_board_info(2, cardhu_i2c3_board_info, ARRAY_SIZE(cardhu_i2c3_board_info)); i2c_register_board_info(2, cardhu_i2c_board_info_tps61050, ARRAY_SIZE(cardhu_i2c_board_info_tps61050)); #ifdef CONFIG_VIDEO_OV14810 /* This is disabled by default; To enable this change Kconfig; * there should be some way to detect dynamically which board * is connected (E1211/E1214), till that time sensor selection * logic is static; * e1214 corresponds to ov14810 sensor */ i2c_register_board_info(2, cardhu_i2c_board_info_e1214, ARRAY_SIZE(cardhu_i2c_board_info_e1214)); #else /* Left camera is on PCA954x's I2C BUS0, Right camera is on BUS1 & * Front camera is on BUS2 */ if (board_info.board_id != BOARD_PM269) { i2c_register_board_info(PCA954x_I2C_BUS0, cardhu_i2c6_board_info, ARRAY_SIZE(cardhu_i2c6_board_info)); i2c_register_board_info(PCA954x_I2C_BUS1, cardhu_i2c7_board_info, ARRAY_SIZE(cardhu_i2c7_board_info)); } else { i2c_register_board_info(PCA954x_I2C_BUS0, pm269_i2c6_board_info, ARRAY_SIZE(pm269_i2c6_board_info)); i2c_register_board_info(PCA954x_I2C_BUS1, pm269_i2c7_board_info, ARRAY_SIZE(pm269_i2c7_board_info)); } i2c_register_board_info(PCA954x_I2C_BUS2, cardhu_i2c8_board_info, ARRAY_SIZE(cardhu_i2c8_board_info)); #endif pmu_tca6416_init(); if (board_info.board_id == BOARD_E1291) i2c_register_board_info(4, cardhu_i2c4_bq27510_board_info, ARRAY_SIZE(cardhu_i2c4_bq27510_board_info)); if (board_info.sku == BOARD_SKU_B11) i2c_register_board_info(2, cardhu_i2c2_ltr_board_info, ARRAY_SIZE(cardhu_i2c2_ltr_board_info)); else i2c_register_board_info(2, cardhu_i2c2_isl_board_info, ARRAY_SIZE(cardhu_i2c2_isl_board_info)); err = cardhu_nct1008_init(); if (err) return err; i2c_register_board_info(4, cardhu_i2c4_nct1008_board_info, ARRAY_SIZE(cardhu_i2c4_nct1008_board_info)); mpuirq_init(); return 0; }
int __init cardhu_sensors_init(void) { int err; tegra_get_board_info(&board_info); cardhu_camera_init(); cam_tca6416_init(); i2c_register_board_info(2, cardhu_i2c1_board_info_al3010, ARRAY_SIZE(cardhu_i2c1_board_info_al3010)); #ifdef CONFIG_I2C_MUX_PCA954x i2c_register_board_info(2, cardhu_i2c3_board_info, ARRAY_SIZE(cardhu_i2c3_board_info)); i2c_register_board_info(2, cardhu_i2c_board_info_tps61050, ARRAY_SIZE(cardhu_i2c_board_info_tps61050)); //#ifdef CONFIG_VIDEO_OV14810 /* This is disabled by default; To enable this change Kconfig; * there should be some way to detect dynamically which board * is connected (E1211/E1214), till that time sensor selection * logic is static; * e1214 corresponds to ov14810 sensor */ i2c_register_board_info(2, cardhu_i2c_board_info_e1214, ARRAY_SIZE(cardhu_i2c_board_info_e1214)); //#else /* Left camera is on PCA954x's I2C BUS0, Right camera is on BUS1 & * Front camera is on BUS2 */ i2c_register_board_info(PCA954x_I2C_BUS0, cardhu_i2c6_board_info, ARRAY_SIZE(cardhu_i2c6_board_info)); i2c_register_board_info(PCA954x_I2C_BUS1, cardhu_i2c7_board_info, ARRAY_SIZE(cardhu_i2c7_board_info)); i2c_register_board_info(PCA954x_I2C_BUS2, cardhu_i2c8_board_info, ARRAY_SIZE(cardhu_i2c8_board_info)); #endif //+ m6mo rear camera #ifdef CONFIG_VIDEO_YUV pr_info("fjm6mo i2c_register_board_info"); i2c_register_board_info(2, rear_sensor_i2c3_board_info, ARRAY_SIZE(rear_sensor_i2c3_board_info)); /* Front Camera mi1040 + */ pr_info("mi1040 i2c_register_board_info"); i2c_register_board_info(2, front_sensor_i2c2_board_info, ARRAY_SIZE(front_sensor_i2c2_board_info)); /* Front Camera mi1040 - */ /* Back Camera ov5640 + */ pr_info("ov5640 i2c_register_board_info"); i2c_register_board_info(2, ov5640_i2c2_board_info, ARRAY_SIZE(ov5640_i2c2_board_info)); /* Back Camera ov5640 - */ #endif /* CONFIG_VIDEO_YUV */ //- pmu_tca6416_init(); if (board_info.board_id == BOARD_E1291) i2c_register_board_info(4, cardhu_i2c4_bq27510_board_info, ARRAY_SIZE(cardhu_i2c4_bq27510_board_info)); else i2c_register_board_info(4, cardhu_i2c4_pad_bat_board_info, ARRAY_SIZE(cardhu_i2c4_pad_bat_board_info)); err = cardhu_nct1008_init(); if (err) return err; i2c_register_board_info(4, cardhu_i2c4_nct1008_board_info, ARRAY_SIZE(cardhu_i2c4_nct1008_board_info)); #ifdef CONFIG_MPU_SENSORS_MPU3050 mpuirq_init(); #endif return 0; }