// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
 * Copyright 2023 Toradex
 *
 * Common dtsi for Verdin AM62 SoM on Development carrier board
 *
 * https://www.toradex.com/computer-on-modules/verdin-arm-family/ti-am62
 * https://www.toradex.com/products/carrier-board/verdin-development-board-kit
 */

/ {
	sound {
		compatible = "simple-audio-card";
		simple-audio-card,bitclock-master = <&codec_dai>;
		simple-audio-card,format = "i2s";
		simple-audio-card,frame-master = <&codec_dai>;
		simple-audio-card,name = "verdin-nau8822";
		simple-audio-card,routing =
			"Headphones", "LHP",
			"Headphones", "RHP",
			"Speaker", "LSPK",
			"Speaker", "RSPK",
			"Line Out", "AUXOUT1",
			"Line Out", "AUXOUT2",
			"LAUX", "Line In",
			"RAUX", "Line In",
			"LMICP", "Mic In",
			"RMICP", "Mic In";
		simple-audio-card,widgets =
			"Headphones", "Headphones",
			"Line Out", "Line Out",
			"Speaker", "Speaker",
			"Microphone", "Mic In",
			"Line", "Line In";

		codec_dai: simple-audio-card,codec {
			clocks = <&audio_refclk1>;
			sound-dai = <&nau8822_1a>;
		};

		simple-audio-card,cpu {
			sound-dai = <&mcasp0>;
		};
	};
};

/* Verdin ETHs */
&cpsw3g {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_rgmii1>, <&pinctrl_rgmii2>;
	status = "okay";
};

/* MDIO, shared by Verdin ETH_1 (On-module PHY) and Verdin ETH_2_RGMII */
&cpsw3g_mdio {
	status = "okay";

	cpsw3g_phy1: ethernet-phy@7 {
		compatible = "ethernet-phy-ieee802.3-c22";
		reg = <7>;
		interrupt-parent = <&main_gpio0>;
		interrupts = <38 IRQ_TYPE_EDGE_FALLING>;
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_eth2_rgmii_int>;
		micrel,led-mode = <0>;
	};
};

/* Verdin ETH_1 (On-module PHY) */
&cpsw_port1 {
	status = "okay";
};

/* Verdin ETH_2_RGMII */
&cpsw_port2 {
	phy-handle = <&cpsw3g_phy1>;
	phy-mode = "rgmii-rxid";
	status = "okay";
};

/* Verdin PWM_1, PWM_2 */
&epwm0 {
	status = "okay";
};

/* Verdin PWM_3_DSI */
&epwm1 {
	status = "okay";
};

&main_gpio0 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_ctrl_sleep_moci>,
		    <&pinctrl_gpio_5>,
		    <&pinctrl_gpio_6>,
		    <&pinctrl_gpio_7>,
		    <&pinctrl_gpio_8>;
};

/* Verdin I2C_1 */
&main_i2c1 {
	status = "okay";

	/* Audio Codec */
	nau8822_1a: audio-codec@1a {
		compatible = "nuvoton,nau8822";
		reg = <0x1a>;
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_i2s1_mclk>;
		#sound-dai-cells = <0>;
	};

	/* IO Expander */
	gpio_expander_21: gpio@21 {
		compatible = "nxp,pcal6416";
		reg = <0x21>;
		#gpio-cells = <2>;
		gpio-controller;
	};

	/* Current measurement into module VCC */
	hwmon@40 {
		compatible = "ti,ina219";
		reg = <0x40>;
		shunt-resistor = <10000>;
	};

	/* Temperature sensor */
	sensor@4f {
		compatible = "ti,tmp75c";
		reg = <0x4f>;
	};

	/* EEPROM */
	eeprom@57 {
		compatible = "st,24c02", "atmel,24c02";
		reg = <0x57>;
		pagesize = <16>;
	};
};

/* Verdin I2C_2_DSI */
&main_i2c2 {
	status = "okay";
};

/* Verdin I2C_4_CSI */
&main_i2c3 {
	status = "okay";
};

/* Verdin CAN_1 */
&main_mcan0 {
	status = "okay";
};

/* Verdin SPI_1 */
&main_spi1 {
	status = "okay";
};

/* Verdin UART_3 */
&main_uart0 {
	status = "okay";
};

/* Verdin UART_1, connector X50 through RS485 transceiver. */
&main_uart1 {
	linux,rs485-enabled-at-boot-time;
	rs485-rx-during-tx;
	status = "okay";
};

/* Verdin I2S_1 */
&mcasp0 {
	status = "okay";
};

&mcu_gpio0 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_gpio_1>,
		    <&pinctrl_gpio_2>,
		    <&pinctrl_gpio_3>,
		    <&pinctrl_gpio_4>;
};

/* Verdin I2C_3_HDMI */
&mcu_i2c0 {
	status = "okay";
};

/* Verdin CAN_2 */
&mcu_mcan0 {
	status = "okay";
};

/* Verdin UART_4 */
&mcu_uart0 {
	status = "okay";
};

/* Verdin QSPI_1 */
&ospi0 {
	status = "okay";
};

/* Verdin SD_1 */
&sdhci1 {
	status = "okay";
};

/* Verdin USB_1 */
&usbss0 {
	status = "okay";
};

&usb0 {
	status = "okay";
};

/* Verdin USB_2 */
&usbss1 {
	status = "okay";
};

&usb1 {
	status = "okay";
};

/* Verdin CTRL_WAKE1_MICO# */
&verdin_gpio_keys {
	status = "okay";
};

/* Verdin UART_2 */
&wkup_uart0 {
	status = "okay";
};
