立即注册
查看: 1530|回复: 1

[RK3399] Type-C改为MicroUSB

已绑定手机
发表于 2021-2-17 15:55:48 | 显示全部楼层 |阅读模式 来自 广东省深圳市
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_PC6GPIO_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: Startingservice '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: Startingservice '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: Startingservice '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: Untrackedpid 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: Startingservice 'media'...
[   10.378976] init: Startingservice 'cameraserver'...
[   10.382610] init: couldn't write 580 to/dev/cpuset/camera-daemon/tasks: No such file or directory
[   12.079202] init: Startingservice 'netd'...
开始怀疑是因为没有全部编译的问题,但是全部编译烧录后,还是不能开机,一直提示找不到 drm device,串口一直循环打印如下:
__bionic_open_tzdata:couldn't find anytzdata when looking for GMT!
Starting recovery(pid 185) on Fri Jan 18 08:52:30 2013
bootmode = emmc
recoveryfilesystem table
=========================
  0 /mnt/internal_sdvFAT /dev/block/platform/fe330000.sdhci/by-name/user 0
  1 /mnt/external_sdvfat /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 /baseparameteremmc /dev/block/platform/fe330000.sdhci/by-name/baseparameter 0
  18 /frp emmc/dev/block/platform/fe330000.sdhci/by-name/frp 0
  19 /tmp ramdiskramdisk 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 adrm 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: Startingservice '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";
};
b1e03227fa9720da4fde362389b7768.png


已绑定手机
发表于 2021-4-24 08:43:55 | 显示全部楼层 来自 广东省深圳市
谢谢分享好资料
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

合作/建议

TEL: 19168984579

工作时间:
周一到周五 9:00-11:30 13:30-19:30
  • 扫一扫关注公众号
  • 扫一扫打开小程序
Copyright © 2013-2024 一牛网 版权所有 All Rights Reserved. 帮助中心|隐私声明|联系我们|手机版|粤ICP备13053961号|营业执照|EDI证
在本版发帖搜索
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表