sh73a0.h 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. #ifndef __ASM_SH73A0_H__
  2. #define __ASM_SH73A0_H__
  3. #define GPIO_NR 310
  4. /* DMA slave IDs */
  5. enum {
  6. SHDMA_SLAVE_INVALID,
  7. SHDMA_SLAVE_SCIF0_TX,
  8. SHDMA_SLAVE_SCIF0_RX,
  9. SHDMA_SLAVE_SCIF1_TX,
  10. SHDMA_SLAVE_SCIF1_RX,
  11. SHDMA_SLAVE_SCIF2_TX,
  12. SHDMA_SLAVE_SCIF2_RX,
  13. SHDMA_SLAVE_SCIF3_TX,
  14. SHDMA_SLAVE_SCIF3_RX,
  15. SHDMA_SLAVE_SCIF4_TX,
  16. SHDMA_SLAVE_SCIF4_RX,
  17. SHDMA_SLAVE_SCIF5_TX,
  18. SHDMA_SLAVE_SCIF5_RX,
  19. SHDMA_SLAVE_SCIF6_TX,
  20. SHDMA_SLAVE_SCIF6_RX,
  21. SHDMA_SLAVE_SCIF7_TX,
  22. SHDMA_SLAVE_SCIF7_RX,
  23. SHDMA_SLAVE_SCIF8_TX,
  24. SHDMA_SLAVE_SCIF8_RX,
  25. SHDMA_SLAVE_SDHI0_TX,
  26. SHDMA_SLAVE_SDHI0_RX,
  27. SHDMA_SLAVE_SDHI1_TX,
  28. SHDMA_SLAVE_SDHI1_RX,
  29. SHDMA_SLAVE_SDHI2_TX,
  30. SHDMA_SLAVE_SDHI2_RX,
  31. SHDMA_SLAVE_MMCIF_TX,
  32. SHDMA_SLAVE_MMCIF_RX,
  33. SHDMA_SLAVE_FSI2A_TX,
  34. SHDMA_SLAVE_FSI2A_RX,
  35. SHDMA_SLAVE_FSI2B_TX,
  36. SHDMA_SLAVE_FSI2B_RX,
  37. SHDMA_SLAVE_FSI2C_TX,
  38. SHDMA_SLAVE_FSI2C_RX,
  39. SHDMA_SLAVE_FSI2D_RX,
  40. };
  41. /*
  42. * SH73A0 IRQ LOCATION TABLE
  43. *
  44. * 416 -----------------------------------------
  45. * IRQ0-IRQ15
  46. * 431 -----------------------------------------
  47. * ...
  48. * 448 -----------------------------------------
  49. * sh73a0-intcs
  50. * sh73a0-intca-irq-pins
  51. * 680 -----------------------------------------
  52. * ...
  53. * 700 -----------------------------------------
  54. * sh73a0-pint0
  55. * 731 -----------------------------------------
  56. * 732 -----------------------------------------
  57. * sh73a0-pint1
  58. * 739 -----------------------------------------
  59. * ...
  60. * 800 -----------------------------------------
  61. * IRQ16-IRQ31
  62. * 815 -----------------------------------------
  63. * ...
  64. * 928 -----------------------------------------
  65. * sh73a0-intca-irq-pins
  66. * 943 -----------------------------------------
  67. */
  68. /* PINT interrupts are located at Linux IRQ 700 and up */
  69. #define SH73A0_PINT0_IRQ(irq) ((irq) + 700)
  70. #define SH73A0_PINT1_IRQ(irq) ((irq) + 732)
  71. extern void sh73a0_init_delay(void);
  72. extern void sh73a0_init_irq(void);
  73. extern void sh73a0_init_irq_dt(void);
  74. extern void sh73a0_map_io(void);
  75. extern void sh73a0_earlytimer_init(void);
  76. extern void sh73a0_add_early_devices(void);
  77. extern void sh73a0_add_standard_devices(void);
  78. extern void sh73a0_add_standard_devices_dt(void);
  79. extern void sh73a0_clock_init(void);
  80. extern void sh73a0_pinmux_init(void);
  81. extern void sh73a0_pm_init(void);
  82. extern struct clk sh73a0_extal1_clk;
  83. extern struct clk sh73a0_extal2_clk;
  84. extern struct clk sh73a0_extcki_clk;
  85. extern struct clk sh73a0_extalr_clk;
  86. extern struct smp_operations sh73a0_smp_ops;
  87. #endif /* __ASM_SH73A0_H__ */