This patch adds device-tree bindings for the Silicon Mitus
SM5703 MFD.
Signed-off-by: Markuss Broks <[email protected]>
---
.../bindings/mfd/siliconmitus,sm5703.yaml | 95 +++++++++++++++++++
1 file changed, 95 insertions(+)
create mode 100644 Documentation/devicetree/bindings/mfd/siliconmitus,sm5703.yaml
diff --git a/Documentation/devicetree/bindings/mfd/siliconmitus,sm5703.yaml b/Documentation/devicetree/bindings/mfd/siliconmitus,sm5703.yaml
new file mode 100644
index 000000000000..aa676967593d
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/siliconmitus,sm5703.yaml
@@ -0,0 +1,95 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/mfd/siliconmitus,sm5703.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Silicon Mitus SM5703 multi-function device bindings
+
+maintainers:
+ - Markuss Broks <[email protected]>
+
+description: |
+ Silicon Mitus SM5703 is a multi-function device, that consists of several
+ modules, designed for a mobile phone use. It consists of
+ LDO, Buck, USBLDO and VBUS regulators, a flash LED driver, a MUIC unit,
+ a fuel gauge and a battery charger circuit. The MUIC and Fuel-Gauge units
+ are separate from the main MFD, having their own i2c lines, while the
+ LED driver, regulators and charger are sharing the main i2c bus of the MFD.
+
+properties:
+ compatible:
+ const: siliconmitus,sm5703-mfd
+
+ reg:
+ description:
+ I2C slave address.
+ maxItems: 1
+
+ regulators:
+ $ref: ../regulator/siliconmitus,sm5703-regulator.yaml
+ description:
+ List of child nodes that specify the regulators.
+
+ reset-gpio:
+ description:
+ GPIO which is connected to the MRSTB pin.
+ maxItems: 1
+
+required:
+ - compatible
+ - reg
+ - regulators
+
+additionalProperties: false
+
+examples:
+ - |
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ mfd@49 {
+ compatible = "siliconmitus,sm5703-mfd";
+ reg = <0x49>;
+
+ reset-gpio = <&msmgpio 24 GPIO_ACTIVE_HIGH>;
+ pinctrl-0 = <&mrstb_default>;
+
+ regulator {
+ compatible = "siliconmitus,sm5703-regulator";
+
+ regulators {
+ sm5703_ldo1: ldo1 {
+ regulator-min-microvolt = <2800000>;
+ regulator-max-microvolt = <2800000>;
+ };
+
+ sm5703_ldo2: ldo2 {
+ regulator-min-microvolt = <1500000>;
+ regulator-max-microvolt = <3300000>;
+ };
+
+ sm5703_ldo3: ldo3 {
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ };
+
+ sm5703_usbldo1: usbldo1 {
+ regulator-min-microvolt = <4800000>;
+ regulator-max-microvolt = <4800000>;
+ };
+
+ sm5703_usbldo2: usbldo2 {
+ regulator-min-microvolt = <4800000>;
+ regulator-max-microvolt = <4800000>;
+ };
+
+ sm5703_vbus: vbus {
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ };
+ };
+ };
+ };
+ };
+...
--
2.35.1
Hi Rob,
On 4/19/22 17:01, Rob Herring wrote:
> On Fri, Apr 15, 2022 at 07:43:53PM +0300, Markuss Broks wrote:
>> This patch adds device-tree bindings for the Silicon Mitus
>> SM5703 MFD.
>>
>> Signed-off-by: Markuss Broks <[email protected]>
>> ---
>> .../bindings/mfd/siliconmitus,sm5703.yaml | 95 +++++++++++++++++++
>> 1 file changed, 95 insertions(+)
>> create mode 100644 Documentation/devicetree/bindings/mfd/siliconmitus,sm5703.yaml
>>
>> diff --git a/Documentation/devicetree/bindings/mfd/siliconmitus,sm5703.yaml b/Documentation/devicetree/bindings/mfd/siliconmitus,sm5703.yaml
>> new file mode 100644
>> index 000000000000..aa676967593d
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/mfd/siliconmitus,sm5703.yaml
>> @@ -0,0 +1,95 @@
>> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/mfd/siliconmitus,sm5703.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Silicon Mitus SM5703 multi-function device bindings
>> +
>> +maintainers:
>> + - Markuss Broks <[email protected]>
>> +
>> +description: |
>> + Silicon Mitus SM5703 is a multi-function device, that consists of several
>> + modules, designed for a mobile phone use. It consists of
>> + LDO, Buck, USBLDO and VBUS regulators, a flash LED driver, a MUIC unit,
>> + a fuel gauge and a battery charger circuit. The MUIC and Fuel-Gauge units
>> + are separate from the main MFD, having their own i2c lines, while the
>> + LED driver, regulators and charger are sharing the main i2c bus of the MFD.
>> +
>> +properties:
>> + compatible:
>> + const: siliconmitus,sm5703-mfd
> '-mfd' is redundant. Drop.
>
>> +
>> + reg:
>> + description:
>> + I2C slave address.
>> + maxItems: 1
>> +
>> + regulators:
>> + $ref: ../regulator/siliconmitus,sm5703-regulator.yaml
> /schemas/regulator/...
>
>> + description:
>> + List of child nodes that specify the regulators.
>> +
>> + reset-gpio:
> '-gpios' is the preferred form even with 1.
>
> Are the MUIC and Fuel-Gauge units independent from this reset?
From my understanding, they're completely separate from the main unit.
The tests also confirm that they both work normally no matter the reset
GPIO state.
>
>> + description:
>> + GPIO which is connected to the MRSTB pin.
>> + maxItems: 1
>> +
>> +required:
>> + - compatible
>> + - reg
>> + - regulators
>> +
>> +additionalProperties: false
>> +
>> +examples:
>> + - |
>> + i2c {
>> + #address-cells = <1>;
>> + #size-cells = <0>;
>> + mfd@49 {
> 'pmic' is the standard name.
>
>> + compatible = "siliconmitus,sm5703-mfd";
>> + reg = <0x49>;
>> +
>> + reset-gpio = <&msmgpio 24 GPIO_ACTIVE_HIGH>;
>> + pinctrl-0 = <&mrstb_default>;
>> +
>> + regulator {
>> + compatible = "siliconmitus,sm5703-regulator";
>> +
>> + regulators {
>> + sm5703_ldo1: ldo1 {
>> + regulator-min-microvolt = <2800000>;
>> + regulator-max-microvolt = <2800000>;
>> + };
>> +
>> + sm5703_ldo2: ldo2 {
>> + regulator-min-microvolt = <1500000>;
>> + regulator-max-microvolt = <3300000>;
>> + };
>> +
>> + sm5703_ldo3: ldo3 {
>> + regulator-min-microvolt = <3300000>;
>> + regulator-max-microvolt = <3300000>;
>> + };
>> +
>> + sm5703_usbldo1: usbldo1 {
>> + regulator-min-microvolt = <4800000>;
>> + regulator-max-microvolt = <4800000>;
>> + };
>> +
>> + sm5703_usbldo2: usbldo2 {
>> + regulator-min-microvolt = <4800000>;
>> + regulator-max-microvolt = <4800000>;
>> + };
>> +
>> + sm5703_vbus: vbus {
>> + regulator-min-microvolt = <5000000>;
>> + regulator-max-microvolt = <5000000>;
>> + };
>> + };
>> + };
>> + };
>> + };
>> +...
>> --
>> 2.35.1
>>
>>
- Markuss
On Fri, Apr 15, 2022 at 07:43:53PM +0300, Markuss Broks wrote:
> This patch adds device-tree bindings for the Silicon Mitus
> SM5703 MFD.
>
> Signed-off-by: Markuss Broks <[email protected]>
> ---
> .../bindings/mfd/siliconmitus,sm5703.yaml | 95 +++++++++++++++++++
> 1 file changed, 95 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/mfd/siliconmitus,sm5703.yaml
>
> diff --git a/Documentation/devicetree/bindings/mfd/siliconmitus,sm5703.yaml b/Documentation/devicetree/bindings/mfd/siliconmitus,sm5703.yaml
> new file mode 100644
> index 000000000000..aa676967593d
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mfd/siliconmitus,sm5703.yaml
> @@ -0,0 +1,95 @@
> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/mfd/siliconmitus,sm5703.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Silicon Mitus SM5703 multi-function device bindings
> +
> +maintainers:
> + - Markuss Broks <[email protected]>
> +
> +description: |
> + Silicon Mitus SM5703 is a multi-function device, that consists of several
> + modules, designed for a mobile phone use. It consists of
> + LDO, Buck, USBLDO and VBUS regulators, a flash LED driver, a MUIC unit,
> + a fuel gauge and a battery charger circuit. The MUIC and Fuel-Gauge units
> + are separate from the main MFD, having their own i2c lines, while the
> + LED driver, regulators and charger are sharing the main i2c bus of the MFD.
> +
> +properties:
> + compatible:
> + const: siliconmitus,sm5703-mfd
'-mfd' is redundant. Drop.
> +
> + reg:
> + description:
> + I2C slave address.
> + maxItems: 1
> +
> + regulators:
> + $ref: ../regulator/siliconmitus,sm5703-regulator.yaml
/schemas/regulator/...
> + description:
> + List of child nodes that specify the regulators.
> +
> + reset-gpio:
'-gpios' is the preferred form even with 1.
Are the MUIC and Fuel-Gauge units independent from this reset?
> + description:
> + GPIO which is connected to the MRSTB pin.
> + maxItems: 1
> +
> +required:
> + - compatible
> + - reg
> + - regulators
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + i2c {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + mfd@49 {
'pmic' is the standard name.
> + compatible = "siliconmitus,sm5703-mfd";
> + reg = <0x49>;
> +
> + reset-gpio = <&msmgpio 24 GPIO_ACTIVE_HIGH>;
> + pinctrl-0 = <&mrstb_default>;
> +
> + regulator {
> + compatible = "siliconmitus,sm5703-regulator";
> +
> + regulators {
> + sm5703_ldo1: ldo1 {
> + regulator-min-microvolt = <2800000>;
> + regulator-max-microvolt = <2800000>;
> + };
> +
> + sm5703_ldo2: ldo2 {
> + regulator-min-microvolt = <1500000>;
> + regulator-max-microvolt = <3300000>;
> + };
> +
> + sm5703_ldo3: ldo3 {
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> + };
> +
> + sm5703_usbldo1: usbldo1 {
> + regulator-min-microvolt = <4800000>;
> + regulator-max-microvolt = <4800000>;
> + };
> +
> + sm5703_usbldo2: usbldo2 {
> + regulator-min-microvolt = <4800000>;
> + regulator-max-microvolt = <4800000>;
> + };
> +
> + sm5703_vbus: vbus {
> + regulator-min-microvolt = <5000000>;
> + regulator-max-microvolt = <5000000>;
> + };
> + };
> + };
> + };
> + };
> +...
> --
> 2.35.1
>
>