mm-imx1.c 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. /*
  2. * author: Sascha Hauer
  3. * Created: april 20th, 2004
  4. * Copyright: Synertronixx GmbH
  5. *
  6. * Common code for i.MX1 machines
  7. *
  8. * This program is free software; you can redistribute it and/or modify
  9. * it under the terms of the GNU General Public License as published by
  10. * the Free Software Foundation; either version 2 of the License, or
  11. * (at your option) any later version.
  12. *
  13. * This program is distributed in the hope that it will be useful,
  14. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  15. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  16. * GNU General Public License for more details.
  17. */
  18. #include <linux/kernel.h>
  19. #include <linux/init.h>
  20. #include <linux/io.h>
  21. #include <asm/mach/map.h>
  22. #include <mach/common.h>
  23. #include <mach/hardware.h>
  24. static struct map_desc imx_io_desc[] __initdata = {
  25. {
  26. .virtual = MX1_IO_BASE_ADDR_VIRT,
  27. .pfn = __phys_to_pfn(MX1_IO_BASE_ADDR),
  28. .length = MX1_IO_SIZE,
  29. .type = MT_DEVICE
  30. }
  31. };
  32. void __init mx1_map_io(void)
  33. {
  34. mxc_set_cpu_type(MXC_CPU_MX1);
  35. mxc_arch_reset_init(MX1_IO_ADDRESS(MX1_WDT_BASE_ADDR));
  36. iotable_init(imx_io_desc, ARRAY_SIZE(imx_io_desc));
  37. }
  38. int imx1_register_gpios(void);
  39. void __init mx1_init_irq(void)
  40. {
  41. mxc_init_irq(MX1_IO_ADDRESS(MX1_AVIC_BASE_ADDR));
  42. imx1_register_gpios();
  43. }