Message ID | 20240913-starqltechn_integration_upstream-v4-22-2d2efd5c5877@gmail.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | This is continued work on Samsung S9(SM-9600) starqltechn | expand |
On Fri, Sep 13, 2024 at 06:08:05PM +0300, Dzmitry Sankouski wrote: > Add support for max77705 MFD device. Supported sub-devices: > charger, fuelgauge, haptic, led > > Signed-off-by: Dzmitry Sankouski <dsankouski@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 { Please use name for all fixed regulators which matches current format recommendation: 'regulator-[0-9]v[0-9]' https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/regulator/fixed-regulator.yaml?h=v6.11-rc1#n46 > + 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"; compatible is always the first property. See DTS coding style. > + 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 { No underscores in node names. See DTS coding style. Best regards, Krzysztof
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; + }; };
Add support for max77705 MFD device. Supported sub-devices: charger, fuelgauge, haptic, led Signed-off-by: Dzmitry Sankouski <dsankouski@gmail.com> --- .../boot/dts/qcom/sdm845-samsung-starqltechn.dts | 103 +++++++++++++++++++++ 1 file changed, 103 insertions(+)