pxa-dt.c 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. /*
  2. * linux/arch/arm/mach-pxa/pxa-dt.c
  3. *
  4. * Copyright (C) 2012 Daniel Mack
  5. *
  6. * This program is free software; you can redistribute it and/or modify
  7. * it under the terms of the GNU General Public License version 2 as
  8. * publishhed by the Free Software Foundation.
  9. */
  10. #include <linux/irq.h>
  11. #include <linux/irqdomain.h>
  12. #include <linux/of_irq.h>
  13. #include <linux/of_platform.h>
  14. #include <asm/mach/arch.h>
  15. #include <asm/mach/time.h>
  16. #include <mach/irqs.h>
  17. #include <mach/pxa3xx.h>
  18. #include "generic.h"
  19. #ifdef CONFIG_PXA3xx
  20. extern void __init pxa3xx_dt_init_irq(void);
  21. static const struct of_dev_auxdata pxa3xx_auxdata_lookup[] __initconst = {
  22. OF_DEV_AUXDATA("mrvl,pxa-uart", 0x40100000, "pxa2xx-uart.0", NULL),
  23. OF_DEV_AUXDATA("mrvl,pxa-uart", 0x40200000, "pxa2xx-uart.1", NULL),
  24. OF_DEV_AUXDATA("mrvl,pxa-uart", 0x40700000, "pxa2xx-uart.2", NULL),
  25. OF_DEV_AUXDATA("mrvl,pxa-uart", 0x41600000, "pxa2xx-uart.3", NULL),
  26. OF_DEV_AUXDATA("marvell,pxa-mmc", 0x41100000, "pxa2xx-mci.0", NULL),
  27. OF_DEV_AUXDATA("mrvl,pxa-gpio", 0x40e00000, "pxa-gpio", NULL),
  28. OF_DEV_AUXDATA("marvell,pxa-ohci", 0x4c000000, "pxa27x-ohci", NULL),
  29. OF_DEV_AUXDATA("mrvl,pxa-i2c", 0x40301680, "pxa2xx-i2c.0", NULL),
  30. OF_DEV_AUXDATA("mrvl,pwri2c", 0x40f500c0, "pxa3xx-i2c.1", NULL),
  31. OF_DEV_AUXDATA("marvell,pxa3xx-nand", 0x43100000, "pxa3xx-nand", NULL),
  32. {}
  33. };
  34. static void __init pxa3xx_dt_init(void)
  35. {
  36. of_platform_populate(NULL, of_default_bus_match_table,
  37. pxa3xx_auxdata_lookup, NULL);
  38. }
  39. static const char *pxa3xx_dt_board_compat[] __initdata = {
  40. "marvell,pxa300",
  41. "marvell,pxa310",
  42. "marvell,pxa320",
  43. NULL,
  44. };
  45. #endif
  46. #ifdef CONFIG_PXA3xx
  47. DT_MACHINE_START(PXA_DT, "Marvell PXA3xx (Device Tree Support)")
  48. .map_io = pxa3xx_map_io,
  49. .init_irq = pxa3xx_dt_init_irq,
  50. .handle_irq = pxa3xx_handle_irq,
  51. .init_time = pxa_timer_init,
  52. .restart = pxa_restart,
  53. .init_machine = pxa3xx_dt_init,
  54. .dt_compat = pxa3xx_dt_board_compat,
  55. MACHINE_END
  56. #endif