123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- * Samsung S2MPS11 Voltage and Current Regulator
- The Samsung S2MP211 is a multi-function device which includes voltage and
- current regulators, RTC, charger controller and other sub-blocks. It is
- interfaced to the host controller using a I2C interface. Each sub-block is
- addressed by the host system using different I2C slave address.
- Required properties:
- - compatible: Should be "samsung,s2mps11-pmic".
- - reg: Specifies the I2C slave address of the pmic block. It should be 0x66.
- Optional properties:
- - interrupt-parent: Specifies the phandle of the interrupt controller to which
- the interrupts from s2mps11 are delivered to.
- - interrupts: Interrupt specifiers for interrupt sources.
- Optional nodes:
- - clocks: s2mps11 provides three(AP/CP/BT) buffered 32.768 KHz outputs, so to
- register these as clocks with common clock framework instantiate a sub-node
- named "clocks". It uses the common clock binding documented in :
- [Documentation/devicetree/bindings/clock/clock-bindings.txt]
- - #clock-cells: should be 1.
- - The following is the list of clocks generated by the controller. Each clock
- is assigned an identifier and client nodes use this identifier to specify
- the clock which they consume.
- Clock ID
- ----------------------
- 32KhzAP 0
- 32KhzCP 1
- 32KhzBT 2
- - regulators: The regulators of s2mps11 that have to be instantiated should be
- included in a sub-node named 'regulators'. Regulator nodes included in this
- sub-node should be of the format as listed below.
- regulator_name {
- [standard regulator constraints....];
- };
- regulator-ramp-delay for BUCKs = [6250/12500/25000(default)/50000] uV/us
- BUCK[2/3/4/6] supports disabling ramp delay on hardware, so explictly
- regulator-ramp-delay = <0> can be used for them to disable ramp delay.
- In absence of regulator-ramp-delay property, default ramp delay will be used.
- NOTE: Some BUCKs share the ramp rate setting i.e. same ramp value will be set
- for a particular group of BUCKs. So provide same regulator-ramp-delay<value>.
- Grouping of BUCKs sharing ramp rate setting is as follow : BUCK[1, 6],
- BUCK[3, 4], and BUCK[7, 8, 10]
- The regulator constraints inside the regulator nodes use the standard regulator
- bindings which are documented elsewhere.
- The following are the names of the regulators that the s2mps11 pmic block
- supports. Note: The 'n' in LDOn and BUCKn represents the LDO or BUCK number
- as per the datasheet of s2mps11.
- - LDOn
- - valid values for n are 1 to 28
- - Example: LDO0, LD01, LDO28
- - BUCKn
- - valid values for n are 1 to 9.
- - Example: BUCK1, BUCK2, BUCK9
- Example:
- s2mps11_pmic@66 {
- compatible = "samsung,s2mps11-pmic";
- reg = <0x66>;
- s2m_osc: clocks{
- #clock-cells = 1;
- clock-output-names = "xx", "yy", "zz";
- };
- 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>;
- };
- };
- };
|