io_domains指的是RK3399各部分的电源域。有些电源域的电压是固定的,不需要配置,有些是可选1.8V和3.3V的,这就需要根据硬件实际设计进行配置。
配置的节点有两个:
&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>;
gpio1830-supply = <&vcc_3v0>;
};
&pmu_io_domains {
status = "okay";
pmu1830-supply = <&vcc_1v8>;
};
这几个电源域对应的电源名字分别为:
根据原理图查找对应的电源名称然后配置到dts节点即可。
这个电源域的配置非常重要,若配置错误会导致系统无法正常工作,严重的会导致系统启动不了。比如常见的GPIO设置无效,有一种可能就是该GPIO所在电源域配置错误。