参考文章

linux 电源管理 power supply class_linux 关闭 电池充电-CSDN博客

展锐charger dts配置值介绍_charge-full-design-microamp-hours-CSDN博客

电池节点

bat: battery {
		compatible = "simple-battery";
		charge-full-design-microamp-hours = <3900000>;//电池容量uAh
		charge-term-current-microamp = <200000>;//截止充电电流
		constant_charge_voltage_max_microvolt = <4400000>;//截止充电电压
		factory-internal-resistance-micro-ohms = <115000>;//电池内阻
		voltage-min-design-microvolt = <3561000>;	//Vocv低报警电压
		ocv-capacity-celsius = <(-20) 0 20 40 60>;  //ocv-capacity-table-* 对应的温度
		ocv-capacity-table-0 = <4350000 100>, <4278000 95>, <4218000 90>,
					<4167000 85>, <4117000 80>, <4067000 75>,
					<4017000 70>, <3967000 65>, <3917000 60>,
					<3867000 55>, <3817000 50>, <3781000 45>,
					<3756000 40>, <3733000 35>, <3713000 30>,
					<3698000 25>, <3683000 20>, <3667000 15>,
					<3628000 10>, <3548000 5>, <3400000 0>;
		ocv-capacity-table-1 = <4350000 100>, <4278000 95>, <4218000 90>,
					<4167000 85>, <4117000 80>, <4067000 75>,
					<4017000 70>, <3967000 65>, <3917000 60>,
					<3867000 55>, <3817000 50>, <3781000 45>,
					<3756000 40>, <3733000 35>, <3713000 30>,
					<3698000 25>, <3683000 20>, <3667000 15>,
					<3628000 10>, <3548000 5>, <3400000 0>;
		ocv-capacity-table-2 = <4350000 100>, <4278000 95>, <4218000 90>,
					<4167000 85>, <4117000 80>, <4067000 75>,
					<4017000 70>, <3967000 65>, <3917000 60>,
					<3867000 55>, <3817000 50>, <3781000 45>,
					<3756000 40>, <3733000 35>, <3713000 30>,
					<3698000 25>, <3683000 20>, <3667000 15>,
					<3628000 10>, <3548000 5>, <3400000 0>;
		ocv-capacity-table-3 = <4350000 100>, <4278000 95>, <4218000 90>,
					<4167000 85>, <4117000 80>, <4067000 75>,
					<4017000 70>, <3967000 65>, <3917000 60>,
					<3867000 55>, <3817000 50>, <3781000 45>,
					<3756000 40>, <3733000 35>, <3713000 30>,
					<3698000 25>, <3683000 20>, <3667000 15>,
					<3628000 10>, <3548000 5>, <3400000 0>;
		ocv-capacity-table-4 = <4350000 100>, <4278000 95>, <4218000 90>,
					<4167000 85>, <4117000 80>, <4067000 75>,
					<4017000 70>, <3967000 65>, <3917000 60>,
					<3867000 55>, <3817000 50>, <3781000 45>,
					<3756000 40>, <3733000 35>, <3713000 30>,
					<3698000 25>, <3683000 20>, <3667000 15>,
					<3628000 10>, <3548000 5>, <3400000 0>;
		
        //内阻-电压映射表
        voltage-temp-table = <1215000 700>, <1199000 750>, <1155000 850>,
					<1046000 1000>, <942000 1100>, <748000 1250>,
					<547000 1400>, <426000 1500>, <283000 1650>,
					<212000 1750>;
		rint-temp-celsius = <(-20) 0 20 40 60>;
		rint-capacity-celsius = <100 95 90 85 80 75 70 65 60 55
					50 45 40 35 30 25 20 15 10 5 0>;
		rint-capacity-table = <365 145 124 124 143>,
					<543 197 141 136 150>,
					<574 207 143 138 152>,
					<567 209 145 140 158>,
					<557 212 148 142 162>,
					<547 214 152 144 165>,
					<537 212 154 145 167>,
					<528 207 155 147 170>,
					<520 200 157 149 172>,
					<514 194 156 150 170>,
					<509 191 149 144 164>,
					<504 192 146 141 163>,
					<503 195 146 142 165>,
					<507 200 147 143 168>,
					<513 206 149 146 171>,
					<523 214 152 146 166>,
					<538 224 152 143 165>,
					<558 239 151 144 167>,
					<588 278 153 146 169>,
					<632 460 163 149 174>,
					<689 609 211 162 207>;
		charge-sdp-current-microamp = <450000 450000>;
		charge-dcp-current-microamp = <2000000 2000000>;
		charge-cdp-current-microamp = <2000000 2000000>;
		charge-unknown-current-microamp = <2000000 2000000>;
		//电池容量 – 温度补偿表
		capacity-temp-table = <60 100>, <40 100>, <25 100>, <0 100>, <(-10) 80>;
		//电池内阻值 – 温度补偿表
		resistance-temp-table = <60 60>, <40 70>, <25 100>, <0 328>, <(-20) 887>;
	};

充电管理

charger-manager {
		compatible = "charger-manager";
		cm-name = "battery";
		cm-poll-mode = <2>; //”_cm_monitor”轮询模式
		cm-poll-interval = <15000>;//”_cm_monitor”轮询时间间隔
		cm-battery-stat = <2>;//电池在位检测方法,电压法

		cm-fullbatt-vchkdrop-ms = <30000>;//充满电后,检查复充条件的周期
		cm-fullbatt-vchkdrop-volt = <84000>;//满电后复充电压条件
		cm-fullbatt-voltage = <4350000>;//软件满电电压判断阈值,必须配置
		cm-fullbatt-current = <120000>;;//软件满电电流判断阈值,必须配置
		cm-fullbatt-capacity = <100>;//电池满电时百分比

		cm-num-chargers = <1>;//charger ic数量
		//cm-chargers = "sc2721_charger";
		cm-chargers = "fan54015_charger";//charger ic名字
		cm-fuel-gauge = "sc27xx-fgu";//fgu名字

		/* in deci centigrade */
		cm-battery-cold = <200>;
		cm-battery-cold-in-minus;
		cm-battery-hot = <800>;
		cm-battery-temp-diff = <100>;

		/* Allow charging for 6hr */
		cm-charging-max = <36000000>;
		/* recovery charging after stop charging 45min */
		cm-discharging-max = <2700000>;

		/* the interval to feed charger watchdog */
		cm-wdt-interval = <0>;

		/* drop voltage in microVolts to allow shutdown */
		cm-shutdown-voltage = <3470000>;//低电关机电压

		/* when 99% of the time is exceeded, it will be forced to 100% */
		cm-tickle-time-out = <1500>;

		/* how much time to allow capacity change */
		cm-one-cap-time = <60>;//允许电量增加1%最快时间

		/* when the safe charging voltage is exceeded, stop charging */
		cm-charge-voltage-max = <6500000>;//充电器过压保护电压阈值
		/* drop voltage in microVolts to restart charging */
		cm-charge-voltage-drop = <700000>;//复充电压条件
		//Jeita 温控策略
		cm-jeita-temp-table = <1000 1030 700000 4200000>,   //不同温度范围内的充电电流和充电截止电压
				<1150 1180 2000000 4400000>,	   			//默认最大充电电流为2A
				<1450 1420 2000000 4400000>,	   			//充电电压为4.35V
				<1600 1570 700000 4200000>;

		regulator@0 {
			cm-regulator-name = "vddgen0";
			cable@0 {
				cm-cable-name = "USB";
				extcon = <&extcon_gpio>;
			};
		};
	};

Logo

更多推荐