// SPDX-License-Identifier: GPL-2.0-only
/*
 * See craneboard.org for more details
 *
 * Copyright (C) 2013 Texas Instruments Incorporated - https://www.ti.com/
 */
/dts-v1/;

#include "am3517.dtsi"

/ {
	model = "TI AM3517 CraneBoard (TMDSEVM3517)";
	compatible = "ti,am3517-craneboard", "ti,am3517", "ti,omap3";

	memory@80000000 {
		device_type = "memory";
		reg = <0x80000000 0x10000000>;	/* 256 MB */
	};

	vbat: fixedregulator {
		compatible = "regulator-fixed";
		regulator-name = "vbat";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		regulator-boot-on;
	};
};

&davinci_emac {
	status = "okay";
};

&davinci_mdio {
	status = "okay";
};

&i2c1 {
	clock-frequency = <2600000>;

	tps: tps@2d {
		reg = <0x2d>;
	};
};

&i2c2 {
	clock-frequency = <400000>;
	/* goes to expansion connector */
	status = "disabled";
};

&i2c3 {
	clock-frequency = <400000>;
	/* goes to expansion connector */
	status = "disabled";
};

&mmc1 {
	vmmc-supply = <&vdd2_reg>;
	bus-width = <8>;
};

&mmc2 {
	/* goes to expansion connector */
	status = "disabled";
};

&mmc3 {
	/* goes to expansion connector */
	status = "disabled";
};

#include "../../tps65910.dtsi"

&omap3_pmx_core {
	tps_pins: tps-pins {
		pinctrl-single,pins = <
			OMAP3_CORE1_IOPAD(0x21e0, PIN_INPUT_PULLUP | MUX_MODE0) /* sys_nirq.sys_nirq */
		>;
	};
};

&tps {
	pinctrl-names = "default";
	pinctrl-0 = <&tps_pins>;

	interrupts = <7>; /* SYS_NIRQ cascaded to intc */
	interrupt-parent = <&intc>;

	ti,en-ck32k-xtal;

	vcc1-supply = <&vbat>;
	vcc2-supply = <&vbat>;
	vcc3-supply = <&vbat>;
	vcc4-supply = <&vbat>;
	vcc5-supply = <&vbat>;
	vcc6-supply = <&vbat>;
	vcc7-supply = <&vbat>;
	vccio-supply = <&vbat>;

	regulators {
		vrtc_reg: regulator@0 {
			regulator-always-on;
		};

		vio_reg: regulator@1 {
			regulator-always-on;
		};

		/*
		 * Unused:
		 * VDIG1=2.7V,300mA max
		 * VDIG2=1.8V,300mA max
		 */

		vpll_reg: regulator@7 {
			/* VDDS_DPLL_1V8 */
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
			regulator-always-on;
		};

		vaux1_reg: regulator@9 {
			/* VDDS_SRAM_1V8 */
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
			regulator-always-on;
		};

		vaux2_reg: regulator@10 {
			/* VDDA1P8V_USBPHY */
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
			regulator-always-on;
		};

		/* VAUX33 unused */

		vdac_reg: regulator@8 {
			/* VDDA_DAC_1V8 */
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
			regulator-always-on;
		};

		vmmc_reg: regulator@12 {
			/* VDDA3P3V_USBPHY */
			regulator-min-microvolt = <3300000>;
			regulator-max-microvolt = <3300000>;
			regulator-always-on;
		};

		vdd1_reg: regulator@2 {
			/* VDD_CORE */
			regulator-name = "vdd_core";
			regulator-min-microvolt = <1200000>;
			regulator-max-microvolt = <1200000>;
			regulator-boot-on;
			regulator-always-on;
		};

		vdd2_reg: regulator@3 {
			/* VDDSHV_3V3 */
			regulator-name = "vdd_shv";
			regulator-min-microvolt = <3300000>;
			regulator-max-microvolt = <3300000>;
			regulator-always-on;
		};

		/* VDD3 unused */
	};
};
