int __init p3_sensors_init(void) { p3_light_sensor_init(); p3_ak8975_init(); p3_mpu3050_init(); if(system_rev > 0x0A) { i2c_register_board_info(0, p3_i2c_mpu_sensor_board_info, ARRAY_SIZE(p3_i2c_mpu_sensor_board_info)); } else { i2c_register_board_info(0, p3_i2c_mpu_sensor_board_info_rev05, ARRAY_SIZE(p3_i2c_mpu_sensor_board_info_rev05)); } i2c_register_board_info(12, p3_i2c_compass_sensor_board_info, ARRAY_SIZE(p3_i2c_compass_sensor_board_info)); i2c_register_board_info(5, p3_i2c_light_sensor_board_info, ARRAY_SIZE(p3_i2c_light_sensor_board_info)); #if 0 && defined(CONFIG_HC_32) if (system_rev >= 0x2) { /* rev0.2 */ i2c_register_board_info(0, p3_i2c_mpu_sensor_board_info, ARRAY_SIZE(p3_i2c_mpu_sensor_board_info)); i2c_register_board_info(12, p3_i2c_compass_sensor_board_info, ARRAY_SIZE(p3_i2c_compass_sensor_board_info)); i2c_register_board_info(5, p3_i2c_light_sensor_board_info, ARRAY_SIZE(p3_i2c_light_sensor_board_info)); } else if (system_rev >= 0x1) { /* rev0.1 */ /* AK8975 and MPU3050 are on GEN1_I2C (bus 0) */ /* BH1721FVC is on SW I2c (bus 5) */ i2c_register_board_info(0, p3_i2c_mpu_sensor_board_info, ARRAY_SIZE(p3_i2c_mpu_sensor_board_info)); i2c_register_board_info(0, p3_i2c_compass_sensor_board_info, ARRAY_SIZE(p3_i2c_compass_sensor_board_info)); i2c_register_board_info(5, p3_i2c_light_sensor_board_info, ARRAY_SIZE(p3_i2c_light_sensor_board_info)); } else if (system_rev >= 0x0) { /* rev0.0 */ i2c_register_board_info(3, p3_i2c_compass_sensor_board_info, ARRAY_SIZE(p3_i2c_compass_sensor_board_info)); i2c_register_board_info(5, p3_i2c_light_sensor_board_info, ARRAY_SIZE(p3_i2c_light_sensor_board_info)); } else { /* on older lunchbox, AK8975 and BH1721FVC are both * on CAM_I2C (name in schematic), which is i2c bus 3. * MPU is on GEN1_I2C */ i2c_register_board_info(3, p3_i2c_light_sensor_board_info, ARRAY_SIZE(p3_i2c_light_sensor_board_info)); i2c_register_board_info(3, p3_i2c_compass_sensor_board_info, ARRAY_SIZE(p3_i2c_compass_sensor_board_info)); } #endif return 0; }
int __init p3_sensors_init(void) { p3_light_sensor_init(); p3_ak8975_init(); p3_mpu3050_init(); i2c_register_board_info(0, p3_i2c_mpu_sensor_board_info, ARRAY_SIZE(p3_i2c_mpu_sensor_board_info)); i2c_register_board_info(12, p3_i2c_compass_sensor_board_info, ARRAY_SIZE(p3_i2c_compass_sensor_board_info)); i2c_register_board_info(5, p3_i2c_light_sensor_board_info, ARRAY_SIZE(p3_i2c_light_sensor_board_info)); return 0; }
int __init p3_sensors_init(void) { p3_light_sensor_init(); p3_ak8975_init(); p3_mpu3050_init(); if(system_rev > 0x0A){ i2c_register_board_info(0, p3_i2c_mpu_sensor_board_info, ARRAY_SIZE(p3_i2c_mpu_sensor_board_info)); } else{ i2c_register_board_info(0, p3_i2c_mpu_sensor_board_info_rev05, ARRAY_SIZE(p3_i2c_mpu_sensor_board_info_rev05)); } i2c_register_board_info(12, p3_i2c_compass_sensor_board_info, ARRAY_SIZE(p3_i2c_compass_sensor_board_info)); i2c_register_board_info(5, p3_i2c_light_sensor_board_info, ARRAY_SIZE(p3_i2c_light_sensor_board_info)); return 0; }
void p3_stmpe1801_gpio_setup_sensor(void) { p3_light_sensor_init(); }