board-dt-tegra30.c 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. /*
  2. * arch/arm/mach-tegra/board-dt-tegra30.c
  3. *
  4. * NVIDIA Tegra30 device tree board support
  5. *
  6. * Copyright (C) 2011 NVIDIA Corporation
  7. *
  8. * Derived from:
  9. *
  10. * arch/arm/mach-tegra/board-dt-tegra20.c
  11. *
  12. * Copyright (C) 2010 Secret Lab Technologies, Ltd.
  13. * Copyright (C) 2010 Google, Inc.
  14. *
  15. * This software is licensed under the terms of the GNU General Public
  16. * License version 2, as published by the Free Software Foundation, and
  17. * may be copied, distributed, and modified under those terms.
  18. *
  19. * This program is distributed in the hope that it will be useful,
  20. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  21. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  22. * GNU General Public License for more details.
  23. *
  24. */
  25. #include <linux/clocksource.h>
  26. #include <linux/kernel.h>
  27. #include <linux/of.h>
  28. #include <linux/of_address.h>
  29. #include <linux/of_fdt.h>
  30. #include <linux/of_irq.h>
  31. #include <linux/of_platform.h>
  32. #include <asm/mach/arch.h>
  33. #include "board.h"
  34. #include "common.h"
  35. #include "iomap.h"
  36. static void __init tegra30_dt_init(void)
  37. {
  38. of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
  39. }
  40. static const char *tegra30_dt_board_compat[] = {
  41. "nvidia,tegra30",
  42. NULL
  43. };
  44. DT_MACHINE_START(TEGRA30_DT, "NVIDIA Tegra30 (Flattened Device Tree)")
  45. .smp = smp_ops(tegra_smp_ops),
  46. .map_io = tegra_map_common_io,
  47. .init_early = tegra30_init_early,
  48. .init_irq = tegra_dt_init_irq,
  49. .init_time = clocksource_of_init,
  50. .init_machine = tegra30_dt_init,
  51. .init_late = tegra_init_late,
  52. .restart = tegra_assert_system_reset,
  53. .dt_compat = tegra30_dt_board_compat,
  54. MACHINE_END