1*4882a593Smuzhiyun /* 2*4882a593Smuzhiyun * mux_am33xx.h 3*4882a593Smuzhiyun * 4*4882a593Smuzhiyun * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com/ 5*4882a593Smuzhiyun * 6*4882a593Smuzhiyun * This program is free software; you can redistribute it and/or 7*4882a593Smuzhiyun * modify it under the terms of the GNU General Public License as 8*4882a593Smuzhiyun * published by the Free Software Foundation version 2. 9*4882a593Smuzhiyun * 10*4882a593Smuzhiyun * This program is distributed "as is" WITHOUT ANY WARRANTY of any 11*4882a593Smuzhiyun * kind, whether express or implied; without even the implied warranty 12*4882a593Smuzhiyun * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13*4882a593Smuzhiyun * GNU General Public License for more details. 14*4882a593Smuzhiyun */ 15*4882a593Smuzhiyun 16*4882a593Smuzhiyun #ifndef _MUX_AM33XX_H_ 17*4882a593Smuzhiyun #define _MUX_AM33XX_H_ 18*4882a593Smuzhiyun 19*4882a593Smuzhiyun #include <common.h> 20*4882a593Smuzhiyun #include <asm/io.h> 21*4882a593Smuzhiyun 22*4882a593Smuzhiyun #define MUX_CFG(value, offset) \ 23*4882a593Smuzhiyun __raw_writel(value, (CTRL_BASE + offset)); 24*4882a593Smuzhiyun 25*4882a593Smuzhiyun /* PAD Control Fields */ 26*4882a593Smuzhiyun #define SLEWCTRL (0x1 << 6) 27*4882a593Smuzhiyun #define RXACTIVE (0x1 << 5) 28*4882a593Smuzhiyun #define PULLDOWN_EN (0x0 << 4) /* Pull Down Selection */ 29*4882a593Smuzhiyun #define PULLUP_EN (0x1 << 4) /* Pull Up Selection */ 30*4882a593Smuzhiyun #define PULLUDEN (0x0 << 3) /* Pull up enabled */ 31*4882a593Smuzhiyun #define PULLUDDIS (0x1 << 3) /* Pull up disabled */ 32*4882a593Smuzhiyun #define MODE(val) val /* used for Readability */ 33*4882a593Smuzhiyun 34*4882a593Smuzhiyun /* 35*4882a593Smuzhiyun * PAD CONTROL OFFSETS 36*4882a593Smuzhiyun * Field names corresponds to the pad signal name 37*4882a593Smuzhiyun */ 38*4882a593Smuzhiyun struct pad_signals { 39*4882a593Smuzhiyun int gpmc_ad0; 40*4882a593Smuzhiyun int gpmc_ad1; 41*4882a593Smuzhiyun int gpmc_ad2; 42*4882a593Smuzhiyun int gpmc_ad3; 43*4882a593Smuzhiyun int gpmc_ad4; 44*4882a593Smuzhiyun int gpmc_ad5; 45*4882a593Smuzhiyun int gpmc_ad6; 46*4882a593Smuzhiyun int gpmc_ad7; 47*4882a593Smuzhiyun int gpmc_ad8; 48*4882a593Smuzhiyun int gpmc_ad9; 49*4882a593Smuzhiyun int gpmc_ad10; 50*4882a593Smuzhiyun int gpmc_ad11; 51*4882a593Smuzhiyun int gpmc_ad12; 52*4882a593Smuzhiyun int gpmc_ad13; 53*4882a593Smuzhiyun int gpmc_ad14; 54*4882a593Smuzhiyun int gpmc_ad15; 55*4882a593Smuzhiyun int gpmc_a0; 56*4882a593Smuzhiyun int gpmc_a1; 57*4882a593Smuzhiyun int gpmc_a2; 58*4882a593Smuzhiyun int gpmc_a3; 59*4882a593Smuzhiyun int gpmc_a4; 60*4882a593Smuzhiyun int gpmc_a5; 61*4882a593Smuzhiyun int gpmc_a6; 62*4882a593Smuzhiyun int gpmc_a7; 63*4882a593Smuzhiyun int gpmc_a8; 64*4882a593Smuzhiyun int gpmc_a9; 65*4882a593Smuzhiyun int gpmc_a10; 66*4882a593Smuzhiyun int gpmc_a11; 67*4882a593Smuzhiyun int gpmc_wait0; 68*4882a593Smuzhiyun int gpmc_wpn; 69*4882a593Smuzhiyun int gpmc_be1n; 70*4882a593Smuzhiyun int gpmc_csn0; 71*4882a593Smuzhiyun int gpmc_csn1; 72*4882a593Smuzhiyun int gpmc_csn2; 73*4882a593Smuzhiyun int gpmc_csn3; 74*4882a593Smuzhiyun int gpmc_clk; 75*4882a593Smuzhiyun int gpmc_advn_ale; 76*4882a593Smuzhiyun int gpmc_oen_ren; 77*4882a593Smuzhiyun int gpmc_wen; 78*4882a593Smuzhiyun int gpmc_be0n_cle; 79*4882a593Smuzhiyun int lcd_data0; 80*4882a593Smuzhiyun int lcd_data1; 81*4882a593Smuzhiyun int lcd_data2; 82*4882a593Smuzhiyun int lcd_data3; 83*4882a593Smuzhiyun int lcd_data4; 84*4882a593Smuzhiyun int lcd_data5; 85*4882a593Smuzhiyun int lcd_data6; 86*4882a593Smuzhiyun int lcd_data7; 87*4882a593Smuzhiyun int lcd_data8; 88*4882a593Smuzhiyun int lcd_data9; 89*4882a593Smuzhiyun int lcd_data10; 90*4882a593Smuzhiyun int lcd_data11; 91*4882a593Smuzhiyun int lcd_data12; 92*4882a593Smuzhiyun int lcd_data13; 93*4882a593Smuzhiyun int lcd_data14; 94*4882a593Smuzhiyun int lcd_data15; 95*4882a593Smuzhiyun int lcd_vsync; 96*4882a593Smuzhiyun int lcd_hsync; 97*4882a593Smuzhiyun int lcd_pclk; 98*4882a593Smuzhiyun int lcd_ac_bias_en; 99*4882a593Smuzhiyun int mmc0_dat3; 100*4882a593Smuzhiyun int mmc0_dat2; 101*4882a593Smuzhiyun int mmc0_dat1; 102*4882a593Smuzhiyun int mmc0_dat0; 103*4882a593Smuzhiyun int mmc0_clk; 104*4882a593Smuzhiyun int mmc0_cmd; 105*4882a593Smuzhiyun int mii1_col; 106*4882a593Smuzhiyun int mii1_crs; 107*4882a593Smuzhiyun int mii1_rxerr; 108*4882a593Smuzhiyun int mii1_txen; 109*4882a593Smuzhiyun int mii1_rxdv; 110*4882a593Smuzhiyun int mii1_txd3; 111*4882a593Smuzhiyun int mii1_txd2; 112*4882a593Smuzhiyun int mii1_txd1; 113*4882a593Smuzhiyun int mii1_txd0; 114*4882a593Smuzhiyun int mii1_txclk; 115*4882a593Smuzhiyun int mii1_rxclk; 116*4882a593Smuzhiyun int mii1_rxd3; 117*4882a593Smuzhiyun int mii1_rxd2; 118*4882a593Smuzhiyun int mii1_rxd1; 119*4882a593Smuzhiyun int mii1_rxd0; 120*4882a593Smuzhiyun int rmii1_refclk; 121*4882a593Smuzhiyun int mdio_data; 122*4882a593Smuzhiyun int mdio_clk; 123*4882a593Smuzhiyun int spi0_sclk; 124*4882a593Smuzhiyun int spi0_d0; 125*4882a593Smuzhiyun int spi0_d1; 126*4882a593Smuzhiyun int spi0_cs0; 127*4882a593Smuzhiyun int spi0_cs1; 128*4882a593Smuzhiyun int ecap0_in_pwm0_out; 129*4882a593Smuzhiyun int uart0_ctsn; 130*4882a593Smuzhiyun int uart0_rtsn; 131*4882a593Smuzhiyun int uart0_rxd; 132*4882a593Smuzhiyun int uart0_txd; 133*4882a593Smuzhiyun int uart1_ctsn; 134*4882a593Smuzhiyun int uart1_rtsn; 135*4882a593Smuzhiyun int uart1_rxd; 136*4882a593Smuzhiyun int uart1_txd; 137*4882a593Smuzhiyun int i2c0_sda; 138*4882a593Smuzhiyun int i2c0_scl; 139*4882a593Smuzhiyun int mcasp0_aclkx; 140*4882a593Smuzhiyun int mcasp0_fsx; 141*4882a593Smuzhiyun int mcasp0_axr0; 142*4882a593Smuzhiyun int mcasp0_ahclkr; 143*4882a593Smuzhiyun int mcasp0_aclkr; 144*4882a593Smuzhiyun int mcasp0_fsr; 145*4882a593Smuzhiyun int mcasp0_axr1; 146*4882a593Smuzhiyun int mcasp0_ahclkx; 147*4882a593Smuzhiyun int xdma_event_intr0; 148*4882a593Smuzhiyun int xdma_event_intr1; 149*4882a593Smuzhiyun int nresetin_out; 150*4882a593Smuzhiyun int porz; 151*4882a593Smuzhiyun int nnmi; 152*4882a593Smuzhiyun int osc0_in; 153*4882a593Smuzhiyun int osc0_out; 154*4882a593Smuzhiyun int rsvd1; 155*4882a593Smuzhiyun int tms; 156*4882a593Smuzhiyun int tdi; 157*4882a593Smuzhiyun int tdo; 158*4882a593Smuzhiyun int tck; 159*4882a593Smuzhiyun int ntrst; 160*4882a593Smuzhiyun int emu0; 161*4882a593Smuzhiyun int emu1; 162*4882a593Smuzhiyun int osc1_in; 163*4882a593Smuzhiyun int osc1_out; 164*4882a593Smuzhiyun int pmic_power_en; 165*4882a593Smuzhiyun int rtc_porz; 166*4882a593Smuzhiyun int rsvd2; 167*4882a593Smuzhiyun int ext_wakeup; 168*4882a593Smuzhiyun int enz_kaldo_1p8v; 169*4882a593Smuzhiyun int usb0_dm; 170*4882a593Smuzhiyun int usb0_dp; 171*4882a593Smuzhiyun int usb0_ce; 172*4882a593Smuzhiyun int usb0_id; 173*4882a593Smuzhiyun int usb0_vbus; 174*4882a593Smuzhiyun int usb0_drvvbus; 175*4882a593Smuzhiyun int usb1_dm; 176*4882a593Smuzhiyun int usb1_dp; 177*4882a593Smuzhiyun int usb1_ce; 178*4882a593Smuzhiyun int usb1_id; 179*4882a593Smuzhiyun int usb1_vbus; 180*4882a593Smuzhiyun int usb1_drvvbus; 181*4882a593Smuzhiyun int ddr_resetn; 182*4882a593Smuzhiyun int ddr_csn0; 183*4882a593Smuzhiyun int ddr_cke; 184*4882a593Smuzhiyun int ddr_ck; 185*4882a593Smuzhiyun int ddr_nck; 186*4882a593Smuzhiyun int ddr_casn; 187*4882a593Smuzhiyun int ddr_rasn; 188*4882a593Smuzhiyun int ddr_wen; 189*4882a593Smuzhiyun int ddr_ba0; 190*4882a593Smuzhiyun int ddr_ba1; 191*4882a593Smuzhiyun int ddr_ba2; 192*4882a593Smuzhiyun int ddr_a0; 193*4882a593Smuzhiyun int ddr_a1; 194*4882a593Smuzhiyun int ddr_a2; 195*4882a593Smuzhiyun int ddr_a3; 196*4882a593Smuzhiyun int ddr_a4; 197*4882a593Smuzhiyun int ddr_a5; 198*4882a593Smuzhiyun int ddr_a6; 199*4882a593Smuzhiyun int ddr_a7; 200*4882a593Smuzhiyun int ddr_a8; 201*4882a593Smuzhiyun int ddr_a9; 202*4882a593Smuzhiyun int ddr_a10; 203*4882a593Smuzhiyun int ddr_a11; 204*4882a593Smuzhiyun int ddr_a12; 205*4882a593Smuzhiyun int ddr_a13; 206*4882a593Smuzhiyun int ddr_a14; 207*4882a593Smuzhiyun int ddr_a15; 208*4882a593Smuzhiyun int ddr_odt; 209*4882a593Smuzhiyun int ddr_d0; 210*4882a593Smuzhiyun int ddr_d1; 211*4882a593Smuzhiyun int ddr_d2; 212*4882a593Smuzhiyun int ddr_d3; 213*4882a593Smuzhiyun int ddr_d4; 214*4882a593Smuzhiyun int ddr_d5; 215*4882a593Smuzhiyun int ddr_d6; 216*4882a593Smuzhiyun int ddr_d7; 217*4882a593Smuzhiyun int ddr_d8; 218*4882a593Smuzhiyun int ddr_d9; 219*4882a593Smuzhiyun int ddr_d10; 220*4882a593Smuzhiyun int ddr_d11; 221*4882a593Smuzhiyun int ddr_d12; 222*4882a593Smuzhiyun int ddr_d13; 223*4882a593Smuzhiyun int ddr_d14; 224*4882a593Smuzhiyun int ddr_d15; 225*4882a593Smuzhiyun int ddr_dqm0; 226*4882a593Smuzhiyun int ddr_dqm1; 227*4882a593Smuzhiyun int ddr_dqs0; 228*4882a593Smuzhiyun int ddr_dqsn0; 229*4882a593Smuzhiyun int ddr_dqs1; 230*4882a593Smuzhiyun int ddr_dqsn1; 231*4882a593Smuzhiyun int ddr_vref; 232*4882a593Smuzhiyun int ddr_vtp; 233*4882a593Smuzhiyun int ddr_strben0; 234*4882a593Smuzhiyun int ddr_strben1; 235*4882a593Smuzhiyun int ain7; 236*4882a593Smuzhiyun int ain6; 237*4882a593Smuzhiyun int ain5; 238*4882a593Smuzhiyun int ain4; 239*4882a593Smuzhiyun int ain3; 240*4882a593Smuzhiyun int ain2; 241*4882a593Smuzhiyun int ain1; 242*4882a593Smuzhiyun int ain0; 243*4882a593Smuzhiyun int vrefp; 244*4882a593Smuzhiyun int vrefn; 245*4882a593Smuzhiyun }; 246*4882a593Smuzhiyun 247*4882a593Smuzhiyun #endif /* endif _MUX_AM33XX_H_ */ 248