162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Copyright 2023 Toradex
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * Common dtsi for Verdin AM62 SoM on Development carrier board
662306a36Sopenharmony_ci *
762306a36Sopenharmony_ci * https://www.toradex.com/computer-on-modules/verdin-arm-family/ti-am62
862306a36Sopenharmony_ci * https://www.toradex.com/products/carrier-board/verdin-development-board-kit
962306a36Sopenharmony_ci */
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ci/ {
1262306a36Sopenharmony_ci	sound {
1362306a36Sopenharmony_ci		compatible = "simple-audio-card";
1462306a36Sopenharmony_ci		simple-audio-card,bitclock-master = <&codec_dai>;
1562306a36Sopenharmony_ci		simple-audio-card,format = "i2s";
1662306a36Sopenharmony_ci		simple-audio-card,frame-master = <&codec_dai>;
1762306a36Sopenharmony_ci		simple-audio-card,name = "verdin-nau8822";
1862306a36Sopenharmony_ci		simple-audio-card,routing =
1962306a36Sopenharmony_ci			"Headphones", "LHP",
2062306a36Sopenharmony_ci			"Headphones", "RHP",
2162306a36Sopenharmony_ci			"Speaker", "LSPK",
2262306a36Sopenharmony_ci			"Speaker", "RSPK",
2362306a36Sopenharmony_ci			"Line Out", "AUXOUT1",
2462306a36Sopenharmony_ci			"Line Out", "AUXOUT2",
2562306a36Sopenharmony_ci			"LAUX", "Line In",
2662306a36Sopenharmony_ci			"RAUX", "Line In",
2762306a36Sopenharmony_ci			"LMICP", "Mic In",
2862306a36Sopenharmony_ci			"RMICP", "Mic In";
2962306a36Sopenharmony_ci		simple-audio-card,widgets =
3062306a36Sopenharmony_ci			"Headphones", "Headphones",
3162306a36Sopenharmony_ci			"Line Out", "Line Out",
3262306a36Sopenharmony_ci			"Speaker", "Speaker",
3362306a36Sopenharmony_ci			"Microphone", "Mic In",
3462306a36Sopenharmony_ci			"Line", "Line In";
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_ci		codec_dai: simple-audio-card,codec {
3762306a36Sopenharmony_ci			clocks = <&audio_refclk1>;
3862306a36Sopenharmony_ci			sound-dai = <&nau8822_1a>;
3962306a36Sopenharmony_ci		};
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_ci		simple-audio-card,cpu {
4262306a36Sopenharmony_ci			sound-dai = <&mcasp0>;
4362306a36Sopenharmony_ci		};
4462306a36Sopenharmony_ci	};
4562306a36Sopenharmony_ci};
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_ci/* Verdin ETHs */
4862306a36Sopenharmony_ci&cpsw3g {
4962306a36Sopenharmony_ci	pinctrl-names = "default";
5062306a36Sopenharmony_ci	pinctrl-0 = <&pinctrl_rgmii1>, <&pinctrl_rgmii2>;
5162306a36Sopenharmony_ci	status = "okay";
5262306a36Sopenharmony_ci};
5362306a36Sopenharmony_ci
5462306a36Sopenharmony_ci/* MDIO, shared by Verdin ETH_1 (On-module PHY) and Verdin ETH_2_RGMII */
5562306a36Sopenharmony_ci&cpsw3g_mdio {
5662306a36Sopenharmony_ci	status = "okay";
5762306a36Sopenharmony_ci
5862306a36Sopenharmony_ci	cpsw3g_phy1: ethernet-phy@7 {
5962306a36Sopenharmony_ci		compatible = "ethernet-phy-ieee802.3-c22";
6062306a36Sopenharmony_ci		reg = <7>;
6162306a36Sopenharmony_ci		interrupt-parent = <&main_gpio0>;
6262306a36Sopenharmony_ci		interrupts = <38 IRQ_TYPE_EDGE_FALLING>;
6362306a36Sopenharmony_ci		pinctrl-names = "default";
6462306a36Sopenharmony_ci		pinctrl-0 = <&pinctrl_eth2_rgmii_int>;
6562306a36Sopenharmony_ci		micrel,led-mode = <0>;
6662306a36Sopenharmony_ci	};
6762306a36Sopenharmony_ci};
6862306a36Sopenharmony_ci
6962306a36Sopenharmony_ci/* Verdin ETH_1 (On-module PHY) */
7062306a36Sopenharmony_ci&cpsw_port1 {
7162306a36Sopenharmony_ci	status = "okay";
7262306a36Sopenharmony_ci};
7362306a36Sopenharmony_ci
7462306a36Sopenharmony_ci/* Verdin ETH_2_RGMII */
7562306a36Sopenharmony_ci&cpsw_port2 {
7662306a36Sopenharmony_ci	phy-handle = <&cpsw3g_phy1>;
7762306a36Sopenharmony_ci	phy-mode = "rgmii-rxid";
7862306a36Sopenharmony_ci	status = "okay";
7962306a36Sopenharmony_ci};
8062306a36Sopenharmony_ci
8162306a36Sopenharmony_ci/* Verdin PWM_1, PWM_2 */
8262306a36Sopenharmony_ci&epwm0 {
8362306a36Sopenharmony_ci	status = "okay";
8462306a36Sopenharmony_ci};
8562306a36Sopenharmony_ci
8662306a36Sopenharmony_ci/* Verdin PWM_3_DSI */
8762306a36Sopenharmony_ci&epwm1 {
8862306a36Sopenharmony_ci	status = "okay";
8962306a36Sopenharmony_ci};
9062306a36Sopenharmony_ci
9162306a36Sopenharmony_ci&main_gpio0 {
9262306a36Sopenharmony_ci	pinctrl-names = "default";
9362306a36Sopenharmony_ci	pinctrl-0 = <&pinctrl_ctrl_sleep_moci>,
9462306a36Sopenharmony_ci		    <&pinctrl_gpio_5>,
9562306a36Sopenharmony_ci		    <&pinctrl_gpio_6>,
9662306a36Sopenharmony_ci		    <&pinctrl_gpio_7>,
9762306a36Sopenharmony_ci		    <&pinctrl_gpio_8>;
9862306a36Sopenharmony_ci};
9962306a36Sopenharmony_ci
10062306a36Sopenharmony_ci/* Verdin I2C_1 */
10162306a36Sopenharmony_ci&main_i2c1 {
10262306a36Sopenharmony_ci	status = "okay";
10362306a36Sopenharmony_ci
10462306a36Sopenharmony_ci	/* Audio Codec */
10562306a36Sopenharmony_ci	nau8822_1a: audio-codec@1a {
10662306a36Sopenharmony_ci		compatible = "nuvoton,nau8822";
10762306a36Sopenharmony_ci		reg = <0x1a>;
10862306a36Sopenharmony_ci		pinctrl-names = "default";
10962306a36Sopenharmony_ci		pinctrl-0 = <&pinctrl_i2s1_mclk>;
11062306a36Sopenharmony_ci		#sound-dai-cells = <0>;
11162306a36Sopenharmony_ci	};
11262306a36Sopenharmony_ci
11362306a36Sopenharmony_ci	/* IO Expander */
11462306a36Sopenharmony_ci	gpio_expander_21: gpio@21 {
11562306a36Sopenharmony_ci		compatible = "nxp,pcal6416";
11662306a36Sopenharmony_ci		reg = <0x21>;
11762306a36Sopenharmony_ci		#gpio-cells = <2>;
11862306a36Sopenharmony_ci		gpio-controller;
11962306a36Sopenharmony_ci	};
12062306a36Sopenharmony_ci
12162306a36Sopenharmony_ci	/* Current measurement into module VCC */
12262306a36Sopenharmony_ci	hwmon@40 {
12362306a36Sopenharmony_ci		compatible = "ti,ina219";
12462306a36Sopenharmony_ci		reg = <0x40>;
12562306a36Sopenharmony_ci		shunt-resistor = <10000>;
12662306a36Sopenharmony_ci	};
12762306a36Sopenharmony_ci
12862306a36Sopenharmony_ci	/* Temperature sensor */
12962306a36Sopenharmony_ci	sensor@4f {
13062306a36Sopenharmony_ci		compatible = "ti,tmp75c";
13162306a36Sopenharmony_ci		reg = <0x4f>;
13262306a36Sopenharmony_ci	};
13362306a36Sopenharmony_ci
13462306a36Sopenharmony_ci	/* EEPROM */
13562306a36Sopenharmony_ci	eeprom@57 {
13662306a36Sopenharmony_ci		compatible = "st,24c02", "atmel,24c02";
13762306a36Sopenharmony_ci		reg = <0x57>;
13862306a36Sopenharmony_ci		pagesize = <16>;
13962306a36Sopenharmony_ci	};
14062306a36Sopenharmony_ci};
14162306a36Sopenharmony_ci
14262306a36Sopenharmony_ci/* Verdin I2C_2_DSI */
14362306a36Sopenharmony_ci&main_i2c2 {
14462306a36Sopenharmony_ci	status = "okay";
14562306a36Sopenharmony_ci};
14662306a36Sopenharmony_ci
14762306a36Sopenharmony_ci/* Verdin I2C_4_CSI */
14862306a36Sopenharmony_ci&main_i2c3 {
14962306a36Sopenharmony_ci	status = "okay";
15062306a36Sopenharmony_ci};
15162306a36Sopenharmony_ci
15262306a36Sopenharmony_ci/* Verdin CAN_1 */
15362306a36Sopenharmony_ci&main_mcan0 {
15462306a36Sopenharmony_ci	status = "okay";
15562306a36Sopenharmony_ci};
15662306a36Sopenharmony_ci
15762306a36Sopenharmony_ci/* Verdin SPI_1 */
15862306a36Sopenharmony_ci&main_spi1 {
15962306a36Sopenharmony_ci	status = "okay";
16062306a36Sopenharmony_ci};
16162306a36Sopenharmony_ci
16262306a36Sopenharmony_ci/* Verdin UART_3 */
16362306a36Sopenharmony_ci&main_uart0 {
16462306a36Sopenharmony_ci	status = "okay";
16562306a36Sopenharmony_ci};
16662306a36Sopenharmony_ci
16762306a36Sopenharmony_ci/* Verdin UART_1, connector X50 through RS485 transceiver. */
16862306a36Sopenharmony_ci&main_uart1 {
16962306a36Sopenharmony_ci	linux,rs485-enabled-at-boot-time;
17062306a36Sopenharmony_ci	rs485-rx-during-tx;
17162306a36Sopenharmony_ci	status = "okay";
17262306a36Sopenharmony_ci};
17362306a36Sopenharmony_ci
17462306a36Sopenharmony_ci/* Verdin I2S_1 */
17562306a36Sopenharmony_ci&mcasp0 {
17662306a36Sopenharmony_ci	status = "okay";
17762306a36Sopenharmony_ci};
17862306a36Sopenharmony_ci
17962306a36Sopenharmony_ci&mcu_gpio0 {
18062306a36Sopenharmony_ci	pinctrl-names = "default";
18162306a36Sopenharmony_ci	pinctrl-0 = <&pinctrl_gpio_1>,
18262306a36Sopenharmony_ci		    <&pinctrl_gpio_2>,
18362306a36Sopenharmony_ci		    <&pinctrl_gpio_3>,
18462306a36Sopenharmony_ci		    <&pinctrl_gpio_4>;
18562306a36Sopenharmony_ci};
18662306a36Sopenharmony_ci
18762306a36Sopenharmony_ci/* Verdin I2C_3_HDMI */
18862306a36Sopenharmony_ci&mcu_i2c0 {
18962306a36Sopenharmony_ci	status = "okay";
19062306a36Sopenharmony_ci};
19162306a36Sopenharmony_ci
19262306a36Sopenharmony_ci/* Verdin CAN_2 */
19362306a36Sopenharmony_ci&mcu_mcan0 {
19462306a36Sopenharmony_ci	status = "okay";
19562306a36Sopenharmony_ci};
19662306a36Sopenharmony_ci
19762306a36Sopenharmony_ci/* Verdin UART_4 */
19862306a36Sopenharmony_ci&mcu_uart0 {
19962306a36Sopenharmony_ci	status = "okay";
20062306a36Sopenharmony_ci};
20162306a36Sopenharmony_ci
20262306a36Sopenharmony_ci/* Verdin QSPI_1 */
20362306a36Sopenharmony_ci&ospi0 {
20462306a36Sopenharmony_ci	status = "okay";
20562306a36Sopenharmony_ci};
20662306a36Sopenharmony_ci
20762306a36Sopenharmony_ci/* Verdin SD_1 */
20862306a36Sopenharmony_ci&sdhci1 {
20962306a36Sopenharmony_ci	ti,driver-strength-ohm = <33>;
21062306a36Sopenharmony_ci	status = "okay";
21162306a36Sopenharmony_ci};
21262306a36Sopenharmony_ci
21362306a36Sopenharmony_ci/* Verdin USB_1 */
21462306a36Sopenharmony_ci&usbss0 {
21562306a36Sopenharmony_ci	status = "okay";
21662306a36Sopenharmony_ci};
21762306a36Sopenharmony_ci
21862306a36Sopenharmony_ci&usb0 {
21962306a36Sopenharmony_ci	status = "okay";
22062306a36Sopenharmony_ci};
22162306a36Sopenharmony_ci
22262306a36Sopenharmony_ci/* Verdin USB_2 */
22362306a36Sopenharmony_ci&usbss1 {
22462306a36Sopenharmony_ci	status = "okay";
22562306a36Sopenharmony_ci};
22662306a36Sopenharmony_ci
22762306a36Sopenharmony_ci&usb1 {
22862306a36Sopenharmony_ci	status = "okay";
22962306a36Sopenharmony_ci};
23062306a36Sopenharmony_ci
23162306a36Sopenharmony_ci/* Verdin CTRL_WAKE1_MICO# */
23262306a36Sopenharmony_ci&verdin_gpio_keys {
23362306a36Sopenharmony_ci	status = "okay";
23462306a36Sopenharmony_ci};
23562306a36Sopenharmony_ci
23662306a36Sopenharmony_ci/* Verdin UART_2 */
23762306a36Sopenharmony_ci&wkup_uart0 {
23862306a36Sopenharmony_ci	/* FIXME: WKUP UART0 is used by DM firmware */
23962306a36Sopenharmony_ci	status = "reserved";
24062306a36Sopenharmony_ci};
241