RK3399 各个IO电源域名称和配置

电源域需要在dts中正确配置,比如下面这样:

&io_domains {
    status = "okay";
    uboot-set = <(RK3399_BT656_VDD_3V3 | RK3399_AUDIO_VDD_1V8 | RK3399_GPIO1833_VDD_3V3)>;
    bt656-supply = <&vcc_3v0>;
    audio-supply = <&vcca1v8_codec>;
    sdmmc-supply = <&vcc_sd>;
    gpio1830-supply = <&vcc_3v0>;
};

&pmu_io_domains {
    status = "okay";
    pmu1830-supply = <&vcc_1v8>;
};

具体如何找到前面节点名称与后面电源的对应关系,可参考“kernel\Documentation\devicetree\bindings\power\rockchip-io-domain.txt”中如下内容:

Possible supplies for rk3399:
- bt656-supply:  The supply connected to APIO2_VDD.
- audio-supply:  The supply connected to APIO5_VDD.
- sdmmc-supply:  The supply connected to SDMMC0_VDD.
- gpio1830       The supply connected to APIO4_VDD.

Possible supplies for rk3399 pmu-domains:
- pmu1830-supply:The supply connected to PMUIO2_VDD.

之后通过节点对应的电源域名称(比如APIO2_VDD)在原理图上找到所连接的电源regulator名称填到dts中即可。

重点关注下uboot-set节点的配置,这是配置uboot中电源域的,如果不配置,可能会出现uboot中操作对应电源域的GPIO无效的问题。RK3399_BT656_VDD_3V3代表 bt656-supply电源域配置为3.3V,如果是1.8V,则写为RK3399_BT656_VDD_1V8,这两个宏的定义在kernel/include/dt-bindings/soc/rockchip-io-domain.h中,如下:

#define RK3399_BT656_VDD_1V8    BT656_GPIO2AB_MS(1)
#define RK3399_BT656_VDD_3V3    BT656_GPIO2AB_MS(0)
#define RK3399_SDMMC_VDD_1V8    SDMMC_GPIO4B_MS(1)
#define RK3399_SDMMC_VDD_3V3    SDMMC_GPIO4B_MS(0)
#define RK3399_GPIO1833_VDD_1V8 GPIO1833_GPIO4CD_MS(1)
#define RK3399_GPIO1833_VDD_3V3 GPIO1833_GPIO4CD_MS(0)
#define RK3399_AUDIO_VDD_1V8    AUDIO_GPIO3D4A_MS(1)
#define RK3399_AUDIO_VDD_3V3    AUDIO_GPIO3D4A_MS(0)
#define RK3399_PMU1830_VDD_1V8  (PMU1830_VOL(1) | PMU1830_VOLSEL(1))
#define RK3399_PMU1830_VDD_3V0  (PMU1830_VOL(0) | PMU1830_VOLSEL(1))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值