162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 262306a36Sopenharmony_ci%YAML 1.2 362306a36Sopenharmony_ci--- 462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/mfd/samsung,s5m8767.yaml# 562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 662306a36Sopenharmony_ci 762306a36Sopenharmony_cititle: Samsung S5M8767 Power Management IC 862306a36Sopenharmony_ci 962306a36Sopenharmony_cimaintainers: 1062306a36Sopenharmony_ci - Krzysztof Kozlowski <krzk@kernel.org> 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_cidescription: | 1362306a36Sopenharmony_ci This is a part of device tree bindings for S2M and S5M family of Power 1462306a36Sopenharmony_ci Management IC (PMIC). 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_ci The Samsung S5M8767 is a Power Management IC which includes voltage 1762306a36Sopenharmony_ci and current regulators, RTC, clock outputs and other sub-blocks. 1862306a36Sopenharmony_ci 1962306a36Sopenharmony_ciproperties: 2062306a36Sopenharmony_ci compatible: 2162306a36Sopenharmony_ci const: samsung,s5m8767-pmic 2262306a36Sopenharmony_ci 2362306a36Sopenharmony_ci clocks: 2462306a36Sopenharmony_ci $ref: ../clock/samsung,s2mps11.yaml 2562306a36Sopenharmony_ci description: 2662306a36Sopenharmony_ci Child node describing clock provider. 2762306a36Sopenharmony_ci 2862306a36Sopenharmony_ci interrupts: 2962306a36Sopenharmony_ci maxItems: 1 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_ci reg: 3262306a36Sopenharmony_ci maxItems: 1 3362306a36Sopenharmony_ci 3462306a36Sopenharmony_ci regulators: 3562306a36Sopenharmony_ci $ref: ../regulator/samsung,s5m8767.yaml 3662306a36Sopenharmony_ci description: 3762306a36Sopenharmony_ci List of child nodes that specify the regulators. 3862306a36Sopenharmony_ci 3962306a36Sopenharmony_ci s5m8767,pmic-buck2-dvs-voltage: 4062306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32-array 4162306a36Sopenharmony_ci minItems: 8 4262306a36Sopenharmony_ci maxItems: 8 4362306a36Sopenharmony_ci description: | 4462306a36Sopenharmony_ci A set of 8 voltage values in micro-volt (uV) units for buck2 when 4562306a36Sopenharmony_ci changing voltage using gpio dvs. 4662306a36Sopenharmony_ci 4762306a36Sopenharmony_ci s5m8767,pmic-buck3-dvs-voltage: 4862306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32-array 4962306a36Sopenharmony_ci minItems: 8 5062306a36Sopenharmony_ci maxItems: 8 5162306a36Sopenharmony_ci description: | 5262306a36Sopenharmony_ci A set of 8 voltage values in micro-volt (uV) units for buck3 when 5362306a36Sopenharmony_ci changing voltage using gpio dvs. 5462306a36Sopenharmony_ci 5562306a36Sopenharmony_ci s5m8767,pmic-buck4-dvs-voltage: 5662306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32-array 5762306a36Sopenharmony_ci minItems: 8 5862306a36Sopenharmony_ci maxItems: 8 5962306a36Sopenharmony_ci description: | 6062306a36Sopenharmony_ci A set of 8 voltage values in micro-volt (uV) units for buck4 when 6162306a36Sopenharmony_ci changing voltage using gpio dvs. 6262306a36Sopenharmony_ci 6362306a36Sopenharmony_ci s5m8767,pmic-buck-ds-gpios: 6462306a36Sopenharmony_ci minItems: 3 6562306a36Sopenharmony_ci maxItems: 3 6662306a36Sopenharmony_ci description: | 6762306a36Sopenharmony_ci GPIO specifiers for three host gpio's used for selecting GPIO DVS lines. 6862306a36Sopenharmony_ci It is one-to-one mapped to dvs gpio lines. 6962306a36Sopenharmony_ci 7062306a36Sopenharmony_ci s5m8767,pmic-buck2-uses-gpio-dvs: 7162306a36Sopenharmony_ci type: boolean 7262306a36Sopenharmony_ci description: buck2 can be controlled by gpio dvs. 7362306a36Sopenharmony_ci 7462306a36Sopenharmony_ci s5m8767,pmic-buck3-uses-gpio-dvs: 7562306a36Sopenharmony_ci type: boolean 7662306a36Sopenharmony_ci description: buck3 can be controlled by gpio dvs. 7762306a36Sopenharmony_ci 7862306a36Sopenharmony_ci s5m8767,pmic-buck4-uses-gpio-dvs: 7962306a36Sopenharmony_ci type: boolean 8062306a36Sopenharmony_ci description: buck4 can be controlled by gpio dvs. 8162306a36Sopenharmony_ci 8262306a36Sopenharmony_ci s5m8767,pmic-buck-default-dvs-idx: 8362306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32-array 8462306a36Sopenharmony_ci minimum: 0 8562306a36Sopenharmony_ci maximum: 7 8662306a36Sopenharmony_ci default: 0 8762306a36Sopenharmony_ci description: | 8862306a36Sopenharmony_ci Default voltage setting selected from the possible 8 options selectable 8962306a36Sopenharmony_ci by the dvs gpios. The value of this property should be between 0 and 7. 9062306a36Sopenharmony_ci If not specified or if out of range, the default value of this property 9162306a36Sopenharmony_ci is set to 0. 9262306a36Sopenharmony_ci 9362306a36Sopenharmony_ci s5m8767,pmic-buck-dvs-gpios: 9462306a36Sopenharmony_ci minItems: 3 9562306a36Sopenharmony_ci maxItems: 3 9662306a36Sopenharmony_ci description: | 9762306a36Sopenharmony_ci GPIO specifiers for three host gpio's used for dvs. 9862306a36Sopenharmony_ci 9962306a36Sopenharmony_ci vinb1-supply: 10062306a36Sopenharmony_ci description: Power supply for buck1 10162306a36Sopenharmony_ci vinb2-supply: 10262306a36Sopenharmony_ci description: Power supply for buck2 10362306a36Sopenharmony_ci vinb3-supply: 10462306a36Sopenharmony_ci description: Power supply for buck3 10562306a36Sopenharmony_ci vinb4-supply: 10662306a36Sopenharmony_ci description: Power supply for buck4 10762306a36Sopenharmony_ci vinb5-supply: 10862306a36Sopenharmony_ci description: Power supply for buck5 10962306a36Sopenharmony_ci vinb6-supply: 11062306a36Sopenharmony_ci description: Power supply for buck6 11162306a36Sopenharmony_ci vinb7-supply: 11262306a36Sopenharmony_ci description: Power supply for buck7 11362306a36Sopenharmony_ci vinb8-supply: 11462306a36Sopenharmony_ci description: Power supply for buck8 11562306a36Sopenharmony_ci vinb9-supply: 11662306a36Sopenharmony_ci description: Power supply for buck9 11762306a36Sopenharmony_ci 11862306a36Sopenharmony_ci vinl1-supply: 11962306a36Sopenharmony_ci description: Power supply for LDO3, LDO10, LDO26, LDO27 12062306a36Sopenharmony_ci vinl2-supply: 12162306a36Sopenharmony_ci description: Power supply for LDO13, LDO16, LDO25, LDO28 12262306a36Sopenharmony_ci vinl3-supply: 12362306a36Sopenharmony_ci description: Power supply for LDO11, LDO14 12462306a36Sopenharmony_ci vinl4-supply: 12562306a36Sopenharmony_ci description: Power supply for LDO4, LDO9 12662306a36Sopenharmony_ci vinl5-supply: 12762306a36Sopenharmony_ci description: Power supply for LDO12, LDO17, LDO19, LDO23 12862306a36Sopenharmony_ci vinl6-supply: 12962306a36Sopenharmony_ci description: Power supply for LDO18, LDO20, LDO21, LDO24 13062306a36Sopenharmony_ci vinl7-supply: 13162306a36Sopenharmony_ci description: Power supply for LDO5, LDO22 13262306a36Sopenharmony_ci vinl8-supply: 13362306a36Sopenharmony_ci description: Power supply for LDO1, LDO6, LDO7, LDO8, LDO15 13462306a36Sopenharmony_ci vinl9-supply: 13562306a36Sopenharmony_ci description: Power supply for LDO2 13662306a36Sopenharmony_ci 13762306a36Sopenharmony_ci wakeup-source: true 13862306a36Sopenharmony_ci 13962306a36Sopenharmony_cirequired: 14062306a36Sopenharmony_ci - compatible 14162306a36Sopenharmony_ci - reg 14262306a36Sopenharmony_ci - regulators 14362306a36Sopenharmony_ci - s5m8767,pmic-buck-ds-gpios 14462306a36Sopenharmony_ci 14562306a36Sopenharmony_cidependencies: 14662306a36Sopenharmony_ci s5m8767,pmic-buck2-dvs-voltage: [ 's5m8767,pmic-buck-dvs-gpios' ] 14762306a36Sopenharmony_ci s5m8767,pmic-buck3-dvs-voltage: [ 's5m8767,pmic-buck-dvs-gpios' ] 14862306a36Sopenharmony_ci s5m8767,pmic-buck4-dvs-voltage: [ 's5m8767,pmic-buck-dvs-gpios' ] 14962306a36Sopenharmony_ci s5m8767,pmic-buck2-uses-gpio-dvs: [ 's5m8767,pmic-buck-dvs-gpios', 's5m8767,pmic-buck2-dvs-voltage' ] 15062306a36Sopenharmony_ci s5m8767,pmic-buck3-uses-gpio-dvs: [ 's5m8767,pmic-buck-dvs-gpios', 's5m8767,pmic-buck3-dvs-voltage' ] 15162306a36Sopenharmony_ci s5m8767,pmic-buck4-uses-gpio-dvs: [ 's5m8767,pmic-buck-dvs-gpios', 's5m8767,pmic-buck4-dvs-voltage' ] 15262306a36Sopenharmony_ci 15362306a36Sopenharmony_ciadditionalProperties: false 15462306a36Sopenharmony_ci 15562306a36Sopenharmony_ciallOf: 15662306a36Sopenharmony_ci - not: 15762306a36Sopenharmony_ci required: 15862306a36Sopenharmony_ci - s5m8767,pmic-buck2-uses-gpio-dvs 15962306a36Sopenharmony_ci - s5m8767,pmic-buck3-uses-gpio-dvs 16062306a36Sopenharmony_ci - not: 16162306a36Sopenharmony_ci required: 16262306a36Sopenharmony_ci - s5m8767,pmic-buck2-uses-gpio-dvs 16362306a36Sopenharmony_ci - s5m8767,pmic-buck4-uses-gpio-dvs 16462306a36Sopenharmony_ci - not: 16562306a36Sopenharmony_ci required: 16662306a36Sopenharmony_ci - s5m8767,pmic-buck3-uses-gpio-dvs 16762306a36Sopenharmony_ci - s5m8767,pmic-buck4-uses-gpio-dvs 16862306a36Sopenharmony_ci 16962306a36Sopenharmony_ciexamples: 17062306a36Sopenharmony_ci - | 17162306a36Sopenharmony_ci #include <dt-bindings/gpio/gpio.h> 17262306a36Sopenharmony_ci #include <dt-bindings/interrupt-controller/irq.h> 17362306a36Sopenharmony_ci 17462306a36Sopenharmony_ci i2c { 17562306a36Sopenharmony_ci #address-cells = <1>; 17662306a36Sopenharmony_ci #size-cells = <0>; 17762306a36Sopenharmony_ci 17862306a36Sopenharmony_ci pmic@66 { 17962306a36Sopenharmony_ci compatible = "samsung,s5m8767-pmic"; 18062306a36Sopenharmony_ci reg = <0x66>; 18162306a36Sopenharmony_ci 18262306a36Sopenharmony_ci interrupt-parent = <&gpx3>; 18362306a36Sopenharmony_ci interrupts = <2 IRQ_TYPE_LEVEL_LOW>; 18462306a36Sopenharmony_ci pinctrl-names = "default"; 18562306a36Sopenharmony_ci pinctrl-0 = <&s5m8767_irq &s5m8767_dvs &s5m8767_ds>; 18662306a36Sopenharmony_ci wakeup-source; 18762306a36Sopenharmony_ci 18862306a36Sopenharmony_ci s5m8767,pmic-buck-default-dvs-idx = <3>; 18962306a36Sopenharmony_ci s5m8767,pmic-buck2-uses-gpio-dvs; 19062306a36Sopenharmony_ci 19162306a36Sopenharmony_ci s5m8767,pmic-buck-dvs-gpios = <&gpd1 0 GPIO_ACTIVE_LOW>, 19262306a36Sopenharmony_ci <&gpd1 1 GPIO_ACTIVE_LOW>, 19362306a36Sopenharmony_ci <&gpd1 2 GPIO_ACTIVE_LOW>; 19462306a36Sopenharmony_ci 19562306a36Sopenharmony_ci s5m8767,pmic-buck-ds-gpios = <&gpx2 3 GPIO_ACTIVE_LOW>, 19662306a36Sopenharmony_ci <&gpx2 4 GPIO_ACTIVE_LOW>, 19762306a36Sopenharmony_ci <&gpx2 5 GPIO_ACTIVE_LOW>; 19862306a36Sopenharmony_ci 19962306a36Sopenharmony_ci s5m8767,pmic-buck2-dvs-voltage = <1350000>, <1300000>, 20062306a36Sopenharmony_ci <1250000>, <1200000>, 20162306a36Sopenharmony_ci <1150000>, <1100000>, 20262306a36Sopenharmony_ci <1000000>, <950000>; 20362306a36Sopenharmony_ci 20462306a36Sopenharmony_ci s5m8767,pmic-buck3-dvs-voltage = <1100000>, <1100000>, 20562306a36Sopenharmony_ci <1100000>, <1100000>, 20662306a36Sopenharmony_ci <1000000>, <1000000>, 20762306a36Sopenharmony_ci <1000000>, <1000000>; 20862306a36Sopenharmony_ci 20962306a36Sopenharmony_ci s5m8767,pmic-buck4-dvs-voltage = <1200000>, <1200000>, 21062306a36Sopenharmony_ci <1200000>, <1200000>, 21162306a36Sopenharmony_ci <1200000>, <1200000>, 21262306a36Sopenharmony_ci <1200000>, <1200000>; 21362306a36Sopenharmony_ci 21462306a36Sopenharmony_ci clocks { 21562306a36Sopenharmony_ci compatible = "samsung,s5m8767-clk"; 21662306a36Sopenharmony_ci #clock-cells = <1>; 21762306a36Sopenharmony_ci clock-output-names = "en32khz_ap", "en32khz_cp", "en32khz_bt"; 21862306a36Sopenharmony_ci }; 21962306a36Sopenharmony_ci 22062306a36Sopenharmony_ci regulators { 22162306a36Sopenharmony_ci LDO1 { 22262306a36Sopenharmony_ci regulator-name = "VDD_ALIVE"; 22362306a36Sopenharmony_ci regulator-min-microvolt = <1100000>; 22462306a36Sopenharmony_ci regulator-max-microvolt = <1100000>; 22562306a36Sopenharmony_ci regulator-always-on; 22662306a36Sopenharmony_ci regulator-boot-on; 22762306a36Sopenharmony_ci op_mode = <1>; /* Normal Mode */ 22862306a36Sopenharmony_ci }; 22962306a36Sopenharmony_ci 23062306a36Sopenharmony_ci // ... 23162306a36Sopenharmony_ci 23262306a36Sopenharmony_ci BUCK1 { 23362306a36Sopenharmony_ci regulator-name = "VDD_MIF"; 23462306a36Sopenharmony_ci regulator-min-microvolt = <950000>; 23562306a36Sopenharmony_ci regulator-max-microvolt = <1100000>; 23662306a36Sopenharmony_ci regulator-always-on; 23762306a36Sopenharmony_ci regulator-boot-on; 23862306a36Sopenharmony_ci op_mode = <1>; /* Normal Mode */ 23962306a36Sopenharmony_ci }; 24062306a36Sopenharmony_ci 24162306a36Sopenharmony_ci BUCK2 { 24262306a36Sopenharmony_ci regulator-name = "VDD_ARM"; 24362306a36Sopenharmony_ci regulator-min-microvolt = <900000>; 24462306a36Sopenharmony_ci regulator-max-microvolt = <1350000>; 24562306a36Sopenharmony_ci regulator-always-on; 24662306a36Sopenharmony_ci regulator-boot-on; 24762306a36Sopenharmony_ci op_mode = <1>; /* Normal Mode */ 24862306a36Sopenharmony_ci }; 24962306a36Sopenharmony_ci 25062306a36Sopenharmony_ci // ... 25162306a36Sopenharmony_ci }; 25262306a36Sopenharmony_ci }; 25362306a36Sopenharmony_ci }; 25462306a36Sopenharmony_ci 25562306a36Sopenharmony_ci - | 25662306a36Sopenharmony_ci #include <dt-bindings/gpio/gpio.h> 25762306a36Sopenharmony_ci #include <dt-bindings/interrupt-controller/irq.h> 25862306a36Sopenharmony_ci 25962306a36Sopenharmony_ci i2c { 26062306a36Sopenharmony_ci #address-cells = <1>; 26162306a36Sopenharmony_ci #size-cells = <0>; 26262306a36Sopenharmony_ci 26362306a36Sopenharmony_ci pmic@66 { 26462306a36Sopenharmony_ci compatible = "samsung,s5m8767-pmic"; 26562306a36Sopenharmony_ci reg = <0x66>; 26662306a36Sopenharmony_ci 26762306a36Sopenharmony_ci interrupt-parent = <&gpx3>; 26862306a36Sopenharmony_ci interrupts = <2 IRQ_TYPE_LEVEL_LOW>; 26962306a36Sopenharmony_ci pinctrl-names = "default"; 27062306a36Sopenharmony_ci pinctrl-0 = <&s5m8767_irq &s5m8767_dvs &s5m8767_ds>; 27162306a36Sopenharmony_ci wakeup-source; 27262306a36Sopenharmony_ci 27362306a36Sopenharmony_ci s5m8767,pmic-buck-ds-gpios = <&gpx2 3 GPIO_ACTIVE_LOW>, 27462306a36Sopenharmony_ci <&gpx2 4 GPIO_ACTIVE_LOW>, 27562306a36Sopenharmony_ci <&gpx2 5 GPIO_ACTIVE_LOW>; 27662306a36Sopenharmony_ci 27762306a36Sopenharmony_ci clocks { 27862306a36Sopenharmony_ci compatible = "samsung,s5m8767-clk"; 27962306a36Sopenharmony_ci #clock-cells = <1>; 28062306a36Sopenharmony_ci clock-output-names = "en32khz_ap", "en32khz_cp", "en32khz_bt"; 28162306a36Sopenharmony_ci }; 28262306a36Sopenharmony_ci 28362306a36Sopenharmony_ci regulators { 28462306a36Sopenharmony_ci LDO1 { 28562306a36Sopenharmony_ci regulator-name = "VDD_ALIVE"; 28662306a36Sopenharmony_ci regulator-min-microvolt = <1100000>; 28762306a36Sopenharmony_ci regulator-max-microvolt = <1100000>; 28862306a36Sopenharmony_ci regulator-always-on; 28962306a36Sopenharmony_ci regulator-boot-on; 29062306a36Sopenharmony_ci op_mode = <1>; /* Normal Mode */ 29162306a36Sopenharmony_ci }; 29262306a36Sopenharmony_ci 29362306a36Sopenharmony_ci // ... 29462306a36Sopenharmony_ci }; 29562306a36Sopenharmony_ci }; 29662306a36Sopenharmony_ci }; 297