[RK3399] Type-C改為普通USB
CPU : RK3399
系統: Android 7.1.2
為了降低成本,主機板將 Type-C 改為 MicroUSB 介面,節省了 fusb302 晶片
參考 Rockchip 的官方文件第 4 部分: Micro USB2.0 OTG DTS 配置
RKDocs/common/usb/Rockchip-Developer-Guide-Linux4.4-RK3399-USB-DTS-CN.pdf
&tcphy0 {
status = "disabled" ;
};
&u2phy0 {
status = "okay" ; /* Micro USB2 PHY 刪除了 extcon 屬性 */
otg-vbus-gpios = <&gpio3 RK_PC6 GPIO_ACTIVE_HIGH>; /* Vbus GPIO 配置 */
u2phy0_otg: otg-port { /* 文件中錯誤寫成了 u2phy1_otg */
status = "okay" ;
};
......
};
&usbdrd3_0 {
extcon = <&u2phy0>; /* Micro USB3 控制器的 extcon 屬性引用 u2phy0 */
status = "okay" ;
};
&usbdrd_dwc3_0 {
dr_mode = "otg" ; /* Micro USB3 控制器的 dr_mode 配置為 otg */
maximum-speed = "high-speed" ; /* maximum-speed 屬性配置為 high-speed */
phys = <&u2phy0_otg>; /* phys 屬性只引用 USB2 PHY 節點 */
phy-names = "usb2-phy" ;
status = "okay" ;
};
按照文件中說明,修改這部分就可以了,但是編譯核心部分燒錄後,不能進安卓系統,串列埠一直迴圈列印如下:
[ 9.878630 ] init: Starting service 'surfaceflinger' ...
[ 10.294620 ] init: Service 'surfaceflinger' (pid 532 ) killed by signal 6
[ 10.294664 ] init: Service 'surfaceflinger' (pid 532 ) killing any children in process group
[ 10.294709 ] init: Service 'zygote' is being killed...
[ 10.356365 ] init: Service 'zygote' (pid 254 ) killed by signal 9
[ 10.356441 ] init: Service 'zygote' (pid 254 ) killing any children in process group
[ 10.356634 ] init: write_file: Unable to open '/sys/android_power/request_state' : No such file or directory
[ 10.356778 ] init: write_file: Unable to write to '/sys/power/state' : Invalid argument
[ 10.356805 ] init: Service 'audioserver' is being killed...
[ 10.357239 ] init: Service 'cameraserver' is being killed...
[ 10.357327 ] init: Service 'media' is being killed...
[ 10.357454 ] init: Service 'netd' is being killed...
[ 10.358943 ] init: Starting service 'zygote' ...
[ 10.364342 ] init: Service 'audioserver' (pid 299 ) killed by signal 9
[ 10.364427 ] init: Service 'audioserver' (pid 299 ) killing any children in process group
[ 10.365879 ] init: Starting service 'audioserver' ...
[ 10.369573 ] init: Service 'netd' (pid 310 ) killed by signal 9
[ 10.369677 ] init: Service 'netd' (pid 310 ) killing any children in process group
[ 10.370582 ] init: Untracked pid 575 killed by signal 9
[ 10.374127 ] init: Service 'media' (pid 297 ) killed by signal 9
[ 10.374192 ] init: Service 'media' (pid 297 ) killing any children in process group
[ 10.375119 ] init: Service 'cameraserver' (pid 300 ) killed by signal 9
[ 10.375158 ] init: Service 'cameraserver' (pid 300 ) killing any children in process group
[ 10.376450 ] init: Starting service 'media' ...
[ 10.378976 ] init: Starting service 'cameraserver' ...
[ 10.382610 ] init: couldn 't write 580 to /dev/cpuset/camera-daemon/tasks: No such file or directory
[ 12.079202 ] init: Starting service 'netd' ...
開始懷疑是因為沒有全部編譯的問題,但是全部編譯燒錄後,還是不能開機,一直提示找不到 drm device ,串列埠一直迴圈列印如下:
__bionic_open_tzdata: couldn 't find any tzdata when looking for GMT!
Starting recovery (pid 185 ) on Fri Jan 18 08 : 52 : 30 2013
bootmode = emmc
recovery filesystem table
=========================
0 /mnt/internal_sd vfat /dev/block/platform/fe330000.sdhci/by-name/user 0
1 /mnt/external_sd vfat /dev/block/mmcblk0p1 0
2 /system ext4 /dev/block/platform/fe330000.sdhci/by-name/system 0
3 /cache ext4 /dev/block/platform/fe330000.sdhci/by-name/cache 0
4 /metadata ext4 /dev/block/platform/fe330000.sdhci/by-name/metadata 0
5 /data ext4 /dev/block/platform/fe330000.sdhci/by-name/userdata 0
6 /cust ext4 /dev/block/platform/fe330000.sdhci/by-name/cust 0
7 /custom ext4 /dev/block/platform/fe330000.sdhci/by-name/custom 0
8 /misc emmc /dev/block/platform/fe330000.sdhci/by-name/misc 0
9 /uboot emmc /dev/block/platform/fe330000.sdhci/by-name/uboot 0
10 /charge emmc /dev/block/platform/fe330000.sdhci/by-name/charge 0
11 /resource emmc /dev/block/platform/fe330000.sdhci/by-name/resource 0
12 /parameter emmc /dev/block/platform/fe330000.sdhci/by-name/parameter 0
13 /boot emmc /dev/block/platform/fe330000.sdhci/by-name/boot 0
14 /recovery emmc /dev/block/platform/fe330000.sdhci/by-name/recovery 0
15 /backup emmc /dev/block/platform/fe330000.sdhci/by-name/backup 0
16 /trust emmc /dev/block/platform/fe330000.sdhci/by-name/trust 0
17 /baseparameter emmc /dev/block/platform/fe330000.sdhci/by-name/baseparameter 0
18 /frp emmc /dev/block/platform/fe330000.sdhci/by-name/frp 0
19 /tmp ramdisk ramdisk 0
emmc_point is /dev/block/mmcblk1
sd_point is ( null )
sd_point_2 is ( null )
I:InternalSD_ROOT: /mnt/internal_sd
I:ExternalSD_ROOT: /mnt/external_sd
read cmdline
[ 4.309235 ] fs_mgr: Warning: unknown flag resize
I:Boot command: boot-recovery
I:Got arguments from boot message
[ 4.311229 ] fs_mgr: Warning: unknown flag resize
=== start void dumpCmdArgs( int , char **): 296 ===
argv[ 0 ] = recovery.
argv[ 1 ] = --wipe_all.
locale is [en_US]
stage is []
reason is [( null )]
cannot find/open a drm device: No such file or directory
cannot open fb0: No such file or directory
[ 4.352842 ] init: Service 'recovery' (pid 185 ) killed by signal 11
[ 4.352952 ] init: Service 'recovery' (pid 185 ) killing any children in process group
[ 9.358734 ] init: Starting service 'recovery' ...
檢視 dts 檔案,裡面還有一個地方 &cdn_dp 使用了 fusb0 ,遮蔽此處即可開機
&cdn_dp {
status = "disabled" ;
extcon = <&fusb0>;
phys = <&tcphy0_dp>;
};
最後建議把 i2c 中與 fusb302 通訊的部分也 disable 掉,此處不改也沒有問題,只是 i2c 不通,但可以正常開機。
fusb0: fusb30x@ 22 {
compatible = "fairchild,fusb302" ;
reg = < 0x22 >;
pinctrl-names = "default" ;
pinctrl- 0 = <&fusb0_int>;
int -n-gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>;
vbus-5v-gpios = <&gpio4 26 GPIO_ACTIVE_HIGH>;
status = "disabled" ;
};
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69948385/viewspace-2757382/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- RK3399 Type-C改為MicroUSB
- USB PD和USB TYPE-C 的區別
- USB Type-C明年將會更加普及 玩法更多
- oracle9i 普通表改為分割槽表Oracle
- 樂視手機真機圖曝光:採用USB Type-C介面技術
- 使用ORACLE線上重定義將普通表改為分割槽表Oracle
- 【Oracle】利用線上重定義的方式改變普通表為分割槽表Oracle
- Online Spy Shop:Twitter名人醜聞正在改變普通使用者的行為
- windows下將隱藏檔案通過命令列改變為普通的顯示檔案Windows命令列
- Lenovo 聯想膝上型電腦遇到 USB Type-C 介面失效問題解決(UCM-UCSI ACPI, error code 43)Error
- Oracle 普通table 轉換為partition tableOracle
- 普通錶轉換為分割槽表
- RK3399開發資料,RK3399晶片效能,RK3399處理器引數,RK3399主機板晶片
- Android USB預設連線模式為MTPAndroid模式
- 批次轉換分割槽表為普通表
- 批量轉換分割槽表為普通表
- 將普通錶轉換為分割槽表
- 恢復失靈的Type-c介面
- 安卓USB開發教程 USB Accessory安卓
- 安卓USB開發教程 USB Host安卓
- RK3399 修改系統預設語言為簡體中文
- 普通人為什麼要學python?Python
- Oracle 將普通錶轉換為分割槽表Oracle
- 為普通Object新增類似AttachedProperty的屬性Object
- Oracle普通表修改為分割槽表的方法Oracle
- exists改為內連線
- not exists改為外連線
- window格式改為unix格式
- 體驗ChatMoss:人工智慧如何改變普通人的生活人工智慧
- garmin USB: linux USB host驅動Linux
- USB專殺工具:USBclean for MacMac
- RK3399方案設計RK3399嵌入式開發
- ubuntu 為USB串列埠繫結固定的裝置名Ubuntu串列埠
- 教你在WindowsXP中為USB新增“只讀”屬性(轉)Windows
- MiniVCap 用普通usb攝像頭做視訊錄影軟體!可長期持續錄影
- ORACLE將普通錶轉變為分割槽表方法Oracle
- usb 3.0 linux libusb 問題Linux
- 安卓USB開發教程 USB Host 與 Accessory安卓