ITPub博客

首页 > 人工智能 > 人工智能 > [RK3399] Type-C改为普通USB

[RK3399] Type-C改为普通USB

原创 人工智能 作者:tt7643066 时间:2021-02-17 12:58:33 0 删除 编辑

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博客 ” ,链接:https://blog.itpub.net/69948385/viewspace-2757382/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
新创云智能科技 基于瑞芯微RK3588、RK3576、RK3568、RK3566、RK3399、RK3128等平台的核心板、开发板、工控板、主板,支持定制化OEM/ODM,提供产品解决方案。

注册时间:2019-09-14

  • 博文量
    66
  • 访问量
    122669