// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
 * Copyright (C) Jisheng Zhang <jszhang@kernel.org>
 */

#include "sun50i-h616.dtsi"
#include "sun50i-h616-cpu-opp.dtsi"

&cpu0 {
	cpu-supply = <&reg_dcdc2>;
};

&mmc2 {
	pinctrl-names = "default";
	pinctrl-0 = <&mmc2_pins>;
	vmmc-supply = <&reg_dldo1>;
	vqmmc-supply = <&reg_aldo1>;
	bus-width = <8>;
	non-removable;
	cap-mmc-hw-reset;
	mmc-ddr-1_8v;
	mmc-hs200-1_8v;
	status = "okay";
};

&r_i2c {
	status = "okay";

	axp313: pmic@36 {
		compatible = "x-powers,axp313a";
		reg = <0x36>;
		#interrupt-cells = <1>;
		interrupt-controller;

		regulators {
			reg_aldo1: aldo1 {
				regulator-always-on;
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;
				regulator-name = "vcc-1v8-pll";
			};

			reg_dldo1: dldo1 {
				regulator-always-on;
				regulator-min-microvolt = <3300000>;
				regulator-max-microvolt = <3300000>;
				regulator-name = "vcc-3v3-io";
			};

			reg_dcdc1: dcdc1 {
				regulator-always-on;
				regulator-min-microvolt = <810000>;
				regulator-max-microvolt = <990000>;
				regulator-name = "vdd-gpu-sys";
			};

			reg_dcdc2: dcdc2 {
				regulator-always-on;
				regulator-min-microvolt = <810000>;
				regulator-max-microvolt = <1100000>;
				regulator-name = "vdd-cpu";
			};

			reg_dcdc3: dcdc3 {
				regulator-always-on;
				regulator-min-microvolt = <1100000>;
				regulator-max-microvolt = <1100000>;
				regulator-name = "vdd-dram";
			};
		};
	};
};

&pio {
	vcc-pc-supply = <&reg_dldo1>;
	vcc-pf-supply = <&reg_dldo1>;
	vcc-pg-supply = <&reg_aldo1>;
	vcc-ph-supply = <&reg_dldo1>;
	vcc-pi-supply = <&reg_dldo1>;
};
