config.c 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. /***************************************************************************/
  2. /*
  3. * linux/arch/m68knommu/platform/523x/config.c
  4. *
  5. * Sub-architcture dependant initialization code for the Freescale
  6. * 523x CPUs.
  7. *
  8. * Copyright (C) 1999-2005, Greg Ungerer (gerg@snapgear.com)
  9. * Copyright (C) 2001-2003, SnapGear Inc. (www.snapgear.com)
  10. */
  11. /***************************************************************************/
  12. #include <linux/kernel.h>
  13. #include <linux/sched.h>
  14. #include <linux/param.h>
  15. #include <linux/init.h>
  16. #include <linux/interrupt.h>
  17. #include <asm/dma.h>
  18. #include <asm/traps.h>
  19. #include <asm/machdep.h>
  20. #include <asm/coldfire.h>
  21. #include <asm/mcfsim.h>
  22. #include <asm/mcfdma.h>
  23. /***************************************************************************/
  24. void coldfire_pit_tick(void);
  25. void coldfire_pit_init(irq_handler_t handler);
  26. unsigned long coldfire_pit_offset(void);
  27. void coldfire_reset(void);
  28. /***************************************************************************/
  29. /*
  30. * DMA channel base address table.
  31. */
  32. unsigned int dma_base_addr[MAX_M68K_DMA_CHANNELS] = {
  33. MCF_MBAR + MCFDMA_BASE0,
  34. };
  35. unsigned int dma_device_address[MAX_M68K_DMA_CHANNELS];
  36. /***************************************************************************/
  37. void mcf_disableall(void)
  38. {
  39. *((volatile unsigned long *) (MCF_IPSBAR + MCFICM_INTC0 + MCFINTC_IMRH)) = 0xffffffff;
  40. *((volatile unsigned long *) (MCF_IPSBAR + MCFICM_INTC0 + MCFINTC_IMRL)) = 0xffffffff;
  41. }
  42. /***************************************************************************/
  43. void mcf_autovector(unsigned int vec)
  44. {
  45. /* Everything is auto-vectored on the 5272 */
  46. }
  47. /***************************************************************************/
  48. void config_BSP(char *commandp, int size)
  49. {
  50. mcf_disableall();
  51. mach_sched_init = coldfire_pit_init;
  52. mach_tick = coldfire_pit_tick;
  53. mach_gettimeoffset = coldfire_pit_offset;
  54. mach_reset = coldfire_reset;
  55. }
  56. /***************************************************************************/