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

#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/net/ti-dp83867.h>

/ {
	chosen {
		stdout-path = "serial2:115200n8";
	};

	aliases {
		can0 = &main_mcan0;
		can1 = &mcu_mcan0;
		ethernet0 = &cpsw_port1;
		ethernet1 = &cpsw_port2;
		i2c0 = &main_i2c0;
		i2c1 = &main_i2c1;
		i2c2 = &main_i2c2;
		i2c3 = &mcu_i2c0;
		i2c4 = &main_i2c3;
		mmc0 = &sdhci0;
		mmc1 = &sdhci1;
		mmc2 = &sdhci2;
		rtc0 = &rtc_i2c;
		rtc1 = &wkup_rtc0;
		serial0 = &main_uart1;
		serial1 = &wkup_uart0;
		serial2 = &main_uart0;
		serial3 = &mcu_uart0;
		serial4 = &main_uart5;
		usb0 = &usb0;
		usb1 = &usb1;
	};

	connector {
		compatible = "gpio-usb-b-connector", "usb-b-connector";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_usb0_id>;
		id-gpios = <&main_gpio1 19 GPIO_ACTIVE_HIGH>;
		label = "USB_1";
		self-powered;
		vbus-supply = <&reg_usb0_vbus>;

		port {
			usb_dr_connector: endpoint {
				remote-endpoint = <&usb0_ep>;
			};
		};
	};

	verdin_gpio_keys: gpio-keys {
		compatible = "gpio-keys";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_ctrl_wake1_mico>;
		status = "disabled";

		verdin_key_wakeup: key-wakeup {
			debounce-interval = <10>;
			/* Verdin CTRL_WAKE1_MICO# (SODIMM 252) */
			gpios = <&main_gpio0 32 GPIO_ACTIVE_LOW>;
			label = "Wake-Up";
			linux,code = <KEY_WAKEUP>;
			wakeup-source;
		};
	};

	memory@80000000 {
		device_type = "memory";
		reg = <0x00000000 0x80000000 0x00000000 0x80000000>; /* 2G RAM */
	};

	opp-table {
		/* Add 1.4GHz OPP. Requires VDD_CORE to be at 0.85V */
		opp-1400000000 {
			opp-hz = /bits/ 64 <1400000000>;
			opp-supported-hw = <0x01 0x0004>;
			clock-latency-ns = <6000000>;
		};
	};

	/* Module Power Supply */
	reg_vsodimm: regulator-vsodimm {
		compatible = "regulator-fixed";
		regulator-name = "+V_SODIMM";
	};

	/* Non PMIC On-module Supplies */
	reg_3v3: regulator-3v3 {
		compatible = "regulator-fixed";
		regulator-max-microvolt = <3300000>;
		regulator-min-microvolt = <3300000>;
		regulator-name = "On-module +V3.3";
		vin-supply = <&reg_vsodimm>;
	};

	reg_1v2_dsi: regulator-1v2-dsi {
		compatible = "regulator-fixed";
		regulator-max-microvolt = <1200000>;
		regulator-min-microvolt = <1200000>;
		regulator-name = "On-module +V1.2_DSI";
		vin-supply = <&reg_1v8>;
	};

	/* Enabled by +V1.2_DSI */
	reg_1v8_dsi: regulator-1v8-dsi {
		compatible = "regulator-fixed";
		regulator-max-microvolt = <1800000>;
		regulator-min-microvolt = <1800000>;
		regulator-name = "On-module +V1.8_DSI";
		vin-supply = <&reg_1v8>;
	};

	/* Enabled by +V2.5_ETH */
	reg_1v0_eth: regulator-1v0-eth {
		compatible = "regulator-fixed";
		regulator-max-microvolt = <1000000>;
		regulator-min-microvolt = <1000000>;
		regulator-name = "On-module +V1.0_ETH";
		vin-supply = <&reg_1v8>;
	};

	/* Enabled by +V2.5_ETH */
	reg_1v8_eth: regulator-1v8-eth {
		compatible = "regulator-fixed";
		regulator-max-microvolt = <1800000>;
		regulator-min-microvolt = <1800000>;
		regulator-name = "On-module +V1.8_ETH";
		vin-supply = <&reg_1v8>;
	};

	reg_force_sleep_moci: regulator-force-sleep-moci {
		compatible = "regulator-fixed";
		enable-active-high;
		/* Verdin CTRL_SLEEP_MOCI# (SODIMM 256) */
		gpio = <&main_gpio0 31 GPIO_ACTIVE_HIGH>;
		regulator-always-on;
		regulator-boot-on;
		regulator-name = "CTRL_SLEEP_MOCI#";
	};

	/* Verdin SD_1 Power Supply */
	reg_sdhc1_vmmc: regulator-sdhci1 {
		compatible = "regulator-fixed";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_sd1_pwr_en>;
		enable-active-high;
		/* Verdin SD_1_PWR_EN (SODIMM 76) */
		gpio = <&main_gpio0 29 GPIO_ACTIVE_HIGH>;
		off-on-delay-us = <100000>;
		regulator-max-microvolt = <3300000>;
		regulator-min-microvolt = <3300000>;
		regulator-name = "+V3.3_SD";
		startup-delay-us = <2000>;
	};

	reg_sdhc1_vqmmc: regulator-sdhci1-vqmmc {
		compatible = "regulator-gpio";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_vsel_sd>;
		/* PMIC_VSEL_SD */
		gpios = <&main_gpio0 21 GPIO_ACTIVE_HIGH>;
		regulator-name = "LDO1-VSEL-SD (PMIC)";
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <3300000>;
		states = <1800000 0x0>,
			 <3300000 0x1>;
		vin-supply = <&reg_sd_3v3_1v8>;
	};

	reg_usb0_vbus: regulator-usb0-vbus {
		compatible = "regulator-fixed";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_usb0_en>;
		enable-active-high;
		/* Verdin USB_1_EN (SODIMM 155) */
		gpio = <&main_gpio1 50 GPIO_ACTIVE_HIGH>;
		regulator-max-microvolt = <5000000>;
		regulator-min-microvolt = <5000000>;
		regulator-name = "USB_1_EN";
	};

	reserved-memory {
		#address-cells = <2>;
		#size-cells = <2>;
		ranges;

		secure_tfa_ddr: tfa@9e780000 {
			reg = <0x00 0x9e780000 0x00 0x80000>;
			alignment = <0x1000>;
			no-map;
		};

		secure_ddr: optee@9e800000 {
			reg = <0x00 0x9e800000 0x00 0x01800000>; /* for OP-TEE */
			alignment = <0x1000>;
			no-map;
		};

		wkup_r5fss0_core0_dma_memory_region: r5f-dma-memory@9db00000 {
			compatible = "shared-dma-pool";
			reg = <0x00 0x9db00000 0x00 0xc00000>;
			no-map;
		};
	};
};

&main_pmx0 {
	/* Verdin PWM_1 */
	pinctrl_epwm0_a: main-epwm0a-default-pins {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x01b4, PIN_OUTPUT, 2) /* (A13) SPI0_CS0.EHRPWM0_A */ /* SODIMM 15 */
		>;
	};

	/* Verdin PWM_2 */
	pinctrl_epwm0_b: main-epwm0b-default-pins {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x01b8, PIN_OUTPUT, 2) /* (C13) SPI0_CS1.EHRPWM0_B */ /* SODIMM 16 */
		>;
	};

	/* Verdin PWM_3_DSI */
	pinctrl_epwm1_a: main-epwm1a-default-pins {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x01bc, PIN_OUTPUT, 2) /* (A14) SPI0_CLK.EHRPWM1_A */ /* SODIMM 19 */
		>;
	};

	/* Verdin QSPI_1_CLK as GPIO (conflict with Verdin QSPI_1 interface) */
	pinctrl_qspi1_clk_gpio: main-gpio0-0-default-pins {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x0000, PIN_INPUT, 7) /* (H24) OSPI0_CLK.GPIO0_0 */ /* SODIMM 52 */
		>;
	};

	/* Verdin QSPI_1_IO0 as GPIO (conflict with Verdin QSPI_1 interface) */
	pinctrl_qspi1_io0_gpio: main-gpio0-3-default-pins {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x000c, PIN_INPUT, 7) /* (E25) OSPI0_D0.GPIO0_3 */ /* SODIMM 56 */
		>;
	};

	/* Verdin QSPI_1_IO1 as GPIO (conflict with Verdin QSPI_1 interface) */
	pinctrl_qspi1_io1_gpio: main-gpio0-4-default-pins {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x0010, PIN_INPUT, 7) /* (G24) OSPI0_D1.GPIO0_4 */ /* SODIMM 58 */
		>;
	};

	/* Verdin QSPI_1_IO2 as GPIO (conflict with Verdin QSPI_1 interface) */
	pinctrl_qspi1_io2_gpio: main-gpio0-5-default-pins {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x0014, PIN_INPUT, 7) /* (F25) OSPI0_D2.GPIO0_5 */ /* SODIMM 60 */
		>;
	};

	/* Verdin QSPI_1_IO3 as GPIO (conflict with Verdin QSPI_1 interface) */
	pinctrl_qspi1_io3_gpio: main-gpio0-6-default-pins {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x0018, PIN_INPUT, 7) /* (F24) OSPI0_D3.GPIO0_6 */ /* SODIMM 62 */
		>;
	};

	/* Verdin SPI_1 CS as GPIO */
	pinctrl_qspi1_io4_gpio: main-gpio0-7-default-pins {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x001c, PIN_INPUT, 7) /* (J23) OSPI0_D4.GPIO0_7 */ /* SODIMM 202 */
		>;
	};

	/* Verdin QSPI_1_CS# as GPIO (conflict with Verdin QSPI_1 interface) */
	pinctrl_qspi1_cs_gpio: main-gpio0-11-default-pins {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x002c, PIN_INPUT, 7) /* (F23) OSPI0_CSn0.GPIO0_11 */ /* SODIMM 54 */
		>;
	};

	/* Verdin QSPI_1_CS2# as GPIO (conflict with Verdin QSPI_1 interface) */
	pinctrl_qspi1_cs2_gpio: main-gpio0-12-default-pins {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x0030, PIN_INPUT, 7) /* (G21) OSPI0_CSn1.GPIO0_12 */ /* SODIMM 64 */
		>;
	};

	/* WiFi_W_WKUP_HOST# */
	pinctrl_wifi_w_wkup_host: main-gpio0-15-default-pins {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x003c, PIN_INPUT, 7) /* (M25) GPMC0_AD0.GPIO0_15 */ /* SODIMM 174 */
		>;
	};

	/* WiFi_BT_WKUP_HOST# */
	pinctrl_bt_wkup_host: main-gpio0-16-default-pins {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x0040, PIN_INPUT, 7) /* (N23) GPMC0_AD1.GPIO0_16 */ /* SODIMM 172 */
		>;
	};

	/* PMIC_ETH_RESET# */
	pinctrl_eth_reset: main-gpio0-17-default-pins {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x0044, PIN_INPUT, 7) /* (N24) GPMC0_AD2.GPIO0_17 */
		>;
	};

	/* PMIC_BRIDGE_RESET# */
	pinctrl_bridge_reset: main-gpio0-20-default-pins {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x0050, PIN_INPUT, 7) /* (P22) GPMC0_AD5.GPIO0_20 */
		>;
	};

	/* PMIC_VSEL_SD */
	pinctrl_vsel_sd: main-gpio0-21-default-pins {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x0054, PIN_INPUT, 7) /* (P21) GPMC0_AD6.GPIO0_21 */
		>;
	};

	/* PMIC_EN_WIFI */
	pinctrl_wifi_en: main-gpio0-22-default-pins {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x0058, PIN_INPUT, 7) /* (R23) GPMC0_AD7.GPIO0_22 */
		>;
	};

	/* PMIC_ETH_INT# */
	pinctrl_eth_int: main-gpio0-25-default-pins {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x0064, PIN_INPUT_PULLUP, 7) /* (T25) GPMC0_AD10.GPIO0_25 */
		>;
	};

	/* WiFi_WKUP_BT# */
	pinctrl_wifi_wkup_bt: main-gpio0-26-default-pins {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x0068, PIN_INPUT, 7) /* (R21) GPMC0_AD11.GPIO0_26 */
		>;
	};

	/* WiFi_WKUP_WLAN# */
	pinctrl_wifi_wkup_wlan: main-gpio0-27-default-pins {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x006c, PIN_INPUT, 7) /* (T22) GPMC0_AD12.GPIO0_27 */
		>;
	};

	/* Verdin SD_1_PWR_EN */
	pinctrl_sd1_pwr_en: main-gpio0-29-default-pins {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x0074, PIN_INPUT, 7) /* (U25) GPMC0_AD14.GPIO0_29 */ /* SODIMM 76 */
		>;
	};

	/* Verdin DSI_1_BKL_EN */
	pinctrl_dsi1_bkl_en: main-gpio0-30-default-pins {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x0078, PIN_INPUT, 7) /* (U24) GPMC0_AD15.GPIO0_30 */ /* SODIMM 21 */
		>;
	};

	/* Verdin CTRL_SLEEP_MOCI# */
	pinctrl_ctrl_sleep_moci: main-gpio0-31-default-pins {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x007c, PIN_INPUT, 7) /* (P25) GPMC0_CLK.GPIO0_31 */ /* SODIMM 256 */
		>;
	};

	/* Verdin CTRL_WAKE1_MICO# */
	pinctrl_ctrl_wake1_mico: main-gpio0-32-default-pins {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x0084, PIN_INPUT_PULLUP, 7) /* (L23) GPMC0_ADVn_ALE.GPIO0_32 */ /* SODIMM 252 */
		>;
	};

	/* Verdin I2S_2_D_OUT as GPIO (conflict with Verdin I2S_2 interface) */
	pinctrl_i2s_2_d_out_gpio: main-gpio0-34-default-pins {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x008c, PIN_INPUT, 7) /* (L25) GPMC0_WEn.GPIO0_34 */ /* SODIMM 46 */
		>;
	};

	/* Verdin I2S_2_BCLK as GPIO (conflict with Verdin I2S_2 interface) */
	pinctrl_i2s_2_bclk_gpio: main-gpio0-35-default-pins {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x0090, PIN_INPUT, 7) /* (M24) GPMC0_BE0n_CLE.GPIO0_35 */ /* SODIMM 42 */
		>;
	};

	/* Verdin GPIO_6 */
	pinctrl_gpio_6: main-gpio0-36-default-pins {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x0094, PIN_INPUT, 7) /* (N20) GPMC0_BE1n.GPIO0_36 */ /* SODIMM 218 */
		>;
	};

	/* Verdin ETH_2_RGMII_INT# */
	pinctrl_eth2_rgmii_int: main-gpio0-38-default-pins {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x009c, PIN_INPUT, 7) /* (V25) GPMC0_WAIT1.GPIO0_38 */ /* SODIMM 189 */
		>;
	};

	/* Verdin GPIO_5 */
	pinctrl_gpio_5: main-gpio0-40-default-pins {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x00a4, PIN_INPUT, 7) /* (M22) GPMC0_DIR.GPIO0_40 */ /* SODIMM 216 */
		>;
	};

	/* Verdin GPIO_7 */
	pinctrl_gpio_7: main-gpio0-41-default-pins {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x00a8, PIN_INPUT, 7) /* (M21) GPMC0_CSn0.GPIO0_41 */ /* SODIMM 220 */
		>;
	};

	/* Verdin GPIO_8 */
	pinctrl_gpio_8: main-gpio0-42-default-pins {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x00ac, PIN_INPUT, 7) /* (L21) GPMC0_CSn1.GPIO0_42 */ /* SODIMM 222 */
		>;
	};

	/* Verdin USB_1_OC# */
	pinctrl_usb1_oc: main-gpio0-71-default-pins {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x0124, PIN_INPUT, 7) /* (A23) MMC2_SDCD.GPIO0_71 */ /* SODIMM 157 */
		>;
	};

	/* Verdin USB_2_OC# */
	pinctrl_usb2_oc: main-gpio0-72-default-pins {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x0128, PIN_INPUT, 7) /* (B23) MMC2_SDWP.GPIO0_72 */ /* SODIMM 187 */
		>;
	};

	/* Verdin PWM_3_DSI as GPIO */
	pinctrl_pwm3_dsi_gpio: main-gpio1-17-default-pins {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x01bc, PIN_INPUT, 7) /* (A14) SPI0_CLK.GPIO1_17 */ /* SODIMM 19 */
		>;
	};

	/* Verdin QSPI_1_DQS as GPIO */
	pinctrl_qspi1_dqs_gpio: main-gpio1-18-default-pins {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x01c0, PIN_INPUT, 7) /* (B13) SPI0_D0.GPIO1_18 */ /* SODIMM 66 */
		>;
	};

	/* Verdin USB_1_ID */
	pinctrl_usb0_id: main-gpio1-19-default-pins {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x01c4, PIN_INPUT, 7) /* (B14) SPI0_D1.GPIO1_19 */ /* SODIMM 161 */
		>;
	};

	/* Verdin SD_1_CD# as GPIO */
	pinctrl_sd1_cd_gpio: main-gpio1-48-default-pins {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x240, PIN_INPUT_PULLUP, 7) /* (D17) MMC1_SDCD.GPIO1_48 */ /* SODIMM 84 */
		>;
	};

	/* Verdin DSI_1_INT# (pulled-up as active-low) */
	pinctrl_dsi1_int: main-gpio1-49-default-pins {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x0244, PIN_INPUT_PULLUP, 7) /* (C17) MMC1_SDWP.GPIO1_49 */ /* SODIMM 17 */
		>;
	};

	/* Verdin USB_1_EN */
	pinctrl_usb0_en: main-gpio1-50-default-pins {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x0254, PIN_INPUT, 7) /* (C20) USB0_DRVVBUS.GPIO1_50 */ /* SODIMM 155 */
		>;
	};

	/* On-module I2C - PMIC_I2C */
	pinctrl_i2c0: main-i2c0-default-pins {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x01e0, PIN_INPUT, 0) /* (B16) I2C0_SCL */ /* PMIC_I2C_SCL */
			AM62X_IOPAD(0x01e4, PIN_INPUT, 0) /* (A16) I2C0_SDA */ /* PMIC_I2C_SDA */
		>;
	};

	/* Verdin I2C_1 */
	pinctrl_i2c1: main-i2c1-default-pins {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x01e8, PIN_INPUT_PULLUP, 0) /* (B17) I2C1_SCL */ /* SODIMM 14 */
			AM62X_IOPAD(0x01ec, PIN_INPUT_PULLUP, 0) /* (A17) I2C1_SDA */ /* SODIMM 12 */
		>;
	};

	/* Verdin I2C_2_DSI */
	pinctrl_i2c2: main-i2c2-default-pins {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x00b0, PIN_INPUT, 1) /* (K22) GPMC0_CSn2.I2C2_SCL */ /* SODIMM 55 */
			AM62X_IOPAD(0x00b4, PIN_INPUT, 1) /* (K24) GPMC0_CSn3.I2C2_SDA */ /* SODIMM 53 */
		>;
	};

	/* Verdin I2C_4_CSI */
	pinctrl_i2c3: main-i2c3-default-pins {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x01d0, PIN_INPUT, 2) /* (A15) UART0_CTSn.I2C3_SCL */ /* SODIMM 95 */
			AM62X_IOPAD(0x01d4, PIN_INPUT, 2) /* (B15) UART0_RTSn.I2C3_SDA */ /* SODIMM 93 */
		>;
	};

	/* I2S_1_MCLK */
	pinctrl_i2s1_mclk: main-system-audio-ext-reflock1-default-pins {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x00a0, PIN_OUTPUT, 1) /* (K25) GPMC0_WPn.AUDIO_EXT_REFCLK1 */ /* SODIMM 38 */
		>;
	};

	/* Verdin I2S_1 */
	pinctrl_mcasp0: main-mcasp0-default-pins {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x01a4, PIN_INPUT,  0) /* (B20) MCASP0_ACLKX */ /* SODIMM 30 */
			AM62X_IOPAD(0x01a8, PIN_INPUT,  0) /* (D20) MCASP0_AFSX  */ /* SODIMM 32 */
			AM62X_IOPAD(0x01a0, PIN_OUTPUT, 0) /* (E18) MCASP0_AXR0  */ /* SODIMM 34 */
			AM62X_IOPAD(0x019c, PIN_INPUT,  0) /* (B18) MCASP0_AXR1  */ /* SODIMM 36 */
		>;
	};

	/* Verdin I2S_2 */
	pinctrl_mcasp1: main-mcasp1-default-pins {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x0090, PIN_INPUT,  2) /* (M24) GPMC0_BE0n_CLE.MCASP1_ACLKX */ /* SODIMM 42 */
			AM62X_IOPAD(0x0098, PIN_INPUT,  2) /* (U23) GPMC0_WAIT0.MCASP1_AFSX     */ /* SODIMM 44 */
			AM62X_IOPAD(0x008c, PIN_OUTPUT, 2) /* (L25) GPMC0_WEn.MCASP1_AXR0       */ /* SODIMM 46 */
			AM62X_IOPAD(0x0088, PIN_INPUT,  2) /* (L24) GPMC0_OEn_REn.MCASP1_AXR1   */ /* SODIMM 48 */
		>;
	};

	/* Verdin CAN_1 */
	pinctrl_mcan0: main-mcan0-default-pins {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x01dc, PIN_INPUT,  0) /* (E15) MCAN0_RX */ /* SODIMM 22 */
			AM62X_IOPAD(0x01d8, PIN_OUTPUT, 0) /* (C15) MCAN0_TX */ /* SODIMM 20 */
		>;
	};

	/* MDIO, shared by Verdin ETH_1 (On-module PHY) and Verdin ETH_2_RGMII */
	pinctrl_mdio: main-mdio1-default-pins {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x160, PIN_OUTPUT, 0) /* (AD24) MDIO0_MDC  */ /* ETH_1_MDC,  SODIMM 193 */
			AM62X_IOPAD(0x15c, PIN_INPUT, 0)  /* (AB22) MDIO0_MDIO */ /* ETH_1_MDIO, SODIMM 191 */
		>;
	};

	/* On-module eMMC */
	pinctrl_sdhci0: main-mmc0-default-pins {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x220, PIN_INPUT, 0) /*  (Y3) MMC0_CMD  */
			AM62X_IOPAD(0x218, PIN_INPUT, 0) /* (AB1) MMC0_CLK  */
			AM62X_IOPAD(0x214, PIN_INPUT, 0) /* (AA2) MMC0_DAT0 */
			AM62X_IOPAD(0x210, PIN_INPUT, 0) /* (AA1) MMC0_DAT1 */
			AM62X_IOPAD(0x20c, PIN_INPUT, 0) /* (AA3) MMC0_DAT2 */
			AM62X_IOPAD(0x208, PIN_INPUT, 0) /*  (Y4) MMC0_DAT3 */
			AM62X_IOPAD(0x204, PIN_INPUT, 0) /* (AB2) MMC0_DAT4 */
			AM62X_IOPAD(0x200, PIN_INPUT, 0) /* (AC1) MMC0_DAT5 */
			AM62X_IOPAD(0x1fc, PIN_INPUT, 0) /* (AD2) MMC0_DAT6 */
			AM62X_IOPAD(0x1f8, PIN_INPUT, 0) /* (AC2) MMC0_DAT7 */
		>;
	};

	/* Verdin SD_1 */
	pinctrl_sdhci1: main-mmc1-default-pins {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x23c, PIN_INPUT,        0) /* (A21) MMC1_CMD  */ /* SODIMM 74 */
			AM62X_IOPAD(0x234, PIN_INPUT,        0) /* (B22) MMC1_CLK  */ /* SODIMM 78 */
			AM62X_IOPAD(0x230, PIN_INPUT,        0) /* (A22) MMC1_DAT0 */ /* SODIMM 80 */
			AM62X_IOPAD(0x22c, PIN_INPUT,        0) /* (B21) MMC1_DAT1 */ /* SODIMM 82 */
			AM62X_IOPAD(0x228, PIN_INPUT,        0) /* (C21) MMC1_DAT2 */ /* SODIMM 70 */
			AM62X_IOPAD(0x224, PIN_INPUT,        0) /* (D22) MMC1_DAT3 */ /* SODIMM 72 */
		>;
	};

	/* On-module Wi-Fi on WB SKUs, module-specific SDIO otherwise */
	pinctrl_sdhci2: main-mmc2-default-pins {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x120, PIN_INPUT, 0) /* (C24) MMC2_CMD   */ /* WiFi_SDIO_CMD   */
			AM62X_IOPAD(0x118, PIN_INPUT, 0) /* (D25) MMC2_CLK   */ /* WiFi_SDIO_CLK   */
			AM62X_IOPAD(0x114, PIN_INPUT, 0) /* (B24) MMC2_DAT0  */ /* WiFi_SDIO_DATA0 */
			AM62X_IOPAD(0x110, PIN_INPUT, 0) /* (C25) MMC2_DAT1  */ /* WiFi_SDIO_DATA1 */
			AM62X_IOPAD(0x10c, PIN_INPUT, 0) /* (E23) MMC2_DAT2  */ /* WiFi_SDIO_DATA2 */
			AM62X_IOPAD(0x108, PIN_INPUT, 0) /* (D24) MMC2_DAT3  */ /* WiFi_SDIO_DATA3 */
			AM62X_IOPAD(0x11c, PIN_INPUT, 0) /* (#N/A) MMC2_CLKB */
		>;
	};

	/* Verdin QSPI_1 */
	pinctrl_ospi0: main-ospi0-default-pins {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x0000, PIN_OUTPUT, 0) /* (H24) OSPI0_CLK  */ /* SODIMM 52 */
			AM62X_IOPAD(0x002c, PIN_OUTPUT, 0) /* (F23) OSPI0_CSn0 */ /* SODIMM 54 */
			AM62X_IOPAD(0x0030, PIN_OUTPUT, 0) /* (G21) OSPI0_CSn1 */ /* SODIMM 64 */
			AM62X_IOPAD(0x000c, PIN_INPUT, 0)  /* (E25) OSPI0_D0   */ /* SODIMM 56 */
			AM62X_IOPAD(0x0010, PIN_INPUT, 0)  /* (G24) OSPI0_D1   */ /* SODIMM 58 */
			AM62X_IOPAD(0x0014, PIN_INPUT, 0)  /* (F25) OSPI0_D2   */ /* SODIMM 60 */
			AM62X_IOPAD(0x0018, PIN_INPUT, 0)  /* (F24) OSPI0_D3   */ /* SODIMM 62 */
		>;
	};

	/* Verdin ETH_1 RGMII (On-module PHY) */
	pinctrl_rgmii1: main-rgmii1-default-pins {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x14c, PIN_INPUT,  0) /* (AB17) RGMII1_RD0    */
			AM62X_IOPAD(0x150, PIN_INPUT,  0) /* (AC17) RGMII1_RD1    */
			AM62X_IOPAD(0x154, PIN_INPUT,  0) /* (AB16) RGMII1_RD2    */
			AM62X_IOPAD(0x158, PIN_INPUT,  0) /* (AA15) RGMII1_RD3    */
			AM62X_IOPAD(0x148, PIN_INPUT,  0) /* (AD17) RGMII1_RXC    */
			AM62X_IOPAD(0x144, PIN_INPUT,  0) /* (AE17) RGMII1_RX_CTL */
			AM62X_IOPAD(0x134, PIN_OUTPUT, 0) /* (AE20) RGMII1_TD0    */
			AM62X_IOPAD(0x138, PIN_OUTPUT, 0) /* (AD20) RGMII1_TD1    */
			AM62X_IOPAD(0x13c, PIN_OUTPUT, 0) /* (AE18) RGMII1_TD2    */
			AM62X_IOPAD(0x140, PIN_OUTPUT, 0) /* (AD18) RGMII1_TD3    */
			AM62X_IOPAD(0x130, PIN_OUTPUT, 0) /* (AE19) RGMII1_TXC    */
			AM62X_IOPAD(0x12c, PIN_OUTPUT, 0) /* (AD19) RGMII1_TX_CTL */
		>;
	};

	/* Verdin ETH_2 RGMII */
	pinctrl_rgmii2: main-rgmii2-default-pins {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x184, PIN_INPUT,  0) /* (AE23) RGMII2_RD0    */ /* SODIMM 201 */
			AM62X_IOPAD(0x188, PIN_INPUT,  0) /* (AB20) RGMII2_RD1    */ /* SODIMM 203 */
			AM62X_IOPAD(0x18c, PIN_INPUT,  0) /* (AC21) RGMII2_RD2    */ /* SODIMM 205 */
			AM62X_IOPAD(0x190, PIN_INPUT,  0) /* (AE22) RGMII2_RD3    */ /* SODIMM 207 */
			AM62X_IOPAD(0x180, PIN_INPUT,  0) /* (AD23) RGMII2_RXC    */ /* SODIMM 197 */
			AM62X_IOPAD(0x17c, PIN_INPUT,  0) /* (AD22) RGMII2_RX_CTL */ /* SODIMM 199 */
			AM62X_IOPAD(0x16c, PIN_OUTPUT, 0) /*  (Y18) RGMII2_TD0    */ /* SODIMM 221 */
			AM62X_IOPAD(0x170, PIN_OUTPUT, 0) /* (AA18) RGMII2_TD1    */ /* SODIMM 219 */
			AM62X_IOPAD(0x174, PIN_OUTPUT, 0) /* (AD21) RGMII2_TD2    */ /* SODIMM 217 */
			AM62X_IOPAD(0x178, PIN_OUTPUT, 0) /* (AC20) RGMII2_TD3    */ /* SODIMM 215 */
			AM62X_IOPAD(0x168, PIN_OUTPUT, 0) /* (AE21) RGMII2_TXC    */ /* SODIMM 213 */
			AM62X_IOPAD(0x164, PIN_OUTPUT, 0) /* (AA19) RGMII2_TX_CTL */ /* SODIMM 211 */
		>;
	};

	/* Verdin SPI_1 */
	pinctrl_spi1: main-spi1-default-pins {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x0020, PIN_INPUT, 1) /* (J25) OSPI0_D5.SPI1_CLK */ /* SODIMM 196 */
			AM62X_IOPAD(0x0024, PIN_INPUT, 1) /* (H25) OSPI0_D6.SPI1_D0  */ /* SODIMM 200 */
			AM62X_IOPAD(0x0028, PIN_INPUT, 1) /* (J22) OSPI0_D7.SPI1_D1  */ /* SODIMM 198 */
		>;
	};

	/* Verdin SPI_1 CS */
	pinctrl_spi1_cs0: main-spi1-cs0-default-pins {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x001c, PIN_INPUT, 1) /* (J23) OSPI0_D4.SPI1_CS0 */ /* SODIMM 202 */
		>;
	};

	/* ETH_25MHz_CLK */
	pinctrl_eth_clock: main-system-clkout0-default-pins {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x01f0, PIN_OUTPUT_PULLUP, 5) /* (A18) EXT_REFCLK1.CLKOUT0 */
		>;
	};

	/* PMIC_EXTINT# */
	pinctrl_pmic_extint: main-system-extint-default-pins {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x01f4, PIN_INPUT, 0) /* (D16) EXTINTn */
		>;
	};

	/* Verdin UART_3, used as the Linux console */
	pinctrl_uart0: main-uart0-default-pins {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x1c8, PIN_INPUT_PULLUP, 0) /* (D14) UART0_RXD */ /* SODIMM 147 */
			AM62X_IOPAD(0x1cc, PIN_OUTPUT,       0) /* (E14) UART0_TXD */ /* SODIMM 149 */
		>;
	};

	/* Verdin UART_1 */
	pinctrl_uart1: main-uart1-default-pins {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x0194, PIN_INPUT_PULLUP, 2) /* (B19) MCASP0_AXR3.UART1_CTSn */ /* SODIMM 135 */
			AM62X_IOPAD(0x0198, PIN_OUTPUT,       2) /* (A19) MCASP0_AXR2.UART1_RTSn */ /* SODIMM 133 */
			AM62X_IOPAD(0x01ac, PIN_INPUT_PULLUP, 2) /* (E19) MCASP0_AFSR.UART1_RXD  */ /* SODIMM 129 */
			AM62X_IOPAD(0x01b0, PIN_OUTPUT,       2) /* (A20) MCASP0_ACLKR.UART1_TXD */ /* SODIMM 131 */
		>;
	};

	/* Bluetooth on WB SKUs, module-specific UART otherwise */
	pinctrl_uart5: main-uart5-default-pins {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x0008, PIN_INPUT_PULLUP, 5) /* (J24) OSPI0_DQS.UART5_CTSn    */ /* WiFi_UART_CTS */
			AM62X_IOPAD(0x0004, PIN_OUTPUT,       5) /* (G25) OSPI0_LBCLKO.UART5_RTSn */ /* WiFi_UART_RTS */
			AM62X_IOPAD(0x0034, PIN_INPUT_PULLUP, 5) /* (H21) OSPI0_CSn2.UART5_RXD    */ /* WiFi_UART_RXD */
			AM62X_IOPAD(0x0038, PIN_OUTPUT,       5) /* (E24) OSPI0_CSn3.UART5_TXD    */ /* WiFi_UART_TXD */
		>;
	};

	/* Verdin USB_2 */
	pinctrl_usb1: main-usb1-default-pins {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x0258, PIN_OUTPUT, 0) /* (F18) USB1_DRVVBUS */ /* SODIMM 185 */
		>;
	};

	/* DSS VOUT0 RGB */
	pinctrl_parallel_rgb: main-vout-default-pins {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x0100, PIN_OUTPUT, 0) /* (AC25) VOUT0_VSYNC            */
			AM62X_IOPAD(0x00f8, PIN_OUTPUT, 0) /* (AB24) VOUT0_HSYNC            */
			AM62X_IOPAD(0x0104, PIN_OUTPUT, 0) /* (AC24) VOUT0_PCLK             */
			AM62X_IOPAD(0x00fc, PIN_OUTPUT, 0) /*  (Y20) VOUT0_DE               */
			AM62X_IOPAD(0x00b8, PIN_OUTPUT, 0) /*  (U22) VOUT0_DATA0            */
			AM62X_IOPAD(0x00bc, PIN_OUTPUT, 0) /*  (V24) VOUT0_DATA1            */
			AM62X_IOPAD(0x00c0, PIN_OUTPUT, 0) /*  (W25) VOUT0_DATA2            */
			AM62X_IOPAD(0x00c4, PIN_OUTPUT, 0) /*  (W24) VOUT0_DATA3            */
			AM62X_IOPAD(0x00c8, PIN_OUTPUT, 0) /*  (Y25) VOUT0_DATA4            */
			AM62X_IOPAD(0x00cc, PIN_OUTPUT, 0) /*  (Y24) VOUT0_DATA5            */
			AM62X_IOPAD(0x00d0, PIN_OUTPUT, 0) /*  (Y23) VOUT0_DATA6            */
			AM62X_IOPAD(0x00d4, PIN_OUTPUT, 0) /* (AA25) VOUT0_DATA7            */
			AM62X_IOPAD(0x00d8, PIN_OUTPUT, 0) /*  (V21) VOUT0_DATA8            */
			AM62X_IOPAD(0x00dc, PIN_OUTPUT, 0) /*  (W21) VOUT0_DATA9            */
			AM62X_IOPAD(0x00e0, PIN_OUTPUT, 0) /*  (V20) VOUT0_DATA10           */
			AM62X_IOPAD(0x00e4, PIN_OUTPUT, 0) /* (AA23) VOUT0_DATA11           */
			AM62X_IOPAD(0x00e8, PIN_OUTPUT, 0) /* (AB25) VOUT0_DATA12           */
			AM62X_IOPAD(0x00ec, PIN_OUTPUT, 0) /* (AA24) VOUT0_DATA13           */
			AM62X_IOPAD(0x00f0, PIN_OUTPUT, 0) /*  (Y22) VOUT0_DATA14           */
			AM62X_IOPAD(0x00f4, PIN_OUTPUT, 0) /* (AA21) VOUT0_DATA15           */
			AM62X_IOPAD(0x005c, PIN_OUTPUT, 1) /*  (R24) GPMC0_AD8.VOUT0_DATA16 */
			AM62X_IOPAD(0x0060, PIN_OUTPUT, 1) /*  (R25) GPMC0_AD9.VOUT0_DATA17 */
		>;
	};
};

&mcu_pmx0 {
	/* Verdin PCIE_1_RESET# */
	pinctrl_pcie_1_reset: mcu-gpio0-0-default-pins {
		pinctrl-single,pins = <
			AM62X_MCU_IOPAD(0x0000, PIN_INPUT, 7) /* (E8) MCU_SPI0_CS0.MCU_GPIO0_0 */ /* SODIMM 244 */
		>;
	};

	/* Verdin GPIO_1 */
	pinctrl_gpio_1: mcu-gpio0-1-default-pins {
		pinctrl-single,pins = <
			AM62X_MCU_IOPAD(0x0004, PIN_INPUT, 7) /* (B8) MCU_SPI0_CS1.MCU_GPIO0_1 */ /* SODIMM 206 */
		>;
	};

	/* Verdin GPIO_2 */
	pinctrl_gpio_2: mcu-gpio0-2-default-pins {
		pinctrl-single,pins = <
			AM62X_MCU_IOPAD(0x0008, PIN_INPUT, 7) /* (A7) MCU_SPI0_CLK.MCU_GPIO0_2 */ /* SODIMM 208 */
		>;
	};

	/* Verdin GPIO_3 */
	pinctrl_gpio_3: mcu-gpio0-3-default-pins {
		pinctrl-single,pins = <
			AM62X_MCU_IOPAD(0x000c, PIN_INPUT, 7) /* (D9) MCU_SPI0_D0.MCU_GPIO0_3 */ /* SODIMM 210 */
		>;
	};

	/* Verdin GPIO_4 */
	pinctrl_gpio_4: mcu-gpio0-4-default-pins {
		pinctrl-single,pins = <
			AM62X_MCU_IOPAD(0x0010, PIN_INPUT, 7) /* (C9) MCU_SPI0_D1.MCU_GPIO0_4 */ /* SODIMM 212 */
		>;
	};

	/* Verdin I2C_3_HDMI */
	pinctrl_mcu_i2c0: mcu-i2c0-default-pins {
		pinctrl-single,pins = <
			AM62X_MCU_IOPAD(0x0044, PIN_INPUT, 0) /*  (A8) MCU_I2C0_SCL */ /* SODIMM 59 */
			AM62X_MCU_IOPAD(0x0048, PIN_INPUT, 0) /* (D10) MCU_I2C0_SDA */ /* SODIMM 57 */
		>;
	};

	/* Verdin CAN_2 */
	pinctrl_mcu_mcan0: mcu-mcan0-default-pins {
		pinctrl-single,pins = <
			AM62X_MCU_IOPAD(0x0038, PIN_INPUT,  0) /* (B3) MCU_MCAN0_RX */ /* SODIMM 26 */
			AM62X_MCU_IOPAD(0x0034, PIN_OUTPUT, 0) /* (D6) MCU_MCAN0_TX */ /* SODIMM 24 */
		>;
	};

	/* Verdin UART_4 - Reserved to Cortex-M4 */
	pinctrl_mcu_uart0: mcu-uart0-default-pins {
		pinctrl-single,pins = <
			AM62X_MCU_IOPAD(0x0014, PIN_INPUT_PULLUP, 0) /* (B5) MCU_UART0_RXD */ /* SODIMM 151 */
			AM62X_MCU_IOPAD(0x0018, PIN_OUTPUT,       0) /* (A5) MCU_UART0_TXD */ /* SODIMM 153 */
		>;
	};

	/* Verdin CSI_1_MCLK */
	pinctrl_csi1_mclk: wkup-clkout0-default-pins {
		pinctrl-single,pins = <
			AM62X_MCU_IOPAD(0x0084, PIN_OUTPUT, 0) /* (A12) WKUP_CLKOUT0 */ /* SODIMM 91 */
		>;
	};

	/* Verdin UART_2 */
	pinctrl_wkup_uart0: wkup-uart0-default-pins {
		pinctrl-single,pins = <
			AM62X_MCU_IOPAD(0x002c, PIN_INPUT_PULLUP, 0) /* (C6) WKUP_UART0_CTSn */ /* SODIMM 143 */
			AM62X_MCU_IOPAD(0x0030, PIN_OUTPUT,       0) /* (A4) WKUP_UART0_RTSn */ /* SODIMM 141 */
			AM62X_MCU_IOPAD(0x0024, PIN_INPUT_PULLUP, 0) /* (B4) WKUP_UART0_RXD  */ /* SODIMM 137 */
			AM62X_MCU_IOPAD(0x0028, PIN_OUTPUT,       0) /* (C5) WKUP_UART0_TXD  */ /* SODIMM 139 */
		>;
	};
};

/* VERDIN I2S_1_MCLK */
&audio_refclk1 {
	assigned-clock-rates = <25000000>;
};

&cpsw3g {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_rgmii1>;
	status = "disabled";
};

/* Verdin ETH_1 (On-module PHY) */
&cpsw_port1 {
	phy-handle = <&cpsw3g_phy0>;
	phy-mode = "rgmii-rxid";
	status = "disabled";
};

/* Verdin ETH_2_RGMII */
&cpsw_port2 {
	status = "disabled";
};

/* MDIO, shared by Verdin ETH_1 (On-module PHY) and Verdin ETH_2_RGMII */
&cpsw3g_mdio {
	assigned-clocks = <&k3_clks 157 20>;
	assigned-clock-parents = <&k3_clks 157 22>;
	assigned-clock-rates = <25000000>;
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_eth_clock>, <&pinctrl_mdio>;
	status = "disabled";

	cpsw3g_phy0: ethernet-phy@0 {
		compatible = "ethernet-phy-id2000.a231";
		reg = <0>;
		interrupt-parent = <&main_gpio0>;
		interrupts = <25 IRQ_TYPE_EDGE_FALLING>;
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_eth_int>, <&pinctrl_eth_reset>;
		reset-gpios = <&main_gpio0 17 GPIO_ACTIVE_LOW>;
		reset-assert-us = <10>;
		reset-deassert-us = <1000>;
		ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
		ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
	};
};

&dss {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_parallel_rgb>;
	status = "disabled";
};

&dss_ports {
	#address-cells = <1>;
	#size-cells = <0>;

	/* VP2: DPI Output */
	port@1 {
		reg = <1>;

		dpi_out: endpoint {
			remote-endpoint = <&rgb_in>;
		};
	};
};

/* Verdin PWM_1, PWM_2 */
&epwm0 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_epwm0_a>, <&pinctrl_epwm0_b>;
	status = "disabled";
};

/* Verdin PWM_3_DSI */
&epwm1 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_epwm1_a>;
	status = "disabled";
};

&main_gpio0 {
	gpio-line-names =
		"SODIMM_52", /* 0 */
		"",
		"",
		"SODIMM_56",
		"SODIMM_58",
		"SODIMM_60",
		"SODIMM_62",
		"",
		"",
		"",
		"", /* 10 */
		"SODIMM_54",
		"SODIMM_64",
		"",
		"",
		"SODIMM_174",
		"SODIMM_172",
		"",
		"",
		"",
		"", /* 20 */
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"SODIMM_76",
		"SODIMM_21", /* 30 */
		"SODIMM_256",
		"SODIMM_252",
		"",
		"SODIMM_46",
		"SODIMM_42",
		"SODIMM_218",
		"",
		"SODIMM_189",
		"",
		"SODIMM_216", /* 40 */
		"SODIMM_220",
		"SODIMM_222",
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"", /* 50 */
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"", /* 60 */
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"", /* 70 */
		"SODIMM_157",
		"SODIMM_187",
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"", /* 80 */
		"",
		"",
		"",
		"",
		"",
		"";
};

&main_gpio1 {
	gpio-line-names =
		"", /* 0 */
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"", /* 10 */
		"",
		"",
		"",
		"",
		"SODIMM_15",
		"SODIMM_16",
		"SODIMM_19",
		"SODIMM_66",
		"SODIMM_161",
		"", /* 20 */
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"", /* 30 */
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"", /* 40 */
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"SODIMM_17",
		"SODIMM_155", /* 50 */
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"", /* 60 */
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"", /* 70 */
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"", /* 80 */
		"",
		"",
		"",
		"",
		"",
		"",
		"";
};

/* On-module I2C - PMIC_I2C */
&main_i2c0 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_i2c0>;
	clock-frequency = <400000>;
	status = "okay";

	dsi_bridge: dsi@e {
		compatible = "toshiba,tc358778";
		reg = <0xe>;
		assigned-clocks = <&k3_clks 157 20>;
		assigned-clock-parents = <&k3_clks 157 22>;
		assigned-clock-rates = <25000000>;
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_bridge_reset>;
		clocks = <&k3_clks 157 20>;
		clock-names = "refclk";
		reset-gpios = <&main_gpio0 20 GPIO_ACTIVE_LOW>;
		vddc-supply = <&reg_1v2_dsi>;
		vddmipi-supply = <&reg_1v2_dsi>;
		vddio-supply = <&reg_1v8_dsi>;
		status = "disabled";

		dsi_bridge_ports: ports {
			#address-cells = <1>;
			#size-cells = <0>;

			port@0 {
				reg = <0>;

				rgb_in: endpoint {
					data-lines = <18>;
					remote-endpoint = <&dpi_out>;
				};
			};

			port@1 {
				reg = <1>;
			};
		};
	};

	pmic@30 {
		compatible = "ti,tps65219";
		reg = <0x30>;
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_pmic_extint>;
		interrupt-parent = <&gic500>;
		interrupts = <GIC_SPI 224 IRQ_TYPE_LEVEL_HIGH>;

		buck1-supply = <&reg_vsodimm>;
		buck2-supply = <&reg_vsodimm>;
		buck3-supply = <&reg_vsodimm>;
		ldo1-supply = <&reg_3v3>;
		ldo2-supply = <&reg_1v8>;
		ldo3-supply = <&reg_3v3>;
		ldo4-supply = <&reg_3v3>;
		system-power-controller;
		ti,power-button;

		regulators {
			reg_vdd_core: buck1 {
				regulator-always-on;
				regulator-boot-on;
				regulator-max-microvolt = <850000>;
				regulator-min-microvolt = <750000>;
				regulator-name = "+VDD_CORE (PMIC BUCK1)";
			};

			reg_1v8: buck2 {
				regulator-always-on;
				regulator-boot-on;
				regulator-max-microvolt = <1800000>;
				regulator-min-microvolt = <1800000>;
				regulator-name = "+V1.8 (PMIC BUCK2)"; /* On-module and SODIMM 214 */
			};

			reg_vdd_ddr: buck3 {
				regulator-always-on;
				regulator-boot-on;
				regulator-max-microvolt = <1100000>;
				regulator-min-microvolt = <1100000>;
				regulator-name = "+VDD_DDR (PMIC BUCK3)";
			};

			reg_sd_3v3_1v8: ldo1 {
				regulator-allow-bypass;
				regulator-always-on;
				regulator-boot-on;
				regulator-max-microvolt = <3300000>;
				regulator-min-microvolt = <3300000>;
				regulator-name = "+V3.3_1.8_SD (PMIC LDO1)";
			};

			reg_vddr_core: ldo2 {
				regulator-always-on;
				regulator-boot-on;
				regulator-max-microvolt = <850000>;
				regulator-min-microvolt = <850000>;
				regulator-name = "+VDDR_CORE (PMIC LDO2)";
			};

			reg_1v8a: ldo3 {
				regulator-always-on;
				regulator-boot-on;
				regulator-max-microvolt = <1800000>;
				regulator-min-microvolt = <1800000>;
				regulator-name = "+V1.8A (PMIC LDO3)";
			};

			reg_eth_2v5: ldo4 {
				regulator-always-on;
				regulator-boot-on;
				regulator-max-microvolt = <2500000>;
				regulator-min-microvolt = <2500000>;
				regulator-name = "+V2.5_ETH (PMIC LDO4)";
			};
		};
	};

	rtc_i2c: rtc@32 {
		compatible = "epson,rx8130";
		reg = <0x32>;
	};

	sensor@48 {
		compatible = "ti,tmp1075";
		reg = <0x48>;
	};

	adc@49 {
		compatible = "ti,ads1015";
		reg = <0x49>;
		#address-cells = <1>;
		#size-cells = <0>;

		/* Verdin PMIC_I2C (ADC_4 - ADC_3) */
		channel@0 {
			reg = <0>;
			ti,datarate = <4>;
			ti,gain = <2>;
		};

		/* Verdin PMIC_I2C (ADC_4 - ADC_1) */
		channel@1 {
			reg = <1>;
			ti,datarate = <4>;
			ti,gain = <2>;
		};

		/* Verdin PMIC_I2C (ADC_3 - ADC_1) */
		channel@2 {
			reg = <2>;
			ti,datarate = <4>;
			ti,gain = <2>;
		};

		/* Verdin PMIC_I2C (ADC_2 - ADC_1) */
		channel@3 {
			reg = <3>;
			ti,datarate = <4>;
			ti,gain = <2>;
		};

		/* Verdin PMIC_I2C ADC_4 */
		channel@4 {
			reg = <4>;
			ti,datarate = <4>;
			ti,gain = <2>;
		};

		/* Verdin PMIC_I2C ADC_3 */
		channel@5 {
			reg = <5>;
			ti,datarate = <4>;
			ti,gain = <2>;
		};

		/* Verdin PMIC_I2C ADC_2 */
		channel@6 {
			reg = <6>;
			ti,datarate = <4>;
			ti,gain = <2>;
		};

		/* Verdin PMIC_I2C ADC_1 */
		channel@7 {
			reg = <7>;
			ti,datarate = <4>;
			ti,gain = <2>;
		};
	};

	eeprom@50 {
		compatible = "st,24c02", "atmel,24c02";
		pagesize = <16>;
		reg = <0x50>;
	};
};

/* Verdin I2C_1 */
&main_i2c1 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_i2c1>;
	status = "disabled";
};

/* Verdin I2C_2_DSI */
&main_i2c2 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_i2c2>;
	status = "disabled";
};

/* Verdin I2C_4_CSI */
&main_i2c3 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_i2c3>;
	status = "disabled";
};

&mailbox0_cluster0 {
	mbox_m4_0: mbox-m4-0 {
		ti,mbox-rx = <0 0 0>;
		ti,mbox-tx = <1 0 0>;
	};
};

/* Verdin CAN_1 */
&main_mcan0 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_mcan0>;
	status = "disabled";
};

/* Verdin SPI_1 */
&main_spi1 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_spi1>, <&pinctrl_spi1_cs0>;
	ti,pindir-d0-out-d1-in;
	status = "disabled";
};

/* Verdin UART_3, used as the Linux console */
&main_uart0 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_uart0>;
	status = "disabled";
};

/* Verdin UART_1 */
&main_uart1 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_uart1>;
	status = "disabled";
};

/* Verdin I2S_1 */
&mcasp0 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_mcasp0>;
	op-mode = <0>; /* I2S mode */
	serial-dir = <  /* 0: INACTIVE, 1: TX, 2: RX */
	       1 2 0 0
	       0 0 0 0
	       0 0 0 0
	       0 0 0 0
	>;
	tdm-slots = <2>;
	#sound-dai-cells = <0>;
	status = "disabled";
};

/* Verdin I2S_2 */
&mcasp1 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_mcasp1>;
	op-mode = <0>; /* I2S mode */
	serial-dir = <  /* 0: INACTIVE, 1: TX, 2: RX */
	       1 2 0 0
	       0 0 0 0
	       0 0 0 0
	       0 0 0 0
	>;
	tdm-slots = <2>;
	#sound-dai-cells = <0>;
	status = "disabled";
};

/* Verdin I2C_3_HDMI */
&mcu_i2c0 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_mcu_i2c0>;
	status = "disabled";
};

&mcu_gpio0 {
	gpio-line-names =
		"SODIMM_244",
		"SODIMM_206",
		"SODIMM_208",
		"SODIMM_210",
		"SODIMM_212",
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"",
		"";

	verdin_pcie_1_reset_hog: pcie-1-reset-hog {
		gpio-hog;
		/* Verdin PCIE_1_RESET# (SODIMM 244) */
		gpios = <0 GPIO_ACTIVE_LOW>;
		line-name = "PCIE_1_RESET#";
		output-low;
		status = "disabled";
	};
};

/* Verdin CAN_2 */
&mcu_mcan0 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_mcu_mcan0>;
	status = "disabled";
};

/* Verdin UART_4 - Cortex-M4 UART */
&mcu_uart0 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_mcu_uart0>;
	status = "disabled";
};

/* Verdin QSPI_1 */
&ospi0 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_ospi0>;
	status = "disabled";
};

/* On-module eMMC */
&sdhci0 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_sdhci0>;
	non-removable;
	status = "okay";
};

/* Verdin SD_1 */
&sdhci1 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_sdhci1>, <&pinctrl_sd1_cd_gpio>;
	cd-gpios = <&main_gpio1 48 GPIO_ACTIVE_LOW>;
	disable-wp;
	vmmc-supply = <&reg_sdhc1_vmmc>;
	vqmmc-supply = <&reg_sdhc1_vqmmc>;
	ti,fails-without-test-cd;
	status = "disabled";
};

/* Verdin USB_1 */
&usbss0 {
	ti,vbus-divider;
	status = "disabled";
};

&usb0 {
	adp-disable;
	usb-role-switch;
	status = "disabled";

	port {
		usb0_ep: endpoint {
			remote-endpoint = <&usb_dr_connector>;
		};
	};
};

/* Verdin USB_2 */
&usbss1 {
	ti,vbus-divider;
	status = "disabled";
};

&usb1 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_usb1>;
	dr_mode = "host";
	status = "disabled";
};

/* Verdin UART_2 */
&wkup_uart0 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_wkup_uart0>;
	status = "disabled";
};
