mm.c 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. /*
  2. * Copyright (C) 1999,2000 Arm Limited
  3. * Copyright (C) 2000 Deep Blue Solutions Ltd
  4. * Copyright (C) 2002 Shane Nay (shane@minirl.com)
  5. * Copyright 2004-2005 Freescale Semiconductor, Inc. All Rights Reserved.
  6. * - add MXC specific definitions
  7. * Copyright 2006 Motorola, Inc.
  8. *
  9. * This program is free software; you can redistribute it and/or modify
  10. * it under the terms of the GNU General Public License as published by
  11. * the Free Software Foundation; either version 2 of the License, or
  12. * (at your option) any later version.
  13. *
  14. * This program is distributed in the hope that it will be useful,
  15. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  16. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  17. * GNU General Public License for more details.
  18. */
  19. #include <linux/mm.h>
  20. #include <linux/init.h>
  21. #include <mach/hardware.h>
  22. #include <mach/common.h>
  23. #include <asm/pgtable.h>
  24. #include <asm/mach/map.h>
  25. /*
  26. * This structure defines the MXC memory map.
  27. */
  28. static struct map_desc mxc91231_io_desc[] __initdata = {
  29. imx_map_entry(MXC91231, L2CC, MT_DEVICE),
  30. imx_map_entry(MXC91231, X_MEMC, MT_DEVICE),
  31. imx_map_entry(MXC91231, ROMP, MT_DEVICE),
  32. imx_map_entry(MXC91231, AVIC, MT_DEVICE),
  33. imx_map_entry(MXC91231, AIPS1, MT_DEVICE),
  34. imx_map_entry(MXC91231, SPBA0, MT_DEVICE),
  35. imx_map_entry(MXC91231, SPBA1, MT_DEVICE),
  36. imx_map_entry(MXC91231, AIPS2, MT_DEVICE),
  37. };
  38. /*
  39. * This function initializes the memory map. It is called during the
  40. * system startup to create static physical to virtual memory map for
  41. * the IO modules.
  42. */
  43. void __init mxc91231_map_io(void)
  44. {
  45. iotable_init(mxc91231_io_desc, ARRAY_SIZE(mxc91231_io_desc));
  46. }
  47. void __init mxc91231_init_early(void)
  48. {
  49. mxc_set_cpu_type(MXC_CPU_MXC91231);
  50. }
  51. int mxc91231_register_gpios(void);
  52. void __init mxc91231_init_irq(void)
  53. {
  54. mxc91231_register_gpios();
  55. mxc_init_irq(MXC91231_IO_ADDRESS(MXC91231_AVIC_BASE_ADDR));
  56. }