setup.c 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. /*
  2. * arch/arm/plat-iop/setup.c
  3. *
  4. * Author: Nicolas Pitre <nico@fluxnic.net>
  5. * Copyright (C) 2001 MontaVista Software, Inc.
  6. * Copyright (C) 2004 Intel Corporation.
  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 version 2 as
  10. * published by the Free Software Foundation.
  11. */
  12. #include <linux/mm.h>
  13. #include <linux/init.h>
  14. #include <asm/mach/map.h>
  15. #include <asm/hardware/iop3xx.h>
  16. /*
  17. * Standard IO mapping for all IOP3xx based systems. Note that
  18. * the IOP3xx OCCDR must be mapped uncached and unbuffered.
  19. */
  20. static struct map_desc iop3xx_std_desc[] __initdata = {
  21. { /* mem mapped registers */
  22. .virtual = IOP3XX_PERIPHERAL_VIRT_BASE,
  23. .pfn = __phys_to_pfn(IOP3XX_PERIPHERAL_PHYS_BASE),
  24. .length = IOP3XX_PERIPHERAL_SIZE,
  25. .type = MT_UNCACHED,
  26. }, { /* PCI IO space */
  27. .virtual = IOP3XX_PCI_LOWER_IO_VA,
  28. .pfn = __phys_to_pfn(IOP3XX_PCI_LOWER_IO_PA),
  29. .length = IOP3XX_PCI_IO_WINDOW_SIZE,
  30. .type = MT_DEVICE,
  31. },
  32. };
  33. void __init iop3xx_map_io(void)
  34. {
  35. iotable_init(iop3xx_std_desc, ARRAY_SIZE(iop3xx_std_desc));
  36. }