20250405在荣品的PRO-RK3566开发板使用Rockchip原厂的buildroot系统【默认可以HDMI显示-适配vccio】
2025/4/5 13:56
缘起:为了熟悉RK3566的buildroot系统下适配gc2093,手头上有一片荣品PRO-RK3566的开发板/公司要使用荣品PRO-RK3566的核心板。
给荣品PRO-RK3566的开发板适配Rockchip原厂的buildroot系统的全部驱动程序,以/即可熟悉RK3566平台的buildroot系统。
Rockchip原厂的buildroot系统默认编译之后,就可以刷机到荣品的PRO-RK3566开发板。
只是串口波特率为:1.5Mbps N 8 1。荣品默认为115200bps N 8 1。
只是HDMI输出是竖屏。可能默认配置的LCD是竖屏显示的。
串口/DEBUG口老是打印:
/bin/list-iodomain.sh version: V1.0.1
Get CHIP ID: rk356x
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXX PLEASE CHECK IO-DOMAIN !!!!!!!!!!!!!!!
XXXXXXXXXX 请务必检查IO电源域配置 !!!!!!!!!!!!!!!
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Get IO DOMAIN VALUE:
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
注意事项:PMUIO1/PMUIO2 固定不可配
VCCIO2电平由硬件FLASH_VOL_SEL决定:
当VCCIo2供电是1.8V,则FLASH_VOL_SEL管脚必须保持为高电平;
当VCCIO2供电是3.3V,则FLASH_VOL_SEL管脚必须保持为低电平;
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
pmuio2_vsel: 3.3V
vccio7_vsel: 3.3V
vccio6_vsel: 1.8V
vccio5_vsel: 3.3V
vccio4_vsel: 3.3V
vccio3_vsel: 3.3V
vccio2_vsel: 3.3V
vccio1_vsel: 3.3V
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
root@rk3566-buildroot:/#
可能是VCCIO的电压不对。首先适配vccio。
查找荣品的DTS中的vccio配置的DTS文件:
rootroot@rootroot-X99-Turbo:~/RK3566_RK3568_Linux5.10_V1.2.0/kernel/arch/arm64/boot/dts/rockchip01荣品-最小$
rootroot@rootroot-X99-Turbo:~/RK3566_RK3568_Linux5.10_V1.2.0/kernel/arch/arm64/boot/dts/rockchip01荣品-最小$ grep vccio . -R
./rk356x/pro-rk3566.dts: vccio1-supply = <&vccio_acodec>;
./rk356x/pro-rk3566.dts: vccio3-supply = <&vccio_sd>;
./rk356x/pro-rk3566.dts: vccio4-supply = <&vcc_3v3>;
./rk356x/pro-rk3566.dts: vccio5-supply = <&vcc_3v3>;
./rk356x/pro-rk3566.dts: vccio6-supply = <&vcc_1v8>;
./rk356x/pro-rk3566.dts: vccio7-supply = <&vcc_3v3>;
./rk356x/rk3566-evb-rpdzkj-rk809-tcs4525.dtsi: vccio_acodec: LDO_REG4 {
./rk356x/rk3566-evb-rpdzkj-rk809-tcs4525.dtsi: regulator-name = "vccio_acodec";
./rk356x/rk3566-evb-rpdzkj-rk809-tcs4525.dtsi: vccio_sd: LDO_REG5 {
./rk356x/rk3566-evb-rpdzkj-rk809-tcs4525.dtsi: regulator-name = "vccio_sd";
./rk356x/rk3566-evb-rpdzkj-rk809-tcs4525.dtsi: vccio1-supply = <&vccio_acodec>;
./rk356x/rk3566-evb-rpdzkj-rk809-tcs4525.dtsi: vccio3-supply = <&vccio_sd>;
./rk356x/rk3566-evb-rpdzkj-rk809-tcs4525.dtsi: vccio4-supply = <&vcc_3v3>;
./rk356x/rk3566-evb-rpdzkj-rk809-tcs4525.dtsi: vccio5-supply = <&vcc_3v3>;
./rk356x/rk3566-evb-rpdzkj-rk809-tcs4525.dtsi: vccio6-supply = <&vcc_3v3>;
./rk356x/rk3566-evb-rpdzkj-rk809-tcs4525.dtsi: vccio7-supply = <&vcc_3v3>;
./rk356x/rk3566-evb-rpdzkj-rk809-tcs4525.dtsi: vqmmc-supply = <&vccio_sd>;
rootroot@rootroot-X99-Turbo:~/RK3566_RK3568_Linux5.10_V1.2.0/kernel/arch/arm64/boot/dts/rockchip01荣品-最小$
Z:\source\kernel\arch\arm64\boot\dts\rockchip\rk356x\pro-rk3566.dts
&pmu_io_domains {
status = "okay";
pmuio2-supply = <&vcc3v3_pmu>;
vccio1-supply = <&vccio_acodec>;
vccio3-supply = <&vccio_sd>;
vccio4-supply = <&vcc_3v3>;
vccio5-supply = <&vcc_3v3>;
vccio6-supply = <&vcc_1v8>;
vccio7-supply = <&vcc_3v3>;
};
Z:\RK3566_RK3568_Linux5.10_V1.2.0\kernel\arch\arm64\boot\dts\rockchip\rk3568-evb.dtsi
/*
* There are 10 independent IO domains in RK3566/RK3568, including PMUIO[0:2] and VCCIO[1:7].
* 1/ PMUIO0 and PMUIO1 are fixed-level power domains which cannot be configured;
* 2/ PMUIO2 and VCCIO1,VCCIO[3:7] domains require that their hardware power supply voltages
* must be consistent with the software configuration correspondingly
* a/ When the hardware IO level is connected to 1.8V, the software voltage configuration
* should also be configured to 1.8V accordingly;
* b/ When the hardware IO level is connected to 3.3V, the software voltage configuration
* should also be configured to 3.3V accordingly;
* 3/ VCCIO2 voltage control selection (0xFDC20140)
* BIT[0]: 0x0: from GPIO_0A7 (default)
* BIT[0]: 0x1: from GRF
* Default is determined by Pin FLASH_VOL_SEL/GPIO0_A7:
* L:VCCIO2 must supply 3.3V
* H:VCCIO2 must supply 1.8V
*/
&pmu_io_domains {
status = "okay";
pmuio2-supply = <&vcc3v3_pmu>;
vccio1-supply = <&vccio_acodec>;
vccio3-supply = <&vccio_sd>;
vccio4-supply = <&vcc_3v3>;
vccio5-supply = <&vcc_3v3>;
vccio6-supply = <&vcc_3v3>;
vccio7-supply = <&vcc_3v3>;
};
修改为:
&pmu_io_domains {
status = "okay";
pmuio2-supply = <&vcc3v3_pmu>;
vccio1-supply = <&vccio_acodec>;
vccio3-supply = <&vccio_sd>;
vccio4-supply = <&vcc_3v3>;
vccio5-supply = <&vcc_3v3>;
vccio6-supply = <&vcc_1v8>;
vccio7-supply = <&vcc_3v3>;
};
【遗憾,虽然你已经改了这里。但是还是不能解决使劲打印 红色的vccio电源警告信息!】