void s3c_i2c0_cfg_gpio(struct platform_device *dev)
{
	s3c_gpio_cfgpin(S5PC100_GPD(3), S3C_GPIO_SFN(2));
	s3c_gpio_setpull(S5PC100_GPD(3), S3C_GPIO_PULL_UP);
	s3c_gpio_cfgpin(S5PC100_GPD(4), S3C_GPIO_SFN(2));
	s3c_gpio_setpull(S5PC100_GPD(4), S3C_GPIO_PULL_UP);
}
static int smdkc100_backlight_init(struct device *dev)
{
	int ret;

	ret = gpio_request(S5PC100_GPD(0), "Backlight");
	if (ret) {
		printk(KERN_ERR "failed to request GPF for PWM-OUT0\n");
		return ret;
	}

	/* Configure GPIO pin with S5PC100_GPD_TOUT_0 */
	s3c_gpio_cfgpin(S5PC100_GPD(0), S3C_GPIO_SFN(2));

	return 0;
}
/* LCD power controller */
static void smdkc100_lcd_power_set(struct plat_lcd_data *pd,
				   unsigned int power)
{
	/* backlight */
	gpio_direction_output(S5PC100_GPD(0), power);

	if (power) {
		/* module reset */
		gpio_direction_output(S5PC100_GPH0(6), 1);
		mdelay(100);
		gpio_direction_output(S5PC100_GPH0(6), 0);
		mdelay(10);
		gpio_direction_output(S5PC100_GPH0(6), 1);
		mdelay(10);
	}
}
static void __init smdkc100_machine_init(void)
{
	/* I2C */
	s3c_i2c0_set_platdata(NULL);
	s3c_i2c1_set_platdata(NULL);
	i2c_register_board_info(0, i2c_devs0, ARRAY_SIZE(i2c_devs0));
	i2c_register_board_info(1, i2c_devs1, ARRAY_SIZE(i2c_devs1));

	s3c_fb_set_platdata(&smdkc100_lcd_pdata);

	/* LCD init */
	gpio_request(S5PC100_GPD(0), "GPD");
	gpio_request(S5PC100_GPH0(6), "GPH0");
	smdkc100_lcd_power_set(&smdkc100_lcd_power_data, 0);
	platform_add_devices(smdkc100_devices, ARRAY_SIZE(smdkc100_devices));
}
Exemple #5
0
	&s3c_device_rtc,
	&s5p_device_fimc0,
	&s5p_device_fimc1,
	&s5p_device_fimc2,
	&s5pc100_device_spdif,
};

static struct s3c2410_ts_mach_info s3c_ts_platform __initdata = {
	.delay			= 10000,
	.presc			= 49,
	.oversampling_shift	= 2,
};

/* LCD Backlight data */
static struct samsung_bl_gpio_info smdkc100_bl_gpio_info = {
	.no = S5PC100_GPD(0),
	.func = S3C_GPIO_SFN(2),
};

static struct platform_pwm_backlight_data smdkc100_bl_data = {
	.pwm_id = 0,
};

static void __init smdkc100_map_io(void)
{
	s5p_init_io(NULL, 0, S5P_VA_CHIPID);
	s3c24xx_init_clocks(12000000);
	s3c24xx_init_uarts(smdkc100_uartcfgs, ARRAY_SIZE(smdkc100_uartcfgs));
}

static void __init smdkc100_machine_init(void)
void s3c_i2c1_cfg_gpio(struct platform_device *dev)
{
	s3c_gpio_cfgall_range(S5PC100_GPD(5), 2,
			      S3C_GPIO_SFN(2), S3C_GPIO_PULL_UP);
}
static void smdkc100_backlight_exit(struct device *dev)
{
	s3c_gpio_cfgpin(S5PC100_GPD(0), S3C_GPIO_OUTPUT);
	gpio_free(S5PC100_GPD(0));
}
Exemple #8
0
/* S/PDIF Controller platform_device */
static int s5pc100_spdif_cfg_gpd(struct platform_device *pdev)
{
	s3c_gpio_cfgpin_range(S5PC100_GPD(5), 2, S3C_GPIO_SFN(3));

	return 0;
}
Exemple #9
0
			.ngpio	= S5PC100_GPIO_B_NR,
			.label	= "GPB",
		},
	}, {
		.base	= S5PC100_GPC_BASE,
		.config	= &gpio_cfg,
		.chip	= {
			.base	= S5PC100_GPC(0),
			.ngpio	= S5PC100_GPIO_C_NR,
			.label	= "GPC",
		},
	}, {
		.base	= S5PC100_GPD_BASE,
		.config	= &gpio_cfg,
		.chip	= {
			.base	= S5PC100_GPD(0),
			.ngpio	= S5PC100_GPIO_D_NR,
			.label	= "GPD",
		},
	}, {
		.base	= S5PC100_GPE0_BASE,
		.config	= &gpio_cfg,
		.chip	= {
			.base	= S5PC100_GPE0(0),
			.ngpio	= S5PC100_GPIO_E0_NR,
			.label	= "GPE0",
		},
	}, {
		.base	= S5PC100_GPE1_BASE,
		.config	= &gpio_cfg,
		.chip	= {