/* SPDX-License-Identifier: GPL-2.0 */
#ifndef __ASM_SH7785_H__
#define __ASM_SH7785_H__
/* Boot Mode Pins:
*
* MODE0: CPG - Initial Pck/Bck Frequency [FRQMR1]
* MODE1: CPG - Initial Uck/SHck/DDRck Frequency [FRQMR1]
* MODE2: CPG - Reserved (L: Normal operation)
* MODE3: CPG - Reserved (L: Normal operation)
* MODE4: CPG - Initial PLL setting (72x/36x)
* MODE5: LBSC - Area0 Memory Type / Bus Width [CS0BCR.8]
* MODE6: LBSC - Area0 Memory Type / Bus Width [CS0BCR.9]
* MODE7: LBSC - Area0 Memory Type / Bus Width [CS0BCR.3]
* MODE8: LBSC - Endian Mode (L: Big, H: Little) [BCR.31]
* MODE9: LBSC - Master/Slave Mode (L: Slave) [BCR.30]
* MODE10: CPG - Clock Input (L: Ext Clk, H: Crystal)
* MODE11: PCI - Pin Mode (LL: PCI host, LH: PCI slave)
* MODE12: PCI - Pin Mode (HL: Local bus, HH: DU)
* MODE13: Boot Address Mode (L: 29-bit, H: 32-bit)
* MODE14: Reserved (H: Normal operation)
*
* More information in sh7785 manual Rev.1.00, page 1628.
*/
/* Pin Function Controller:
* GPIO_FN_xx - GPIO used to select pin function
* GPIO_Pxx - GPIO mapped to real I/O pin on CPU
*/
enum {
/* PA */
GPIO_PA7, GPIO_PA6, GPIO_PA5, GPIO_PA4,
GPIO_PA3, GPIO_PA2, GPIO_PA1, GPIO_PA0,
/* PB */
GPIO_PB7, GPIO_PB6, GPIO_PB5, GPIO_PB4,
GPIO_PB3, GPIO_PB2, GPIO_PB1, GPIO_PB0,
/* PC */
GPIO_PC7, GPIO_PC6, GPIO_PC5, GPIO_PC4,
GPIO_PC3, GPIO_PC2, GPIO_PC1, GPIO_PC0,
/* PD */
GPIO_PD7, GPIO_PD6, GPIO_PD5, GPIO_PD4,
GPIO_PD3, GPIO_PD2, GPIO_PD1, GPIO_PD0,
/* PE */
GPIO_PE5, GPIO_PE4, GPIO_PE3, GPIO_PE2,
GPIO_PE1, GPIO_PE0,
/* PF */
GPIO_PF7, GPIO_PF6, GPIO_PF5, GPIO_PF4,
GPIO_PF3, GPIO_PF2, GPIO_PF1, GPIO_PF0,
/* PG */
GPIO_PG7, GPIO_PG6, GPIO_PG5, GPIO_PG4,
GPIO_PG3, GPIO_PG2, GPIO_PG1, GPIO_PG0,
/* PH */
GPIO_PH7, GPIO_PH6, GPIO_PH5, GPIO_PH4,
GPIO_PH3, GPIO_PH2, GPIO_PH1, GPIO_PH0,
/* PJ */
GPIO_PJ7, GPIO_PJ6, GPIO_PJ5, GPIO_PJ4,
GPIO_PJ3, GPIO_PJ2, GPIO_PJ1, GPIO_PJ0,
/* PK */
GPIO_PK7, GPIO_PK6, GPIO_PK5, GPIO_PK4,
GPIO_PK3, GPIO_PK2, GPIO_PK1, GPIO_PK0,
/* PL */
GPIO_PL7, GPIO_PL6, GPIO_PL5, GPIO_PL4,
GPIO_PL3, GPIO_PL2, GPIO_PL1, GPIO_PL0,
/* PM */
GPIO_PM1, GPIO_PM0,
/* PN */
GPIO_PN7, GPIO_PN6, GPIO_PN5, GPIO_PN4,
GPIO_PN3, GPIO_PN2, GPIO_PN1, GPIO_PN0,
/* PP */
GPIO_PP5, GPIO_PP4,
GPIO_PP3, GPIO_PP2, GPIO_PP1, GPIO_PP0,
/* PQ */
GPIO_PQ4,
GPIO_PQ3, GPIO_PQ2, GPIO_PQ1, GPIO_PQ0,
/* PR */
GPIO_PR3, GPIO_PR2, GPIO_PR1, GPIO_PR0,
GPIO_FN_D63_AD31,
GPIO_FN_D62_AD30,
GPIO_FN_D61_AD29,
GPIO_FN_D60_AD28,
GPIO_FN_D59_AD27,
GPIO_FN_D58_AD26,
GPIO_FN_D57_AD25,
GPIO_FN_D56_AD24,
GPIO_FN_D55_AD23,
GPIO_FN_D54_AD22,
GPIO_FN_D53_AD21,
GPIO_FN_D52_AD20,
GPIO_FN_D51_AD19,
GPIO_FN_D50_AD18,
GPIO_FN_D49_AD17_DB5,
GPIO_FN_D48_AD16_DB4,
GPIO_FN_D47_AD15_DB3,
GPIO_FN_D46_AD14_DB2,
GPIO_FN_D45_AD13_DB1,
GPIO_FN_D44_AD12_DB0,
GPIO_FN_D43_AD11_DG5,
GPIO_FN_D42_AD10_DG4,
GPIO_FN_D41_AD9_DG3,
GPIO_FN_D40_AD8_DG2,
GPIO_FN_D39_AD7_DG1,
GPIO_FN_D38_AD6_DG0,
GPIO_FN_D37_AD5_DR5,
GPIO_FN_D36_AD4_DR4,
GPIO_FN_D35_AD3_DR3,
GPIO_FN_D34_AD2_DR2,
GPIO_FN_D33_AD1_DR1,
GPIO_FN_D32_AD0_DR0,
GPIO_FN_REQ1,
GPIO_FN_REQ2,
GPIO_FN_REQ3,
GPIO_FN_GNT1,
GPIO_FN_GNT2,
GPIO_FN_GNT3,
GPIO_FN_MMCCLK,
GPIO_FN_D31,
GPIO_FN_D30,
GPIO_FN_D29,
GPIO_FN_D28,
GPIO_FN_D27,
GPIO_FN_D26,
GPIO_FN_D25,
GPIO_FN_D24,
GPIO_FN_D23,
GPIO_FN_D22,
GPIO_FN_D21,
GPIO_FN_D20,
GPIO_FN_D19,
GPIO_FN_D18,
GPIO_FN_D17,
GPIO_FN_D16,
GPIO_FN_SCIF1_SCK,
GPIO_FN_SCIF1_RXD,
GPIO_FN_SCIF1_TXD,
GPIO_FN_SCIF0_CTS,
GPIO_FN_INTD,
GPIO_FN_FCE,
GPIO_FN_SCIF0_RTS,
GPIO_FN_HSPI_CS,
GPIO_FN_FSE,
GPIO_FN_SCIF0_SCK,
GPIO_FN_HSPI_CLK,
GPIO_FN_FRE,
GPIO_FN_SCIF0_RXD,
GPIO_FN_HSPI_RX,
GPIO_FN_FRB,
GPIO_FN_SCIF0_TXD,
GPIO_FN_HSPI_TX,
GPIO_FN_FWE,
GPIO_FN_SCIF5_TXD,
GPIO_FN_HAC1_SYNC,
GPIO_FN_SSI1_WS,
GPIO_FN_SIOF_TXD_PJ,
GPIO_FN_HAC0_SDOUT,
GPIO_FN_SSI0_SDATA,
GPIO_FN_SIOF_RXD_PJ,
GPIO_FN_HAC0_SDIN,
GPIO_FN_SSI0_SCK,
GPIO_FN_SIOF_SYNC_PJ,
GPIO_FN_HAC0_SYNC,
GPIO_FN_SSI0_WS,
GPIO_FN_SIOF_MCLK_PJ,
GPIO_FN_HAC_RES,
GPIO_FN_SIOF_SCK_PJ,
GPIO_FN_HAC0_BITCLK,
GPIO_FN_SSI0_CLK,
GPIO_FN_HAC1_BITCLK,
GPIO_FN_SSI1_CLK,
GPIO_FN_TCLK,
GPIO_FN_IOIS16,
GPIO_FN_STATUS0,
GPIO_FN_DRAK0_PK3,
GPIO_FN_STATUS1,
GPIO_FN_DRAK1_PK2,
GPIO_FN_DACK2,
GPIO_FN_SCIF2_TXD,
GPIO_FN_MMCCMD,
GPIO_FN_SIOF_TXD_PK,
GPIO_FN_DACK3,
GPIO_FN_SCIF2_SCK,
GPIO_FN_MMCDAT,
GPIO_FN_SIOF_SCK_PK,
GPIO_FN_DREQ0,
GPIO_FN_DREQ1,
GPIO_FN_DRAK0_PK1,
GPIO_FN_DRAK1_PK0,
GPIO_FN_DREQ2,
GPIO_FN_INTB,
GPIO_FN_DREQ3,
GPIO_FN_INTC,
GPIO_FN_DRAK2,
GPIO_FN_CE2A,
GPIO_FN_IRL4,
GPIO_FN_FD4,
GPIO_FN_IRL5,
GPIO_FN_FD5,
GPIO_FN_IRL6,
GPIO_FN_FD6,
GPIO_FN_IRL7,
GPIO_FN_FD7,
GPIO_FN_DRAK3,
GPIO_FN_CE2B,
GPIO_FN_BREQ_BSACK,
GPIO_FN_BACK_BSREQ,
GPIO_FN_SCIF5_RXD,
GPIO_FN_HAC1_SDIN,
GPIO_FN_SSI1_SCK,
GPIO_FN_SCIF5_SCK,
GPIO_FN_HAC1_SDOUT,
GPIO_FN_SSI1_SDATA,
GPIO_FN_SCIF3_TXD,
GPIO_FN_FCLE,
GPIO_FN_SCIF3_RXD,
GPIO_FN_FALE,
GPIO_FN_SCIF3_SCK,
GPIO_FN_FD0,
GPIO_FN_SCIF4_TXD,
GPIO_FN_FD1,
GPIO_FN_SCIF4_RXD,
GPIO_FN_FD2,
GPIO_FN_SCIF4_SCK,
GPIO_FN_FD3,
GPIO_FN_DEVSEL_DCLKOUT,
GPIO_FN_STOP_CDE,
GPIO_FN_LOCK_ODDF,
GPIO_FN_TRDY_DISPL,
GPIO_FN_IRDY_HSYNC,
GPIO_FN_PCIFRAME_VSYNC,
GPIO_FN_INTA,
GPIO_FN_GNT0_GNTIN,
GPIO_FN_REQ0_REQOUT,
GPIO_FN_PERR,
GPIO_FN_SERR,
GPIO_FN_WE7_CBE3,
GPIO_FN_WE6_CBE2,
GPIO_FN_WE5_CBE1,
GPIO_FN_WE4_CBE0,
GPIO_FN_SCIF2_RXD,
GPIO_FN_SIOF_RXD,
GPIO_FN_MRESETOUT,
GPIO_FN_IRQOUT,
};
#endif /* __ASM_SH7785_H__ */