usb

usb主机侧都标准化到寄存器都一样了,不过也对,物理上只有两根线,所有的都靠抽象。

Ehci_atmel.c


module_init(ehci_atmel_init);

ehci_atmel_init
{
    ehci_init_driver(&ehci_atmel_hc_driver, NULL);//填充ehci_atmel_hc_driver结构体,用系统自带的默认对象ehci_hc_driver
    platform_driver_register(&ehci_atmel_driver); --》ehci_atmel_drv_probe   
}


ehci_atmel_drv_probe
{
    获取中断
    判断是否支持dma
    usb_create_hcd //进一步初始化hcd
    获取并申请内存资源
    获取并预使能时钟
    usb_add_hcd// 注册hcd
}


ohci-at91.c

sysfs_create_group -》 ohci_hcd_at91_drv_probe


ohci_hcd_at91_drv_probe
{
    遍历并设置引脚
    申请中断ohci_hcd_at91_overcurrent_irq用来探测设备
    usb_hcd_at91_probe
}


usb_hcd_at91_probe
{
    usb_create_hcd //进一步填充ohci_at91_hc_driver
    获取申请内存和时钟
    usb_add_hcd//注册hcd

}


ohci_at91_hc_driver
{
    .reset = ohci_at91_reset,
    .start = ohci_at91_start,
    
    .hub_status_data = ohci_at91_hub_status_data,
    .hub_control =ohci_at91_hub_control,
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值