基础
1.1 概述
RK809是一款高性能PMIC,RK809集成5个大电流DCDC、9个LDO、2个开关SWITCH、1个RTC、1个高性能CODEC、可调上电时序等功能。
系统中各路电源总体分为两种:DCDC和LDO。两种电源的总体特性如下(详细资料请自行搜索):
1.DCDC:输入输出压差大时,效率高,但是存在纹波比较大的问题,成本高,所以大压差,大电流负载时使用。一般有两种工作模式。PWM模式:纹波瞬态响应好,效率低;PFM模式:效率高,但是负载能力差。
2.LDO:输入输出压差大时,效率低,成本低,为了提高LDO的转换效率,系统上会进行相关优化如:LDO输出电压为1.1V,为了提高效率,其输入电压可以从VCCIO_3.3V的DCDC给出。所以电路上如果允许尽量将LDO接到DCDC输出回路,但是要注意上电时序。
1.2 功能
从使用者的角度看,RK809 的功能概况起来可以分为 4 个部分:
1. regulator 功能:控制各路 DCDC、LDO 电源状态;
2. rtc 功能:提供时钟计时、定时等功能;
3. gpio 功能:可当普通 gpio 使用,有pinctrl的功能;
4. pwrkey 功能:检测 power 按键的按下/释放,可以为 AP 节省一个 gpio; 5. clk 功能:有两个32.768KHZ时钟输出,一个不可以控常开,一个是软件可控;
6. codec 功能:采样率最高支持到192KHZ,支持16bit和32bit,支持DAC、ADC PDM等(此功能暂不在本文档中介绍,后面会有专有文档补充说明)。
1.3
芯片引脚功能
1.4 重要概念
●I2C 地址
7 位从机地址:0x20
●PMIC 有 3 种工作模式
1. PMIC normal 模式
系统正常运行时 PMIC 处于 normal 模式,此时 pmic_sleep 为低电平。
2. PMIC sleep 模式
系统休眠时需要待机功耗尽量低,PMIC 会切到 sleep 模式减低自身功耗,这时候一般会降低某些路的输出电压,或者直接关闭输出,这可以根据实际产品需求进行配置。系统待机时 AP 通过 I2C指令把 pmic_sleep 配置成 sleep 模式,然后拉高 pmic_sleep 即可让 PMIC 进入 sleep 状态;当SoC 唤醒时 pmic_sleep 恢复为低电平,PMIC 退出休眠模式。
3. PMIC shutdown 模式
当系统进入关机流程的时候,PMIC需要完成整个系统的电源下电操作。AP通过I2C指令把pmic_sleep配置成 shutdown 模式,然后拉高 pmic_sleep 即可让PMIC进入shutdown状态。
●pmic_sleep 引脚
常态为低电平,PMIC 处于 normal 模式。当引脚拉高的时候会切换到 sleep 或者 shutdown 的模式。
RK809上这个脚是有复用功能的,可以通过pinctrl切换,选择需要的功能:
1. SLEEP功能,用于SLEEP模式切换;
2. 关机功能,用于POWER DOWN;
3. 复位功能,用于RESET;
4. 空闲,没有作用;
●pmic_int 引脚
常态为高电平,当有中断产生的时候变为低电平。如果中断没有被处理,则会一直维持低电平。
●pmic_pwron 引脚
pwrkey 的功能需要硬件上将 power 按键接到这个引脚,驱动通过这个引脚来判断按下/释放。
●各路 DCDC 的工作模式
DCDC 有 PWM(也叫 force PWM)、PFM 模式,但是 PMIC 有一种模式会动态切换 PWM、PFM,这就是我们通常所说的 AUTO 模式。PMIC 支持 PWM、AUTO PWM/PFM 两种模式,AUTO 模式效率高但是纹波瞬态响应会差。出于系统稳定性考虑,运行时都是设置为 PWM 模式,系统进入休眠时会选择切换到 AUTO PWM/PFM。
●DCDC3 电压调节
DCDC3这路电源比较特殊,不能通过寄存器修改电压,只能通过外部电路的分压电阻进行调节,所以如果需要修改电压请修改外围硬件,在Rockchip的方案上一般作为VCC_DDR使用。
●DCDC 和 LDO 的运行时电压调节范围
2、配置
2.1 驱动和 menuconfig
4.4 内核配置
RK809 驱动文件(跟
RK817、
RK805有复用部分):
drivers/mfd/
RK808.c
drivers/input/misc/rk8xx-pwrkey.c
drivers/rtc/rtc-rk808.c
drivers/gpio/gpio-rk8xx.c
drivers/regulator/rk808-regulator.c
drivers/clk/clk-rk808.c
RK809 dts文件(可参考范例):
arch/arm64/boot/dts/rockchi/
PX30-
EVB-ddr4-v10.dts
menuconfig 里对应的宏配置:
CONFIG_MFD_RK808
CONFIG_RTC_RK808
CONFIG_GPIO_RK8XX
CONFIG_REGULATOR_
RK818
CONFIG_INPUT_RK8XX_PWRKEY
CONFIG_COMMON_CLK_RK808
更多详细内容请下载附件查看