mach-bug.c 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. /*
  2. * Copyright (C) 2000 Deep Blue Solutions Ltd
  3. * Copyright (C) 2002 Shane Nay (shane@minirl.com)
  4. * Copyright 2005-2007 Freescale Semiconductor, Inc. All Rights Reserved.
  5. * Copyright 2011 Denis 'GNUtoo' Carikli <GNUtoo@no-log.org>
  6. *
  7. * This program is free software; you can redistribute it and/or modify
  8. * it under the terms of the GNU General Public License as published by
  9. * the Free Software Foundation; either version 2 of the License, or
  10. * (at your option) any later version.
  11. *
  12. * This program is distributed in the hope that it will be useful,
  13. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  15. * GNU General Public License for more details.
  16. */
  17. #include <linux/kernel.h>
  18. #include <linux/init.h>
  19. #include <linux/platform_device.h>
  20. #include <mach/iomux-mx3.h>
  21. #include <mach/hardware.h>
  22. #include <mach/common.h>
  23. #include <asm/mach/time.h>
  24. #include <asm/mach/arch.h>
  25. #include <asm/mach-types.h>
  26. #include "devices-imx31.h"
  27. static const struct imxuart_platform_data uart_pdata __initconst = {
  28. .flags = IMXUART_HAVE_RTSCTS,
  29. };
  30. static const unsigned int bug_pins[] __initconst = {
  31. MX31_PIN_PC_RST__CTS5,
  32. MX31_PIN_PC_VS2__RTS5,
  33. MX31_PIN_PC_BVD2__TXD5,
  34. MX31_PIN_PC_BVD1__RXD5,
  35. };
  36. static void __init bug_board_init(void)
  37. {
  38. mxc_iomux_setup_multiple_pins(bug_pins,
  39. ARRAY_SIZE(bug_pins), "uart-4");
  40. imx31_add_imx_uart4(&uart_pdata);
  41. }
  42. static void __init bug_timer_init(void)
  43. {
  44. mx31_clocks_init(26000000);
  45. }
  46. static struct sys_timer bug_timer = {
  47. .init = bug_timer_init,
  48. };
  49. MACHINE_START(BUG, "BugLabs BUGBase")
  50. .map_io = mx31_map_io,
  51. .init_early = imx31_init_early,
  52. .init_irq = mx31_init_irq,
  53. .timer = &bug_timer,
  54. .init_machine = bug_board_init,
  55. MACHINE_END