1127f9ae5SJean-Christophe PLAGNIOL-VILLARD /* 2127f9ae5SJean-Christophe PLAGNIOL-VILLARD * (C) Copyright 2008 3127f9ae5SJean-Christophe PLAGNIOL-VILLARD * Steve Sakoman <steve@sakoman.com> 4127f9ae5SJean-Christophe PLAGNIOL-VILLARD * 51a459660SWolfgang Denk * SPDX-License-Identifier: GPL-2.0+ 6127f9ae5SJean-Christophe PLAGNIOL-VILLARD */ 7127f9ae5SJean-Christophe PLAGNIOL-VILLARD #ifndef _OVERO_H_ 8127f9ae5SJean-Christophe PLAGNIOL-VILLARD #define _OVERO_H_ 9127f9ae5SJean-Christophe PLAGNIOL-VILLARD 10127f9ae5SJean-Christophe PLAGNIOL-VILLARD const omap3_sysinfo sysinfo = { 11127f9ae5SJean-Christophe PLAGNIOL-VILLARD DDR_STACKED, 12127f9ae5SJean-Christophe PLAGNIOL-VILLARD "Gumstix Overo board", 13127f9ae5SJean-Christophe PLAGNIOL-VILLARD #if defined(CONFIG_ENV_IS_IN_ONENAND) 14127f9ae5SJean-Christophe PLAGNIOL-VILLARD "OneNAND", 15127f9ae5SJean-Christophe PLAGNIOL-VILLARD #else 16127f9ae5SJean-Christophe PLAGNIOL-VILLARD "NAND", 17127f9ae5SJean-Christophe PLAGNIOL-VILLARD #endif 18127f9ae5SJean-Christophe PLAGNIOL-VILLARD }; 19127f9ae5SJean-Christophe PLAGNIOL-VILLARD 20*fe5d488fSArun Bharadwaj int get_board_revision(void); 21*fe5d488fSArun Bharadwaj 22137703b8SAndreas Müller /* overo revisions */ 23137703b8SAndreas Müller #define REVISION_0 0x0 24137703b8SAndreas Müller #define REVISION_1 0x1 25137703b8SAndreas Müller #define REVISION_2 0x2 2649720a4bSSteve Sakoman #define REVISION_3 0x3 27be4cc457SAsh Charles #define REVISION_4 0x4 28137703b8SAndreas Müller 29127f9ae5SJean-Christophe PLAGNIOL-VILLARD /* 30127f9ae5SJean-Christophe PLAGNIOL-VILLARD * IEN - Input Enable 31127f9ae5SJean-Christophe PLAGNIOL-VILLARD * IDIS - Input Disable 32127f9ae5SJean-Christophe PLAGNIOL-VILLARD * PTD - Pull type Down 33127f9ae5SJean-Christophe PLAGNIOL-VILLARD * PTU - Pull type Up 34127f9ae5SJean-Christophe PLAGNIOL-VILLARD * DIS - Pull type selection is inactive 35127f9ae5SJean-Christophe PLAGNIOL-VILLARD * EN - Pull type selection is active 36127f9ae5SJean-Christophe PLAGNIOL-VILLARD * M0 - Mode 0 37127f9ae5SJean-Christophe PLAGNIOL-VILLARD * The commented string gives the final mux configuration for that pin 38127f9ae5SJean-Christophe PLAGNIOL-VILLARD */ 394ed914a2SStefan Herbrechtsmeier #define MUX_GUMSTIX() \ 404ed914a2SStefan Herbrechtsmeier /*GPMC*/\ 414ed914a2SStefan Herbrechtsmeier MUX_VAL(CP(GPMC_NCS1), (IDIS | PTU | EN | M0)) /*GPMC_nCS1*/\ 424ed914a2SStefan Herbrechtsmeier MUX_VAL(CP(GPMC_NCS4), (IDIS | PTU | EN | M0)) /*GPMC_nCS4*/\ 434ed914a2SStefan Herbrechtsmeier MUX_VAL(CP(GPMC_NCS5), (IDIS | PTU | EN | M0)) /*GPMC_nCS5*/\ 444ed914a2SStefan Herbrechtsmeier MUX_VAL(CP(GPMC_NCS6), (IEN | PTD | DIS | M0)) /*GPMC_nCS6*/\ 454ed914a2SStefan Herbrechtsmeier MUX_VAL(CP(GPMC_WAIT1), (IEN | PTU | EN | M4)) /*GPIO_63*/\ 464ed914a2SStefan Herbrechtsmeier /* - CAM_IRQ*/\ 474ed914a2SStefan Herbrechtsmeier MUX_VAL(CP(GPMC_WAIT2), (IEN | PTU | EN | M4)) /*GPIO_64*/\ 484ed914a2SStefan Herbrechtsmeier /* - SMSC911X_NRES*/\ 494ed914a2SStefan Herbrechtsmeier MUX_VAL(CP(GPMC_WAIT3), (IEN | PTU | DIS | M4)) /*GPIO_65*/\ 504ed914a2SStefan Herbrechtsmeier /*DSS*/\ 514ed914a2SStefan Herbrechtsmeier MUX_VAL(CP(DSS_PCLK), (IDIS | PTD | DIS | M0)) /*DSS_PCLK*/\ 524ed914a2SStefan Herbrechtsmeier MUX_VAL(CP(DSS_HSYNC), (IDIS | PTD | DIS | M0)) /*DSS_HSYNC*/\ 534ed914a2SStefan Herbrechtsmeier MUX_VAL(CP(DSS_VSYNC), (IDIS | PTD | DIS | M0)) /*DSS_VSYNC*/\ 544ed914a2SStefan Herbrechtsmeier MUX_VAL(CP(DSS_ACBIAS), (IDIS | PTD | DIS | M0)) /*DSS_ACBIAS*/\ 554ed914a2SStefan Herbrechtsmeier MUX_VAL(CP(DSS_DATA0), (IDIS | PTD | DIS | M0)) /*DSS_DATA0*/\ 564ed914a2SStefan Herbrechtsmeier MUX_VAL(CP(DSS_DATA1), (IDIS | PTD | DIS | M0)) /*DSS_DATA1*/\ 574ed914a2SStefan Herbrechtsmeier MUX_VAL(CP(DSS_DATA2), (IDIS | PTD | DIS | M0)) /*DSS_DATA2*/\ 584ed914a2SStefan Herbrechtsmeier MUX_VAL(CP(DSS_DATA3), (IDIS | PTD | DIS | M0)) /*DSS_DATA3*/\ 594ed914a2SStefan Herbrechtsmeier MUX_VAL(CP(DSS_DATA4), (IDIS | PTD | DIS | M0)) /*DSS_DATA4*/\ 604ed914a2SStefan Herbrechtsmeier MUX_VAL(CP(DSS_DATA5), (IDIS | PTD | DIS | M0)) /*DSS_DATA5*/\ 614ed914a2SStefan Herbrechtsmeier MUX_VAL(CP(DSS_DATA6), (IDIS | PTD | DIS | M0)) /*DSS_DATA6*/\ 624ed914a2SStefan Herbrechtsmeier MUX_VAL(CP(DSS_DATA7), (IDIS | PTD | DIS | M0)) /*DSS_DATA7*/\ 634ed914a2SStefan Herbrechtsmeier MUX_VAL(CP(DSS_DATA8), (IDIS | PTD | DIS | M0)) /*DSS_DATA8*/\ 644ed914a2SStefan Herbrechtsmeier MUX_VAL(CP(DSS_DATA9), (IDIS | PTD | DIS | M0)) /*DSS_DATA9*/\ 654ed914a2SStefan Herbrechtsmeier MUX_VAL(CP(DSS_DATA10), (IDIS | PTD | DIS | M0)) /*DSS_DATA10*/\ 664ed914a2SStefan Herbrechtsmeier MUX_VAL(CP(DSS_DATA11), (IDIS | PTD | DIS | M0)) /*DSS_DATA11*/\ 674ed914a2SStefan Herbrechtsmeier MUX_VAL(CP(DSS_DATA12), (IDIS | PTD | DIS | M0)) /*DSS_DATA12*/\ 684ed914a2SStefan Herbrechtsmeier MUX_VAL(CP(DSS_DATA13), (IDIS | PTD | DIS | M0)) /*DSS_DATA13*/\ 694ed914a2SStefan Herbrechtsmeier MUX_VAL(CP(DSS_DATA14), (IDIS | PTD | DIS | M0)) /*DSS_DATA14*/\ 704ed914a2SStefan Herbrechtsmeier MUX_VAL(CP(DSS_DATA15), (IDIS | PTD | DIS | M0)) /*DSS_DATA15*/\ 714ed914a2SStefan Herbrechtsmeier MUX_VAL(CP(DSS_DATA16), (IDIS | PTD | DIS | M0)) /*DSS_DATA16*/\ 724ed914a2SStefan Herbrechtsmeier MUX_VAL(CP(DSS_DATA17), (IDIS | PTD | DIS | M0)) /*DSS_DATA17*/\ 734ed914a2SStefan Herbrechtsmeier MUX_VAL(CP(DSS_DATA18), (IDIS | PTD | DIS | M0)) /*DSS_DATA18*/\ 744ed914a2SStefan Herbrechtsmeier MUX_VAL(CP(DSS_DATA19), (IDIS | PTD | DIS | M0)) /*DSS_DATA19*/\ 754ed914a2SStefan Herbrechtsmeier MUX_VAL(CP(DSS_DATA20), (IDIS | PTD | DIS | M0)) /*DSS_DATA20*/\ 764ed914a2SStefan Herbrechtsmeier MUX_VAL(CP(DSS_DATA21), (IDIS | PTD | DIS | M0)) /*DSS_DATA21*/\ 774ed914a2SStefan Herbrechtsmeier MUX_VAL(CP(DSS_DATA22), (IDIS | PTD | DIS | M0)) /*DSS_DATA22*/\ 784ed914a2SStefan Herbrechtsmeier MUX_VAL(CP(DSS_DATA23), (IDIS | PTD | DIS | M0)) /*DSS_DATA23*/\ 794ed914a2SStefan Herbrechtsmeier /*CAMERA*/\ 804ed914a2SStefan Herbrechtsmeier MUX_VAL(CP(CAM_FLD), (IDIS | PTD | DIS | M4)) /*CAM_FLD*/\ 814ed914a2SStefan Herbrechtsmeier MUX_VAL(CP(CAM_XCLKB), (IDIS | PTD | DIS | M0)) /*CAM_XCLKB*/\ 824ed914a2SStefan Herbrechtsmeier MUX_VAL(CP(CAM_WEN), (IEN | PTD | DIS | M0)) /*CAM_WEN*/\ 834ed914a2SStefan Herbrechtsmeier MUX_VAL(CP(CAM_STROBE), (IDIS | PTD | DIS | M0)) /*CAM_STROBE*/\ 844ed914a2SStefan Herbrechtsmeier MUX_VAL(CP(CSI2_DX1), (IEN | PTD | EN | M4)) /*GPIO_114*/\ 854ed914a2SStefan Herbrechtsmeier /* - PEN_DOWN*/\ 864ed914a2SStefan Herbrechtsmeier /*Bluetooth*/\ 874ed914a2SStefan Herbrechtsmeier MUX_VAL(CP(UART2_CTS), (IEN | PTD | DIS | M4)) /*GPIO_144 - LCD_EN*/\ 884ed914a2SStefan Herbrechtsmeier MUX_VAL(CP(UART2_RTS), (IEN | PTD | DIS | M4)) /*GPIO_145*/\ 894ed914a2SStefan Herbrechtsmeier MUX_VAL(CP(UART2_TX), (IEN | PTD | DIS | M4)) /*GPIO_146*/\ 904ed914a2SStefan Herbrechtsmeier MUX_VAL(CP(UART2_RX), (IEN | PTD | DIS | M4)) /*GPIO_147*/\ 914ed914a2SStefan Herbrechtsmeier MUX_VAL(CP(UART1_TX), (IDIS | PTD | DIS | M0)) /*UART1_TX*/\ 924ed914a2SStefan Herbrechtsmeier MUX_VAL(CP(UART1_CTS), (IEN | PTU | DIS | M4)) /*GPIO_150-MMC3_WP*/\ 934ed914a2SStefan Herbrechtsmeier MUX_VAL(CP(UART1_RX), (IEN | PTD | DIS | M0)) /*UART1_RX*/\ 944ed914a2SStefan Herbrechtsmeier /*Serial Interface*/\ 954ed914a2SStefan Herbrechtsmeier MUX_VAL(CP(UART3_CTS_RCTX), (IEN | PTD | EN | M0)) /*UART3_CTS_RCTX*/\ 964ed914a2SStefan Herbrechtsmeier MUX_VAL(CP(HDQ_SIO), (IDIS | PTU | EN | M4)) /*HDQ_SIO*/\ 974ed914a2SStefan Herbrechtsmeier MUX_VAL(CP(MCSPI1_CLK), (IEN | PTD | DIS | M0)) /*McSPI1_CLK*/\ 984ed914a2SStefan Herbrechtsmeier MUX_VAL(CP(MCSPI1_SIMO), (IEN | PTD | DIS | M0)) /*McSPI1_SIMO */\ 994ed914a2SStefan Herbrechtsmeier MUX_VAL(CP(MCSPI1_SOMI), (IEN | PTD | DIS | M0)) /*McSPI1_SOMI */\ 1004ed914a2SStefan Herbrechtsmeier MUX_VAL(CP(MCSPI1_CS0), (IEN | PTD | EN | M0)) /*McSPI1_CS0*/\ 1014ed914a2SStefan Herbrechtsmeier MUX_VAL(CP(MCSPI1_CS1), (IDIS | PTD | EN | M0)) /*McSPI1_CS1*/\ 1024ed914a2SStefan Herbrechtsmeier MUX_VAL(CP(MCSPI1_CS2), (IEN | PTU | DIS | M4)) /*GPIO_176 */\ 1034ed914a2SStefan Herbrechtsmeier /* - LAN_INTR */\ 1044ed914a2SStefan Herbrechtsmeier /*Control and debug */\ 1054ed914a2SStefan Herbrechtsmeier MUX_VAL(CP(SYS_CLKOUT1), (IEN | PTU | EN | M4)) /*GPIO_10*/\ 1064ed914a2SStefan Herbrechtsmeier MUX_VAL(CP(SYS_CLKOUT2), (IEN | PTU | EN | M4)) /*GPIO_186*/\ 1074ed914a2SStefan Herbrechtsmeier MUX_VAL(CP(ETK_CLK_ES2), (IEN | PTU | EN | M2)) /*MMC3_CLK*/\ 1084ed914a2SStefan Herbrechtsmeier MUX_VAL(CP(ETK_CTL_ES2), (IEN | PTU | EN | M2)) /*MMC3_CMD*/\ 1094ed914a2SStefan Herbrechtsmeier MUX_VAL(CP(ETK_D0_ES2), (IEN | PTU | EN | M4)) /*GPIO_14*/\ 1104ed914a2SStefan Herbrechtsmeier MUX_VAL(CP(ETK_D3_ES2), (IEN | PTU | EN | M2)) /*MMC3_DAT3*/\ 1114ed914a2SStefan Herbrechtsmeier MUX_VAL(CP(ETK_D4_ES2), (IEN | PTU | EN | M2)) /*MMC3_DAT0*/\ 1124ed914a2SStefan Herbrechtsmeier MUX_VAL(CP(ETK_D5_ES2), (IEN | PTU | EN | M2)) /*MMC3_DAT1*/\ 1134ed914a2SStefan Herbrechtsmeier MUX_VAL(CP(ETK_D6_ES2), (IEN | PTU | EN | M2)) /*MMC3_DAT2*/\ 1144ed914a2SStefan Herbrechtsmeier MUX_VAL(CP(ETK_D7_ES2), (IEN | PTU | EN | M4)) /*GPIO_21*/\ 1154ed914a2SStefan Herbrechtsmeier MUX_VAL(CP(ETK_D8_ES2), (IEN | PTU | EN | M4)) /*GPIO_22*/\ 1164ed914a2SStefan Herbrechtsmeier MUX_VAL(CP(ETK_D9_ES2), (IEN | PTU | EN | M4)) /*GPIO_23*/\ 1174ed914a2SStefan Herbrechtsmeier 118a06e1629SSteve Sakoman #define MUX_OVERO_SDIO2_DIRECT() \ 119a06e1629SSteve Sakoman MUX_VAL(CP(MMC2_CLK), (IEN | PTU | EN | M0)) /*MMC2_CLK*/\ 120a06e1629SSteve Sakoman MUX_VAL(CP(MMC2_CMD), (IEN | PTU | EN | M0)) /*MMC2_CMD*/\ 121a06e1629SSteve Sakoman MUX_VAL(CP(MMC2_DAT0), (IEN | PTU | EN | M0)) /*MMC2_DAT0*/\ 122a06e1629SSteve Sakoman MUX_VAL(CP(MMC2_DAT1), (IEN | PTU | EN | M0)) /*MMC2_DAT1*/\ 123a06e1629SSteve Sakoman MUX_VAL(CP(MMC2_DAT2), (IEN | PTU | EN | M0)) /*MMC2_DAT2*/\ 124a06e1629SSteve Sakoman MUX_VAL(CP(MMC2_DAT3), (IEN | PTU | EN | M0)) /*MMC2_DAT3*/\ 125a06e1629SSteve Sakoman MUX_VAL(CP(MMC2_DAT4), (IEN | PTU | EN | M0)) /*MMC2_DAT4*/\ 126a06e1629SSteve Sakoman MUX_VAL(CP(MMC2_DAT5), (IEN | PTU | EN | M0)) /*MMC2_DAT5*/\ 127a06e1629SSteve Sakoman MUX_VAL(CP(MMC2_DAT6), (IEN | PTU | EN | M0)) /*MMC2_DAT6*/\ 128a06e1629SSteve Sakoman MUX_VAL(CP(MMC2_DAT7), (IEN | PTU | EN | M0)) /*MMC2_DAT7*/\ 129a06e1629SSteve Sakoman MUX_VAL(CP(MMC1_DAT4), (IEN | PTD | EN | M4)) /*GPIO_126*/\ 130a06e1629SSteve Sakoman MUX_VAL(CP(MMC1_DAT5), (IEN | PTU | EN | M4)) /*GPIO_127*/\ 131a06e1629SSteve Sakoman MUX_VAL(CP(MMC1_DAT6), (IEN | PTU | EN | M4)) /*GPIO_128*/\ 132a06e1629SSteve Sakoman MUX_VAL(CP(MMC1_DAT7), (IEN | PTU | EN | M4)) /*GPIO_129*/ 133a06e1629SSteve Sakoman 134a06e1629SSteve Sakoman #define MUX_OVERO_SDIO2_TRANSCEIVER() \ 135a06e1629SSteve Sakoman MUX_VAL(CP(MMC2_CLK), (IEN | PTU | EN | M0)) /*MMC2_CLK*/\ 136a06e1629SSteve Sakoman MUX_VAL(CP(MMC2_CMD), (IEN | PTU | EN | M0)) /*MMC2_CMD*/\ 137a06e1629SSteve Sakoman MUX_VAL(CP(MMC2_DAT0), (IEN | PTU | EN | M0)) /*MMC2_DAT0*/\ 138a06e1629SSteve Sakoman MUX_VAL(CP(MMC2_DAT1), (IEN | PTU | EN | M0)) /*MMC2_DAT1*/\ 139a06e1629SSteve Sakoman MUX_VAL(CP(MMC2_DAT2), (IEN | PTU | EN | M0)) /*MMC2_DAT2*/\ 140a06e1629SSteve Sakoman MUX_VAL(CP(MMC2_DAT3), (IEN | PTU | EN | M0)) /*MMC2_DAT3*/\ 141a06e1629SSteve Sakoman MUX_VAL(CP(MMC2_DAT4), (IEN | PTU | EN | M1)) /*MMC2_DIR_DAT0*/\ 142a06e1629SSteve Sakoman MUX_VAL(CP(MMC2_DAT5), (IEN | PTU | EN | M1)) /*MMC2_DIR_DAT1*/\ 143a06e1629SSteve Sakoman MUX_VAL(CP(MMC2_DAT6), (IEN | PTU | EN | M1)) /*MMC2_DIR_CMD*/\ 144a06e1629SSteve Sakoman MUX_VAL(CP(MMC2_DAT7), (IEN | PTU | EN | M1)) /*MMC2_CLKIN*/\ 145a06e1629SSteve Sakoman MUX_VAL(CP(MMC1_DAT4), (IEN | PTU | EN | M4)) /*GPIO_126*/\ 146a06e1629SSteve Sakoman MUX_VAL(CP(MMC1_DAT5), (IEN | PTU | EN | M4)) /*GPIO_127*/\ 147a06e1629SSteve Sakoman MUX_VAL(CP(MMC1_DAT6), (IEN | PTU | EN | M4)) /*GPIO_128*/\ 148a06e1629SSteve Sakoman MUX_VAL(CP(MMC1_DAT7), (IEN | PTU | EN | M4)) /*GPIO_129*/ 149df382626SOlof Johansson 150d64b5b89SSteve Sakoman #define MUX_USRP_E() \ 151d64b5b89SSteve Sakoman MUX_VAL(CP(MCSPI1_SOMI), (IEN | PTD | DIS | M4)) /*GPIO_173 */\ 152d64b5b89SSteve Sakoman MUX_VAL(CP(MCSPI1_CS1), (IDIS | PTD | EN | M4)) /*GPIO_175 */\ 153d64b5b89SSteve Sakoman 154ea5940e9SAsh Charles #define MUX_ALTO35() \ 155ea5940e9SAsh Charles MUX_VAL(CP(SYS_CLKOUT1), (IEN | PTU | EN | M4)) /*GPIO_10-BTN*/\ 156ea5940e9SAsh Charles MUX_VAL(CP(UART1_TX), (IDIS | PTD | DIS | M4)) /*GPIO_148-RED LED*/\ 157ea5940e9SAsh Charles MUX_VAL(CP(UART1_CTS), (IDIS | PTD | DIS | M4)) /*GPIO_150-YELLOW LED*/\ 158ea5940e9SAsh Charles MUX_VAL(CP(UART1_RX), (IDIS | PTD | DIS | M4)) /*GPIO_151-BLUE LED*/\ 159ea5940e9SAsh Charles MUX_VAL(CP(HDQ_SIO), (IDIS | PTD | DIS | M4)) /*GPIO_170-GREEN LED*/\ 160ea5940e9SAsh Charles MUX_VAL(CP(MCSPI1_CS1), (IDIS | PTD | EN | M4)) /*GPIO_175*/\ 161ea5940e9SAsh Charles 162ea5940e9SAsh Charles #define MUX_ARBOR43C() \ 163ea5940e9SAsh Charles MUX_VAL(CP(CSI2_DX1), (IDIS | PTD | DIS | M4)) /*GPIO_114-RED LED*/\ 164ea5940e9SAsh Charles MUX_VAL(CP(UART1_CTS), (IDIS | PTD | DIS | M4)) /*GPIO_150-YELLOW LED*/\ 165ea5940e9SAsh Charles MUX_VAL(CP(HDQ_SIO), (IEN | PTU | EN | M4)) /*GPIO_170-BUTTON */\ 166ea5940e9SAsh Charles MUX_VAL(CP(SYS_CLKOUT2), (IDIS | PTD | DIS | M4)) /*GPIO_186-BLUE LED*/\ 167ea5940e9SAsh Charles MUX_VAL(CP(JTAG_EMU1), (IDIS | PTD | DIS | M4)) /*GPIO_31-CAP WAKE*/\ 168ea5940e9SAsh Charles MUX_VAL(CP(SYS_CLKOUT1), (IEN | PTU | EN | M4)) /*GPIO_10-CAP IRQ*/\ 169ea5940e9SAsh Charles 170127f9ae5SJean-Christophe PLAGNIOL-VILLARD #endif 171