Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dt-bindings: regulator/mfd: Reorganize S5M8767 bindings

The regulator/s5m8767-regulator.txt duplicates some of the information
about bindings with old mfd/s2mps11.txt. Now common part exists entirely
in mfd/samsung,sec-core.txt so:
- add company prefix to file name (regulator/samsung,s5m8767.txt),
- remove duplicated information,
- reorganize the contents to match style of
regulator/samsung,s2mps11.txt.

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Acked-by: Mark Brown <broonie@kernel.org>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>

authored by

Krzysztof Kozlowski and committed by
Lee Jones
27383ca9 a13c7c51

+149 -165
+3 -1
Documentation/devicetree/bindings/mfd/samsung,sec-core.txt
··· 14 14 This document describes bindings for main device node. Optional sub-blocks 15 15 must be a sub-nodes to it. Bindings for them can be found in: 16 16 - bindings/regulator/samsung,s2mps11.txt 17 + - bindings/regulator/samsung,s5m8767.txt 17 18 - bindings/clock/samsung,s2mps11.txt 18 19 19 20 ··· 24 23 - "samsung,s2mps13-pmic", 25 24 - "samsung,s2mps14-pmic", 26 25 - "samsung,s2mps15-pmic", 27 - - "samsung,s2mpu02-pmic". 26 + - "samsung,s2mpu02-pmic", 27 + - "samsung,s5m8767-pmic". 28 28 - reg: Specifies the I2C slave address of the pmic block. It should be 0x66. 29 29 30 30 Optional properties:
-163
Documentation/devicetree/bindings/regulator/s5m8767-regulator.txt
··· 1 - * Samsung S5M8767 Voltage and Current Regulator 2 - 3 - The Samsung S5M8767 is a multi-function device which includes voltage and 4 - current regulators, rtc, charger controller and other sub-blocks. It is 5 - interfaced to the host controller using a i2c interface. Each sub-block is 6 - addressed by the host system using different i2c slave address. This document 7 - describes the bindings for 'pmic' sub-block of s5m8767. 8 - 9 - Required properties: 10 - - compatible: Should be "samsung,s5m8767-pmic". 11 - - reg: Specifies the i2c slave address of the pmic block. It should be 0x66. 12 - 13 - - s5m8767,pmic-buck2-dvs-voltage: A set of 8 voltage values in micro-volt (uV) 14 - units for buck2 when changing voltage using gpio dvs. Refer to [1] below 15 - for additional information. 16 - 17 - - s5m8767,pmic-buck3-dvs-voltage: A set of 8 voltage values in micro-volt (uV) 18 - units for buck3 when changing voltage using gpio dvs. Refer to [1] below 19 - for additional information. 20 - 21 - - s5m8767,pmic-buck4-dvs-voltage: A set of 8 voltage values in micro-volt (uV) 22 - units for buck4 when changing voltage using gpio dvs. Refer to [1] below 23 - for additional information. 24 - 25 - - s5m8767,pmic-buck-ds-gpios: GPIO specifiers for three host gpio's used 26 - for selecting GPIO DVS lines. It is one-to-one mapped to dvs gpio lines. 27 - 28 - [1] If none of the 's5m8767,pmic-buck[2/3/4]-uses-gpio-dvs' optional 29 - property is specified, the 's5m8767,pmic-buck[2/3/4]-dvs-voltage' 30 - property should specify atleast one voltage level (which would be a 31 - safe operating voltage). 32 - 33 - If either of the 's5m8767,pmic-buck[2/3/4]-uses-gpio-dvs' optional 34 - property is specified, then all the eight voltage values for the 35 - 's5m8767,pmic-buck[2/3/4]-dvs-voltage' should be specified. 36 - 37 - Optional properties: 38 - - interrupt-parent: Specifies the phandle of the interrupt controller to which 39 - the interrupts from s5m8767 are delivered to. 40 - - interrupts: Interrupt specifiers for two interrupt sources. 41 - - First interrupt specifier is for 'irq1' interrupt. 42 - - Second interrupt specifier is for 'alert' interrupt. 43 - - s5m8767,pmic-buck2-uses-gpio-dvs: 'buck2' can be controlled by gpio dvs. 44 - - s5m8767,pmic-buck3-uses-gpio-dvs: 'buck3' can be controlled by gpio dvs. 45 - - s5m8767,pmic-buck4-uses-gpio-dvs: 'buck4' can be controlled by gpio dvs. 46 - 47 - Additional properties required if either of the optional properties are used: 48 - 49 - - s5m8767,pmic-buck234-default-dvs-idx: Default voltage setting selected from 50 - the possible 8 options selectable by the dvs gpios. The value of this 51 - property should be between 0 and 7. If not specified or if out of range, the 52 - default value of this property is set to 0. 53 - 54 - - s5m8767,pmic-buck-dvs-gpios: GPIO specifiers for three host gpio's used 55 - for dvs. The format of the gpio specifier depends in the gpio controller. 56 - 57 - Regulators: The regulators of s5m8767 that have to be instantiated should be 58 - included in a sub-node named 'regulators'. Regulator nodes included in this 59 - sub-node should be of the format as listed below. 60 - 61 - regulator_name { 62 - ldo1_reg: LDO1 { 63 - regulator-name = "VDD_ALIVE_1.0V"; 64 - regulator-min-microvolt = <1100000>; 65 - regulator-max-microvolt = <1100000>; 66 - regulator-always-on; 67 - regulator-boot-on; 68 - op_mode = <1>; /* Normal Mode */ 69 - }; 70 - }; 71 - The above regulator entries are defined in regulator bindings documentation 72 - except these properties: 73 - - op_mode: describes the different operating modes of the LDO's with 74 - power mode change in SOC. The different possible values are, 75 - 0 - always off mode 76 - 1 - on in normal mode 77 - 2 - low power mode 78 - 3 - suspend mode 79 - - s5m8767,pmic-ext-control-gpios: (optional) GPIO specifier for one 80 - GPIO controlling this regulator (enable/disable); This is 81 - valid only for buck9. 82 - 83 - The following are the names of the regulators that the s5m8767 pmic block 84 - supports. Note: The 'n' in LDOn and BUCKn represents the LDO or BUCK number 85 - as per the datasheet of s5m8767. 86 - 87 - - LDOn 88 - - valid values for n are 1 to 28 89 - - Example: LDO1, LDO2, LDO28 90 - - BUCKn 91 - - valid values for n are 1 to 9. 92 - - Example: BUCK1, BUCK2, BUCK9 93 - 94 - The bindings inside the regulator nodes use the standard regulator bindings 95 - which are documented elsewhere. 96 - 97 - Example: 98 - 99 - s5m8767_pmic@66 { 100 - compatible = "samsung,s5m8767-pmic"; 101 - reg = <0x66>; 102 - 103 - s5m8767,pmic-buck2-uses-gpio-dvs; 104 - s5m8767,pmic-buck3-uses-gpio-dvs; 105 - s5m8767,pmic-buck4-uses-gpio-dvs; 106 - 107 - s5m8767,pmic-buck-default-dvs-idx = <0>; 108 - 109 - s5m8767,pmic-buck-dvs-gpios = <&gpx0 0 0>, /* DVS1 */ 110 - <&gpx0 1 0>, /* DVS2 */ 111 - <&gpx0 2 0>; /* DVS3 */ 112 - 113 - s5m8767,pmic-buck-ds-gpios = <&gpx2 3 0>, /* SET1 */ 114 - <&gpx2 4 0>, /* SET2 */ 115 - <&gpx2 5 0>; /* SET3 */ 116 - 117 - s5m8767,pmic-buck2-dvs-voltage = <1350000>, <1300000>, 118 - <1250000>, <1200000>, 119 - <1150000>, <1100000>, 120 - <1000000>, <950000>; 121 - 122 - s5m8767,pmic-buck3-dvs-voltage = <1100000>, <1100000>, 123 - <1100000>, <1100000>, 124 - <1000000>, <1000000>, 125 - <1000000>, <1000000>; 126 - 127 - s5m8767,pmic-buck4-dvs-voltage = <1200000>, <1200000>, 128 - <1200000>, <1200000>, 129 - <1200000>, <1200000>, 130 - <1200000>, <1200000>; 131 - 132 - regulators { 133 - ldo1_reg: LDO1 { 134 - regulator-name = "VDD_ABB_3.3V"; 135 - regulator-min-microvolt = <3300000>; 136 - regulator-max-microvolt = <3300000>; 137 - op_mode = <1>; /* Normal Mode */ 138 - }; 139 - 140 - ldo2_reg: LDO2 { 141 - regulator-name = "VDD_ALIVE_1.1V"; 142 - regulator-min-microvolt = <1100000>; 143 - regulator-max-microvolt = <1100000>; 144 - regulator-always-on; 145 - }; 146 - 147 - buck1_reg: BUCK1 { 148 - regulator-name = "VDD_MIF_1.2V"; 149 - regulator-min-microvolt = <950000>; 150 - regulator-max-microvolt = <1350000>; 151 - regulator-always-on; 152 - regulator-boot-on; 153 - }; 154 - 155 - vemmc_reg: BUCK9 { 156 - regulator-name = "VMEM_VDD_2.8V"; 157 - regulator-min-microvolt = <2800000>; 158 - regulator-max-microvolt = <2800000>; 159 - op_mode = <3>; /* Standby Mode */ 160 - s5m8767,pmic-ext-control-gpios = <&gpk0 2 0>; 161 - }; 162 - }; 163 - };
+145
Documentation/devicetree/bindings/regulator/samsung,s5m8767.txt
··· 1 + Binding for Samsung S5M8767 regulator block 2 + =========================================== 3 + 4 + This is a part of device tree bindings for S5M family multi-function devices. 5 + More information can be found in bindings/mfd/sec-core.txt file. 6 + 7 + The S5M8767 device provide buck and LDO regulators. 8 + 9 + To register these with regulator framework instantiate under main device node 10 + a sub-node named "regulators" with more sub-nodes for each regulator using the 11 + common regulator binding documented in: 12 + - Documentation/devicetree/bindings/regulator/regulator.txt 13 + 14 + 15 + Required properties of the main device node (the parent!): 16 + - s5m8767,pmic-buck2-dvs-voltage: A set of 8 voltage values in micro-volt (uV) 17 + units for buck2 when changing voltage using gpio dvs. Refer to [1] below 18 + for additional information. 19 + 20 + - s5m8767,pmic-buck3-dvs-voltage: A set of 8 voltage values in micro-volt (uV) 21 + units for buck3 when changing voltage using gpio dvs. Refer to [1] below 22 + for additional information. 23 + 24 + - s5m8767,pmic-buck4-dvs-voltage: A set of 8 voltage values in micro-volt (uV) 25 + units for buck4 when changing voltage using gpio dvs. Refer to [1] below 26 + for additional information. 27 + 28 + - s5m8767,pmic-buck-ds-gpios: GPIO specifiers for three host gpio's used 29 + for selecting GPIO DVS lines. It is one-to-one mapped to dvs gpio lines. 30 + 31 + [1] If none of the 's5m8767,pmic-buck[2/3/4]-uses-gpio-dvs' optional 32 + property is specified, the 's5m8767,pmic-buck[2/3/4]-dvs-voltage' 33 + property should specify atleast one voltage level (which would be a 34 + safe operating voltage). 35 + 36 + If either of the 's5m8767,pmic-buck[2/3/4]-uses-gpio-dvs' optional 37 + property is specified, then all the eight voltage values for the 38 + 's5m8767,pmic-buck[2/3/4]-dvs-voltage' should be specified. 39 + 40 + Optional properties of the main device node (the parent!): 41 + - s5m8767,pmic-buck2-uses-gpio-dvs: 'buck2' can be controlled by gpio dvs. 42 + - s5m8767,pmic-buck3-uses-gpio-dvs: 'buck3' can be controlled by gpio dvs. 43 + - s5m8767,pmic-buck4-uses-gpio-dvs: 'buck4' can be controlled by gpio dvs. 44 + 45 + Additional properties required if either of the optional properties are used: 46 + 47 + - s5m8767,pmic-buck234-default-dvs-idx: Default voltage setting selected from 48 + the possible 8 options selectable by the dvs gpios. The value of this 49 + property should be between 0 and 7. If not specified or if out of range, the 50 + default value of this property is set to 0. 51 + 52 + - s5m8767,pmic-buck-dvs-gpios: GPIO specifiers for three host gpio's used 53 + for dvs. The format of the gpio specifier depends in the gpio controller. 54 + 55 + 56 + Names of regulators supported by S5M8767 device: 57 + - LDOn 58 + - valid values for n are 1 to 28 59 + - Example: LDO1, LDO2, LDO28 60 + - BUCKn 61 + - valid values for n are 1 to 9. 62 + - Example: BUCK1, BUCK2, BUCK9 63 + Note: The 'n' in LDOn and BUCKn represents the LDO or BUCK number 64 + as per the datasheet of device. 65 + 66 + 67 + Optional properties of the nodes under "regulators" sub-node: 68 + - op_mode: describes the different operating modes of the LDO's with 69 + power mode change in SOC. The different possible values are, 70 + 0 - always off mode 71 + 1 - on in normal mode 72 + 2 - low power mode 73 + 3 - suspend mode 74 + - s5m8767,pmic-ext-control-gpios: (optional) GPIO specifier for one 75 + GPIO controlling this regulator 76 + (enable/disable); This is valid only 77 + for buck9. 78 + 79 + Example: 80 + 81 + s5m8767_pmic@66 { 82 + compatible = "samsung,s5m8767-pmic"; 83 + reg = <0x66>; 84 + 85 + s5m8767,pmic-buck2-uses-gpio-dvs; 86 + s5m8767,pmic-buck3-uses-gpio-dvs; 87 + s5m8767,pmic-buck4-uses-gpio-dvs; 88 + 89 + s5m8767,pmic-buck-default-dvs-idx = <0>; 90 + 91 + s5m8767,pmic-buck-dvs-gpios = <&gpx0 0 0>, /* DVS1 */ 92 + <&gpx0 1 0>, /* DVS2 */ 93 + <&gpx0 2 0>; /* DVS3 */ 94 + 95 + s5m8767,pmic-buck-ds-gpios = <&gpx2 3 0>, /* SET1 */ 96 + <&gpx2 4 0>, /* SET2 */ 97 + <&gpx2 5 0>; /* SET3 */ 98 + 99 + s5m8767,pmic-buck2-dvs-voltage = <1350000>, <1300000>, 100 + <1250000>, <1200000>, 101 + <1150000>, <1100000>, 102 + <1000000>, <950000>; 103 + 104 + s5m8767,pmic-buck3-dvs-voltage = <1100000>, <1100000>, 105 + <1100000>, <1100000>, 106 + <1000000>, <1000000>, 107 + <1000000>, <1000000>; 108 + 109 + s5m8767,pmic-buck4-dvs-voltage = <1200000>, <1200000>, 110 + <1200000>, <1200000>, 111 + <1200000>, <1200000>, 112 + <1200000>, <1200000>; 113 + 114 + regulators { 115 + ldo1_reg: LDO1 { 116 + regulator-name = "VDD_ABB_3.3V"; 117 + regulator-min-microvolt = <3300000>; 118 + regulator-max-microvolt = <3300000>; 119 + op_mode = <1>; /* Normal Mode */ 120 + }; 121 + 122 + ldo2_reg: LDO2 { 123 + regulator-name = "VDD_ALIVE_1.1V"; 124 + regulator-min-microvolt = <1100000>; 125 + regulator-max-microvolt = <1100000>; 126 + regulator-always-on; 127 + }; 128 + 129 + buck1_reg: BUCK1 { 130 + regulator-name = "VDD_MIF_1.2V"; 131 + regulator-min-microvolt = <950000>; 132 + regulator-max-microvolt = <1350000>; 133 + regulator-always-on; 134 + regulator-boot-on; 135 + }; 136 + 137 + vemmc_reg: BUCK9 { 138 + regulator-name = "VMEM_VDD_2.8V"; 139 + regulator-min-microvolt = <2800000>; 140 + regulator-max-microvolt = <2800000>; 141 + op_mode = <3>; /* Standby Mode */ 142 + s5m8767,pmic-ext-control-gpios = <&gpk0 2 0>; 143 + }; 144 + }; 145 + };
+1 -1
MAINTAINERS
··· 9223 9223 F: drivers/clk/clk-s2mps11.c 9224 9224 F: drivers/rtc/rtc-s5m.c 9225 9225 F: include/linux/mfd/samsung/ 9226 - F: Documentation/devicetree/bindings/regulator/s5m8767-regulator.txt 9227 9226 F: Documentation/devicetree/bindings/mfd/samsung,sec-core.txt 9228 9227 F: Documentation/devicetree/bindings/regulator/samsung,s2m*.txt 9228 + F: Documentation/devicetree/bindings/regulator/samsung,s5m*.txt 9229 9229 F: Documentation/devicetree/bindings/clock/samsung,s2mps11.txt 9230 9230 9231 9231 SAMSUNG S5P/EXYNOS4 SOC SERIES CAMERA SUBSYSTEM DRIVERS