16a0abce4SKuninori Morimoto /* SPDX-License-Identifier: GPL-2.0
26a0abce4SKuninori Morimoto *
355ba99ebSKuninori Morimoto * SH7786 Pinmux
455ba99ebSKuninori Morimoto *
555ba99ebSKuninori Morimoto * Copyright (C) 2008, 2009 Renesas Solutions Corp.
655ba99ebSKuninori Morimoto * Kuninori Morimoto <morimoto.kuninori@renesas.com>
755ba99ebSKuninori Morimoto *
855ba99ebSKuninori Morimoto * Based on sh7785.h
955ba99ebSKuninori Morimoto */
1055ba99ebSKuninori Morimoto
1155ba99ebSKuninori Morimoto #ifndef __CPU_SH7786_H__
1255ba99ebSKuninori Morimoto #define __CPU_SH7786_H__
1355ba99ebSKuninori Morimoto
14bc05aa6eSThomas Petazzoni #include <linux/io.h>
15bc05aa6eSThomas Petazzoni
1655ba99ebSKuninori Morimoto enum {
1755ba99ebSKuninori Morimoto /* PA */
1855ba99ebSKuninori Morimoto GPIO_PA7, GPIO_PA6, GPIO_PA5, GPIO_PA4,
1955ba99ebSKuninori Morimoto GPIO_PA3, GPIO_PA2, GPIO_PA1, GPIO_PA0,
2055ba99ebSKuninori Morimoto
2155ba99ebSKuninori Morimoto /* PB */
2255ba99ebSKuninori Morimoto GPIO_PB7, GPIO_PB6, GPIO_PB5, GPIO_PB4,
2355ba99ebSKuninori Morimoto GPIO_PB3, GPIO_PB2, GPIO_PB1, GPIO_PB0,
2455ba99ebSKuninori Morimoto
2555ba99ebSKuninori Morimoto /* PC */
2655ba99ebSKuninori Morimoto GPIO_PC7, GPIO_PC6, GPIO_PC5, GPIO_PC4,
2755ba99ebSKuninori Morimoto GPIO_PC3, GPIO_PC2, GPIO_PC1, GPIO_PC0,
2855ba99ebSKuninori Morimoto
2955ba99ebSKuninori Morimoto /* PD */
3055ba99ebSKuninori Morimoto GPIO_PD7, GPIO_PD6, GPIO_PD5, GPIO_PD4,
3155ba99ebSKuninori Morimoto GPIO_PD3, GPIO_PD2, GPIO_PD1, GPIO_PD0,
3255ba99ebSKuninori Morimoto
3355ba99ebSKuninori Morimoto /* PE */
34cc88ec48SLaurent Pinchart GPIO_PE7, GPIO_PE6,
3555ba99ebSKuninori Morimoto
3655ba99ebSKuninori Morimoto /* PF */
3755ba99ebSKuninori Morimoto GPIO_PF7, GPIO_PF6, GPIO_PF5, GPIO_PF4,
3855ba99ebSKuninori Morimoto GPIO_PF3, GPIO_PF2, GPIO_PF1, GPIO_PF0,
3955ba99ebSKuninori Morimoto
4055ba99ebSKuninori Morimoto /* PG */
41cc88ec48SLaurent Pinchart GPIO_PG7, GPIO_PG6, GPIO_PG5,
4255ba99ebSKuninori Morimoto
4355ba99ebSKuninori Morimoto /* PH */
4455ba99ebSKuninori Morimoto GPIO_PH7, GPIO_PH6, GPIO_PH5, GPIO_PH4,
4555ba99ebSKuninori Morimoto GPIO_PH3, GPIO_PH2, GPIO_PH1, GPIO_PH0,
4655ba99ebSKuninori Morimoto
4755ba99ebSKuninori Morimoto /* PJ */
4855ba99ebSKuninori Morimoto GPIO_PJ7, GPIO_PJ6, GPIO_PJ5, GPIO_PJ4,
49cc88ec48SLaurent Pinchart GPIO_PJ3, GPIO_PJ2, GPIO_PJ1,
5055ba99ebSKuninori Morimoto
511c58b0b1SKuninori Morimoto /* DU */
521c58b0b1SKuninori Morimoto GPIO_FN_DCLKIN, GPIO_FN_DCLKOUT, GPIO_FN_ODDF,
531c58b0b1SKuninori Morimoto GPIO_FN_VSYNC, GPIO_FN_HSYNC, GPIO_FN_CDE, GPIO_FN_DISP,
541c58b0b1SKuninori Morimoto GPIO_FN_DR0, GPIO_FN_DG0, GPIO_FN_DB0,
551c58b0b1SKuninori Morimoto GPIO_FN_DR1, GPIO_FN_DG1, GPIO_FN_DB1,
561c58b0b1SKuninori Morimoto GPIO_FN_DR2, GPIO_FN_DG2, GPIO_FN_DB2,
571c58b0b1SKuninori Morimoto GPIO_FN_DR3, GPIO_FN_DG3, GPIO_FN_DB3,
581c58b0b1SKuninori Morimoto GPIO_FN_DR4, GPIO_FN_DG4, GPIO_FN_DB4,
591c58b0b1SKuninori Morimoto GPIO_FN_DR5, GPIO_FN_DG5, GPIO_FN_DB5,
601c58b0b1SKuninori Morimoto
611c58b0b1SKuninori Morimoto /* Eth */
621c58b0b1SKuninori Morimoto GPIO_FN_ETH_MAGIC, GPIO_FN_ETH_LINK, GPIO_FN_ETH_TX_ER,
631c58b0b1SKuninori Morimoto GPIO_FN_ETH_TX_EN, GPIO_FN_ETH_MDIO, GPIO_FN_ETH_RX_CLK,
641c58b0b1SKuninori Morimoto GPIO_FN_ETH_MDC, GPIO_FN_ETH_COL, GPIO_FN_ETH_TX_CLK,
651c58b0b1SKuninori Morimoto GPIO_FN_ETH_CRS, GPIO_FN_ETH_RX_DV, GPIO_FN_ETH_RX_ER,
661c58b0b1SKuninori Morimoto GPIO_FN_ETH_TXD3, GPIO_FN_ETH_TXD2, GPIO_FN_ETH_TXD1, GPIO_FN_ETH_TXD0,
671c58b0b1SKuninori Morimoto GPIO_FN_ETH_RXD3, GPIO_FN_ETH_RXD2, GPIO_FN_ETH_RXD1, GPIO_FN_ETH_RXD0,
681c58b0b1SKuninori Morimoto
691c58b0b1SKuninori Morimoto /* HSPI */
701c58b0b1SKuninori Morimoto GPIO_FN_HSPI_CLK, GPIO_FN_HSPI_CS, GPIO_FN_HSPI_RX, GPIO_FN_HSPI_TX,
711c58b0b1SKuninori Morimoto
721c58b0b1SKuninori Morimoto /* SCIF0 */
731c58b0b1SKuninori Morimoto GPIO_FN_SCIF0_CTS, GPIO_FN_SCIF0_RTS, GPIO_FN_SCIF0_SCK,
741c58b0b1SKuninori Morimoto GPIO_FN_SCIF0_RXD, GPIO_FN_SCIF0_TXD,
751c58b0b1SKuninori Morimoto
761c58b0b1SKuninori Morimoto /* SCIF1 */
771c58b0b1SKuninori Morimoto GPIO_FN_SCIF1_SCK, GPIO_FN_SCIF1_RXD, GPIO_FN_SCIF1_TXD,
781c58b0b1SKuninori Morimoto
791c58b0b1SKuninori Morimoto /* SCIF3 */
801c58b0b1SKuninori Morimoto GPIO_FN_SCIF3_SCK, GPIO_FN_SCIF3_RXD, GPIO_FN_SCIF3_TXD,
811c58b0b1SKuninori Morimoto
821c58b0b1SKuninori Morimoto /* SCIF4 */
831c58b0b1SKuninori Morimoto GPIO_FN_SCIF4_SCK, GPIO_FN_SCIF4_RXD, GPIO_FN_SCIF4_TXD,
841c58b0b1SKuninori Morimoto
851c58b0b1SKuninori Morimoto /* SCIF5 */
861c58b0b1SKuninori Morimoto GPIO_FN_SCIF5_SCK, GPIO_FN_SCIF5_RXD, GPIO_FN_SCIF5_TXD,
871c58b0b1SKuninori Morimoto
881c58b0b1SKuninori Morimoto /* LBSC */
891c58b0b1SKuninori Morimoto GPIO_FN_BREQ, GPIO_FN_IOIS16, GPIO_FN_CE2B, GPIO_FN_CE2A, GPIO_FN_BACK,
901c58b0b1SKuninori Morimoto
911c58b0b1SKuninori Morimoto /* FLCTL */
921c58b0b1SKuninori Morimoto GPIO_FN_FALE, GPIO_FN_FRB, GPIO_FN_FSTATUS,
931c58b0b1SKuninori Morimoto GPIO_FN_FSE, GPIO_FN_FCLE,
941c58b0b1SKuninori Morimoto
951c58b0b1SKuninori Morimoto /* DMAC */
961c58b0b1SKuninori Morimoto GPIO_FN_DACK0, GPIO_FN_DREQ0, GPIO_FN_DRAK0,
971c58b0b1SKuninori Morimoto GPIO_FN_DACK1, GPIO_FN_DREQ1, GPIO_FN_DRAK1,
981c58b0b1SKuninori Morimoto GPIO_FN_DACK2, GPIO_FN_DREQ2, GPIO_FN_DRAK2,
991c58b0b1SKuninori Morimoto GPIO_FN_DACK3, GPIO_FN_DREQ3, GPIO_FN_DRAK3,
1001c58b0b1SKuninori Morimoto
1011c58b0b1SKuninori Morimoto /* USB */
1021c58b0b1SKuninori Morimoto GPIO_FN_USB_OVC0, GPIO_FN_USB_PENC0,
1031c58b0b1SKuninori Morimoto GPIO_FN_USB_OVC1, GPIO_FN_USB_PENC1,
1041c58b0b1SKuninori Morimoto
1051c58b0b1SKuninori Morimoto /* HAC */
10655ba99ebSKuninori Morimoto GPIO_FN_HAC_RES,
1071c58b0b1SKuninori Morimoto GPIO_FN_HAC0_SDOUT, GPIO_FN_HAC0_SDIN,
1081c58b0b1SKuninori Morimoto GPIO_FN_HAC0_SYNC, GPIO_FN_HAC0_BITCLK,
1091c58b0b1SKuninori Morimoto GPIO_FN_HAC1_SDOUT, GPIO_FN_HAC1_SDIN,
1101c58b0b1SKuninori Morimoto GPIO_FN_HAC1_SYNC, GPIO_FN_HAC1_BITCLK,
1111c58b0b1SKuninori Morimoto
1121c58b0b1SKuninori Morimoto /* SSI */
1131c58b0b1SKuninori Morimoto GPIO_FN_SSI0_SDATA, GPIO_FN_SSI0_SCK, GPIO_FN_SSI0_WS, GPIO_FN_SSI0_CLK,
1141c58b0b1SKuninori Morimoto GPIO_FN_SSI1_SDATA, GPIO_FN_SSI1_SCK, GPIO_FN_SSI1_WS, GPIO_FN_SSI1_CLK,
1151c58b0b1SKuninori Morimoto GPIO_FN_SSI2_SDATA, GPIO_FN_SSI2_SCK, GPIO_FN_SSI2_WS,
1161c58b0b1SKuninori Morimoto GPIO_FN_SSI3_SDATA, GPIO_FN_SSI3_SCK, GPIO_FN_SSI3_WS,
1171c58b0b1SKuninori Morimoto
1181c58b0b1SKuninori Morimoto /* SDIF1 */
1191c58b0b1SKuninori Morimoto GPIO_FN_SDIF1CMD, GPIO_FN_SDIF1CD, GPIO_FN_SDIF1WP, GPIO_FN_SDIF1CLK,
1201c58b0b1SKuninori Morimoto GPIO_FN_SDIF1D3, GPIO_FN_SDIF1D2, GPIO_FN_SDIF1D1, GPIO_FN_SDIF1D0,
1211c58b0b1SKuninori Morimoto
1221c58b0b1SKuninori Morimoto /* SDIF0 */
1231c58b0b1SKuninori Morimoto GPIO_FN_SDIF0CMD, GPIO_FN_SDIF0CD, GPIO_FN_SDIF0WP, GPIO_FN_SDIF0CLK,
1241c58b0b1SKuninori Morimoto GPIO_FN_SDIF0D3, GPIO_FN_SDIF0D2, GPIO_FN_SDIF0D1, GPIO_FN_SDIF0D0,
1251c58b0b1SKuninori Morimoto
1261c58b0b1SKuninori Morimoto /* TMU */
1271c58b0b1SKuninori Morimoto GPIO_FN_TCLK,
1281c58b0b1SKuninori Morimoto
1291c58b0b1SKuninori Morimoto /* INTC */
1301c58b0b1SKuninori Morimoto GPIO_FN_IRL7, GPIO_FN_IRL6, GPIO_FN_IRL5, GPIO_FN_IRL4,
13155ba99ebSKuninori Morimoto };
13255ba99ebSKuninori Morimoto
sh7786_mm_sel(void)133bc05aa6eSThomas Petazzoni static inline u32 sh7786_mm_sel(void)
134bc05aa6eSThomas Petazzoni {
135*8440bb9bSGeert Uytterhoeven return __raw_readl((const volatile void __iomem *)0xFC400020) & 0x7;
136bc05aa6eSThomas Petazzoni }
137bc05aa6eSThomas Petazzoni
13855ba99ebSKuninori Morimoto #endif /* __CPU_SH7786_H__ */
139