Re: [PATCH 1/2] arm64: dts: exynos7: Add pmic s2mps15 device tree node

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 






On 11/02/2015 05:55 PM, Krzysztof Kozlowski wrote:
2015-11-02 19:04 GMT+09:00 Alim Akhtar <alim.akhtar@xxxxxxxxxxx>:
This patch add pmic (s2mps15) node of espresso board,

This patch adds PMIC (S2MPS15)...

which includes addition of regulators and pmic-clk sub-nodes.

Signed-off-by: Abhilash Kesavan <a.kesavan@xxxxxxxxxxx>
Signed-off-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx>
---
This patch should go in after driver side changes [1] lands.
[1]-> https://www.mail-archive.com/linux-samsung-soc@xxxxxxxxxxxxxxx/msg47736.html

Eh? Why? Usually there is not such requirement.

Got it, I just thought without driver changes these dts modification does not make sense. Thanks for clarification.

  arch/arm64/boot/dts/exynos/exynos7-espresso.dts |  349 +++++++++++++++++++++++
  1 file changed, 349 insertions(+)

diff --git a/arch/arm64/boot/dts/exynos/exynos7-espresso.dts b/arch/arm64/boot/dts/exynos/exynos7-espresso.dts
index 838a3626dac1..8ce04a0ec928 100644
--- a/arch/arm64/boot/dts/exynos/exynos7-espresso.dts
+++ b/arch/arm64/boot/dts/exynos/exynos7-espresso.dts
@@ -53,6 +53,355 @@
         status = "okay";
  };

+&hsi2c_4 {
+       samsung,i2c-sda-delay = <100>;
+       samsung,i2c-max-bus-freq = <200000>;
+       status = "okay";
+
+       s2mps15_pmic@66 {
+               compatible = "samsung,s2mps15-pmic";
+               reg = <0x66>;
+               interrupts = <2 0>;
+               interrupt-parent = <&gpa0>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pmic_irq>;
+               wakeup-source;
+
+               s2mps15_osc: clocks {
+                       compatible = "samsung,s2mps13-clk";
+                       #clock-cells = <1>;
+                       clock-output-names = "s2mps13_ap", "s2mps13_cp",
+                               "s2mps13_bt";
+               };

Don't you want to use one of these clocks for s3c-rtc (&rtc node)?

yes, you are right, rtc on this board is currently broken, mainly because of the introduction of rtc_src clock in the s3c-rtc driver.
That is on my do list next. will take a look.

Are you suggesting to remove this -clk node now and add along with rtc changes? I feel this should go in along with this patch.

+
+               regulators {
+                       ldo1_reg: LDO1 {
+                               regulator-name = "vdd_ldo1";
+                               regulator-min-microvolt = <500000>;
+                               regulator-max-microvolt = <900000>;
+                               regulator-always-on;
+                               regulator-enable-ramp-delay = <125>;
+                       };
+
+                       ldo2_reg: LDO2 {
+                               regulator-name = "vdd_ldo2";
+                               regulator-min-microvolt = <1620000>;
+                               regulator-max-microvolt = <3300000>;
+                               regulator-enable-ramp-delay = <125>;
+                               regulator-always-on;
+                       };
+
+                       ldo3_reg: LDO3 {
+                               regulator-name = "vdd_ldo3";
+                               regulator-min-microvolt = <1620000>;
+                               regulator-max-microvolt = <1980000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                               regulator-enable-ramp-delay = <125>;
+                       };
+
+                       ldo4_reg: LDO4 {
+                               regulator-name = "vdd_ldo4";
+                               regulator-min-microvolt = <800000>;
+                               regulator-max-microvolt = <1110000>;
+                               regulator-always-on;
+                               regulator-enable-ramp-delay = <125>;
+                       };
+
+                       ldo5_reg: LDO5 {
+                               regulator-name = "vdd_ldo5";
+                               regulator-min-microvolt = <1620000>;
+                               regulator-max-microvolt = <1980000>;
+                               regulator-always-on;
+                               regulator-enable-ramp-delay = <125>;
+                       };
+
+                       ldo6_reg: LDO6 {
+                               regulator-name = "vdd_ldo6";
+                               regulator-min-microvolt = <2250000>;
+                               regulator-max-microvolt = <3300000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                               regulator-enable-ramp-delay = <125>;
+                       };
+
+                       ldo7_reg: LDO7 {
+                               regulator-name = "vdd_ldo7";
+                               regulator-min-microvolt = <700000>;
+                               regulator-max-microvolt = <1150000>;
+                               regulator-always-on;
+                               regulator-enable-ramp-delay = <125>;
+                       };
+
+                       ldo8_reg: LDO8 {
+                               regulator-name = "vdd_ldo8";
+                               regulator-min-microvolt = <700000>;
+                               regulator-max-microvolt = <1000000>;
+                               regulator-always-on;
+                               regulator-enable-ramp-delay = <125>;
+                       };
+
+                       ldo9_reg: LDO9 {
+                               regulator-name = "vdd_ldo9";
+                               regulator-min-microvolt = <700000>;
+                               regulator-max-microvolt = <1000000>;
+                               regulator-always-on;
+                               regulator-enable-ramp-delay = <125>;
+                       };
+
+                       ldo10_reg: LDO10 {
+                               regulator-name = "vdd_ldo10";
+                               regulator-min-microvolt = <700000>;
+                               regulator-max-microvolt = <1000000>;
+                               regulator-always-on;
+                               regulator-enable-ramp-delay = <125>;
+                       };
+
+                       ldo11_reg: LDO11 {
+                               regulator-name = "vdd_ldo11";
+                               regulator-min-microvolt = <1000000>;
+                               regulator-max-microvolt = <1300000>;
+                               regulator-always-on;
+                               regulator-enable-ramp-delay = <125>;
+                       };
+
+                       ldo12_reg: LDO12 {
+                               regulator-name = "vdd_ldo12";
+                               regulator-min-microvolt = <1000000>;
+                               regulator-max-microvolt = <1300000>;
+                               regulator-always-on;
+                               regulator-enable-ramp-delay = <125>;
+                       };
+
+                       ldo13_reg: LDO13 {
+                               regulator-name = "vdd_ldo13";
+                               regulator-min-microvolt = <1000000>;
+                               regulator-max-microvolt = <1300000>;
+                               regulator-always-on;
+                               regulator-enable-ramp-delay = <125>;
+                       };
+
+                       ldo14_reg: LDO14 {
+                               regulator-name = "vdd_ldo14";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <3375000>;
+                               regulator-always-on;
+                               regulator-enable-ramp-delay = <125>;
+                       };
+
+                       ldo15_reg: LDO15 {
+                               regulator-name = "vdd_ldo15";
+                               regulator-min-microvolt = <1500000>;
+                               regulator-max-microvolt = <2275000>;
+                               regulator-always-on;
+                               regulator-enable-ramp-delay = <125>;
+                       };
+
+                       ldo16_reg: LDO16 {
+                               regulator-name = "vdd_ldo16";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-always-on;
+                               regulator-enable-ramp-delay = <125>;
+                       };
+
+                       ldo17_reg: LDO17 {
+                               regulator-name = "vdd_ldo17";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <3375000>;
+                               regulator-always-on;
+                               regulator-enable-ramp-delay = <125>;
+                       };
+
+                       ldo18_reg: LDO18 {
+                               regulator-name = "vdd_ldo18";
+                               regulator-min-microvolt = <1500000>;
+                               regulator-max-microvolt = <2275000>;
+                               regulator-always-on;
+                               regulator-enable-ramp-delay = <125>;
+                       };
+
+                       ldo19_reg: LDO19 {
+                               regulator-name = "vdd_ldo19";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <3375000>;
+                               regulator-always-on;
+                               regulator-enable-ramp-delay = <125>;
+                       };
+
+                       ldo20_reg: LDO20 {
+                               regulator-name = "vdd_ldo20";
+                               regulator-min-microvolt = <1500000>;
+                               regulator-max-microvolt = <2275000>;
+                               regulator-always-on;
+                               regulator-enable-ramp-delay = <125>;
+                       };
+
+                       ldo21_reg: LDO21 {
+                               regulator-name = "vdd_ldo21";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <3375000>;
+                               regulator-always-on;
+                               regulator-enable-ramp-delay = <125>;
+                       };
+
+                       ldo22_reg: LDO22 {
+                               regulator-name = "vdd_ldo22";
+                               regulator-min-microvolt = <1200000>;
+                               regulator-max-microvolt = <1200000>;
+                               regulator-always-on;
+                               regulator-enable-ramp-delay = <125>;
+                       };
+
+                       ldo23_reg: LDO23 {
+                               regulator-name = "vdd_ldo23";
+                               regulator-min-microvolt = <1500000>;
+                               regulator-max-microvolt = <2275000>;
+                               regulator-always-on;
+                               regulator-enable-ramp-delay = <125>;
+                       };
+
+                       ldo24_reg: LDO24 {
+                               regulator-name = "vdd_ldo24";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <3375000>;
+                               regulator-always-on;
+                               regulator-enable-ramp-delay = <125>;
+                       };
+
+                       ldo25_reg: LDO25 {
+                               regulator-name = "vdd_ldo25";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <3375000>;
+                               regulator-always-on;
+                               regulator-enable-ramp-delay = <125>;
+                       };
+
+                       ldo26_reg: LDO26 {
+                               regulator-name = "vdd_ldo26";
+                               regulator-min-microvolt = <700000>;
+                               regulator-max-microvolt = <1470000>;
+                               regulator-always-on;
+                               regulator-enable-ramp-delay = <125>;
+                       };
+
+                       ldo27_reg: LDO27 {
+                               regulator-name = "vdd_ldo27";
+                               regulator-min-microvolt = <1500000>;
+                               regulator-max-microvolt = <2275000>;
+                               regulator-always-on;
+                               regulator-enable-ramp-delay = <125>;
+                       };
+
+                       buck1_reg: BUCK1 {
+                               regulator-name = "vdd_mif";
+                               regulator-min-microvolt = <500000>;
+                               regulator-max-microvolt = <1200000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                               regulator-ramp-delay = <25000>;
+                               regulator-enable-ramp-delay = <250>;
+                       };
+
+                       buck2_reg: BUCK2 {
+                               regulator-name = "vdd_atlas";
+                               regulator-min-microvolt = <1200000>;
+                               regulator-max-microvolt = <1200000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                               regulator-ramp-delay = <12500>;
+                               regulator-enable-ramp-delay = <250>;
+                       };
+
+                       buck3_reg: BUCK3 {
+                               regulator-name = "vdd_apollo";
+                               regulator-min-microvolt = <1200000>;
+                               regulator-max-microvolt = <1200000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                               regulator-ramp-delay = <12500>;
+                               regulator-enable-ramp-delay = <250>;
+                       };
+
+                       buck4_reg: BUCK4 {
+                               regulator-name = "vdd_int";
+                               regulator-min-microvolt = <500000>;
+                               regulator-max-microvolt = <1200000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                               regulator-ramp-delay = <12500>;
+                               regulator-enable-ramp-delay = <250>;
+                       };
+
+                       buck5_reg: BUCK5 {
+                               regulator-name = "vdd_buck5";
+                               regulator-min-microvolt = <500000>;
+                               regulator-max-microvolt = <1300000>;
+                               regulator-always-on;
+                               regulator-ramp-delay = <25000>;
+                               regulator-enable-ramp-delay = <250>;
+                       };
+
+                       buck6_reg: BUCK6 {
+                               regulator-name = "vdd_g3d";
+                               regulator-min-microvolt = <500000>;
+                               regulator-max-microvolt = <1400000>;
+                               regulator-always-on;
+                               regulator-ramp-delay = <12500>;
+                               regulator-enable-ramp-delay = <250>;
+                       };
+
+                       buck7_reg: BUCK7 {
+                               regulator-name = "vdd_buck7";
+                               regulator-min-microvolt = <1000000>;
+                               regulator-max-microvolt = <1500000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                               regulator-ramp-delay = <25000>;
+                               regulator-enable-ramp-delay = <250>;
+                       };
+
+                       buck8_reg: BUCK8 {
+                               regulator-name = "vdd_buck8";
+                               regulator-min-microvolt = <1000000>;
+                               regulator-max-microvolt = <1500000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                               regulator-ramp-delay = <25000>;
+                               regulator-enable-ramp-delay = <250>;
+                       };
+
+                       buck9_reg: BUCK9 {
+                               regulator-name = "vdd_buck9";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <2100000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                               regulator-ramp-delay = <25000>;
+                               regulator-enable-ramp-delay = <250>;
+                       };
+
+                       buck10_reg: BUCK10 {
+                               regulator-name = "vdd_buck10";
+                               regulator-min-microvolt = <1000000>;
+                               regulator-max-microvolt = <3000000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                               regulator-ramp-delay = <25000>;
+                               regulator-enable-ramp-delay = <250>;
+                       };

All of these ldo3 and bucks in vendor tree for Espresso board have
ramp delay of 12000. Also they don't have enable-ramp-delay set and
voltages sometimes differ. I don't have S2MPS15 datasheet so I don't
know what is the true value... I'll leave it up to you but it looks
suspicious.

These values generally comes from our board design team, so I cann't really comment on that, it may vary from board revision etc. I will check if we have any updated version of recommended value and update accordingly.

+               };
+       };
+};

What will be the benefit of defining all of these regulators if they
are always on and without consumers? No one will disable them, no one
will change the voltage. Please provide some consumers.

As many drivers are not yet enabled in arm64 defconfig, that is one of the reason why we are not seeing many consumer for these nodes. This is the ground work being done for enabling those. If you insist will try to reduce what is being used now. Moreover this was used to verify functionality of pmic driver as well.


Best regards,
Krzysztof

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]
  Powered by Linux