Example #1
0
static int s5pv210_pcm_cfg_gpio(struct platform_device *pdev)
{
    switch (pdev->id) {
    case 0:
        s3c_gpio_cfgpin(S5PV210_GPI(0), S3C_GPIO_SFN(3));
        s3c_gpio_cfgpin(S5PV210_GPI(1), S3C_GPIO_SFN(3));
        s3c_gpio_cfgpin(S5PV210_GPI(2), S3C_GPIO_SFN(3));
        s3c_gpio_cfgpin(S5PV210_GPI(3), S3C_GPIO_SFN(3));
        s3c_gpio_cfgpin(S5PV210_GPI(4), S3C_GPIO_SFN(3));
        break;
    case 1:
        s3c_gpio_cfgpin(S5PV210_GPC0(0), S3C_GPIO_SFN(3));
        s3c_gpio_cfgpin(S5PV210_GPC0(1), S3C_GPIO_SFN(3));
        s3c_gpio_cfgpin(S5PV210_GPC0(2), S3C_GPIO_SFN(3));
        s3c_gpio_cfgpin(S5PV210_GPC0(3), S3C_GPIO_SFN(3));
        s3c_gpio_cfgpin(S5PV210_GPC0(4), S3C_GPIO_SFN(3));
        break;
    case 2:
        s3c_gpio_cfgpin(S5PV210_GPC1(0), S3C_GPIO_SFN(2));
        s3c_gpio_cfgpin(S5PV210_GPC1(1), S3C_GPIO_SFN(2));
        s3c_gpio_cfgpin(S5PV210_GPC1(2), S3C_GPIO_SFN(2));
        s3c_gpio_cfgpin(S5PV210_GPC1(3), S3C_GPIO_SFN(2));
        s3c_gpio_cfgpin(S5PV210_GPC1(4), S3C_GPIO_SFN(2));
        break;
    default:
        printk(KERN_DEBUG "Invalid PCM Controller number!");
        return -EINVAL;
    }

    return 0;
}
Example #2
0
static int s5pv210_ac97_cfg_gpio(struct platform_device *pdev)
{
    s3c_gpio_cfgpin(S5PV210_GPC0(0), S3C_GPIO_SFN(4));
    s3c_gpio_cfgpin(S5PV210_GPC0(1), S3C_GPIO_SFN(4));
    s3c_gpio_cfgpin(S5PV210_GPC0(2), S3C_GPIO_SFN(4));
    s3c_gpio_cfgpin(S5PV210_GPC0(3), S3C_GPIO_SFN(4));
    s3c_gpio_cfgpin(S5PV210_GPC0(4), S3C_GPIO_SFN(4));

    return 0;
}
Example #3
0
static int smdkc110_set_gpio(int id)
{
        switch(id)
        {
        case 0:
                s3c_gpio_cfgpin (S5PV210_GPC1(0), S3C_GPIO_SFN(3));
                s3c_gpio_cfgpin (S5PV210_GPC1(1), S3C_GPIO_SFN(3));
                s3c_gpio_cfgpin (S5PV210_GPC1(2), S3C_GPIO_SFN(3));
                s3c_gpio_cfgpin (S5PV210_GPC1(3), S3C_GPIO_SFN(3));
                s3c_gpio_cfgpin (S5PV210_GPC1(4), S3C_GPIO_SFN(3));

                s3c_gpio_setpull(S5PV210_GPC1(0), S3C_GPIO_PULL_NONE);
                s3c_gpio_setpull(S5PV210_GPC1(1), S3C_GPIO_PULL_NONE);
                s3c_gpio_setpull(S5PV210_GPC1(2), S3C_GPIO_PULL_NONE);
                s3c_gpio_setpull(S5PV210_GPC1(3), S3C_GPIO_PULL_NONE);
                s3c_gpio_setpull(S5PV210_GPC1(4), S3C_GPIO_PULL_NONE);
                
		break;
        case 1:
                s3c_gpio_cfgpin (S5PV210_GPC0(0), S3C_GPIO_SFN(3));
                s3c_gpio_cfgpin (S5PV210_GPC0(1), S3C_GPIO_SFN(3));
                s3c_gpio_cfgpin (S5PV210_GPC0(2), S3C_GPIO_SFN(3));
                s3c_gpio_cfgpin (S5PV210_GPC0(3), S3C_GPIO_SFN(3));
                s3c_gpio_cfgpin (S5PV210_GPC0(4), S3C_GPIO_SFN(3));
		
		s3c_gpio_setpull(S5PV210_GPC0(0), S3C_GPIO_PULL_NONE);
                s3c_gpio_setpull(S5PV210_GPC0(1), S3C_GPIO_PULL_NONE);
                s3c_gpio_setpull(S5PV210_GPC0(2), S3C_GPIO_PULL_NONE);
                s3c_gpio_setpull(S5PV210_GPC0(3), S3C_GPIO_PULL_NONE);
                s3c_gpio_setpull(S5PV210_GPC0(4), S3C_GPIO_PULL_NONE);
		break;

	case 2:
                s3c_gpio_cfgpin (S5PV210_GPI(0), S3C_GPIO_SFN(3));
                s3c_gpio_cfgpin (S5PV210_GPI(1), S3C_GPIO_SFN(3));
                s3c_gpio_cfgpin (S5PV210_GPI(2), S3C_GPIO_SFN(3));
                s3c_gpio_cfgpin (S5PV210_GPI(3), S3C_GPIO_SFN(3));
                s3c_gpio_cfgpin (S5PV210_GPI(4), S3C_GPIO_SFN(3));

                s3c_gpio_setpull(S5PV210_GPI(0), S3C_GPIO_PULL_NONE);
                s3c_gpio_setpull(S5PV210_GPI(1), S3C_GPIO_PULL_NONE);
                s3c_gpio_setpull(S5PV210_GPI(2), S3C_GPIO_PULL_NONE);
                s3c_gpio_setpull(S5PV210_GPI(3), S3C_GPIO_PULL_NONE);
                s3c_gpio_setpull(S5PV210_GPI(4), S3C_GPIO_PULL_NONE);
		
		break;
        default:
                debug_msg("Not a valid PCM IP Number. - %d\n", id);
                return -EINVAL;
        }
        return 0;
}
Example #4
0
static int s5pv210_cfg_i2s(struct platform_device *pdev)
{
    /* configure GPIO for i2s port */
    switch (pdev->id) {
    case 1:
        s3c_gpio_cfgpin(S5PV210_GPC0(0), S3C_GPIO_SFN(2));
        s3c_gpio_cfgpin(S5PV210_GPC0(1), S3C_GPIO_SFN(2));
        s3c_gpio_cfgpin(S5PV210_GPC0(2), S3C_GPIO_SFN(2));
        s3c_gpio_cfgpin(S5PV210_GPC0(3), S3C_GPIO_SFN(2));
        s3c_gpio_cfgpin(S5PV210_GPC0(4), S3C_GPIO_SFN(2));
        break;

    case 2:
        s3c_gpio_cfgpin(S5PV210_GPC1(0), S3C_GPIO_SFN(4));
        s3c_gpio_cfgpin(S5PV210_GPC1(1), S3C_GPIO_SFN(4));
        s3c_gpio_cfgpin(S5PV210_GPC1(2), S3C_GPIO_SFN(4));
        s3c_gpio_cfgpin(S5PV210_GPC1(3), S3C_GPIO_SFN(4));
        s3c_gpio_cfgpin(S5PV210_GPC1(4), S3C_GPIO_SFN(4));
        break;

    case 0:
        s3c_gpio_cfgpin(S5PV210_GPI(0), S3C_GPIO_SFN(2));
        s3c_gpio_cfgpin(S5PV210_GPI(1), S3C_GPIO_SFN(2));
        s3c_gpio_cfgpin(S5PV210_GPI(2), S3C_GPIO_SFN(2));
        s3c_gpio_cfgpin(S5PV210_GPI(3), S3C_GPIO_SFN(2));
        s3c_gpio_cfgpin(S5PV210_GPI(4), S3C_GPIO_SFN(2));
        s3c_gpio_cfgpin(S5PV210_GPI(5), S3C_GPIO_SFN(2));
        s3c_gpio_cfgpin(S5PV210_GPI(6), S3C_GPIO_SFN(2));
        break;

    default:
        printk(KERN_ERR "Invalid Device %d\n", pdev->id);
        return -EINVAL;
    }

    return 0;
}
Example #5
0
static int s5pv210_cfg_i2s(struct platform_device *pdev)
{
	
	switch (pdev->id) {
	case 0:
		s3c_gpio_cfgpin_range(S5PV210_GPI(0), 7, S3C_GPIO_SFN(2));
		break;
	case 1:
		s3c_gpio_cfgpin_range(S5PV210_GPC0(0), 5, S3C_GPIO_SFN(2));
		break;
	case 2:
		s3c_gpio_cfgpin_range(S5PV210_GPC1(0), 5, S3C_GPIO_SFN(4));
		break;
	default:
		printk(KERN_ERR "Invalid Device %d\n", pdev->id);
		return -EINVAL;
	}

	return 0;
}
Example #6
0
#include <plat/gpio-cfg.h>
#include <plat/gpio-cfg-helpers.h>



#define DEVICE_NAME "led"


/* 应用程序执行ioctl(fd, cmd, arg)时的第2个参数 */
#define IOCTL_GPIO_ON	1
#define IOCTL_GPIO_OFF	0

/* 用来指定LED所用的GPIO引脚 */
static unsigned long gpio_table [] =
{
	S5PV210_GPC0(3),
	S5PV210_GPC0(4),
};

/* 用来指定GPIO引脚的功能:输出 */
static unsigned int gpio_cfg_table [] =
{
	S3C_GPIO_SFN(1),
	S3C_GPIO_SFN(1),
};

//static char gpio_name[][]={{"GPC0_3"},{"GPC0_4"}};



Example #7
0
			.ngpio	= S5PV210_GPIO_A1_NR,
			.label	= "GPA1",
		},
	}, {
		.base	= S5PV210_GPB_BASE,
		.config	= &gpio_cfg,
		.chip	= {
			.base	= S5PV210_GPB(0),
			.ngpio	= S5PV210_GPIO_B_NR,
			.label	= "GPB",
		},
	}, {
		.base	= S5PV210_GPC0_BASE,
		.config	= &gpio_cfg,
		.chip	= {
			.base	= S5PV210_GPC0(0),
			.ngpio	= S5PV210_GPIO_C0_NR,
			.label	= "GPC0",
		},
	}, {
		.base	= S5PV210_GPC1_BASE,
		.config	= &gpio_cfg,
		.chip	= {
			.base	= S5PV210_GPC1(0),
			.ngpio	= S5PV210_GPIO_C1_NR,
			.label	= "GPC1",
		},
	}, {
		.base	= S5PV210_GPD0_BASE,
		.config	= &gpio_cfg,
		.chip	= {
Example #8
0
static int s5pv210_ac97_cfg_gpio(struct platform_device *pdev)
{
	return s3c_gpio_cfgpin_range(S5PV210_GPC0(0), 5, S3C_GPIO_SFN(4));
}
	.scl_is_output_only	= 0,
};

struct platform_device gpioi2c4_device = 
{
	.name		= "i2c-gpio",
	.id		= 4,
	.dev		= 
	{
		.platform_data	= &gpioi2c4_platdata,
	},
};

/* For SF */
static struct i2c_gpio_platform_data gpioi2c5_platdata = {
	.sda_pin		= S5PV210_GPC0(4),
	.scl_pin		= S5PV210_GPJ0(6),
	.udelay			= 0,
	.timeout		= 0,
	.sda_is_open_drain	= 0,
	.scl_is_open_drain	= 0,
	.scl_is_output_only	= 0,
};

struct platform_device gpioi2c5_device = 
{
	.name		= "i2c-gpio",
	.id		= 5,
	.dev		= 
	{
		.platform_data	= &gpioi2c5_platdata,
Example #10
0
/* PWM beeper (add by zjh) */
static struct platform_device tq210_beeper = {
	.name = "pwm-beeper",
	.dev = {
		.parent = &s3c_device_timer[1].dev,
		.platform_data = (void *)1,
	},
	.id = 1,
};

/* leds-gpio (add by zjh) */
static struct gpio_led leds[] = {
	[0] = {
		.name = "led0",
		 .default_trigger = "heartbeat",
		.gpio = S5PV210_GPC0(3),
		.active_low = 0,
		.default_state = LEDS_GPIO_DEFSTATE_OFF,
	},
	[1] = {
		.name = "led1",
		.gpio = S5PV210_GPC0(4),
		.active_low = 0,
		.default_state = LEDS_GPIO_DEFSTATE_OFF,
	},
};

static struct gpio_led_platform_data tq210_leds_pdata = {
	.num_leds = ARRAY_SIZE(leds),
	.leds = leds,
};