迅爲3568開發板android移植教程-配置 IO 電源域

1 電源域的概念

其實就是管理 IO 輸出的電平;假如硬件上 IO 電源域配置爲 3.3V,則 IO 輸出最大電平爲 3.3V;同理 IO 電源域硬件配置爲 1.8V,則 IO 輸出最大電平是 1.8V;這樣有利於 IO 電平

的靈活配置;IO 電源域一般都會接到 PMU 電源芯片不同組的 LDO,由 PMU(電源管理芯片)

配置輸出電平,因爲 PMU  LDO 可以在 DTS 上配置不同的電壓;這樣不至於把 IO 的輸出

最大的電平寫死,可動態調整; RK356x 共有 10 個獨立的 IO 電源域,分別爲 VCCIO[1:7] PMUIO[0:2],從 rk3568 的數據手冊可以看出,如下圖所示:

 

 

 

其中: PMUIO0 PMUIO1 爲固定電平電源域,不可配置; 其餘 IO domain 均可進行配置:PMUIO2  VCCIO1,VCCIO[3:7]電源域均要求硬件供電電 壓與軟件的配置(也就是 dts 配置信息)相匹配;VCCIO2 電源域的供電與 FLASH_VOL_SEL 狀態關係必須保持一致。kernel/arch/arm64/boot/dts/rockchip/rk3568-evb.dtsi 設備樹配置 io

電源域如下所示:

&pmu_io_domains {

status = "okay";

pmuio1-supply = <&vcc3v3_pmu>;

pmuio2-supply = <&vcc3v3_pmu>;

vccio1-supply = <&vccio_acodec>;

vccio3-supply = <&vccio_sd>;

vccio4-supply = <&vcc_1v8>;

vccio5-supply = <&vcc_3v3>;

vccio6-supply = <&vcc_1v8>;

vccio7-supply = <&vcc_3v3>;

};

那麼是爲啥要這樣配置呢?接下來查看原理圖一一進行講解。

2 IO 電源域配置方法

首先我們在覈心板原理圖上找到相關的 IO 電源域,以下依次講解。

2.1 VCCIO2 解析

RK3568_I(VCCIO2 Domain)原理圖如下圖所示:

 

 

 

由上圖文字描述可知,VCCIO2 的供電電壓由 FLASH_VOL_SEL(GPIO0_A7_u)的電平狀態決定。也就是說,如果 GPIO0_A7_u 輸入爲高電平,VCCIO_FLASH 必須是 1.8V,VCCIO2 爲1.8V;如果 GPIO0_A7_u 輸入爲低電平,VCCIO_FLASH 必須是 3.3V,VCCIO2  3.3V;那麼 GPIO0_A7_u/FLASH_VOL_SEL 輸入是多少呢?繼續查看原理圖,如下圖所示:

 

 

從上面的原理圖我們可以看到 FLASH_VOL_SEL 通過上拉電阻連到了 3v3 的電源上,因此這個引腳爲高電平。那麼 VCCIO_FLASH 必須是 1.8V,VCCIO2  1.8V,因此 VCCIO2  IO 電源域完全是由硬件決定,dts 上不需要配置。

 

2.2 VCCIO1 解析

接着來看 VCCIO1 的原理圖,如下圖所示:

 

 

 

由上圖可知,VCCIO1  IO 電源域是 VCCIO_ACODEC,那麼 VCCIO_ACODEC 是接到電源管理芯片 RK809  LDO4 上,如下圖所示:

 

 

從上圖不難看出,VCCIO1 的電源域接入的是 3.3V 電壓,VCCIO1  IO 電源域是 3.3V

VCCIO_ACODEC 是接到 rk809 上面音頻編解碼使用的。所以我們看看設備樹裏面 rk809 的配

置,如下圖所示:

rk809: pmic@20 {

..................................

vccio_acodec: LDO_REG4 {

regulator-always-on;

regulator-boot-on;

regulator-min-microvolt = <3300000>;

regulator-max-microvolt = <3300000>;

regulator-name = "vccio_acodec";

regulator-state-mem {

regulator-off-in-suspend;

};

};

..................................

}

由上可知,regulator-min-microvolt  regulator-max-microvolt  3.3V,不是動態調整的。所以設備樹上配置:vccio1-supply = <&vccio_acodec>;

3 VCCIO3 解析

接下來來看 VCCIO3 的原理圖,如下圖所示:

 

 

 

 

由上圖可知,VCCIO3  IO 電源域是 VCCIO_SD,VCCIO_SD 是接到 rk809  LDO5 上,如

下圖所示:

 

 

 

從上圖可以看出,這部分是給 TF 卡外設使用的,我們繼續查看設備樹裏面關於 rk809

的配置,

 

rk809: pmic@20 {

..................................

vccio_sd: LDO_REG5 {

regulator-always-on;

regulator-boot-on;

regulator-min-microvolt = <1800000>;

regulator-max-microvolt = <3300000>;

regulator-name = "vccio_sd";

regulator-state-mem {

regulator-off-in-suspend;

};

};

}

可看到 regulator-min-microvolt=1.8V  regulator-max-microvolt=3.3V,即 vccio_sd 的電壓

範圍爲 1.8~3.3V,電壓是可動態調整;假如 vccio_sd 的電壓動態調整了,VCCIO3  IO 電源

域電壓也會跟隨 vccio_sd 的電壓進行動態調整。所以 dts 上配置引用爲:vccio3-supply =

<&vccio_sd>;

4 VCCIO4 解析

VCCIO4 原理圖如下圖所示:

 

 

 

 

 

由上圖可知,VCCIO4 連接的 1.8V,DNP 是不焊接的意思

 

 

 

 

 

 

VCC_1V8 是接到 PMU  BUCK5 上,如下圖所示:

 

 

 

BUCK5 是屬於 DCDC_REG5,查看設備樹如下圖所示:

rk809: pmic@20 {

vcc_1v8: DCDC_REG5 {

regulator-always-on;

regulator-boot-on;

regulator-min-microvolt = <1800000>;

regulator-max-microvolt = <1800000>;

regulator-name = "vcc_1v8";

regulator-state-mem {

regulator-off-in-suspend;

};

};

}

DCDC_REG5 動態調整的電壓最小和最大值都爲 1.8V,所以該路只輸出 1.8V,不進行電壓動態調整;即 dts 上配置爲:vccio4-supply = <& vcc_1v8>;

5 VCCIO5 解析

VCCIO5 電路圖如下圖所示:

 

 

 

 

 

 

由上圖可知,VCCIO5 的電源域是 VCC_3V3,VCC_3V3 連接到 rk809  2.1A SWOUT1,

下圖所示:

 

 

 

我們繼續查看設備樹裏面關於 rk809 的配置,如下所示:

rk809: pmic@20 {

..................................

vcc_3v3: SWITCH_REG1 {

regulator-always-on;

regulator-boot-on;

regulator-name = "vcc_3v3";

regulator-state-mem {

regulator-off-in-suspend;

};

};

}

可看到 vcc_3v3  3.3V ,所以 dts 上配置引用爲:vccio5-supply = <&vcc_3v3>;

  

 

更多請點擊迅爲網站了解更多>>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章