sh7786.h 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. /*
  2. * SH7786 Pinmux
  3. *
  4. * Copyright (C) 2008, 2009 Renesas Solutions Corp.
  5. * Kuninori Morimoto <morimoto.kuninori@renesas.com>
  6. *
  7. * Based on sh7785.h
  8. *
  9. * This file is subject to the terms and conditions of the GNU General Public
  10. * License. See the file "COPYING" in the main directory of this archive
  11. * for more details.
  12. */
  13. #ifndef __CPU_SH7786_H__
  14. #define __CPU_SH7786_H__
  15. #include <linux/io.h>
  16. enum {
  17. /* PA */
  18. GPIO_PA7, GPIO_PA6, GPIO_PA5, GPIO_PA4,
  19. GPIO_PA3, GPIO_PA2, GPIO_PA1, GPIO_PA0,
  20. /* PB */
  21. GPIO_PB7, GPIO_PB6, GPIO_PB5, GPIO_PB4,
  22. GPIO_PB3, GPIO_PB2, GPIO_PB1, GPIO_PB0,
  23. /* PC */
  24. GPIO_PC7, GPIO_PC6, GPIO_PC5, GPIO_PC4,
  25. GPIO_PC3, GPIO_PC2, GPIO_PC1, GPIO_PC0,
  26. /* PD */
  27. GPIO_PD7, GPIO_PD6, GPIO_PD5, GPIO_PD4,
  28. GPIO_PD3, GPIO_PD2, GPIO_PD1, GPIO_PD0,
  29. /* PE */
  30. GPIO_PE7, GPIO_PE6,
  31. /* PF */
  32. GPIO_PF7, GPIO_PF6, GPIO_PF5, GPIO_PF4,
  33. GPIO_PF3, GPIO_PF2, GPIO_PF1, GPIO_PF0,
  34. /* PG */
  35. GPIO_PG7, GPIO_PG6, GPIO_PG5,
  36. /* PH */
  37. GPIO_PH7, GPIO_PH6, GPIO_PH5, GPIO_PH4,
  38. GPIO_PH3, GPIO_PH2, GPIO_PH1, GPIO_PH0,
  39. /* PJ */
  40. GPIO_PJ7, GPIO_PJ6, GPIO_PJ5, GPIO_PJ4,
  41. GPIO_PJ3, GPIO_PJ2, GPIO_PJ1,
  42. /* DU */
  43. GPIO_FN_DCLKIN, GPIO_FN_DCLKOUT, GPIO_FN_ODDF,
  44. GPIO_FN_VSYNC, GPIO_FN_HSYNC, GPIO_FN_CDE, GPIO_FN_DISP,
  45. GPIO_FN_DR0, GPIO_FN_DG0, GPIO_FN_DB0,
  46. GPIO_FN_DR1, GPIO_FN_DG1, GPIO_FN_DB1,
  47. GPIO_FN_DR2, GPIO_FN_DG2, GPIO_FN_DB2,
  48. GPIO_FN_DR3, GPIO_FN_DG3, GPIO_FN_DB3,
  49. GPIO_FN_DR4, GPIO_FN_DG4, GPIO_FN_DB4,
  50. GPIO_FN_DR5, GPIO_FN_DG5, GPIO_FN_DB5,
  51. /* Eth */
  52. GPIO_FN_ETH_MAGIC, GPIO_FN_ETH_LINK, GPIO_FN_ETH_TX_ER,
  53. GPIO_FN_ETH_TX_EN, GPIO_FN_ETH_MDIO, GPIO_FN_ETH_RX_CLK,
  54. GPIO_FN_ETH_MDC, GPIO_FN_ETH_COL, GPIO_FN_ETH_TX_CLK,
  55. GPIO_FN_ETH_CRS, GPIO_FN_ETH_RX_DV, GPIO_FN_ETH_RX_ER,
  56. GPIO_FN_ETH_TXD3, GPIO_FN_ETH_TXD2, GPIO_FN_ETH_TXD1, GPIO_FN_ETH_TXD0,
  57. GPIO_FN_ETH_RXD3, GPIO_FN_ETH_RXD2, GPIO_FN_ETH_RXD1, GPIO_FN_ETH_RXD0,
  58. /* HSPI */
  59. GPIO_FN_HSPI_CLK, GPIO_FN_HSPI_CS, GPIO_FN_HSPI_RX, GPIO_FN_HSPI_TX,
  60. /* SCIF0 */
  61. GPIO_FN_SCIF0_CTS, GPIO_FN_SCIF0_RTS, GPIO_FN_SCIF0_SCK,
  62. GPIO_FN_SCIF0_RXD, GPIO_FN_SCIF0_TXD,
  63. /* SCIF1 */
  64. GPIO_FN_SCIF1_SCK, GPIO_FN_SCIF1_RXD, GPIO_FN_SCIF1_TXD,
  65. /* SCIF3 */
  66. GPIO_FN_SCIF3_SCK, GPIO_FN_SCIF3_RXD, GPIO_FN_SCIF3_TXD,
  67. /* SCIF4 */
  68. GPIO_FN_SCIF4_SCK, GPIO_FN_SCIF4_RXD, GPIO_FN_SCIF4_TXD,
  69. /* SCIF5 */
  70. GPIO_FN_SCIF5_SCK, GPIO_FN_SCIF5_RXD, GPIO_FN_SCIF5_TXD,
  71. /* LBSC */
  72. GPIO_FN_BREQ, GPIO_FN_IOIS16, GPIO_FN_CE2B, GPIO_FN_CE2A, GPIO_FN_BACK,
  73. /* FLCTL */
  74. GPIO_FN_FALE, GPIO_FN_FRB, GPIO_FN_FSTATUS,
  75. GPIO_FN_FSE, GPIO_FN_FCLE,
  76. /* DMAC */
  77. GPIO_FN_DACK0, GPIO_FN_DREQ0, GPIO_FN_DRAK0,
  78. GPIO_FN_DACK1, GPIO_FN_DREQ1, GPIO_FN_DRAK1,
  79. GPIO_FN_DACK2, GPIO_FN_DREQ2, GPIO_FN_DRAK2,
  80. GPIO_FN_DACK3, GPIO_FN_DREQ3, GPIO_FN_DRAK3,
  81. /* USB */
  82. GPIO_FN_USB_OVC0, GPIO_FN_USB_PENC0,
  83. GPIO_FN_USB_OVC1, GPIO_FN_USB_PENC1,
  84. /* HAC */
  85. GPIO_FN_HAC_RES,
  86. GPIO_FN_HAC0_SDOUT, GPIO_FN_HAC0_SDIN,
  87. GPIO_FN_HAC0_SYNC, GPIO_FN_HAC0_BITCLK,
  88. GPIO_FN_HAC1_SDOUT, GPIO_FN_HAC1_SDIN,
  89. GPIO_FN_HAC1_SYNC, GPIO_FN_HAC1_BITCLK,
  90. /* SSI */
  91. GPIO_FN_SSI0_SDATA, GPIO_FN_SSI0_SCK, GPIO_FN_SSI0_WS, GPIO_FN_SSI0_CLK,
  92. GPIO_FN_SSI1_SDATA, GPIO_FN_SSI1_SCK, GPIO_FN_SSI1_WS, GPIO_FN_SSI1_CLK,
  93. GPIO_FN_SSI2_SDATA, GPIO_FN_SSI2_SCK, GPIO_FN_SSI2_WS,
  94. GPIO_FN_SSI3_SDATA, GPIO_FN_SSI3_SCK, GPIO_FN_SSI3_WS,
  95. /* SDIF1 */
  96. GPIO_FN_SDIF1CMD, GPIO_FN_SDIF1CD, GPIO_FN_SDIF1WP, GPIO_FN_SDIF1CLK,
  97. GPIO_FN_SDIF1D3, GPIO_FN_SDIF1D2, GPIO_FN_SDIF1D1, GPIO_FN_SDIF1D0,
  98. /* SDIF0 */
  99. GPIO_FN_SDIF0CMD, GPIO_FN_SDIF0CD, GPIO_FN_SDIF0WP, GPIO_FN_SDIF0CLK,
  100. GPIO_FN_SDIF0D3, GPIO_FN_SDIF0D2, GPIO_FN_SDIF0D1, GPIO_FN_SDIF0D0,
  101. /* TMU */
  102. GPIO_FN_TCLK,
  103. /* INTC */
  104. GPIO_FN_IRL7, GPIO_FN_IRL6, GPIO_FN_IRL5, GPIO_FN_IRL4,
  105. };
  106. static inline u32 sh7786_mm_sel(void)
  107. {
  108. return __raw_readl((const volatile void __iomem *)0xFC400020) & 0x7;
  109. }
  110. #endif /* __CPU_SH7786_H__ */