Exemplo n.º 1
0
static int __init i2c_init(void)
{
	static int res;
	static int first = 1;

	if (!first)
		return res;

	first = 0;

	/* Setup and enable the DATA and CLK pins */

	res = crisv32_io_get_name(&cris_i2c_data,
		CONFIG_ETRAX_V32_I2C_DATA_PORT);
	if (res < 0)
		return res;

	res = crisv32_io_get_name(&cris_i2c_clk, CONFIG_ETRAX_V32_I2C_CLK_PORT);
	crisv32_io_set_dir(&cris_i2c_clk, crisv32_io_dir_out);

	return res;
}
Exemplo n.º 2
0
static int __init crisv32_io_init(void)
{
	int ret = 0;

	u32 i;

	/* Locks *should* be dynamically initialized. */
	for (i = 0; i < ARRAY_SIZE(crisv32_ioports); i++)
		spin_lock_init(&crisv32_ioports[i].lock);
	spin_lock_init(&dummy_port.lock);

	/* Initialize LEDs */
#if (defined(CONFIG_ETRAX_NBR_LED_GRP_ONE) || defined(CONFIG_ETRAX_NBR_LED_GRP_TWO))
	ret += crisv32_io_get_name(&crisv32_led_net0_green,
		CONFIG_ETRAX_LED_G_NET0);
	crisv32_io_set_dir(&crisv32_led_net0_green, crisv32_io_dir_out);
	if (strcmp(CONFIG_ETRAX_LED_G_NET0, CONFIG_ETRAX_LED_R_NET0)) {
		ret += crisv32_io_get_name(&crisv32_led_net0_red,
			CONFIG_ETRAX_LED_R_NET0);
		crisv32_io_set_dir(&crisv32_led_net0_red, crisv32_io_dir_out);
	} else
		crisv32_led_net0_red = dummy_led;
#endif

	ret += crisv32_io_get_name(&crisv32_led2_green, CONFIG_ETRAX_V32_LED2G);
	ret += crisv32_io_get_name(&crisv32_led2_red, CONFIG_ETRAX_V32_LED2R);
	ret += crisv32_io_get_name(&crisv32_led3_green, CONFIG_ETRAX_V32_LED3G);
	ret += crisv32_io_get_name(&crisv32_led3_red, CONFIG_ETRAX_V32_LED3R);

	crisv32_io_set_dir(&crisv32_led2_green, crisv32_io_dir_out);
	crisv32_io_set_dir(&crisv32_led2_red, crisv32_io_dir_out);
	crisv32_io_set_dir(&crisv32_led3_green, crisv32_io_dir_out);
	crisv32_io_set_dir(&crisv32_led3_red, crisv32_io_dir_out);

	return ret;
}
Exemplo n.º 3
0
static int __init crisv32_io_init(void)
{
	int ret = 0;
	/* Initialize LEDs */
	ret += crisv32_io_get_name(&crisv32_led1_green, CONFIG_ETRAX_LED1G);
	ret += crisv32_io_get_name(&crisv32_led1_red, CONFIG_ETRAX_LED1R);
	ret += crisv32_io_get_name(&crisv32_led2_green, CONFIG_ETRAX_LED2G);
	ret += crisv32_io_get_name(&crisv32_led2_red, CONFIG_ETRAX_LED2R);
	ret += crisv32_io_get_name(&crisv32_led3_green, CONFIG_ETRAX_LED3G);
	ret += crisv32_io_get_name(&crisv32_led3_red, CONFIG_ETRAX_LED3R);
	crisv32_io_set_dir(&crisv32_led1_green, crisv32_io_dir_out);
	crisv32_io_set_dir(&crisv32_led1_red, crisv32_io_dir_out);
	crisv32_io_set_dir(&crisv32_led2_green, crisv32_io_dir_out);
	crisv32_io_set_dir(&crisv32_led2_red, crisv32_io_dir_out);
	crisv32_io_set_dir(&crisv32_led3_green, crisv32_io_dir_out);
	crisv32_io_set_dir(&crisv32_led3_red, crisv32_io_dir_out);

	if (!strcmp(CONFIG_ETRAX_LED1G, CONFIG_ETRAX_LED1R))
		crisv32_led1_red = dummy_led;
	if (!strcmp(CONFIG_ETRAX_LED2G, CONFIG_ETRAX_LED2R))
		crisv32_led2_red = dummy_led;

	return ret;
}