F1C100S添加USB驱动
1.添加设备树节点:
在.dti文件中添加如下节点:
otg_sram: sram-section@0 {
compatible = "allwinner,suniv-f1c100s-sram-d",
"allwinner,sun4i-a10-sram-d";
reg = <0x0000 0x1000>;
status = "disabled";
};
usb_otg: usb@1c13000 {
compatible = "allwinner,suniv-musb";
reg = <0x01c13000 0x0400>;
clocks = <&ccu CLK_BUS_OTG>;
resets = <&ccu RST_BUS_OTG>;
interrupts = <26>;
interrupt-names = "mc";
phys = <&usbphy 0>;
phy-names = "usb";
extcon = <&usbphy 0>;
allwinner,sram = <&otg_sram 1>;
status = "disabled";
};
usbphy: phy@1c13400 {
compatible = "allwinner,suniv-usb-phy";
reg = <0x01c13400 0x10>;
reg-names = "phy_ctrl";
clocks = <&ccu CLK_USB_PHY0>;
clock-names = "usb0_phy";
resets = <&ccu RST_USB_PHY0>;
reset-names = "usb0_reset";
#phy-cells = <1>;
status = "disabled";
};
然后在dts中开启设备节点:
&otg_sram {
status = "okay";
};
&usb_otg {
dr_mode = "otg";
status = "okay";
};
&usbphy {
usb0_id_det-gpio = <&pio 4 2 GPIO_ACTIVE_HIGH>; /* PE2 */
status = "okay";
};
2.由于linux并没有对F1C100s写驱动,因此我们需要添加其驱动程序,步骤如下:
drivers/phy/allwinner/phy-sun4i-usb.c文件修改如下
大约在100行处添加:
suniv_phy,
大约在862处添加:
static const struct sun4i_usb_phy_cfg suniv_cfg = {
.num_phys = 1,
.type = suniv_phy,
.disc_thresh = 3,
.phyctl_offset = REG_PHYCTL_A10,
.dedicated_clocks = true,
};
大约在985处添加:
{ .compatible = "allwinner,suniv-usb-phy", .data = &suniv_cfg },
drivers/usb/musb/sunxi.c文件修改如下
大约在717行添加如下:
||of_device_is_compatible(np, "allwinner,suniv-musb")
大约在724处添加如下:
||of_device_is_compatible(np, "allwinner,suniv-musb")
大约在817处添加如下:
{ .compatible = "allwinner,suniv-musb", },
修改好后保存所有修改文件
3.选择usb驱动添加到内核:
然后保存退出
4.编译测试:
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
usb
+关注
关注
60文章
7909浏览量
264139 -
驱动
+关注
关注
12文章
1829浏览量
85212 -
Linux
+关注
关注
87文章
11236浏览量
209024 -
文件
+关注
关注
1文章
561浏览量
24711 -
设备树
+关注
关注
0文章
38浏览量
3110
发布评论请先 登录
相关推荐
如何在CYW943907AEVAL1F上添加USB设备功能驱动程序
有人知道如何在CYW943907AEV1F上添加新的USB设备功能驱动程序或任何示例代码、文档吗?谢谢! 以上来自于百度翻译 以下为原文Does anyone know how to
发表于 11-23 15:08
f1c100s_tina项目添加lvgl软件包一直编译错误是哪里的问题呢?
全志f1c100s RTT studio 创建的allwinner_tina项目,添加LVGL软件包,编译后一直报错,内部编译错误(internal compiler error
发表于 02-01 16:01
f1c100s芯片介绍
进入usb fel 模式, 可以用USB烧录了。对于F1C100s而言启动时寻找用户程序的位置顺序如下:SDC0接口(PF0~PF5)上的SD(TF)卡;SPI0接口(PC0~PC3)上的Nor
发表于 03-06 14:08
嵌入式Linux的USB驱动添加及应用
驱动程序添加是嵌入式Linux开发的关键技术之一。本文主要分析为MCF5272 添加USB驱动程序的详细过程, 简述UFTP 协议(
发表于 04-15 11:58
•12次下载
如何添加USB Host Class驱动
站长荐语:虽然本文谈的主题是添加USB Host Class驱动,但文中所用到的方法具有普遍意义,所有MCU工程师都可以使用这种方法,参照已有功能做其它功能的扩展。 前 言 由于
全志F1C100s数据手册用户手册
F1C100s处理器代表了Allwinner在移动应用处理器方面的最新成就。该处理器针对视频boombox市场的需求。F1C100s处理器基于ARM9 CPU架构,具有高度的功能集成。F1C100
发表于 07-14 11:35
•74次下载
全志F1C200s数据手册
,包括H.264、H.263、MPEG1/2/4解码器。集成音频编解码器和12S/PCM接口为最终用户提供了良好的音频体验。TV-IN接口通过连接摄像头等视频设备实现视频输入,TV-OUT接口通过连接电视设备实现视频输出。为了降低BOM成本,
发表于 07-13 14:38
•35次下载
全志f1c100s与v3s参数对比
全志f1c100s与v3s参数对比 全志科技是一家中国领先的芯片制造商,其产品广泛应用于消费电子市场,如智能手机、平板电脑、电视机、智能音响等。在全志科技的产品线中,F1C100s和V3s
评论