1// SPDX-License-Identifier: GPL-2.0-or-later OR MIT 2/* 3 * Copyright (c) Toradex 4 * 5 * Common dtsi for Verdin IMX8MM SoM on Zinnia carrier board 6 * 7 * https://www.toradex.com/computer-on-modules/verdin-arm-family/nxp-imx-8m-mini-nano 8 * https://www.toradex.com/products/carrier-board/zinnia-carrier-board 9 */ 10 11#include <dt-bindings/leds/common.h> 12 13/ { 14 leds { 15 compatible = "gpio-leds"; 16 pinctrl-names = "default"; 17 pinctrl-0 = <&pinctrl_zinnia_leds>; 18 19 /* LED1 Red - SODIMM 48 - LED1_R */ 20 led-0 { 21 color = <LED_COLOR_ID_RED>; 22 default-state = "off"; 23 function = LED_FUNCTION_STATUS; 24 function-enumerator = <1>; 25 gpios = <&gpio3 21 GPIO_ACTIVE_HIGH>; 26 }; 27 28 /* LED1 Blue - SODIMM 46 - LED1_B */ 29 led-1 { 30 color = <LED_COLOR_ID_BLUE>; 31 default-state = "off"; 32 function = LED_FUNCTION_STATUS; 33 function-enumerator = <1>; 34 gpios = <&gpio3 24 GPIO_ACTIVE_HIGH>; 35 }; 36 37 /* LED3 Red - SODIMM 44 - LED3_R */ 38 led-2 { 39 color = <LED_COLOR_ID_RED>; 40 default-state = "off"; 41 function = LED_FUNCTION_STATUS; 42 function-enumerator = <3>; 43 gpios = <&gpio3 22 GPIO_ACTIVE_HIGH>; 44 }; 45 46 /* LED3 Green - SODIMM 54 - LED3_G */ 47 led-3 { 48 color = <LED_COLOR_ID_GREEN>; 49 default-state = "off"; 50 function = LED_FUNCTION_STATUS; 51 function-enumerator = <3>; 52 gpios = <&gpio3 1 GPIO_ACTIVE_HIGH>; 53 }; 54 55 /* LED3 Blue - SODIMM 36 - LED3_B */ 56 led-4 { 57 color = <LED_COLOR_ID_BLUE>; 58 default-state = "off"; 59 function = LED_FUNCTION_STATUS; 60 function-enumerator = <3>; 61 gpios = <&gpio4 23 GPIO_ACTIVE_HIGH>; 62 }; 63 64 /* LED4 Red - SODIMM 34 - LED4_R */ 65 led-5 { 66 color = <LED_COLOR_ID_RED>; 67 default-state = "off"; 68 function = LED_FUNCTION_STATUS; 69 function-enumerator = <4>; 70 gpios = <&gpio4 26 GPIO_ACTIVE_HIGH>; 71 }; 72 73 /* LED4 Green - SODIMM 32 - LED4_G */ 74 led-6 { 75 color = <LED_COLOR_ID_GREEN>; 76 default-state = "off"; 77 function = LED_FUNCTION_STATUS; 78 function-enumerator = <4>; 79 gpios = <&gpio4 24 GPIO_ACTIVE_HIGH>; 80 }; 81 82 /* LED4 Blue - SODIMM 30 - LED4_B */ 83 led-7 { 84 color = <LED_COLOR_ID_BLUE>; 85 default-state = "off"; 86 function = LED_FUNCTION_STATUS; 87 function-enumerator = <4>; 88 gpios = <&gpio4 25 GPIO_ACTIVE_HIGH>; 89 }; 90 }; 91 92 zinnia-1v8-voltage { 93 compatible = "voltage-divider"; 94 full-ohms = <39000>; /* 12k + 27k */ 95 /* Verdin ADC_4 */ 96 io-channels = <&verdin_som_adc 4>; 97 output-ohms = <27000>; 98 }; 99 100 zinnia-3v3-voltage { 101 compatible = "voltage-divider"; 102 full-ohms = <54000>; /* 27k + 27k */ 103 /* Verdin ADC_3 */ 104 io-channels = <&verdin_som_adc 5>; 105 output-ohms = <27000>; 106 }; 107 108 zinnia-5v-voltage { 109 compatible = "voltage-divider"; 110 full-ohms = <39000>; /* 27k + 12k */ 111 /* Verdin ADC_2 */ 112 io-channels = <&verdin_som_adc 6>; 113 output-ohms = <12000>; 114 }; 115 116 /* Zinnia Power Supply Input Voltage */ 117 zinnia-input-voltage { 118 compatible = "voltage-divider"; 119 full-ohms = <204700>; /* 200k + 4.7k */ 120 /* Verdin ADC_1 */ 121 io-channels = <&verdin_som_adc 7>; 122 output-ohms = <4700>; 123 }; 124}; 125 126/* Verdin SPI_1 */ 127&ecspi2 { 128 pinctrl-0 = <&pinctrl_ecspi2>, <&pinctrl_uart3_cts_gpio>; 129 cs-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>, <&gpio5 13 GPIO_ACTIVE_LOW>; 130 131 status = "okay"; 132 133 tpm@1 { 134 compatible = "infineon,slb9670", "tcg,tpm_tis-spi"; 135 reg = <1>; 136 spi-max-frequency = <18500000>; 137 }; 138}; 139 140/* EEPROM on Zinnia */ 141&eeprom_carrier_board { 142 status = "okay"; 143}; 144 145/* Verdin ETH_1 */ 146&fec1 { 147 status = "okay"; 148}; 149 150&gpio1 { 151 gpio-line-names = 152 "DI2_RB", /* SODIMM 216 */ /* 0 */ 153 "", 154 "", 155 "", 156 "", 157 "", 158 "", 159 "", 160 "DO3_EN", /* SODIMM 220 */ 161 "DI3_EN", /* SODIMM 222 */ 162 "", /* 10 */ 163 "DI2_EN", /* SODIMM 218 */ 164 "", 165 "", 166 "", 167 "", 168 "", 169 "", 170 "", 171 "", 172 "", /* 20 */ 173 "", 174 "", 175 "", 176 "", 177 ""; 178}; 179 180&gpio2 { 181 gpio-line-names = 182 "", /* 0 */ 183 "", 184 "", 185 "", 186 "", 187 "", 188 "", 189 "", 190 "", 191 "", 192 "", /* 10 */ 193 "", 194 "", 195 "", 196 "", 197 "", 198 "", 199 "", 200 "", 201 "", 202 ""; /* 20 */ 203}; 204 205&gpio3 { 206 gpio-line-names = 207 "", /* 0 */ 208 "", 209 "", 210 "", 211 "DO1_EN", /* SODIMM 206 */ 212 "", 213 "DI3_RB", /* SODIMM 56 */ 214 "", 215 "", 216 "", 217 "", /* 10 */ 218 "", 219 "", 220 "", 221 "", 222 "", 223 "", 224 "", 225 "", 226 "", 227 "", /* 20 */ 228 "", 229 "", 230 "", 231 "", 232 ""; 233}; 234 235&gpio4 { 236 gpio-line-names = 237 "", /* 0 */ 238 "", 239 "", 240 "", 241 "", 242 "", 243 "", 244 "", 245 "", 246 "", 247 "", /* 10 */ 248 "", 249 "", 250 "", 251 "", 252 "", 253 "", 254 "", 255 "", 256 "", 257 "", /* 20 */ 258 "", 259 "", 260 "", 261 "", 262 "", 263 "", 264 "", 265 "", 266 "", 267 "", 268 ""; 269}; 270 271&gpio5 { 272 gpio-line-names = 273 "", /* 0 */ 274 "", 275 "", 276 "", 277 "", 278 "DI1_EN", /* SODIMM 208 */ 279 "", 280 "", 281 "", 282 "", 283 "", /* 10 */ 284 "", 285 "", 286 "", 287 "", 288 "", 289 "", 290 "", 291 "", 292 "", 293 "", /* 20 */ 294 "", 295 "", 296 "", 297 "", 298 "", 299 "DI1_RB", /* SODIMM 210 */ 300 "DO2_EN", /* SODIMM 212 */ 301 "", 302 ""; 303}; 304 305/* Temperature sensor on Zinnia */ 306&hwmon_temp { 307 compatible = "ti,tmp1075"; 308 309 status = "okay"; 310}; 311 312/* Verdin I2C_1 */ 313&i2c4 { 314 status = "okay"; 315}; 316 317/* Verdin UART_3 */ 318&uart1 { 319 status = "okay"; 320}; 321 322/* Verdin UART_1 */ 323&uart2 { 324 status = "okay"; 325}; 326 327/* Verdin UART_2 */ 328&uart3 { 329 pinctrl-names = "default"; 330 pinctrl-0 = <&pinctrl_uart3>, <&pinctrl_uart3_rts>; 331 rs485-rx-during-tx; 332 linux,rs485-enabled-at-boot-time; 333 334 status = "okay"; 335}; 336 337/* Verdin USB_1 */ 338&usbotg1 { 339 status = "okay"; 340}; 341 342/* Verdin USB_2 */ 343&usbotg2 { 344 status = "okay"; 345}; 346 347/* Verdin SD_1 */ 348&usdhc2 { 349 status = "okay"; 350}; 351 352&iomuxc { 353 pinctrl-names = "default"; 354 pinctrl-0 = <&pinctrl_gpio1>, 355 <&pinctrl_gpio2>, 356 <&pinctrl_gpio3>, 357 <&pinctrl_gpio4>, 358 <&pinctrl_gpio5>, 359 <&pinctrl_gpio6>, 360 <&pinctrl_gpio7>, 361 <&pinctrl_gpio8>, 362 <&pinctrl_qspi1_io0_gpio>; 363 364 pinctrl_qspi1_io0_gpio: gpio3io6grp { 365 fsl,pins = <MX8MM_IOMUXC_NAND_DATA00_GPIO3_IO6 0x184>; /* SODIMM 56 */ 366 }; 367 368 pinctrl_uart3_cts_gpio: gpio5io9grp { 369 fsl,pins = <MX8MM_IOMUXC_ECSPI1_SS0_GPIO5_IO9 0x184>; /* SODIMM 143 */ 370 }; 371 372 pinctrl_zinnia_leds: zinnialedsgrp { 373 fsl,pins = 374 <MX8MM_IOMUXC_SAI2_TXC_GPIO4_IO25 0x16>, /* SODIMM 30 */ 375 <MX8MM_IOMUXC_SAI2_TXFS_GPIO4_IO24 0x16>, /* SODIMM 32 */ 376 <MX8MM_IOMUXC_SAI2_TXD0_GPIO4_IO26 0x16>, /* SODIMM 34 */ 377 <MX8MM_IOMUXC_SAI2_RXD0_GPIO4_IO23 0x16>, /* SODIMM 36 */ 378 <MX8MM_IOMUXC_SAI5_RXD1_GPIO3_IO22 0x16>, /* SODIMM 44 */ 379 <MX8MM_IOMUXC_SAI5_RXD3_GPIO3_IO24 0x16>, /* SODIMM 46 */ 380 <MX8MM_IOMUXC_SAI5_RXD0_GPIO3_IO21 0x16>, /* SODIMM 48 */ 381 <MX8MM_IOMUXC_NAND_CE0_B_GPIO3_IO1 0x16>; /* SODIMM 54 */ 382 }; 383}; 384