da8xx-dt.c 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. /*
  2. * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
  3. *
  4. * Modified from mach-omap/omap2/board-generic.c
  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. * published by the Free Software Foundation.
  9. */
  10. #include <linux/io.h>
  11. #include <linux/of_irq.h>
  12. #include <linux/of_platform.h>
  13. #include <linux/irqdomain.h>
  14. #include <asm/mach/arch.h>
  15. #include <mach/common.h>
  16. #include "cp_intc.h"
  17. #include <mach/da8xx.h>
  18. static struct of_dev_auxdata da850_auxdata_lookup[] __initdata = {
  19. OF_DEV_AUXDATA("ti,davinci-i2c", 0x01c22000, "i2c_davinci.1", NULL),
  20. OF_DEV_AUXDATA("ti,davinci-i2c", 0x01e28000, "i2c_davinci.2", NULL),
  21. OF_DEV_AUXDATA("ti,davinci-wdt", 0x01c21000, "davinci-wdt", NULL),
  22. OF_DEV_AUXDATA("ti,da830-mmc", 0x01c40000, "da830-mmc.0", NULL),
  23. OF_DEV_AUXDATA("ti,da850-ehrpwm", 0x01f00000, "ehrpwm.0", NULL),
  24. OF_DEV_AUXDATA("ti,da850-ehrpwm", 0x01f02000, "ehrpwm.1", NULL),
  25. OF_DEV_AUXDATA("ti,da850-ecap", 0x01f06000, "ecap.0", NULL),
  26. OF_DEV_AUXDATA("ti,da850-ecap", 0x01f07000, "ecap.1", NULL),
  27. OF_DEV_AUXDATA("ti,da850-ecap", 0x01f08000, "ecap.2", NULL),
  28. OF_DEV_AUXDATA("ti,da830-spi", 0x01c41000, "spi_davinci.0", NULL),
  29. OF_DEV_AUXDATA("ti,da830-spi", 0x01f0e000, "spi_davinci.1", NULL),
  30. OF_DEV_AUXDATA("ns16550a", 0x01c42000, "serial8250.0", NULL),
  31. OF_DEV_AUXDATA("ns16550a", 0x01d0c000, "serial8250.1", NULL),
  32. OF_DEV_AUXDATA("ns16550a", 0x01d0d000, "serial8250.2", NULL),
  33. OF_DEV_AUXDATA("ti,davinci_mdio", 0x01e24000, "davinci_mdio.0", NULL),
  34. OF_DEV_AUXDATA("ti,davinci-dm6467-emac", 0x01e20000, "davinci_emac.1",
  35. NULL),
  36. OF_DEV_AUXDATA("ti,da830-mcasp-audio", 0x01d00000, "davinci-mcasp.0", NULL),
  37. OF_DEV_AUXDATA("ti,da850-aemif", 0x68000000, "ti-aemif", NULL),
  38. OF_DEV_AUXDATA("ti,da850-tilcdc", 0x01e13000, "da8xx_lcdc.0", NULL),
  39. OF_DEV_AUXDATA("ti,da830-ohci", 0x01e25000, "ohci-da8xx", NULL),
  40. OF_DEV_AUXDATA("ti,da830-musb", 0x01e00000, "musb-da8xx", NULL),
  41. OF_DEV_AUXDATA("ti,da830-usb-phy", 0x01c1417c, "da8xx-usb-phy", NULL),
  42. {}
  43. };
  44. #ifdef CONFIG_ARCH_DAVINCI_DA850
  45. static void __init da850_init_machine(void)
  46. {
  47. int ret;
  48. ret = da8xx_register_usb20_phy_clk(false);
  49. if (ret)
  50. pr_warn("%s: registering USB 2.0 PHY clock failed: %d",
  51. __func__, ret);
  52. ret = da8xx_register_usb11_phy_clk(false);
  53. if (ret)
  54. pr_warn("%s: registering USB 1.1 PHY clock failed: %d",
  55. __func__, ret);
  56. of_platform_default_populate(NULL, da850_auxdata_lookup, NULL);
  57. davinci_pm_init();
  58. }
  59. static const char *const da850_boards_compat[] __initconst = {
  60. "enbw,cmc",
  61. "ti,da850-lcdk",
  62. "ti,da850-evm",
  63. "ti,da850",
  64. NULL,
  65. };
  66. DT_MACHINE_START(DA850_DT, "Generic DA850/OMAP-L138/AM18x")
  67. .map_io = da850_init,
  68. .init_time = davinci_timer_init,
  69. .init_machine = da850_init_machine,
  70. .dt_compat = da850_boards_compat,
  71. .init_late = davinci_init_late,
  72. .restart = da8xx_restart,
  73. MACHINE_END
  74. #endif