19aefe3fbSKrzysztof Kozlowski# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 29aefe3fbSKrzysztof Kozlowski%YAML 1.2 39aefe3fbSKrzysztof Kozlowski--- 49aefe3fbSKrzysztof Kozlowski$id: http://devicetree.org/schemas/mfd/samsung,s5m8767.yaml# 59aefe3fbSKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml# 69aefe3fbSKrzysztof Kozlowski 79aefe3fbSKrzysztof Kozlowskititle: Samsung S5M8767 Power Management IC 89aefe3fbSKrzysztof Kozlowski 99aefe3fbSKrzysztof Kozlowskimaintainers: 108a1e6bb3SKrzysztof Kozlowski - Krzysztof Kozlowski <krzk@kernel.org> 119aefe3fbSKrzysztof Kozlowski 129aefe3fbSKrzysztof Kozlowskidescription: | 139aefe3fbSKrzysztof Kozlowski This is a part of device tree bindings for S2M and S5M family of Power 149aefe3fbSKrzysztof Kozlowski Management IC (PMIC). 159aefe3fbSKrzysztof Kozlowski 169aefe3fbSKrzysztof Kozlowski The Samsung S5M8767 is a Power Management IC which includes voltage 179aefe3fbSKrzysztof Kozlowski and current regulators, RTC, clock outputs and other sub-blocks. 189aefe3fbSKrzysztof Kozlowski 199aefe3fbSKrzysztof Kozlowskiproperties: 209aefe3fbSKrzysztof Kozlowski compatible: 219aefe3fbSKrzysztof Kozlowski const: samsung,s5m8767-pmic 229aefe3fbSKrzysztof Kozlowski 239aefe3fbSKrzysztof Kozlowski clocks: 249aefe3fbSKrzysztof Kozlowski $ref: ../clock/samsung,s2mps11.yaml 259aefe3fbSKrzysztof Kozlowski description: 269aefe3fbSKrzysztof Kozlowski Child node describing clock provider. 279aefe3fbSKrzysztof Kozlowski 289aefe3fbSKrzysztof Kozlowski interrupts: 299aefe3fbSKrzysztof Kozlowski maxItems: 1 309aefe3fbSKrzysztof Kozlowski 319aefe3fbSKrzysztof Kozlowski reg: 329aefe3fbSKrzysztof Kozlowski maxItems: 1 339aefe3fbSKrzysztof Kozlowski 349aefe3fbSKrzysztof Kozlowski regulators: 359aefe3fbSKrzysztof Kozlowski $ref: ../regulator/samsung,s5m8767.yaml 369aefe3fbSKrzysztof Kozlowski description: 379aefe3fbSKrzysztof Kozlowski List of child nodes that specify the regulators. 389aefe3fbSKrzysztof Kozlowski 399aefe3fbSKrzysztof Kozlowski s5m8767,pmic-buck2-dvs-voltage: 409aefe3fbSKrzysztof Kozlowski $ref: /schemas/types.yaml#/definitions/uint32-array 419aefe3fbSKrzysztof Kozlowski minItems: 8 429aefe3fbSKrzysztof Kozlowski maxItems: 8 439aefe3fbSKrzysztof Kozlowski description: | 449aefe3fbSKrzysztof Kozlowski A set of 8 voltage values in micro-volt (uV) units for buck2 when 459aefe3fbSKrzysztof Kozlowski changing voltage using gpio dvs. 469aefe3fbSKrzysztof Kozlowski 479aefe3fbSKrzysztof Kozlowski s5m8767,pmic-buck3-dvs-voltage: 489aefe3fbSKrzysztof Kozlowski $ref: /schemas/types.yaml#/definitions/uint32-array 499aefe3fbSKrzysztof Kozlowski minItems: 8 509aefe3fbSKrzysztof Kozlowski maxItems: 8 519aefe3fbSKrzysztof Kozlowski description: | 529aefe3fbSKrzysztof Kozlowski A set of 8 voltage values in micro-volt (uV) units for buck3 when 539aefe3fbSKrzysztof Kozlowski changing voltage using gpio dvs. 549aefe3fbSKrzysztof Kozlowski 559aefe3fbSKrzysztof Kozlowski s5m8767,pmic-buck4-dvs-voltage: 569aefe3fbSKrzysztof Kozlowski $ref: /schemas/types.yaml#/definitions/uint32-array 579aefe3fbSKrzysztof Kozlowski minItems: 8 589aefe3fbSKrzysztof Kozlowski maxItems: 8 599aefe3fbSKrzysztof Kozlowski description: | 609aefe3fbSKrzysztof Kozlowski A set of 8 voltage values in micro-volt (uV) units for buck4 when 619aefe3fbSKrzysztof Kozlowski changing voltage using gpio dvs. 629aefe3fbSKrzysztof Kozlowski 639aefe3fbSKrzysztof Kozlowski s5m8767,pmic-buck-ds-gpios: 649aefe3fbSKrzysztof Kozlowski minItems: 3 659aefe3fbSKrzysztof Kozlowski maxItems: 3 669aefe3fbSKrzysztof Kozlowski description: | 679aefe3fbSKrzysztof Kozlowski GPIO specifiers for three host gpio's used for selecting GPIO DVS lines. 689aefe3fbSKrzysztof Kozlowski It is one-to-one mapped to dvs gpio lines. 699aefe3fbSKrzysztof Kozlowski 709aefe3fbSKrzysztof Kozlowski s5m8767,pmic-buck2-uses-gpio-dvs: 719aefe3fbSKrzysztof Kozlowski type: boolean 729aefe3fbSKrzysztof Kozlowski description: buck2 can be controlled by gpio dvs. 739aefe3fbSKrzysztof Kozlowski 749aefe3fbSKrzysztof Kozlowski s5m8767,pmic-buck3-uses-gpio-dvs: 759aefe3fbSKrzysztof Kozlowski type: boolean 769aefe3fbSKrzysztof Kozlowski description: buck3 can be controlled by gpio dvs. 779aefe3fbSKrzysztof Kozlowski 789aefe3fbSKrzysztof Kozlowski s5m8767,pmic-buck4-uses-gpio-dvs: 799aefe3fbSKrzysztof Kozlowski type: boolean 809aefe3fbSKrzysztof Kozlowski description: buck4 can be controlled by gpio dvs. 819aefe3fbSKrzysztof Kozlowski 829aefe3fbSKrzysztof Kozlowski s5m8767,pmic-buck-default-dvs-idx: 839aefe3fbSKrzysztof Kozlowski $ref: /schemas/types.yaml#/definitions/uint32-array 849aefe3fbSKrzysztof Kozlowski minimum: 0 859aefe3fbSKrzysztof Kozlowski maximum: 7 869aefe3fbSKrzysztof Kozlowski default: 0 879aefe3fbSKrzysztof Kozlowski description: | 889aefe3fbSKrzysztof Kozlowski Default voltage setting selected from the possible 8 options selectable 899aefe3fbSKrzysztof Kozlowski by the dvs gpios. The value of this property should be between 0 and 7. 909aefe3fbSKrzysztof Kozlowski If not specified or if out of range, the default value of this property 919aefe3fbSKrzysztof Kozlowski is set to 0. 929aefe3fbSKrzysztof Kozlowski 939aefe3fbSKrzysztof Kozlowski s5m8767,pmic-buck-dvs-gpios: 949aefe3fbSKrzysztof Kozlowski minItems: 3 959aefe3fbSKrzysztof Kozlowski maxItems: 3 969aefe3fbSKrzysztof Kozlowski description: | 979aefe3fbSKrzysztof Kozlowski GPIO specifiers for three host gpio's used for dvs. 989aefe3fbSKrzysztof Kozlowski 99eca8c5fcSKrzysztof Kozlowski vinb1-supply: 100eca8c5fcSKrzysztof Kozlowski description: Power supply for buck1 101eca8c5fcSKrzysztof Kozlowski vinb2-supply: 102eca8c5fcSKrzysztof Kozlowski description: Power supply for buck2 103eca8c5fcSKrzysztof Kozlowski vinb3-supply: 104eca8c5fcSKrzysztof Kozlowski description: Power supply for buck3 105eca8c5fcSKrzysztof Kozlowski vinb4-supply: 106eca8c5fcSKrzysztof Kozlowski description: Power supply for buck4 107eca8c5fcSKrzysztof Kozlowski vinb5-supply: 108eca8c5fcSKrzysztof Kozlowski description: Power supply for buck5 109eca8c5fcSKrzysztof Kozlowski vinb6-supply: 110eca8c5fcSKrzysztof Kozlowski description: Power supply for buck6 111eca8c5fcSKrzysztof Kozlowski vinb7-supply: 112eca8c5fcSKrzysztof Kozlowski description: Power supply for buck7 113eca8c5fcSKrzysztof Kozlowski vinb8-supply: 114eca8c5fcSKrzysztof Kozlowski description: Power supply for buck8 115eca8c5fcSKrzysztof Kozlowski vinb9-supply: 116eca8c5fcSKrzysztof Kozlowski description: Power supply for buck9 117eca8c5fcSKrzysztof Kozlowski 118eca8c5fcSKrzysztof Kozlowski vinl1-supply: 119eca8c5fcSKrzysztof Kozlowski description: Power supply for LDO3, LDO10, LDO26, LDO27 120eca8c5fcSKrzysztof Kozlowski vinl2-supply: 121eca8c5fcSKrzysztof Kozlowski description: Power supply for LDO13, LDO16, LDO25, LDO28 122eca8c5fcSKrzysztof Kozlowski vinl3-supply: 123eca8c5fcSKrzysztof Kozlowski description: Power supply for LDO11, LDO14 124eca8c5fcSKrzysztof Kozlowski vinl4-supply: 125eca8c5fcSKrzysztof Kozlowski description: Power supply for LDO4, LDO9 126eca8c5fcSKrzysztof Kozlowski vinl5-supply: 127eca8c5fcSKrzysztof Kozlowski description: Power supply for LDO12, LDO17, LDO19, LDO23 128eca8c5fcSKrzysztof Kozlowski vinl6-supply: 129eca8c5fcSKrzysztof Kozlowski description: Power supply for LDO18, LDO20, LDO21, LDO24 130eca8c5fcSKrzysztof Kozlowski vinl7-supply: 131eca8c5fcSKrzysztof Kozlowski description: Power supply for LDO5, LDO22 132eca8c5fcSKrzysztof Kozlowski vinl8-supply: 133eca8c5fcSKrzysztof Kozlowski description: Power supply for LDO1, LDO6, LDO7, LDO8, LDO15 134eca8c5fcSKrzysztof Kozlowski vinl9-supply: 135eca8c5fcSKrzysztof Kozlowski description: Power supply for LDO2 136eca8c5fcSKrzysztof Kozlowski 1379aefe3fbSKrzysztof Kozlowski wakeup-source: true 1389aefe3fbSKrzysztof Kozlowski 1399aefe3fbSKrzysztof Kozlowskirequired: 1409aefe3fbSKrzysztof Kozlowski - compatible 1419aefe3fbSKrzysztof Kozlowski - reg 1429aefe3fbSKrzysztof Kozlowski - regulators 1439aefe3fbSKrzysztof Kozlowski - s5m8767,pmic-buck-ds-gpios 1449aefe3fbSKrzysztof Kozlowski 1459aefe3fbSKrzysztof Kozlowskidependencies: 1469aefe3fbSKrzysztof Kozlowski s5m8767,pmic-buck2-dvs-voltage: [ 's5m8767,pmic-buck-dvs-gpios' ] 1479aefe3fbSKrzysztof Kozlowski s5m8767,pmic-buck3-dvs-voltage: [ 's5m8767,pmic-buck-dvs-gpios' ] 1489aefe3fbSKrzysztof Kozlowski s5m8767,pmic-buck4-dvs-voltage: [ 's5m8767,pmic-buck-dvs-gpios' ] 1499aefe3fbSKrzysztof Kozlowski s5m8767,pmic-buck2-uses-gpio-dvs: [ 's5m8767,pmic-buck-dvs-gpios', 's5m8767,pmic-buck2-dvs-voltage' ] 1509aefe3fbSKrzysztof Kozlowski s5m8767,pmic-buck3-uses-gpio-dvs: [ 's5m8767,pmic-buck-dvs-gpios', 's5m8767,pmic-buck3-dvs-voltage' ] 1519aefe3fbSKrzysztof Kozlowski s5m8767,pmic-buck4-uses-gpio-dvs: [ 's5m8767,pmic-buck-dvs-gpios', 's5m8767,pmic-buck4-dvs-voltage' ] 1529aefe3fbSKrzysztof Kozlowski 1539aefe3fbSKrzysztof KozlowskiadditionalProperties: false 1549aefe3fbSKrzysztof Kozlowski 1559aefe3fbSKrzysztof KozlowskiallOf: 156*7c8cb341SKrzysztof Kozlowski - not: 1579aefe3fbSKrzysztof Kozlowski required: 1589aefe3fbSKrzysztof Kozlowski - s5m8767,pmic-buck2-uses-gpio-dvs 159*7c8cb341SKrzysztof Kozlowski - s5m8767,pmic-buck3-uses-gpio-dvs 160*7c8cb341SKrzysztof Kozlowski - not: 161*7c8cb341SKrzysztof Kozlowski required: 162*7c8cb341SKrzysztof Kozlowski - s5m8767,pmic-buck2-uses-gpio-dvs 163*7c8cb341SKrzysztof Kozlowski - s5m8767,pmic-buck4-uses-gpio-dvs 164*7c8cb341SKrzysztof Kozlowski - not: 1659aefe3fbSKrzysztof Kozlowski required: 1669aefe3fbSKrzysztof Kozlowski - s5m8767,pmic-buck3-uses-gpio-dvs 1679aefe3fbSKrzysztof Kozlowski - s5m8767,pmic-buck4-uses-gpio-dvs 1689aefe3fbSKrzysztof Kozlowski 1699aefe3fbSKrzysztof Kozlowskiexamples: 1709aefe3fbSKrzysztof Kozlowski - | 1719aefe3fbSKrzysztof Kozlowski #include <dt-bindings/gpio/gpio.h> 1729aefe3fbSKrzysztof Kozlowski #include <dt-bindings/interrupt-controller/irq.h> 1739aefe3fbSKrzysztof Kozlowski 1749aefe3fbSKrzysztof Kozlowski i2c { 1759aefe3fbSKrzysztof Kozlowski #address-cells = <1>; 1769aefe3fbSKrzysztof Kozlowski #size-cells = <0>; 1779aefe3fbSKrzysztof Kozlowski 1789aefe3fbSKrzysztof Kozlowski pmic@66 { 1799aefe3fbSKrzysztof Kozlowski compatible = "samsung,s5m8767-pmic"; 1809aefe3fbSKrzysztof Kozlowski reg = <0x66>; 1819aefe3fbSKrzysztof Kozlowski 1829aefe3fbSKrzysztof Kozlowski interrupt-parent = <&gpx3>; 1839aefe3fbSKrzysztof Kozlowski interrupts = <2 IRQ_TYPE_LEVEL_LOW>; 1849aefe3fbSKrzysztof Kozlowski pinctrl-names = "default"; 1859aefe3fbSKrzysztof Kozlowski pinctrl-0 = <&s5m8767_irq &s5m8767_dvs &s5m8767_ds>; 1869aefe3fbSKrzysztof Kozlowski wakeup-source; 1879aefe3fbSKrzysztof Kozlowski 1889aefe3fbSKrzysztof Kozlowski s5m8767,pmic-buck-default-dvs-idx = <3>; 1899aefe3fbSKrzysztof Kozlowski s5m8767,pmic-buck2-uses-gpio-dvs; 1909aefe3fbSKrzysztof Kozlowski 1919aefe3fbSKrzysztof Kozlowski s5m8767,pmic-buck-dvs-gpios = <&gpd1 0 GPIO_ACTIVE_LOW>, 1929aefe3fbSKrzysztof Kozlowski <&gpd1 1 GPIO_ACTIVE_LOW>, 1939aefe3fbSKrzysztof Kozlowski <&gpd1 2 GPIO_ACTIVE_LOW>; 1949aefe3fbSKrzysztof Kozlowski 1959aefe3fbSKrzysztof Kozlowski s5m8767,pmic-buck-ds-gpios = <&gpx2 3 GPIO_ACTIVE_LOW>, 1969aefe3fbSKrzysztof Kozlowski <&gpx2 4 GPIO_ACTIVE_LOW>, 1979aefe3fbSKrzysztof Kozlowski <&gpx2 5 GPIO_ACTIVE_LOW>; 1989aefe3fbSKrzysztof Kozlowski 1999aefe3fbSKrzysztof Kozlowski s5m8767,pmic-buck2-dvs-voltage = <1350000>, <1300000>, 2009aefe3fbSKrzysztof Kozlowski <1250000>, <1200000>, 2019aefe3fbSKrzysztof Kozlowski <1150000>, <1100000>, 2029aefe3fbSKrzysztof Kozlowski <1000000>, <950000>; 2039aefe3fbSKrzysztof Kozlowski 2049aefe3fbSKrzysztof Kozlowski s5m8767,pmic-buck3-dvs-voltage = <1100000>, <1100000>, 2059aefe3fbSKrzysztof Kozlowski <1100000>, <1100000>, 2069aefe3fbSKrzysztof Kozlowski <1000000>, <1000000>, 2079aefe3fbSKrzysztof Kozlowski <1000000>, <1000000>; 2089aefe3fbSKrzysztof Kozlowski 2099aefe3fbSKrzysztof Kozlowski s5m8767,pmic-buck4-dvs-voltage = <1200000>, <1200000>, 2109aefe3fbSKrzysztof Kozlowski <1200000>, <1200000>, 2119aefe3fbSKrzysztof Kozlowski <1200000>, <1200000>, 2129aefe3fbSKrzysztof Kozlowski <1200000>, <1200000>; 2139aefe3fbSKrzysztof Kozlowski 2149aefe3fbSKrzysztof Kozlowski clocks { 2159aefe3fbSKrzysztof Kozlowski compatible = "samsung,s5m8767-clk"; 2169aefe3fbSKrzysztof Kozlowski #clock-cells = <1>; 2179aefe3fbSKrzysztof Kozlowski clock-output-names = "en32khz_ap", "en32khz_cp", "en32khz_bt"; 2189aefe3fbSKrzysztof Kozlowski }; 2199aefe3fbSKrzysztof Kozlowski 2209aefe3fbSKrzysztof Kozlowski regulators { 2219aefe3fbSKrzysztof Kozlowski LDO1 { 2229aefe3fbSKrzysztof Kozlowski regulator-name = "VDD_ALIVE"; 2239aefe3fbSKrzysztof Kozlowski regulator-min-microvolt = <1100000>; 2249aefe3fbSKrzysztof Kozlowski regulator-max-microvolt = <1100000>; 2259aefe3fbSKrzysztof Kozlowski regulator-always-on; 2269aefe3fbSKrzysztof Kozlowski regulator-boot-on; 2279aefe3fbSKrzysztof Kozlowski op_mode = <1>; /* Normal Mode */ 2289aefe3fbSKrzysztof Kozlowski }; 2299aefe3fbSKrzysztof Kozlowski 2309aefe3fbSKrzysztof Kozlowski // ... 2319aefe3fbSKrzysztof Kozlowski 2329aefe3fbSKrzysztof Kozlowski BUCK1 { 2339aefe3fbSKrzysztof Kozlowski regulator-name = "VDD_MIF"; 2349aefe3fbSKrzysztof Kozlowski regulator-min-microvolt = <950000>; 2359aefe3fbSKrzysztof Kozlowski regulator-max-microvolt = <1100000>; 2369aefe3fbSKrzysztof Kozlowski regulator-always-on; 2379aefe3fbSKrzysztof Kozlowski regulator-boot-on; 2389aefe3fbSKrzysztof Kozlowski op_mode = <1>; /* Normal Mode */ 2399aefe3fbSKrzysztof Kozlowski }; 2409aefe3fbSKrzysztof Kozlowski 2419aefe3fbSKrzysztof Kozlowski BUCK2 { 2429aefe3fbSKrzysztof Kozlowski regulator-name = "VDD_ARM"; 2439aefe3fbSKrzysztof Kozlowski regulator-min-microvolt = <900000>; 2449aefe3fbSKrzysztof Kozlowski regulator-max-microvolt = <1350000>; 2459aefe3fbSKrzysztof Kozlowski regulator-always-on; 2469aefe3fbSKrzysztof Kozlowski regulator-boot-on; 2479aefe3fbSKrzysztof Kozlowski op_mode = <1>; /* Normal Mode */ 2489aefe3fbSKrzysztof Kozlowski }; 2499aefe3fbSKrzysztof Kozlowski 2509aefe3fbSKrzysztof Kozlowski // ... 2519aefe3fbSKrzysztof Kozlowski }; 2529aefe3fbSKrzysztof Kozlowski }; 2539aefe3fbSKrzysztof Kozlowski }; 2549aefe3fbSKrzysztof Kozlowski 2559aefe3fbSKrzysztof Kozlowski - | 2569aefe3fbSKrzysztof Kozlowski #include <dt-bindings/gpio/gpio.h> 2579aefe3fbSKrzysztof Kozlowski #include <dt-bindings/interrupt-controller/irq.h> 2589aefe3fbSKrzysztof Kozlowski 2599aefe3fbSKrzysztof Kozlowski i2c { 2609aefe3fbSKrzysztof Kozlowski #address-cells = <1>; 2619aefe3fbSKrzysztof Kozlowski #size-cells = <0>; 2629aefe3fbSKrzysztof Kozlowski 2639aefe3fbSKrzysztof Kozlowski pmic@66 { 2649aefe3fbSKrzysztof Kozlowski compatible = "samsung,s5m8767-pmic"; 2659aefe3fbSKrzysztof Kozlowski reg = <0x66>; 2669aefe3fbSKrzysztof Kozlowski 2679aefe3fbSKrzysztof Kozlowski interrupt-parent = <&gpx3>; 2689aefe3fbSKrzysztof Kozlowski interrupts = <2 IRQ_TYPE_LEVEL_LOW>; 2699aefe3fbSKrzysztof Kozlowski pinctrl-names = "default"; 2709aefe3fbSKrzysztof Kozlowski pinctrl-0 = <&s5m8767_irq &s5m8767_dvs &s5m8767_ds>; 2719aefe3fbSKrzysztof Kozlowski wakeup-source; 2729aefe3fbSKrzysztof Kozlowski 2739aefe3fbSKrzysztof Kozlowski s5m8767,pmic-buck-ds-gpios = <&gpx2 3 GPIO_ACTIVE_LOW>, 2749aefe3fbSKrzysztof Kozlowski <&gpx2 4 GPIO_ACTIVE_LOW>, 2759aefe3fbSKrzysztof Kozlowski <&gpx2 5 GPIO_ACTIVE_LOW>; 2769aefe3fbSKrzysztof Kozlowski 2779aefe3fbSKrzysztof Kozlowski clocks { 2789aefe3fbSKrzysztof Kozlowski compatible = "samsung,s5m8767-clk"; 2799aefe3fbSKrzysztof Kozlowski #clock-cells = <1>; 2809aefe3fbSKrzysztof Kozlowski clock-output-names = "en32khz_ap", "en32khz_cp", "en32khz_bt"; 2819aefe3fbSKrzysztof Kozlowski }; 2829aefe3fbSKrzysztof Kozlowski 2839aefe3fbSKrzysztof Kozlowski regulators { 2849aefe3fbSKrzysztof Kozlowski LDO1 { 2859aefe3fbSKrzysztof Kozlowski regulator-name = "VDD_ALIVE"; 2869aefe3fbSKrzysztof Kozlowski regulator-min-microvolt = <1100000>; 2879aefe3fbSKrzysztof Kozlowski regulator-max-microvolt = <1100000>; 2889aefe3fbSKrzysztof Kozlowski regulator-always-on; 2899aefe3fbSKrzysztof Kozlowski regulator-boot-on; 2909aefe3fbSKrzysztof Kozlowski op_mode = <1>; /* Normal Mode */ 2919aefe3fbSKrzysztof Kozlowski }; 2929aefe3fbSKrzysztof Kozlowski 2939aefe3fbSKrzysztof Kozlowski // ... 2949aefe3fbSKrzysztof Kozlowski }; 2959aefe3fbSKrzysztof Kozlowski }; 2969aefe3fbSKrzysztof Kozlowski }; 297