Re: [PATCH 5/6] ARM: dts: microchip: sama7d65: Add MCP16502 to sama7d65 curiosity
From: Claudiu Beznea
Date: Fri Apr 11 2025 - 10:30:54 EST
Hi, Ryan,
On 01.04.2025 19:13, Ryan.Wanner@xxxxxxxxxxxxx wrote:
> From: Ryan Wanner <Ryan.Wanner@xxxxxxxxxxxxx>
>
> 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@xxxxxxxxxxxxx>
> ---
> .../dts/microchip/at91-sama7d65_curiosity.dts | 135 ++++++++++++++++++
> 1 file changed, 135 insertions(+)
>
> diff --git a/arch/arm/boot/dts/microchip/at91-sama7d65_curiosity.dts b/arch/arm/boot/dts/microchip/at91-sama7d65_curiosity.dts
> index 441370dbb4c2..81abc387112d 100644
> --- a/arch/arm/boot/dts/microchip/at91-sama7d65_curiosity.dts
> +++ b/arch/arm/boot/dts/microchip/at91-sama7d65_curiosity.dts
> @@ -30,6 +30,15 @@ memory@60000000 {
> 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 {
> @@ -99,6 +108,132 @@ channel@4 {
> label = "VDDCPU";
> };
> };
> +
> + pmic@5b {
> + compatible = "microchip,mcp16502";
> + reg = <0x5b>;
> + lvin-supply = <®_5v>;
> + pvin1-supply = <®_5v>;
> + pvin2-supply = <®_5v>;
> + pvin3-supply = <®_5v>;
> + pvin4-supply = <®_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-suspend-microvolt = <1800000>;
I can't find the schematics for this board. Is there a reason for keeping
this @1.8V in suspend?
Thank you,
Claudiu
> + regulator-on-in-suspend;
> + };
> +
> + regulator-state-mem {
> + regulator-off-in-suspend;
> + };
> + };
> + };
> + };
> };
>
> &main_xtal {