]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
ARM: dts: microchip: sama7d65: Add MCP16502 to sama7d65 curiosity
authorRyan Wanner <Ryan.Wanner@microchip.com>
Tue, 1 Apr 2025 16:13:21 +0000 (09:13 -0700)
committerClaudiu Beznea <claudiu.beznea@tuxon.dev>
Fri, 16 May 2025 05:31:28 +0000 (08:31 +0300)
Add MCP16502 to the sama7d65_curiosity board to control voltages in the
MPU. The device is connected to twi 10 interface

Signed-off-by: Ryan Wanner <Ryan.Wanner@microchip.com>
Link: https://lore.kernel.org/r/60f6b7764227bb42c74404e8ca1388477183b7b5.1743523114.git.Ryan.Wanner@microchip.com
[claudiu.beznea: drop regulator-suspend-voltage for ldo2 as it is not
 needed]
Signed-off-by: Claudiu Beznea <claudiu.beznea@tuxon.dev>
arch/arm/boot/dts/microchip/at91-sama7d65_curiosity.dts

index d70835b7d0d56942f5e315a0ec4fd17167c81294..548c438bc03d61f90365510c0530a7b84d076fc1 100644 (file)
                device_type = "memory";
                reg = <0x60000000 0x40000000>;
        };
+
+       reg_5v: regulator-5v {
+               compatible = "regulator-fixed";
+               regulator-name = "5V_MAIN";
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+               regulator-always-on;
+       };
+
 };
 
 &dma0 {
                        label = "VDDCPU";
                };
        };
+
+       pmic@5b {
+               compatible = "microchip,mcp16502";
+               reg = <0x5b>;
+               lvin-supply = <&reg_5v>;
+               pvin1-supply = <&reg_5v>;
+               pvin2-supply = <&reg_5v>;
+               pvin3-supply = <&reg_5v>;
+               pvin4-supply = <&reg_5v>;
+               status = "okay";
+
+               regulators {
+                       vdd_3v3: VDD_IO {
+                               regulator-name = "VDD_IO";
+                               regulator-min-microvolt = <3300000>;
+                               regulator-max-microvolt = <3300000>;
+                               regulator-initial-mode = <2>;
+                               regulator-allowed-modes = <2>, <4>;
+                               regulator-always-on;
+
+                               regulator-state-standby {
+                                       regulator-on-in-suspend;
+                                       regulator-suspend-microvolt = <3300000>;
+                                       regulator-mode = <4>;
+                               };
+
+                               regulator-state-mem {
+                                       regulator-off-in-suspend;
+                                       regulator-mode = <4>;
+                               };
+                       };
+
+                       vddioddr: VDD_DDR {
+                               regulator-name = "VDD_DDR";
+                               regulator-min-microvolt = <1350000>;
+                               regulator-max-microvolt = <1350000>;
+                               regulator-initial-mode = <2>;
+                               regulator-allowed-modes = <2>, <4>;
+                               regulator-always-on;
+
+                               regulator-state-standby {
+                                       regulator-on-in-suspend;
+                                       regulator-suspend-microvolt = <1350000>;
+                                       regulator-mode = <4>;
+                               };
+
+                               regulator-state-mem {
+                                       regulator-on-in-suspend;
+                                       regulator-suspend-microvolt = <1350000>;
+                                       regulator-mode = <4>;
+                               };
+                       };
+
+                       vddcore: VDD_CORE {
+                               regulator-name = "VDD_CORE";
+                               regulator-min-microvolt = <1050000>;
+                               regulator-max-microvolt = <1050000>;
+                               regulator-initial-mode = <2>;
+                               regulator-allowed-modes = <2>, <4>;
+                               regulator-always-on;
+
+                               regulator-state-standby {
+                                       regulator-on-in-suspend;
+                                       regulator-suspend-microvolt = <1050000>;
+                                       regulator-mode = <4>;
+                               };
+
+                               regulator-state-mem {
+                                       regulator-off-in-suspend;
+                                       regulator-mode = <4>;
+                               };
+                       };
+
+                       vddcpu: VDD_OTHER {
+                               regulator-name = "VDD_OTHER";
+                               regulator-min-microvolt = <1050000>;
+                               regulator-max-microvolt = <1250000>;
+                               regulator-initial-mode = <2>;
+                               regulator-allowed-modes = <2>, <4>;
+                               regulator-ramp-delay = <3125>;
+                               regulator-always-on;
+
+                               regulator-state-standby {
+                                       regulator-on-in-suspend;
+                                       regulator-suspend-microvolt = <1050000>;
+                                       regulator-mode = <4>;
+                               };
+
+                               regulator-state-mem {
+                                       regulator-off-in-suspend;
+                                       regulator-mode = <4>;
+                               };
+                       };
+
+                       vldo1: LDO1 {
+                               regulator-name = "LDO1";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-always-on;
+
+                               regulator-state-standby {
+                                       regulator-suspend-microvolt = <1800000>;
+                                       regulator-on-in-suspend;
+                               };
+
+                               regulator-state-mem {
+                                       regulator-off-in-suspend;
+                               };
+                       };
+
+                       vldo2: LDO2 {
+                               regulator-name = "LDO2";
+                               regulator-min-microvolt = <1200000>;
+                               regulator-max-microvolt = <3700000>;
+
+                               regulator-state-standby {
+                                       regulator-on-in-suspend;
+                               };
+
+                               regulator-state-mem {
+                                       regulator-off-in-suspend;
+                               };
+                       };
+               };
+       };
 };
 
 &main_xtal {