F1C100S添加USB驅(qū)動(dòng)
1.添加設(shè)備樹節(jié)點(diǎn):
在.dti文件中添加如下節(jié)點(diǎn):
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中開啟設(shè)備節(jié)點(diǎn):
&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并沒有對(duì)F1C100s寫驅(qū)動(dòng),因此我們需要添加其驅(qū)動(dòng)程序,步驟如下:
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驅(qū)動(dòng)添加到內(nèi)核:



然后保存退出
4.編譯測(cè)試:

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。
舉報(bào)投訴
-
usb
+關(guān)注
關(guān)注
60文章
8438瀏覽量
284454 -
驅(qū)動(dòng)
+關(guān)注
關(guān)注
12文章
1954瀏覽量
88522 -
Linux
+關(guān)注
關(guān)注
88文章
11758瀏覽量
219009 -
文件
+關(guān)注
關(guān)注
1文章
594瀏覽量
26054 -
設(shè)備樹
+關(guān)注
關(guān)注
0文章
45瀏覽量
3572
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
熱點(diǎn)推薦
如何在CYW943907AEVAL1F上添加USB設(shè)備功能驅(qū)動(dòng)程序
有人知道如何在CYW943907AEV1F上添加新的USB設(shè)備功能驅(qū)動(dòng)程序或任何示例代碼、文檔嗎?謝謝! 以上來自于百度翻譯 以下為原文Does anyone know how to
發(fā)表于 11-23 15:08
f1c100s_tina項(xiàng)目添加lvgl軟件包一直編譯錯(cuò)誤是哪里的問題呢?
全志f1c100s RTT studio 創(chuàng)建的allwinner_tina項(xiàng)目,添加LVGL軟件包,編譯后一直報(bào)錯(cuò),內(nèi)部編譯錯(cuò)誤(internal compiler error
發(fā)表于 02-01 16:01
f1c100s芯片介紹
進(jìn)入usb fel 模式, 可以用USB燒錄了。對(duì)于F1C100s而言啟動(dòng)時(shí)尋找用戶程序的位置順序如下:SDC0接口(PF0~PF5)上的SD(TF)卡;SPI0接口(PC0~PC3)上的Nor
發(fā)表于 03-06 14:08
嵌入式Linux的USB驅(qū)動(dòng)添加及應(yīng)用
驅(qū)動(dòng)程序添加是嵌入式Linux開發(fā)的關(guān)鍵技術(shù)之一。本文主要分析為MCF5272 添加USB驅(qū)動(dòng)程序的詳細(xì)過程, 簡(jiǎn)述UFTP 協(xié)議(
發(fā)表于 04-15 11:58
?12次下載
如何添加USB Host Class驅(qū)動(dòng)
?? 站長(zhǎng)薦語:雖然本文談的主題是添加USB Host Class驅(qū)動(dòng),但文中所用到的方法具有普遍意義,所有MCU工程師都可以使用這種方法,參照已有功能做其它功能的擴(kuò)展。 ?? ? 前 言 由于
全志F1C100s數(shù)據(jù)手冊(cè)用戶手冊(cè)
F1C100s處理器代表了Allwinner在移動(dòng)應(yīng)用處理器方面的最新成就。該處理器針對(duì)視頻boombox市場(chǎng)的需求。F1C100s處理器基于ARM9 CPU架構(gòu),具有高度的功能集成。F1C100
發(fā)表于 07-14 11:35
?115次下載
全志F1C200s數(shù)據(jù)手冊(cè)
,包括H.264、H.263、MPEG1/2/4解碼器。集成音頻編解碼器和12S/PCM接口為最終用戶提供了良好的音頻體驗(yàn)。TV-IN接口通過連接攝像頭等視頻設(shè)備實(shí)現(xiàn)視頻輸入,TV-OUT接口通過連接電視設(shè)備實(shí)現(xiàn)視頻輸出。為了降低BOM成本,
發(fā)表于 07-13 14:38
?45次下載
全志f1c100s與v3s參數(shù)對(duì)比
全志f1c100s與v3s參數(shù)對(duì)比 全志科技是一家中國領(lǐng)先的芯片制造商,其產(chǎn)品廣泛應(yīng)用于消費(fèi)電子市場(chǎng),如智能手機(jī)、平板電腦、電視機(jī)、智能音響等。在全志科技的產(chǎn)品線中,F1C100s和V3s
高集成與超低功耗MCU:愛普生S1C17F50/F60系列微控制器
愛普生憑借其在低功耗MCU領(lǐng)域的技術(shù)積淀,將EPD驅(qū)動(dòng)電路、溫度檢測(cè)與電源管理模塊高度集成于單芯片中,推出了S1C17F系列。S1C17F00系列是具有EPD無源面板段??驅(qū)動(dòng)器和溫度
F1C100S添加USB驅(qū)動(dòng)
評(píng)論