示例#1
0
    { 237, LOW,  FN_GPIO_INPUT | FN_I2C | FN_ANALOG }, // Output disabled
    { 213, HIGH, FN_GPIO_INPUT_PULLUP }, // Pullup enabled
    { 213, LOW,  FN_GPIO_INPUT_PULLDOWN }, // Pulldown enabled
    { 213, NONE, FN_GPIO_OUTPUT | FN_GPIO_INPUT_HIZ | FN_I2C | FN_ANALOG }, // Pullup disabled
    { 165, PIN_MODE_0, FN_GPIO | FN_ANALOG },
    { 28,  PIN_MODE_1, FN_I2C }, // I2C mode
    { 214, HIGH,  FN_GPIO | FN_I2C | FN_ANALOG } // Tristate enabled for all pins
};



// Sorted by Linux GPIO ID
PinDescription g_APinDescription[] =
{
//	gpiolib	alias	fastinf	ardid	Initial			FixdSt	ptMuxDesc,		MuxCount		type		Handle	extPU	iAlt	pAlt
    { 12,	NONE,	3,	3,	FN_GPIO_INPUT_HIZ,	NONE,	(mux_sel_t*)&MuxDesc3,	MUX_SIZE(MuxDesc3),	FN_GPIO,	-1,	1,	0,	NULL },	// Arduino IO3
    { 13,	NONE,	5,	5,	FN_GPIO_INPUT_HIZ,	NONE,	(mux_sel_t*)&MuxDesc5,	MUX_SIZE(MuxDesc5),	FN_GPIO,	-1,	1,	0,	NULL },	// Arduino IO5
    { 14,	NONE,	18,	18,	FN_GPIO_INPUT_HIZ,	NONE,	(mux_sel_t*)&MuxDesc18,	MUX_SIZE(MuxDesc18),	FN_GPIO,	-1,	1,	0,	NULL },	// Arduino IO18 (AIN4)
    { 40,	NONE,	13,	13,	FN_GPIO_INPUT_HIZ,	NONE,	(mux_sel_t*)&MuxDesc13,	MUX_SIZE(MuxDesc13),	FN_GPIO,	-1,	1,	0,	NULL },	// Arduino IO13
    { 41,	NONE,	10,	10,	FN_GPIO_INPUT_HIZ,	NONE,	(mux_sel_t*)&MuxDesc10,	MUX_SIZE(MuxDesc10),	FN_GPIO,	-1,	1,	0,	NULL },	// Arduino IO10
    { 42,	NONE,	12,	12,	FN_GPIO_INPUT_HIZ,	NONE,	(mux_sel_t*)&MuxDesc12,	MUX_SIZE(MuxDesc12),	FN_GPIO,	-1,	1,	0,	NULL },	// Arduino IO12
    { 43,	NONE,	11,	11,	FN_GPIO_INPUT_HIZ,	NONE,	(mux_sel_t*)&MuxDesc11,	MUX_SIZE(MuxDesc11),	FN_GPIO,	-1,	1,	0,	NULL },	// Arduino IO11
    { 44,	NONE,	14,	14,	FN_GPIO_INPUT_HIZ,	NONE,	(mux_sel_t*)&MuxDesc14,	MUX_SIZE(MuxDesc14),	FN_GPIO,	-1,	1,	0,	NULL },	// Arduino IO14 (AIN0)
    { 45,	NONE,	15,	15,	FN_GPIO_INPUT_HIZ,	NONE,	(mux_sel_t*)&MuxDesc15,	MUX_SIZE(MuxDesc15),	FN_GPIO,	-1,	1,	0,	NULL },	// Arduino IO15 (AIN1)
    { 46,	NONE,	16,	16,	FN_GPIO_INPUT_HIZ,	NONE,	(mux_sel_t*)&MuxDesc16,	MUX_SIZE(MuxDesc16),	FN_GPIO,	-1,	1,	0,	NULL },	// Arduino IO16 (AIN2)
    { 47,	NONE,	17,	17,	FN_GPIO_INPUT_HIZ,	NONE,	(mux_sel_t*)&MuxDesc17,	MUX_SIZE(MuxDesc17),	FN_GPIO,	-1,	1,	0,	NULL },	// Arduino IO17 (AIN3)
    { 48,	NONE,	7,	7,	FN_GPIO_INPUT_HIZ,	NONE,	(mux_sel_t*)&MuxDesc7,	MUX_SIZE(MuxDesc7),	FN_GPIO,	-1,	1,	0,	NULL },	// Arduino IO7
    { 49,	NONE,	8,	8,	FN_GPIO_INPUT_HIZ,	NONE,	(mux_sel_t*)&MuxDesc8,	MUX_SIZE(MuxDesc8),	FN_GPIO,	-1,	1,	0,	NULL },	// Arduino IO8
    { 128,	NONE,	2,	2,	FN_GPIO_INPUT_HIZ,	NONE,	(mux_sel_t*)&MuxDesc2,	MUX_SIZE(MuxDesc2),	FN_GPIO,	-1,	1,	0,	NULL },	// Arduino IO2
    { 129,	NONE,	4,	4,	FN_GPIO_INPUT_HIZ,	NONE,	(mux_sel_t*)&MuxDesc4,	MUX_SIZE(MuxDesc4),	FN_GPIO,	-1,	1,	0,	NULL },	// Arduino IO4
    { 130,	NONE,	0,	0,	FN_GPIO_INPUT_HIZ,	NONE,	(mux_sel_t*)&MuxDesc0,	MUX_SIZE(MuxDesc0),	FN_GPIO,	-1,	1,	0,	NULL },	// Arduino IO0
示例#2
0
FastIOInfo FastIOInfoPin5  = { FAST_IO_MODE_PIO, GPIO_FAST_IO5,  CW_GPIO_LVL, CW_GPIO_LVL };
FastIOInfo FastIOInfoPin6  = { FAST_IO_MODE_PIO, GPIO_FAST_IO6,  CW_GPIO_LVL, CW_GPIO_LVL };
FastIOInfo FastIOInfoPin7  = { FAST_IO_MODE_PIO, GPIO_FAST_IO7,  RW_GPIO_LVL, RW_GPIO_LVL };
FastIOInfo FastIOInfoPin8  = { FAST_IO_MODE_PIO, GPIO_FAST_IO8,  RW_GPIO_LVL, RW_GPIO_LVL };
FastIOInfo FastIOInfoPin9  = { FAST_IO_MODE_PIO, GPIO_FAST_IO9,  RW_GPIO_LVL, RW_GPIO_LVL };
FastIOInfo FastIOInfoPin11 = { FAST_IO_MODE_PIO, GPIO_FAST_IO11, RW_GPIO_LVL, RW_GPIO_LVL };
FastIOInfo FastIOInfoPin4  = { FAST_IO_MODE_PIO, GPIO_FAST_IO4,  RW_GPIO_LVL, RW_GPIO_LVL };
FastIOInfo FastIOInfoPin13 = { FAST_IO_MODE_PIO, GPIO_FAST_IO13, RW_GPIO_LVL, RW_GPIO_LVL };

/*
 * The following 6 pins are for Fast mode MMIO access. The pins are the same 
 * as slow mode, they just use MMIO register access for fast mode and sysfs for slow mode. 
 */
//	gpiolib	alias	fastinf			ardid	Initial			FixdSt	ptMuxDesc,		MuxCount		type		Handle	extPU	iAlt	pAlt
PinDescription AltPin0 =
	{ 11,	NONE,	&FastIOInfoPin0,	0,	FN_GPIO_INPUT_HIZ,	NONE,	(mux_sel_t*)&MuxDesc0,	MUX_SIZE(MuxDesc0),	FN_GPIO,	-1,	1,	0,	NULL	 };	// Arduino IO0 or UART0_RXD
PinDescription AltPin1 =																	                
	{ 12,	NONE,	&FastIOInfoPin1,	1,	FN_GPIO_INPUT_HIZ,	NONE,	(mux_sel_t*)&MuxDesc1,	MUX_SIZE(MuxDesc1),	FN_GPIO,	-1,	1,	0,	NULL	 };	// Arduino IO1 or UART0_TXD
PinDescription AltPin2 =																	                
	{ 13,	NONE,	&FastIOInfoPin2,	2,	FN_GPIO_INPUT_HIZ,	NONE,	(mux_sel_t*)&MuxDesc2,	MUX_SIZE(MuxDesc2),	FN_GPIO,	-1,	1,	0,	NULL	 };	// Arduino IO2 or UART1_RXD
PinDescription AltPin3 =																	                
	{ 14,	NONE,	&FastIOInfoPin3,	3,	FN_GPIO_INPUT_HIZ,	NONE,	(mux_sel_t*)&MuxDesc3,	MUX_SIZE(MuxDesc3),	FN_GPIO,	-1,	1,	0,	NULL	 };	// Arduino IO3 or UART1_TXD or PWM pin #1
PinDescription AltPin10 =																	                
	{ 10,	NONE,	&FastIOInfoPin10,	10,	FN_GPIO_INPUT_HIZ,	NONE,	(mux_sel_t*)&MuxDesc10,	MUX_SIZE(MuxDesc10),	FN_GPIO,	-1,	1,	0,	NULL	 };	// Arduino IO10 or SPI1_SS_B or PWM pin #5
PinDescription AltPin12 =																	                
	{ 15,	NONE,	&FastIOInfoPin12,	12,	FN_GPIO_INPUT_HIZ,	NONE,	(mux_sel_t*)&MuxDesc12,	MUX_SIZE(MuxDesc12),	FN_GPIO,	-1,	1,	0,	NULL	 };	// Arduino IO12 or SPI1_MISO

/*
 * The following 8 pins are for Fast mode PIO access. The pins are the same 
 * as slow mode, they just use PIO register access for fast mode and sysfs for slow mode. 
 */