board-dt-8960.c 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. /* Copyright (c) 2012, The Linux Foundation. All rights reserved.
  2. *
  3. * This program is free software; you can redistribute it and/or modify
  4. * it under the terms of the GNU General Public License version 2 and
  5. * only version 2 as published by the Free Software Foundation.
  6. *
  7. * This program is distributed in the hope that it will be useful,
  8. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  9. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  10. * GNU General Public License for more details.
  11. */
  12. #include <linux/init.h>
  13. #include <linux/of_irq.h>
  14. #include <linux/of_platform.h>
  15. #include <asm/hardware/gic.h>
  16. #include <asm/mach/arch.h>
  17. #include "common.h"
  18. #include "core.h"
  19. static const struct of_device_id msm_dt_gic_match[] __initconst = {
  20. { .compatible = "qcom,msm-qgic2", .data = gic_of_init },
  21. { }
  22. };
  23. static void __init msm_dt_init_irq(void)
  24. {
  25. of_irq_init(msm_dt_gic_match);
  26. }
  27. static void __init msm_dt_init(void)
  28. {
  29. of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
  30. }
  31. static const char * const msm8960_dt_match[] __initconst = {
  32. "qcom,msm8960-cdp",
  33. NULL
  34. };
  35. DT_MACHINE_START(MSM8960_DT, "Qualcomm MSM (Flattened Device Tree)")
  36. .smp = smp_ops(msm_smp_ops),
  37. .map_io = msm_map_msm8960_io,
  38. .init_irq = msm_dt_init_irq,
  39. .timer = &msm_dt_timer,
  40. .init_machine = msm_dt_init,
  41. .dt_compat = msm8960_dt_match,
  42. .handle_irq = gic_handle_irq,
  43. MACHINE_END