1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/power/supply/battery.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Battery Characteristics 8 9maintainers: 10 - Sebastian Reichel <sre@kernel.org> 11 12description: | 13 The devicetree battery node provides static battery characteristics. 14 In smart batteries, these are typically stored in non-volatile memory 15 on a fuel gauge chip. The battery node should be used where there is 16 no appropriate non-volatile memory, or it is unprogrammed/incorrect. 17 18 Upstream dts files should not include battery nodes, unless the battery 19 represented cannot easily be replaced in the system by one of a 20 different type. This prevents unpredictable, potentially harmful, 21 behavior should a replacement that changes the battery type occur 22 without a corresponding update to the dtb. 23 24 Battery properties are named, where possible, for the corresponding elements 25 in enum power_supply_property, defined in include/linux/power_supply.h 26 27 Batteries must be referenced by chargers and/or fuel-gauges using a phandle. 28 The phandle's property should be named "monitored-battery". 29 30properties: 31 compatible: 32 const: simple-battery 33 34 over-voltage-threshold-microvolt: 35 description: battery over-voltage limit 36 37 re-charge-voltage-microvolt: 38 description: limit to automatically start charging again 39 40 voltage-min-design-microvolt: 41 description: drained battery voltage 42 43 voltage-max-design-microvolt: 44 description: fully charged battery voltage 45 46 energy-full-design-microwatt-hours: 47 description: battery design energy 48 49 charge-full-design-microamp-hours: 50 description: battery design capacity 51 52 trickle-charge-current-microamp: 53 description: current for trickle-charge phase 54 55 precharge-current-microamp: 56 description: current for pre-charge phase 57 58 precharge-upper-limit-microvolt: 59 description: limit when to change to constant charging 60 61 charge-term-current-microamp: 62 description: current for charge termination phase 63 64 constant-charge-current-max-microamp: 65 description: maximum constant input current 66 67 constant-charge-voltage-max-microvolt: 68 description: maximum constant input voltage 69 70 factory-internal-resistance-micro-ohms: 71 description: battery factory internal resistance 72 73 resistance-temp-table: 74 description: | 75 An array providing the temperature in degree Celsius 76 and corresponding battery internal resistance percent, which is used to 77 look up the resistance percent according to current temperature to get an 78 accurate batterty internal resistance in different temperatures. 79 80 ocv-capacity-celsius: 81 description: | 82 An array containing the temperature in degree Celsius, 83 for each of the battery capacity lookup table. 84 85required: 86 - compatible 87 88patternProperties: 89 '^ocv-capacity-table-[0-9]+$': 90 $ref: /schemas/types.yaml#/definitions/uint32-matrix 91 description: | 92 An array providing the open circuit voltage (OCV) 93 of the battery and corresponding battery capacity percent, which is used 94 to look up battery capacity according to current OCV value. And the open 95 circuit voltage unit is microvolt. 96 maxItems: 100 97 items: 98 items: 99 - description: open circuit voltage (OCV) in microvolts 100 - description: battery capacity percent 101 maximum: 100 102 103additionalProperties: false 104 105examples: 106 - | 107 power { 108 #address-cells = <1>; 109 #size-cells = <0>; 110 111 battery: battery { 112 compatible = "simple-battery"; 113 over-voltage-threshold-microvolt = <4500000>; 114 re-charge-voltage-microvolt = <250000>; 115 voltage-min-design-microvolt = <3200000>; 116 voltage-max-design-microvolt = <4200000>; 117 energy-full-design-microwatt-hours = <5290000>; 118 charge-full-design-microamp-hours = <1430000>; 119 precharge-current-microamp = <256000>; 120 precharge-upper-limit-microvolt = <2500000>; 121 charge-term-current-microamp = <128000>; 122 constant-charge-current-max-microamp = <900000>; 123 constant-charge-voltage-max-microvolt = <4200000>; 124 factory-internal-resistance-micro-ohms = <250000>; 125 ocv-capacity-celsius = <(-10) 0 10>; 126 /* table for -10 degree Celsius */ 127 ocv-capacity-table-0 = <4185000 100>, <4113000 95>, <4066000 90>; 128 /* table for 0 degree Celsius */ 129 ocv-capacity-table-1 = <4200000 100>, <4185000 95>, <4113000 90>; 130 /* table for 10 degree Celsius */ 131 ocv-capacity-table-2 = <4250000 100>, <4200000 95>, <4185000 90>; 132 resistance-temp-table = <20 100>, <10 90>, <0 80>, <(-10) 60>; 133 }; 134 135 charger@11 { 136 reg = <0x11>; 137 monitored-battery = <&battery>; 138 }; 139 140 fuel-gauge@22 { 141 reg = <0x22>; 142 monitored-battery = <&battery>; 143 }; 144 }; 145