sh-pfc: Add r8a73a4 pinmux support
Add initial PFC support for the r8a73a4 SoC. At this point only GPIO interface is supported, move to newer interfaces planned as incremental changes. Original authors are Morimoto-san with help from Yoshii-san, thanks to them for the heavy lifting. Adjusted by Magnus to work together with updated code in drivers/pinctrl. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Takashi Yoshii <takashi.yoshii.zj@renesas.com> Signed-off-by: Magnus Damm <damm@opensource.se> Acked-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
This commit is contained in:
parent
ba774cc738
commit
c98f6c21af
|
@ -1,6 +1,924 @@
|
|||
#ifndef __ASM_R8A73A4_H__
|
||||
#define __ASM_R8A73A4_H__
|
||||
|
||||
/*
|
||||
* Pin Function Controller:
|
||||
* GPIO_FN_xx - GPIO used to select pin function
|
||||
* GPIO_PORTxx - GPIO mapped to real I/O pin on CPU
|
||||
*/
|
||||
enum {
|
||||
|
||||
/* PORT */
|
||||
GPIO_PORT0, GPIO_PORT1, GPIO_PORT2, GPIO_PORT3, GPIO_PORT4,
|
||||
GPIO_PORT5, GPIO_PORT6, GPIO_PORT7, GPIO_PORT8, GPIO_PORT9,
|
||||
|
||||
GPIO_PORT10, GPIO_PORT11, GPIO_PORT12, GPIO_PORT13, GPIO_PORT14,
|
||||
GPIO_PORT15, GPIO_PORT16, GPIO_PORT17, GPIO_PORT18, GPIO_PORT19,
|
||||
|
||||
GPIO_PORT20, GPIO_PORT21, GPIO_PORT22, GPIO_PORT23, GPIO_PORT24,
|
||||
GPIO_PORT25, GPIO_PORT26, GPIO_PORT27, GPIO_PORT28, GPIO_PORT29,
|
||||
|
||||
GPIO_PORT30, GPIO_PORT32, GPIO_PORT33, GPIO_PORT34,
|
||||
GPIO_PORT35, GPIO_PORT36, GPIO_PORT37, GPIO_PORT38, GPIO_PORT39,
|
||||
|
||||
GPIO_PORT40, GPIO_PORT64,
|
||||
GPIO_PORT65, GPIO_PORT66, GPIO_PORT67, GPIO_PORT68, GPIO_PORT69,
|
||||
|
||||
GPIO_PORT70, GPIO_PORT71, GPIO_PORT72, GPIO_PORT73, GPIO_PORT74,
|
||||
GPIO_PORT75, GPIO_PORT76, GPIO_PORT77, GPIO_PORT78, GPIO_PORT79,
|
||||
|
||||
GPIO_PORT80, GPIO_PORT81, GPIO_PORT82, GPIO_PORT83, GPIO_PORT84,
|
||||
GPIO_PORT85, GPIO_PORT96, GPIO_PORT97, GPIO_PORT98, GPIO_PORT99,
|
||||
|
||||
GPIO_PORT100, GPIO_PORT101, GPIO_PORT102, GPIO_PORT103, GPIO_PORT104,
|
||||
GPIO_PORT105, GPIO_PORT106, GPIO_PORT107, GPIO_PORT108, GPIO_PORT109,
|
||||
|
||||
GPIO_PORT110, GPIO_PORT111, GPIO_PORT112, GPIO_PORT113, GPIO_PORT114,
|
||||
GPIO_PORT115, GPIO_PORT116, GPIO_PORT117, GPIO_PORT118, GPIO_PORT119,
|
||||
|
||||
GPIO_PORT120, GPIO_PORT121, GPIO_PORT122, GPIO_PORT123, GPIO_PORT124,
|
||||
GPIO_PORT125, GPIO_PORT126, GPIO_PORT128, GPIO_PORT129,
|
||||
|
||||
GPIO_PORT130, GPIO_PORT131, GPIO_PORT132, GPIO_PORT133, GPIO_PORT134,
|
||||
|
||||
GPIO_PORT160, GPIO_PORT161, GPIO_PORT162, GPIO_PORT163, GPIO_PORT164,
|
||||
GPIO_PORT165, GPIO_PORT166, GPIO_PORT167, GPIO_PORT168, GPIO_PORT169,
|
||||
|
||||
GPIO_PORT170, GPIO_PORT171, GPIO_PORT172, GPIO_PORT173, GPIO_PORT174,
|
||||
GPIO_PORT175, GPIO_PORT176, GPIO_PORT177, GPIO_PORT178,
|
||||
|
||||
GPIO_PORT192, GPIO_PORT193, GPIO_PORT194,
|
||||
GPIO_PORT195, GPIO_PORT196, GPIO_PORT197, GPIO_PORT198, GPIO_PORT199,
|
||||
|
||||
GPIO_PORT200, GPIO_PORT201, GPIO_PORT202, GPIO_PORT203, GPIO_PORT204,
|
||||
GPIO_PORT205, GPIO_PORT206, GPIO_PORT207, GPIO_PORT208, GPIO_PORT209,
|
||||
|
||||
GPIO_PORT210, GPIO_PORT211, GPIO_PORT212, GPIO_PORT213, GPIO_PORT214,
|
||||
GPIO_PORT215, GPIO_PORT216, GPIO_PORT217, GPIO_PORT218, GPIO_PORT219,
|
||||
|
||||
GPIO_PORT220, GPIO_PORT221, GPIO_PORT222, GPIO_PORT224,
|
||||
GPIO_PORT225, GPIO_PORT226, GPIO_PORT227, GPIO_PORT228, GPIO_PORT229,
|
||||
|
||||
GPIO_PORT230, GPIO_PORT231, GPIO_PORT232, GPIO_PORT233, GPIO_PORT234,
|
||||
GPIO_PORT235, GPIO_PORT236, GPIO_PORT237, GPIO_PORT238, GPIO_PORT239,
|
||||
|
||||
GPIO_PORT240, GPIO_PORT241, GPIO_PORT242, GPIO_PORT243, GPIO_PORT244,
|
||||
GPIO_PORT245, GPIO_PORT246, GPIO_PORT247, GPIO_PORT248, GPIO_PORT249,
|
||||
|
||||
GPIO_PORT250, GPIO_PORT256, GPIO_PORT257, GPIO_PORT258, GPIO_PORT259,
|
||||
|
||||
GPIO_PORT260, GPIO_PORT261, GPIO_PORT262, GPIO_PORT263, GPIO_PORT264,
|
||||
GPIO_PORT265, GPIO_PORT266, GPIO_PORT267, GPIO_PORT268, GPIO_PORT269,
|
||||
|
||||
GPIO_PORT270, GPIO_PORT271, GPIO_PORT272, GPIO_PORT273, GPIO_PORT274,
|
||||
GPIO_PORT275, GPIO_PORT276, GPIO_PORT277, GPIO_PORT278, GPIO_PORT279,
|
||||
|
||||
GPIO_PORT280, GPIO_PORT281, GPIO_PORT282, GPIO_PORT283,
|
||||
GPIO_PORT288, GPIO_PORT289,
|
||||
|
||||
GPIO_PORT290, GPIO_PORT291, GPIO_PORT292, GPIO_PORT293, GPIO_PORT294,
|
||||
GPIO_PORT295, GPIO_PORT296, GPIO_PORT297, GPIO_PORT298, GPIO_PORT299,
|
||||
|
||||
GPIO_PORT300, GPIO_PORT301, GPIO_PORT302, GPIO_PORT303, GPIO_PORT304,
|
||||
GPIO_PORT305, GPIO_PORT306, GPIO_PORT307, GPIO_PORT308,
|
||||
|
||||
GPIO_PORT320, GPIO_PORT321, GPIO_PORT322, GPIO_PORT323, GPIO_PORT324,
|
||||
GPIO_PORT325, GPIO_PORT326, GPIO_PORT327, GPIO_PORT328, GPIO_PORT329,
|
||||
|
||||
/* Port0 */
|
||||
GPIO_FN_LCDD0,
|
||||
GPIO_FN_PDM2_CLK_0,
|
||||
GPIO_FN_DU0_DR0,
|
||||
GPIO_FN_IRQ0,
|
||||
|
||||
/* Port1 */
|
||||
GPIO_FN_LCDD1,
|
||||
GPIO_FN_PDM2_DATA_1,
|
||||
GPIO_FN_DU0_DR19,
|
||||
GPIO_FN_IRQ1,
|
||||
|
||||
/* Port2 */
|
||||
GPIO_FN_LCDD2,
|
||||
GPIO_FN_PDM3_CLK_2,
|
||||
GPIO_FN_DU0_DR2,
|
||||
GPIO_FN_IRQ2,
|
||||
|
||||
/* Port3 */
|
||||
GPIO_FN_LCDD3,
|
||||
GPIO_FN_PDM3_DATA_3,
|
||||
GPIO_FN_DU0_DR3,
|
||||
GPIO_FN_IRQ3,
|
||||
|
||||
/* Port4 */
|
||||
GPIO_FN_LCDD4,
|
||||
GPIO_FN_PDM4_CLK_4,
|
||||
GPIO_FN_DU0_DR4,
|
||||
GPIO_FN_IRQ4,
|
||||
|
||||
/* Port5 */
|
||||
GPIO_FN_LCDD5,
|
||||
GPIO_FN_PDM4_DATA_5,
|
||||
GPIO_FN_DU0_DR5,
|
||||
GPIO_FN_IRQ5,
|
||||
|
||||
/* Port6 */
|
||||
GPIO_FN_LCDD6,
|
||||
GPIO_FN_PDM0_OUTCLK_6,
|
||||
GPIO_FN_DU0_DR6,
|
||||
GPIO_FN_IRQ6,
|
||||
|
||||
/* Port7 */
|
||||
GPIO_FN_LCDD7,
|
||||
GPIO_FN_PDM0_OUTDATA_7,
|
||||
GPIO_FN_DU0_DR7,
|
||||
GPIO_FN_IRQ7,
|
||||
|
||||
/* Port8 */
|
||||
GPIO_FN_LCDD8,
|
||||
GPIO_FN_PDM1_OUTCLK_8,
|
||||
GPIO_FN_DU0_DG0,
|
||||
GPIO_FN_IRQ8,
|
||||
|
||||
/* Port9 */
|
||||
GPIO_FN_LCDD9,
|
||||
GPIO_FN_PDM1_OUTDATA_9,
|
||||
GPIO_FN_DU0_DG1,
|
||||
GPIO_FN_IRQ9,
|
||||
|
||||
/* Port10 */
|
||||
GPIO_FN_LCDD10,
|
||||
GPIO_FN_FSICCK,
|
||||
GPIO_FN_DU0_DG2,
|
||||
GPIO_FN_IRQ10,
|
||||
|
||||
/* Port11 */
|
||||
GPIO_FN_LCDD11,
|
||||
GPIO_FN_FSICISLD,
|
||||
GPIO_FN_DU0_DG3,
|
||||
GPIO_FN_IRQ11,
|
||||
|
||||
/* Port12 */
|
||||
GPIO_FN_LCDD12,
|
||||
GPIO_FN_FSICOMC,
|
||||
GPIO_FN_DU0_DG4,
|
||||
GPIO_FN_IRQ12,
|
||||
|
||||
/* Port13 */
|
||||
GPIO_FN_LCDD13,
|
||||
GPIO_FN_FSICOLR,
|
||||
GPIO_FN_FSICILR,
|
||||
GPIO_FN_DU0_DG5,
|
||||
GPIO_FN_IRQ13,
|
||||
|
||||
/* Port14 */
|
||||
GPIO_FN_LCDD14,
|
||||
GPIO_FN_FSICOBT,
|
||||
GPIO_FN_FSICIBT,
|
||||
GPIO_FN_DU0_DG6,
|
||||
GPIO_FN_IRQ14,
|
||||
|
||||
/* Port15 */
|
||||
GPIO_FN_LCDD15,
|
||||
GPIO_FN_FSICOSLD,
|
||||
GPIO_FN_DU0_DG7,
|
||||
GPIO_FN_IRQ15,
|
||||
|
||||
/* Port16 */
|
||||
GPIO_FN_LCDD16,
|
||||
GPIO_FN_TPU1TO1,
|
||||
GPIO_FN_DU0_DB0,
|
||||
|
||||
/* Port17 */
|
||||
GPIO_FN_LCDD17,
|
||||
GPIO_FN_SF_IRQ_00,
|
||||
GPIO_FN_DU0_DB1,
|
||||
|
||||
/* Port18 */
|
||||
GPIO_FN_LCDD18,
|
||||
GPIO_FN_SF_IRQ_01,
|
||||
GPIO_FN_DU0_DB2,
|
||||
|
||||
/* Port19 */
|
||||
GPIO_FN_LCDD19,
|
||||
GPIO_FN_SCIFB3_RTS_19,
|
||||
GPIO_FN_DU0_DB3,
|
||||
|
||||
/* Port20 */
|
||||
GPIO_FN_LCDD20,
|
||||
GPIO_FN_SCIFB3_CTS_20,
|
||||
GPIO_FN_DU0_DB4,
|
||||
|
||||
/* Port21 */
|
||||
GPIO_FN_LCDD21,
|
||||
GPIO_FN_SCIFB3_TXD_21,
|
||||
GPIO_FN_DU0_DB5,
|
||||
|
||||
/* Port22 */
|
||||
GPIO_FN_LCDD22,
|
||||
GPIO_FN_SCIFB3_RXD_22,
|
||||
GPIO_FN_DU0_DB6,
|
||||
|
||||
/* Port23 */
|
||||
GPIO_FN_LCDD23,
|
||||
GPIO_FN_SCIFB3_SCK_23,
|
||||
GPIO_FN_DU0_DB7,
|
||||
|
||||
/* Port24 */
|
||||
GPIO_FN_LCDHSYN,
|
||||
GPIO_FN_LCDCS,
|
||||
GPIO_FN_SCIFB1_RTS_24,
|
||||
GPIO_FN_DU0_EXHSYNC_N_CSYNC_N_HSYNC_N,
|
||||
|
||||
/* Port25 */
|
||||
GPIO_FN_LCDVSYN,
|
||||
GPIO_FN_SCIFB1_CTS_25,
|
||||
GPIO_FN_DU0_EXVSYNC_N_VSYNC_N_CSYNC_N,
|
||||
|
||||
/* Port26 */
|
||||
GPIO_FN_LCDDCK,
|
||||
GPIO_FN_LCDWR,
|
||||
GPIO_FN_SCIFB1_TXD_26,
|
||||
GPIO_FN_DU0_DOTCLKIN,
|
||||
|
||||
/* Port27 */
|
||||
GPIO_FN_LCDDISP,
|
||||
GPIO_FN_LCDRS,
|
||||
GPIO_FN_SCIFB1_RXD_27,
|
||||
GPIO_FN_DU0_DOTCLKOUT,
|
||||
|
||||
/* Port28 */
|
||||
GPIO_FN_LCDRD_N,
|
||||
GPIO_FN_SCIFB1_SCK_28,
|
||||
GPIO_FN_DU0_DOTCLKOUTB,
|
||||
|
||||
/* Port29 */
|
||||
GPIO_FN_LCDLCLK,
|
||||
GPIO_FN_SF_IRQ_02,
|
||||
GPIO_FN_DU0_DISP_CSYNC_N_DE,
|
||||
|
||||
/* Port30 */
|
||||
GPIO_FN_LCDDON,
|
||||
GPIO_FN_SF_IRQ_03,
|
||||
GPIO_FN_DU0_ODDF_N_CLAMP,
|
||||
|
||||
/* Port32 */
|
||||
GPIO_FN_SCIFA0_RTS,
|
||||
GPIO_FN_SIM0_DET,
|
||||
GPIO_FN_CSCIF0_RTS,
|
||||
|
||||
/* Port33 */
|
||||
GPIO_FN_SCIFA0_CTS,
|
||||
GPIO_FN_SIM1_DET,
|
||||
GPIO_FN_CSCIF0_CTS,
|
||||
|
||||
/* Port34 */
|
||||
GPIO_FN_SCIFA0_SCK,
|
||||
GPIO_FN_SIM0_PWRON,
|
||||
GPIO_FN_CSCIF0_SCK,
|
||||
|
||||
/* Port35 */
|
||||
GPIO_FN_SCIFA1_RTS,
|
||||
GPIO_FN_CSCIF1_RTS,
|
||||
|
||||
/* Port36 */
|
||||
GPIO_FN_SCIFA1_CTS,
|
||||
GPIO_FN_CSCIF1_CTS,
|
||||
|
||||
/* Port37 */
|
||||
GPIO_FN_SCIFA1_SCK,
|
||||
GPIO_FN_CSCIF1_SCK,
|
||||
|
||||
/* Port38 */
|
||||
GPIO_FN_SCIFB0_RTS,
|
||||
GPIO_FN_TPU0TO1,
|
||||
GPIO_FN_SCIFB3_RTS_38,
|
||||
GPIO_FN_CHSCIF0_HRTS,
|
||||
|
||||
/* Port39 */
|
||||
GPIO_FN_SCIFB0_CTS,
|
||||
GPIO_FN_TPU0TO2,
|
||||
GPIO_FN_SCIFB3_CTS_39,
|
||||
GPIO_FN_CHSCIF0_HCTS,
|
||||
|
||||
/* Port40 */
|
||||
GPIO_FN_SCIFB0_SCK,
|
||||
GPIO_FN_TPU0TO3,
|
||||
GPIO_FN_SCIFB3_SCK_40,
|
||||
GPIO_FN_CHSCIF0_HSCK,
|
||||
|
||||
/* Port64 */
|
||||
GPIO_FN_PDM0_DATA,
|
||||
|
||||
/* Port65 */
|
||||
GPIO_FN_PDM1_DATA,
|
||||
|
||||
/* Port66 */
|
||||
GPIO_FN_HSI_RX_WAKE,
|
||||
GPIO_FN_SCIFB2_CTS_66,
|
||||
GPIO_FN_MSIOF3_SYNC,
|
||||
GPIO_FN_GenIO4,
|
||||
GPIO_FN_IRQ40,
|
||||
|
||||
/* Port67 */
|
||||
GPIO_FN_HSI_RX_READY,
|
||||
GPIO_FN_SCIFB1_TXD_67,
|
||||
GPIO_FN_GIO_OUT3_67,
|
||||
GPIO_FN_CHSCIF1_HTX,
|
||||
|
||||
/* Port68 */
|
||||
GPIO_FN_HSI_RX_FLAG,
|
||||
GPIO_FN_SCIFB2_TXD_68,
|
||||
GPIO_FN_MSIOF3_TXD,
|
||||
GPIO_FN_GIO_OUT4_68,
|
||||
|
||||
/* Port69 */
|
||||
GPIO_FN_HSI_RX_DATA,
|
||||
GPIO_FN_SCIFB2_RXD_69,
|
||||
GPIO_FN_MSIOF3_RXD,
|
||||
GPIO_FN_GIO_OUT5_69,
|
||||
|
||||
/* Port70 */
|
||||
GPIO_FN_HSI_TX_FLAG,
|
||||
GPIO_FN_SCIFB1_RTS_70,
|
||||
GPIO_FN_GIO_OUT1_70,
|
||||
GPIO_FN_HSIC_TSTCLK0,
|
||||
GPIO_FN_CHSCIF1_HRTS,
|
||||
|
||||
/* Port71 */
|
||||
GPIO_FN_HSI_TX_DATA,
|
||||
GPIO_FN_SCIFB1_CTS_71,
|
||||
GPIO_FN_GIO_OUT2_71,
|
||||
GPIO_FN_HSIC_TSTCLK1,
|
||||
GPIO_FN_CHSCIF1_HCTS,
|
||||
|
||||
/* Port72 */
|
||||
GPIO_FN_HSI_TX_WAKE,
|
||||
GPIO_FN_SCIFB1_RXD_72,
|
||||
GPIO_FN_GenIO8,
|
||||
GPIO_FN_CHSCIF1_HRX,
|
||||
|
||||
/* Port73 */
|
||||
GPIO_FN_HSI_TX_READY,
|
||||
GPIO_FN_SCIFB2_RTS_73,
|
||||
GPIO_FN_MSIOF3_SCK,
|
||||
GPIO_FN_GIO_OUT0_73,
|
||||
|
||||
/* Port74 - Port85 */
|
||||
GPIO_FN_IRDA_OUT,
|
||||
GPIO_FN_IRDA_IN,
|
||||
GPIO_FN_IRDA_FIRSEL,
|
||||
GPIO_FN_TPU0TO0,
|
||||
GPIO_FN_DIGRFEN,
|
||||
GPIO_FN_GPS_TIMESTAMP,
|
||||
GPIO_FN_TXP,
|
||||
GPIO_FN_TXP2,
|
||||
GPIO_FN_COEX_0,
|
||||
GPIO_FN_COEX_1,
|
||||
GPIO_FN_IRQ19,
|
||||
GPIO_FN_IRQ18,
|
||||
|
||||
/* Port96 - Port101 */
|
||||
GPIO_FN_KEYIN0,
|
||||
GPIO_FN_KEYIN1,
|
||||
GPIO_FN_KEYIN2,
|
||||
GPIO_FN_KEYIN3,
|
||||
GPIO_FN_KEYIN4,
|
||||
GPIO_FN_KEYIN5,
|
||||
|
||||
/* Port102 */
|
||||
GPIO_FN_KEYIN6,
|
||||
GPIO_FN_IRQ41,
|
||||
|
||||
/* Port103 */
|
||||
GPIO_FN_KEYIN7,
|
||||
GPIO_FN_IRQ42,
|
||||
|
||||
/* Port104 - Port108 */
|
||||
GPIO_FN_KEYOUT0,
|
||||
GPIO_FN_KEYOUT1,
|
||||
GPIO_FN_KEYOUT2,
|
||||
GPIO_FN_KEYOUT3,
|
||||
GPIO_FN_KEYOUT4,
|
||||
|
||||
/* Port109 */
|
||||
GPIO_FN_KEYOUT5,
|
||||
GPIO_FN_IRQ43,
|
||||
|
||||
/* Port110 */
|
||||
GPIO_FN_KEYOUT6,
|
||||
GPIO_FN_IRQ44,
|
||||
|
||||
/* Port111 */
|
||||
GPIO_FN_KEYOUT7,
|
||||
GPIO_FN_RFANAEN,
|
||||
GPIO_FN_IRQ45,
|
||||
|
||||
/* Port112 */
|
||||
GPIO_FN_KEYIN8,
|
||||
GPIO_FN_KEYOUT8,
|
||||
GPIO_FN_SF_IRQ_04,
|
||||
GPIO_FN_IRQ46,
|
||||
|
||||
/* Port113 */
|
||||
GPIO_FN_KEYIN9,
|
||||
GPIO_FN_KEYOUT9,
|
||||
GPIO_FN_SF_IRQ_05,
|
||||
GPIO_FN_IRQ47,
|
||||
|
||||
/* Port114 */
|
||||
GPIO_FN_KEYIN10,
|
||||
GPIO_FN_KEYOUT10,
|
||||
GPIO_FN_SF_IRQ_06,
|
||||
GPIO_FN_IRQ48,
|
||||
|
||||
/* Port115 */
|
||||
GPIO_FN_KEYIN11,
|
||||
GPIO_FN_KEYOUT11,
|
||||
GPIO_FN_SF_IRQ_07,
|
||||
GPIO_FN_IRQ49,
|
||||
|
||||
/* Port116 */
|
||||
GPIO_FN_SCIFA0_TXD,
|
||||
GPIO_FN_CSCIF0_TX,
|
||||
|
||||
/* Port117 */
|
||||
GPIO_FN_SCIFA0_RXD,
|
||||
GPIO_FN_CSCIF0_RX,
|
||||
|
||||
/* Port118 */
|
||||
GPIO_FN_SCIFA1_TXD,
|
||||
GPIO_FN_CSCIF1_TX,
|
||||
|
||||
/* Port119 */
|
||||
GPIO_FN_SCIFA1_RXD,
|
||||
GPIO_FN_CSCIF1_RX,
|
||||
|
||||
/* Port120 */
|
||||
GPIO_FN_SF_PORT_1_120,
|
||||
GPIO_FN_SCIFB3_RXD_120,
|
||||
GPIO_FN_DU0_CDE,
|
||||
|
||||
/* Port121 */
|
||||
GPIO_FN_SF_PORT_0_121,
|
||||
GPIO_FN_SCIFB3_TXD_121,
|
||||
|
||||
/* Port122 */
|
||||
GPIO_FN_SCIFB0_TXD,
|
||||
GPIO_FN_CHSCIF0_HTX,
|
||||
|
||||
/* Port123 */
|
||||
GPIO_FN_SCIFB0_RXD,
|
||||
GPIO_FN_CHSCIF0_HRX,
|
||||
|
||||
/* Port124 */
|
||||
GPIO_FN_ISP_STROBE_124,
|
||||
|
||||
/* Port125 */
|
||||
GPIO_FN_STP_ISD_0,
|
||||
GPIO_FN_PDM4_CLK_125,
|
||||
GPIO_FN_MSIOF2_TXD,
|
||||
GPIO_FN_SIM0_VOLTSEL0,
|
||||
|
||||
/* Port126 */
|
||||
GPIO_FN_TS_SDEN,
|
||||
GPIO_FN_MSIOF7_SYNC,
|
||||
GPIO_FN_STP_ISEN_1,
|
||||
|
||||
/* Port128 */
|
||||
GPIO_FN_STP_ISEN_0,
|
||||
GPIO_FN_PDM1_OUTDATA_128,
|
||||
GPIO_FN_MSIOF2_SYNC,
|
||||
GPIO_FN_SIM1_VOLTSEL1,
|
||||
|
||||
/* Port129 */
|
||||
GPIO_FN_TS_SPSYNC,
|
||||
GPIO_FN_MSIOF7_RXD,
|
||||
GPIO_FN_STP_ISSYNC_1,
|
||||
|
||||
/* Port130 */
|
||||
GPIO_FN_STP_ISSYNC_0,
|
||||
GPIO_FN_PDM4_DATA_130,
|
||||
GPIO_FN_MSIOF2_RXD,
|
||||
GPIO_FN_SIM0_VOLTSEL1,
|
||||
|
||||
/* Port131 */
|
||||
GPIO_FN_STP_OPWM_0,
|
||||
GPIO_FN_SIM1_PWRON,
|
||||
|
||||
/* Port132 */
|
||||
GPIO_FN_TS_SCK,
|
||||
GPIO_FN_MSIOF7_SCK,
|
||||
GPIO_FN_STP_ISCLK_1,
|
||||
|
||||
/* Port133 */
|
||||
GPIO_FN_STP_ISCLK_0,
|
||||
GPIO_FN_PDM1_OUTCLK_133,
|
||||
GPIO_FN_MSIOF2_SCK,
|
||||
GPIO_FN_SIM1_VOLTSEL0,
|
||||
|
||||
/* Port134 */
|
||||
GPIO_FN_TS_SDAT,
|
||||
GPIO_FN_MSIOF7_TXD,
|
||||
GPIO_FN_STP_ISD_1,
|
||||
|
||||
/* Port160 - Port178 */
|
||||
GPIO_FN_IRQ20,
|
||||
GPIO_FN_IRQ21,
|
||||
GPIO_FN_IRQ22,
|
||||
GPIO_FN_IRQ23,
|
||||
GPIO_FN_MMCD0_0,
|
||||
GPIO_FN_MMCD0_1,
|
||||
GPIO_FN_MMCD0_2,
|
||||
GPIO_FN_MMCD0_3,
|
||||
GPIO_FN_MMCD0_4,
|
||||
GPIO_FN_MMCD0_5,
|
||||
GPIO_FN_MMCD0_6,
|
||||
GPIO_FN_MMCD0_7,
|
||||
GPIO_FN_MMCCMD0,
|
||||
GPIO_FN_MMCCLK0,
|
||||
GPIO_FN_MMCRST,
|
||||
GPIO_FN_IRQ24,
|
||||
GPIO_FN_IRQ25,
|
||||
GPIO_FN_IRQ26,
|
||||
GPIO_FN_IRQ27,
|
||||
|
||||
/* Port192 - Port200 FN1 */
|
||||
GPIO_FN_A10,
|
||||
GPIO_FN_A9,
|
||||
GPIO_FN_A8,
|
||||
GPIO_FN_A7,
|
||||
GPIO_FN_A6,
|
||||
GPIO_FN_A5,
|
||||
GPIO_FN_A4,
|
||||
GPIO_FN_A3,
|
||||
GPIO_FN_A2,
|
||||
|
||||
/* Port192 - Port200 FN2 */
|
||||
GPIO_FN_MMCD1_7,
|
||||
GPIO_FN_MMCD1_6,
|
||||
GPIO_FN_MMCD1_5,
|
||||
GPIO_FN_MMCD1_4,
|
||||
GPIO_FN_MMCD1_3,
|
||||
GPIO_FN_MMCD1_2,
|
||||
GPIO_FN_MMCD1_1,
|
||||
GPIO_FN_MMCD1_0,
|
||||
GPIO_FN_MMCCMD1,
|
||||
|
||||
/* Port192 - Port200 IRQ */
|
||||
GPIO_FN_IRQ31,
|
||||
GPIO_FN_IRQ32,
|
||||
GPIO_FN_IRQ33,
|
||||
GPIO_FN_IRQ34,
|
||||
GPIO_FN_IRQ35,
|
||||
GPIO_FN_IRQ36,
|
||||
GPIO_FN_IRQ37,
|
||||
GPIO_FN_IRQ38,
|
||||
GPIO_FN_IRQ39,
|
||||
|
||||
/* Port201 */
|
||||
GPIO_FN_A1,
|
||||
|
||||
/* Port202 */
|
||||
GPIO_FN_A0,
|
||||
GPIO_FN_BS,
|
||||
|
||||
/* Port203 */
|
||||
GPIO_FN_CKO,
|
||||
GPIO_FN_MMCCLK1,
|
||||
|
||||
/* Port204 */
|
||||
GPIO_FN_CS0_N,
|
||||
GPIO_FN_SIM0_GPO1,
|
||||
|
||||
/* Port205 */
|
||||
GPIO_FN_CS2_N,
|
||||
GPIO_FN_SIM0_GPO2,
|
||||
|
||||
/* Port206 */
|
||||
GPIO_FN_CS4_N,
|
||||
GPIO_FN_VIO_VD,
|
||||
GPIO_FN_SIM1_GPO0,
|
||||
|
||||
/* Port207 - Port212 FN1 */
|
||||
GPIO_FN_D15,
|
||||
GPIO_FN_D14,
|
||||
GPIO_FN_D13,
|
||||
GPIO_FN_D12,
|
||||
GPIO_FN_D11,
|
||||
GPIO_FN_D10,
|
||||
|
||||
/* Port207 - Port212 FN5 */
|
||||
GPIO_FN_GIO_OUT15,
|
||||
GPIO_FN_GIO_OUT14,
|
||||
GPIO_FN_GIO_OUT13,
|
||||
GPIO_FN_GIO_OUT12,
|
||||
GPIO_FN_WGM_TXP2,
|
||||
GPIO_FN_WGM_GPS_TIMEM_ASK_RFCLK,
|
||||
|
||||
/* Port213 - Port222 FN1 */
|
||||
GPIO_FN_D9,
|
||||
GPIO_FN_D8,
|
||||
GPIO_FN_D7,
|
||||
GPIO_FN_D6,
|
||||
GPIO_FN_D5,
|
||||
GPIO_FN_D4,
|
||||
GPIO_FN_D3,
|
||||
GPIO_FN_D2,
|
||||
GPIO_FN_D1,
|
||||
GPIO_FN_D0,
|
||||
|
||||
/* Port213 - Port222 FN2 */
|
||||
GPIO_FN_VIO_D9,
|
||||
GPIO_FN_VIO_D8,
|
||||
GPIO_FN_VIO_D7,
|
||||
GPIO_FN_VIO_D6,
|
||||
GPIO_FN_VIO_D5,
|
||||
GPIO_FN_VIO_D4,
|
||||
GPIO_FN_VIO_D3,
|
||||
GPIO_FN_VIO_D2,
|
||||
GPIO_FN_VIO_D1,
|
||||
GPIO_FN_VIO_D0,
|
||||
|
||||
/* Port213 - Port222 FN5 */
|
||||
GPIO_FN_GIO_OUT9,
|
||||
GPIO_FN_GIO_OUT8,
|
||||
GPIO_FN_GIO_OUT7,
|
||||
GPIO_FN_GIO_OUT6,
|
||||
GPIO_FN_GIO_OUT5_217,
|
||||
GPIO_FN_GIO_OUT4_218,
|
||||
GPIO_FN_GIO_OUT3_219,
|
||||
GPIO_FN_GIO_OUT2_220,
|
||||
GPIO_FN_GIO_OUT1_221,
|
||||
GPIO_FN_GIO_OUT0_222,
|
||||
|
||||
/* Port224 */
|
||||
GPIO_FN_RDWR_224,
|
||||
GPIO_FN_VIO_HD,
|
||||
GPIO_FN_SIM1_GPO2,
|
||||
|
||||
/* Port225 */
|
||||
GPIO_FN_RD_N,
|
||||
|
||||
/* Port226 */
|
||||
GPIO_FN_WAIT_N,
|
||||
GPIO_FN_VIO_CLK,
|
||||
GPIO_FN_SIM1_GPO1,
|
||||
|
||||
/* Port227 */
|
||||
GPIO_FN_WE0_N,
|
||||
GPIO_FN_RDWR_227,
|
||||
|
||||
/* Port228 */
|
||||
GPIO_FN_WE1_N,
|
||||
GPIO_FN_SIM0_GPO0,
|
||||
|
||||
/* Port229 */
|
||||
GPIO_FN_PWMO,
|
||||
GPIO_FN_VIO_CKO1_229,
|
||||
|
||||
/* Port230 */
|
||||
GPIO_FN_SLIM_CLK,
|
||||
GPIO_FN_VIO_CKO4_230,
|
||||
|
||||
/* Port231 */
|
||||
GPIO_FN_SLIM_DATA,
|
||||
GPIO_FN_VIO_CKO5_231,
|
||||
|
||||
/* Port232 */
|
||||
GPIO_FN_VIO_CKO2_232,
|
||||
GPIO_FN_SF_PORT_0_232,
|
||||
|
||||
/* Port233 */
|
||||
GPIO_FN_VIO_CKO3_233,
|
||||
GPIO_FN_SF_PORT_1_233,
|
||||
|
||||
/* Port234 */
|
||||
GPIO_FN_FSIACK,
|
||||
GPIO_FN_PDM3_CLK_234,
|
||||
GPIO_FN_ISP_IRIS1_234,
|
||||
|
||||
/* Port235 */
|
||||
GPIO_FN_FSIAISLD,
|
||||
GPIO_FN_PDM3_DATA_235,
|
||||
|
||||
/* Port236 */
|
||||
GPIO_FN_FSIAOMC,
|
||||
GPIO_FN_PDM0_OUTCLK_236,
|
||||
GPIO_FN_ISP_IRIS0_236,
|
||||
|
||||
/* Port237 */
|
||||
GPIO_FN_FSIAOLR,
|
||||
GPIO_FN_FSIAILR,
|
||||
|
||||
/* Port238 */
|
||||
GPIO_FN_FSIAOBT,
|
||||
GPIO_FN_FSIAIBT,
|
||||
|
||||
/* Port239 */
|
||||
GPIO_FN_FSIAOSLD,
|
||||
GPIO_FN_PDM0_OUTDATA_239,
|
||||
|
||||
/* Port240 */
|
||||
GPIO_FN_FSIBISLD,
|
||||
|
||||
/* Port241 */
|
||||
GPIO_FN_FSIBOLR,
|
||||
GPIO_FN_FSIBILR,
|
||||
|
||||
/* Port242 */
|
||||
GPIO_FN_FSIBOMC,
|
||||
GPIO_FN_ISP_SHUTTER1_242,
|
||||
|
||||
/* Port243 */
|
||||
GPIO_FN_FSIBOBT,
|
||||
GPIO_FN_FSIBIBT,
|
||||
|
||||
/* Port244 */
|
||||
GPIO_FN_FSIBOSLD,
|
||||
GPIO_FN_FSIASPDIF,
|
||||
|
||||
/* Port245 */
|
||||
GPIO_FN_FSIBCK,
|
||||
GPIO_FN_ISP_SHUTTER0_245,
|
||||
|
||||
/* Port246 - Port250 FN1 */
|
||||
GPIO_FN_ISP_IRIS1_246,
|
||||
GPIO_FN_ISP_IRIS0_247,
|
||||
GPIO_FN_ISP_SHUTTER1_248,
|
||||
GPIO_FN_ISP_SHUTTER0_249,
|
||||
GPIO_FN_ISP_STROBE_250,
|
||||
|
||||
/* Port256 - Port258 */
|
||||
GPIO_FN_MSIOF0_SYNC,
|
||||
GPIO_FN_MSIOF0_RXD,
|
||||
GPIO_FN_MSIOF0_SCK,
|
||||
|
||||
/* Port259 */
|
||||
GPIO_FN_MSIOF0_SS2,
|
||||
GPIO_FN_VIO_CKO3_259,
|
||||
|
||||
/* Port260 */
|
||||
GPIO_FN_MSIOF0_TXD,
|
||||
|
||||
/* Port261 */
|
||||
GPIO_FN_SCIFB1_SCK_261,
|
||||
GPIO_FN_CHSCIF1_HSCK,
|
||||
|
||||
/* Port262 */
|
||||
GPIO_FN_SCIFB2_SCK_262,
|
||||
|
||||
/* Port263 - Port266 FN1 */
|
||||
GPIO_FN_MSIOF1_SS2,
|
||||
GPIO_FN_MSIOF1_TXD,
|
||||
GPIO_FN_MSIOF1_RXD,
|
||||
GPIO_FN_MSIOF1_SS1,
|
||||
|
||||
/* Port263 - Port266 FN4 */
|
||||
GPIO_FN_MSIOF5_SS2,
|
||||
GPIO_FN_MSIOF5_TXD,
|
||||
GPIO_FN_MSIOF5_RXD,
|
||||
GPIO_FN_MSIOF5_SS1,
|
||||
|
||||
/* Port267 */
|
||||
GPIO_FN_MSIOF0_SS1,
|
||||
|
||||
/* Port268 */
|
||||
GPIO_FN_MSIOF1_SCK,
|
||||
GPIO_FN_MSIOF5_SCK,
|
||||
|
||||
/* Port269 */
|
||||
GPIO_FN_MSIOF1_SYNC,
|
||||
GPIO_FN_MSIOF5_SYNC,
|
||||
|
||||
/* Port270 - Port273 FN1 */
|
||||
GPIO_FN_MSIOF2_SS1,
|
||||
GPIO_FN_MSIOF2_SS2,
|
||||
GPIO_FN_MSIOF3_SS2,
|
||||
GPIO_FN_MSIOF3_SS1,
|
||||
|
||||
/* Port270 - Port273 FN3 */
|
||||
GPIO_FN_VIO_CKO5_270,
|
||||
GPIO_FN_VIO_CKO2_271,
|
||||
GPIO_FN_VIO_CKO1_272,
|
||||
GPIO_FN_VIO_CKO4_273,
|
||||
|
||||
/* Port274 */
|
||||
GPIO_FN_MSIOF4_SS2,
|
||||
GPIO_FN_TPU1TO0,
|
||||
|
||||
/* Port275 - Port280 */
|
||||
GPIO_FN_IC_DP,
|
||||
GPIO_FN_SIM0_RST,
|
||||
GPIO_FN_IC_DM,
|
||||
GPIO_FN_SIM0_BSICOMP,
|
||||
GPIO_FN_SIM0_CLK,
|
||||
GPIO_FN_SIM0_IO,
|
||||
|
||||
/* Port281 */
|
||||
GPIO_FN_SIM1_IO,
|
||||
GPIO_FN_PDM2_DATA_281,
|
||||
|
||||
/* Port282 */
|
||||
GPIO_FN_SIM1_CLK,
|
||||
GPIO_FN_PDM2_CLK_282,
|
||||
|
||||
/* Port283 */
|
||||
GPIO_FN_SIM1_RST,
|
||||
|
||||
/* Port289 */
|
||||
GPIO_FN_SDHID1_0,
|
||||
GPIO_FN_STMDATA0_2,
|
||||
|
||||
/* Port290 */
|
||||
GPIO_FN_SDHID1_1,
|
||||
GPIO_FN_STMDATA1_2,
|
||||
GPIO_FN_IRQ51,
|
||||
|
||||
/* Port291 - Port294 FN1 */
|
||||
GPIO_FN_SDHID1_2,
|
||||
GPIO_FN_SDHID1_3,
|
||||
GPIO_FN_SDHICLK1,
|
||||
GPIO_FN_SDHICMD1,
|
||||
|
||||
/* Port291 - Port294 FN3 */
|
||||
GPIO_FN_STMDATA2_2,
|
||||
GPIO_FN_STMDATA3_2,
|
||||
GPIO_FN_STMCLK_2,
|
||||
GPIO_FN_STMSIDI_2,
|
||||
|
||||
/* Port295 */
|
||||
GPIO_FN_SDHID2_0,
|
||||
GPIO_FN_MSIOF4_TXD,
|
||||
GPIO_FN_SCIFB2_TXD_295,
|
||||
GPIO_FN_MSIOF6_TXD,
|
||||
|
||||
/* Port296 */
|
||||
GPIO_FN_SDHID2_1,
|
||||
GPIO_FN_MSIOF6_SS2,
|
||||
GPIO_FN_IRQ52,
|
||||
|
||||
/* Port297 - Port300 FN1 */
|
||||
GPIO_FN_SDHID2_2,
|
||||
GPIO_FN_SDHID2_3,
|
||||
GPIO_FN_SDHICLK2,
|
||||
GPIO_FN_SDHICMD2,
|
||||
|
||||
/* Port297 - Port300 FN2 */
|
||||
GPIO_FN_MSIOF4_RXD,
|
||||
GPIO_FN_MSIOF4_SYNC,
|
||||
GPIO_FN_MSIOF4_SCK,
|
||||
GPIO_FN_MSIOF4_SS1,
|
||||
|
||||
/* Port297 - Port300 FN3 */
|
||||
GPIO_FN_SCIFB2_RXD_297,
|
||||
GPIO_FN_SCIFB2_CTS_298,
|
||||
GPIO_FN_SCIFB2_SCK_299,
|
||||
GPIO_FN_SCIFB2_RTS_300,
|
||||
|
||||
/* Port297 - Port300 FN4 */
|
||||
GPIO_FN_MSIOF6_RXD,
|
||||
GPIO_FN_MSIOF6_SYNC,
|
||||
GPIO_FN_MSIOF6_SCK,
|
||||
GPIO_FN_MSIOF6_SS1,
|
||||
|
||||
/* Port301 */
|
||||
GPIO_FN_SDHICD0,
|
||||
GPIO_FN_IRQ50,
|
||||
|
||||
/* Port302 - Port306 FN1 */
|
||||
GPIO_FN_SDHID0_0,
|
||||
GPIO_FN_SDHID0_1,
|
||||
GPIO_FN_SDHID0_2,
|
||||
GPIO_FN_SDHID0_3,
|
||||
GPIO_FN_SDHICMD0,
|
||||
|
||||
/* Port302 - Port306 FN3 */
|
||||
GPIO_FN_STMDATA0_1,
|
||||
GPIO_FN_STMDATA1_1,
|
||||
GPIO_FN_STMDATA2_1,
|
||||
GPIO_FN_STMDATA3_1,
|
||||
GPIO_FN_STMSIDI_1,
|
||||
|
||||
/* Port307 */
|
||||
GPIO_FN_SDHIWP0,
|
||||
|
||||
/* Port308 */
|
||||
GPIO_FN_SDHICLK0,
|
||||
GPIO_FN_STMCLK_1,
|
||||
|
||||
/* Port320 - Port329 */
|
||||
GPIO_FN_IRQ16,
|
||||
GPIO_FN_IRQ17,
|
||||
GPIO_FN_IRQ28,
|
||||
GPIO_FN_IRQ29,
|
||||
GPIO_FN_IRQ30,
|
||||
GPIO_FN_IRQ53,
|
||||
GPIO_FN_IRQ54,
|
||||
GPIO_FN_IRQ55,
|
||||
GPIO_FN_IRQ56,
|
||||
GPIO_FN_IRQ57,
|
||||
};
|
||||
|
||||
void r8a73a4_add_standard_devices(void);
|
||||
void r8a73a4_clock_init(void);
|
||||
void r8a73a4_pinmux_init(void);
|
||||
|
|
|
@ -22,6 +22,11 @@ config GPIO_SH_PFC
|
|||
This enables support for GPIOs within the SoC's pin function
|
||||
controller.
|
||||
|
||||
config PINCTRL_PFC_R8A73A4
|
||||
def_bool y
|
||||
depends on ARCH_R8A73A4
|
||||
select PINCTRL_SH_PFC
|
||||
|
||||
config PINCTRL_PFC_R8A7740
|
||||
def_bool y
|
||||
depends on ARCH_R8A7740
|
||||
|
|
|
@ -3,6 +3,7 @@ ifeq ($(CONFIG_GPIO_SH_PFC),y)
|
|||
sh-pfc-objs += gpio.o
|
||||
endif
|
||||
obj-$(CONFIG_PINCTRL_SH_PFC) += sh-pfc.o
|
||||
obj-$(CONFIG_PINCTRL_PFC_R8A73A4) += pfc-r8a73a4.o
|
||||
obj-$(CONFIG_PINCTRL_PFC_R8A7740) += pfc-r8a7740.o
|
||||
obj-$(CONFIG_PINCTRL_PFC_R8A7779) += pfc-r8a7779.o
|
||||
obj-$(CONFIG_PINCTRL_PFC_SH7203) += pfc-sh7203.o
|
||||
|
|
|
@ -418,6 +418,9 @@ static int sh_pfc_remove(struct platform_device *pdev)
|
|||
}
|
||||
|
||||
static const struct platform_device_id sh_pfc_id_table[] = {
|
||||
#ifdef CONFIG_PINCTRL_PFC_R8A73A4
|
||||
{ "pfc-r8a73a4", (kernel_ulong_t)&r8a73a4_pinmux_info },
|
||||
#endif
|
||||
#ifdef CONFIG_PINCTRL_PFC_R8A7740
|
||||
{ "pfc-r8a7740", (kernel_ulong_t)&r8a7740_pinmux_info },
|
||||
#endif
|
||||
|
|
|
@ -54,6 +54,7 @@ void sh_pfc_write_raw_reg(void __iomem *mapped_reg, unsigned long reg_width,
|
|||
int sh_pfc_get_pin_index(struct sh_pfc *pfc, unsigned int pin);
|
||||
int sh_pfc_config_mux(struct sh_pfc *pfc, unsigned mark, int pinmux_type);
|
||||
|
||||
extern const struct sh_pfc_soc_info r8a73a4_pinmux_info;
|
||||
extern const struct sh_pfc_soc_info r8a7740_pinmux_info;
|
||||
extern const struct sh_pfc_soc_info r8a7779_pinmux_info;
|
||||
extern const struct sh_pfc_soc_info sh7203_pinmux_info;
|
||||
|
|
2826
drivers/pinctrl/sh-pfc/pfc-r8a73a4.c
Normal file
2826
drivers/pinctrl/sh-pfc/pfc-r8a73a4.c
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue