Loading Documentation/devicetree/bindings/mfd/richtek,rt5033.yaml 0 → 100644 +138 −0 Original line number Diff line number Diff line # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/mfd/richtek,rt5033.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Richtek RT5033 Power Management Integrated Circuit maintainers: - Jakob Hauser <jahau@rocketmail.com> description: RT5033 is a multifunction device which includes battery charger, fuel gauge, flash LED current source, LDO and synchronous Buck converter for portable applications. It is interfaced to host controller using I2C interface. The battery fuel gauge uses a separate I2C bus. properties: compatible: const: richtek,rt5033 reg: maxItems: 1 interrupts: maxItems: 1 regulators: description: The regulators of RT5033 have to be instantiated under a sub-node named "regulators". For SAFE_LDO voltage there is only one value of 4.9 V. LDO voltage ranges from 1.2 V to 3.0 V in 0.1 V steps. BUCK voltage ranges from 1.0 V to 3.0 V in 0.1 V steps. type: object patternProperties: "^(SAFE_LDO|LDO|BUCK)$": type: object $ref: /schemas/regulator/regulator.yaml# unevaluatedProperties: false additionalProperties: false charger: type: object $ref: /schemas/power/supply/richtek,rt5033-charger.yaml# required: - compatible - reg - interrupts additionalProperties: false examples: - | #include <dt-bindings/interrupt-controller/irq.h> battery: battery { compatible = "simple-battery"; precharge-current-microamp = <450000>; constant-charge-current-max-microamp = <1000000>; charge-term-current-microamp = <150000>; precharge-upper-limit-microvolt = <3500000>; constant-charge-voltage-max-microvolt = <4350000>; }; extcon { usb_con: connector { compatible = "usb-b-connector"; label = "micro-USB"; type = "micro"; }; }; i2c { #address-cells = <1>; #size-cells = <0>; i2c@0 { #address-cells = <1>; #size-cells = <0>; reg = <0>; fuel-gauge@35 { compatible = "richtek,rt5033-battery"; reg = <0x35>; interrupt-parent = <&msmgpio>; interrupts = <121 IRQ_TYPE_EDGE_FALLING>; pinctrl-names = "default"; pinctrl-0 = <&fg_alert_default>; power-supplies = <&rt5033_charger>; }; }; i2c@1 { #address-cells = <1>; #size-cells = <0>; reg = <1>; pmic@34 { compatible = "richtek,rt5033"; reg = <0x34>; interrupt-parent = <&msmgpio>; interrupts = <62 IRQ_TYPE_EDGE_FALLING>; pinctrl-names = "default"; pinctrl-0 = <&pmic_int_default>; regulators { safe_ldo_reg: SAFE_LDO { regulator-name = "SAFE_LDO"; regulator-min-microvolt = <4900000>; regulator-max-microvolt = <4900000>; regulator-always-on; }; ldo_reg: LDO { regulator-name = "LDO"; regulator-min-microvolt = <2800000>; regulator-max-microvolt = <2800000>; }; buck_reg: BUCK { regulator-name = "BUCK"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <1200000>; }; }; rt5033_charger: charger { compatible = "richtek,rt5033-charger"; monitored-battery = <&battery>; richtek,usb-connector = <&usb_con>; }; }; }; }; Documentation/devicetree/bindings/power/supply/richtek,rt5033-battery.yaml +1 −1 Original line number Diff line number Diff line Loading @@ -26,7 +26,7 @@ required: - compatible - reg additionalProperties: false unevaluatedProperties: false examples: - | Loading Documentation/devicetree/bindings/power/supply/richtek,rt5033-charger.yaml 0 → 100644 +65 −0 Original line number Diff line number Diff line # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/power/supply/richtek,rt5033-charger.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Richtek RT5033 PMIC Battery Charger maintainers: - Jakob Hauser <jahau@rocketmail.com> description: The battery charger of the multifunction device RT5033 has to be instantiated under sub-node named "charger" using the following format. properties: compatible: const: richtek,rt5033-charger monitored-battery: $ref: /schemas/types.yaml#/definitions/phandle description: | Phandle to the monitored battery according to battery.yaml. The battery node needs to contain five parameters. precharge-current-microamp: Current of pre-charge mode. The pre-charge current levels are 350 mA to 650 mA programmed by I2C per 100 mA. constant-charge-current-max-microamp: Current of fast-charge mode. The fast-charge current levels are 700 mA to 2000 mA programmed by I2C per 100 mA. charge-term-current-microamp: This property is end of charge current. Its level ranges from 150 mA to 600 mA. Between 150 mA and 300 mA in 50 mA steps, between 300 mA and 600 mA in 100 mA steps. precharge-upper-limit-microvolt: Voltage of pre-charge mode. If the battery voltage is below the pre-charge threshold voltage, the charger is in pre-charge mode with pre-charge current. Its levels are 2.3 V to 3.8 V programmed by I2C per 0.1 V. constant-charge-voltage-max-microvolt: Battery regulation voltage of constant voltage mode. This voltage levels from 3.65 V to 4.4 V by I2C per 0.025 V. richtek,usb-connector: $ref: /schemas/types.yaml#/definitions/phandle description: Phandle to a USB connector according to usb-connector.yaml. The connector should be a child of the extcon device. required: - monitored-battery additionalProperties: false examples: - | charger { compatible = "richtek,rt5033-charger"; monitored-battery = <&battery>; richtek,usb-connector = <&usb_con>; }; drivers/mfd/Kconfig +34 −2 Original line number Diff line number Diff line Loading @@ -266,8 +266,8 @@ config MFD_MADERA_SPI Support for the Cirrus Logic Madera platform audio SoC core functionality controlled via SPI. config MFD_MAX597X tristate "Maxim 597x power switch and monitor" config MFD_MAX5970 tristate "Maxim 5970/5978 power switch and monitor" depends on (I2C && OF) select MFD_SIMPLE_MFD_I2C help Loading Loading @@ -1698,6 +1698,38 @@ config MFD_TPS65912_SPI If you say yes here you get support for the TPS65912 series of PM chips with SPI interface. config MFD_TPS6594 tristate select MFD_CORE select REGMAP select REGMAP_IRQ config MFD_TPS6594_I2C tristate "TI TPS6594 Power Management chip with I2C" select MFD_TPS6594 select REGMAP_I2C select CRC8 depends on I2C help If you say yes here you get support for the TPS6594 series of PM chips with I2C interface. This driver can also be built as a module. If so, the module will be called tps6594-i2c. config MFD_TPS6594_SPI tristate "TI TPS6594 Power Management chip with SPI" select MFD_TPS6594 select REGMAP_SPI select CRC8 depends on SPI_MASTER help If you say yes here you get support for the TPS6594 series of PM chips with SPI interface. This driver can also be built as a module. If so, the module will be called tps6594-spi. config TWL4030_CORE bool "TI TWL4030/TWL5030/TWL6030/TPS659x0 Support" depends on I2C=y Loading drivers/mfd/Makefile +3 −0 Original line number Diff line number Diff line Loading @@ -96,6 +96,9 @@ obj-$(CONFIG_MFD_TPS65910) += tps65910.o obj-$(CONFIG_MFD_TPS65912) += tps65912-core.o obj-$(CONFIG_MFD_TPS65912_I2C) += tps65912-i2c.o obj-$(CONFIG_MFD_TPS65912_SPI) += tps65912-spi.o obj-$(CONFIG_MFD_TPS6594) += tps6594-core.o obj-$(CONFIG_MFD_TPS6594_I2C) += tps6594-i2c.o obj-$(CONFIG_MFD_TPS6594_SPI) += tps6594-spi.o obj-$(CONFIG_MENELAUS) += menelaus.o obj-$(CONFIG_TWL4030_CORE) += twl-core.o twl4030-irq.o twl6030-irq.o Loading Loading
Documentation/devicetree/bindings/mfd/richtek,rt5033.yaml 0 → 100644 +138 −0 Original line number Diff line number Diff line # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/mfd/richtek,rt5033.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Richtek RT5033 Power Management Integrated Circuit maintainers: - Jakob Hauser <jahau@rocketmail.com> description: RT5033 is a multifunction device which includes battery charger, fuel gauge, flash LED current source, LDO and synchronous Buck converter for portable applications. It is interfaced to host controller using I2C interface. The battery fuel gauge uses a separate I2C bus. properties: compatible: const: richtek,rt5033 reg: maxItems: 1 interrupts: maxItems: 1 regulators: description: The regulators of RT5033 have to be instantiated under a sub-node named "regulators". For SAFE_LDO voltage there is only one value of 4.9 V. LDO voltage ranges from 1.2 V to 3.0 V in 0.1 V steps. BUCK voltage ranges from 1.0 V to 3.0 V in 0.1 V steps. type: object patternProperties: "^(SAFE_LDO|LDO|BUCK)$": type: object $ref: /schemas/regulator/regulator.yaml# unevaluatedProperties: false additionalProperties: false charger: type: object $ref: /schemas/power/supply/richtek,rt5033-charger.yaml# required: - compatible - reg - interrupts additionalProperties: false examples: - | #include <dt-bindings/interrupt-controller/irq.h> battery: battery { compatible = "simple-battery"; precharge-current-microamp = <450000>; constant-charge-current-max-microamp = <1000000>; charge-term-current-microamp = <150000>; precharge-upper-limit-microvolt = <3500000>; constant-charge-voltage-max-microvolt = <4350000>; }; extcon { usb_con: connector { compatible = "usb-b-connector"; label = "micro-USB"; type = "micro"; }; }; i2c { #address-cells = <1>; #size-cells = <0>; i2c@0 { #address-cells = <1>; #size-cells = <0>; reg = <0>; fuel-gauge@35 { compatible = "richtek,rt5033-battery"; reg = <0x35>; interrupt-parent = <&msmgpio>; interrupts = <121 IRQ_TYPE_EDGE_FALLING>; pinctrl-names = "default"; pinctrl-0 = <&fg_alert_default>; power-supplies = <&rt5033_charger>; }; }; i2c@1 { #address-cells = <1>; #size-cells = <0>; reg = <1>; pmic@34 { compatible = "richtek,rt5033"; reg = <0x34>; interrupt-parent = <&msmgpio>; interrupts = <62 IRQ_TYPE_EDGE_FALLING>; pinctrl-names = "default"; pinctrl-0 = <&pmic_int_default>; regulators { safe_ldo_reg: SAFE_LDO { regulator-name = "SAFE_LDO"; regulator-min-microvolt = <4900000>; regulator-max-microvolt = <4900000>; regulator-always-on; }; ldo_reg: LDO { regulator-name = "LDO"; regulator-min-microvolt = <2800000>; regulator-max-microvolt = <2800000>; }; buck_reg: BUCK { regulator-name = "BUCK"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <1200000>; }; }; rt5033_charger: charger { compatible = "richtek,rt5033-charger"; monitored-battery = <&battery>; richtek,usb-connector = <&usb_con>; }; }; }; };
Documentation/devicetree/bindings/power/supply/richtek,rt5033-battery.yaml +1 −1 Original line number Diff line number Diff line Loading @@ -26,7 +26,7 @@ required: - compatible - reg additionalProperties: false unevaluatedProperties: false examples: - | Loading
Documentation/devicetree/bindings/power/supply/richtek,rt5033-charger.yaml 0 → 100644 +65 −0 Original line number Diff line number Diff line # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/power/supply/richtek,rt5033-charger.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Richtek RT5033 PMIC Battery Charger maintainers: - Jakob Hauser <jahau@rocketmail.com> description: The battery charger of the multifunction device RT5033 has to be instantiated under sub-node named "charger" using the following format. properties: compatible: const: richtek,rt5033-charger monitored-battery: $ref: /schemas/types.yaml#/definitions/phandle description: | Phandle to the monitored battery according to battery.yaml. The battery node needs to contain five parameters. precharge-current-microamp: Current of pre-charge mode. The pre-charge current levels are 350 mA to 650 mA programmed by I2C per 100 mA. constant-charge-current-max-microamp: Current of fast-charge mode. The fast-charge current levels are 700 mA to 2000 mA programmed by I2C per 100 mA. charge-term-current-microamp: This property is end of charge current. Its level ranges from 150 mA to 600 mA. Between 150 mA and 300 mA in 50 mA steps, between 300 mA and 600 mA in 100 mA steps. precharge-upper-limit-microvolt: Voltage of pre-charge mode. If the battery voltage is below the pre-charge threshold voltage, the charger is in pre-charge mode with pre-charge current. Its levels are 2.3 V to 3.8 V programmed by I2C per 0.1 V. constant-charge-voltage-max-microvolt: Battery regulation voltage of constant voltage mode. This voltage levels from 3.65 V to 4.4 V by I2C per 0.025 V. richtek,usb-connector: $ref: /schemas/types.yaml#/definitions/phandle description: Phandle to a USB connector according to usb-connector.yaml. The connector should be a child of the extcon device. required: - monitored-battery additionalProperties: false examples: - | charger { compatible = "richtek,rt5033-charger"; monitored-battery = <&battery>; richtek,usb-connector = <&usb_con>; };
drivers/mfd/Kconfig +34 −2 Original line number Diff line number Diff line Loading @@ -266,8 +266,8 @@ config MFD_MADERA_SPI Support for the Cirrus Logic Madera platform audio SoC core functionality controlled via SPI. config MFD_MAX597X tristate "Maxim 597x power switch and monitor" config MFD_MAX5970 tristate "Maxim 5970/5978 power switch and monitor" depends on (I2C && OF) select MFD_SIMPLE_MFD_I2C help Loading Loading @@ -1698,6 +1698,38 @@ config MFD_TPS65912_SPI If you say yes here you get support for the TPS65912 series of PM chips with SPI interface. config MFD_TPS6594 tristate select MFD_CORE select REGMAP select REGMAP_IRQ config MFD_TPS6594_I2C tristate "TI TPS6594 Power Management chip with I2C" select MFD_TPS6594 select REGMAP_I2C select CRC8 depends on I2C help If you say yes here you get support for the TPS6594 series of PM chips with I2C interface. This driver can also be built as a module. If so, the module will be called tps6594-i2c. config MFD_TPS6594_SPI tristate "TI TPS6594 Power Management chip with SPI" select MFD_TPS6594 select REGMAP_SPI select CRC8 depends on SPI_MASTER help If you say yes here you get support for the TPS6594 series of PM chips with SPI interface. This driver can also be built as a module. If so, the module will be called tps6594-spi. config TWL4030_CORE bool "TI TWL4030/TWL5030/TWL6030/TPS659x0 Support" depends on I2C=y Loading
drivers/mfd/Makefile +3 −0 Original line number Diff line number Diff line Loading @@ -96,6 +96,9 @@ obj-$(CONFIG_MFD_TPS65910) += tps65910.o obj-$(CONFIG_MFD_TPS65912) += tps65912-core.o obj-$(CONFIG_MFD_TPS65912_I2C) += tps65912-i2c.o obj-$(CONFIG_MFD_TPS65912_SPI) += tps65912-spi.o obj-$(CONFIG_MFD_TPS6594) += tps6594-core.o obj-$(CONFIG_MFD_TPS6594_I2C) += tps6594-i2c.o obj-$(CONFIG_MFD_TPS6594_SPI) += tps6594-spi.o obj-$(CONFIG_MENELAUS) += menelaus.o obj-$(CONFIG_TWL4030_CORE) += twl-core.o twl4030-irq.o twl6030-irq.o Loading