1*ae5de77eSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-or-later OR MIT 2*ae5de77eSEmmanuel Vadot/* 3*ae5de77eSEmmanuel Vadot * Copyright 2025 Toradex 4*ae5de77eSEmmanuel Vadot * 5*ae5de77eSEmmanuel Vadot * Common dtsi for Verdin AM62P SoM on Ivy carrier board 6*ae5de77eSEmmanuel Vadot * 7*ae5de77eSEmmanuel Vadot * https://www.toradex.com/computer-on-modules/verdin-arm-family/ti-am62p 8*ae5de77eSEmmanuel Vadot * https://www.toradex.com/products/carrier-board/ivy-carrier-board 9*ae5de77eSEmmanuel Vadot */ 10*ae5de77eSEmmanuel Vadot 11*ae5de77eSEmmanuel Vadot#include <dt-bindings/mux/mux.h> 12*ae5de77eSEmmanuel Vadot#include <dt-bindings/leds/common.h> 13*ae5de77eSEmmanuel Vadot#include <dt-bindings/net/ti-dp83867.h> 14*ae5de77eSEmmanuel Vadot 15*ae5de77eSEmmanuel Vadot/ { 16*ae5de77eSEmmanuel Vadot aliases { 17*ae5de77eSEmmanuel Vadot eeprom1 = &carrier_eeprom; 18*ae5de77eSEmmanuel Vadot }; 19*ae5de77eSEmmanuel Vadot 20*ae5de77eSEmmanuel Vadot /* AIN1 Voltage w/o AIN1_MODE gpio control */ 21*ae5de77eSEmmanuel Vadot ain1_voltage_unmanaged: voltage-divider-ain1 { 22*ae5de77eSEmmanuel Vadot compatible = "voltage-divider"; 23*ae5de77eSEmmanuel Vadot #io-channel-cells = <1>; 24*ae5de77eSEmmanuel Vadot io-channels = <&ivy_adc1 0>; 25*ae5de77eSEmmanuel Vadot full-ohms = <19>; 26*ae5de77eSEmmanuel Vadot output-ohms = <1>; 27*ae5de77eSEmmanuel Vadot }; 28*ae5de77eSEmmanuel Vadot 29*ae5de77eSEmmanuel Vadot /* AIN1 Current w/o AIN1_MODE gpio control */ 30*ae5de77eSEmmanuel Vadot ain1_current_unmanaged: current-sense-shunt-ain1 { 31*ae5de77eSEmmanuel Vadot compatible = "current-sense-shunt"; 32*ae5de77eSEmmanuel Vadot #io-channel-cells = <0>; 33*ae5de77eSEmmanuel Vadot io-channels = <&ivy_adc1 1>; 34*ae5de77eSEmmanuel Vadot shunt-resistor-micro-ohms = <100000000>; 35*ae5de77eSEmmanuel Vadot }; 36*ae5de77eSEmmanuel Vadot 37*ae5de77eSEmmanuel Vadot /* AIN1_MODE - SODIMM 216 */ 38*ae5de77eSEmmanuel Vadot ain1_mode_mux_ctrl: mux-controller-0 { 39*ae5de77eSEmmanuel Vadot compatible = "gpio-mux"; 40*ae5de77eSEmmanuel Vadot pinctrl-names = "default"; 41*ae5de77eSEmmanuel Vadot pinctrl-0 = <&pinctrl_gpio_5>; 42*ae5de77eSEmmanuel Vadot #mux-control-cells = <0>; 43*ae5de77eSEmmanuel Vadot mux-gpios = <&main_gpio0 49 GPIO_ACTIVE_HIGH>; 44*ae5de77eSEmmanuel Vadot }; 45*ae5de77eSEmmanuel Vadot 46*ae5de77eSEmmanuel Vadot ain1-voltage { 47*ae5de77eSEmmanuel Vadot compatible = "io-channel-mux"; 48*ae5de77eSEmmanuel Vadot channels = "ain1_voltage", ""; 49*ae5de77eSEmmanuel Vadot io-channels = <&ain1_voltage_unmanaged 0>; 50*ae5de77eSEmmanuel Vadot io-channel-names = "parent"; 51*ae5de77eSEmmanuel Vadot mux-controls = <&ain1_mode_mux_ctrl>; 52*ae5de77eSEmmanuel Vadot settle-time-us = <1000>; 53*ae5de77eSEmmanuel Vadot }; 54*ae5de77eSEmmanuel Vadot 55*ae5de77eSEmmanuel Vadot ain1-current { 56*ae5de77eSEmmanuel Vadot compatible = "io-channel-mux"; 57*ae5de77eSEmmanuel Vadot channels = "", "ain1_current"; 58*ae5de77eSEmmanuel Vadot io-channels = <&ain1_current_unmanaged>; 59*ae5de77eSEmmanuel Vadot io-channel-names = "parent"; 60*ae5de77eSEmmanuel Vadot mux-controls = <&ain1_mode_mux_ctrl>; 61*ae5de77eSEmmanuel Vadot settle-time-us = <1000>; 62*ae5de77eSEmmanuel Vadot }; 63*ae5de77eSEmmanuel Vadot 64*ae5de77eSEmmanuel Vadot /* AIN2 Voltage w/o AIN2_MODE gpio control */ 65*ae5de77eSEmmanuel Vadot ain2_voltage_unmanaged: voltage-divider-ain2 { 66*ae5de77eSEmmanuel Vadot compatible = "voltage-divider"; 67*ae5de77eSEmmanuel Vadot #io-channel-cells = <1>; 68*ae5de77eSEmmanuel Vadot io-channels = <&ivy_adc2 0>; 69*ae5de77eSEmmanuel Vadot full-ohms = <19>; 70*ae5de77eSEmmanuel Vadot output-ohms = <1>; 71*ae5de77eSEmmanuel Vadot }; 72*ae5de77eSEmmanuel Vadot 73*ae5de77eSEmmanuel Vadot /* AIN2 Current w/o AIN2_MODE gpio control */ 74*ae5de77eSEmmanuel Vadot ain2_current_unmanaged: current-sense-shunt-ain2 { 75*ae5de77eSEmmanuel Vadot compatible = "current-sense-shunt"; 76*ae5de77eSEmmanuel Vadot #io-channel-cells = <0>; 77*ae5de77eSEmmanuel Vadot io-channels = <&ivy_adc2 1>; 78*ae5de77eSEmmanuel Vadot shunt-resistor-micro-ohms = <100000000>; 79*ae5de77eSEmmanuel Vadot }; 80*ae5de77eSEmmanuel Vadot 81*ae5de77eSEmmanuel Vadot /* AIN2_MODE - SODIMM 218 */ 82*ae5de77eSEmmanuel Vadot ain2_mode_mux_ctrl: mux-controller-1 { 83*ae5de77eSEmmanuel Vadot compatible = "gpio-mux"; 84*ae5de77eSEmmanuel Vadot pinctrl-names = "default"; 85*ae5de77eSEmmanuel Vadot pinctrl-0 = <&pinctrl_gpio_6>; 86*ae5de77eSEmmanuel Vadot #mux-control-cells = <0>; 87*ae5de77eSEmmanuel Vadot mux-gpios = <&main_gpio0 50 GPIO_ACTIVE_HIGH>; 88*ae5de77eSEmmanuel Vadot }; 89*ae5de77eSEmmanuel Vadot 90*ae5de77eSEmmanuel Vadot ain2-voltage { 91*ae5de77eSEmmanuel Vadot compatible = "io-channel-mux"; 92*ae5de77eSEmmanuel Vadot channels = "ain2_voltage", ""; 93*ae5de77eSEmmanuel Vadot io-channels = <&ain2_voltage_unmanaged 0>; 94*ae5de77eSEmmanuel Vadot io-channel-names = "parent"; 95*ae5de77eSEmmanuel Vadot mux-controls = <&ain2_mode_mux_ctrl>; 96*ae5de77eSEmmanuel Vadot settle-time-us = <1000>; 97*ae5de77eSEmmanuel Vadot }; 98*ae5de77eSEmmanuel Vadot 99*ae5de77eSEmmanuel Vadot ain2-current { 100*ae5de77eSEmmanuel Vadot compatible = "io-channel-mux"; 101*ae5de77eSEmmanuel Vadot channels = "", "ain2_current"; 102*ae5de77eSEmmanuel Vadot io-channels = <&ain2_current_unmanaged>; 103*ae5de77eSEmmanuel Vadot io-channel-names = "parent"; 104*ae5de77eSEmmanuel Vadot mux-controls = <&ain2_mode_mux_ctrl>; 105*ae5de77eSEmmanuel Vadot settle-time-us = <1000>; 106*ae5de77eSEmmanuel Vadot }; 107*ae5de77eSEmmanuel Vadot 108*ae5de77eSEmmanuel Vadot leds { 109*ae5de77eSEmmanuel Vadot compatible = "gpio-leds"; 110*ae5de77eSEmmanuel Vadot pinctrl-names = "default"; 111*ae5de77eSEmmanuel Vadot pinctrl-0 = <&pinctrl_ivy_leds>; 112*ae5de77eSEmmanuel Vadot 113*ae5de77eSEmmanuel Vadot /* D7 Blue - SODIMM 30 - LEDs.GPIO1 */ 114*ae5de77eSEmmanuel Vadot led-0 { 115*ae5de77eSEmmanuel Vadot color = <LED_COLOR_ID_BLUE>; 116*ae5de77eSEmmanuel Vadot default-state = "off"; 117*ae5de77eSEmmanuel Vadot function = LED_FUNCTION_STATUS; 118*ae5de77eSEmmanuel Vadot function-enumerator = <1>; 119*ae5de77eSEmmanuel Vadot gpios = <&main_gpio1 11 GPIO_ACTIVE_HIGH>; 120*ae5de77eSEmmanuel Vadot }; 121*ae5de77eSEmmanuel Vadot 122*ae5de77eSEmmanuel Vadot /* D7 Green - SODIMM 32 - LEDs.GPIO2 */ 123*ae5de77eSEmmanuel Vadot led-1 { 124*ae5de77eSEmmanuel Vadot color = <LED_COLOR_ID_GREEN>; 125*ae5de77eSEmmanuel Vadot default-state = "off"; 126*ae5de77eSEmmanuel Vadot function = LED_FUNCTION_STATUS; 127*ae5de77eSEmmanuel Vadot function-enumerator = <1>; 128*ae5de77eSEmmanuel Vadot gpios = <&main_gpio1 12 GPIO_ACTIVE_HIGH>; 129*ae5de77eSEmmanuel Vadot }; 130*ae5de77eSEmmanuel Vadot 131*ae5de77eSEmmanuel Vadot /* D7 Red - SODIMM 34 - LEDs.GPIO3 */ 132*ae5de77eSEmmanuel Vadot led-2 { 133*ae5de77eSEmmanuel Vadot color = <LED_COLOR_ID_RED>; 134*ae5de77eSEmmanuel Vadot default-state = "off"; 135*ae5de77eSEmmanuel Vadot function = LED_FUNCTION_STATUS; 136*ae5de77eSEmmanuel Vadot function-enumerator = <1>; 137*ae5de77eSEmmanuel Vadot gpios = <&main_gpio1 10 GPIO_ACTIVE_HIGH>; 138*ae5de77eSEmmanuel Vadot }; 139*ae5de77eSEmmanuel Vadot 140*ae5de77eSEmmanuel Vadot /* D8 Blue - SODIMM 36 - LEDs.GPIO4 */ 141*ae5de77eSEmmanuel Vadot led-3 { 142*ae5de77eSEmmanuel Vadot color = <LED_COLOR_ID_BLUE>; 143*ae5de77eSEmmanuel Vadot default-state = "off"; 144*ae5de77eSEmmanuel Vadot function = LED_FUNCTION_STATUS; 145*ae5de77eSEmmanuel Vadot function-enumerator = <2>; 146*ae5de77eSEmmanuel Vadot gpios = <&main_gpio1 9 GPIO_ACTIVE_HIGH>; 147*ae5de77eSEmmanuel Vadot }; 148*ae5de77eSEmmanuel Vadot 149*ae5de77eSEmmanuel Vadot /* D8 Green - SODIMM 54 - LEDs.GPIO5 */ 150*ae5de77eSEmmanuel Vadot led-4 { 151*ae5de77eSEmmanuel Vadot color = <LED_COLOR_ID_GREEN>; 152*ae5de77eSEmmanuel Vadot default-state = "off"; 153*ae5de77eSEmmanuel Vadot function = LED_FUNCTION_STATUS; 154*ae5de77eSEmmanuel Vadot function-enumerator = <2>; 155*ae5de77eSEmmanuel Vadot gpios = <&main_gpio0 11 GPIO_ACTIVE_HIGH>; 156*ae5de77eSEmmanuel Vadot }; 157*ae5de77eSEmmanuel Vadot 158*ae5de77eSEmmanuel Vadot /* D8 Red - SODIMM 44 - LEDs.GPIO6 */ 159*ae5de77eSEmmanuel Vadot led-5 { 160*ae5de77eSEmmanuel Vadot color = <LED_COLOR_ID_RED>; 161*ae5de77eSEmmanuel Vadot default-state = "off"; 162*ae5de77eSEmmanuel Vadot function = LED_FUNCTION_STATUS; 163*ae5de77eSEmmanuel Vadot function-enumerator = <2>; 164*ae5de77eSEmmanuel Vadot gpios = <&main_gpio0 37 GPIO_ACTIVE_HIGH>; 165*ae5de77eSEmmanuel Vadot }; 166*ae5de77eSEmmanuel Vadot 167*ae5de77eSEmmanuel Vadot /* D9 Blue - SODIMM 46 - LEDs.GPIO7 */ 168*ae5de77eSEmmanuel Vadot led-6 { 169*ae5de77eSEmmanuel Vadot color = <LED_COLOR_ID_BLUE>; 170*ae5de77eSEmmanuel Vadot default-state = "off"; 171*ae5de77eSEmmanuel Vadot function = LED_FUNCTION_STATUS; 172*ae5de77eSEmmanuel Vadot function-enumerator = <3>; 173*ae5de77eSEmmanuel Vadot gpios = <&main_gpio0 34 GPIO_ACTIVE_HIGH>; 174*ae5de77eSEmmanuel Vadot }; 175*ae5de77eSEmmanuel Vadot 176*ae5de77eSEmmanuel Vadot /* D9 Red - SODIMM 48 - LEDs.GPIO8 */ 177*ae5de77eSEmmanuel Vadot led-7 { 178*ae5de77eSEmmanuel Vadot color = <LED_COLOR_ID_RED>; 179*ae5de77eSEmmanuel Vadot default-state = "off"; 180*ae5de77eSEmmanuel Vadot function = LED_FUNCTION_STATUS; 181*ae5de77eSEmmanuel Vadot function-enumerator = <3>; 182*ae5de77eSEmmanuel Vadot gpios = <&main_gpio0 33 GPIO_ACTIVE_HIGH>; 183*ae5de77eSEmmanuel Vadot }; 184*ae5de77eSEmmanuel Vadot }; 185*ae5de77eSEmmanuel Vadot 186*ae5de77eSEmmanuel Vadot reg_3v2_ain1: regulator-3v2-ain1 { 187*ae5de77eSEmmanuel Vadot compatible = "regulator-fixed"; 188*ae5de77eSEmmanuel Vadot regulator-max-microvolt = <3200000>; 189*ae5de77eSEmmanuel Vadot regulator-min-microvolt = <3200000>; 190*ae5de77eSEmmanuel Vadot regulator-name = "+3V2_AIN1"; 191*ae5de77eSEmmanuel Vadot }; 192*ae5de77eSEmmanuel Vadot 193*ae5de77eSEmmanuel Vadot reg_3v2_ain2: regulator-3v2-ain2 { 194*ae5de77eSEmmanuel Vadot compatible = "regulator-fixed"; 195*ae5de77eSEmmanuel Vadot regulator-max-microvolt = <3200000>; 196*ae5de77eSEmmanuel Vadot regulator-min-microvolt = <3200000>; 197*ae5de77eSEmmanuel Vadot regulator-name = "+3V2_AIN2"; 198*ae5de77eSEmmanuel Vadot }; 199*ae5de77eSEmmanuel Vadot 200*ae5de77eSEmmanuel Vadot /* Ivy Power Supply Input Voltage */ 201*ae5de77eSEmmanuel Vadot ivy-input-voltage { 202*ae5de77eSEmmanuel Vadot compatible = "voltage-divider"; 203*ae5de77eSEmmanuel Vadot /* Verdin ADC_1 */ 204*ae5de77eSEmmanuel Vadot io-channels = <&som_adc 7>; 205*ae5de77eSEmmanuel Vadot full-ohms = <204700>; /* 200K + 4.7K */ 206*ae5de77eSEmmanuel Vadot output-ohms = <4700>; 207*ae5de77eSEmmanuel Vadot }; 208*ae5de77eSEmmanuel Vadot 209*ae5de77eSEmmanuel Vadot ivy-5v-voltage { 210*ae5de77eSEmmanuel Vadot compatible = "voltage-divider"; 211*ae5de77eSEmmanuel Vadot /* Verdin ADC_2 */ 212*ae5de77eSEmmanuel Vadot io-channels = <&som_adc 6>; 213*ae5de77eSEmmanuel Vadot full-ohms = <39000>; /* 27K + 12K */ 214*ae5de77eSEmmanuel Vadot output-ohms = <12000>; 215*ae5de77eSEmmanuel Vadot }; 216*ae5de77eSEmmanuel Vadot 217*ae5de77eSEmmanuel Vadot ivy-3v3-voltage { 218*ae5de77eSEmmanuel Vadot compatible = "voltage-divider"; 219*ae5de77eSEmmanuel Vadot /* Verdin ADC_3 */ 220*ae5de77eSEmmanuel Vadot io-channels = <&som_adc 5>; 221*ae5de77eSEmmanuel Vadot full-ohms = <54000>; /* 27K + 27K */ 222*ae5de77eSEmmanuel Vadot output-ohms = <27000>; 223*ae5de77eSEmmanuel Vadot }; 224*ae5de77eSEmmanuel Vadot 225*ae5de77eSEmmanuel Vadot ivy-1v8-voltage { 226*ae5de77eSEmmanuel Vadot compatible = "voltage-divider"; 227*ae5de77eSEmmanuel Vadot /* Verdin ADC_4 */ 228*ae5de77eSEmmanuel Vadot io-channels = <&som_adc 4>; 229*ae5de77eSEmmanuel Vadot full-ohms = <39000>; /* 12K + 27K */ 230*ae5de77eSEmmanuel Vadot output-ohms = <27000>; 231*ae5de77eSEmmanuel Vadot }; 232*ae5de77eSEmmanuel Vadot}; 233*ae5de77eSEmmanuel Vadot 234*ae5de77eSEmmanuel Vadot&main_pmx0 { 235*ae5de77eSEmmanuel Vadot pinctrl_ivy_leds: ivy-leds-default-pins { 236*ae5de77eSEmmanuel Vadot pinctrl-single,pins = < 237*ae5de77eSEmmanuel Vadot AM62PX_IOPAD(0x019c, PIN_INPUT, 7) /* (E24) MCASP0_AXR1.GPIO1_9 */ /* SODIMM 36 */ 238*ae5de77eSEmmanuel Vadot AM62PX_IOPAD(0x01a0, PIN_INPUT, 7) /* (F23) MCASP0_AXR0.GPIO1_10 */ /* SODIMM 34 */ 239*ae5de77eSEmmanuel Vadot AM62PX_IOPAD(0x01a4, PIN_INPUT, 7) /* (F24) MCASP0_ACLKX.GPIO1_11 */ /* SODIMM 30 */ 240*ae5de77eSEmmanuel Vadot AM62PX_IOPAD(0x01a8, PIN_INPUT, 7) /* (F25) MCASP0_AFSX.GPIO1_12 */ /* SODIMM 32 */ 241*ae5de77eSEmmanuel Vadot AM62PX_IOPAD(0x0088, PIN_INPUT, 7) /* (R24) GPMC0_OEn_REn.GPIO0_33 */ /* SODIMM 48 */ 242*ae5de77eSEmmanuel Vadot AM62PX_IOPAD(0x0098, PIN_INPUT, 7) /* (AA24) GPMC0_WAIT0.GPIO0_37 */ /* SODIMM 44 */ 243*ae5de77eSEmmanuel Vadot AM62PX_IOPAD(0x008c, PIN_INPUT, 7) /* (T25) GPMC0_WEn.GPIO0_34 */ /* SODIMM 46 */ 244*ae5de77eSEmmanuel Vadot AM62PX_IOPAD(0x002c, PIN_INPUT, 7) /* (M25) OSPI0_CSn0.GPIO0_11 */ /* SODIMM 54 */ 245*ae5de77eSEmmanuel Vadot >; 246*ae5de77eSEmmanuel Vadot }; 247*ae5de77eSEmmanuel Vadot}; 248*ae5de77eSEmmanuel Vadot 249*ae5de77eSEmmanuel Vadot/* Verdin ETHs */ 250*ae5de77eSEmmanuel Vadot&cpsw3g { 251*ae5de77eSEmmanuel Vadot pinctrl-names = "default"; 252*ae5de77eSEmmanuel Vadot pinctrl-0 = <&pinctrl_rgmii1>, <&pinctrl_rgmii2>; 253*ae5de77eSEmmanuel Vadot status = "okay"; 254*ae5de77eSEmmanuel Vadot}; 255*ae5de77eSEmmanuel Vadot 256*ae5de77eSEmmanuel Vadot/* MDIO, shared by Verdin ETH_1 (On-module PHY) and Verdin ETH_2_RGMII */ 257*ae5de77eSEmmanuel Vadot&cpsw3g_mdio { 258*ae5de77eSEmmanuel Vadot status = "okay"; 259*ae5de77eSEmmanuel Vadot 260*ae5de77eSEmmanuel Vadot carrier_eth_phy: ethernet-phy@2 { 261*ae5de77eSEmmanuel Vadot reg = <2>; 262*ae5de77eSEmmanuel Vadot pinctrl-names = "default"; 263*ae5de77eSEmmanuel Vadot pinctrl-0 = <&pinctrl_eth2_rgmii_int>; 264*ae5de77eSEmmanuel Vadot interrupt-parent = <&main_gpio0>; 265*ae5de77eSEmmanuel Vadot interrupts = <42 IRQ_TYPE_EDGE_FALLING>; 266*ae5de77eSEmmanuel Vadot ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>; 267*ae5de77eSEmmanuel Vadot }; 268*ae5de77eSEmmanuel Vadot}; 269*ae5de77eSEmmanuel Vadot 270*ae5de77eSEmmanuel Vadot/* Verdin ETH_1 (On-module PHY) */ 271*ae5de77eSEmmanuel Vadot&cpsw_port1 { 272*ae5de77eSEmmanuel Vadot status = "okay"; 273*ae5de77eSEmmanuel Vadot}; 274*ae5de77eSEmmanuel Vadot 275*ae5de77eSEmmanuel Vadot/* Verdin ETH_2_RGMII */ 276*ae5de77eSEmmanuel Vadot&cpsw_port2 { 277*ae5de77eSEmmanuel Vadot phy-handle = <&carrier_eth_phy>; 278*ae5de77eSEmmanuel Vadot phy-mode = "rgmii-rxid"; 279*ae5de77eSEmmanuel Vadot status = "okay"; 280*ae5de77eSEmmanuel Vadot}; 281*ae5de77eSEmmanuel Vadot 282*ae5de77eSEmmanuel Vadot&main_gpio0 { 283*ae5de77eSEmmanuel Vadot pinctrl-names = "default"; 284*ae5de77eSEmmanuel Vadot pinctrl-0 = <&pinctrl_pcie_1_reset>, 285*ae5de77eSEmmanuel Vadot <&pinctrl_qspi1_cs2_gpio>, 286*ae5de77eSEmmanuel Vadot <&pinctrl_qspi1_dqs_gpio>, 287*ae5de77eSEmmanuel Vadot <&pinctrl_qspi1_io0_gpio>, 288*ae5de77eSEmmanuel Vadot <&pinctrl_qspi1_io1_gpio>, 289*ae5de77eSEmmanuel Vadot <&pinctrl_qspi1_io2_gpio>, 290*ae5de77eSEmmanuel Vadot <&pinctrl_qspi1_io3_gpio>; 291*ae5de77eSEmmanuel Vadot gpio-line-names = 292*ae5de77eSEmmanuel Vadot "", /* 0 */ 293*ae5de77eSEmmanuel Vadot "", 294*ae5de77eSEmmanuel Vadot "REL4", /* SODIMM 66 */ 295*ae5de77eSEmmanuel Vadot "DIGI_1", /* SODIMM 56 */ 296*ae5de77eSEmmanuel Vadot "DIGI_2", /* SODIMM 58 */ 297*ae5de77eSEmmanuel Vadot "REL1", /* SODIMM 60 */ 298*ae5de77eSEmmanuel Vadot "REL2", /* SODIMM 62 */ 299*ae5de77eSEmmanuel Vadot "", 300*ae5de77eSEmmanuel Vadot "", 301*ae5de77eSEmmanuel Vadot "", 302*ae5de77eSEmmanuel Vadot "", /* 10 */ 303*ae5de77eSEmmanuel Vadot "", 304*ae5de77eSEmmanuel Vadot "REL3", /* SODIMM 64 */ 305*ae5de77eSEmmanuel Vadot "", 306*ae5de77eSEmmanuel Vadot "", 307*ae5de77eSEmmanuel Vadot "", 308*ae5de77eSEmmanuel Vadot "", 309*ae5de77eSEmmanuel Vadot "", 310*ae5de77eSEmmanuel Vadot "", 311*ae5de77eSEmmanuel Vadot "", 312*ae5de77eSEmmanuel Vadot "", /* 20 */ 313*ae5de77eSEmmanuel Vadot "", 314*ae5de77eSEmmanuel Vadot "", 315*ae5de77eSEmmanuel Vadot "", 316*ae5de77eSEmmanuel Vadot "", 317*ae5de77eSEmmanuel Vadot "", 318*ae5de77eSEmmanuel Vadot "", 319*ae5de77eSEmmanuel Vadot "", 320*ae5de77eSEmmanuel Vadot "", 321*ae5de77eSEmmanuel Vadot "", 322*ae5de77eSEmmanuel Vadot "", /* 30 */ 323*ae5de77eSEmmanuel Vadot "", 324*ae5de77eSEmmanuel Vadot "", 325*ae5de77eSEmmanuel Vadot "", 326*ae5de77eSEmmanuel Vadot "", 327*ae5de77eSEmmanuel Vadot "", 328*ae5de77eSEmmanuel Vadot "", 329*ae5de77eSEmmanuel Vadot "", 330*ae5de77eSEmmanuel Vadot "", 331*ae5de77eSEmmanuel Vadot "", 332*ae5de77eSEmmanuel Vadot "", /* 40 */ 333*ae5de77eSEmmanuel Vadot "", 334*ae5de77eSEmmanuel Vadot "", 335*ae5de77eSEmmanuel Vadot "", 336*ae5de77eSEmmanuel Vadot "", 337*ae5de77eSEmmanuel Vadot "", 338*ae5de77eSEmmanuel Vadot "", 339*ae5de77eSEmmanuel Vadot "", 340*ae5de77eSEmmanuel Vadot "", 341*ae5de77eSEmmanuel Vadot "", 342*ae5de77eSEmmanuel Vadot "", /* 50 */ 343*ae5de77eSEmmanuel Vadot "", 344*ae5de77eSEmmanuel Vadot "", 345*ae5de77eSEmmanuel Vadot "", 346*ae5de77eSEmmanuel Vadot "", 347*ae5de77eSEmmanuel Vadot "", 348*ae5de77eSEmmanuel Vadot "", 349*ae5de77eSEmmanuel Vadot "", 350*ae5de77eSEmmanuel Vadot "", 351*ae5de77eSEmmanuel Vadot "", 352*ae5de77eSEmmanuel Vadot "", /* 60 */ 353*ae5de77eSEmmanuel Vadot "", 354*ae5de77eSEmmanuel Vadot "", 355*ae5de77eSEmmanuel Vadot "", 356*ae5de77eSEmmanuel Vadot "", 357*ae5de77eSEmmanuel Vadot "", 358*ae5de77eSEmmanuel Vadot "", 359*ae5de77eSEmmanuel Vadot "", 360*ae5de77eSEmmanuel Vadot "", 361*ae5de77eSEmmanuel Vadot "", 362*ae5de77eSEmmanuel Vadot "", /* 70 */ 363*ae5de77eSEmmanuel Vadot "", 364*ae5de77eSEmmanuel Vadot "", 365*ae5de77eSEmmanuel Vadot "", 366*ae5de77eSEmmanuel Vadot "", 367*ae5de77eSEmmanuel Vadot "", 368*ae5de77eSEmmanuel Vadot "", 369*ae5de77eSEmmanuel Vadot "", 370*ae5de77eSEmmanuel Vadot "", 371*ae5de77eSEmmanuel Vadot "", 372*ae5de77eSEmmanuel Vadot "", /* 80 */ 373*ae5de77eSEmmanuel Vadot "", 374*ae5de77eSEmmanuel Vadot "", 375*ae5de77eSEmmanuel Vadot "", 376*ae5de77eSEmmanuel Vadot "", 377*ae5de77eSEmmanuel Vadot "", 378*ae5de77eSEmmanuel Vadot "", 379*ae5de77eSEmmanuel Vadot "", 380*ae5de77eSEmmanuel Vadot "", 381*ae5de77eSEmmanuel Vadot "", 382*ae5de77eSEmmanuel Vadot "", /* 90 */ 383*ae5de77eSEmmanuel Vadot ""; 384*ae5de77eSEmmanuel Vadot}; 385*ae5de77eSEmmanuel Vadot 386*ae5de77eSEmmanuel Vadot&main_gpio1 { 387*ae5de77eSEmmanuel Vadot gpio-line-names = 388*ae5de77eSEmmanuel Vadot "", /* 0 */ 389*ae5de77eSEmmanuel Vadot "", 390*ae5de77eSEmmanuel Vadot "", 391*ae5de77eSEmmanuel Vadot "", 392*ae5de77eSEmmanuel Vadot "", 393*ae5de77eSEmmanuel Vadot "", 394*ae5de77eSEmmanuel Vadot "", 395*ae5de77eSEmmanuel Vadot "", 396*ae5de77eSEmmanuel Vadot "", 397*ae5de77eSEmmanuel Vadot "", 398*ae5de77eSEmmanuel Vadot "", /* 10 */ 399*ae5de77eSEmmanuel Vadot "", 400*ae5de77eSEmmanuel Vadot "", 401*ae5de77eSEmmanuel Vadot "", 402*ae5de77eSEmmanuel Vadot "", 403*ae5de77eSEmmanuel Vadot "", 404*ae5de77eSEmmanuel Vadot "", 405*ae5de77eSEmmanuel Vadot "", 406*ae5de77eSEmmanuel Vadot "", 407*ae5de77eSEmmanuel Vadot "", 408*ae5de77eSEmmanuel Vadot "", /* 20 */ 409*ae5de77eSEmmanuel Vadot "", 410*ae5de77eSEmmanuel Vadot "", 411*ae5de77eSEmmanuel Vadot "", 412*ae5de77eSEmmanuel Vadot "", 413*ae5de77eSEmmanuel Vadot "", 414*ae5de77eSEmmanuel Vadot "", 415*ae5de77eSEmmanuel Vadot "", 416*ae5de77eSEmmanuel Vadot "", 417*ae5de77eSEmmanuel Vadot "", 418*ae5de77eSEmmanuel Vadot "", /* 30 */ 419*ae5de77eSEmmanuel Vadot "", 420*ae5de77eSEmmanuel Vadot "", 421*ae5de77eSEmmanuel Vadot "", 422*ae5de77eSEmmanuel Vadot "", 423*ae5de77eSEmmanuel Vadot "", 424*ae5de77eSEmmanuel Vadot "", 425*ae5de77eSEmmanuel Vadot "", 426*ae5de77eSEmmanuel Vadot "", 427*ae5de77eSEmmanuel Vadot "", 428*ae5de77eSEmmanuel Vadot "", /* 40 */ 429*ae5de77eSEmmanuel Vadot "", 430*ae5de77eSEmmanuel Vadot "", 431*ae5de77eSEmmanuel Vadot "", 432*ae5de77eSEmmanuel Vadot "", 433*ae5de77eSEmmanuel Vadot "", 434*ae5de77eSEmmanuel Vadot "", 435*ae5de77eSEmmanuel Vadot "", 436*ae5de77eSEmmanuel Vadot "", 437*ae5de77eSEmmanuel Vadot "", 438*ae5de77eSEmmanuel Vadot "", /* 50 */ 439*ae5de77eSEmmanuel Vadot ""; 440*ae5de77eSEmmanuel Vadot}; 441*ae5de77eSEmmanuel Vadot 442*ae5de77eSEmmanuel Vadot/* Verdin I2C_1 */ 443*ae5de77eSEmmanuel Vadot&main_i2c0 { 444*ae5de77eSEmmanuel Vadot status = "okay"; 445*ae5de77eSEmmanuel Vadot 446*ae5de77eSEmmanuel Vadot temperature-sensor@4f { 447*ae5de77eSEmmanuel Vadot compatible = "ti,tmp1075"; 448*ae5de77eSEmmanuel Vadot reg = <0x4f>; 449*ae5de77eSEmmanuel Vadot }; 450*ae5de77eSEmmanuel Vadot 451*ae5de77eSEmmanuel Vadot carrier_eeprom: eeprom@57 { 452*ae5de77eSEmmanuel Vadot compatible = "st,24c02", "atmel,24c02"; 453*ae5de77eSEmmanuel Vadot reg = <0x57>; 454*ae5de77eSEmmanuel Vadot pagesize = <16>; 455*ae5de77eSEmmanuel Vadot }; 456*ae5de77eSEmmanuel Vadot}; 457*ae5de77eSEmmanuel Vadot 458*ae5de77eSEmmanuel Vadot/* Verdin I2C_4_CSI */ 459*ae5de77eSEmmanuel Vadot&main_i2c3 { 460*ae5de77eSEmmanuel Vadot status = "okay"; 461*ae5de77eSEmmanuel Vadot 462*ae5de77eSEmmanuel Vadot ivy_adc1: adc@40 { 463*ae5de77eSEmmanuel Vadot compatible = "ti,ads1119"; 464*ae5de77eSEmmanuel Vadot reg = <0x40>; 465*ae5de77eSEmmanuel Vadot pinctrl-names = "default"; 466*ae5de77eSEmmanuel Vadot pinctrl-0 = <&pinctrl_gpio_7>; 467*ae5de77eSEmmanuel Vadot interrupt-parent = <&main_gpio0>; 468*ae5de77eSEmmanuel Vadot interrupts = <51 IRQ_TYPE_EDGE_FALLING>; 469*ae5de77eSEmmanuel Vadot avdd-supply = <®_3v2_ain1>; 470*ae5de77eSEmmanuel Vadot dvdd-supply = <®_3v2_ain1>; 471*ae5de77eSEmmanuel Vadot vref-supply = <®_3v2_ain1>; 472*ae5de77eSEmmanuel Vadot #address-cells = <1>; 473*ae5de77eSEmmanuel Vadot #io-channel-cells = <1>; 474*ae5de77eSEmmanuel Vadot #size-cells = <0>; 475*ae5de77eSEmmanuel Vadot 476*ae5de77eSEmmanuel Vadot /* AIN1 0-33V Voltage Input */ 477*ae5de77eSEmmanuel Vadot channel@0 { 478*ae5de77eSEmmanuel Vadot reg = <0>; 479*ae5de77eSEmmanuel Vadot diff-channels = <0 1>; 480*ae5de77eSEmmanuel Vadot }; 481*ae5de77eSEmmanuel Vadot 482*ae5de77eSEmmanuel Vadot /* AIN1 0-20mA Current Input */ 483*ae5de77eSEmmanuel Vadot channel@1 { 484*ae5de77eSEmmanuel Vadot reg = <1>; 485*ae5de77eSEmmanuel Vadot diff-channels = <2 3>; 486*ae5de77eSEmmanuel Vadot }; 487*ae5de77eSEmmanuel Vadot }; 488*ae5de77eSEmmanuel Vadot 489*ae5de77eSEmmanuel Vadot ivy_adc2: adc@41 { 490*ae5de77eSEmmanuel Vadot compatible = "ti,ads1119"; 491*ae5de77eSEmmanuel Vadot reg = <0x41>; 492*ae5de77eSEmmanuel Vadot pinctrl-names = "default"; 493*ae5de77eSEmmanuel Vadot pinctrl-0 = <&pinctrl_gpio_8>; 494*ae5de77eSEmmanuel Vadot interrupt-parent = <&main_gpio0>; 495*ae5de77eSEmmanuel Vadot interrupts = <52 IRQ_TYPE_EDGE_FALLING>; 496*ae5de77eSEmmanuel Vadot avdd-supply = <®_3v2_ain2>; 497*ae5de77eSEmmanuel Vadot dvdd-supply = <®_3v2_ain2>; 498*ae5de77eSEmmanuel Vadot vref-supply = <®_3v2_ain2>; 499*ae5de77eSEmmanuel Vadot #address-cells = <1>; 500*ae5de77eSEmmanuel Vadot #io-channel-cells = <1>; 501*ae5de77eSEmmanuel Vadot #size-cells = <0>; 502*ae5de77eSEmmanuel Vadot 503*ae5de77eSEmmanuel Vadot /* AIN2 0-33V Voltage Input */ 504*ae5de77eSEmmanuel Vadot channel@0 { 505*ae5de77eSEmmanuel Vadot reg = <0>; 506*ae5de77eSEmmanuel Vadot diff-channels = <0 1>; 507*ae5de77eSEmmanuel Vadot }; 508*ae5de77eSEmmanuel Vadot 509*ae5de77eSEmmanuel Vadot /* AIN2 0-20mA Current Input */ 510*ae5de77eSEmmanuel Vadot channel@1 { 511*ae5de77eSEmmanuel Vadot reg = <1>; 512*ae5de77eSEmmanuel Vadot diff-channels = <2 3>; 513*ae5de77eSEmmanuel Vadot }; 514*ae5de77eSEmmanuel Vadot }; 515*ae5de77eSEmmanuel Vadot}; 516*ae5de77eSEmmanuel Vadot 517*ae5de77eSEmmanuel Vadot/* Verdin CAN_1 */ 518*ae5de77eSEmmanuel Vadot&main_mcan0 { 519*ae5de77eSEmmanuel Vadot status = "okay"; 520*ae5de77eSEmmanuel Vadot}; 521*ae5de77eSEmmanuel Vadot 522*ae5de77eSEmmanuel Vadot/* Verdin SPI_1 */ 523*ae5de77eSEmmanuel Vadot&main_spi1 { 524*ae5de77eSEmmanuel Vadot pinctrl-0 = <&pinctrl_main_spi1>, 525*ae5de77eSEmmanuel Vadot <&pinctrl_main_spi1_cs0>, 526*ae5de77eSEmmanuel Vadot <&pinctrl_gpio_1>, 527*ae5de77eSEmmanuel Vadot <&pinctrl_gpio_4>; 528*ae5de77eSEmmanuel Vadot cs-gpios = <0>, 529*ae5de77eSEmmanuel Vadot <&mcu_gpio0 1 GPIO_ACTIVE_LOW>, 530*ae5de77eSEmmanuel Vadot <&mcu_gpio0 4 GPIO_ACTIVE_LOW>; 531*ae5de77eSEmmanuel Vadot status = "okay"; 532*ae5de77eSEmmanuel Vadot 533*ae5de77eSEmmanuel Vadot tpm@1 { 534*ae5de77eSEmmanuel Vadot compatible = "infineon,slb9670", "tcg,tpm_tis-spi"; 535*ae5de77eSEmmanuel Vadot reg = <1>; 536*ae5de77eSEmmanuel Vadot spi-max-frequency = <18500000>; 537*ae5de77eSEmmanuel Vadot }; 538*ae5de77eSEmmanuel Vadot 539*ae5de77eSEmmanuel Vadot fram@2 { 540*ae5de77eSEmmanuel Vadot compatible = "fujitsu,mb85rs256", "atmel,at25"; 541*ae5de77eSEmmanuel Vadot reg = <2>; 542*ae5de77eSEmmanuel Vadot address-width = <16>; 543*ae5de77eSEmmanuel Vadot size = <32768>; 544*ae5de77eSEmmanuel Vadot spi-max-frequency = <33000000>; 545*ae5de77eSEmmanuel Vadot pagesize = <1>; 546*ae5de77eSEmmanuel Vadot }; 547*ae5de77eSEmmanuel Vadot}; 548*ae5de77eSEmmanuel Vadot 549*ae5de77eSEmmanuel Vadot/* Verdin UART_3, used as the Linux console */ 550*ae5de77eSEmmanuel Vadot&main_uart0 { 551*ae5de77eSEmmanuel Vadot status = "okay"; 552*ae5de77eSEmmanuel Vadot}; 553*ae5de77eSEmmanuel Vadot 554*ae5de77eSEmmanuel Vadot/* Verdin UART_1 */ 555*ae5de77eSEmmanuel Vadot&main_uart1 { 556*ae5de77eSEmmanuel Vadot status = "okay"; 557*ae5de77eSEmmanuel Vadot}; 558*ae5de77eSEmmanuel Vadot 559*ae5de77eSEmmanuel Vadot&mcu_gpio0 { 560*ae5de77eSEmmanuel Vadot pinctrl-names = "default"; 561*ae5de77eSEmmanuel Vadot pinctrl-0 = <&pinctrl_gpio_2>, 562*ae5de77eSEmmanuel Vadot <&pinctrl_gpio_3>; 563*ae5de77eSEmmanuel Vadot gpio-line-names = 564*ae5de77eSEmmanuel Vadot "", 565*ae5de77eSEmmanuel Vadot "", 566*ae5de77eSEmmanuel Vadot "GPIO2", /* Verdin GPIO_2 - SODIMM 208 */ 567*ae5de77eSEmmanuel Vadot "GPIO3", /* Verdin GPIO_3 - SODIMM 210 */ 568*ae5de77eSEmmanuel Vadot "", 569*ae5de77eSEmmanuel Vadot "", 570*ae5de77eSEmmanuel Vadot "", 571*ae5de77eSEmmanuel Vadot "", 572*ae5de77eSEmmanuel Vadot "", 573*ae5de77eSEmmanuel Vadot "", 574*ae5de77eSEmmanuel Vadot "", /* 10 */ 575*ae5de77eSEmmanuel Vadot "", 576*ae5de77eSEmmanuel Vadot "", 577*ae5de77eSEmmanuel Vadot "", 578*ae5de77eSEmmanuel Vadot "", 579*ae5de77eSEmmanuel Vadot "", 580*ae5de77eSEmmanuel Vadot "", 581*ae5de77eSEmmanuel Vadot "", 582*ae5de77eSEmmanuel Vadot "", 583*ae5de77eSEmmanuel Vadot "", 584*ae5de77eSEmmanuel Vadot "", /* 20 */ 585*ae5de77eSEmmanuel Vadot "", 586*ae5de77eSEmmanuel Vadot "", 587*ae5de77eSEmmanuel Vadot ""; 588*ae5de77eSEmmanuel Vadot}; 589*ae5de77eSEmmanuel Vadot 590*ae5de77eSEmmanuel Vadot/* Verdin CAN_2 */ 591*ae5de77eSEmmanuel Vadot&mcu_mcan0 { 592*ae5de77eSEmmanuel Vadot status = "okay"; 593*ae5de77eSEmmanuel Vadot}; 594*ae5de77eSEmmanuel Vadot 595*ae5de77eSEmmanuel Vadot/* Verdin SD_1 */ 596*ae5de77eSEmmanuel Vadot&sdhci1 { 597*ae5de77eSEmmanuel Vadot status = "okay"; 598*ae5de77eSEmmanuel Vadot}; 599*ae5de77eSEmmanuel Vadot 600*ae5de77eSEmmanuel Vadot/* Verdin USB_1 */ 601*ae5de77eSEmmanuel Vadot&usbss0 { 602*ae5de77eSEmmanuel Vadot status = "okay"; 603*ae5de77eSEmmanuel Vadot}; 604*ae5de77eSEmmanuel Vadot 605*ae5de77eSEmmanuel Vadot&usb0 { 606*ae5de77eSEmmanuel Vadot status = "okay"; 607*ae5de77eSEmmanuel Vadot}; 608*ae5de77eSEmmanuel Vadot 609*ae5de77eSEmmanuel Vadot/* Verdin USB_2 */ 610*ae5de77eSEmmanuel Vadot&usbss1 { 611*ae5de77eSEmmanuel Vadot status = "okay"; 612*ae5de77eSEmmanuel Vadot}; 613*ae5de77eSEmmanuel Vadot 614*ae5de77eSEmmanuel Vadot&usb1 { 615*ae5de77eSEmmanuel Vadot status = "okay"; 616*ae5de77eSEmmanuel Vadot}; 617*ae5de77eSEmmanuel Vadot 618*ae5de77eSEmmanuel Vadot/* Verdin PCIE_1_RESET# */ 619*ae5de77eSEmmanuel Vadot&verdin_pcie_1_reset_hog { 620*ae5de77eSEmmanuel Vadot status = "okay"; 621*ae5de77eSEmmanuel Vadot}; 622*ae5de77eSEmmanuel Vadot 623*ae5de77eSEmmanuel Vadot/* Verdin UART_2 */ 624*ae5de77eSEmmanuel Vadot&wkup_uart0 { 625*ae5de77eSEmmanuel Vadot rs485-rts-active-low; 626*ae5de77eSEmmanuel Vadot rs485-rx-during-tx; 627*ae5de77eSEmmanuel Vadot linux,rs485-enabled-at-boot-time; 628*ae5de77eSEmmanuel Vadot status = "okay"; 629*ae5de77eSEmmanuel Vadot}; 630