有一种可能的原因是没有设置uboot中的电源域,解决方式如下:
在主dts文件中添加如下代码:
#include <dt-bindings/input/input.h>
#include <dt-bindings/sensor-dev.h>
#include <dt-bindings/pwm/pwm.h>
+#include <dt-bindings/soc/rockchip-io-domain.h>
/ {
compatible = "rockchip,rk3399-mid", "rockchip,rk3399";
@@ -658,7 +659,7 @@
&io_domains {
status = "okay";
-
+ uboot-set = <(RK3399_BT656_VDD_1V8 | RK3399_AUDIO_VDD_1V8 | RK3399_GPIO1833_VDD_3V3)>;
bt656-supply = <&vcc_1v8>;
audio-supply = <&vcca1v8_codec>;
// sdmmc-supply = <&sdmmc_sys>;
上面的“uboot-set”属性并不是固定的,要根据硬件设计的实际情况选择1V8和3V3的电源域配置。宏的定义在kernel/include/dt-bindings/soc/rockchip-io-domain.h中