u-boot/arch/arm/dts/k3-am62-verdin.dtsi
Marcel Ziswiler 7d1a10659f board: toradex: add verdin am62 support
This adds initial support for the Toradex Verdin AM62 Quad 1GB WB IT
V1.0A module and subsequent V1.1 launch configuration SKUs. They are
strapped to boot from their on-module eMMC. U-Boot supports booting
from the on-module eMMC only, DFU support is disabled for now due to
missing AM62x USB support.

The device trees were taken straight from Linux v6.5-rc1.

Boot sequence is:
SYSFW ---> R5 SPL (both in tiboot3.bin) ---> ATF (TF-A) ---> OP-TEE
  ---> A53 SPL (part of tispl.bin) ---> U-boot proper (u-boot.img)

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Nishanth Menon <nm@ti.com>
2023-08-04 15:03:42 -04:00

1401 lines
35 KiB
Text

// 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 {
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;
};
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 0x40000000>; /* 1G 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>;
};
/* 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>;
};
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 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 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 */
>;
};
/* 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 */
AM62X_IOPAD(0x240, PIN_INPUT_PULLUP, 0) /* (D17) MMC1_SDCD */ /* SODIMM 84 */
>;
};
/* 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(0x001c, PIN_INPUT, 1) /* (J23) OSPI0_D4.SPI1_CS0 */ /* SODIMM 202 */
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 */
>;
};
/* 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_1 */
pinctrl_usb0: main-usb0-default-pins {
pinctrl-single,pins = <
AM62X_IOPAD(0x0254, PIN_OUTPUT, 0) /* (C20) USB0_DRVVBUS */ /* SODIMM 155 */
>;
};
/* 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 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 */
>;
};
};
&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>;
};
};
/* 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 */
"",
"",
"",
"",
"",
"";
verdin_ctrl_sleep_moci: ctrl-sleep-moci-hog {
gpio-hog;
/* Verdin CTRL_SLEEP_MOCI# (SODIMM 256) */
gpios = <31 GPIO_ACTIVE_HIGH>;
line-name = "CTRL_SLEEP_MOCI#";
output-high;
};
};
&main_gpio1 {
gpio-line-names =
"", /* 0 */
"",
"",
"",
"",
"",
"",
"",
"",
"",
"", /* 10 */
"",
"",
"",
"",
"SODIMM_15",
"SODIMM_16",
"SODIMM_19",
"SODIMM_66",
"SODIMM_161",
"", /* 20 */
"",
"",
"",
"",
"",
"",
"",
"",
"",
"", /* 30 */
"",
"",
"",
"",
"",
"",
"",
"",
"",
"", /* 40 */
"",
"",
"",
"",
"",
"",
"",
"",
"SODIMM_17",
"", /* 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>;
dsi_bridge_ports: ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
rgb_in: endpoint {
data-lines = <18>;
};
};
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 = <850000>;
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 CAN_2 - Reserved to Cortex-M4 */
/* Verdin SPI_1 */
&main_spi1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_spi1>;
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>;
rx-num-evt = <32>;
tx-num-evt = <32>;
#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>;
rx-num-evt = <32>;
tx-num-evt = <32>;
#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 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;
ti,driver-strength-ohm = <50>;
status = "okay";
};
/* Verdin SD_1 */
&sdhci1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_sdhci1>;
disable-wp;
ti,driver-strength-ohm = <50>;
vmmc-supply = <&reg_sdhc1_vmmc>;
vqmmc-supply = <&reg_sdhc1_vqmmc>;
status = "disabled";
};
/* Verdin USB_1 */
&usbss0 {
ti,vbus-divider;
status = "disabled";
};
/* TODO: role swich using ID pin */
&usb0 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usb0>, <&pinctrl_usb0_id>;
status = "disabled";
};
/* 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";
};