Rockchip RK3588 kernel dts解析之电池及充电

Rockchip RK3588 kernel dts解析之电池及充电

文章目录

  • Rockchip RK3588 kernel dts解析之电池及充电
    • RK3588电池和充电部分可以参考平板的dts
    • 对应的硬件配置:
    • DTS配置解析
    • 不带电池的产品配置

RK3588电池和充电部分可以参考平板的dts

arch/arm64/boot/dts/rockchip/rk3588s-tablet.dtsi

对应的硬件配置:

  • 双节电池,最大充电电压8.75v
  • 快充IC:BQ25703
  • 电量计:cw2015

DTS配置解析

配置关机充电

charge-animation {
		compatible = "rockchip,uboot-charge";
		rockchip,uboot-charge-on = <1>;   //启用uboot的关机充电模式:1:开启,0:关闭
		rockchip,android-charge-on = <0>;//启用android的关机充电模式:1:开启,0:关闭,这里默认是关闭,使用的是uboot的关机充电
		rockchip,uboot-low-power-voltage = <6800>;  //uboot低电预充的开机电压
		rockchip,screen-on-voltage = <6900>;// uboot低电预充的亮屏电压
		rockchip,uboot-exit-charge-level = <2>; // 退出uboot充电的电量百分比
		rockchip,uboot-exit-charge-auto = <0>; //是否开启自动退出uboot充电,与uboot-exit-charge-level 配合使用
		rockchip,system-suspend = <1>;  //配置uboot关机充电时支持深度休眠
		//uboot关机充电时支持深度休眠时如下电源不关闭
		regulator-on-in-mem = <&vdd_log_s0>, <&vcc_2v0_pldo_s3>,
		      <&vdd2_ddr_s3>, <&vcc_1v1_nldo_s3>,
		      <&vdd1_1v8_ddr_s3>, <&vcc_1v8_s3>,
		      <&master_pldo6_s3>, <&vdd_0v75_s3>,
		      <&vdd2l_0v9_ddr_s3>, <&vdd_1v8_pll_s0>, <&pldo6_s3>;
	//uboot关机充电时支持深度休眠时如下电源关闭
		regulator-off-in-mem = <&vdd_gpu_s0>, <&vdd_npu_s0>,
		       <&vdd_vdenc_s0>, <&vdd_gpu_mem_s0>, <&vdd_npu_mem_s0>,
		       <&vdd_vdenc_mem_s0>, <&avcc_1v8_s0>, <&vcc_3v3_s0>,
		       <&vccio_sd_s0>, <&master_nldo3>, <&avdd_0v75_s0>,
		       <&vdd_0v85_s0>, <&vdd_cpu_big1_s0>, <&vdd_cpu_big0_s0>,
		       <&vdd_cpu_lit_s0>, <&vdd_cpu_big1_mem_s0>, <&vdd_cpu_big0_mem_s0>,
		       <&vcc_1v8_s0>, <&vdd_cpu_lit_mem_s0>, <&vddq_ddr_s0>,
		       <&vdd_ddr_s0>, <&vcc_1v8_cam_s0>, <&avdd1v8_ddr_pll_s0>,
		       <&vcc_3v3_sd_s0>, <&vcc_2v8_cam_s0>, <&vdd_0v75_pll_s0>,
		       <&vdd_ddr_pll_s0>, <&slave_nldo3>, <&avdd_1v2_cam_s0>,
		       <&avdd_1v2_s0>, <&vcc_3v3_s3>;
		status = "okay";
	};

配置电量计cw2015和快充bq25703

&i2c2 {
	status = "okay";
	
	cw2015@62 {
		status = "okay";
		compatible = "cellwise,cw2015";
		reg = <0x62>;
		cellwise,battery-profile = /bits/ 8
			<0x17 0x67 0x6C 0x66 0x65 0x64 0x61 0x5B
			 0x5F 0x75 0x49 0x52 0x50 0x51 0x48 0x3D
			 0x34 0x2C 0x29 0x21 0x23 0x2D 0x40 0x49
			 0x25 0x5C 0x0B 0x85 0x10 0x1F 0x31 0x49
			 0x58 0x5E 0x63 0x6C 0x3E 0x1D 0x9A 0x35
			 0x0A 0x33 0x15 0x3B 0x70 0x99 0xAB 0x17
			 0x40 0x75 0x99 0xC4 0x80 0xB5 0xDE 0xCB
			 0x2F 0x00 0x64 0xA5 0xB5 0x00 0xF8 0x39>;
		cellwise,dual-cell = <1>;
		cellwise,monitor-interval-ms = <5000>;
		power-supplies = <&bq25703>;
	};

	bq25703: bq25703@6b {
		status = "okay";
		compatible = "ti,bq25703";
		reg = <0x6b>;
		ti,usb-charger-detection = <&usbc0>;

		interrupt-parent = <&gpio0>;
		interrupts = ;
		otg-mode-en-gpios = <&gpio4 RK_PA6 GPIO_ACTIVE_HIGH>;
		pinctrl-names = "default";
		pinctrl-0 = <&charger_ok>;
		extcon = <&u2phy0>;
		ti,charge-current = <2500000>;
		ti,max-input-voltage = <20000000>;
		ti,max-input-current = <6000000>;
		ti,max-charge-voltage = <8750000>;
		ti,input-current = <500000>;
		ti,input-current-sdp = <500000>;
		ti,input-current-dcp = <2000000>;
		ti,input-current-cdp = <2000000>;
		ti,minimum-sys-voltage = <7400000>;
		ti,otg-voltage = <5000000>;
		ti,otg-current = <1500000>;
		pd-charge-only = <0>;
		regulators {
			vbus5v0_typec: vbus5v0-typec {
				regulator-compatible = "otg-vbus";
				regulator-name = "vbus5v0_typec";
			};
		};
	};
};

不带电池的产品配置

不带电池的产品不需要配置上面的信息,但是需要在dts中加入test-power节点

test-power {
status = "okay";
};

否则会出现开机异常,Android出现找不到电池从而导致crash无法开机。

下一篇:Rockchip RK3588 kernel dts解析之WIFI/BT
上一篇:Rockchip RK3588 kernel dts解析之USB模块
RK3588 kernel DTS解析

你可能感兴趣的:(RK3588,Kernel,DTS解析,RK3588,android,linux,驱动开发,RK3588,电池)