Ejemplo n.º 1
0
static int __init printer_board_lateinit(void) {
	printk(">>>>>>start init sew-290 modem\n");
	if (!gpio_is_valid(GPIO_PB(29)))
		printk("GPIO_PB(29) invaild.\n");
	if (gpio_request(GPIO_PB(29), "modem_rst"))
		printk("GPIO_PB(29) request failed.\n");
	else
		gpio_direction_output(GPIO_PB(29), 0);

	if (!gpio_is_valid(GPIO_PE(8)))
		printk("GPIO_PE(8) invaild.\n");
	if(gpio_request(GPIO_PE(8), "modem_vcc"))
		printk("GPIO_PE(8) request failed.\n");
	else
		gpio_direction_output(GPIO_PE(8), 1);

	if (!gpio_is_valid(GPIO_PD(12)))
		printk("GPIO_PD(12), is invaild.\n");
	if(gpio_request(GPIO_PD(12), "modem_init"))
		printk("GPIO_PD(12) request faild.\n");
	else
		gpio_direction_output(GPIO_PD(12), 1);

	INIT_DELAYED_WORK(&modem_work, init_modem);
	schedule_delayed_work(&modem_work, msecs_to_jiffies(5000));

	return 0;
}
Ejemplo n.º 2
0
static void init_modem(struct work_struct *work) {
	gpio_direction_output(GPIO_PD(12), 0);
	cancel_delayed_work(&modem_work);
}
Ejemplo n.º 3
0
	.de_mode = 0,
};

/* LCD Panel Device */
struct platform_device ek070tn93_device = {
	.name		= "ek070tn93-lcd",
	.dev		= {
		.platform_data	= &ek070tn93_pdata,
	},
};
#endif

#ifdef CONFIG_LCD_BYD_BM8766U
#include <linux/byd_bm8766u.h>
static struct platform_byd_bm8766u_data byd_bm8766u_pdata= {
	.gpio_lcd_disp = GPIO_PD(11),
	.gpio_lcd_de   = 0,		//GPIO_PC(9),	/* chose sync mode */
	.gpio_lcd_vsync = 0,		//GPIO_PC(19),
	.gpio_lcd_hsync = 0,		//GPIO_PC(18),
};

/* LCD device */
struct platform_device byd_bm8766u_device = {
	.name		= "byd_bm8766u-lcd",
	.dev		= {
		.platform_data = &byd_bm8766u_pdata,
	},
};
#endif

#ifdef CONFIG_LCD_KD50G2_40NM_A2
Ejemplo n.º 4
0
#ifdef CONFIG_I2C_GPIO /*CONFIG_I2C_GPIO*/

#define DEF_GPIO_I2C(NO,GPIO_I2C_SDA,GPIO_I2C_SCK)		\
static struct i2c_gpio_platform_data i2c##NO##_gpio_data = {	\
	.sda_pin	= GPIO_I2C_SDA,				\
	.scl_pin	= GPIO_I2C_SCK,				\
	.udelay = 1,							\
};								\
struct platform_device i2c##NO##_gpio_device = {     	\
	.name	= "i2c-gpio",					\
	.id	= NO,						\
	.dev	= { .platform_data = &i2c##NO##_gpio_data,},	\
};

DEF_GPIO_I2C(0,GPIO_PD(30),GPIO_PD(31));
#endif

/**
 * sound devices, include i2s,pcm, mixer0 - 1(mixer is used for debug) and an internal codec
 * note, the internal codec can only access by i2s0
 **/
static u64 jz_i2s_dmamask =  ~(u32)0;
static struct resource jz_i2s_resources[] = {
	[0] = {
		.start          = AIC0_IOBASE,
		.end            = AIC0_IOBASE + 0x1000 -1,
		.flags          = IORESOURCE_MEM,
	},
	[1] = {
		.start			= IRQ_AIC0,
Ejemplo n.º 5
0
 */
FIXED_REGULATOR_DEF(
	hdmi_80_vcc5,
	"Vcc-5V",	5000000,	GPIO_PE(15),
	HIGH_ENABLE,	UN_AT_BOOT,	0,
	NULL,		"vhdmi",	"jz-hdmi");

FIXED_REGULATOR_DEF(
	hdmi_80_vbus,
	"OTG-Vbus",	5000000,	GPIO_PB(10),
	LOW_ENABLE,	UN_AT_BOOT,	0,
	NULL,	"vbus",	NULL);

FIXED_REGULATOR_DEF(
	hdmi_80_vwifi,
	"vwifi",	3000000,	GPIO_PD(8),
	HIGH_ENABLE,	UN_AT_BOOT,	0,
	NULL,		"vwifi",		NULL);
/*
FIXED_REGULATOR_DEF(
	hdmi_80_ucharger,
	"ucharger",	3000000,	GPIO_PD(21),
	HIGH_ENABLE,	UN_AT_BOOT,	0,
	NULL,		"ucharger",		NULL);
	

FIXED_REGULATOR_DEF(
	hdmi_80_vlcd,
	"LCD",		3300000,	GPIO_PB(23),
	HIGH_ENABLE,	EN_AT_BOOT,	0,
	NULL,		"vlcd",		NULL);
Ejemplo n.º 6
0
#ifdef CONFIG_MMC1_PIO_MODE
	.pio_mode			= 1,
#else
	.pio_mode			= 0,
#endif
	.private_init			= iw8101_wlan_init,
};
#endif
#ifdef CONFIG_MMC0_JZ4780
/*
 * WARING:
 * If a GPIO is not used or undefined, it must be set -1,
 * or PA0 will be request.
 */
static struct card_gpio hlba1_tf_gpio = {
	.cd				= {GPIO_PD(13),		LOW_ENABLE},
	.wp				= {-1,			-1},
	.pwr				= {-1,			-1},
};

struct jzmmc_platform_data hlba1_tf_pdata = {
	.removal  			= REMOVABLE,
	.sdio_clk			= 0,
	.ocr_avail			= MMC_VDD_32_33 | MMC_VDD_33_34,
	.capacity  			= MMC_CAP_SD_HIGHSPEED | MMC_CAP_MMC_HIGHSPEED | MMC_CAP_4_BIT_DATA,
	.pm_flags			= 0,
#ifdef CONFIG_MMC0_JZ4780
	.max_freq			= CONFIG_MMC0_MAX_FREQ,
#endif
	.recovery_info			= NULL,
	.gpio				= &hlba1_tf_gpio,