mirror of
https://github.com/torvalds/linux.git
synced 2024-12-29 06:12:08 +00:00
a13c7c51fd
Bindings for Samsung S2M and S5M family PMICs are in mess. They are spread over different files and subdirectories in a non-consistent way. The devices and respective drivers for them share a lot in common so everything could be organized in a more readable way. Reorganize the S2MPS11/13/14/15 Device Tree bindings to match the drivers for this family of devices: - move mfd/s2mps11.txt to mfd/samsung,sec-core.txt for the main MFD driver (common for entire family), - split clock block to clock/samsung,s2mps11.txt, - split regulator block to regulator/samsung,s2mps11.txt. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com> Acked-by: Michael Turquette <mturquette@baylibre.com> Acked-by: Rob Herring <robh@kernel.org> Acked-by: Mark Brown <broonie@kernel.org> Signed-off-by: Lee Jones <lee.jones@linaro.org>
103 lines
2.9 KiB
Plaintext
103 lines
2.9 KiB
Plaintext
Binding for Samsung S2M family regulator block
|
|
==============================================
|
|
|
|
This is a part of device tree bindings for S2M family multi-function devices.
|
|
More information can be found in bindings/mfd/sec-core.txt file.
|
|
|
|
The S2MPS11/13/14/15 and S2MPU02 devices provide buck and LDO regulators.
|
|
|
|
To register these with regulator framework instantiate under main device node
|
|
a sub-node named "regulators" with more sub-nodes for each regulator using the
|
|
common regulator binding documented in:
|
|
- Documentation/devicetree/bindings/regulator/regulator.txt
|
|
|
|
|
|
Names of regulators supported by different devices:
|
|
- LDOn
|
|
- valid values for n are:
|
|
- S2MPS11: 1 to 38
|
|
- S2MPS13: 1 to 40
|
|
- S2MPS14: 1 to 25
|
|
- S2MPS15: 1 to 27
|
|
- S2MPU02: 1 to 28
|
|
- Example: LDO1, LDO2, LDO28
|
|
- BUCKn
|
|
- valid values for n are:
|
|
- S2MPS11: 1 to 10
|
|
- S2MPS13: 1 to 10
|
|
- S2MPS14: 1 to 5
|
|
- S2MPS15: 1 to 10
|
|
- S2MPU02: 1 to 7
|
|
- Example: BUCK1, BUCK2, BUCK9
|
|
Note: The 'n' in LDOn and BUCKn represents the LDO or BUCK number
|
|
as per the datasheet of device.
|
|
|
|
|
|
Optional properties of the nodes under "regulators" sub-node:
|
|
- regulator-ramp-delay: ramp delay in uV/us. May be 6250, 12500,
|
|
25000 (default) or 50000.
|
|
|
|
Additionally S2MPS11 supports disabling ramp delay for BUCK{2,3,4,6}
|
|
by setting it to <0>.
|
|
|
|
Note: On S2MPS11 some bucks share the ramp rate setting i.e. same ramp value
|
|
will be set for a particular group of bucks so provide the same
|
|
regulator-ramp-delay value for them.
|
|
Groups sharing ramp rate:
|
|
- buck{1,6},
|
|
- buck{3,4},
|
|
- buck{7,8,10}.
|
|
|
|
- samsung,ext-control-gpios: On S2MPS14 the LDO10, LDO11 and LDO12 can be
|
|
configured to external control over GPIO. To turn this feature on this
|
|
property must be added to the regulator sub-node:
|
|
- samsung,ext-control-gpios: GPIO specifier for one GPIO
|
|
controlling this regulator (enable/disable)
|
|
Example:
|
|
LDO12 {
|
|
regulator-name = "V_EMMC_2.8V";
|
|
regulator-min-microvolt = <2800000>;
|
|
regulator-max-microvolt = <2800000>;
|
|
samsung,ext-control-gpios = <&gpk0 2 0>;
|
|
};
|
|
|
|
|
|
Example:
|
|
|
|
s2mps11_pmic@66 {
|
|
compatible = "samsung,s2mps11-pmic";
|
|
reg = <0x66>;
|
|
|
|
regulators {
|
|
ldo1_reg: LDO1 {
|
|
regulator-name = "VDD_ABB_3.3V";
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
};
|
|
|
|
ldo2_reg: LDO2 {
|
|
regulator-name = "VDD_ALIVE_1.1V";
|
|
regulator-min-microvolt = <1100000>;
|
|
regulator-max-microvolt = <1100000>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
buck1_reg: BUCK1 {
|
|
regulator-name = "vdd_mif";
|
|
regulator-min-microvolt = <950000>;
|
|
regulator-max-microvolt = <1350000>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
};
|
|
|
|
buck2_reg: BUCK2 {
|
|
regulator-name = "vdd_arm";
|
|
regulator-min-microvolt = <950000>;
|
|
regulator-max-microvolt = <1350000>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
regulator-ramp-delay = <50000>;
|
|
};
|
|
};
|
|
};
|