1*adca4617SJoão Paulo Gonçalves// SPDX-License-Identifier: GPL-2.0-or-later OR MIT 2*adca4617SJoão Paulo Gonçalves/* 3*adca4617SJoão Paulo Gonçalves * Copyright 2024 Toradex 4*adca4617SJoão Paulo Gonçalves * 5*adca4617SJoão Paulo Gonçalves * Common dtsi for Verdin IMX8MM SoM on Ivy carrier board 6*adca4617SJoão Paulo Gonçalves * 7*adca4617SJoão Paulo Gonçalves * https://www.toradex.com/computer-on-modules/verdin-arm-family/nxp-imx-8m-mini-nano 8*adca4617SJoão Paulo Gonçalves * https://www.toradex.com/products/carrier-board/ivy-carrier-board 9*adca4617SJoão Paulo Gonçalves */ 10*adca4617SJoão Paulo Gonçalves 11*adca4617SJoão Paulo Gonçalves#include <dt-bindings/mux/mux.h> 12*adca4617SJoão Paulo Gonçalves#include <dt-bindings/leds/common.h> 13*adca4617SJoão Paulo Gonçalves 14*adca4617SJoão Paulo Gonçalves/ { 15*adca4617SJoão Paulo Gonçalves /* AIN1 Voltage w/o AIN1_MODE gpio control */ 16*adca4617SJoão Paulo Gonçalves ain1_voltage_unmanaged: voltage-divider-ain1 { 17*adca4617SJoão Paulo Gonçalves compatible = "voltage-divider"; 18*adca4617SJoão Paulo Gonçalves #io-channel-cells = <1>; 19*adca4617SJoão Paulo Gonçalves io-channels = <&ivy_adc1 0>; 20*adca4617SJoão Paulo Gonçalves full-ohms = <19>; 21*adca4617SJoão Paulo Gonçalves output-ohms = <1>; 22*adca4617SJoão Paulo Gonçalves }; 23*adca4617SJoão Paulo Gonçalves 24*adca4617SJoão Paulo Gonçalves /* AIN1 Current w/o AIN1_MODE gpio control */ 25*adca4617SJoão Paulo Gonçalves ain1_current_unmanaged: current-sense-shunt-ain1 { 26*adca4617SJoão Paulo Gonçalves compatible = "current-sense-shunt"; 27*adca4617SJoão Paulo Gonçalves #io-channel-cells = <0>; 28*adca4617SJoão Paulo Gonçalves io-channels = <&ivy_adc1 1>; 29*adca4617SJoão Paulo Gonçalves shunt-resistor-micro-ohms = <100000000>; 30*adca4617SJoão Paulo Gonçalves }; 31*adca4617SJoão Paulo Gonçalves 32*adca4617SJoão Paulo Gonçalves /* AIN1_MODE - SODIMM 216 */ 33*adca4617SJoão Paulo Gonçalves ain1_mode_mux_ctrl: mux-controller-0 { 34*adca4617SJoão Paulo Gonçalves compatible = "gpio-mux"; 35*adca4617SJoão Paulo Gonçalves pinctrl-names = "default"; 36*adca4617SJoão Paulo Gonçalves pinctrl-0 = <&pinctrl_gpio5>; 37*adca4617SJoão Paulo Gonçalves #mux-control-cells = <0>; 38*adca4617SJoão Paulo Gonçalves mux-gpios = <&gpio1 0 GPIO_ACTIVE_HIGH>; 39*adca4617SJoão Paulo Gonçalves }; 40*adca4617SJoão Paulo Gonçalves 41*adca4617SJoão Paulo Gonçalves ain1-voltage { 42*adca4617SJoão Paulo Gonçalves compatible = "io-channel-mux"; 43*adca4617SJoão Paulo Gonçalves channels = "ain1_voltage", ""; 44*adca4617SJoão Paulo Gonçalves io-channels = <&ain1_voltage_unmanaged 0>; 45*adca4617SJoão Paulo Gonçalves io-channel-names = "parent"; 46*adca4617SJoão Paulo Gonçalves mux-controls = <&ain1_mode_mux_ctrl>; 47*adca4617SJoão Paulo Gonçalves settle-time-us = <1000>; 48*adca4617SJoão Paulo Gonçalves }; 49*adca4617SJoão Paulo Gonçalves 50*adca4617SJoão Paulo Gonçalves ain1-current { 51*adca4617SJoão Paulo Gonçalves compatible = "io-channel-mux"; 52*adca4617SJoão Paulo Gonçalves channels = "", "ain1_current"; 53*adca4617SJoão Paulo Gonçalves io-channels = <&ain1_current_unmanaged>; 54*adca4617SJoão Paulo Gonçalves io-channel-names = "parent"; 55*adca4617SJoão Paulo Gonçalves mux-controls = <&ain1_mode_mux_ctrl>; 56*adca4617SJoão Paulo Gonçalves settle-time-us = <1000>; 57*adca4617SJoão Paulo Gonçalves }; 58*adca4617SJoão Paulo Gonçalves 59*adca4617SJoão Paulo Gonçalves /* AIN2 Voltage w/o AIN2_MODE gpio control */ 60*adca4617SJoão Paulo Gonçalves ain2_voltage_unmanaged: voltage-divider-ain2 { 61*adca4617SJoão Paulo Gonçalves compatible = "voltage-divider"; 62*adca4617SJoão Paulo Gonçalves #io-channel-cells = <1>; 63*adca4617SJoão Paulo Gonçalves io-channels = <&ivy_adc2 0>; 64*adca4617SJoão Paulo Gonçalves full-ohms = <19>; 65*adca4617SJoão Paulo Gonçalves output-ohms = <1>; 66*adca4617SJoão Paulo Gonçalves }; 67*adca4617SJoão Paulo Gonçalves 68*adca4617SJoão Paulo Gonçalves /* AIN2 Current w/o AIN2_MODE gpio control */ 69*adca4617SJoão Paulo Gonçalves ain2_current_unmanaged: current-sense-shunt-ain2 { 70*adca4617SJoão Paulo Gonçalves compatible = "current-sense-shunt"; 71*adca4617SJoão Paulo Gonçalves #io-channel-cells = <0>; 72*adca4617SJoão Paulo Gonçalves io-channels = <&ivy_adc2 1>; 73*adca4617SJoão Paulo Gonçalves shunt-resistor-micro-ohms = <100000000>; 74*adca4617SJoão Paulo Gonçalves }; 75*adca4617SJoão Paulo Gonçalves 76*adca4617SJoão Paulo Gonçalves /* AIN2_MODE - SODIMM 218 */ 77*adca4617SJoão Paulo Gonçalves ain2_mode_mux_ctrl: mux-controller-1 { 78*adca4617SJoão Paulo Gonçalves compatible = "gpio-mux"; 79*adca4617SJoão Paulo Gonçalves pinctrl-names = "default"; 80*adca4617SJoão Paulo Gonçalves pinctrl-0 = <&pinctrl_gpio6>; 81*adca4617SJoão Paulo Gonçalves #mux-control-cells = <0>; 82*adca4617SJoão Paulo Gonçalves mux-gpios = <&gpio1 11 GPIO_ACTIVE_HIGH>; 83*adca4617SJoão Paulo Gonçalves }; 84*adca4617SJoão Paulo Gonçalves 85*adca4617SJoão Paulo Gonçalves ain2-voltage { 86*adca4617SJoão Paulo Gonçalves compatible = "io-channel-mux"; 87*adca4617SJoão Paulo Gonçalves channels = "ain2_voltage", ""; 88*adca4617SJoão Paulo Gonçalves io-channels = <&ain2_voltage_unmanaged 0>; 89*adca4617SJoão Paulo Gonçalves io-channel-names = "parent"; 90*adca4617SJoão Paulo Gonçalves mux-controls = <&ain2_mode_mux_ctrl>; 91*adca4617SJoão Paulo Gonçalves settle-time-us = <1000>; 92*adca4617SJoão Paulo Gonçalves }; 93*adca4617SJoão Paulo Gonçalves 94*adca4617SJoão Paulo Gonçalves ain2-current { 95*adca4617SJoão Paulo Gonçalves compatible = "io-channel-mux"; 96*adca4617SJoão Paulo Gonçalves channels = "", "ain2_current"; 97*adca4617SJoão Paulo Gonçalves io-channels = <&ain2_current_unmanaged>; 98*adca4617SJoão Paulo Gonçalves io-channel-names = "parent"; 99*adca4617SJoão Paulo Gonçalves mux-controls = <&ain2_mode_mux_ctrl>; 100*adca4617SJoão Paulo Gonçalves settle-time-us = <1000>; 101*adca4617SJoão Paulo Gonçalves }; 102*adca4617SJoão Paulo Gonçalves 103*adca4617SJoão Paulo Gonçalves leds { 104*adca4617SJoão Paulo Gonçalves compatible = "gpio-leds"; 105*adca4617SJoão Paulo Gonçalves pinctrl-names = "default"; 106*adca4617SJoão Paulo Gonçalves pinctrl-0 = <&pinctrl_ivy_leds>; 107*adca4617SJoão Paulo Gonçalves 108*adca4617SJoão Paulo Gonçalves /* D7 Blue - SODIMM 30 - LEDs.GPIO1 */ 109*adca4617SJoão Paulo Gonçalves led-0 { 110*adca4617SJoão Paulo Gonçalves color = <LED_COLOR_ID_BLUE>; 111*adca4617SJoão Paulo Gonçalves default-state = "off"; 112*adca4617SJoão Paulo Gonçalves function = LED_FUNCTION_STATUS; 113*adca4617SJoão Paulo Gonçalves function-enumerator = <1>; 114*adca4617SJoão Paulo Gonçalves gpios = <&gpio4 25 GPIO_ACTIVE_HIGH>; 115*adca4617SJoão Paulo Gonçalves }; 116*adca4617SJoão Paulo Gonçalves 117*adca4617SJoão Paulo Gonçalves /* D7 Green - SODIMM 32 - LEDs.GPIO2 */ 118*adca4617SJoão Paulo Gonçalves led-1 { 119*adca4617SJoão Paulo Gonçalves color = <LED_COLOR_ID_GREEN>; 120*adca4617SJoão Paulo Gonçalves default-state = "off"; 121*adca4617SJoão Paulo Gonçalves function = LED_FUNCTION_STATUS; 122*adca4617SJoão Paulo Gonçalves function-enumerator = <1>; 123*adca4617SJoão Paulo Gonçalves gpios = <&gpio4 24 GPIO_ACTIVE_HIGH>; 124*adca4617SJoão Paulo Gonçalves }; 125*adca4617SJoão Paulo Gonçalves 126*adca4617SJoão Paulo Gonçalves /* D7 Red - SODIMM 34 - LEDs.GPIO3 */ 127*adca4617SJoão Paulo Gonçalves led-2 { 128*adca4617SJoão Paulo Gonçalves color = <LED_COLOR_ID_RED>; 129*adca4617SJoão Paulo Gonçalves default-state = "off"; 130*adca4617SJoão Paulo Gonçalves function = LED_FUNCTION_STATUS; 131*adca4617SJoão Paulo Gonçalves function-enumerator = <1>; 132*adca4617SJoão Paulo Gonçalves gpios = <&gpio4 26 GPIO_ACTIVE_HIGH>; 133*adca4617SJoão Paulo Gonçalves }; 134*adca4617SJoão Paulo Gonçalves 135*adca4617SJoão Paulo Gonçalves /* D8 Blue - SODIMM 36 - LEDs.GPIO4 */ 136*adca4617SJoão Paulo Gonçalves led-3 { 137*adca4617SJoão Paulo Gonçalves color = <LED_COLOR_ID_BLUE>; 138*adca4617SJoão Paulo Gonçalves default-state = "off"; 139*adca4617SJoão Paulo Gonçalves function = LED_FUNCTION_STATUS; 140*adca4617SJoão Paulo Gonçalves function-enumerator = <2>; 141*adca4617SJoão Paulo Gonçalves gpios = <&gpio4 23 GPIO_ACTIVE_HIGH>; 142*adca4617SJoão Paulo Gonçalves }; 143*adca4617SJoão Paulo Gonçalves 144*adca4617SJoão Paulo Gonçalves /* D8 Green - SODIMM 54 - LEDs.GPIO5 */ 145*adca4617SJoão Paulo Gonçalves led-4 { 146*adca4617SJoão Paulo Gonçalves color = <LED_COLOR_ID_GREEN>; 147*adca4617SJoão Paulo Gonçalves default-state = "off"; 148*adca4617SJoão Paulo Gonçalves function = LED_FUNCTION_STATUS; 149*adca4617SJoão Paulo Gonçalves function-enumerator = <2>; 150*adca4617SJoão Paulo Gonçalves gpios = <&gpio3 1 GPIO_ACTIVE_HIGH>; 151*adca4617SJoão Paulo Gonçalves }; 152*adca4617SJoão Paulo Gonçalves 153*adca4617SJoão Paulo Gonçalves /* D8 Red - SODIMM 44 - LEDs.GPIO6 */ 154*adca4617SJoão Paulo Gonçalves led-5 { 155*adca4617SJoão Paulo Gonçalves color = <LED_COLOR_ID_RED>; 156*adca4617SJoão Paulo Gonçalves default-state = "off"; 157*adca4617SJoão Paulo Gonçalves function = LED_FUNCTION_STATUS; 158*adca4617SJoão Paulo Gonçalves function-enumerator = <2>; 159*adca4617SJoão Paulo Gonçalves gpios = <&gpio3 22 GPIO_ACTIVE_HIGH>; 160*adca4617SJoão Paulo Gonçalves }; 161*adca4617SJoão Paulo Gonçalves 162*adca4617SJoão Paulo Gonçalves /* D9 Blue - SODIMM 46 - LEDs.GPIO7 */ 163*adca4617SJoão Paulo Gonçalves led-6 { 164*adca4617SJoão Paulo Gonçalves color = <LED_COLOR_ID_BLUE>; 165*adca4617SJoão Paulo Gonçalves default-state = "off"; 166*adca4617SJoão Paulo Gonçalves function = LED_FUNCTION_STATUS; 167*adca4617SJoão Paulo Gonçalves function-enumerator = <3>; 168*adca4617SJoão Paulo Gonçalves gpios = <&gpio3 24 GPIO_ACTIVE_HIGH>; 169*adca4617SJoão Paulo Gonçalves }; 170*adca4617SJoão Paulo Gonçalves 171*adca4617SJoão Paulo Gonçalves /* D9 Red - SODIMM 48 - LEDs.GPIO8 */ 172*adca4617SJoão Paulo Gonçalves led-7 { 173*adca4617SJoão Paulo Gonçalves color = <LED_COLOR_ID_RED>; 174*adca4617SJoão Paulo Gonçalves default-state = "off"; 175*adca4617SJoão Paulo Gonçalves function = LED_FUNCTION_STATUS; 176*adca4617SJoão Paulo Gonçalves function-enumerator = <3>; 177*adca4617SJoão Paulo Gonçalves gpios = <&gpio3 21 GPIO_ACTIVE_HIGH>; 178*adca4617SJoão Paulo Gonçalves }; 179*adca4617SJoão Paulo Gonçalves }; 180*adca4617SJoão Paulo Gonçalves 181*adca4617SJoão Paulo Gonçalves reg_3v2_ain1: regulator-3v2-ain1 { 182*adca4617SJoão Paulo Gonçalves compatible = "regulator-fixed"; 183*adca4617SJoão Paulo Gonçalves regulator-max-microvolt = <3200000>; 184*adca4617SJoão Paulo Gonçalves regulator-min-microvolt = <3200000>; 185*adca4617SJoão Paulo Gonçalves regulator-name = "+3V2_AIN1"; 186*adca4617SJoão Paulo Gonçalves }; 187*adca4617SJoão Paulo Gonçalves 188*adca4617SJoão Paulo Gonçalves reg_3v2_ain2: regulator-3v2-ain2 { 189*adca4617SJoão Paulo Gonçalves compatible = "regulator-fixed"; 190*adca4617SJoão Paulo Gonçalves regulator-max-microvolt = <3200000>; 191*adca4617SJoão Paulo Gonçalves regulator-min-microvolt = <3200000>; 192*adca4617SJoão Paulo Gonçalves regulator-name = "+3V2_AIN2"; 193*adca4617SJoão Paulo Gonçalves }; 194*adca4617SJoão Paulo Gonçalves 195*adca4617SJoão Paulo Gonçalves /* Ivy Power Supply Input Voltage */ 196*adca4617SJoão Paulo Gonçalves ivy-input-voltage { 197*adca4617SJoão Paulo Gonçalves compatible = "voltage-divider"; 198*adca4617SJoão Paulo Gonçalves /* Verdin ADC_1 */ 199*adca4617SJoão Paulo Gonçalves io-channels = <&verdin_som_adc 7>; 200*adca4617SJoão Paulo Gonçalves full-ohms = <204700>; /* 200k + 4.7k */ 201*adca4617SJoão Paulo Gonçalves output-ohms = <4700>; 202*adca4617SJoão Paulo Gonçalves }; 203*adca4617SJoão Paulo Gonçalves 204*adca4617SJoão Paulo Gonçalves ivy-5v-voltage { 205*adca4617SJoão Paulo Gonçalves compatible = "voltage-divider"; 206*adca4617SJoão Paulo Gonçalves /* Verdin ADC_2 */ 207*adca4617SJoão Paulo Gonçalves io-channels = <&verdin_som_adc 6>; 208*adca4617SJoão Paulo Gonçalves full-ohms = <39000>; /* 27k + 12k */ 209*adca4617SJoão Paulo Gonçalves output-ohms = <12000>; 210*adca4617SJoão Paulo Gonçalves }; 211*adca4617SJoão Paulo Gonçalves 212*adca4617SJoão Paulo Gonçalves ivy-3v3-voltage { 213*adca4617SJoão Paulo Gonçalves compatible = "voltage-divider"; 214*adca4617SJoão Paulo Gonçalves /* Verdin ADC_3 */ 215*adca4617SJoão Paulo Gonçalves io-channels = <&verdin_som_adc 5>; 216*adca4617SJoão Paulo Gonçalves full-ohms = <54000>; /* 27k + 27k */ 217*adca4617SJoão Paulo Gonçalves output-ohms = <27000>; 218*adca4617SJoão Paulo Gonçalves }; 219*adca4617SJoão Paulo Gonçalves 220*adca4617SJoão Paulo Gonçalves ivy-1v8-voltage { 221*adca4617SJoão Paulo Gonçalves compatible = "voltage-divider"; 222*adca4617SJoão Paulo Gonçalves /* Verdin ADC_4 */ 223*adca4617SJoão Paulo Gonçalves io-channels = <&verdin_som_adc 4>; 224*adca4617SJoão Paulo Gonçalves full-ohms = <39000>; /* 12k + 27k */ 225*adca4617SJoão Paulo Gonçalves output-ohms = <27000>; 226*adca4617SJoão Paulo Gonçalves }; 227*adca4617SJoão Paulo Gonçalves}; 228*adca4617SJoão Paulo Gonçalves 229*adca4617SJoão Paulo Gonçalves/* Verdin SPI_1 */ 230*adca4617SJoão Paulo Gonçalves&ecspi2 { 231*adca4617SJoão Paulo Gonçalves pinctrl-0 = <&pinctrl_ecspi2>, 232*adca4617SJoão Paulo Gonçalves <&pinctrl_gpio1>, 233*adca4617SJoão Paulo Gonçalves <&pinctrl_gpio4>; 234*adca4617SJoão Paulo Gonçalves cs-gpios = <&gpio5 13 GPIO_ACTIVE_LOW>, 235*adca4617SJoão Paulo Gonçalves <&gpio3 4 GPIO_ACTIVE_LOW>, 236*adca4617SJoão Paulo Gonçalves <&gpio5 27 GPIO_ACTIVE_LOW>; 237*adca4617SJoão Paulo Gonçalves status = "okay"; 238*adca4617SJoão Paulo Gonçalves 239*adca4617SJoão Paulo Gonçalves tpm@1 { 240*adca4617SJoão Paulo Gonçalves compatible = "infineon,slb9670", "tcg,tpm_tis-spi"; 241*adca4617SJoão Paulo Gonçalves reg = <1>; 242*adca4617SJoão Paulo Gonçalves spi-max-frequency = <18500000>; 243*adca4617SJoão Paulo Gonçalves }; 244*adca4617SJoão Paulo Gonçalves 245*adca4617SJoão Paulo Gonçalves fram@2 { 246*adca4617SJoão Paulo Gonçalves compatible = "fujitsu,mb85rs256", "atmel,at25"; 247*adca4617SJoão Paulo Gonçalves reg = <2>; 248*adca4617SJoão Paulo Gonçalves address-width = <16>; 249*adca4617SJoão Paulo Gonçalves size = <32768>; 250*adca4617SJoão Paulo Gonçalves spi-max-frequency = <33000000>; 251*adca4617SJoão Paulo Gonçalves pagesize = <1>; 252*adca4617SJoão Paulo Gonçalves }; 253*adca4617SJoão Paulo Gonçalves}; 254*adca4617SJoão Paulo Gonçalves 255*adca4617SJoão Paulo Gonçalves/* EEPROM on Ivy */ 256*adca4617SJoão Paulo Gonçalves&eeprom_carrier_board { 257*adca4617SJoão Paulo Gonçalves status = "okay"; 258*adca4617SJoão Paulo Gonçalves}; 259*adca4617SJoão Paulo Gonçalves 260*adca4617SJoão Paulo Gonçalves/* Verdin ETH_1 */ 261*adca4617SJoão Paulo Gonçalves&fec1 { 262*adca4617SJoão Paulo Gonçalves status = "okay"; 263*adca4617SJoão Paulo Gonçalves}; 264*adca4617SJoão Paulo Gonçalves 265*adca4617SJoão Paulo Gonçalves&gpio3 { 266*adca4617SJoão Paulo Gonçalves gpio-line-names = 267*adca4617SJoão Paulo Gonçalves "", /* 0 */ 268*adca4617SJoão Paulo Gonçalves "", 269*adca4617SJoão Paulo Gonçalves "REL3", /* SODIMM 64 */ 270*adca4617SJoão Paulo Gonçalves "", 271*adca4617SJoão Paulo Gonçalves "", 272*adca4617SJoão Paulo Gonçalves "", 273*adca4617SJoão Paulo Gonçalves "DIG_1", /* SODIMM 56 */ 274*adca4617SJoão Paulo Gonçalves "DIG_2", /* SODIMM 58 */ 275*adca4617SJoão Paulo Gonçalves "REL1", /* SODIMM 60 */ 276*adca4617SJoão Paulo Gonçalves "REL2", /* SODIMM 62 */ 277*adca4617SJoão Paulo Gonçalves "", /* 10 */ 278*adca4617SJoão Paulo Gonçalves "", 279*adca4617SJoão Paulo Gonçalves "", 280*adca4617SJoão Paulo Gonçalves "", 281*adca4617SJoão Paulo Gonçalves "REL4", /* SODIMM 66 */ 282*adca4617SJoão Paulo Gonçalves "", 283*adca4617SJoão Paulo Gonçalves "", 284*adca4617SJoão Paulo Gonçalves "", 285*adca4617SJoão Paulo Gonçalves "", 286*adca4617SJoão Paulo Gonçalves "", 287*adca4617SJoão Paulo Gonçalves "", /* 20 */ 288*adca4617SJoão Paulo Gonçalves "", 289*adca4617SJoão Paulo Gonçalves "", 290*adca4617SJoão Paulo Gonçalves "", 291*adca4617SJoão Paulo Gonçalves "", 292*adca4617SJoão Paulo Gonçalves ""; 293*adca4617SJoão Paulo Gonçalves}; 294*adca4617SJoão Paulo Gonçalves 295*adca4617SJoão Paulo Gonçalves&gpio5 { 296*adca4617SJoão Paulo Gonçalves gpio-line-names = 297*adca4617SJoão Paulo Gonçalves "", /* 0 */ 298*adca4617SJoão Paulo Gonçalves "", 299*adca4617SJoão Paulo Gonçalves "", 300*adca4617SJoão Paulo Gonçalves "", 301*adca4617SJoão Paulo Gonçalves "", 302*adca4617SJoão Paulo Gonçalves "GPIO2", /* Verdin GPIO_2 - SODIMM 208 */ 303*adca4617SJoão Paulo Gonçalves "", 304*adca4617SJoão Paulo Gonçalves "", 305*adca4617SJoão Paulo Gonçalves "", 306*adca4617SJoão Paulo Gonçalves "", 307*adca4617SJoão Paulo Gonçalves "", /* 10 */ 308*adca4617SJoão Paulo Gonçalves "", 309*adca4617SJoão Paulo Gonçalves "", 310*adca4617SJoão Paulo Gonçalves "", 311*adca4617SJoão Paulo Gonçalves "", 312*adca4617SJoão Paulo Gonçalves "", 313*adca4617SJoão Paulo Gonçalves "", 314*adca4617SJoão Paulo Gonçalves "", 315*adca4617SJoão Paulo Gonçalves "", 316*adca4617SJoão Paulo Gonçalves "", 317*adca4617SJoão Paulo Gonçalves "", /* 20 */ 318*adca4617SJoão Paulo Gonçalves "", 319*adca4617SJoão Paulo Gonçalves "", 320*adca4617SJoão Paulo Gonçalves "", 321*adca4617SJoão Paulo Gonçalves "", 322*adca4617SJoão Paulo Gonçalves "", 323*adca4617SJoão Paulo Gonçalves "GPIO3", /* Verdin GPIO_3 - SODIMM 210 */ 324*adca4617SJoão Paulo Gonçalves "", 325*adca4617SJoão Paulo Gonçalves "", 326*adca4617SJoão Paulo Gonçalves ""; 327*adca4617SJoão Paulo Gonçalves}; 328*adca4617SJoão Paulo Gonçalves 329*adca4617SJoão Paulo Gonçalves/* Temperature sensor on Ivy */ 330*adca4617SJoão Paulo Gonçalves&hwmon_temp { 331*adca4617SJoão Paulo Gonçalves compatible = "ti,tmp1075"; 332*adca4617SJoão Paulo Gonçalves status = "okay"; 333*adca4617SJoão Paulo Gonçalves}; 334*adca4617SJoão Paulo Gonçalves 335*adca4617SJoão Paulo Gonçalves/* Verdin I2C_4 CSI */ 336*adca4617SJoão Paulo Gonçalves&i2c3 { 337*adca4617SJoão Paulo Gonçalves status = "okay"; 338*adca4617SJoão Paulo Gonçalves 339*adca4617SJoão Paulo Gonçalves ivy_adc1: adc@40 { 340*adca4617SJoão Paulo Gonçalves compatible = "ti,ads1119"; 341*adca4617SJoão Paulo Gonçalves reg = <0x40>; 342*adca4617SJoão Paulo Gonçalves pinctrl-names = "default"; 343*adca4617SJoão Paulo Gonçalves pinctrl-0 = <&pinctrl_gpio7>; 344*adca4617SJoão Paulo Gonçalves interrupt-parent = <&gpio1>; 345*adca4617SJoão Paulo Gonçalves interrupts = <8 IRQ_TYPE_EDGE_FALLING>; 346*adca4617SJoão Paulo Gonçalves avdd-supply = <®_3v2_ain1>; 347*adca4617SJoão Paulo Gonçalves dvdd-supply = <®_3v2_ain1>; 348*adca4617SJoão Paulo Gonçalves vref-supply = <®_3v2_ain1>; 349*adca4617SJoão Paulo Gonçalves #address-cells = <1>; 350*adca4617SJoão Paulo Gonçalves #io-channel-cells = <1>; 351*adca4617SJoão Paulo Gonçalves #size-cells = <0>; 352*adca4617SJoão Paulo Gonçalves 353*adca4617SJoão Paulo Gonçalves /* AIN1 0-33V Voltage Input */ 354*adca4617SJoão Paulo Gonçalves channel@0 { 355*adca4617SJoão Paulo Gonçalves reg = <0>; 356*adca4617SJoão Paulo Gonçalves diff-channels = <0 1>; 357*adca4617SJoão Paulo Gonçalves }; 358*adca4617SJoão Paulo Gonçalves 359*adca4617SJoão Paulo Gonçalves /* AIN1 0-20mA Current Input */ 360*adca4617SJoão Paulo Gonçalves channel@1 { 361*adca4617SJoão Paulo Gonçalves reg = <1>; 362*adca4617SJoão Paulo Gonçalves diff-channels = <2 3>; 363*adca4617SJoão Paulo Gonçalves }; 364*adca4617SJoão Paulo Gonçalves }; 365*adca4617SJoão Paulo Gonçalves 366*adca4617SJoão Paulo Gonçalves ivy_adc2: adc@41 { 367*adca4617SJoão Paulo Gonçalves compatible = "ti,ads1119"; 368*adca4617SJoão Paulo Gonçalves reg = <0x41>; 369*adca4617SJoão Paulo Gonçalves pinctrl-names = "default"; 370*adca4617SJoão Paulo Gonçalves pinctrl-0 = <&pinctrl_gpio8>; 371*adca4617SJoão Paulo Gonçalves interrupt-parent = <&gpio1>; 372*adca4617SJoão Paulo Gonçalves interrupts = <9 IRQ_TYPE_EDGE_FALLING>; 373*adca4617SJoão Paulo Gonçalves avdd-supply = <®_3v2_ain2>; 374*adca4617SJoão Paulo Gonçalves dvdd-supply = <®_3v2_ain2>; 375*adca4617SJoão Paulo Gonçalves vref-supply = <®_3v2_ain2>; 376*adca4617SJoão Paulo Gonçalves #address-cells = <1>; 377*adca4617SJoão Paulo Gonçalves #io-channel-cells = <1>; 378*adca4617SJoão Paulo Gonçalves #size-cells = <0>; 379*adca4617SJoão Paulo Gonçalves 380*adca4617SJoão Paulo Gonçalves /* AIN2 0-33V Voltage Input */ 381*adca4617SJoão Paulo Gonçalves channel@0 { 382*adca4617SJoão Paulo Gonçalves reg = <0>; 383*adca4617SJoão Paulo Gonçalves diff-channels = <0 1>; 384*adca4617SJoão Paulo Gonçalves }; 385*adca4617SJoão Paulo Gonçalves 386*adca4617SJoão Paulo Gonçalves /* AIN2 0-20mA Current Input */ 387*adca4617SJoão Paulo Gonçalves channel@1 { 388*adca4617SJoão Paulo Gonçalves reg = <1>; 389*adca4617SJoão Paulo Gonçalves diff-channels = <2 3>; 390*adca4617SJoão Paulo Gonçalves }; 391*adca4617SJoão Paulo Gonçalves }; 392*adca4617SJoão Paulo Gonçalves}; 393*adca4617SJoão Paulo Gonçalves 394*adca4617SJoão Paulo Gonçalves/* Verdin I2C_1 */ 395*adca4617SJoão Paulo Gonçalves&i2c4 { 396*adca4617SJoão Paulo Gonçalves status = "okay"; 397*adca4617SJoão Paulo Gonçalves}; 398*adca4617SJoão Paulo Gonçalves 399*adca4617SJoão Paulo Gonçalves/* Verdin PCIE_1 */ 400*adca4617SJoão Paulo Gonçalves&pcie0 { 401*adca4617SJoão Paulo Gonçalves status = "okay"; 402*adca4617SJoão Paulo Gonçalves}; 403*adca4617SJoão Paulo Gonçalves 404*adca4617SJoão Paulo Gonçalves&pcie_phy { 405*adca4617SJoão Paulo Gonçalves status = "okay"; 406*adca4617SJoão Paulo Gonçalves}; 407*adca4617SJoão Paulo Gonçalves 408*adca4617SJoão Paulo Gonçalves/* Verdin UART_3 */ 409*adca4617SJoão Paulo Gonçalves&uart1 { 410*adca4617SJoão Paulo Gonçalves status = "okay"; 411*adca4617SJoão Paulo Gonçalves}; 412*adca4617SJoão Paulo Gonçalves 413*adca4617SJoão Paulo Gonçalves/* Verdin UART_1 */ 414*adca4617SJoão Paulo Gonçalves&uart2 { 415*adca4617SJoão Paulo Gonçalves status = "okay"; 416*adca4617SJoão Paulo Gonçalves}; 417*adca4617SJoão Paulo Gonçalves 418*adca4617SJoão Paulo Gonçalves/* Verdin UART_2 */ 419*adca4617SJoão Paulo Gonçalves&uart3 { 420*adca4617SJoão Paulo Gonçalves linux,rs485-enabled-at-boot-time; 421*adca4617SJoão Paulo Gonçalves rs485-rx-during-tx; 422*adca4617SJoão Paulo Gonçalves status = "okay"; 423*adca4617SJoão Paulo Gonçalves}; 424*adca4617SJoão Paulo Gonçalves 425*adca4617SJoão Paulo Gonçalves/* Verdin USB_1*/ 426*adca4617SJoão Paulo Gonçalves&usbotg1 { 427*adca4617SJoão Paulo Gonçalves status = "okay"; 428*adca4617SJoão Paulo Gonçalves}; 429*adca4617SJoão Paulo Gonçalves 430*adca4617SJoão Paulo Gonçalves/* Verdin USB_2 */ 431*adca4617SJoão Paulo Gonçalves&usbotg2 { 432*adca4617SJoão Paulo Gonçalves status = "okay"; 433*adca4617SJoão Paulo Gonçalves}; 434*adca4617SJoão Paulo Gonçalves 435*adca4617SJoão Paulo Gonçalves/* Verdin SD_1 */ 436*adca4617SJoão Paulo Gonçalves&usdhc2 { 437*adca4617SJoão Paulo Gonçalves status = "okay"; 438*adca4617SJoão Paulo Gonçalves}; 439*adca4617SJoão Paulo Gonçalves 440*adca4617SJoão Paulo Gonçalves&iomuxc { 441*adca4617SJoão Paulo Gonçalves 442*adca4617SJoão Paulo Gonçalves pinctrl-names = "default"; 443*adca4617SJoão Paulo Gonçalves pinctrl-0 = <&pinctrl_gpio2>, <&pinctrl_gpio3>, 444*adca4617SJoão Paulo Gonçalves <&pinctrl_ivy_dig_inputs>, <&pinctrl_ivy_relays>; 445*adca4617SJoão Paulo Gonçalves 446*adca4617SJoão Paulo Gonçalves pinctrl_ivy_dig_inputs: ivydiginputsgrp { 447*adca4617SJoão Paulo Gonçalves fsl,pins = 448*adca4617SJoão Paulo Gonçalves <MX8MM_IOMUXC_NAND_DATA00_GPIO3_IO6 0x96>, /* SODIMM 56 */ 449*adca4617SJoão Paulo Gonçalves <MX8MM_IOMUXC_NAND_DATA01_GPIO3_IO7 0x96>; /* SODIMM 58 */ 450*adca4617SJoão Paulo Gonçalves }; 451*adca4617SJoão Paulo Gonçalves 452*adca4617SJoão Paulo Gonçalves pinctrl_ivy_leds: ivyledsgrp { 453*adca4617SJoão Paulo Gonçalves fsl,pins = 454*adca4617SJoão Paulo Gonçalves <MX8MM_IOMUXC_SAI2_TXC_GPIO4_IO25 0x16>, /* SODIMM 30 */ 455*adca4617SJoão Paulo Gonçalves <MX8MM_IOMUXC_SAI2_TXFS_GPIO4_IO24 0x16>, /* SODIMM 32 */ 456*adca4617SJoão Paulo Gonçalves <MX8MM_IOMUXC_SAI2_TXD0_GPIO4_IO26 0x16>, /* SODIMM 34 */ 457*adca4617SJoão Paulo Gonçalves <MX8MM_IOMUXC_SAI2_RXD0_GPIO4_IO23 0x16>, /* SODIMM 36 */ 458*adca4617SJoão Paulo Gonçalves <MX8MM_IOMUXC_SAI5_RXD1_GPIO3_IO22 0x16>, /* SODIMM 44 */ 459*adca4617SJoão Paulo Gonçalves <MX8MM_IOMUXC_SAI5_RXD3_GPIO3_IO24 0x16>, /* SODIMM 46 */ 460*adca4617SJoão Paulo Gonçalves <MX8MM_IOMUXC_SAI5_RXD0_GPIO3_IO21 0x16>, /* SODIMM 48 */ 461*adca4617SJoão Paulo Gonçalves <MX8MM_IOMUXC_NAND_CE0_B_GPIO3_IO1 0x16>; /* SODIMM 54 */ 462*adca4617SJoão Paulo Gonçalves }; 463*adca4617SJoão Paulo Gonçalves 464*adca4617SJoão Paulo Gonçalves pinctrl_ivy_relays: ivyrelaysgrp { 465*adca4617SJoão Paulo Gonçalves fsl,pins = 466*adca4617SJoão Paulo Gonçalves <MX8MM_IOMUXC_NAND_DATA02_GPIO3_IO8 0x16>, /* SODIMM 60 */ 467*adca4617SJoão Paulo Gonçalves <MX8MM_IOMUXC_NAND_DATA03_GPIO3_IO9 0x16>, /* SODIMM 62 */ 468*adca4617SJoão Paulo Gonçalves <MX8MM_IOMUXC_NAND_CE1_B_GPIO3_IO2 0x16>, /* SODIMM 64 */ 469*adca4617SJoão Paulo Gonçalves <MX8MM_IOMUXC_NAND_DQS_GPIO3_IO14 0x16>; /* SODIMM 66 */ 470*adca4617SJoão Paulo Gonçalves }; 471*adca4617SJoão Paulo Gonçalves}; 472