亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? devices.c

?? linux2.6.16版本
?? C
字號:
/* * arch/arm/mach-at91rm9200/devices.c * *  Copyright (C) 2005 Thibaut VARENE <varenet@parisc-linux.org> *  Copyright (C) 2005 David Brownell * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * */#include <asm/mach/arch.h>#include <asm/mach/map.h>#include <linux/config.h>#include <linux/platform_device.h>#include <asm/arch/board.h>#include <asm/arch/pio.h>/* -------------------------------------------------------------------- *  USB Host * -------------------------------------------------------------------- */#if defined(CONFIG_USB_OHCI_HCD) || defined(CONFIG_USB_OHCI_HCD_MODULE)static u64 ohci_dmamask = 0xffffffffUL;static struct at91_usbh_data usbh_data;static struct resource at91rm9200_usbh_resource[] = {	[0] = {		.start	= AT91_UHP_BASE,		.end	= AT91_UHP_BASE + SZ_1M -1,		.flags	= IORESOURCE_MEM,	},	[1] = {		.start	= AT91_ID_UHP,		.end	= AT91_ID_UHP,		.flags	= IORESOURCE_IRQ,	},};static struct platform_device at91rm9200_usbh_device = {	.name		= "at91rm9200-ohci",	.id		= -1,	.dev		= {				.dma_mask		= &ohci_dmamask,				.coherent_dma_mask	= 0xffffffff,				.platform_data		= &usbh_data,	},	.resource	= at91rm9200_usbh_resource,	.num_resources	= ARRAY_SIZE(at91rm9200_usbh_resource),};void __init at91_add_device_usbh(struct at91_usbh_data *data){	if (!data)		return;	usbh_data = *data;	platform_device_register(&at91rm9200_usbh_device);}#elsevoid __init at91_add_device_usbh(struct at91_usbh_data *data) {}#endif/* -------------------------------------------------------------------- *  USB Device (Gadget) * -------------------------------------------------------------------- */#ifdef CONFIG_USB_GADGET_AT91static struct at91_udc_data udc_data;static struct resource at91_udc_resources[] = {	{		.start	= AT91_BASE_UDP,		.end	= AT91_BASE_UDP + SZ_16K - 1,		.flags	= IORESOURCE_MEM,	}};static struct platform_device at91rm9200_udc_device = {	.name		= "at91_udc",	.id		= -1,	.dev		= {				.platform_data		= &udc_data,	},	.resource	= at91_udc_resources,	.num_resources	= ARRAY_SIZE(at91_udc_resources),};void __init at91_add_device_udc(struct at91_udc_data *data){	if (!data)		return;	if (data->vbus_pin) {		at91_set_gpio_input(data->vbus_pin, 0);		at91_set_deglitch(data->vbus_pin, 1);	}	if (data->pullup_pin) {		at91_set_gpio_output(data->pullup_pin, 0);		at91_set_multi_drive(data->pullup_pin, 1);	}	udc_data = *data;	platform_device_register(&at91rm9200_udc_device);}#elsevoid __init at91_add_device_udc(struct at91_udc_data *data) {}#endif/* -------------------------------------------------------------------- *  Ethernet * -------------------------------------------------------------------- */#if defined(CONFIG_ARM_AT91_ETHER) || defined(CONFIG_ARM_AT91_ETHER_MODULE)static u64 eth_dmamask = 0xffffffffUL;static struct at91_eth_data eth_data;static struct platform_device at91rm9200_eth_device = {	.name		= "at91_ether",	.id		= -1,	.dev		= {				.dma_mask		= &eth_dmamask,				.coherent_dma_mask	= 0xffffffff,				.platform_data		= &eth_data,	},	.num_resources	= 0,};void __init at91_add_device_eth(struct at91_eth_data *data){	if (!data)		return;	if (data->phy_irq_pin) {		at91_set_gpio_input(data->phy_irq_pin, 0);		at91_set_deglitch(data->phy_irq_pin, 1);	}	/* Pins used for MII and RMII */	at91_set_A_periph(AT91_PIN_PA16, 0);	/* EMDIO */	at91_set_A_periph(AT91_PIN_PA15, 0);	/* EMDC */	at91_set_A_periph(AT91_PIN_PA14, 0);	/* ERXER */	at91_set_A_periph(AT91_PIN_PA13, 0);	/* ERX1 */	at91_set_A_periph(AT91_PIN_PA12, 0);	/* ERX0 */	at91_set_A_periph(AT91_PIN_PA11, 0);	/* ECRS_ECRSDV */	at91_set_A_periph(AT91_PIN_PA10, 0);	/* ETX1 */	at91_set_A_periph(AT91_PIN_PA9, 0);	/* ETX0 */	at91_set_A_periph(AT91_PIN_PA8, 0);	/* ETXEN */	at91_set_A_periph(AT91_PIN_PA7, 0);	/* ETXCK_EREFCK */	if (!data->is_rmii) {		at91_set_B_periph(AT91_PIN_PB19, 0);	/* ERXCK */		at91_set_B_periph(AT91_PIN_PB18, 0);	/* ECOL */		at91_set_B_periph(AT91_PIN_PB17, 0);	/* ERXDV */		at91_set_B_periph(AT91_PIN_PB16, 0);	/* ERX3 */		at91_set_B_periph(AT91_PIN_PB15, 0);	/* ERX2 */		at91_set_B_periph(AT91_PIN_PB14, 0);	/* ETXER */		at91_set_B_periph(AT91_PIN_PB13, 0);	/* ETX3 */		at91_set_B_periph(AT91_PIN_PB12, 0);	/* ETX2 */	}	eth_data = *data;	platform_device_register(&at91rm9200_eth_device);}#elsevoid __init at91_add_device_eth(struct at91_eth_data *data) {}#endif/* -------------------------------------------------------------------- *  Compact Flash / PCMCIA * -------------------------------------------------------------------- */#if defined(CONFIG_AT91_CF) || defined(CONFIG_AT91_CF_MODULE)static struct at91_cf_data cf_data;static struct platform_device at91rm9200_cf_device = {	.name		= "at91_cf",	.id		= -1,	.dev		= {				.platform_data		= &cf_data,	},	.num_resources	= 0,};void __init at91_add_device_cf(struct at91_cf_data *data){	if (!data)		return;	/* input/irq */	if (data->irq_pin) {		at91_set_gpio_input(data->irq_pin, 1);		at91_set_deglitch(data->irq_pin, 1);	}	at91_set_gpio_input(data->det_pin, 1);	at91_set_deglitch(data->det_pin, 1);	/* outputs, initially off */	if (data->vcc_pin)		at91_set_gpio_output(data->vcc_pin, 0);	at91_set_gpio_output(data->rst_pin, 0);	cf_data = *data;	platform_device_register(&at91rm9200_cf_device);}#elsevoid __init at91_add_device_cf(struct at91_cf_data *data) {}#endif/* -------------------------------------------------------------------- *  MMC / SD * -------------------------------------------------------------------- */#if defined(CONFIG_MMC_AT91RM9200) || defined(CONFIG_MMC_AT91RM9200_MODULE)static u64 mmc_dmamask = 0xffffffffUL;static struct at91_mmc_data mmc_data;static struct resource at91_mmc_resources[] = {	{		.start	= AT91_BASE_MCI,		.end	= AT91_BASE_MCI + SZ_16K - 1,		.flags	= IORESOURCE_MEM,	}};static struct platform_device at91rm9200_mmc_device = {	.name		= "at91rm9200_mci",	.id		= -1,	.dev		= {				.dma_mask		= &mmc_dmamask,				.coherent_dma_mask	= 0xffffffff,				.platform_data		= &mmc_data,	},	.resource	= at91_mmc_resources,	.num_resources	= ARRAY_SIZE(at91_mmc_resources),};void __init at91_add_device_mmc(struct at91_mmc_data *data){	if (!data)		return;	/* input/irq */	if (data->det_pin) {		at91_set_gpio_input(data->det_pin, 1);		at91_set_deglitch(data->det_pin, 1);	}	if (data->wp_pin)		at91_set_gpio_input(data->wp_pin, 1);	/* CLK */	at91_set_A_periph(AT91_PIN_PA27, 0);	if (data->is_b) {		/* CMD */		at91_set_B_periph(AT91_PIN_PA8, 0);		/* DAT0, maybe DAT1..DAT3 */		at91_set_B_periph(AT91_PIN_PA9, 0);		if (data->wire4) {			at91_set_B_periph(AT91_PIN_PA10, 0);			at91_set_B_periph(AT91_PIN_PA11, 0);			at91_set_B_periph(AT91_PIN_PA12, 0);		}	} else {		/* CMD */		at91_set_A_periph(AT91_PIN_PA28, 0);		/* DAT0, maybe DAT1..DAT3 */		at91_set_A_periph(AT91_PIN_PA29, 0);		if (data->wire4) {			at91_set_B_periph(AT91_PIN_PB3, 0);			at91_set_B_periph(AT91_PIN_PB4, 0);			at91_set_B_periph(AT91_PIN_PB5, 0);		}	}	mmc_data = *data;	platform_device_register(&at91rm9200_mmc_device);}#elsevoid __init at91_add_device_mmc(struct at91_mmc_data *data) {}#endif/* -------------------------------------------------------------------- */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
2024国产精品视频| 免费成人在线影院| 欧美aaaaa成人免费观看视频| 国产成人8x视频一区二区| 欧美精品色一区二区三区| 中文字幕一区二区三区在线不卡| 琪琪一区二区三区| 欧美在线观看一区| 国产精品伦理在线| 国产精品自拍网站| 欧美大白屁股肥臀xxxxxx| 亚洲一区二区三区影院| 精品一区二区三区的国产在线播放 | 亚洲国产日韩综合久久精品| 国产成人午夜片在线观看高清观看| 欧美精品一卡二卡| 午夜影视日本亚洲欧洲精品| 91亚洲精品久久久蜜桃| 综合欧美一区二区三区| 国产91精品一区二区| 久久日韩粉嫩一区二区三区| 蜜臀精品久久久久久蜜臀| 欧美美女网站色| 五月婷婷久久综合| 欧美精品国产精品| 日韩电影在线免费| 欧美一级二级三级乱码| 免费高清成人在线| 日韩免费观看高清完整版| 轻轻草成人在线| 精品久久久久香蕉网| 九九精品视频在线看| 精品国产一区二区三区av性色| 免费在线观看一区二区三区| 日韩三级电影网址| 久久超碰97人人做人人爱| 日韩精品在线看片z| 蜜桃视频在线观看一区二区| 精品国产一区二区在线观看| 国产酒店精品激情| 国产精品久久久久久久第一福利 | 婷婷综合五月天| 日韩一区二区在线观看| 国产一区激情在线| 中文字幕一区二区三区精华液| 色综合色综合色综合| 亚洲成人7777| 日韩三级视频中文字幕| 国产成人免费在线观看| 日韩伦理av电影| 7777精品伊人久久久大香线蕉经典版下载 | 久久久精品黄色| 99精品欧美一区二区三区小说| 国产成人啪免费观看软件| 中文字幕一区二区三区蜜月 | 久久疯狂做爰流白浆xx| 蜜臂av日日欢夜夜爽一区| 色综合色狠狠综合色| 亚洲成a人在线观看| 538在线一区二区精品国产| 久草这里只有精品视频| 中文字幕在线视频一区| 欧美日韩激情一区二区| 国产一区视频导航| 一区二区三区**美女毛片| 日韩欧美视频在线| 97se亚洲国产综合自在线观| 日本不卡视频一二三区| 国产精品久久久久久久第一福利| 欧美日韩国产影片| 国产剧情一区二区| 亚洲18女电影在线观看| 中文字幕二三区不卡| 91精品国产综合久久久久久| 北条麻妃一区二区三区| 三级精品在线观看| 国产精品毛片久久久久久| 欧美一区二区三区日韩视频| 99久久777色| 国产一区二区在线看| 午夜天堂影视香蕉久久| 国产精品麻豆欧美日韩ww| 日韩欧美你懂的| 欧美日韩中文一区| 91农村精品一区二区在线| 国模一区二区三区白浆 | 久久久久亚洲蜜桃| 欧美精选一区二区| 色先锋资源久久综合| 国产一区二区三区视频在线播放| 午夜精品一区二区三区三上悠亚| 中文字幕+乱码+中文字幕一区| 日韩精品中文字幕在线一区| 欧美日韩综合不卡| 欧美综合欧美视频| 91麻豆福利精品推荐| 国产成人精品午夜视频免费 | 日韩黄色片在线观看| 亚洲精品亚洲人成人网在线播放| 久久日一线二线三线suv| 91麻豆精品国产91久久久资源速度| 91污在线观看| av资源网一区| 不卡的电视剧免费网站有什么| 国产一区二区三区四| 激情欧美日韩一区二区| 免费成人深夜小野草| 亚洲成人av在线电影| 亚洲午夜久久久久久久久电影网 | 国产欧美一区二区在线观看| 精品国产一区二区在线观看| 日韩一区二区免费视频| 91精品久久久久久蜜臀| 91麻豆精品国产| 日韩一级片网址| 精品久久免费看| 久久久91精品国产一区二区三区| 久久青草国产手机看片福利盒子| 日韩欧美不卡在线观看视频| 精品三级在线看| 国产欧美日韩在线观看| 国产精品美女一区二区| 亚洲欧洲性图库| 亚洲裸体在线观看| 亚洲国产精品一区二区www| 亚洲成a人在线观看| 美国十次综合导航| 国产传媒欧美日韩成人| av网站免费线看精品| 欧美在线播放高清精品| 欧美美女喷水视频| 亚洲精品一区二区三区99| 国产人成亚洲第一网站在线播放| 国产精品久久久久久久久免费丝袜| 综合av第一页| 午夜a成v人精品| 国产精品一区二区x88av| 99re66热这里只有精品3直播 | www.在线成人| 精品成人免费观看| 久久久.com| 亚洲伦在线观看| 美女一区二区三区| 粉嫩aⅴ一区二区三区四区| 色综合 综合色| 日韩欧美一区二区免费| 国产精品免费丝袜| 日韩中文字幕1| 高清国产一区二区| 欧美性色综合网| 久久精品人人做人人爽人人| 一区二区久久久久| 精品一区二区三区视频在线观看| 91在线免费看| 精品日产卡一卡二卡麻豆| 亚洲区小说区图片区qvod| 美女网站一区二区| 色爱区综合激月婷婷| 精品国产乱码久久久久久1区2区 | 麻豆91精品91久久久的内涵| 成人午夜视频福利| 欧美电影在线免费观看| 亚洲欧洲av一区二区三区久久| 欧美aaa在线| 欧美午夜片在线看| 国产精品久久久久久福利一牛影视| 丝袜美腿亚洲一区二区图片| 99久久综合色| 国产欧美一区二区三区在线看蜜臀 | 欧美无乱码久久久免费午夜一区| 国产色91在线| 精品一二线国产| 欧美美女喷水视频| 一区二区三区不卡在线观看 | 亚洲精品久久久久久国产精华液| 国产在线麻豆精品观看| 欧美高清视频在线高清观看mv色露露十八| 国产午夜精品一区二区三区四区| 日本不卡一区二区三区 | 亚洲国产精品天堂| 97se狠狠狠综合亚洲狠狠| 国产亚洲自拍一区| 麻豆精品一区二区av白丝在线| 在线欧美小视频| 亚洲免费观看高清完整| 成人黄色片在线观看| 久久久99免费| 国产高清亚洲一区| 久久综合久久99| 精品写真视频在线观看| 日韩欧美在线综合网| 日韩精品乱码免费| 91精品国产91久久久久久最新毛片| 亚洲无线码一区二区三区| 在线精品视频免费观看| 亚洲午夜电影网| 欧美二区乱c少妇| 美女精品自拍一二三四| 欧美精品一区二区在线观看| 精品一区二区影视|