/* SPI2 pinmux */
	DEFAULT_PINMUX(ULPI_DATA4,	SPI2,		PULL_UP,	NORMAL,		INPUT),
	DEFAULT_PINMUX(ULPI_DATA5,	SPI2,		PULL_UP,	NORMAL,		INPUT),
	DEFAULT_PINMUX(ULPI_DATA6,	SPI2,		PULL_UP,	NORMAL,		INPUT),
	DEFAULT_PINMUX(ULPI_DATA7,	SPI2,		PULL_UP,	NORMAL,		INPUT),

	/* I2S 2 */
	DEFAULT_PINMUX(DAP3_FS,		I2S2,		PULL_DOWN,	NORMAL,		INPUT),
	DEFAULT_PINMUX(DAP3_DIN,	I2S2,		PULL_DOWN,	NORMAL,		INPUT),
	DEFAULT_PINMUX(DAP3_DOUT,	I2S2,		PULL_DOWN,	NORMAL,		OUTPUT),
	DEFAULT_PINMUX(DAP3_SCLK,	I2S2,		PULL_DOWN,	NORMAL,		INPUT),



	VI_PINMUX(VI_D0,		VI,		NORMAL,		TRISTATE,	INPUT,		DISABLE,	DISABLE),
	VI_PINMUX(VI_D1,		VI,		NORMAL,		TRISTATE,	INPUT,		DISABLE,	DISABLE),
	VI_PINMUX(VI_D2,		VI,		NORMAL,		TRISTATE,	INPUT,		DISABLE,	DISABLE),
	VI_PINMUX(VI_D3,		VI,		NORMAL,		TRISTATE,	INPUT,		DISABLE,	DISABLE),
	VI_PINMUX(VI_D4,		VI,		NORMAL,		TRISTATE,	INPUT,		DISABLE,	DISABLE),
	VI_PINMUX(VI_D5,		VI,		NORMAL,		TRISTATE,	INPUT,		DISABLE,	DISABLE),
	VI_PINMUX(VI_D6,		VI,		NORMAL,		TRISTATE,	INPUT,		DISABLE,	DISABLE),
	VI_PINMUX(VI_D7,		VI,		NORMAL,		TRISTATE,	INPUT,		DISABLE,	DISABLE),
	VI_PINMUX(VI_D8,		VI,		NORMAL,		TRISTATE,	INPUT,		DISABLE,	DISABLE),
	VI_PINMUX(VI_D9,		VI,		NORMAL,		TRISTATE,	INPUT,		DISABLE,	DISABLE),
	VI_PINMUX(VI_D10,		VI,		NORMAL,		TRISTATE,	INPUT,		DISABLE,	DISABLE),
	VI_PINMUX(VI_D11,		VI,		NORMAL,		TRISTATE,	INPUT,		DISABLE,	DISABLE),
	VI_PINMUX(VI_PCLK,		VI,		NORMAL,		TRISTATE,	INPUT,		DISABLE,	DISABLE),
	VI_PINMUX(VI_HSYNC,		VI,		NORMAL,		TRISTATE,	INPUT,		DISABLE,	DISABLE),
	VI_PINMUX(VI_VSYNC,		VI,		NORMAL,		TRISTATE,	INPUT,		DISABLE,	DISABLE),
	VI_PINMUX(VI_MCLK,		VI,		NORMAL,		TRISTATE,	INPUT,		DISABLE,	DISABLE),
Exemplo n.º 2
0
	return -ENODEV;
}

static int pluto_focuser_power_off(struct ad5816_power_rail *pw)
{
	if (unlikely(WARN_ON(!pw || !pw->vdd || !pw->vdd_i2c)))
		return -EFAULT;

	regulator_disable(pw->vdd);
	regulator_disable(pw->vdd_i2c);

	return 0;
}

static struct tegra_pingroup_config mclk_disable =
	VI_PINMUX(CAM_MCLK, VI, NORMAL, NORMAL, OUTPUT, DEFAULT, DEFAULT);

static struct tegra_pingroup_config mclk_enable =
	VI_PINMUX(CAM_MCLK, VI_ALT3, NORMAL, NORMAL, OUTPUT, DEFAULT, DEFAULT);

static struct tegra_pingroup_config pbb0_disable =
	VI_PINMUX(GPIO_PBB0, VI, NORMAL, NORMAL, OUTPUT, DEFAULT, DEFAULT);

static struct tegra_pingroup_config pbb0_enable =
	VI_PINMUX(GPIO_PBB0, VI_ALT3, NORMAL, NORMAL, OUTPUT, DEFAULT, DEFAULT);

/*
 * more regulators need to be allocated to activate the sensor devices.
 * pluto_vcmvdd: this is a workaround due to the focuser device(AD5816) will
 *               hook up the i2c bus if it is not powered up.
 * pluto_i2cvdd: by default, the power supply on the i2c bus is OFF. So it
Exemplo n.º 3
0
	DEFAULT_PINMUX(LCD_DC0,		DISPLAYA,	NORMAL,		NORMAL,		INPUT),
	DEFAULT_PINMUX(LCD_DE,		DISPLAYA,	NORMAL,		NORMAL,		INPUT),
	DEFAULT_PINMUX(LCD_HSYNC,	DISPLAYA,	NORMAL,		NORMAL,		INPUT),
	DEFAULT_PINMUX(LCD_PCLK,	DISPLAYA,	NORMAL,		NORMAL,		INPUT),
	DEFAULT_PINMUX(LCD_VSYNC,	DISPLAYA,	NORMAL,		NORMAL,		INPUT),
	DEFAULT_PINMUX(LCD_WR_N,	DISPLAYA,	NORMAL,		NORMAL,		INPUT),

	DEFAULT_PINMUX(PEX_WAKE_N,	PCIE,		NORMAL,		NORMAL,		INPUT),
	DEFAULT_PINMUX(PEX_L1_PRSNT_N,	PCIE,		NORMAL,		NORMAL,		INPUT),
	DEFAULT_PINMUX(PEX_L1_RST_N,	PCIE,		NORMAL,		NORMAL,		OUTPUT),
	DEFAULT_PINMUX(PEX_L1_CLKREQ_N,	PCIE,		NORMAL,		NORMAL,		INPUT),
	DEFAULT_PINMUX(PEX_L2_PRSNT_N,	PCIE,		NORMAL,		NORMAL,		INPUT),
	DEFAULT_PINMUX(PEX_L2_RST_N,	PCIE,		NORMAL,		NORMAL,		OUTPUT),
	DEFAULT_PINMUX(PEX_L2_CLKREQ_N,	PCIE,		NORMAL,		NORMAL,		INPUT),

	VI_PINMUX(VI_D2,		VI,		NORMAL,		NORMAL,		INPUT,		DISABLE,	DISABLE),
	VI_PINMUX(VI_D3,		VI,		NORMAL,		NORMAL,		INPUT,		DISABLE,	DISABLE),
	VI_PINMUX(VI_D4,		VI,		NORMAL,		NORMAL,		OUTPUT,		DISABLE,	DISABLE),
	VI_PINMUX(VI_D5,		VI,		NORMAL,		NORMAL,		INPUT,		DISABLE,	DISABLE),
	VI_PINMUX(VI_D6,		VI,		NORMAL,		NORMAL,		OUTPUT,		DISABLE,	DISABLE),
	VI_PINMUX(VI_D7,		VI,		NORMAL,		NORMAL,		INPUT,		DISABLE,	DISABLE),
	VI_PINMUX(VI_D8,		VI,		NORMAL,		NORMAL,		INPUT,		DISABLE,	DISABLE),
	VI_PINMUX(VI_D9,		VI,		NORMAL,		NORMAL,		INPUT,		DISABLE,	DISABLE),
	VI_PINMUX(VI_PCLK,		VI,		PULL_UP,	TRISTATE,	INPUT,		DISABLE,	DISABLE),

	/* pin config for gpios */
	DEFAULT_PINMUX(VI_D0,		SAFE,		NORMAL,		NORMAL,		INPUT),
	DEFAULT_PINMUX(CLK1_OUT,	RSVD1,		NORMAL,		NORMAL,		INPUT),
	DEFAULT_PINMUX(CLK1_REQ,	RSVD2,		NORMAL,		NORMAL,		INPUT),
	DEFAULT_PINMUX(LCD_SCK,		SPI5,		NORMAL,		NORMAL,		INPUT),
	DEFAULT_PINMUX(LCD_DC1,		RSVD1,		NORMAL,		NORMAL,		INPUT),
	DEFAULT_PINMUX(PEX_L1_CLKREQ_N, PCIE,            NORMAL,    NORMAL,     INPUT),
	DEFAULT_PINMUX(PEX_L2_PRSNT_N,  PCIE,            NORMAL,    TRISTATE,   INPUT),
	DEFAULT_PINMUX(PEX_L2_RST_N,    PCIE,            NORMAL,    TRISTATE,   INPUT),
	DEFAULT_PINMUX(PEX_L2_CLKREQ_N, PCIE,            NORMAL,    TRISTATE,   INPUT),
//	DEFAULT_PINMUX(HDMI_CEC,        CEC,             NORMAL,    NORMAL,     INPUT),
	CEC_PINMUX(HDMI_CEC,            CEC,             NORMAL,    TRISTATE,   OUTPUT, DEFAULT, DISABLE),
	DEFAULT_PINMUX(HDMI_INT,        RSVD0,           NORMAL,    TRISTATE,   INPUT),

	/* Gpios */
	/* SDMMC1 CD gpio */
	DEFAULT_PINMUX(GMI_IORDY,       RSVD1,             PULL_UP,    NORMAL,     INPUT),//                                              
	/* SDMMC1 WP gpio */
	DEFAULT_PINMUX(VI_D11,          RSVD1,           PULL_UP,    NORMAL,     INPUT),

	/* Power rails GPIO */
	VI_PINMUX(VI_D6,           VI,              NORMAL,    NORMAL,     OUTPUT, DISABLE, DISABLE),
	VI_PINMUX(VI_D8,           SDMMC2,          NORMAL,    NORMAL,     INPUT,  DISABLE, DISABLE),
	VI_PINMUX(VI_D9,           SDMMC2,          NORMAL,    NORMAL,     INPUT,  DISABLE, DISABLE),
	VI_PINMUX(VI_PCLK,         RSVD1,           PULL_UP,   TRISTATE,   INPUT,  DISABLE, ENABLE),
	VI_PINMUX(VI_HSYNC,        RSVD1,           NORMAL,    NORMAL,     INPUT,  DISABLE, DISABLE),
	VI_PINMUX(VI_VSYNC,        RSVD1,           NORMAL,    NORMAL,     INPUT,  DISABLE, DISABLE),
};



int __init x3_pinmux_init(void)
{
	tegra_pinmux_config_table(x3_pinmux, ARRAY_SIZE(x3_pinmux));
	tegra_drive_pinmux_config_table(x3_drive_pinmux,
					ARRAY_SIZE(x3_drive_pinmux));
	return 0;
	//VI
	DEFAULT_PINMUX(VI_D0,           RSVD1,           NORMAL,    TRISTATE,     OUTPUT),
	DEFAULT_PINMUX(VI_D1,           SDMMC2,          NORMAL,    TRISTATE,     OUTPUT),
	DEFAULT_PINMUX(VI_D10,          RSVD1,           NORMAL,    TRISTATE,     OUTPUT),
	DEFAULT_PINMUX(VI_D11,          RSVD1,           NORMAL,   TRISTATE,     OUTPUT),
	DEFAULT_PINMUX(VI_D2,           SDMMC2,          NORMAL,    TRISTATE,     OUTPUT),
	DEFAULT_PINMUX(VI_D3,           SDMMC2,          NORMAL,    TRISTATE,     OUTPUT),
	DEFAULT_PINMUX(VI_D4,           VI,              NORMAL,    TRISTATE,     OUTPUT),
	DEFAULT_PINMUX(VI_D5,           SDMMC2,          NORMAL,    TRISTATE,     OUTPUT),
	DEFAULT_PINMUX(VI_D6,           SDMMC2,          NORMAL,    TRISTATE,     OUTPUT),
	DEFAULT_PINMUX(VI_D7,           SDMMC2,          NORMAL,    TRISTATE,     OUTPUT),
	DEFAULT_PINMUX(VI_D8,           SDMMC2,          NORMAL,    TRISTATE,     OUTPUT),
	DEFAULT_PINMUX(VI_D9,           SDMMC2,          NORMAL,    TRISTATE,     OUTPUT),
	
	VI_PINMUX(VI_HSYNC,        RSVD1,           NORMAL,    TRISTATE,     INPUT,  DISABLE, DISABLE),
	DEFAULT_PINMUX(VI_MCLK,         VI,              NORMAL,   TRISTATE,     INPUT),
	VI_PINMUX(VI_PCLK,         RSVD1,           NORMAL,   TRISTATE,   INPUT,  DISABLE, ENABLE),	
	VI_PINMUX(VI_VSYNC,        RSVD1,           NORMAL,    TRISTATE,     INPUT,  DISABLE, DISABLE),

	//DDR

	//DSI_CSI

	//HDMI

	//HSIC

	//IC_USB

	//PCIe
	DEFAULT_PINMUX(LCD_D20,		DISPLAYA,	NORMAL,		NORMAL,		OUTPUT),
	DEFAULT_PINMUX(LCD_D21,		DISPLAYA,	NORMAL,		NORMAL,		OUTPUT),
	DEFAULT_PINMUX(LCD_D22,		DISPLAYA,	NORMAL,		NORMAL,		OUTPUT),
	DEFAULT_PINMUX(LCD_D23,		DISPLAYA,	NORMAL,		NORMAL,		OUTPUT),
	DEFAULT_PINMUX(LCD_DE,		DISPLAYA,	NORMAL,		NORMAL,		OUTPUT),
	DEFAULT_PINMUX(LCD_HSYNC,	DISPLAYA,	NORMAL,		NORMAL,		OUTPUT),
	DEFAULT_PINMUX(LCD_PCLK,	DISPLAYA,	NORMAL,		NORMAL,		OUTPUT),
	DEFAULT_PINMUX(LCD_VSYNC,	DISPLAYA,	NORMAL,		NORMAL,		OUTPUT),

	/* PCIE */
	DEFAULT_PINMUX(PEX_L0_CLKREQ_N,	PCIE,   	NORMAL,	    	NORMAL,		INPUT),
	DEFAULT_PINMUX(PEX_L1_RST_N,	PCIE,		PULL_UP,	NORMAL,		OUTPUT),
	DEFAULT_PINMUX(PEX_L1_CLKREQ_N,	PCIE,		NORMAL,		NORMAL,		INPUT),
	DEFAULT_PINMUX(PEX_L0_RST_N,	PCIE,		PULL_UP,	NORMAL,		OUTPUT),

	VI_PINMUX(VI_D2,		VI,		NORMAL,		NORMAL,	  	INPUT, 	DISABLE,	DISABLE),
	VI_PINMUX(VI_D3,		VI,		NORMAL,		NORMAL,         INPUT,	DISABLE,	DISABLE),
	VI_PINMUX(VI_D4,		VI,		NORMAL,		NORMAL,	        INPUT,	DISABLE,	DISABLE),
	VI_PINMUX(VI_D5,		VI,		NORMAL,		NORMAL,	        INPUT,	DISABLE,	DISABLE),
	VI_PINMUX(VI_D6,		VI,		NORMAL,		NORMAL,	        INPUT,	DISABLE,	DISABLE),
	VI_PINMUX(VI_D7,		VI,		NORMAL,		NORMAL,	        INPUT,	DISABLE,	DISABLE),
	VI_PINMUX(VI_D8,		VI,		NORMAL,		NORMAL,	        INPUT,	DISABLE,	DISABLE),
	VI_PINMUX(VI_D9,	    	VI,		NORMAL,		NORMAL,	        INPUT,	DISABLE,	DISABLE),
	VI_PINMUX(VI_PCLK,	    	VI,		NORMAL,		NORMAL,	        INPUT,	DISABLE,	DISABLE),
	VI_PINMUX(VI_HSYNC,	    	VI,		NORMAL,		NORMAL,	        INPUT,	DISABLE,	DISABLE),
	VI_PINMUX(VI_VSYNC,	    	VI,		NORMAL,		NORMAL,	        INPUT,	DISABLE,	DISABLE),

	/* pin config for gpios */
	DEFAULT_PINMUX(PEX_L2_CLKREQ_N,	RSVD2,		PULL_UP,	NORMAL,	        INPUT),
	DEFAULT_PINMUX(PEX_L1_PRSNT_N,	RSVD2,		PULL_UP,        NORMAL,		INPUT),
	DEFAULT_PINMUX(LCD_CS1_N,	RSVD2,		PULL_UP,	NORMAL,		INPUT),
Exemplo n.º 7
0
	DEFAULT_PINMUX(GPIO_PBB7,       I2S4,            NORMAL,    NORMAL,     OUTPUT), /* CAM2_LDO3_EN */
    DEFAULT_PINMUX(GMI_A19,         SPI4,            PULL_UP,   NORMAL,     OUTPUT), /* EN_VDD_BL1 */

    DEFAULT_PINMUX(LCD_M1,          DISPLAYA,        PULL_UP,    NORMAL,     OUTPUT), /* EN_VDD_PNL1 */

	DEFAULT_PINMUX(LCD_PWR1,        DISPLAYA,        NORMAL,    NORMAL,     OUTPUT), /* EN_3V3_FUSE */
    DEFAULT_PINMUX(CLK2_OUT,        EXTPERIPH2,      NORMAL,    NORMAL,     OUTPUT), /* EN_GPS_1V8 */
	DEFAULT_PINMUX(CLK2_REQ,        DAP,             NORMAL,    NORMAL,     OUTPUT), /* EN_WLAN_1V8 */
	DEFAULT_PINMUX(GPIO_PV2,        OWR,             NORMAL,    NORMAL,     OUTPUT), /* EN_GPS_3V3 */
	DEFAULT_PINMUX(GPIO_PV3,        RSVD1,           NORMAL,    NORMAL,     OUTPUT), /* EN_WLAN_3V3 */
    DEFAULT_PINMUX(SDMMC3_DAT5,     SDMMC3,          PULL_UP,   NORMAL,     OUTPUT), /* LS_3V3_EN */
    DEFAULT_PINMUX(KB_ROW6,         KBC,             NORMAL,    NORMAL,     OUTPUT), /* CAM1_LDO1_EN */
    DEFAULT_PINMUX(KB_ROW7,         KBC,             NORMAL,    NORMAL,     OUTPUT), /* CAM2_LDO1_EN */

    /* These pinmuxs should be not available in T30S */
	VI_PINMUX(VI_D6,           VI,              PULL_DOWN,    TRISTATE,     OUTPUT,  DISABLE, DISABLE),
	VI_PINMUX(VI_D8,           SDMMC2,          PULL_DOWN,    TRISTATE,     OUTPUT,  DISABLE, DISABLE),
	VI_PINMUX(VI_D9,           SDMMC2,          PULL_DOWN,    TRISTATE,     OUTPUT,  DISABLE, DISABLE),
	VI_PINMUX(VI_D11,          RSVD1,           PULL_DOWN,    TRISTATE,     OUTPUT,  DISABLE, DISABLE),
	VI_PINMUX(VI_PCLK,         RSVD1,           PULL_DOWN,    TRISTATE,     OUTPUT,  DISABLE, DISABLE),
	VI_PINMUX(VI_HSYNC,        RSVD1,           PULL_DOWN,    TRISTATE,     OUTPUT,  DISABLE, DISABLE),
	VI_PINMUX(VI_VSYNC,        RSVD1,           PULL_DOWN,    TRISTATE,     OUTPUT,  DISABLE, DISABLE),
};

/* pinmux: please add avalon-specific pinmux here */
static __initdata struct tegra_pingroup_config avalon_pinmux[] = {
                  /* pingrp         mux              pupd       tri         io  */
    DEFAULT_PINMUX(DAP1_DOUT,       I2S0,            NORMAL,    NORMAL,     INPUT), /* WW_WAKE */
    DEFAULT_PINMUX(SPDIF_IN,        SPDIF,           PULL_UP,   TRISTATE,   OUTPUT), /* unused */
    DEFAULT_PINMUX(SPI1_MISO,       SPI1,            NORMAL,    NORMAL,     OUTPUT), /* R_NFC_VEN_EE */
    DEFAULT_PINMUX(SPI1_MOSI,       SPI1,            PULL_UP,   TRISTATE,   OUTPUT), /* unused */