File Index
Files and directories
Sign in
FILE

k3-am62p-verdin.dtsi

File preview with syntax highlighting.

linux-6.19.14/arch/arm64/boot/dts/ti/k3-am62p-verdin.dtsi DEVICETREE
   1// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
   2/*
   3 * Copyright 2025 Toradex
   4 *
   5 * Common dtsi for Verdin AM62P SoM
   6 *
   7 * https://www.toradex.com/computer-on-modules/verdin-arm-family/ti-am62p
   8 */
   9
  10#include <dt-bindings/gpio/gpio.h>
  11#include <dt-bindings/input/input.h>
  12#include <dt-bindings/interrupt-controller/arm-gic.h>
  13#include <dt-bindings/interrupt-controller/irq.h>
  14#include <dt-bindings/net/ti-dp83867.h>
  15
  16/ {
  17	aliases {
  18		can0 = &main_mcan0;
  19		can1 = &mcu_mcan0;
  20		eeprom0 = &som_eeprom;
  21		ethernet0 = &cpsw_port1;
  22		ethernet1 = &cpsw_port2;
  23		i2c0 = &wkup_i2c0;
  24		i2c1 = &main_i2c0;
  25		i2c2 = &main_i2c1;
  26		i2c3 = &mcu_i2c0;
  27		i2c4 = &main_i2c3;
  28		mmc0 = &sdhci0;
  29		mmc1 = &sdhci1;
  30		mmc2 = &sdhci2;
  31		rtc0 = &som_rtc_i2c;
  32		rtc1 = &wkup_rtc0;
  33		serial0 = &main_uart1;
  34		serial1 = &wkup_uart0;
  35		serial2 = &main_uart0;
  36		serial3 = &mcu_uart0;
  37		serial4 = &main_uart6;
  38		usb0 = &usb0;
  39		usb1 = &usb1;
  40	};
  41
  42	chosen {
  43		stdout-path = "serial2:115200n8";
  44	};
  45
  46	connector {
  47		compatible = "gpio-usb-b-connector", "usb-b-connector";
  48		pinctrl-names = "default";
  49		pinctrl-0 = <&pinctrl_usb0_id>;
  50		id-gpios = <&main_gpio0 31 GPIO_ACTIVE_HIGH>;
  51		label = "USB_1";
  52		self-powered;
  53		vbus-supply = <&reg_usb0_vbus>;
  54
  55		port {
  56			usb_dr_connector: endpoint {
  57				remote-endpoint = <&usb0_ep>;
  58			};
  59		};
  60	};
  61
  62	verdin_gpio_keys: gpio-keys {
  63		compatible = "gpio-keys";
  64		pinctrl-names = "default";
  65		pinctrl-0 = <&pinctrl_ctrl_wake1_mico>;
  66		status = "disabled";
  67
  68		key-wakeup {
  69			debounce-interval = <10>;
  70			/* Verdin CTRL_WAKE1_MICO# (SODIMM 252) */
  71			gpios = <&main_gpio0 1 GPIO_ACTIVE_LOW>;
  72			label = "Wake-Up";
  73			linux,code = <KEY_WAKEUP>;
  74			wakeup-source;
  75		};
  76	};
  77
  78	memory@80000000 {
  79		/* 2G RAM */
  80		reg = <0x00000000 0x80000000 0x00000000 0x80000000>;
  81		device_type = "memory";
  82	};
  83
  84	opp-table {
  85		/* Add 1.4GHz OPP. Requires VDD_CORE to be at 0.85V */
  86		opp-1400000000 {
  87			opp-hz = /bits/ 64 <1400000000>;
  88			opp-supported-hw = <0x01 0x0004>;
  89			clock-latency-ns = <6000000>;
  90		};
  91	};
  92
  93	reg_force_sleep_moci: regulator-force-sleep-moci {
  94		compatible = "regulator-fixed";
  95		/* Verdin CTRL_SLEEP_MOCI# (SODIMM 256) */
  96		gpios = <&som_gpio_expander 0 GPIO_ACTIVE_HIGH>;
  97		enable-active-high;
  98		regulator-always-on;
  99		regulator-boot-on;
 100		regulator-name = "CTRL_SLEEP_MOCI#";
 101	};
 102
 103	/* Verdin SD_1 Power Supply */
 104	reg_sd1_vmmc: regulator-sdhci1-vmmc {
 105		compatible = "regulator-fixed";
 106		pinctrl-names = "default";
 107		pinctrl-0 = <&pinctrl_sd1_pwr_en>;
 108		/* Verdin SD_1_PWR_EN (SODIMM 76) */
 109		gpios = <&main_gpio0 47 GPIO_ACTIVE_HIGH>;
 110		enable-active-high;
 111		off-on-delay-us = <100000>;
 112		regulator-max-microvolt = <3300000>;
 113		regulator-min-microvolt = <3300000>;
 114		regulator-name = "+V3.3_SD";
 115		startup-delay-us = <20000>;
 116	};
 117
 118	reg_sd1_vqmmc: regulator-sdhci1-vqmmc {
 119		compatible = "regulator-gpio";
 120		pinctrl-names = "default";
 121		pinctrl-0 = <&pinctrl_sd_vsel>;
 122		/* PMIC_VSEL_SD */
 123		gpios = <&main_gpio0 21 GPIO_ACTIVE_HIGH>;
 124		regulator-name = "LDO1-VSEL-SD (PMIC)";
 125		regulator-min-microvolt = <1800000>;
 126		regulator-max-microvolt = <3300000>;
 127		states = <1800000 0x0>,
 128			 <3300000 0x1>;
 129		vin-supply = <&reg_sd_3v3_1v8>;
 130	};
 131
 132	reg_usb0_vbus: regulator-usb0-vbus {
 133		compatible = "regulator-fixed";
 134		pinctrl-names = "default";
 135		pinctrl-0 = <&pinctrl_usb0_en>;
 136		/* Verdin USB_1_EN (SODIMM 155) */
 137		gpios = <&main_gpio1 50 GPIO_ACTIVE_HIGH>;
 138		enable-active-high;
 139		regulator-max-microvolt = <5000000>;
 140		regulator-min-microvolt = <5000000>;
 141		regulator-name = "USB_1_EN";
 142	};
 143
 144	/* Module Power Supply */
 145	reg_vsodimm: regulator-vsodimm {
 146		compatible = "regulator-fixed";
 147		regulator-name = "+V_SODIMM";
 148	};
 149
 150	reserved_memory: reserved-memory {
 151		#address-cells = <2>;
 152		#size-cells = <2>;
 153		ranges;
 154
 155		secure_tfa_ddr: tfa@9e780000 {
 156			reg = <0x00 0x9e780000 0x00 0x80000>;
 157			no-map;
 158		};
 159
 160		secure_ddr: optee@9e800000 {
 161			reg = <0x00 0x9e800000 0x00 0x01800000>; /* for OP-TEE */
 162			no-map;
 163		};
 164
 165		wkup_r5fss0_core0_dma_memory_region: memory@9c800000 {
 166			compatible = "shared-dma-pool";
 167			reg = <0x00 0x9c800000 0x00 0x100000>;
 168			no-map;
 169		};
 170
 171		wkup_r5fss0_core0_memory_region: memory@9c900000 {
 172			compatible = "shared-dma-pool";
 173			reg = <0x00 0x9c900000 0x00 0x01e00000>;
 174			no-map;
 175		};
 176	};
 177};
 178
 179&main_pmx0 {
 180	/* Verdin PWM_3_DSI */
 181	pinctrl_epwm0_b: main-epwm0b-default-pins {
 182		pinctrl-single,pins = <
 183			AM62PX_IOPAD(0x01b8, PIN_OUTPUT, 2) /* (E20) SPI0_CS1.EHRPWM0_B */ /* SODIMM 19 */
 184		>;
 185	};
 186
 187	/* Verdin PWM_2 */
 188	pinctrl_epwm2_a: main-epwm2a-default-pins {
 189		pinctrl-single,pins = <
 190			AM62PX_IOPAD(0x0124, PIN_OUTPUT, 4) /* (J25) MMC2_SDCD.EHRPWM2_A */ /* SODIMM 16 */
 191		>;
 192	};
 193
 194	/* Verdin PWM_1 */
 195	pinctrl_epwm2_b: main-epwm2b-default-pins {
 196		pinctrl-single,pins = <
 197			AM62PX_IOPAD(0x0128, PIN_OUTPUT, 4) /* (K25) MMC2_SDWP.EHRPWM2_B */ /* SODIMM 15 */
 198		>;
 199	};
 200
 201	/* Verdin QSPI_1_CLK as GPIO (conflict with Verdin QSPI_1 interface) */
 202	pinctrl_qspi1_clk_gpio: main-gpio0-0-default-pins {
 203		pinctrl-single,pins = <
 204			AM62PX_IOPAD(0x0000, PIN_INPUT, 7) /* (P23) OSPI0_CLK.GPIO0_0 */ /* SODIMM 52 */
 205		>;
 206	};
 207
 208	/* Verdin CTRL_WAKE1_MICO# */
 209	pinctrl_ctrl_wake1_mico: main-gpio0-1-default-pins {
 210		pinctrl-single,pins = <
 211			AM62PX_IOPAD(0x0004, PIN_INPUT, 7) /* (N23) OSPI0_LBCLKO.GPIO0_1 */ /* SODIMM 252 */
 212		>;
 213	};
 214
 215	/* Verdin QSPI_1_DQS as GPIO (conflict with Verdin QSPI_1 interface) */
 216	pinctrl_qspi1_dqs_gpio: main-gpio0-2-default-pins {
 217		pinctrl-single,pins = <
 218			AM62PX_IOPAD(0x0008, PIN_INPUT, 7) /* (P22) OSPI0_DQS.GPIO0_2 */ /* SODIMM 66 */
 219		>;
 220	};
 221
 222	/* Verdin QSPI_1_IO0 as GPIO (conflict with Verdin QSPI_1 interface) */
 223	pinctrl_qspi1_io0_gpio: main-gpio0-3-default-pins {
 224		pinctrl-single,pins = <
 225			AM62PX_IOPAD(0x000c, PIN_INPUT, 7) /* (L25) OSPI0_D0.GPIO0_3 */ /* SODIMM 56 */
 226		>;
 227	};
 228
 229	/* Verdin QSPI_1_IO1 as GPIO (conflict with Verdin QSPI_1 interface) */
 230	pinctrl_qspi1_io1_gpio: main-gpio0-4-default-pins {
 231		pinctrl-single,pins = <
 232			AM62PX_IOPAD(0x0010, PIN_INPUT, 7) /* (N24) OSPI0_D1.GPIO0_4 */ /* SODIMM 58 */
 233		>;
 234	};
 235
 236	/* Verdin QSPI_1_IO2 as GPIO (conflict with Verdin QSPI_1 interface) */
 237	pinctrl_qspi1_io2_gpio: main-gpio0-5-default-pins {
 238		pinctrl-single,pins = <
 239			AM62PX_IOPAD(0x0014, PIN_INPUT, 7) /* (N25) OSPI0_D2.GPIO0_5 */ /* SODIMM 60 */
 240		>;
 241	};
 242
 243	/* Verdin QSPI_1_IO3 as GPIO (conflict with Verdin QSPI_1 interface) */
 244	pinctrl_qspi1_io3_gpio: main-gpio0-6-default-pins {
 245		pinctrl-single,pins = <
 246			AM62PX_IOPAD(0x0018, PIN_INPUT, 7) /* (M24) OSPI0_D3.GPIO0_6 */ /* SODIMM 62 */
 247		>;
 248	};
 249
 250	/* Verdin QSPI_1_CS# as GPIO (conflict with Verdin QSPI_1 interface) */
 251	pinctrl_qspi1_cs_gpio: main-gpio0-11-default-pins {
 252		pinctrl-single,pins = <
 253			AM62PX_IOPAD(0x002c, PIN_INPUT, 7) /* (M25) OSPI0_CSn0.GPIO0_11 */ /* SODIMM 54 */
 254		>;
 255	};
 256
 257	/* Verdin QSPI_1_CS2# as GPIO (conflict with Verdin QSPI_1 interface) */
 258	pinctrl_qspi1_cs2_gpio: main-gpio0-12-default-pins {
 259		pinctrl-single,pins = <
 260			AM62PX_IOPAD(0x0030, PIN_INPUT, 7) /* (L24) OSPI0_CSn1.GPIO0_12 */ /* SODIMM 64 */
 261		>;
 262	};
 263
 264	/* Verdin MSP_37 as GPIO */
 265	pinctrl_msp37_gpio: main-gpio0-13-default-pins {
 266		pinctrl-single,pins = <
 267			AM62PX_IOPAD(0x0034, PIN_INPUT, 7) /* (L22) OSPI0_CSn2.GPIO0_13 */ /* SODIMM 174 - WiFi_W_WKUP_HOST# */
 268		>;
 269	};
 270
 271	/* Verdin PCIE_1_RESET# */
 272	pinctrl_pcie_1_reset: main-gpio0-14-default-pins {
 273		pinctrl-single,pins = <
 274			AM62PX_IOPAD(0x0038, PIN_INPUT, 7) /* (L23) OSPI0_CSn3.GPIO0_14 */ /* SODIMM 244 */
 275		>;
 276	};
 277
 278	pinctrl_sd_vsel: main-gpio0-21-default-pins {
 279		pinctrl-single,pins = <
 280			AM62PX_IOPAD(0x0054, PIN_INPUT, 7) /* (V24) GPMC0_AD6.GPIO0_21 */ /* PMIC_SD_VSEL */
 281		>;
 282	};
 283
 284	pinctrl_tpm_extint: main-gpio0-25-default-pins {
 285		pinctrl-single,pins = <
 286			AM62PX_IOPAD(0x0064, PIN_INPUT, 7) /* (AA25) GPMC0_AD10.GPIO0_25 */ /* TPM_EXTINT# */
 287		>;
 288	};
 289
 290	pinctrl_wifi_wkup_bt: main-gpio0-29-default-pins {
 291		pinctrl-single,pins = <
 292			AM62PX_IOPAD(0x0074, PIN_INPUT, 7) /* (AB24) GPMC0_AD14.GPIO0_29 */ /* WiFi_WKUP_BT# */
 293		>;
 294	};
 295
 296	pinctrl_wifi_wkup_wlan: main-gpio0-30-default-pins {
 297		pinctrl-single,pins = <
 298			AM62PX_IOPAD(0x0078, PIN_INPUT, 7) /* (AC24) GPMC0_AD15.GPIO0_30 */ /* WiFi_WKUP_WLAN# */
 299		>;
 300	};
 301
 302	/* Verdin USB_1_ID */
 303	pinctrl_usb0_id: main-gpio0-31-default-pins {
 304		pinctrl-single,pins = <
 305			AM62PX_IOPAD(0x007c, PIN_INPUT, 7) /* (Y25) GPMC0_CLK.GPIO0_31 */ /* SODIMM 161 */
 306		>;
 307	};
 308
 309	/* Verdin USB_1_OC# */
 310	pinctrl_usb1_oc: main-gpio0-32-default-pins {
 311		pinctrl-single,pins = <
 312			AM62PX_IOPAD(0x0084, PIN_INPUT, 7) /* (R25) GPMC0_ADVn_ALE.GPIO0_32 */ /* SODIMM 157 */
 313		>;
 314	};
 315
 316	/* Verdin I2S_2_D_IN as GPIO (conflict with Verdin I2S_2 interface) */
 317	pinctrl_i2s_2_d_in_gpio: main-gpio0-33-default-pins {
 318		pinctrl-single,pins = <
 319			AM62PX_IOPAD(0x0088, PIN_INPUT, 7) /* (R24) GPMC0_OEn_REn.GPIO0_33 */ /* SODIMM 48 */
 320		>;
 321	};
 322
 323	/* Verdin I2S_2_D_OUT as GPIO (conflict with Verdin I2S_2 interface) */
 324	pinctrl_i2s_2_d_out_gpio: main-gpio0-34-default-pins {
 325		pinctrl-single,pins = <
 326			AM62PX_IOPAD(0x008c, PIN_INPUT, 7) /* (T25) GPMC0_WEn.GPIO0_34 */ /* SODIMM 46 */
 327		>;
 328	};
 329
 330	/* Verdin I2S_2_BCLK as GPIO (conflict with Verdin I2S_2 interface) */
 331	pinctrl_i2s_2_bclk_gpio: main-gpio0-35-default-pins {
 332		pinctrl-single,pins = <
 333			AM62PX_IOPAD(0x0090, PIN_INPUT, 7) /* (U24) GPMC0_BE0n_CLE.GPIO0_35 */ /* SODIMM 42 */
 334		>;
 335	};
 336
 337	pinctrl_eth_int: main-gpio0-36-default-pins {
 338		pinctrl-single,pins = <
 339			AM62PX_IOPAD(0x0094, PIN_INPUT, 7) /* (T24) GPMC0_BE1n.GPIO0_36 */ /* ETH_INT# */
 340		>;
 341	};
 342
 343	/* Verdin I2S_2_SYNC as GPIO (conflict with Verdin I2S_2 interface) */
 344	pinctrl_i2s_2_sync_gpio: main-gpio0-37-default-pins {
 345		pinctrl-single,pins = <
 346			AM62PX_IOPAD(0x0098, PIN_INPUT, 7) /* (AA24) GPMC0_WAIT0.GPIO0_37 */ /* SODIMM 44 */
 347		>;
 348	};
 349
 350	/* Verdin DSI_1_INT# */
 351	pinctrl_dsi1_int: main-gpio0-38-default-pins {
 352		pinctrl-single,pins = <
 353			AM62PX_IOPAD(0x009c, PIN_INPUT, 7) /* (AD24) GPMC0_WAIT1.GPIO0_38 */ /* SODIMM 17 */
 354		>;
 355	};
 356
 357	/* Verdin DSI_1_BLK_EN# */
 358	pinctrl_dsi1_bkl_en: main-gpio0-39-default-pins {
 359		pinctrl-single,pins = <
 360			AM62PX_IOPAD(0x00a0, PIN_INPUT, 7) /* (P24) GPMC0_WPn.GPIO0_39 */ /* SODIMM 21 */
 361		>;
 362	};
 363
 364	/* Verdin USB_2_OC# */
 365	pinctrl_usb2_oc: main-gpio0-41-default-pins {
 366		pinctrl-single,pins = <
 367			AM62PX_IOPAD(0x00a8, PIN_INPUT, 7) /* (T23) GPMC0_CSn0.GPIO0_41 */ /* SODIMM 187 */
 368		>;
 369	};
 370
 371	/* Verdin ETH_2_RGMII_INT# */
 372	pinctrl_eth2_rgmii_int: main-gpio0-42-default-pins {
 373		pinctrl-single,pins = <
 374			AM62PX_IOPAD(0x00ac, PIN_INPUT, 7) /* (U23) GPMC0_CSn1.GPIO0_42 */ /* SODIMM 189 */
 375		>;
 376	};
 377
 378	/* Verdin SD_1_PWR_EN */
 379	pinctrl_sd1_pwr_en: main-gpio0-47-default-pins {
 380		pinctrl-single,pins = <
 381			AM62PX_IOPAD(0x00c0, PIN_INPUT, 7) /* (AA23) VOUT0_DATA2.GPIO0_47 */ /* SODIMM 76 */
 382		>;
 383	};
 384
 385	/* Verdin GPIO_5 */
 386	pinctrl_gpio_5: main-gpio0-49-default-pins {
 387		pinctrl-single,pins = <
 388			AM62PX_IOPAD(0x00c8, PIN_INPUT, 7) /* (AB23) VOUT0_DATA4.GPIO0_49 */ /* SODIMM 216 */
 389		>;
 390	};
 391
 392	/* Verdin GPIO_6 */
 393	pinctrl_gpio_6: main-gpio0-50-default-pins {
 394		pinctrl-single,pins = <
 395			AM62PX_IOPAD(0x00cc, PIN_INPUT, 7) /* (AD23) VOUT0_DATA5.GPIO0_50 */ /* SODIMM 218 */
 396		>;
 397	};
 398
 399	/* Verdin GPIO_7 */
 400	pinctrl_gpio_7: main-gpio0-51-default-pins {
 401		pinctrl-single,pins = <
 402			AM62PX_IOPAD(0x00d0, PIN_INPUT, 7) /* (AC23) VOUT0_DATA6.GPIO0_51 */ /* SODIMM 220 */
 403		>;
 404	};
 405
 406	/* Verdin GPIO_8 */
 407	pinctrl_gpio_8: main-gpio0-52-default-pins {
 408		pinctrl-single,pins = <
 409			AM62PX_IOPAD(0x00d4, PIN_INPUT, 7) /* (AE23) VOUT0_DATA7.GPIO0_52 */ /* SODIMM 222 */
 410		>;
 411	};
 412
 413	/* Verdin MSP_36 as GPIO */
 414	pinctrl_msp36_gpio: main-gpio0-57-default-pins {
 415		pinctrl-single,pins = <
 416			AM62PX_IOPAD(0x00e8, PIN_INPUT, 7) /* (AD21) VOUT0_DATA12.GPIO0_57 */ /* SODIMM 172 - WiFi_BT_WKUP_HOST#  */
 417		>;
 418	};
 419
 420	pinctrl_wifi_sd_int: main-gpio0-59-default-pins {
 421		pinctrl-single,pins = <
 422			AM62PX_IOPAD(0x00f0, PIN_INPUT, 7) /* (AA20) VOUT0_DATA14.GPIO0_59 */ /* WIFI_SD_INT */
 423		>;
 424	};
 425
 426	pinctrl_wifi_spi_cs: main-gpio0-60-default-pins {
 427		pinctrl-single,pins = <
 428			AM62PX_IOPAD(0x00f4, PIN_INPUT, 7) /* (Y20) VOUT0_DATA15.GPIO0_60 */ /* WIFI_SPI_CS# */
 429		>;
 430	};
 431
 432	/* Verdin PWM_3_DSI as GPIO */
 433	pinctrl_pwm3_dsi_gpio: main-gpio1-16-default-pins {
 434		pinctrl-single,pins = <
 435			AM62PX_IOPAD(0x01b8, PIN_INPUT, 7) /* (E20) SPI0_CS1.GPIO1_16 */ /* SODIMM 19 */
 436		>;
 437	};
 438
 439	/* Verdin SD_1_CD# */
 440	pinctrl_sd1_cd: main-gpio1-48-default-pins {
 441		pinctrl-single,pins = <
 442			AM62PX_IOPAD(0x0240, PIN_INPUT_PULLUP, 7) /* (D23) MMC1_SDCD.GPIO1_48 */ /* SODIMM 84 */
 443		>;
 444	};
 445
 446	/* Verdin MSP_29 as GPIO */
 447	pinctl_msp29_gpio: main-gpio1-49-default-pins {
 448		pinctrl-single,pins = <
 449			AM62PX_IOPAD(0x0244, PIN_INPUT, 7) /* (D24) MMC1_SDWP.GPIO1_49 */ /* SODIMM 154 */
 450		>;
 451	};
 452
 453	/* Verdin USB_1_EN */
 454	pinctrl_usb0_en: main-gpio1-50-default-pins {
 455		pinctrl-single,pins = <
 456			AM62PX_IOPAD(0x0254, PIN_INPUT, 7) /* (G22) USB0_DRVVBUS.GPIO1_50 */ /* SODIMM 155 */
 457		>;
 458	};
 459
 460	/* Verdin I2C_1 */
 461	pinctrl_main_i2c0: main-i2c0-default-pins {
 462		pinctrl-single,pins = <
 463			AM62PX_IOPAD(0x01e0, PIN_INPUT_PULLUP, 0) /* (B25) I2C0_SCL */ /* SODIMM 14 */
 464			AM62PX_IOPAD(0x01e4, PIN_INPUT_PULLUP, 0) /* (A24) I2C0_SDA */ /* SODIMM 12 */
 465		>;
 466	};
 467
 468	/* Verdin I2C_2_DSI */
 469	pinctrl_main_i2c1: main-i2c1-default-pins {
 470		pinctrl-single,pins = <
 471			AM62PX_IOPAD(0x01e8, PIN_INPUT_PULLUP, 0) /* (C24) I2C1_SCL */ /* SODIMM 55 */
 472			AM62PX_IOPAD(0x01ec, PIN_INPUT_PULLUP, 0) /* (B24) I2C1_SDA */ /* SODIMM 53 */
 473		>;
 474	};
 475
 476	/* Verdin I2C_4_CSI */
 477	pinctrl_main_i2c3: main-i2c3-default-pins {
 478		pinctrl-single,pins = <
 479			AM62PX_IOPAD(0x01d0, PIN_INPUT_PULLUP, 2) /* (A23) UART0_CTSn.I2C3_SCL */ /* SODIMM 95 */
 480			AM62PX_IOPAD(0x01d4, PIN_INPUT_PULLUP, 2) /* (C22) UART0_RTSn.I2C3_SDA */ /* SODIMM 93 */
 481		>;
 482	};
 483
 484	/* Verdin CAN_1 */
 485	pinctrl_main_mcan0: main-mcan0-default-pins {
 486		pinctrl-single,pins = <
 487			AM62PX_IOPAD(0x01dc, PIN_INPUT, 0)  /* (F20) MCAN0_RX */ /* SODIMM 22 */
 488			AM62PX_IOPAD(0x01d8, PIN_OUTPUT, 0) /* (B23) MCAN0_TX */ /* SODIMM 20 */
 489		>;
 490	};
 491
 492	/* Verdin MSP_3/MSP_8 as CAN */
 493	pinctrl_main_mcan1: main-mcan1-default-pins {
 494		pinctrl-single,pins = <
 495			AM62PX_IOPAD(0x00b4, PIN_INPUT, 5)  /* (U25) GPMC0_CSn3.MCAN1_RX */ /* SODIMM 92  */
 496			AM62PX_IOPAD(0x00b0, PIN_OUTPUT, 5) /* (T22) GPMC0_CSn2.MCAN1_TX */ /* SODIMM 104 */
 497		>;
 498	};
 499
 500	/* Verdin SD_1 */
 501	pinctrl_sdhci1: main-mmc1-default-pins {
 502		pinctrl-single,pins = <
 503			AM62PX_IOPAD(0x023c, PIN_INPUT,  0) /* (H20) MMC1_CMD  */ /* SODIMM 74 */
 504			AM62PX_IOPAD(0x0234, PIN_OUTPUT, 0) /* (J24) MMC1_CLK  */ /* SODIMM 78 */
 505			AM62PX_IOPAD(0x0230, PIN_INPUT,  0) /* (H21) MMC1_DAT0 */ /* SODIMM 80 */
 506			AM62PX_IOPAD(0x022c, PIN_INPUT,  0) /* (H23) MMC1_DAT1 */ /* SODIMM 82 */
 507			AM62PX_IOPAD(0x0228, PIN_INPUT,  0) /* (H22) MMC1_DAT2 */ /* SODIMM 70 */
 508			AM62PX_IOPAD(0x0224, PIN_INPUT,  0) /* (H25) MMC1_DAT3 */ /* SODIMM 72 */
 509		>;
 510	};
 511
 512	/* On-module Wi-Fi on WB SKUs, module-specific SDIO otherwise */
 513	pinctrl_sdhci2: main-mmc2-default-pins {
 514		pinctrl-single,pins = <
 515			AM62PX_IOPAD(0x0120, PIN_INPUT,  0) /* (K24) MMC2_CMD  */ /* SODIMM 160, WiFi_SDIO_CMD   */
 516			AM62PX_IOPAD(0x0118, PIN_OUTPUT, 0) /* (K21) MMC2_CLK  */ /* SODIMM 156, WiFi_SDIO_CLK   */
 517			AM62PX_IOPAD(0x011C, PIN_INPUT,  0) /* () MMC2_CLKLB   */
 518			AM62PX_IOPAD(0x0114, PIN_INPUT,  0) /* (K23) MMC2_DAT0 */ /* SODIMM 162, WiFi_SDIO_DATA0 */
 519			AM62PX_IOPAD(0x0110, PIN_INPUT,  0) /* (K22) MMC2_DAT1 */ /* SODIMM 164, WiFi_SDIO_DATA1 */
 520			AM62PX_IOPAD(0x010c, PIN_INPUT,  0) /* (L20) MMC2_DAT2 */ /* SODIMM 166, WiFi_SDIO_DATA2 */
 521			AM62PX_IOPAD(0x0108, PIN_INPUT,  0) /* (L21) MMC2_DAT3 */ /* SODIMM 168, WiFi_SDIO_DATA3 */
 522		>;
 523	};
 524
 525	/* Verdin QSPI_1 */
 526	pinctrl_ospi0: main-ospi0-default-pins {
 527		pinctrl-single,pins = <
 528			AM62PX_IOPAD(0x0000, PIN_OUTPUT, 0) /* (P23) OSPI0_CLK  */ /* SODIMM 52 */
 529			AM62PX_IOPAD(0x002c, PIN_OUTPUT, 0) /* (M25) OSPI0_CSn0 */ /* SODIMM 54 */
 530			AM62PX_IOPAD(0x0030, PIN_OUTPUT, 0) /* (L24) OSPI0_CSn1 */ /* SODIMM 64 */
 531			AM62PX_IOPAD(0x000c, PIN_INPUT,  0) /* (L25) OSPI0_D0   */ /* SODIMM 56 */
 532			AM62PX_IOPAD(0x0010, PIN_INPUT,  0) /* (N24) OSPI0_D1   */ /* SODIMM 58 */
 533			AM62PX_IOPAD(0x0014, PIN_INPUT,  0) /* (N25) OSPI0_D2   */ /* SODIMM 60 */
 534			AM62PX_IOPAD(0x0018, PIN_INPUT,  0) /* (M24) OSPI0_D3   */ /* SODIMM 62 */
 535			AM62PX_IOPAD(0x0008, PIN_INPUT,  0) /* (P22) OSPI0_DQS  */ /* SODIMM 66 */
 536		>;
 537	};
 538
 539	/* Verdin ETH_1 RGMII (On-module PHY) */
 540	pinctrl_rgmii1: main-rgmii1-default-pins {
 541		pinctrl-single,pins = <
 542			AM62PX_IOPAD(0x014c, PIN_INPUT, 0) /* (B15) RGMII1_RD0    */ /* RGMII_RXD0   */
 543			AM62PX_IOPAD(0x0150, PIN_INPUT, 0) /* (B16) RGMII1_RD1    */ /* RGMII_RXD1   */
 544			AM62PX_IOPAD(0x0154, PIN_INPUT, 0) /* (A14) RGMII1_RD2    */ /* RGMII_RXD2   */
 545			AM62PX_IOPAD(0x0158, PIN_INPUT, 0) /* (B14) RGMII1_RD3    */ /* RGMII_RXD3   */
 546			AM62PX_IOPAD(0x0148, PIN_INPUT, 0) /* (A16) RGMII1_RXC    */ /* RGMII_RXC    */
 547			AM62PX_IOPAD(0x0144, PIN_INPUT, 0) /* (A15) RGMII1_RX_CTL */ /* RGMII_RX_CTL */
 548			AM62PX_IOPAD(0x0134, PIN_INPUT, 0) /* (A18) RGMII1_TD0    */ /* RGMII_TXD0   */
 549			AM62PX_IOPAD(0x0138, PIN_INPUT, 0) /* (C17) RGMII1_TD1    */ /* RGMII_TXD1   */
 550			AM62PX_IOPAD(0x013c, PIN_INPUT, 0) /* (A17) RGMII1_TD2    */ /* RGMII_TXD2   */
 551			AM62PX_IOPAD(0x0140, PIN_INPUT, 0) /* (C16) RGMII1_TD3    */ /* RGMII_TXD3   */
 552			AM62PX_IOPAD(0x0130, PIN_INPUT, 0) /* (B17) RGMII1_TXC    */ /* RGMII_TXC    */
 553			AM62PX_IOPAD(0x012c, PIN_INPUT, 0) /* (B18) RGMII1_TX_CTL */ /* RGMII_TX_CTL */
 554		>;
 555	};
 556
 557	/* Verdin ETH_2 RGMII */
 558	pinctrl_rgmii2: main-rgmii2-default-pins {
 559		pinctrl-single,pins = <
 560			AM62PX_IOPAD(0x0184, PIN_INPUT, 0) /* (E19) RGMII2_RD0    */ /* SODIMM 201 */
 561			AM62PX_IOPAD(0x0188, PIN_INPUT, 0) /* (E16) RGMII2_RD1    */ /* SODIMM 203 */
 562			AM62PX_IOPAD(0x018c, PIN_INPUT, 0) /* (E17) RGMII2_RD2    */ /* SODIMM 205 */
 563			AM62PX_IOPAD(0x0190, PIN_INPUT, 0) /* (C19) RGMII2_RD3    */ /* SODIMM 207 */
 564			AM62PX_IOPAD(0x0180, PIN_INPUT, 0) /* (D19) RGMII2_RXC    */ /* SODIMM 197 */
 565			AM62PX_IOPAD(0x017c, PIN_INPUT, 0) /* (F19) RGMII2_RX_CTL */ /* SODIMM 199 */
 566			AM62PX_IOPAD(0x016c, PIN_INPUT, 0) /* (B19) RGMII2_TD0    */ /* SODIMM 221 */
 567			AM62PX_IOPAD(0x0170, PIN_INPUT, 0) /* (A21) RGMII2_TD1    */ /* SODIMM 219 */
 568			AM62PX_IOPAD(0x0174, PIN_INPUT, 0) /* (D17) RGMII2_TD2    */ /* SODIMM 217 */
 569			AM62PX_IOPAD(0x0178, PIN_INPUT, 0) /* (A19) RGMII2_TD3    */ /* SODIMM 215 */
 570			AM62PX_IOPAD(0x0168, PIN_INPUT, 0) /* (D16) RGMII2_TXC    */ /* SODIMM 213 */
 571			AM62PX_IOPAD(0x0164, PIN_INPUT, 0) /* (A20) RGMII2_TX_CTL */ /* SODIMM 211 */
 572		>;
 573	};
 574
 575	/* TPM SPI, Optional Module Specific SPI */
 576	pinctrl_main_spi0: main-spi0-default-pins {
 577		pinctrl-single,pins = <
 578			AM62PX_IOPAD(0x01bc, PIN_INPUT,  0) /* (B21) SPI0_CLK */ /* TPM_SPI_CLK  - SODIMM 148 */
 579			AM62PX_IOPAD(0x01c0, PIN_OUTPUT, 0) /* (B20) SPI0_D0  */ /* TPM_SPI_MOSI - SODIMM 150 */
 580			AM62PX_IOPAD(0x01c4, PIN_INPUT,  0) /* (C21) SPI0_D1  */ /* TPM_SPI_MISO - SODIMM 152 */
 581			AM62PX_IOPAD(0x01b4, PIN_INPUT,  0) /* (D20) SPI0_CS0 */ /* TPM_SPI_CS */
 582		>;
 583	};
 584
 585	/* Verdin SPI_1 */
 586	pinctrl_main_spi1: main-spi1-default-pins {
 587		pinctrl-single,pins = <
 588			AM62PX_IOPAD(0x0020, PIN_INPUT,  1) /* (N22) OSPI0_D5.SPI1_CLK */ /* SODIMM 196 */
 589			AM62PX_IOPAD(0x0024, PIN_OUTPUT, 1) /* (P21) OSPI0_D6.SPI1_D0  */ /* SODIMM 200 */
 590			AM62PX_IOPAD(0x0028, PIN_INPUT,  1) /* (N20) OSPI0_D7.SPI1_D1  */ /* SODIMM 198 */
 591		>;
 592	};
 593
 594	/* Verdin SPI_1_CS */
 595	pinctrl_main_spi1_cs0: main-spi1-cs0-default-pins {
 596		pinctrl-single,pins = <
 597			AM62PX_IOPAD(0x001c, PIN_OUTPUT, 1) /* (N21) OSPI0_D4.SPI1_CS0 */ /* SODIMM 202 */
 598		>;
 599	};
 600
 601	/* Verdin I2S_1 MCLK */
 602	pinctrl_i2s1_mclk: main-system-audio-ext-reflock0-default-pins {
 603		pinctrl-single,pins = <
 604			AM62PX_IOPAD(0x00c4, PIN_OUTPUT, 5) /* (Y23) VOUT0_DATA3.AUDIO_EXT_REFCLK0 */ /* SODIMM 38 */
 605		>;
 606	};
 607
 608	pinctrl_eth_clock: main-system-clkout0-default-pins {
 609		pinctrl-single,pins = <
 610			AM62PX_IOPAD(0x01f0, PIN_OUTPUT_PULLUP, 5) /* (C25) EXT_REFCLK1.CLKOUT0 */ /* ETH_25MHz_CLK */
 611		>;
 612	};
 613
 614	pinctrl_pmic_extint: main-system-extint-default-pins {
 615		pinctrl-single,pins = <
 616			AM62PX_IOPAD(0x01f4, PIN_INPUT, 0) /* (C23) EXTINTn */ /* PMIC_EXTINT# */
 617		>;
 618	};
 619
 620	/* Verdin UART_3, used as the Linux console */
 621	pinctrl_uart0: main-uart0-default-pins {
 622		pinctrl-single,pins = <
 623			AM62PX_IOPAD(0x1c8, PIN_INPUT,  0) /* (A22) UART0_RXD */ /* SODIMM 147 */
 624			AM62PX_IOPAD(0x1cc, PIN_OUTPUT, 0) /* (B22) UART0_TXD */ /* SODIMM 149 */
 625		>;
 626	};
 627
 628	/* Verdin UART_1 */
 629	pinctrl_uart1: main-uart1-default-pins {
 630		pinctrl-single,pins = <
 631			AM62PX_IOPAD(0x01ac, PIN_INPUT,  2) /* (G23) MCASP0_AFSR.UART1_RXD  */ /* SODIMM 129 */
 632			AM62PX_IOPAD(0x01b0, PIN_OUTPUT, 2) /* (G20) MCASP0_ACLKR.UART1_TXD */ /* SODIMM 131 */
 633			AM62PX_IOPAD(0x0194, PIN_INPUT,  2) /* (D25) MCASP0_AXR3.UART1_CTSn */ /* SODIMM 135 */
 634			AM62PX_IOPAD(0x0198, PIN_OUTPUT, 2) /* (E25) MCASP0_AXR2.UART1_RTSn */ /* SODIMM 133 */
 635		>;
 636	};
 637
 638	/* Verdin MSP 41, 42, 44 and 45 as UART */
 639	pinctrl_uart2: main-uart2-default-pins {
 640		pinctrl-single,pins = <
 641			AM62PX_IOPAD(0x00b8, PIN_INPUT,  4) /* (AE24) VOUT0_DATA0.UART2_RXD */ /* SODIMM 192 */
 642			AM62PX_IOPAD(0x00bc, PIN_OUTPUT, 4) /* (W23) VOUT0_DATA1.UART2_TXD  */ /* SODIMM 190 */
 643			AM62PX_IOPAD(0x0104, PIN_INPUT,  4) /* (Y21) VOUT0_PCLK.UART2_CTSn  */ /* SODIMM 184 */
 644			AM62PX_IOPAD(0x0100, PIN_OUTPUT, 4) /* (W20) VOUT0_VSYNC.UART2_RTSn */ /* SODIMM 186 */
 645		>;
 646	};
 647
 648	/* Bluetooth on WB SKUs */
 649	pinctrl_uart6: main-uart6-default-pins {
 650		pinctrl-single,pins = <
 651			AM62PX_IOPAD(0x00d8, PIN_INPUT,  4) /* (AE22) VOUT0_DATA8.UART6_RXD   */ /* WiFi_UART_RXD */
 652			AM62PX_IOPAD(0x00dc, PIN_OUTPUT, 4) /* (AC22) VOUT0_DATA9.UART6_TXD   */ /* WiFi_UART_TXD */
 653			AM62PX_IOPAD(0x00e4, PIN_INPUT,  4) /* (AE21) VOUT0_DATA11.UART6_CTSn */ /* WiFi_UART_CTS */
 654			AM62PX_IOPAD(0x00e0, PIN_OUTPUT, 4) /* (W22)  VOUT0_DATA10.UART6_RTSn */ /* WiFi_UART_RTS */
 655		>;
 656	};
 657
 658	/* Verdin USB_2_EN */
 659	pinctrl_usb1: main-usb1-default-pins {
 660		pinctrl-single,pins = <
 661			AM62PX_IOPAD(0x0258, PIN_OUTPUT, 0) /* (G21) USB1_DRVVBUS */ /* SODIMM 185 */
 662		>;
 663	};
 664
 665	/* Verdin I2S_1 */
 666	pinctrl_mcasp0: mcasp0-default-pins {
 667		pinctrl-single,pins = <
 668			AM62PX_IOPAD(0x01a4, PIN_INPUT, 0) /* (F24) MCASP0_ACLKX */ /* SODIMM 30 */
 669			AM62PX_IOPAD(0x01a8, PIN_INPUT, 0) /* (F25) MCASP0_AFSX  */ /* SODIMM 32 */
 670			AM62PX_IOPAD(0x01a0, PIN_INPUT, 0) /* (F23) MCASP0_AXR0  */ /* SODIMM 34 */
 671			AM62PX_IOPAD(0x019c, PIN_INPUT, 0) /* (E24) MCASP0_AXR1  */ /* SODIMM 36 */
 672		>;
 673	};
 674
 675	/* Verdin I2S_2 */
 676	pinctrl_mcasp1: mcasp1-default-pins {
 677		pinctrl-single,pins = <
 678			AM62PX_IOPAD(0x0090, PIN_INPUT, 2) /* (U24)  GPMC0_BE0n_CLE.MCASP1_ACLKX */ /* SODIMM 42 */
 679			AM62PX_IOPAD(0x0098, PIN_INPUT, 2) /* (AA24) GPMC0_WAIT0.MCASP1_AFSX     */ /* SODIMM 44 */
 680			AM62PX_IOPAD(0x008c, PIN_INPUT, 2) /* (T25)  GPMC0_WEn.MCASP1_AXR0       */ /* SODIMM 46 */
 681			AM62PX_IOPAD(0x0088, PIN_INPUT, 2) /* (R24)  GPMC0_OEn_REn.MCASP1_AXR1   */ /* SODIMM 48 */
 682		>;
 683	};
 684
 685	/* MDIO, shared by Verdin ETH_1 (On-module PHY) and Verdin ETH_2_RGMII */
 686	pinctrl_mdio: mdio0-default-pins {
 687		pinctrl-single,pins = <
 688			AM62PX_IOPAD(0x0160, PIN_OUTPUT, 0) /* (F17) MDIO0_MDC  */ /* SODIMM 193 */
 689			AM62PX_IOPAD(0x015c, PIN_INPUT,  0) /* (F16) MDIO0_MDIO */ /* SODIMM 191 */
 690		>;
 691	};
 692};
 693
 694&mcu_pmx0 {
 695	/* Verdin GPIO_1 */
 696	pinctrl_gpio_1: mcu-gpio0-1-default-pins {
 697		pinctrl-single,pins = <
 698			AM62PX_MCU_IOPAD(0x0004, PIN_INPUT, 7) /* (E10) MCU_SPI0_CS1.MCU_GPIO0_1 */ /* SODIMM 206 */
 699		>;
 700	};
 701
 702	/* Verdin GPIO_2 */
 703	pinctrl_gpio_2: mcu-gpio0-2-default-pins {
 704		pinctrl-single,pins = <
 705			AM62PX_MCU_IOPAD(0x0008, PIN_INPUT, 7) /* (C10) MCU_SPI0_CLK.MCU_GPIO0_2 */ /* SODIMM 208 */
 706		>;
 707	};
 708
 709	/* Verdin GPIO_3 */
 710	pinctrl_gpio_3: mcu-gpio0-3-default-pins {
 711		pinctrl-single,pins = <
 712			AM62PX_MCU_IOPAD(0x000c, PIN_INPUT, 7) /* (B11) MCU_SPI0_D0.MCU_GPIO0_3 */ /* SODIMM 210 */
 713		>;
 714	};
 715
 716	/* Verdin GPIO_4 */
 717	pinctrl_gpio_4: mcu-gpio0-4-default-pins {
 718		pinctrl-single,pins = <
 719			AM62PX_MCU_IOPAD(0x0010, PIN_INPUT, 7) /* (D10) MCU_SPI0_D1.MCU_GPIO0_4 */ /* SODIMM 212 */
 720		>;
 721	};
 722
 723	/* Verdin I2C_3_HDMI */
 724	pinctrl_mcu_i2c0: mcu-i2c0-default-pins {
 725		pinctrl-single,pins = <
 726			AM62PX_MCU_IOPAD(0x0044, PIN_INPUT_PULLUP, 0) /* (E11) MCU_I2C0_SCL */ /* SODIMM 59 */
 727			AM62PX_MCU_IOPAD(0x0048, PIN_INPUT_PULLUP, 0) /* (D11) MCU_I2C0_SDA */ /* SODIMM 57 */
 728		>;
 729	};
 730
 731	/* Verdin CAN_2 */
 732	pinctrl_mcu_mcan0: mcu-mcan0-default-pins {
 733		pinctrl-single,pins = <
 734			AM62PX_MCU_IOPAD(0x0038, PIN_INPUT,  0) /* (D6) MCU_MCAN0_RX */ /* SODIMM 22 */
 735			AM62PX_MCU_IOPAD(0x0034, PIN_OUTPUT, 0) /* (E8) MCU_MCAN0_TX */ /* SODIMM 20 */
 736		>;
 737	};
 738
 739	/* Verdin MSP_13/MSP_18 as CAN */
 740	pinctrl_mcu_mcan1: mcu-mcan1-default-pins {
 741		pinctrl-single,pins = <
 742			AM62PX_MCU_IOPAD(0x0040, PIN_INPUT,  0) /* (E7) MCU_MCAN1_RX */ /* SODIMM 116 */
 743			AM62PX_MCU_IOPAD(0x003c, PIN_OUTPUT, 0) /* (F8) MCU_MCAN1_TX */ /* SODIMM 128 */
 744		>;
 745	};
 746
 747	/* Verdin UART_4 */
 748	pinctrl_mcu_uart0: mcu-uart0-default-pins {
 749		pinctrl-single,pins = <
 750			AM62PX_MCU_IOPAD(0x0014, PIN_INPUT,  0) /* (B6) MCU_UART0_RXD */ /* SODIMM 151 */
 751			AM62PX_MCU_IOPAD(0x0018, PIN_OUTPUT, 0) /* (C8) MCU_UART0_TXD */ /* SODIMM 153 */
 752		>;
 753	};
 754
 755	/* On-module I2C - PMIC_I2C */
 756	pinctrl_wkup_i2c0: wkup-i2c0-default-pins {
 757		pinctrl-single,pins = <
 758			AM62PX_MCU_IOPAD(0x004c, PIN_INPUT, 0) /* (A13) WKUP_I2C0_SCL */ /* PMIC_I2C_SCL */
 759			AM62PX_MCU_IOPAD(0x0050, PIN_INPUT, 0) /* (C11) WKUP_I2C0_SDA */ /* PMIC_I2C_SDA */
 760		>;
 761	};
 762
 763	/* Verdin CSI_1_MCLK */
 764	pinctrl_wkup_clkout0: wkup-system-clkout0-default-pins {
 765		pinctrl-single,pins = <
 766			AM62PX_MCU_IOPAD(0x0084, PIN_OUTPUT, 0) /* (F13) WKUP_CLKOUT0 */ /* SODIMM 91 */
 767		>;
 768	};
 769
 770	/* Verdin UART_2 */
 771	pinctrl_wkup_uart0: wkup-uart0-default-pins {
 772		pinctrl-single,pins = <
 773			AM62PX_MCU_IOPAD(0x002c, PIN_INPUT,  0) /* (C7) WKUP_UART0_CTSn */ /* SODIMM 143 */
 774			AM62PX_MCU_IOPAD(0x0030, PIN_OUTPUT, 0) /* (C6) WKUP_UART0_RTSn */ /* SODIMM 141 */
 775			AM62PX_MCU_IOPAD(0x0024, PIN_INPUT,  0) /* (D8) WKUP_UART0_RXD  */ /* SODIMM 137 */
 776			AM62PX_MCU_IOPAD(0x0028, PIN_OUTPUT, 0) /* (D7) WKUP_UART0_TXD  */ /* SODIMM 139 */
 777		>;
 778	};
 779};
 780
 781/* Verdin I2S_1_MCLK */
 782&audio_refclk0 {
 783	assigned-clock-rates = <25000000>;
 784};
 785
 786&cpsw3g {
 787	pinctrl-names = "default";
 788	pinctrl-0 = <&pinctrl_rgmii1>;
 789	status = "disabled";
 790};
 791
 792/* MDIO, shared by Verdin ETH_1 (On-module PHY) and Verdin ETH_2_RGMII */
 793&cpsw3g_mdio {
 794	pinctrl-names = "default";
 795	pinctrl-0 = <&pinctrl_mdio>, <&pinctrl_eth_clock>;
 796	assigned-clocks = <&k3_clks 157 36>;
 797	assigned-clock-parents = <&k3_clks 157 38>;
 798	assigned-clock-rates = <25000000>;
 799	status = "disabled";
 800
 801	som_eth_phy: ethernet-phy@0 {
 802		reg = <0>;
 803		pinctrl-names = "default";
 804		pinctrl-0 = <&pinctrl_eth_int>;
 805		interrupt-parent = <&main_gpio0>;
 806		interrupts = <36 IRQ_TYPE_EDGE_FALLING>;
 807		ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>;
 808		ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
 809		ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
 810	};
 811};
 812
 813/* Verdin ETH_1 (On-module PHY) */
 814&cpsw_port1 {
 815	phy-handle = <&som_eth_phy>;
 816	phy-mode = "rgmii-id";
 817	status = "disabled";
 818};
 819
 820/* Verdin ETH_2_RGMII */
 821&cpsw_port2 {
 822	status = "disabled";
 823};
 824
 825/* Verdin PWM_3_DSI */
 826&epwm0 {
 827	pinctrl-names = "default";
 828	pinctrl-0 = <&pinctrl_epwm0_b>;
 829	status = "disabled";
 830};
 831
 832/* Verdin PWM_1, PWM_2 */
 833&epwm2 {
 834	pinctrl-names = "default";
 835	pinctrl-0 = <&pinctrl_epwm2_a>, <&pinctrl_epwm2_b>;
 836	status = "disabled";
 837};
 838
 839&main0_alert {
 840	temperature = <95000>;
 841};
 842
 843&main0_crit {
 844	temperature = <105000>;
 845};
 846
 847&main1_alert {
 848	temperature = <95000>;
 849};
 850
 851&main1_crit {
 852	temperature = <105000>;
 853};
 854
 855&main2_alert {
 856	temperature = <95000>;
 857};
 858
 859&main2_crit {
 860	temperature = <105000>;
 861};
 862
 863&main_gpio0 {
 864	gpio-line-names =
 865		"SODIMM_52",
 866		"SODIMM_252",
 867		"SODIMM_66",
 868		"SODIMM_56",
 869		"SODIMM_58",
 870		"SODIMM_60",
 871		"SODIMM_62",
 872		"",
 873		"",
 874		"",
 875		"", /* 10 */
 876		"SODIMM_54",
 877		"SODIMM_64",
 878		"SODIMM_174",
 879		"SODIMM_244",
 880		"",
 881		"",
 882		"",
 883		"",
 884		"",
 885		"", /* 20 */
 886		"PMIC_SD_VSEL",
 887		"",
 888		"",
 889		"",
 890		"TPM_EXTINT#",
 891		"",
 892		"",
 893		"",
 894		"WiFi_WKUP_BT#",
 895		"WiFi_WKUP_WLAN#", /* 30 */
 896		"SODIMM_161",
 897		"SODIMM_157",
 898		"",
 899		"",
 900		"",
 901		"ETH_INT#",
 902		"",
 903		"SODIMM_17",
 904		"SODIMM_21",
 905		"", /* 40 */
 906		"SODIMM_187",
 907		"SODIMM_189",
 908		"",
 909		"",
 910		"",
 911		"",
 912		"SODIMM_76",
 913		"",
 914		"SODIMM_216",
 915		"SODIMM_218", /* 50 */
 916		"SODIMM_220",
 917		"SODIMM_222",
 918		"",
 919		"",
 920		"",
 921		"",
 922		"SODIMM_172",
 923		"",
 924		"WIFI_SD_INT",
 925		"WIFI_SPI_CS#", /* 60 */
 926		"",
 927		"",
 928		"",
 929		"",
 930		"",
 931		"",
 932		"",
 933		"",
 934		"",
 935		"", /* 70 */
 936		"",
 937		"",
 938		"",
 939		"",
 940		"",
 941		"",
 942		"",
 943		"",
 944		"",
 945		"", /* 80 */
 946		"",
 947		"",
 948		"",
 949		"",
 950		"",
 951		"",
 952		"",
 953		"",
 954		"",
 955		"", /* 90 */
 956		"";
 957
 958	verdin_pcie_1_reset_hog: pcie-1-reset-hog {
 959		gpio-hog;
 960		/* Verdin PCIE_1_RESET# (SODIMM 244) */
 961		gpios = <14 GPIO_ACTIVE_LOW>;
 962		line-name = "PCIE_1_RESET#";
 963		output-low;
 964		status = "disabled";
 965	};
 966};
 967
 968&main_gpio1 {
 969	gpio-line-names =
 970		"",
 971		"",
 972		"",
 973		"",
 974		"",
 975		"",
 976		"",
 977		"",
 978		"",
 979		"",
 980		"", /* 10 */
 981		"",
 982		"",
 983		"",
 984		"",
 985		"",
 986		"",
 987		"",
 988		"",
 989		"",
 990		"", /* 20 */
 991		"",
 992		"",
 993		"",
 994		"",
 995		"",
 996		"",
 997		"",
 998		"",
 999		"",
1000		"", /* 30 */
1001		"",
1002		"",
1003		"",
1004		"",
1005		"",
1006		"",
1007		"",
1008		"",
1009		"",
1010		"", /* 40 */
1011		"",
1012		"",
1013		"",
1014		"",
1015		"",
1016		"",
1017		"",
1018		"SODIMM_84",
1019		"SODIMM_154",
1020		"SODIMM_155", /* 50 */
1021		"";
1022};
1023
1024/* Verdin I2C_1 */
1025&main_i2c0 {
1026	pinctrl-names = "default";
1027	pinctrl-0 = <&pinctrl_main_i2c0>;
1028	status = "disabled";
1029};
1030
1031/* Verdin I2C_2_DSI */
1032&main_i2c1 {
1033	pinctrl-names = "default";
1034	pinctrl-0 = <&pinctrl_main_i2c1>;
1035	status = "disabled";
1036};
1037
1038/* Verdin I2C_4_CSI */
1039&main_i2c3 {
1040	pinctrl-names = "default";
1041	pinctrl-0 = <&pinctrl_main_i2c3>;
1042	status = "disabled";
1043};
1044
1045/* Verdin CAN_1 */
1046&main_mcan0 {
1047	pinctrl-names = "default";
1048	pinctrl-0 = <&pinctrl_main_mcan0>;
1049	status = "disabled";
1050};
1051
1052/* TPM SPI, optional SPI on module specific pins */
1053&main_spi0 {
1054	pinctrl-names = "default";
1055	pinctrl-0 = <&pinctrl_main_spi0>;
1056	ti,pindir-d0-out-d1-in;
1057	status = "okay";
1058
1059	tpm@0 {
1060		compatible = "infineon,slb9670", "tcg,tpm_tis-spi";
1061		reg = <0>;
1062		pinctrl-names = "default";
1063		pinctrl-0 = <&pinctrl_tpm_extint>;
1064		interrupt-parent = <&main_gpio0>;
1065		interrupts = <25 IRQ_TYPE_EDGE_FALLING>;
1066		spi-max-frequency = <18500000>;
1067	};
1068};
1069
1070/* Verdin SPI_1 */
1071&main_spi1 {
1072	pinctrl-names = "default";
1073	pinctrl-0 = <&pinctrl_main_spi1>, <&pinctrl_main_spi1_cs0>;
1074	ti,pindir-d0-out-d1-in;
1075	status = "disabled";
1076};
1077
1078/* Verdin UART_3, used as the Linux console */
1079&main_uart0 {
1080	pinctrl-names = "default";
1081	pinctrl-0 = <&pinctrl_uart0>;
1082	status = "disabled";
1083};
1084
1085/* Verdin UART_1 */
1086&main_uart1 {
1087	pinctrl-names = "default";
1088	pinctrl-0 = <&pinctrl_uart1>;
1089	uart-has-rtscts;
1090	status = "disabled";
1091};
1092
1093/* Verdin I2S_1 */
1094&mcasp0 {
1095	pinctrl-names = "default";
1096	pinctrl-0 = <&pinctrl_mcasp0>;
1097	op-mode = <0>; /* I2S mode */
1098	serial-dir = <  /* 0: INACTIVE, 1: TX, 2: RX */
1099	       1 2 0 0
1100	       0 0 0 0
1101	       0 0 0 0
1102	       0 0 0 0
1103	>;
1104	tdm-slots = <2>;
1105	rx-num-evt = <0>;
1106	tx-num-evt = <0>;
1107	#sound-dai-cells = <0>;
1108	status = "disabled";
1109};
1110
1111/* Verdin I2S_2 */
1112&mcasp1 {
1113	pinctrl-names = "default";
1114	pinctrl-0 = <&pinctrl_mcasp1>;
1115	op-mode = <0>; /* I2S mode */
1116	serial-dir = <  /* 0: INACTIVE, 1: TX, 2: RX */
1117	       1 2 0 0
1118	       0 0 0 0
1119	       0 0 0 0
1120	       0 0 0 0
1121	>;
1122	tdm-slots = <2>;
1123	rx-num-evt = <0>;
1124	tx-num-evt = <0>;
1125	#sound-dai-cells = <0>;
1126	status = "disabled";
1127};
1128
1129&mcu_gpio0 {
1130	gpio-line-names =
1131		"",
1132		"SODIMM_206",
1133		"SODIMM_208",
1134		"SODIMM_210",
1135		"SODIMM_212",
1136		"",
1137		"",
1138		"",
1139		"",
1140		"",
1141		"", /* 10 */
1142		"",
1143		"",
1144		"",
1145		"",
1146		"",
1147		"",
1148		"",
1149		"",
1150		"",
1151		"", /* 20 */
1152		"",
1153		"",
1154		"";
1155};
1156
1157/* Verdin I2C_3_HDMI */
1158&mcu_i2c0 {
1159	pinctrl-names = "default";
1160	pinctrl-0 = <&pinctrl_mcu_i2c0>;
1161	status = "disabled";
1162};
1163
1164/* Verdin CAN_2 */
1165&mcu_mcan0 {
1166	pinctrl-names = "default";
1167	pinctrl-0 = <&pinctrl_mcu_mcan0>;
1168	status = "disabled";
1169};
1170
1171/* Verdin UART_4 */
1172&mcu_uart0 {
1173	pinctrl-names = "default";
1174	pinctrl-0 = <&pinctrl_mcu_uart0>;
1175	status = "disabled";
1176};
1177
1178/* Verdin QSPI_1 */
1179&ospi0 {
1180	pinctrl-names = "default";
1181	pinctrl-0 = <&pinctrl_ospi0>;
1182	status = "disabled";
1183};
1184
1185/* On-module eMMC */
1186&sdhci0 {
1187	no-mmc-hs400;
1188	non-removable;
1189	ti,driver-strength-ohm = <50>;
1190	status = "okay";
1191};
1192
1193/* Verdin SD_1 */
1194&sdhci1 {
1195	pinctrl-names = "default";
1196	pinctrl-0 = <&pinctrl_sdhci1>, <&pinctrl_sd1_cd>;
1197	cd-gpios = <&main_gpio1 48 GPIO_ACTIVE_LOW>;
1198	disable-wp;
1199	vmmc-supply = <&reg_sd1_vmmc>;
1200	vqmmc-supply = <&reg_sd1_vqmmc>;
1201	ti,fails-without-test-cd;
1202	status = "disabled";
1203};
1204
1205/* Verdin USB_1 */
1206&usbss0 {
1207	ti,vbus-divider;
1208	status = "disabled";
1209};
1210
1211&usb0 {
1212	adp-disable;
1213	usb-role-switch;
1214	status = "disabled";
1215
1216	port {
1217		usb0_ep: endpoint {
1218			remote-endpoint = <&usb_dr_connector>;
1219		};
1220	};
1221};
1222
1223/* Verdin USB_2 */
1224&usbss1 {
1225	ti,vbus-divider;
1226	status = "disabled";
1227};
1228
1229&usb1 {
1230	pinctrl-names = "default";
1231	pinctrl-0 = <&pinctrl_usb1>;
1232	dr_mode = "host";
1233	status = "disabled";
1234};
1235
1236/* On-module I2C - PMIC_I2C */
1237&wkup_i2c0 {
1238	pinctrl-names = "default";
1239	pinctrl-0 = <&pinctrl_wkup_i2c0>;
1240	clock-frequency = <400000>;
1241	status = "okay";
1242
1243	som_gpio_expander: gpio@21 {
1244		compatible = "nxp,pcal6408";
1245		reg = <0x21>;
1246		#gpio-cells = <2>;
1247		gpio-controller;
1248		gpio-line-names = "SODIMM_256";
1249	};
1250
1251	pmic@30 {
1252		compatible = "ti,tps65219";
1253		reg = <0x30>;
1254		pinctrl-names = "default";
1255		pinctrl-0 = <&pinctrl_pmic_extint>;
1256		interrupt-parent = <&gic500>;
1257		interrupts = <GIC_SPI 224 IRQ_TYPE_LEVEL_HIGH>;
1258
1259		buck1-supply = <&reg_vsodimm>;
1260		buck2-supply = <&reg_vsodimm>;
1261		buck3-supply = <&reg_vsodimm>;
1262		ldo1-supply = <&reg_3v3>;
1263		ldo2-supply = <&reg_1v8>;
1264		ldo3-supply = <&reg_3v3>;
1265		ldo4-supply = <&reg_3v3>;
1266		system-power-controller;
1267		ti,power-button;
1268
1269		regulators {
1270			reg_3v3: buck1 {
1271				regulator-always-on;
1272				regulator-boot-on;
1273				regulator-max-microvolt = <3300000>;
1274				regulator-min-microvolt = <3300000>;
1275				regulator-name = "+V3.3 (PMIC BUCK1)";
1276			};
1277
1278			reg_1v8: buck2 {
1279				regulator-always-on;
1280				regulator-boot-on;
1281				regulator-max-microvolt = <1800000>;
1282				regulator-min-microvolt = <1800000>;
1283				regulator-name = "+V1.8 (PMIC BUCK2)"; /* On-module and SODIMM 214 */
1284			};
1285
1286			buck3 {
1287				regulator-always-on;
1288				regulator-boot-on;
1289				regulator-max-microvolt = <1100000>;
1290				regulator-min-microvolt = <1100000>;
1291				regulator-name = "+VDD_DDR (PMIC BUCK3)";
1292			};
1293
1294			reg_sd_3v3_1v8: ldo1 {
1295				regulator-allow-bypass;
1296				regulator-always-on;
1297				regulator-boot-on;
1298				regulator-max-microvolt = <3300000>;
1299				regulator-min-microvolt = <3300000>;
1300				regulator-name = "+V3.3_1.8_SD (PMIC LDO1)";
1301			};
1302
1303			ldo2 {
1304				regulator-always-on;
1305				regulator-boot-on;
1306				regulator-max-microvolt = <850000>;
1307				regulator-min-microvolt = <850000>;
1308				regulator-name = "+V_PMIC_LDO2 (PMIC LDO4)"; // +VDDR_CORE
1309			};
1310
1311			ldo3 {
1312				regulator-always-on;
1313				regulator-boot-on;
1314				regulator-max-microvolt = <1800000>;
1315				regulator-min-microvolt = <1800000>;
1316				regulator-name = "+V1.8A (PMIC LDO3)";
1317			};
1318
1319			ldo4 {
1320				regulator-always-on;
1321				regulator-boot-on;
1322				regulator-max-microvolt = <2500000>;
1323				regulator-min-microvolt = <2500000>;
1324				regulator-name = "+V2.5_ETH (PMIC LDO4)";
1325			};
1326		};
1327	};
1328
1329	som_rtc_i2c: rtc@32 {
1330		compatible = "epson,rx8130";
1331		reg = <0x32>;
1332	};
1333
1334	temperature-sensor@48 {
1335		compatible = "ti,tmp1075";
1336		reg = <0x48>;
1337	};
1338
1339	som_adc: adc@49 {
1340		compatible = "ti,tla2024";
1341		reg = <0x49>;
1342		#address-cells = <1>;
1343		#size-cells = <0>;
1344		#io-channel-cells = <1>;
1345
1346		/* Verdin (ADC_4 - ADC_3) */
1347		channel@0 {
1348			reg = <0>;
1349			ti,datarate = <4>;
1350			ti,gain = <2>;
1351		};
1352
1353		/* Verdin (ADC_4 - ADC_1) */
1354		channel@1 {
1355			reg = <1>;
1356			ti,datarate = <4>;
1357			ti,gain = <2>;
1358		};
1359
1360		/* Verdin (ADC_3 - ADC_1) */
1361		channel@2 {
1362			reg = <2>;
1363			ti,datarate = <4>;
1364			ti,gain = <2>;
1365		};
1366
1367		/* Verdin (ADC_2 - ADC_1) */
1368		channel@3 {
1369			reg = <3>;
1370			ti,datarate = <4>;
1371			ti,gain = <2>;
1372		};
1373
1374		/* Verdin ADC_4 */
1375		channel@4 {
1376			reg = <4>;
1377			ti,datarate = <4>;
1378			ti,gain = <2>;
1379		};
1380
1381		/* Verdin ADC_3 */
1382		channel@5 {
1383			reg = <5>;
1384			ti,datarate = <4>;
1385			ti,gain = <2>;
1386		};
1387
1388		/* Verdin ADC_2 */
1389		channel@6 {
1390			reg = <6>;
1391			ti,datarate = <4>;
1392			ti,gain = <2>;
1393		};
1394
1395		/* Verdin ADC_1 */
1396		channel@7 {
1397			reg = <7>;
1398			ti,datarate = <4>;
1399			ti,gain = <2>;
1400		};
1401	};
1402
1403	som_eeprom: eeprom@50 {
1404		compatible = "st,24c02", "atmel,24c02";
1405		reg = <0x50>;
1406		pagesize = <16>;
1407	};
1408};
1409
1410/* Verdin UART_2 */
1411&wkup_uart0 {
1412	pinctrl-names = "default";
1413	pinctrl-0 = <&pinctrl_wkup_uart0>;
1414	uart-has-rtscts;
1415	status = "disabled";
1416};
1417
1418#include "k3-am62p-ti-ipc-firmware.dtsi"
~/ Read-only file preview.