i2c.c 870 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. /*
  2. * arch/arm/mach-u300/i2c.c
  3. *
  4. * Copyright (C) 2009 ST-Ericsson AB
  5. * License terms: GNU General Public License (GPL) version 2
  6. *
  7. * Register board i2c devices
  8. * Author: Linus Walleij <linus.walleij@stericsson.com>
  9. */
  10. #include <linux/kernel.h>
  11. #include <linux/i2c.h>
  12. #include <mach/irqs.h>
  13. static struct i2c_board_info __initdata bus0_i2c_board_info[] = {
  14. {
  15. .type = "ab3100",
  16. .addr = 0x48,
  17. .irq = IRQ_U300_IRQ0_EXT,
  18. },
  19. };
  20. static struct i2c_board_info __initdata bus1_i2c_board_info[] = {
  21. #ifdef CONFIG_MACH_U300_BS335
  22. {
  23. .type = "fwcam",
  24. .addr = 0x10,
  25. },
  26. {
  27. .type = "fwcam",
  28. .addr = 0x5d,
  29. },
  30. #else
  31. { },
  32. #endif
  33. };
  34. void __init u300_i2c_register_board_devices(void)
  35. {
  36. i2c_register_board_info(0, bus0_i2c_board_info,
  37. ARRAY_SIZE(bus0_i2c_board_info));
  38. i2c_register_board_info(1, bus1_i2c_board_info,
  39. ARRAY_SIZE(bus1_i2c_board_info));
  40. }