| // SPDX-License-Identifier: GPL-2.0-only |
| /* |
| * Battery device tree entries |
| * |
| * Copyright 2019 Google LLC |
| */ |
| |
| #include <dt-bindings/pinctrl/samsung.h> |
| |
| / { |
| fragment@battery { |
| target-path = "/"; |
| __overlay__ { |
| |
| google_battery: google,battery { |
| status = "okay"; |
| compatible = "google,battery"; |
| #cooling-cells = <2>; |
| google,fg-psy-name = "maxfg"; |
| |
| google,chg-battery-capacity = <4000>; |
| |
| /* charge table */ |
| google,chg-temp-limits = <0 100 200 420 460 480 550>; |
| google,chg-cv-limits = <4200000 4300000 4400000>; |
| google,chg-cc-limits = < |
| 30 10 0 |
| 50 30 30 |
| 100 70 50 |
| 80 50 50 |
| 50 50 0 |
| 30 0 0 |
| >; |
| #thermal-sensor-cells = <0>; |
| }; |
| |
| google_cpm: google,cpm { |
| status = "okay"; |
| compatible = "google,cpm"; |
| }; |
| |
| google_charger: google,charger { |
| status = "okay"; |
| compatible = "google,charger"; |
| #cooling-cells = <2>; |
| |
| google,chg-power-supply = "gcpm"; |
| google,bat-power-supply = "battery"; |
| google,usb-power-supply = "usb"; |
| |
| google,fv-max-uv = <4400000>; |
| }; |
| |
| google_bms { |
| nvmem = <&pack_bee>; |
| nvmem-names = "5-00500"; |
| /* pack eeprom is available only with P20+ batteries */ |
| google,bee-name = "5-00500"; |
| }; |
| |
| }; |
| }; |
| }; |
| |
| &pinctrl_0 { |
| /* [MAX77759: FG_INTB] > FG_INT_L > [XEINT_23 : SC59845XWE] */ |
| if_pmic_fg_irq: if-pmic-fg-irq { |
| samsung,pins = "gpa9-3"; /* XEINT_23 */ |
| samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>; |
| samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; |
| samsung,pin-drv = <GS101_PIN_DRV_2_5_MA>; |
| }; |
| |
| }; |
| |
| &pinctrl_1 { |
| /* [MAX77729FEWN : INTB] > IF_PMIC_IRQ_L > [XEINT_15 : SC59845XWE] */ |
| if_pmic_irq: if-pmic-irq { |
| samsung,pins = "gpa8-3"; |
| samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>; |
| samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; |
| samsung,pin-drv = <GS101_PIN_DRV_2_5_MA>; |
| }; |
| }; |
| |
| &hsi2c12_bus { |
| samsung,pins = "gpp23-4", "gpp23-5"; |
| samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; |
| }; |
| |
| &hsi2c_12{ |
| |
| #address-cells = <1>; |
| #size-cells = <0>; |
| status = "okay"; |
| clock-frequency = <400000>; |
| |
| /* also as max77759 pmic */ |
| max77729_pmic:max77729pmic@0x66 { |
| status = "okay"; |
| compatible = "maxim,max77729pmic"; |
| reg = <0x66>; |
| |
| pinctrl-names = "default"; |
| pinctrl-0 = <&if_pmic_irq>; |
| max777x9,irq-gpio = <&gpa8 3 GPIO_ACTIVE_LOW>; |
| |
| max77759,max_m5 = <&max77759_fg>; |
| max20339,ovp = <&max20339_ovp>; |
| |
| max777x9_gpio: max777x9_gpio { |
| gpio-controller; |
| #gpio-cells = <2>; |
| ngpios = <6>; |
| }; |
| }; |
| |
| /* disabled when running MW */ |
| max77729_uic:max77729uic@0x25 { |
| status = "okay"; |
| compatible = "maxim,max77729uic"; |
| reg = <0x25>; |
| |
| max77729,irq-gpio = <&gpa8 3 GPIO_ACTIVE_LOW>; |
| bc1_config = <0xe5>; |
| usb-psy-name = "usb"; |
| }; |
| |
| /* disabled when running MW */ |
| max77729_fg:max77729fg@0x36 { |
| status = "okay"; |
| compatible = "maxim,max77729f"; |
| reg = <0x36>; |
| |
| /* IF_PMIC_IRQ_L -> XEINT_15 */ |
| maxim,irq-gpio = <&gpa8 3 GPIO_ACTIVE_LOW>; |
| maxim,irqf-shared; |
| |
| maxim,rsense-default = <500>; |
| |
| /* no needed for EEPROM */ |
| maxim,batt-id-range-pct = <0>; |
| |
| maxim,psy-type-unknown; |
| |
| maxim,fg-data { |
| #include "gs101-slider-battery-data.dtsi" |
| }; |
| }; |
| |
| max77759_fg:max77759fg@0x36 { |
| status = "okay"; |
| compatible = "maxim,max77759"; |
| reg = <0x36>; |
| |
| /* FG_INT_L -> XEINT_23 */ |
| pinctrl-names = "default"; |
| pinctrl-0 = <&if_pmic_fg_irq>; |
| maxim,irq-gpio = <&gpa9 3 GPIO_ACTIVE_LOW>; |
| |
| maxim,rsense-default = <500>; |
| |
| /* no needed for EEPROM */ |
| maxim,batt-id-range-pct = <0>; |
| |
| maxim,psy-type-unknown; |
| |
| maxim,fg-data { |
| #include "gs101-slider-battery-data.dtsi" |
| }; |
| }; |
| |
| /* slider and whitefin */ |
| max77729chrg@0x69 { |
| status = "okay"; |
| compatible = "maxim,max77729chrg"; |
| reg = <0x69>; |
| |
| max77729,irq-gpio = <&gpa8 3 GPIO_ACTIVE_LOW>; |
| max77729,psy-name = "main-charger"; |
| }; |
| |
| /* slider (some), whitefin2 (if any), POR */ |
| max77759_chg:max77759chrg@0x69 { |
| status = "okay"; |
| compatible = "maxim,max77759chrg"; |
| reg = <0x69>; |
| |
| #thermal-sensor-cells = <1>; |
| |
| interrupt-parent = <&gpa8>; |
| max77759,irq-gpio = <&gpa8 3 GPIO_ACTIVE_LOW>; |
| max77759,psy-name = "main-charger"; |
| |
| max77759,max_m5 = <&max77759_fg>; |
| max77759,pmic = <&max77729_pmic>; |
| |
| /* system use cases */ |
| max77759,bst-on = <&max777x9_gpio 4 GPIO_ACTIVE_HIGH>; |
| max77759,bst-sel = <&gpp27 3 GPIO_ACTIVE_HIGH>; |
| max77759,extbst-ctl = <&max77759_tcpc_gpio 0 GPIO_ACTIVE_HIGH>; |
| max77759,lsw1-is_open = <&max20339_gpio 5 GPIO_ACTIVE_HIGH>; |
| max77759,lsw1-is_closed = <&max20339_gpio 6 GPIO_ACTIVE_HIGH>; |
| max77759,vin-is_valid = <&max20339_gpio 3 GPIO_ACTIVE_HIGH>; |
| }; |
| |
| }; |