// SPDX-License-Identifier: GPL-2.0
/*
 * at91-dvk_su60_somc.dtsi - Device Tree file for the DVK SOM60 base board
 *
 *  Copyright (C) 2018 Laird,
 *		  2018 Ben Whitten <ben.whitten@lairdtech.com>
 *
 */

/ {
	sound {
		compatible = "atmel,asoc-wm8904";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_pck2_as_audio_mck>;

		atmel,model = "wm8904 @ DVK-SOM60";
		atmel,audio-routing =
			"Headphone Jack", "HPOUTL",
			"Headphone Jack", "HPOUTR",
			"IN2L", "Line In Jack",
			"IN2R", "Line In Jack",
			"Mic", "MICBIAS",
			"IN1L", "Mic";

		atmel,ssc-controller = <&ssc0>;
		atmel,audio-codec = <&wm8904>;

		status = "okay";
	};
};

&mmc0 {
	status = "okay";

	pinctrl-0 = <&pinctrl_mmc0_clk_cmd_dat0 &pinctrl_mmc0_dat1_3 &pinctrl_mmc0_cd>;
	slot@0 {
		bus-width = <4>;
		cd-gpios = <&pioE 31 GPIO_ACTIVE_HIGH>;
		cd-inverted;
	};
};

&spi0 {
	status = "okay";

	/* spi0.0: 4M Flash Macronix MX25R4035FM1IL0 */
	spi-flash@0 {
		compatible = "mxicy,mx25u4035", "jedec,spi-nor";
		spi-max-frequency = <33000000>;
		reg = <0>;
	};
};

&ssc0 {
	atmel,clk-from-rk-pin;
	status = "okay";
};

&i2c0 {
	status = "okay";

	wm8904: wm8904@1a {
		compatible = "wlf,wm8904";
		reg = <0x1a>;
		clocks = <&pck2>;
		clock-names = "mclk";
	};
};

&i2c1 {
	status = "okay";

	eeprom@57 {
		compatible = "giantec,gt24c32a", "atmel,24c32";
		reg = <0x57>;
		pagesize = <32>;
	};
};

&usart1 {
	status = "okay";
};

&usart2 {
	status = "okay";
};

&usart3 {
	status = "okay";
};

&uart0 {
	status = "okay";
};

&dbgu {
	status = "okay";
};

&pit {
	status = "okay";
};

&adc0 {
	status = "okay";
};

&can1 {
	status = "okay";
};

&macb0 {
	#address-cells = <1>;
	#size-cells = <0>;
	status = "okay";

	ethernet-phy@7 {
		reg = <7>;
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_geth_int>;
		interrupt-parent = <&pioB>;
		interrupts = <25 IRQ_TYPE_EDGE_FALLING>;
		txen-skew-ps = <800>;
		txc-skew-ps = <3000>;
		rxdv-skew-ps = <400>;
		rxc-skew-ps = <3000>;
		rxd0-skew-ps = <400>;
		rxd1-skew-ps = <400>;
		rxd2-skew-ps = <400>;
		rxd3-skew-ps = <400>;
	};
};

&macb1 {
	#address-cells = <1>;
	#size-cells = <0>;
	status = "okay";

	ethernet-phy@1 {
		reg = <1>;
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_eth_int>;
		interrupt-parent = <&pioC>;
		interrupts = <10 IRQ_TYPE_EDGE_FALLING>;
	};
};

&usb0 {
	status = "okay";
};

&usb1 {
	status = "okay";
};

&usb2 {
	status = "okay";
};

