// SPDX-License-Identifier: GPL-2.0-or-later
/*
 * Copyright 2012 Free Electrons
 */

/*
 * The CFA-10049 is an expansion board for the CFA-10036 module, thus we
 * need to include the CFA-10036 DTS.
 */
#include "imx28-cfa10036.dts"

/ {
	model = "Crystalfontz CFA-10037 Board";
	compatible = "crystalfontz,cfa10037", "crystalfontz,cfa10036", "fsl,imx28";

	apb@80000000 {
		apbh@80000000 {
			pinctrl@80018000 {
				usb_pins_cfa10037: usb-10037@0 {
					reg = <0>;
					fsl,pinmux-ids = <
						MX28_PAD_GPMI_D07__GPIO_0_7
					>;
					fsl,drive-strength = <MXS_DRIVE_4mA>;
					fsl,voltage = <MXS_VOLTAGE_HIGH>;
					fsl,pull-up = <MXS_PULL_DISABLE>;
				};

				mac0_pins_cfa10037: mac0-10037@0 {
					reg = <0>;
					fsl,pinmux-ids = <
						MX28_PAD_SSP2_SS2__GPIO_2_21
					>;
					fsl,drive-strength = <MXS_DRIVE_4mA>;
					fsl,voltage = <MXS_VOLTAGE_HIGH>;
					fsl,pull-up = <MXS_PULL_DISABLE>;
				};
			};
		};

		apbx@80040000 {
			usbphy1: usbphy@8007e000 {
				status = "okay";
			};
		};
	};

	ahb@80080000 {
		usb1: usb@80090000 {
			vbus-supply = <&reg_usb1_vbus>;
			pinctrl-0 = <&usb1_pins_a>;
			pinctrl-names = "default";
			status = "okay";
		};

		mac0: ethernet@800f0000 {
			phy-mode = "rmii";
			pinctrl-names = "default";
			pinctrl-0 = <&mac0_pins_a
				&mac0_pins_cfa10037>;
			phy-reset-gpios = <&gpio2 21 GPIO_ACTIVE_LOW>;
			phy-reset-duration = <100>;
			status = "okay";
		};
	};

	reg_usb1_vbus: regulator-0 {
		compatible = "regulator-fixed";
		pinctrl-names = "default";
		pinctrl-0 = <&usb_pins_cfa10037>;
		regulator-name = "usb1_vbus";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		gpio = <&gpio0 7 1>;
	};
};