// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
 * Copyright (C) 2023 Arm Ltd.
 */

/dts-v1/;

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

/ {
	model = "OrangePi Zero3";
	compatible = "xunlong,orangepi-zero3", "allwinner,sun50i-h618";
};

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

&emac0 {
	allwinner,tx-delay-ps = <700>;
	phy-mode = "rgmii-rxid";
	phy-supply = <&reg_dldo1>;
};

&ext_rgmii_phy {
	motorcomm,clk-out-frequency-hz = <125000000>;
};

&mmc0 {
	/*
	 * The schematic shows the card detect pin wired up to PF6, via an
	 * inverter, but it just doesn't work.
	 */
	broken-cd;
	vmmc-supply = <&reg_dldo1>;
};

&r_i2c {
	status = "okay";

	axp313: pmic@36 {
		compatible = "x-powers,axp313a";
		reg = <0x36>;
		#interrupt-cells = <1>;
		interrupt-controller;
		interrupt-parent = <&pio>;
		interrupts = <2 9 IRQ_TYPE_LEVEL_LOW>;	/* PC9 */

		vin1-supply = <&reg_vcc5v>;
		vin2-supply = <&reg_vcc5v>;
		vin3-supply = <&reg_vcc5v>;

		regulators {
			/* Supplies VCC-PLL, so needs to be always on. */
			reg_aldo1: aldo1 {
				regulator-always-on;
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;
				regulator-name = "vcc1v8";
			};

			/* Supplies VCC-IO, so needs to be always on. */
			reg_dldo1: dldo1 {
				regulator-always-on;
				regulator-min-microvolt = <3300000>;
				regulator-max-microvolt = <3300000>;
				regulator-name = "vcc3v3";
			};

			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>;
};
