1 # SPDX-License-Identifier: GPL-2.0 1 # SPDX-License-Identifier: GPL-2.0 2 %YAML 1.2 2 %YAML 1.2 3 --- 3 --- 4 $id: http://devicetree.org/schemas/power/suppl 4 $id: http://devicetree.org/schemas/power/supply/gpio-charger.yaml# 5 $schema: http://devicetree.org/meta-schemas/co 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 6 6 7 title: simple battery chargers only communicat 7 title: simple battery chargers only communicating through GPIOs 8 8 9 maintainers: 9 maintainers: 10 - Sebastian Reichel <sre@kernel.org> 10 - Sebastian Reichel <sre@kernel.org> 11 11 12 description: 12 description: 13 This binding is for all chargers, which are 13 This binding is for all chargers, which are working more or less 14 autonomously, only providing some status GPI 14 autonomously, only providing some status GPIOs and possibly some 15 GPIOs for limited control over the charging 15 GPIOs for limited control over the charging process. 16 16 17 properties: 17 properties: 18 compatible: 18 compatible: 19 const: gpio-charger 19 const: gpio-charger 20 20 21 charger-type: 21 charger-type: 22 enum: 22 enum: 23 - unknown 23 - unknown 24 - battery 24 - battery 25 - ups 25 - ups 26 - mains 26 - mains 27 - usb-sdp # USB standa 27 - usb-sdp # USB standard downstream port 28 - usb-dcp # USB dedica 28 - usb-dcp # USB dedicated charging port 29 - usb-cdp # USB chargi 29 - usb-cdp # USB charging downstream port 30 - usb-aca # USB access 30 - usb-aca # USB accessory charger adapter 31 description: 31 description: 32 Type of the charger, e.g. "mains" for a 32 Type of the charger, e.g. "mains" for a wall charger. 33 33 34 gpios: 34 gpios: 35 maxItems: 1 35 maxItems: 1 36 description: GPIO indicating the charger p 36 description: GPIO indicating the charger presence 37 37 38 charge-status-gpios: 38 charge-status-gpios: 39 maxItems: 1 39 maxItems: 1 40 description: GPIO indicating the charging 40 description: GPIO indicating the charging status 41 41 42 charge-current-limit-gpios: 42 charge-current-limit-gpios: 43 minItems: 1 43 minItems: 1 44 maxItems: 32 44 maxItems: 32 45 description: GPIOs used for current limiti 45 description: GPIOs used for current limiting 46 46 47 charge-current-limit-mapping: 47 charge-current-limit-mapping: 48 description: List of tuples with current i 48 description: List of tuples with current in uA and a GPIO bitmap (in 49 this order). The tuples must be provided 49 this order). The tuples must be provided in descending order of the 50 current limit. 50 current limit. 51 $ref: /schemas/types.yaml#/definitions/uin 51 $ref: /schemas/types.yaml#/definitions/uint32-matrix 52 items: 52 items: 53 items: 53 items: 54 - description: 54 - description: 55 Current limit in uA 55 Current limit in uA 56 - description: 56 - description: 57 Encoded GPIO setting. Bit 0 repres 57 Encoded GPIO setting. Bit 0 represents last GPIO from the 58 charge-current-limit-gpios propert 58 charge-current-limit-gpios property. Bit 1 second to last 59 GPIO and so on. 59 GPIO and so on. 60 60 61 required: 61 required: 62 - compatible 62 - compatible 63 63 64 anyOf: 64 anyOf: 65 - required: 65 - required: 66 - gpios 66 - gpios 67 - required: 67 - required: 68 - charge-status-gpios 68 - charge-status-gpios 69 - required: 69 - required: 70 - charge-current-limit-gpios 70 - charge-current-limit-gpios 71 71 72 dependencies: 72 dependencies: 73 charge-current-limit-gpios: [ charge-current 73 charge-current-limit-gpios: [ charge-current-limit-mapping ] 74 charge-current-limit-mapping: [ charge-curre 74 charge-current-limit-mapping: [ charge-current-limit-gpios ] 75 75 76 additionalProperties: false 76 additionalProperties: false 77 77 78 examples: 78 examples: 79 - | 79 - | 80 #include <dt-bindings/gpio/gpio.h> 80 #include <dt-bindings/gpio/gpio.h> 81 81 82 charger { 82 charger { 83 compatible = "gpio-charger"; 83 compatible = "gpio-charger"; 84 charger-type = "usb-sdp"; 84 charger-type = "usb-sdp"; 85 85 86 gpios = <&gpd 28 GPIO_ACTIVE_LOW>; 86 gpios = <&gpd 28 GPIO_ACTIVE_LOW>; 87 charge-status-gpios = <&gpc 27 GPIO_ACTI 87 charge-status-gpios = <&gpc 27 GPIO_ACTIVE_LOW>; 88 88 89 charge-current-limit-gpios = <&gpioA 11 89 charge-current-limit-gpios = <&gpioA 11 GPIO_ACTIVE_HIGH>, 90 <&gpioA 12 90 <&gpioA 12 GPIO_ACTIVE_HIGH>; 91 charge-current-limit-mapping = <2500000 91 charge-current-limit-mapping = <2500000 0x00>, // 2.5 A => both GPIOs low 92 <700000 0 92 <700000 0x01>, // 700 mA => GPIO A.12 high 93 <0 0x02>; 93 <0 0x02>; // 0 mA => GPIO A.11 high 94 }; 94 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.