Add support for max77705 MFD device. Supported sub-devices:
 charger, fuelgauge, haptic, led

Signed-off-by: Dzmitry Sankouski <dsankou...@gmail.com>
---
 .../boot/dts/qcom/sdm845-samsung-starqltechn.dts   | 103 +++++++++++++++++++++
 1 file changed, 103 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/sdm845-samsung-starqltechn.dts 
b/arch/arm64/boot/dts/qcom/sdm845-samsung-starqltechn.dts
index a3bd5231569d..865253d8f0c7 100644
--- a/arch/arm64/boot/dts/qcom/sdm845-samsung-starqltechn.dts
+++ b/arch/arm64/boot/dts/qcom/sdm845-samsung-starqltechn.dts
@@ -18,6 +18,16 @@ / {
        model = "Samsung Galaxy S9 SM-G9600";
        compatible = "samsung,starqltechn", "qcom,sdm845";
 
+       battery: battery {
+               compatible = "simple-battery";
+               constant-charge-current-max-microamp = <2150000>;
+               charge-full-design-microamp-hours = <3000000>;
+
+               over-voltage-threshold-microvolt = <4500000>;
+               voltage-min-design-microvolt = <3400000>;
+               voltage-max-design-microvolt = <4350000>;
+       };
+
        chosen {
                #address-cells = <2>;
                #size-cells = <2>;
@@ -90,6 +100,27 @@ key-wink {
                        debounce-interval = <15>;
                };
        };
+
+       vib_regulator: gpio-regulator {
+               compatible = "regulator-fixed";
+               regulator-name = "haptic";
+               regulator-min-microvolt = <1800000>;
+               regulator-max-microvolt = <1800000>;
+               regulator-boot-on;
+               enable-active-high;
+               gpio = <&pm8998_gpios 18 GPIO_ACTIVE_HIGH>;
+       };
+
+       vib_pwm: pwm {
+               #pwm-cells = <2>;
+               compatible = "clk-pwm";
+               clocks = <&gcc GCC_GP1_CLK>;
+               assigned-clock-parents = <&rpmhcc RPMH_CXO_CLK>;
+               assigned-clocks = <&gcc GCC_GP1_CLK_SRC>;
+               pinctrl-0 = <&motor_pwm_default_state>;
+               pinctrl-1 = <&motor_pwm_suspend_state>;
+               pinctrl-names = "default", "suspend";
+       };
 };
 
 
@@ -385,10 +416,66 @@ &qupv3_id_1 {
        status = "okay";
 };
 
+&gpi_dma1 {
+       status = "okay";
+};
+
 &uart9 {
        status = "okay";
 };
 
+&i2c14 {
+       status = "okay";
+
+       pmic@66 {
+               compatible = "maxim,max77705";
+               reg = <0x66>;
+               interrupt-parent = <&pm8998_gpios>;
+               interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
+               pinctrl-0 = <&chg_int_default>;
+               pinctrl-names = "default";
+
+               leds {
+                       compatible = "maxim,max77705-led";
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+
+                       led@1 {
+                               reg = <1>;
+                               label = "red:usr1";
+                       };
+
+                       led@2 {
+                               reg = <2>;
+                               label = "green:usr2";
+                       };
+
+                       led@3 {
+                               reg = <3>;
+                               label = "blue:usr3";
+                       };
+               };
+
+               max77705_charger: charger {
+                       compatible = "maxim,max77705-charger";
+                       monitored-battery = <&battery>;
+               };
+
+               fuel_gauge {
+                       compatible = "maxim,max77705-fuel-gauge";
+                       monitored-battery = <&battery>;
+                       power-supplies = <&max77705_charger>;
+                       shunt-resistor-micro-ohms = <5000>;
+               };
+
+               haptic {
+                       compatible = "maxim,max77705-haptic";
+                       haptic-supply = <&vib_regulator>;
+                       pwms = <&vib_pwm 0 100000>;
+               };
+       };
+};
+
 &ufs_mem_hc {
        reset-gpios = <&tlmm 150 GPIO_ACTIVE_LOW>;
        vcc-supply = <&vreg_l20a_2p95>;
@@ -485,4 +572,20 @@ sd_card_det_n_state: sd-card-det-n-state {
                function = "gpio";
                bias-pull-up;
        };
+
+       motor_pwm_default_state: motor-pwm-active-state {
+               pins = "gpio57";
+               function = "gcc_gp1";
+               drive-strength = <2>;
+               bias-disable;
+               output-high;
+       };
+
+       motor_pwm_suspend_state: motor-pwm-suspend-state {
+               pins = "gpio57";
+               function = "gpio";
+               drive-strength = <2>;
+               bias-disable;
+               output-low;
+       };
 };

-- 
2.39.2

Reply via email to