Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-only */
0002 /*
0003  * Pin-multiplex helper macros for TI DaVinci family devices
0004  *
0005  * Author: Vladimir Barinov, MontaVista Software, Inc. <source@mvista.com>
0006  *
0007  * 2007 (c) MontaVista Software, Inc.
0008  *
0009  * Copyright (C) 2008 Texas Instruments.
0010  */
0011 #ifndef _MACH_DAVINCI_MUX_H_
0012 #define _MACH_DAVINCI_MUX_H_
0013 
0014 struct mux_config {
0015     const char *name;
0016     const char *mux_reg_name;
0017     const unsigned char mux_reg;
0018     const unsigned char mask_offset;
0019     const unsigned char mask;
0020     const unsigned char mode;
0021     bool debug;
0022 };
0023 
0024 enum davinci_dm644x_index {
0025     /* ATA and HDDIR functions */
0026     DM644X_HDIREN,
0027     DM644X_ATAEN,
0028     DM644X_ATAEN_DISABLE,
0029 
0030     /* HPI functions */
0031     DM644X_HPIEN_DISABLE,
0032 
0033     /* AEAW functions */
0034     DM644X_AEAW,
0035     DM644X_AEAW0,
0036     DM644X_AEAW1,
0037     DM644X_AEAW2,
0038     DM644X_AEAW3,
0039     DM644X_AEAW4,
0040 
0041     /* Memory Stick */
0042     DM644X_MSTK,
0043 
0044     /* I2C */
0045     DM644X_I2C,
0046 
0047     /* ASP function */
0048     DM644X_MCBSP,
0049 
0050     /* UART1 */
0051     DM644X_UART1,
0052 
0053     /* UART2 */
0054     DM644X_UART2,
0055 
0056     /* PWM0 */
0057     DM644X_PWM0,
0058 
0059     /* PWM1 */
0060     DM644X_PWM1,
0061 
0062     /* PWM2 */
0063     DM644X_PWM2,
0064 
0065     /* VLYNQ function */
0066     DM644X_VLYNQEN,
0067     DM644X_VLSCREN,
0068     DM644X_VLYNQWD,
0069 
0070     /* EMAC and MDIO function */
0071     DM644X_EMACEN,
0072 
0073     /* GPIO3V[0:16] pins */
0074     DM644X_GPIO3V,
0075 
0076     /* GPIO pins */
0077     DM644X_GPIO0,
0078     DM644X_GPIO3,
0079     DM644X_GPIO43_44,
0080     DM644X_GPIO46_47,
0081 
0082     /* VPBE */
0083     DM644X_RGB666,
0084 
0085     /* LCD */
0086     DM644X_LOEEN,
0087     DM644X_LFLDEN,
0088 };
0089 
0090 enum davinci_dm646x_index {
0091     /* ATA function */
0092     DM646X_ATAEN,
0093 
0094     /* AUDIO Clock */
0095     DM646X_AUDCK1,
0096     DM646X_AUDCK0,
0097 
0098     /* CRGEN Control */
0099     DM646X_CRGMUX,
0100 
0101     /* VPIF Control */
0102     DM646X_STSOMUX_DISABLE,
0103     DM646X_STSIMUX_DISABLE,
0104     DM646X_PTSOMUX_DISABLE,
0105     DM646X_PTSIMUX_DISABLE,
0106 
0107     /* TSIF Control */
0108     DM646X_STSOMUX,
0109     DM646X_STSIMUX,
0110     DM646X_PTSOMUX_PARALLEL,
0111     DM646X_PTSIMUX_PARALLEL,
0112     DM646X_PTSOMUX_SERIAL,
0113     DM646X_PTSIMUX_SERIAL,
0114 };
0115 
0116 enum davinci_dm355_index {
0117     /* MMC/SD 0 */
0118     DM355_MMCSD0,
0119 
0120     /* MMC/SD 1 */
0121     DM355_SD1_CLK,
0122     DM355_SD1_CMD,
0123     DM355_SD1_DATA3,
0124     DM355_SD1_DATA2,
0125     DM355_SD1_DATA1,
0126     DM355_SD1_DATA0,
0127 
0128     /* I2C */
0129     DM355_I2C_SDA,
0130     DM355_I2C_SCL,
0131 
0132     /* ASP0 function */
0133     DM355_MCBSP0_BDX,
0134     DM355_MCBSP0_X,
0135     DM355_MCBSP0_BFSX,
0136     DM355_MCBSP0_BDR,
0137     DM355_MCBSP0_R,
0138     DM355_MCBSP0_BFSR,
0139 
0140     /* SPI0 */
0141     DM355_SPI0_SDI,
0142     DM355_SPI0_SDENA0,
0143     DM355_SPI0_SDENA1,
0144 
0145     /* IRQ muxing */
0146     DM355_INT_EDMA_CC,
0147     DM355_INT_EDMA_TC0_ERR,
0148     DM355_INT_EDMA_TC1_ERR,
0149 
0150     /* EDMA event muxing */
0151     DM355_EVT8_ASP1_TX,
0152     DM355_EVT9_ASP1_RX,
0153     DM355_EVT26_MMC0_RX,
0154 
0155     /* Video Out */
0156     DM355_VOUT_FIELD,
0157     DM355_VOUT_FIELD_G70,
0158     DM355_VOUT_HVSYNC,
0159     DM355_VOUT_COUTL_EN,
0160     DM355_VOUT_COUTH_EN,
0161 
0162     /* Video In Pin Mux */
0163     DM355_VIN_PCLK,
0164     DM355_VIN_CAM_WEN,
0165     DM355_VIN_CAM_VD,
0166     DM355_VIN_CAM_HD,
0167     DM355_VIN_YIN_EN,
0168     DM355_VIN_CINL_EN,
0169     DM355_VIN_CINH_EN,
0170 };
0171 
0172 enum davinci_dm365_index {
0173     /* MMC/SD 0 */
0174     DM365_MMCSD0,
0175 
0176     /* MMC/SD 1 */
0177     DM365_SD1_CLK,
0178     DM365_SD1_CMD,
0179     DM365_SD1_DATA3,
0180     DM365_SD1_DATA2,
0181     DM365_SD1_DATA1,
0182     DM365_SD1_DATA0,
0183 
0184     /* I2C */
0185     DM365_I2C_SDA,
0186     DM365_I2C_SCL,
0187 
0188     /* AEMIF */
0189     DM365_AEMIF_AR_A14,
0190     DM365_AEMIF_AR_BA0,
0191     DM365_AEMIF_A3,
0192     DM365_AEMIF_A7,
0193     DM365_AEMIF_D15_8,
0194     DM365_AEMIF_CE0,
0195     DM365_AEMIF_CE1,
0196     DM365_AEMIF_WE_OE,
0197 
0198     /* ASP0 function */
0199     DM365_MCBSP0_BDX,
0200     DM365_MCBSP0_X,
0201     DM365_MCBSP0_BFSX,
0202     DM365_MCBSP0_BDR,
0203     DM365_MCBSP0_R,
0204     DM365_MCBSP0_BFSR,
0205 
0206     /* SPI0 */
0207     DM365_SPI0_SCLK,
0208     DM365_SPI0_SDI,
0209     DM365_SPI0_SDO,
0210     DM365_SPI0_SDENA0,
0211     DM365_SPI0_SDENA1,
0212 
0213     /* UART */
0214     DM365_UART0_RXD,
0215     DM365_UART0_TXD,
0216     DM365_UART1_RXD,
0217     DM365_UART1_TXD,
0218     DM365_UART1_RTS,
0219     DM365_UART1_CTS,
0220 
0221     /* EMAC */
0222     DM365_EMAC_TX_EN,
0223     DM365_EMAC_TX_CLK,
0224     DM365_EMAC_COL,
0225     DM365_EMAC_TXD3,
0226     DM365_EMAC_TXD2,
0227     DM365_EMAC_TXD1,
0228     DM365_EMAC_TXD0,
0229     DM365_EMAC_RXD3,
0230     DM365_EMAC_RXD2,
0231     DM365_EMAC_RXD1,
0232     DM365_EMAC_RXD0,
0233     DM365_EMAC_RX_CLK,
0234     DM365_EMAC_RX_DV,
0235     DM365_EMAC_RX_ER,
0236     DM365_EMAC_CRS,
0237     DM365_EMAC_MDIO,
0238     DM365_EMAC_MDCLK,
0239 
0240     /* Key Scan */
0241     DM365_KEYSCAN,
0242 
0243     /* PWM */
0244     DM365_PWM0,
0245     DM365_PWM0_G23,
0246     DM365_PWM1,
0247     DM365_PWM1_G25,
0248     DM365_PWM2_G87,
0249     DM365_PWM2_G88,
0250     DM365_PWM2_G89,
0251     DM365_PWM2_G90,
0252     DM365_PWM3_G80,
0253     DM365_PWM3_G81,
0254     DM365_PWM3_G85,
0255     DM365_PWM3_G86,
0256 
0257     /* SPI1 */
0258     DM365_SPI1_SCLK,
0259     DM365_SPI1_SDO,
0260     DM365_SPI1_SDI,
0261     DM365_SPI1_SDENA0,
0262     DM365_SPI1_SDENA1,
0263 
0264     /* SPI2 */
0265     DM365_SPI2_SCLK,
0266     DM365_SPI2_SDO,
0267     DM365_SPI2_SDI,
0268     DM365_SPI2_SDENA0,
0269     DM365_SPI2_SDENA1,
0270 
0271     /* SPI3 */
0272     DM365_SPI3_SCLK,
0273     DM365_SPI3_SDO,
0274     DM365_SPI3_SDI,
0275     DM365_SPI3_SDENA0,
0276     DM365_SPI3_SDENA1,
0277 
0278     /* SPI4 */
0279     DM365_SPI4_SCLK,
0280     DM365_SPI4_SDO,
0281     DM365_SPI4_SDI,
0282     DM365_SPI4_SDENA0,
0283     DM365_SPI4_SDENA1,
0284 
0285     /* Clock */
0286     DM365_CLKOUT0,
0287     DM365_CLKOUT1,
0288     DM365_CLKOUT2,
0289 
0290     /* GPIO */
0291     DM365_GPIO20,
0292     DM365_GPIO30,
0293     DM365_GPIO31,
0294     DM365_GPIO32,
0295     DM365_GPIO33,
0296     DM365_GPIO40,
0297     DM365_GPIO64_57,
0298 
0299     /* Video */
0300     DM365_VOUT_FIELD,
0301     DM365_VOUT_FIELD_G81,
0302     DM365_VOUT_HVSYNC,
0303     DM365_VOUT_COUTL_EN,
0304     DM365_VOUT_COUTH_EN,
0305     DM365_VIN_CAM_WEN,
0306     DM365_VIN_CAM_VD,
0307     DM365_VIN_CAM_HD,
0308     DM365_VIN_YIN4_7_EN,
0309     DM365_VIN_YIN0_3_EN,
0310 
0311     /* IRQ muxing */
0312     DM365_INT_EDMA_CC,
0313     DM365_INT_EDMA_TC0_ERR,
0314     DM365_INT_EDMA_TC1_ERR,
0315     DM365_INT_EDMA_TC2_ERR,
0316     DM365_INT_EDMA_TC3_ERR,
0317     DM365_INT_PRTCSS,
0318     DM365_INT_EMAC_RXTHRESH,
0319     DM365_INT_EMAC_RXPULSE,
0320     DM365_INT_EMAC_TXPULSE,
0321     DM365_INT_EMAC_MISCPULSE,
0322     DM365_INT_IMX0_ENABLE,
0323     DM365_INT_IMX0_DISABLE,
0324     DM365_INT_HDVICP_ENABLE,
0325     DM365_INT_HDVICP_DISABLE,
0326     DM365_INT_IMX1_ENABLE,
0327     DM365_INT_IMX1_DISABLE,
0328     DM365_INT_NSF_ENABLE,
0329     DM365_INT_NSF_DISABLE,
0330 
0331     /* EDMA event muxing */
0332     DM365_EVT2_ASP_TX,
0333     DM365_EVT3_ASP_RX,
0334     DM365_EVT2_VC_TX,
0335     DM365_EVT3_VC_RX,
0336     DM365_EVT26_MMC0_RX,
0337 };
0338 
0339 enum da830_index {
0340     DA830_GPIO7_14,
0341     DA830_RTCK,
0342     DA830_GPIO7_15,
0343     DA830_EMU_0,
0344     DA830_EMB_SDCKE,
0345     DA830_EMB_CLK_GLUE,
0346     DA830_EMB_CLK,
0347     DA830_NEMB_CS_0,
0348     DA830_NEMB_CAS,
0349     DA830_NEMB_RAS,
0350     DA830_NEMB_WE,
0351     DA830_EMB_BA_1,
0352     DA830_EMB_BA_0,
0353     DA830_EMB_A_0,
0354     DA830_EMB_A_1,
0355     DA830_EMB_A_2,
0356     DA830_EMB_A_3,
0357     DA830_EMB_A_4,
0358     DA830_EMB_A_5,
0359     DA830_GPIO7_0,
0360     DA830_GPIO7_1,
0361     DA830_GPIO7_2,
0362     DA830_GPIO7_3,
0363     DA830_GPIO7_4,
0364     DA830_GPIO7_5,
0365     DA830_GPIO7_6,
0366     DA830_GPIO7_7,
0367     DA830_EMB_A_6,
0368     DA830_EMB_A_7,
0369     DA830_EMB_A_8,
0370     DA830_EMB_A_9,
0371     DA830_EMB_A_10,
0372     DA830_EMB_A_11,
0373     DA830_EMB_A_12,
0374     DA830_EMB_D_31,
0375     DA830_GPIO7_8,
0376     DA830_GPIO7_9,
0377     DA830_GPIO7_10,
0378     DA830_GPIO7_11,
0379     DA830_GPIO7_12,
0380     DA830_GPIO7_13,
0381     DA830_GPIO3_13,
0382     DA830_EMB_D_30,
0383     DA830_EMB_D_29,
0384     DA830_EMB_D_28,
0385     DA830_EMB_D_27,
0386     DA830_EMB_D_26,
0387     DA830_EMB_D_25,
0388     DA830_EMB_D_24,
0389     DA830_EMB_D_23,
0390     DA830_EMB_D_22,
0391     DA830_EMB_D_21,
0392     DA830_EMB_D_20,
0393     DA830_EMB_D_19,
0394     DA830_EMB_D_18,
0395     DA830_EMB_D_17,
0396     DA830_EMB_D_16,
0397     DA830_NEMB_WE_DQM_3,
0398     DA830_NEMB_WE_DQM_2,
0399     DA830_EMB_D_0,
0400     DA830_EMB_D_1,
0401     DA830_EMB_D_2,
0402     DA830_EMB_D_3,
0403     DA830_EMB_D_4,
0404     DA830_EMB_D_5,
0405     DA830_EMB_D_6,
0406     DA830_GPIO6_0,
0407     DA830_GPIO6_1,
0408     DA830_GPIO6_2,
0409     DA830_GPIO6_3,
0410     DA830_GPIO6_4,
0411     DA830_GPIO6_5,
0412     DA830_GPIO6_6,
0413     DA830_EMB_D_7,
0414     DA830_EMB_D_8,
0415     DA830_EMB_D_9,
0416     DA830_EMB_D_10,
0417     DA830_EMB_D_11,
0418     DA830_EMB_D_12,
0419     DA830_EMB_D_13,
0420     DA830_EMB_D_14,
0421     DA830_GPIO6_7,
0422     DA830_GPIO6_8,
0423     DA830_GPIO6_9,
0424     DA830_GPIO6_10,
0425     DA830_GPIO6_11,
0426     DA830_GPIO6_12,
0427     DA830_GPIO6_13,
0428     DA830_GPIO6_14,
0429     DA830_EMB_D_15,
0430     DA830_NEMB_WE_DQM_1,
0431     DA830_NEMB_WE_DQM_0,
0432     DA830_SPI0_SOMI_0,
0433     DA830_SPI0_SIMO_0,
0434     DA830_SPI0_CLK,
0435     DA830_NSPI0_ENA,
0436     DA830_NSPI0_SCS_0,
0437     DA830_EQEP0I,
0438     DA830_EQEP0S,
0439     DA830_EQEP1I,
0440     DA830_NUART0_CTS,
0441     DA830_NUART0_RTS,
0442     DA830_EQEP0A,
0443     DA830_EQEP0B,
0444     DA830_GPIO6_15,
0445     DA830_GPIO5_14,
0446     DA830_GPIO5_15,
0447     DA830_GPIO5_0,
0448     DA830_GPIO5_1,
0449     DA830_GPIO5_2,
0450     DA830_GPIO5_3,
0451     DA830_GPIO5_4,
0452     DA830_SPI1_SOMI_0,
0453     DA830_SPI1_SIMO_0,
0454     DA830_SPI1_CLK,
0455     DA830_UART0_RXD,
0456     DA830_UART0_TXD,
0457     DA830_AXR1_10,
0458     DA830_AXR1_11,
0459     DA830_NSPI1_ENA,
0460     DA830_I2C1_SCL,
0461     DA830_I2C1_SDA,
0462     DA830_EQEP1S,
0463     DA830_I2C0_SDA,
0464     DA830_I2C0_SCL,
0465     DA830_UART2_RXD,
0466     DA830_TM64P0_IN12,
0467     DA830_TM64P0_OUT12,
0468     DA830_GPIO5_5,
0469     DA830_GPIO5_6,
0470     DA830_GPIO5_7,
0471     DA830_GPIO5_8,
0472     DA830_GPIO5_9,
0473     DA830_GPIO5_10,
0474     DA830_GPIO5_11,
0475     DA830_GPIO5_12,
0476     DA830_NSPI1_SCS_0,
0477     DA830_USB0_DRVVBUS,
0478     DA830_AHCLKX0,
0479     DA830_ACLKX0,
0480     DA830_AFSX0,
0481     DA830_AHCLKR0,
0482     DA830_ACLKR0,
0483     DA830_AFSR0,
0484     DA830_UART2_TXD,
0485     DA830_AHCLKX2,
0486     DA830_ECAP0_APWM0,
0487     DA830_RMII_MHZ_50_CLK,
0488     DA830_ECAP1_APWM1,
0489     DA830_USB_REFCLKIN,
0490     DA830_GPIO5_13,
0491     DA830_GPIO4_15,
0492     DA830_GPIO2_11,
0493     DA830_GPIO2_12,
0494     DA830_GPIO2_13,
0495     DA830_GPIO2_14,
0496     DA830_GPIO2_15,
0497     DA830_GPIO3_12,
0498     DA830_AMUTE0,
0499     DA830_AXR0_0,
0500     DA830_AXR0_1,
0501     DA830_AXR0_2,
0502     DA830_AXR0_3,
0503     DA830_AXR0_4,
0504     DA830_AXR0_5,
0505     DA830_AXR0_6,
0506     DA830_RMII_TXD_0,
0507     DA830_RMII_TXD_1,
0508     DA830_RMII_TXEN,
0509     DA830_RMII_CRS_DV,
0510     DA830_RMII_RXD_0,
0511     DA830_RMII_RXD_1,
0512     DA830_RMII_RXER,
0513     DA830_AFSR2,
0514     DA830_ACLKX2,
0515     DA830_AXR2_3,
0516     DA830_AXR2_2,
0517     DA830_AXR2_1,
0518     DA830_AFSX2,
0519     DA830_ACLKR2,
0520     DA830_NRESETOUT,
0521     DA830_GPIO3_0,
0522     DA830_GPIO3_1,
0523     DA830_GPIO3_2,
0524     DA830_GPIO3_3,
0525     DA830_GPIO3_4,
0526     DA830_GPIO3_5,
0527     DA830_GPIO3_6,
0528     DA830_AXR0_7,
0529     DA830_AXR0_8,
0530     DA830_UART1_RXD,
0531     DA830_UART1_TXD,
0532     DA830_AXR0_11,
0533     DA830_AHCLKX1,
0534     DA830_ACLKX1,
0535     DA830_AFSX1,
0536     DA830_MDIO_CLK,
0537     DA830_MDIO_D,
0538     DA830_AXR0_9,
0539     DA830_AXR0_10,
0540     DA830_EPWM0B,
0541     DA830_EPWM0A,
0542     DA830_EPWMSYNCI,
0543     DA830_AXR2_0,
0544     DA830_EPWMSYNC0,
0545     DA830_GPIO3_7,
0546     DA830_GPIO3_8,
0547     DA830_GPIO3_9,
0548     DA830_GPIO3_10,
0549     DA830_GPIO3_11,
0550     DA830_GPIO3_14,
0551     DA830_GPIO3_15,
0552     DA830_GPIO4_10,
0553     DA830_AHCLKR1,
0554     DA830_ACLKR1,
0555     DA830_AFSR1,
0556     DA830_AMUTE1,
0557     DA830_AXR1_0,
0558     DA830_AXR1_1,
0559     DA830_AXR1_2,
0560     DA830_AXR1_3,
0561     DA830_ECAP2_APWM2,
0562     DA830_EHRPWMGLUETZ,
0563     DA830_EQEP1A,
0564     DA830_GPIO4_11,
0565     DA830_GPIO4_12,
0566     DA830_GPIO4_13,
0567     DA830_GPIO4_14,
0568     DA830_GPIO4_0,
0569     DA830_GPIO4_1,
0570     DA830_GPIO4_2,
0571     DA830_GPIO4_3,
0572     DA830_AXR1_4,
0573     DA830_AXR1_5,
0574     DA830_AXR1_6,
0575     DA830_AXR1_7,
0576     DA830_AXR1_8,
0577     DA830_AXR1_9,
0578     DA830_EMA_D_0,
0579     DA830_EMA_D_1,
0580     DA830_EQEP1B,
0581     DA830_EPWM2B,
0582     DA830_EPWM2A,
0583     DA830_EPWM1B,
0584     DA830_EPWM1A,
0585     DA830_MMCSD_DAT_0,
0586     DA830_MMCSD_DAT_1,
0587     DA830_UHPI_HD_0,
0588     DA830_UHPI_HD_1,
0589     DA830_GPIO4_4,
0590     DA830_GPIO4_5,
0591     DA830_GPIO4_6,
0592     DA830_GPIO4_7,
0593     DA830_GPIO4_8,
0594     DA830_GPIO4_9,
0595     DA830_GPIO0_0,
0596     DA830_GPIO0_1,
0597     DA830_EMA_D_2,
0598     DA830_EMA_D_3,
0599     DA830_EMA_D_4,
0600     DA830_EMA_D_5,
0601     DA830_EMA_D_6,
0602     DA830_EMA_D_7,
0603     DA830_EMA_D_8,
0604     DA830_EMA_D_9,
0605     DA830_MMCSD_DAT_2,
0606     DA830_MMCSD_DAT_3,
0607     DA830_MMCSD_DAT_4,
0608     DA830_MMCSD_DAT_5,
0609     DA830_MMCSD_DAT_6,
0610     DA830_MMCSD_DAT_7,
0611     DA830_UHPI_HD_8,
0612     DA830_UHPI_HD_9,
0613     DA830_UHPI_HD_2,
0614     DA830_UHPI_HD_3,
0615     DA830_UHPI_HD_4,
0616     DA830_UHPI_HD_5,
0617     DA830_UHPI_HD_6,
0618     DA830_UHPI_HD_7,
0619     DA830_LCD_D_8,
0620     DA830_LCD_D_9,
0621     DA830_GPIO0_2,
0622     DA830_GPIO0_3,
0623     DA830_GPIO0_4,
0624     DA830_GPIO0_5,
0625     DA830_GPIO0_6,
0626     DA830_GPIO0_7,
0627     DA830_GPIO0_8,
0628     DA830_GPIO0_9,
0629     DA830_EMA_D_10,
0630     DA830_EMA_D_11,
0631     DA830_EMA_D_12,
0632     DA830_EMA_D_13,
0633     DA830_EMA_D_14,
0634     DA830_EMA_D_15,
0635     DA830_EMA_A_0,
0636     DA830_EMA_A_1,
0637     DA830_UHPI_HD_10,
0638     DA830_UHPI_HD_11,
0639     DA830_UHPI_HD_12,
0640     DA830_UHPI_HD_13,
0641     DA830_UHPI_HD_14,
0642     DA830_UHPI_HD_15,
0643     DA830_LCD_D_7,
0644     DA830_MMCSD_CLK,
0645     DA830_LCD_D_10,
0646     DA830_LCD_D_11,
0647     DA830_LCD_D_12,
0648     DA830_LCD_D_13,
0649     DA830_LCD_D_14,
0650     DA830_LCD_D_15,
0651     DA830_UHPI_HCNTL0,
0652     DA830_GPIO0_10,
0653     DA830_GPIO0_11,
0654     DA830_GPIO0_12,
0655     DA830_GPIO0_13,
0656     DA830_GPIO0_14,
0657     DA830_GPIO0_15,
0658     DA830_GPIO1_0,
0659     DA830_GPIO1_1,
0660     DA830_EMA_A_2,
0661     DA830_EMA_A_3,
0662     DA830_EMA_A_4,
0663     DA830_EMA_A_5,
0664     DA830_EMA_A_6,
0665     DA830_EMA_A_7,
0666     DA830_EMA_A_8,
0667     DA830_EMA_A_9,
0668     DA830_MMCSD_CMD,
0669     DA830_LCD_D_6,
0670     DA830_LCD_D_3,
0671     DA830_LCD_D_2,
0672     DA830_LCD_D_1,
0673     DA830_LCD_D_0,
0674     DA830_LCD_PCLK,
0675     DA830_LCD_HSYNC,
0676     DA830_UHPI_HCNTL1,
0677     DA830_GPIO1_2,
0678     DA830_GPIO1_3,
0679     DA830_GPIO1_4,
0680     DA830_GPIO1_5,
0681     DA830_GPIO1_6,
0682     DA830_GPIO1_7,
0683     DA830_GPIO1_8,
0684     DA830_GPIO1_9,
0685     DA830_EMA_A_10,
0686     DA830_EMA_A_11,
0687     DA830_EMA_A_12,
0688     DA830_EMA_BA_1,
0689     DA830_EMA_BA_0,
0690     DA830_EMA_CLK,
0691     DA830_EMA_SDCKE,
0692     DA830_NEMA_CAS,
0693     DA830_LCD_VSYNC,
0694     DA830_NLCD_AC_ENB_CS,
0695     DA830_LCD_MCLK,
0696     DA830_LCD_D_5,
0697     DA830_LCD_D_4,
0698     DA830_OBSCLK,
0699     DA830_NEMA_CS_4,
0700     DA830_UHPI_HHWIL,
0701     DA830_AHCLKR2,
0702     DA830_GPIO1_10,
0703     DA830_GPIO1_11,
0704     DA830_GPIO1_12,
0705     DA830_GPIO1_13,
0706     DA830_GPIO1_14,
0707     DA830_GPIO1_15,
0708     DA830_GPIO2_0,
0709     DA830_GPIO2_1,
0710     DA830_NEMA_RAS,
0711     DA830_NEMA_WE,
0712     DA830_NEMA_CS_0,
0713     DA830_NEMA_CS_2,
0714     DA830_NEMA_CS_3,
0715     DA830_NEMA_OE,
0716     DA830_NEMA_WE_DQM_1,
0717     DA830_NEMA_WE_DQM_0,
0718     DA830_NEMA_CS_5,
0719     DA830_UHPI_HRNW,
0720     DA830_NUHPI_HAS,
0721     DA830_NUHPI_HCS,
0722     DA830_NUHPI_HDS1,
0723     DA830_NUHPI_HDS2,
0724     DA830_NUHPI_HINT,
0725     DA830_AXR0_12,
0726     DA830_AMUTE2,
0727     DA830_AXR0_13,
0728     DA830_AXR0_14,
0729     DA830_AXR0_15,
0730     DA830_GPIO2_2,
0731     DA830_GPIO2_3,
0732     DA830_GPIO2_4,
0733     DA830_GPIO2_5,
0734     DA830_GPIO2_6,
0735     DA830_GPIO2_7,
0736     DA830_GPIO2_8,
0737     DA830_GPIO2_9,
0738     DA830_EMA_WAIT_0,
0739     DA830_NUHPI_HRDY,
0740     DA830_GPIO2_10,
0741 };
0742 
0743 enum davinci_da850_index {
0744     /* UART0 function */
0745     DA850_NUART0_CTS,
0746     DA850_NUART0_RTS,
0747     DA850_UART0_RXD,
0748     DA850_UART0_TXD,
0749 
0750     /* UART1 function */
0751     DA850_NUART1_CTS,
0752     DA850_NUART1_RTS,
0753     DA850_UART1_RXD,
0754     DA850_UART1_TXD,
0755 
0756     /* UART2 function */
0757     DA850_NUART2_CTS,
0758     DA850_NUART2_RTS,
0759     DA850_UART2_RXD,
0760     DA850_UART2_TXD,
0761 
0762     /* I2C1 function */
0763     DA850_I2C1_SCL,
0764     DA850_I2C1_SDA,
0765 
0766     /* I2C0 function */
0767     DA850_I2C0_SDA,
0768     DA850_I2C0_SCL,
0769 
0770     /* EMAC function */
0771     DA850_MII_TXEN,
0772     DA850_MII_TXCLK,
0773     DA850_MII_COL,
0774     DA850_MII_TXD_3,
0775     DA850_MII_TXD_2,
0776     DA850_MII_TXD_1,
0777     DA850_MII_TXD_0,
0778     DA850_MII_RXER,
0779     DA850_MII_CRS,
0780     DA850_MII_RXCLK,
0781     DA850_MII_RXDV,
0782     DA850_MII_RXD_3,
0783     DA850_MII_RXD_2,
0784     DA850_MII_RXD_1,
0785     DA850_MII_RXD_0,
0786     DA850_MDIO_CLK,
0787     DA850_MDIO_D,
0788     DA850_RMII_TXD_0,
0789     DA850_RMII_TXD_1,
0790     DA850_RMII_TXEN,
0791     DA850_RMII_CRS_DV,
0792     DA850_RMII_RXD_0,
0793     DA850_RMII_RXD_1,
0794     DA850_RMII_RXER,
0795     DA850_RMII_MHZ_50_CLK,
0796 
0797     /* McASP function */
0798     DA850_ACLKR,
0799     DA850_ACLKX,
0800     DA850_AFSR,
0801     DA850_AFSX,
0802     DA850_AHCLKR,
0803     DA850_AHCLKX,
0804     DA850_AMUTE,
0805     DA850_AXR_15,
0806     DA850_AXR_14,
0807     DA850_AXR_13,
0808     DA850_AXR_12,
0809     DA850_AXR_11,
0810     DA850_AXR_10,
0811     DA850_AXR_9,
0812     DA850_AXR_8,
0813     DA850_AXR_7,
0814     DA850_AXR_6,
0815     DA850_AXR_5,
0816     DA850_AXR_4,
0817     DA850_AXR_3,
0818     DA850_AXR_2,
0819     DA850_AXR_1,
0820     DA850_AXR_0,
0821 
0822     /* LCD function */
0823     DA850_LCD_D_7,
0824     DA850_LCD_D_6,
0825     DA850_LCD_D_5,
0826     DA850_LCD_D_4,
0827     DA850_LCD_D_3,
0828     DA850_LCD_D_2,
0829     DA850_LCD_D_1,
0830     DA850_LCD_D_0,
0831     DA850_LCD_D_15,
0832     DA850_LCD_D_14,
0833     DA850_LCD_D_13,
0834     DA850_LCD_D_12,
0835     DA850_LCD_D_11,
0836     DA850_LCD_D_10,
0837     DA850_LCD_D_9,
0838     DA850_LCD_D_8,
0839     DA850_LCD_PCLK,
0840     DA850_LCD_HSYNC,
0841     DA850_LCD_VSYNC,
0842     DA850_NLCD_AC_ENB_CS,
0843 
0844     /* MMC/SD0 function */
0845     DA850_MMCSD0_DAT_0,
0846     DA850_MMCSD0_DAT_1,
0847     DA850_MMCSD0_DAT_2,
0848     DA850_MMCSD0_DAT_3,
0849     DA850_MMCSD0_CLK,
0850     DA850_MMCSD0_CMD,
0851 
0852     /* MMC/SD1 function */
0853     DA850_MMCSD1_DAT_0,
0854     DA850_MMCSD1_DAT_1,
0855     DA850_MMCSD1_DAT_2,
0856     DA850_MMCSD1_DAT_3,
0857     DA850_MMCSD1_CLK,
0858     DA850_MMCSD1_CMD,
0859 
0860     /* EMIF2.5/EMIFA function */
0861     DA850_EMA_D_7,
0862     DA850_EMA_D_6,
0863     DA850_EMA_D_5,
0864     DA850_EMA_D_4,
0865     DA850_EMA_D_3,
0866     DA850_EMA_D_2,
0867     DA850_EMA_D_1,
0868     DA850_EMA_D_0,
0869     DA850_EMA_A_1,
0870     DA850_EMA_A_2,
0871     DA850_NEMA_CS_3,
0872     DA850_NEMA_CS_4,
0873     DA850_NEMA_WE,
0874     DA850_NEMA_OE,
0875     DA850_EMA_D_15,
0876     DA850_EMA_D_14,
0877     DA850_EMA_D_13,
0878     DA850_EMA_D_12,
0879     DA850_EMA_D_11,
0880     DA850_EMA_D_10,
0881     DA850_EMA_D_9,
0882     DA850_EMA_D_8,
0883     DA850_EMA_A_0,
0884     DA850_EMA_A_3,
0885     DA850_EMA_A_4,
0886     DA850_EMA_A_5,
0887     DA850_EMA_A_6,
0888     DA850_EMA_A_7,
0889     DA850_EMA_A_8,
0890     DA850_EMA_A_9,
0891     DA850_EMA_A_10,
0892     DA850_EMA_A_11,
0893     DA850_EMA_A_12,
0894     DA850_EMA_A_13,
0895     DA850_EMA_A_14,
0896     DA850_EMA_A_15,
0897     DA850_EMA_A_16,
0898     DA850_EMA_A_17,
0899     DA850_EMA_A_18,
0900     DA850_EMA_A_19,
0901     DA850_EMA_A_20,
0902     DA850_EMA_A_21,
0903     DA850_EMA_A_22,
0904     DA850_EMA_A_23,
0905     DA850_EMA_BA_1,
0906     DA850_EMA_CLK,
0907     DA850_EMA_WAIT_1,
0908     DA850_NEMA_CS_2,
0909 
0910     /* GPIO function */
0911     DA850_GPIO2_4,
0912     DA850_GPIO2_6,
0913     DA850_GPIO2_8,
0914     DA850_GPIO2_15,
0915     DA850_GPIO3_12,
0916     DA850_GPIO3_13,
0917     DA850_GPIO4_0,
0918     DA850_GPIO4_1,
0919     DA850_GPIO6_9,
0920     DA850_GPIO6_10,
0921     DA850_GPIO6_13,
0922     DA850_RTC_ALARM,
0923 
0924     /* VPIF Capture */
0925     DA850_VPIF_DIN0,
0926     DA850_VPIF_DIN1,
0927     DA850_VPIF_DIN2,
0928     DA850_VPIF_DIN3,
0929     DA850_VPIF_DIN4,
0930     DA850_VPIF_DIN5,
0931     DA850_VPIF_DIN6,
0932     DA850_VPIF_DIN7,
0933     DA850_VPIF_DIN8,
0934     DA850_VPIF_DIN9,
0935     DA850_VPIF_DIN10,
0936     DA850_VPIF_DIN11,
0937     DA850_VPIF_DIN12,
0938     DA850_VPIF_DIN13,
0939     DA850_VPIF_DIN14,
0940     DA850_VPIF_DIN15,
0941     DA850_VPIF_CLKIN0,
0942     DA850_VPIF_CLKIN1,
0943     DA850_VPIF_CLKIN2,
0944     DA850_VPIF_CLKIN3,
0945 
0946     /* VPIF Display */
0947     DA850_VPIF_DOUT0,
0948     DA850_VPIF_DOUT1,
0949     DA850_VPIF_DOUT2,
0950     DA850_VPIF_DOUT3,
0951     DA850_VPIF_DOUT4,
0952     DA850_VPIF_DOUT5,
0953     DA850_VPIF_DOUT6,
0954     DA850_VPIF_DOUT7,
0955     DA850_VPIF_DOUT8,
0956     DA850_VPIF_DOUT9,
0957     DA850_VPIF_DOUT10,
0958     DA850_VPIF_DOUT11,
0959     DA850_VPIF_DOUT12,
0960     DA850_VPIF_DOUT13,
0961     DA850_VPIF_DOUT14,
0962     DA850_VPIF_DOUT15,
0963     DA850_VPIF_CLKO2,
0964     DA850_VPIF_CLKO3,
0965 };
0966 
0967 #define PINMUX(x)       (4 * (x))
0968 
0969 #ifdef CONFIG_DAVINCI_MUX
0970 /* setup pin muxing */
0971 extern int davinci_cfg_reg(unsigned long reg_cfg);
0972 extern int davinci_cfg_reg_list(const short pins[]);
0973 #else
0974 /* boot loader does it all (no warnings from CONFIG_DAVINCI_MUX_WARNINGS) */
0975 static inline int davinci_cfg_reg(unsigned long reg_cfg) { return 0; }
0976 static inline int davinci_cfg_reg_list(const short pins[])
0977 {
0978     return 0;
0979 }
0980 #endif
0981 
0982 
0983 #define MUX_CFG(soc, desc, muxreg, mode_offset, mode_mask, mux_mode, dbg)\
0984 [soc##_##desc] = {                          \
0985             .name =  #desc,                 \
0986             .debug = dbg,                   \
0987             .mux_reg_name = "PINMUX"#muxreg,        \
0988             .mux_reg = PINMUX(muxreg),          \
0989             .mask_offset = mode_offset,         \
0990             .mask = mode_mask,              \
0991             .mode = mux_mode,               \
0992         },
0993 
0994 #define INT_CFG(soc, desc, mode_offset, mode_mask, mux_mode, dbg)   \
0995 [soc##_##desc] = {                          \
0996             .name =  #desc,                 \
0997             .debug = dbg,                   \
0998             .mux_reg_name = "INTMUX",           \
0999             .mux_reg = INTMUX,              \
1000             .mask_offset = mode_offset,         \
1001             .mask = mode_mask,              \
1002             .mode = mux_mode,               \
1003         },
1004 
1005 #define EVT_CFG(soc, desc, mode_offset, mode_mask, mux_mode, dbg)   \
1006 [soc##_##desc] = {                          \
1007             .name =  #desc,                 \
1008             .debug = dbg,                   \
1009             .mux_reg_name = "EVTMUX",           \
1010             .mux_reg = EVTMUX,              \
1011             .mask_offset = mode_offset,         \
1012             .mask = mode_mask,              \
1013             .mode = mux_mode,               \
1014         },
1015 
1016 #endif /* _MACH_DAVINCI_MUX_H */