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 = ;
/* Vbus GPIO
配置
*/
u2phy0_otg: otg-port {
/*
文档中错误写成了
u2phy1_otg */
status =
"okay"
;
};
......
};
&usbdrd3_0 {
extcon = ;
/* 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 = ;
/* 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 = ;
phys = ;
};
最后建议把
i2c
中与
fusb302
通讯的部分也
disable
掉,此处不改也没有问题,只是
i2c
不通,但可以正常开机。
fusb0: fusb30x@
22
{
compatible =
"fairchild,fusb302"
;
reg = <
0x22
>;
pinctrl-names =
"default"
;
pinctrl-
0
= ;
int
-n-gpios =
2
GPIO_ACTIVE_HIGH>;
vbus-5v-gpios =
26
GPIO_ACTIVE_HIGH>;
status =
"disabled"
;
};