1aa1a8ff2SEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-3-Clause) 2aa1a8ff2SEmmanuel Vadot/* 3aa1a8ff2SEmmanuel Vadot * Copyright (C) 2020 STMicroelectronics - All Rights Reserved 4aa1a8ff2SEmmanuel Vadot * Copyright (C) 2021 Rouven Czerwinski, Pengutronix 5aa1a8ff2SEmmanuel Vadot * Copyright (C) 2023 Leonard Göhrs, Pengutronix 6aa1a8ff2SEmmanuel Vadot */ 7aa1a8ff2SEmmanuel Vadot 8aa1a8ff2SEmmanuel Vadot#include "stm32mp15xc.dtsi" 9aa1a8ff2SEmmanuel Vadot#include "stm32mp15xx-osd32.dtsi" 10aa1a8ff2SEmmanuel Vadot#include "stm32mp15xxac-pinctrl.dtsi" 11aa1a8ff2SEmmanuel Vadot 12aa1a8ff2SEmmanuel Vadot#include <dt-bindings/gpio/gpio.h> 13aa1a8ff2SEmmanuel Vadot#include <dt-bindings/input/input.h> 14aa1a8ff2SEmmanuel Vadot#include <dt-bindings/leds/common.h> 15aa1a8ff2SEmmanuel Vadot#include <dt-bindings/pwm/pwm.h> 16aa1a8ff2SEmmanuel Vadot 17aa1a8ff2SEmmanuel Vadot/ { 18aa1a8ff2SEmmanuel Vadot aliases { 19aa1a8ff2SEmmanuel Vadot ethernet0 = ðernet0; 20aa1a8ff2SEmmanuel Vadot ethernet1 = &port_uplink; 21aa1a8ff2SEmmanuel Vadot ethernet2 = &port_dut; 22aa1a8ff2SEmmanuel Vadot mmc1 = &sdmmc2; 23aa1a8ff2SEmmanuel Vadot serial0 = &uart4; 24aa1a8ff2SEmmanuel Vadot serial1 = &usart3; 25aa1a8ff2SEmmanuel Vadot }; 26aa1a8ff2SEmmanuel Vadot 27aa1a8ff2SEmmanuel Vadot chosen { 28aa1a8ff2SEmmanuel Vadot stdout-path = &uart4; 29aa1a8ff2SEmmanuel Vadot }; 30aa1a8ff2SEmmanuel Vadot 31aa1a8ff2SEmmanuel Vadot led-controller-0 { 32aa1a8ff2SEmmanuel Vadot compatible = "gpio-leds"; 33aa1a8ff2SEmmanuel Vadot 34aa1a8ff2SEmmanuel Vadot led-0 { 35aa1a8ff2SEmmanuel Vadot label = "tac:green:user1"; 36aa1a8ff2SEmmanuel Vadot gpios = <&gpiof 10 GPIO_ACTIVE_HIGH>; 37aa1a8ff2SEmmanuel Vadot linux,default-trigger = "heartbeat"; 38aa1a8ff2SEmmanuel Vadot }; 39aa1a8ff2SEmmanuel Vadot 40aa1a8ff2SEmmanuel Vadot led-1 { 41aa1a8ff2SEmmanuel Vadot label = "tac:green:user2"; 42aa1a8ff2SEmmanuel Vadot gpios = <&gpiog 7 GPIO_ACTIVE_HIGH>; 43aa1a8ff2SEmmanuel Vadot }; 44aa1a8ff2SEmmanuel Vadot 45aa1a8ff2SEmmanuel Vadot led-2 { 46aa1a8ff2SEmmanuel Vadot label = "tac:green:statusdut"; 47aa1a8ff2SEmmanuel Vadot gpios = <&gpioa 13 GPIO_ACTIVE_LOW>; 48aa1a8ff2SEmmanuel Vadot }; 49aa1a8ff2SEmmanuel Vadot 50aa1a8ff2SEmmanuel Vadot /* led-3 and led-4 are internally connected antiparallel to one 51aa1a8ff2SEmmanuel Vadot * another inside the ethernet jack like this: 52aa1a8ff2SEmmanuel Vadot * GPIOA14 ---+---|led-3|>--+--- GPIOD15 53aa1a8ff2SEmmanuel Vadot * +--<|led-4|---+ 54aa1a8ff2SEmmanuel Vadot * E.g. only one of the LEDs can be illuminated at a time while 55aa1a8ff2SEmmanuel Vadot * the other output must be driven low. 56aa1a8ff2SEmmanuel Vadot * This should likely be implemented using a multi color LED 57aa1a8ff2SEmmanuel Vadot * driver for antiparallel LEDs. 58aa1a8ff2SEmmanuel Vadot */ 59aa1a8ff2SEmmanuel Vadot led-3 { 60aa1a8ff2SEmmanuel Vadot label = "tac:green:statuslab"; 61aa1a8ff2SEmmanuel Vadot gpios = <&gpioa 14 GPIO_ACTIVE_HIGH>; 62aa1a8ff2SEmmanuel Vadot }; 63aa1a8ff2SEmmanuel Vadot 64aa1a8ff2SEmmanuel Vadot led-4 { 65aa1a8ff2SEmmanuel Vadot label = "tac:orange:statuslab"; 66aa1a8ff2SEmmanuel Vadot gpios = <&gpiod 15 GPIO_ACTIVE_HIGH>; 67aa1a8ff2SEmmanuel Vadot }; 68aa1a8ff2SEmmanuel Vadot }; 69aa1a8ff2SEmmanuel Vadot 70aa1a8ff2SEmmanuel Vadot gpio-keys { 71aa1a8ff2SEmmanuel Vadot compatible = "gpio-keys"; 72aa1a8ff2SEmmanuel Vadot 73aa1a8ff2SEmmanuel Vadot button-lower { 74aa1a8ff2SEmmanuel Vadot label = "USER_BTN2"; 75aa1a8ff2SEmmanuel Vadot linux,code = <KEY_ESC>; 76aa1a8ff2SEmmanuel Vadot gpios = <&gpioe 7 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; 77aa1a8ff2SEmmanuel Vadot }; 78aa1a8ff2SEmmanuel Vadot 79aa1a8ff2SEmmanuel Vadot button-upper { 80aa1a8ff2SEmmanuel Vadot label = "USER_BTN"; 81aa1a8ff2SEmmanuel Vadot linux,code = <KEY_HOME>; 82aa1a8ff2SEmmanuel Vadot gpios = <&gpioi 11 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; 83aa1a8ff2SEmmanuel Vadot }; 84aa1a8ff2SEmmanuel Vadot }; 85aa1a8ff2SEmmanuel Vadot 86aa1a8ff2SEmmanuel Vadot /* supplied by either barrel connector or PoE */ 87aa1a8ff2SEmmanuel Vadot reg_12v: regulator-12v { 88aa1a8ff2SEmmanuel Vadot compatible = "regulator-fixed"; 89aa1a8ff2SEmmanuel Vadot regulator-name = "12V"; 90aa1a8ff2SEmmanuel Vadot regulator-min-microvolt = <12000000>; 91aa1a8ff2SEmmanuel Vadot regulator-max-microvolt = <12000000>; 92aa1a8ff2SEmmanuel Vadot regulator-always-on; 93aa1a8ff2SEmmanuel Vadot }; 94aa1a8ff2SEmmanuel Vadot 95aa1a8ff2SEmmanuel Vadot reg_5v: regulator-5v { 96aa1a8ff2SEmmanuel Vadot compatible = "regulator-fixed"; 97aa1a8ff2SEmmanuel Vadot regulator-name = "5V"; 98aa1a8ff2SEmmanuel Vadot regulator-min-microvolt = <5000000>; 99aa1a8ff2SEmmanuel Vadot regulator-max-microvolt = <5000000>; 100aa1a8ff2SEmmanuel Vadot regulator-always-on; 101aa1a8ff2SEmmanuel Vadot vin-supply = <®_12v>; 102aa1a8ff2SEmmanuel Vadot }; 103aa1a8ff2SEmmanuel Vadot 104aa1a8ff2SEmmanuel Vadot reg_1v2: regulator-1v2 { 105aa1a8ff2SEmmanuel Vadot compatible = "regulator-fixed"; 106aa1a8ff2SEmmanuel Vadot regulator-name = "1V2"; 107aa1a8ff2SEmmanuel Vadot regulator-min-microvolt = <1200000>; 108aa1a8ff2SEmmanuel Vadot regulator-max-microvolt = <1200000>; 109aa1a8ff2SEmmanuel Vadot regulator-always-on; 110aa1a8ff2SEmmanuel Vadot vin-supply = <®_5v>; 111aa1a8ff2SEmmanuel Vadot }; 112aa1a8ff2SEmmanuel Vadot 113aa1a8ff2SEmmanuel Vadot reg_pb_5v: regulator-pb-5v { 114aa1a8ff2SEmmanuel Vadot compatible = "regulator-fixed"; 115aa1a8ff2SEmmanuel Vadot regulator-name = "5V_POWERBOARD"; 116aa1a8ff2SEmmanuel Vadot regulator-min-microvolt = <5000000>; 117aa1a8ff2SEmmanuel Vadot regulator-max-microvolt = <5000000>; 118aa1a8ff2SEmmanuel Vadot regulator-always-on; 119aa1a8ff2SEmmanuel Vadot vin-supply = <®_5v>; 120aa1a8ff2SEmmanuel Vadot }; 121aa1a8ff2SEmmanuel Vadot 122aa1a8ff2SEmmanuel Vadot reg_pb_3v3: regulator-pb-3v3 { 123aa1a8ff2SEmmanuel Vadot compatible = "regulator-fixed"; 124aa1a8ff2SEmmanuel Vadot regulator-name = "3V3_POWERBOARD"; 125aa1a8ff2SEmmanuel Vadot regulator-min-microvolt = <3300000>; 126aa1a8ff2SEmmanuel Vadot regulator-max-microvolt = <3300000>; 127aa1a8ff2SEmmanuel Vadot regulator-always-on; 128aa1a8ff2SEmmanuel Vadot vin-supply = <®_pb_5v>; 129aa1a8ff2SEmmanuel Vadot }; 130aa1a8ff2SEmmanuel Vadot 131aa1a8ff2SEmmanuel Vadot output-iobus-12v { 132aa1a8ff2SEmmanuel Vadot compatible = "regulator-output"; 133aa1a8ff2SEmmanuel Vadot vout-supply = <®_iobus_12v>; 134aa1a8ff2SEmmanuel Vadot }; 135aa1a8ff2SEmmanuel Vadot 136aa1a8ff2SEmmanuel Vadot output-vuart { 137aa1a8ff2SEmmanuel Vadot compatible = "regulator-output"; 138aa1a8ff2SEmmanuel Vadot vout-supply = <&v3v3_hdmi>; 139aa1a8ff2SEmmanuel Vadot }; 140aa1a8ff2SEmmanuel Vadot}; 141aa1a8ff2SEmmanuel Vadot 142aa1a8ff2SEmmanuel Vadotbaseboard_eeprom: &sip_eeprom { 143aa1a8ff2SEmmanuel Vadot}; 144aa1a8ff2SEmmanuel Vadot 145aa1a8ff2SEmmanuel Vadot&adc { 146aa1a8ff2SEmmanuel Vadot pinctrl-names = "default"; 147aa1a8ff2SEmmanuel Vadot pinctrl-0 = <&adc1_ain_pins_a>; 148aa1a8ff2SEmmanuel Vadot vdd-supply = <&vdd>; 149aa1a8ff2SEmmanuel Vadot vdda-supply = <&vdda>; 150aa1a8ff2SEmmanuel Vadot vref-supply = <&vrefbuf>; 151aa1a8ff2SEmmanuel Vadot status = "okay"; 152aa1a8ff2SEmmanuel Vadot 153aa1a8ff2SEmmanuel Vadot adc1: adc@0 { 154aa1a8ff2SEmmanuel Vadot st,adc-channels = <0 1 2 5 9 10 13 15>; 155aa1a8ff2SEmmanuel Vadot st,min-sample-time-nsecs = <5000>; 156aa1a8ff2SEmmanuel Vadot #address-cells = <1>; 157aa1a8ff2SEmmanuel Vadot #size-cells = <0>; 158aa1a8ff2SEmmanuel Vadot status = "okay"; 159aa1a8ff2SEmmanuel Vadot 160aa1a8ff2SEmmanuel Vadot channel@0 { 161aa1a8ff2SEmmanuel Vadot reg = <0>; 162aa1a8ff2SEmmanuel Vadot label = "HOST_2_CURR_FB"; 163aa1a8ff2SEmmanuel Vadot }; 164aa1a8ff2SEmmanuel Vadot 165aa1a8ff2SEmmanuel Vadot channel@1 { 166aa1a8ff2SEmmanuel Vadot reg = <1>; 167aa1a8ff2SEmmanuel Vadot label = "HOST_3_CURR_FB"; 168aa1a8ff2SEmmanuel Vadot }; 169aa1a8ff2SEmmanuel Vadot 170aa1a8ff2SEmmanuel Vadot channel@2 { 171aa1a8ff2SEmmanuel Vadot reg = <2>; 172aa1a8ff2SEmmanuel Vadot label = "OUT_0_FB"; 173aa1a8ff2SEmmanuel Vadot }; 174aa1a8ff2SEmmanuel Vadot 175aa1a8ff2SEmmanuel Vadot channel@5 { 176aa1a8ff2SEmmanuel Vadot reg = <5>; 177aa1a8ff2SEmmanuel Vadot label = "IOBUS_CURR_FB"; 178aa1a8ff2SEmmanuel Vadot }; 179aa1a8ff2SEmmanuel Vadot 180aa1a8ff2SEmmanuel Vadot channel@9 { 181aa1a8ff2SEmmanuel Vadot reg = <9>; 182aa1a8ff2SEmmanuel Vadot label = "IOBUS_VOLT_FB"; 183aa1a8ff2SEmmanuel Vadot }; 184aa1a8ff2SEmmanuel Vadot 185aa1a8ff2SEmmanuel Vadot channel@10 { 186aa1a8ff2SEmmanuel Vadot reg = <10>; 187aa1a8ff2SEmmanuel Vadot label = "OUT_1_FB"; 188aa1a8ff2SEmmanuel Vadot }; 189aa1a8ff2SEmmanuel Vadot 190aa1a8ff2SEmmanuel Vadot channel@13 { 191aa1a8ff2SEmmanuel Vadot reg = <13>; 192aa1a8ff2SEmmanuel Vadot label = "HOST_CURR_FB"; 193aa1a8ff2SEmmanuel Vadot }; 194aa1a8ff2SEmmanuel Vadot 195aa1a8ff2SEmmanuel Vadot channel@15 { 196aa1a8ff2SEmmanuel Vadot reg = <15>; 197aa1a8ff2SEmmanuel Vadot label = "HOST_1_CURR_FB"; 198aa1a8ff2SEmmanuel Vadot }; 199aa1a8ff2SEmmanuel Vadot }; 200aa1a8ff2SEmmanuel Vadot 201aa1a8ff2SEmmanuel Vadot adc2: adc@100 { 202aa1a8ff2SEmmanuel Vadot st,adc-channels = <12>; 203aa1a8ff2SEmmanuel Vadot st,min-sample-time-nsecs = <500000>; 204aa1a8ff2SEmmanuel Vadot #address-cells = <1>; 205aa1a8ff2SEmmanuel Vadot #size-cells = <0>; 206aa1a8ff2SEmmanuel Vadot status = "okay"; 207aa1a8ff2SEmmanuel Vadot 208aa1a8ff2SEmmanuel Vadot channel@12 { 209aa1a8ff2SEmmanuel Vadot reg = <12>; 210aa1a8ff2SEmmanuel Vadot label = "TEMP_INTERNAL"; 211aa1a8ff2SEmmanuel Vadot }; 212aa1a8ff2SEmmanuel Vadot }; 213aa1a8ff2SEmmanuel Vadot}; 214aa1a8ff2SEmmanuel Vadot 215aa1a8ff2SEmmanuel Vadot&crc1 { 216aa1a8ff2SEmmanuel Vadot status = "okay"; 217aa1a8ff2SEmmanuel Vadot}; 218aa1a8ff2SEmmanuel Vadot 219aa1a8ff2SEmmanuel Vadot&cryp1 { 220aa1a8ff2SEmmanuel Vadot status = "okay"; 221aa1a8ff2SEmmanuel Vadot}; 222aa1a8ff2SEmmanuel Vadot 223aa1a8ff2SEmmanuel Vadot&dts { 224aa1a8ff2SEmmanuel Vadot status = "okay"; 225aa1a8ff2SEmmanuel Vadot}; 226aa1a8ff2SEmmanuel Vadot 227aa1a8ff2SEmmanuel Vadotðernet0 { 228aa1a8ff2SEmmanuel Vadot assigned-clocks = <&rcc ETHCK_K>, <&rcc PLL4_P>; 229aa1a8ff2SEmmanuel Vadot assigned-clock-parents = <&rcc PLL4_P>; 230aa1a8ff2SEmmanuel Vadot assigned-clock-rates = <125000000>; /* Clock PLL4 to 750Mhz in ATF */ 231aa1a8ff2SEmmanuel Vadot 232aa1a8ff2SEmmanuel Vadot pinctrl-names = "default", "sleep"; 233aa1a8ff2SEmmanuel Vadot pinctrl-0 = <ðernet0_rgmii_pins_e>; 234aa1a8ff2SEmmanuel Vadot pinctrl-1 = <ðernet0_rgmii_sleep_pins_e>; 235aa1a8ff2SEmmanuel Vadot 236aa1a8ff2SEmmanuel Vadot st,eth-clk-sel; 237aa1a8ff2SEmmanuel Vadot phy-mode = "rgmii-id"; 238aa1a8ff2SEmmanuel Vadot 239aa1a8ff2SEmmanuel Vadot status = "okay"; 240aa1a8ff2SEmmanuel Vadot 241aa1a8ff2SEmmanuel Vadot fixed-link { 242aa1a8ff2SEmmanuel Vadot speed = <1000>; 243aa1a8ff2SEmmanuel Vadot full-duplex; 244aa1a8ff2SEmmanuel Vadot }; 245aa1a8ff2SEmmanuel Vadot}; 246aa1a8ff2SEmmanuel Vadot 247aa1a8ff2SEmmanuel Vadotðernet0_rgmii_pins_e { 248aa1a8ff2SEmmanuel Vadot pins1 { 249aa1a8ff2SEmmanuel Vadot /* Reduce EMI emission by reducing RGMII drive strength */ 250aa1a8ff2SEmmanuel Vadot slew-rate = <1>; 251aa1a8ff2SEmmanuel Vadot }; 252aa1a8ff2SEmmanuel Vadot}; 253aa1a8ff2SEmmanuel Vadot 254aa1a8ff2SEmmanuel Vadot&gpiob { 255aa1a8ff2SEmmanuel Vadot gpio-line-names = "", "", "", "", "", /* 0 */ 256aa1a8ff2SEmmanuel Vadot "", "USB_RESET", "", "", "", /* 5 */ 257aa1a8ff2SEmmanuel Vadot "", "", "", "", "", /* 10 */ 258aa1a8ff2SEmmanuel Vadot ""; /* 15 */ 259aa1a8ff2SEmmanuel Vadot}; 260aa1a8ff2SEmmanuel Vadot 261aa1a8ff2SEmmanuel Vadot&gpiod { 262aa1a8ff2SEmmanuel Vadot gpio-line-names = "", "", "", "", "TP38", /* 0 */ 263aa1a8ff2SEmmanuel Vadot "TP39", "", "", "TP41", "TP42", /* 5 */ 264aa1a8ff2SEmmanuel Vadot "OLED_DC", "", "", "ETH_CS", "", /* 10 */ 265aa1a8ff2SEmmanuel Vadot "ETH_LAB_LEDRN"; /* 15 */ 266aa1a8ff2SEmmanuel Vadot}; 267aa1a8ff2SEmmanuel Vadot 268aa1a8ff2SEmmanuel Vadot&gpioe { 269aa1a8ff2SEmmanuel Vadot gpio-line-names = "TP35", "", "", "", "CAN_1_120R", /* 0 */ 270aa1a8ff2SEmmanuel Vadot "", "", "USER_BTN2", "TP48", "UART_TX_EN", /* 5 */ 271aa1a8ff2SEmmanuel Vadot "UART_RX_EN", "TP24", "", "TP25", "TP26", /* 10 */ 272aa1a8ff2SEmmanuel Vadot "TP27"; /* 15 */ 273aa1a8ff2SEmmanuel Vadot}; 274aa1a8ff2SEmmanuel Vadot 275aa1a8ff2SEmmanuel Vadot&gpiof { 276aa1a8ff2SEmmanuel Vadot gpio-line-names = "TP36", "TP37", "", "", "OLED_CS", /* 0 */ 277aa1a8ff2SEmmanuel Vadot "", "", "", "", "", /* 5 */ 278aa1a8ff2SEmmanuel Vadot "USER_LED1", "", "STACK_CS0", "", "", /* 10 */ 279aa1a8ff2SEmmanuel Vadot ""; /* 15 */ 280aa1a8ff2SEmmanuel Vadot}; 281aa1a8ff2SEmmanuel Vadot 282aa1a8ff2SEmmanuel Vadot&gpiog { 283aa1a8ff2SEmmanuel Vadot gpio-line-names = "ETH_RESET", "", "", "", "", /* 0 */ 284aa1a8ff2SEmmanuel Vadot "IOBUS_FLT_FB", "", "USER_LED2", "ETH1_PPS_A", "CAN_0_120R", /* 5 */ 285aa1a8ff2SEmmanuel Vadot "TP49", "", "", "", "", /* 10 */ 286aa1a8ff2SEmmanuel Vadot ""; /* 15 */ 287aa1a8ff2SEmmanuel Vadot}; 288aa1a8ff2SEmmanuel Vadot 289aa1a8ff2SEmmanuel Vadot&gpioh { 290aa1a8ff2SEmmanuel Vadot gpio-line-names = "", "", "OUT_1", "OUT_0", "OLED_RESET", /* 0 */ 291aa1a8ff2SEmmanuel Vadot "", "", "", "", "", /* 5 */ 292aa1a8ff2SEmmanuel Vadot "ETH1_PPS_B", "ETH_GPIO2", "", "IOBUS_PWR_EN", "", /* 10 */ 293aa1a8ff2SEmmanuel Vadot "TP33"; /* 15 */ 294aa1a8ff2SEmmanuel Vadot}; 295aa1a8ff2SEmmanuel Vadot 296aa1a8ff2SEmmanuel Vadot&gpioi { 297aa1a8ff2SEmmanuel Vadot gpio-line-names = "TIM_RTS", "", "", "", "DEVICE_DATA_EN", /* 0 */ 298aa1a8ff2SEmmanuel Vadot "", "", "", "ETH_WOL", "TP43", /* 5 */ 299aa1a8ff2SEmmanuel Vadot "", "USER_BTN"; /* 10 */ 300aa1a8ff2SEmmanuel Vadot}; 301aa1a8ff2SEmmanuel Vadot 302aa1a8ff2SEmmanuel Vadot&gpioz { 303aa1a8ff2SEmmanuel Vadot gpio-line-names = "HWID0", "HWID1", "HWID2", "HWID3", "", /* 0 */ 304aa1a8ff2SEmmanuel Vadot "", "HWID4", "HWID5"; /* 5 */ 305aa1a8ff2SEmmanuel Vadot}; 306aa1a8ff2SEmmanuel Vadot 307aa1a8ff2SEmmanuel Vadot&hash1 { 308aa1a8ff2SEmmanuel Vadot status = "okay"; 309aa1a8ff2SEmmanuel Vadot}; 310aa1a8ff2SEmmanuel Vadot 311aa1a8ff2SEmmanuel Vadot&i2c1 { 312aa1a8ff2SEmmanuel Vadot pinctrl-names = "default", "sleep"; 313aa1a8ff2SEmmanuel Vadot pinctrl-0 = <&i2c1_pins_b>; 314aa1a8ff2SEmmanuel Vadot pinctrl-1 = <&i2c1_sleep_pins_b>; 315aa1a8ff2SEmmanuel Vadot status = "okay"; 316aa1a8ff2SEmmanuel Vadot 317aa1a8ff2SEmmanuel Vadot powerboard_eeprom: eeprom@50 { 318aa1a8ff2SEmmanuel Vadot compatible = "atmel,24c02"; 319aa1a8ff2SEmmanuel Vadot reg = <0x50>; 320aa1a8ff2SEmmanuel Vadot vcc-supply = <&v3v3>; 321aa1a8ff2SEmmanuel Vadot }; 322aa1a8ff2SEmmanuel Vadot 323aa1a8ff2SEmmanuel Vadot temperature-sensor@48 { 324aa1a8ff2SEmmanuel Vadot compatible = "national,lm75a"; 325aa1a8ff2SEmmanuel Vadot reg = <0x48>; 326aa1a8ff2SEmmanuel Vadot status = "disabled"; 327aa1a8ff2SEmmanuel Vadot }; 328aa1a8ff2SEmmanuel Vadot}; 329aa1a8ff2SEmmanuel Vadot 330aa1a8ff2SEmmanuel Vadot&i2c5 { 331aa1a8ff2SEmmanuel Vadot /delete-property/dmas; 332aa1a8ff2SEmmanuel Vadot /delete-property/dma-names; 333aa1a8ff2SEmmanuel Vadot 334aa1a8ff2SEmmanuel Vadot pinctrl-names = "default", "sleep"; 335aa1a8ff2SEmmanuel Vadot pinctrl-0 = <&i2c5_pins_b>; 336aa1a8ff2SEmmanuel Vadot pinctrl-1 = <&i2c5_sleep_pins_b>; 337aa1a8ff2SEmmanuel Vadot 338aa1a8ff2SEmmanuel Vadot status = "okay"; 339aa1a8ff2SEmmanuel Vadot 340aa1a8ff2SEmmanuel Vadot usbhub: usbhub@2c { 341aa1a8ff2SEmmanuel Vadot compatible ="microchip,usb2514b"; 342aa1a8ff2SEmmanuel Vadot reg = <0x2c>; 343aa1a8ff2SEmmanuel Vadot vdd-supply = <&v3v3>; 344aa1a8ff2SEmmanuel Vadot reset-gpios = <&gpiob 6 GPIO_ACTIVE_LOW>; 345aa1a8ff2SEmmanuel Vadot }; 346aa1a8ff2SEmmanuel Vadot}; 347aa1a8ff2SEmmanuel Vadot 348aa1a8ff2SEmmanuel Vadot&iwdg2 { 349aa1a8ff2SEmmanuel Vadot timeout-sec = <8>; 350aa1a8ff2SEmmanuel Vadot status = "okay"; 351aa1a8ff2SEmmanuel Vadot}; 352aa1a8ff2SEmmanuel Vadot 353aa1a8ff2SEmmanuel Vadot&m_can1 { 354aa1a8ff2SEmmanuel Vadot pinctrl-names = "default", "sleep"; 355aa1a8ff2SEmmanuel Vadot pinctrl-0 = <&m_can1_pins_b>; 356aa1a8ff2SEmmanuel Vadot pinctrl-1 = <&m_can1_sleep_pins_b>; 357aa1a8ff2SEmmanuel Vadot status = "okay"; 358aa1a8ff2SEmmanuel Vadot}; 359aa1a8ff2SEmmanuel Vadot 360aa1a8ff2SEmmanuel Vadot&m_can2 { 361aa1a8ff2SEmmanuel Vadot pinctrl-names = "default", "sleep"; 362aa1a8ff2SEmmanuel Vadot pinctrl-0 = <&m_can2_pins_a>; 363aa1a8ff2SEmmanuel Vadot pinctrl-1 = <&m_can2_sleep_pins_a>; 364aa1a8ff2SEmmanuel Vadot status = "okay"; 365aa1a8ff2SEmmanuel Vadot}; 366aa1a8ff2SEmmanuel Vadot 367aa1a8ff2SEmmanuel Vadot&pmic { 368aa1a8ff2SEmmanuel Vadot regulators { 369aa1a8ff2SEmmanuel Vadot buck1-supply = <®_5v>; /* VIN */ 370aa1a8ff2SEmmanuel Vadot buck2-supply = <®_5v>; /* VIN */ 371aa1a8ff2SEmmanuel Vadot buck3-supply = <®_5v>; /* VIN */ 372aa1a8ff2SEmmanuel Vadot buck4-supply = <®_5v>; /* VIN */ 373aa1a8ff2SEmmanuel Vadot ldo2-supply = <®_5v>; /* PMIC_LDO25IN */ 374aa1a8ff2SEmmanuel Vadot ldo4-supply = <®_5v>; /* VIN */ 375aa1a8ff2SEmmanuel Vadot ldo5-supply = <®_5v>; /* PMIC_LDO25IN */ 376aa1a8ff2SEmmanuel Vadot vref_ddr-supply = <®_5v>; /* VIN */ 377aa1a8ff2SEmmanuel Vadot boost-supply = <®_5v>; /* PMIC_BSTIN */ 378aa1a8ff2SEmmanuel Vadot pwr_sw2-supply = <&bst_out>; /* PMIC_SWIN */ 379aa1a8ff2SEmmanuel Vadot }; 380aa1a8ff2SEmmanuel Vadot}; 381aa1a8ff2SEmmanuel Vadot 382aa1a8ff2SEmmanuel Vadot&rtc { 383aa1a8ff2SEmmanuel Vadot status = "okay"; 384aa1a8ff2SEmmanuel Vadot}; 385aa1a8ff2SEmmanuel Vadot 386aa1a8ff2SEmmanuel Vadot&sdmmc2 { 387aa1a8ff2SEmmanuel Vadot pinctrl-names = "default", "opendrain", "sleep"; 388aa1a8ff2SEmmanuel Vadot pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_d47_pins_b>; 389aa1a8ff2SEmmanuel Vadot pinctrl-1 = <&sdmmc2_b4_od_pins_a &sdmmc2_d47_pins_b>; 390aa1a8ff2SEmmanuel Vadot pinctrl-2 = <&sdmmc2_b4_sleep_pins_a &sdmmc2_d47_sleep_pins_b>; 391aa1a8ff2SEmmanuel Vadot vmmc-supply = <&v3v3>; 392aa1a8ff2SEmmanuel Vadot 393aa1a8ff2SEmmanuel Vadot bus-width = <8>; 394aa1a8ff2SEmmanuel Vadot mmc-ddr-3_3v; 395aa1a8ff2SEmmanuel Vadot no-1-8-v; 396aa1a8ff2SEmmanuel Vadot non-removable; 397aa1a8ff2SEmmanuel Vadot no-sd; 398aa1a8ff2SEmmanuel Vadot no-sdio; 399aa1a8ff2SEmmanuel Vadot st,neg-edge; 400aa1a8ff2SEmmanuel Vadot 401aa1a8ff2SEmmanuel Vadot status = "okay"; 402aa1a8ff2SEmmanuel Vadot}; 403aa1a8ff2SEmmanuel Vadot 404aa1a8ff2SEmmanuel Vadot&spi2 { 405aa1a8ff2SEmmanuel Vadot pinctrl-names = "default"; 406aa1a8ff2SEmmanuel Vadot pinctrl-0 = <&spi2_pins_c>; 407*01950c46SEmmanuel Vadot cs-gpios = <&gpiof 12 (GPIO_ACTIVE_LOW | GPIO_OPEN_DRAIN)>; 408aa1a8ff2SEmmanuel Vadot status = "okay"; 409aa1a8ff2SEmmanuel Vadot}; 410aa1a8ff2SEmmanuel Vadot 411aa1a8ff2SEmmanuel Vadot&spi4 { 412aa1a8ff2SEmmanuel Vadot pinctrl-names = "default"; 413aa1a8ff2SEmmanuel Vadot pinctrl-0 = <&spi4_pins_a>; 414aa1a8ff2SEmmanuel Vadot cs-gpios = <&gpiof 4 GPIO_ACTIVE_LOW>; 415aa1a8ff2SEmmanuel Vadot status = "okay"; 416aa1a8ff2SEmmanuel Vadot 417aa1a8ff2SEmmanuel Vadot lcd: display@0 { 418aa1a8ff2SEmmanuel Vadot compatible = "shineworld,lh133k", "panel-mipi-dbi-spi"; 419aa1a8ff2SEmmanuel Vadot reg = <0>; 420aa1a8ff2SEmmanuel Vadot power-supply = <&v3v3>; 421aa1a8ff2SEmmanuel Vadot io-supply = <&v3v3>; 422aa1a8ff2SEmmanuel Vadot backlight = <&backlight>; 423aa1a8ff2SEmmanuel Vadot dc-gpios = <&gpiod 10 GPIO_ACTIVE_HIGH>; 424aa1a8ff2SEmmanuel Vadot reset-gpios = <&gpioh 4 GPIO_ACTIVE_HIGH>; 425aa1a8ff2SEmmanuel Vadot spi-3wire; 426aa1a8ff2SEmmanuel Vadot spi-max-frequency = <32000000>; 427aa1a8ff2SEmmanuel Vadot 428aa1a8ff2SEmmanuel Vadot width-mm = <23>; 429aa1a8ff2SEmmanuel Vadot height-mm = <23>; 430aa1a8ff2SEmmanuel Vadot rotation = <180>; 431aa1a8ff2SEmmanuel Vadot 432aa1a8ff2SEmmanuel Vadot panel-timing { 433aa1a8ff2SEmmanuel Vadot hactive = <240>; 434aa1a8ff2SEmmanuel Vadot vactive = <240>; 435aa1a8ff2SEmmanuel Vadot hback-porch = <0>; 436aa1a8ff2SEmmanuel Vadot vback-porch = <0>; 437aa1a8ff2SEmmanuel Vadot 438aa1a8ff2SEmmanuel Vadot clock-frequency = <0>; 439aa1a8ff2SEmmanuel Vadot hfront-porch = <0>; 440aa1a8ff2SEmmanuel Vadot hsync-len = <0>; 441aa1a8ff2SEmmanuel Vadot vfront-porch = <0>; 442aa1a8ff2SEmmanuel Vadot vsync-len = <0>; 443aa1a8ff2SEmmanuel Vadot }; 444aa1a8ff2SEmmanuel Vadot }; 445aa1a8ff2SEmmanuel Vadot}; 446aa1a8ff2SEmmanuel Vadot 447aa1a8ff2SEmmanuel Vadot&spi5 { 448aa1a8ff2SEmmanuel Vadot pinctrl-names = "default"; 449aa1a8ff2SEmmanuel Vadot pinctrl-0 = <&spi5_pins_a>; 450aa1a8ff2SEmmanuel Vadot 451aa1a8ff2SEmmanuel Vadot /* spare dmas for other usage */ 452aa1a8ff2SEmmanuel Vadot /delete-property/dmas; 453aa1a8ff2SEmmanuel Vadot /delete-property/dma-names; 454aa1a8ff2SEmmanuel Vadot 455aa1a8ff2SEmmanuel Vadot cs-gpios = <&gpiod 13 GPIO_ACTIVE_LOW>; 456aa1a8ff2SEmmanuel Vadot 457aa1a8ff2SEmmanuel Vadot status = "okay"; 458aa1a8ff2SEmmanuel Vadot 459aa1a8ff2SEmmanuel Vadot switch: switch@0 { 460aa1a8ff2SEmmanuel Vadot compatible = "microchip,ksz9563"; 461aa1a8ff2SEmmanuel Vadot reg = <0>; 462aa1a8ff2SEmmanuel Vadot 463aa1a8ff2SEmmanuel Vadot reset-gpios = <&gpiog 0 GPIO_ACTIVE_LOW>; 464aa1a8ff2SEmmanuel Vadot spi-max-frequency = <44000000>; 465aa1a8ff2SEmmanuel Vadot 466aa1a8ff2SEmmanuel Vadot interrupt-parent = <&gpioa>; 467aa1a8ff2SEmmanuel Vadot interrupts = <6 IRQ_TYPE_EDGE_RISING>; 468aa1a8ff2SEmmanuel Vadot 469*01950c46SEmmanuel Vadot /* Reduce RGMII EMI emissions by reducing drive strength */ 470*01950c46SEmmanuel Vadot microchip,hi-drive-strength-microamp = <2000>; 471*01950c46SEmmanuel Vadot microchip,lo-drive-strength-microamp = <8000>; 472*01950c46SEmmanuel Vadot 473aa1a8ff2SEmmanuel Vadot ports { 474aa1a8ff2SEmmanuel Vadot #address-cells = <1>; 475aa1a8ff2SEmmanuel Vadot #size-cells = <0>; 476aa1a8ff2SEmmanuel Vadot port_dut: port@0 { 477aa1a8ff2SEmmanuel Vadot reg = <0>; 478aa1a8ff2SEmmanuel Vadot label = "dut"; 479aa1a8ff2SEmmanuel Vadot }; 480aa1a8ff2SEmmanuel Vadot 481aa1a8ff2SEmmanuel Vadot port_uplink: port@1 { 482aa1a8ff2SEmmanuel Vadot reg = <1>; 483aa1a8ff2SEmmanuel Vadot label = "uplink"; 484aa1a8ff2SEmmanuel Vadot }; 485aa1a8ff2SEmmanuel Vadot 486aa1a8ff2SEmmanuel Vadot port_cpu: port@2 { 487aa1a8ff2SEmmanuel Vadot reg = <2>; 488aa1a8ff2SEmmanuel Vadot label = "cpu"; 489aa1a8ff2SEmmanuel Vadot 490aa1a8ff2SEmmanuel Vadot ethernet = <ðernet0>; 491aa1a8ff2SEmmanuel Vadot 492aa1a8ff2SEmmanuel Vadot phy-mode = "rgmii-id"; 493aa1a8ff2SEmmanuel Vadot rx-internal-delay-ps = <2000>; 494aa1a8ff2SEmmanuel Vadot tx-internal-delay-ps = <2000>; 495aa1a8ff2SEmmanuel Vadot 496aa1a8ff2SEmmanuel Vadot fixed-link { 497aa1a8ff2SEmmanuel Vadot speed = <1000>; 498aa1a8ff2SEmmanuel Vadot full-duplex; 499aa1a8ff2SEmmanuel Vadot }; 500aa1a8ff2SEmmanuel Vadot }; 501aa1a8ff2SEmmanuel Vadot }; 502aa1a8ff2SEmmanuel Vadot }; 503aa1a8ff2SEmmanuel Vadot}; 504aa1a8ff2SEmmanuel Vadot 505aa1a8ff2SEmmanuel Vadot&timers2 { 506aa1a8ff2SEmmanuel Vadot /* spare dmas for other usage */ 507aa1a8ff2SEmmanuel Vadot /delete-property/dmas; 508aa1a8ff2SEmmanuel Vadot /delete-property/dma-names; 509aa1a8ff2SEmmanuel Vadot 510aa1a8ff2SEmmanuel Vadot status = "okay"; 511aa1a8ff2SEmmanuel Vadot 512aa1a8ff2SEmmanuel Vadot timer@1 { 513aa1a8ff2SEmmanuel Vadot status = "okay"; 514aa1a8ff2SEmmanuel Vadot }; 515aa1a8ff2SEmmanuel Vadot}; 516aa1a8ff2SEmmanuel Vadot 517aa1a8ff2SEmmanuel Vadot&timers3 { 518aa1a8ff2SEmmanuel Vadot /* spare dmas for other usage */ 519aa1a8ff2SEmmanuel Vadot /delete-property/dmas; 520aa1a8ff2SEmmanuel Vadot /delete-property/dma-names; 521aa1a8ff2SEmmanuel Vadot 522aa1a8ff2SEmmanuel Vadot status = "okay"; 523aa1a8ff2SEmmanuel Vadot 524aa1a8ff2SEmmanuel Vadot timer@2 { 525aa1a8ff2SEmmanuel Vadot status = "okay"; 526aa1a8ff2SEmmanuel Vadot }; 527aa1a8ff2SEmmanuel Vadot}; 528aa1a8ff2SEmmanuel Vadot 529aa1a8ff2SEmmanuel Vadot&timers4 { 530aa1a8ff2SEmmanuel Vadot /* spare dmas for other usage */ 531aa1a8ff2SEmmanuel Vadot /delete-property/dmas; 532aa1a8ff2SEmmanuel Vadot /delete-property/dma-names; 533aa1a8ff2SEmmanuel Vadot 534aa1a8ff2SEmmanuel Vadot status = "okay"; 535aa1a8ff2SEmmanuel Vadot 536aa1a8ff2SEmmanuel Vadot timer@3 { 537aa1a8ff2SEmmanuel Vadot status = "okay"; 538aa1a8ff2SEmmanuel Vadot }; 539aa1a8ff2SEmmanuel Vadot}; 540aa1a8ff2SEmmanuel Vadot 541aa1a8ff2SEmmanuel Vadot&uart4 { 542aa1a8ff2SEmmanuel Vadot label = "debug"; 543aa1a8ff2SEmmanuel Vadot 544aa1a8ff2SEmmanuel Vadot pinctrl-names = "default"; 545aa1a8ff2SEmmanuel Vadot pinctrl-0 = <&uart4_pins_a>; 546aa1a8ff2SEmmanuel Vadot 547aa1a8ff2SEmmanuel Vadot /* spare dmas for other usage */ 548aa1a8ff2SEmmanuel Vadot /delete-property/dmas; 549aa1a8ff2SEmmanuel Vadot /delete-property/dma-names; 550aa1a8ff2SEmmanuel Vadot 551aa1a8ff2SEmmanuel Vadot status = "okay"; 552aa1a8ff2SEmmanuel Vadot}; 553aa1a8ff2SEmmanuel Vadot 554aa1a8ff2SEmmanuel Vadot&usart3 { 555aa1a8ff2SEmmanuel Vadot label = "dut"; 556aa1a8ff2SEmmanuel Vadot uart-has-rtscts; 557aa1a8ff2SEmmanuel Vadot 558aa1a8ff2SEmmanuel Vadot pinctrl-names = "default"; 559aa1a8ff2SEmmanuel Vadot pinctrl-0 = <&usart3_pins_f>; 560aa1a8ff2SEmmanuel Vadot 561aa1a8ff2SEmmanuel Vadot /* spare dmas for other usage */ 562aa1a8ff2SEmmanuel Vadot /delete-property/dmas; 563aa1a8ff2SEmmanuel Vadot /delete-property/dma-names; 564aa1a8ff2SEmmanuel Vadot 565aa1a8ff2SEmmanuel Vadot status = "okay"; 566aa1a8ff2SEmmanuel Vadot}; 567aa1a8ff2SEmmanuel Vadot 568aa1a8ff2SEmmanuel Vadot&usbh_ehci { 569aa1a8ff2SEmmanuel Vadot status = "okay"; 570aa1a8ff2SEmmanuel Vadot}; 571aa1a8ff2SEmmanuel Vadot 572aa1a8ff2SEmmanuel Vadot&usbotg_hs { 573aa1a8ff2SEmmanuel Vadot phys = <&usbphyc_port1 0>; 574aa1a8ff2SEmmanuel Vadot phy-names = "usb2-phy"; 575aa1a8ff2SEmmanuel Vadot 576aa1a8ff2SEmmanuel Vadot vusb_d-supply = <&vdd_usb>; 577aa1a8ff2SEmmanuel Vadot vusb_a-supply = <®18>; 578aa1a8ff2SEmmanuel Vadot 579aa1a8ff2SEmmanuel Vadot dr_mode = "peripheral"; 580aa1a8ff2SEmmanuel Vadot 581aa1a8ff2SEmmanuel Vadot status = "okay"; 582aa1a8ff2SEmmanuel Vadot}; 583aa1a8ff2SEmmanuel Vadot 584aa1a8ff2SEmmanuel Vadot&usbphyc { 585aa1a8ff2SEmmanuel Vadot status = "okay"; 586aa1a8ff2SEmmanuel Vadot}; 587aa1a8ff2SEmmanuel Vadot 588aa1a8ff2SEmmanuel Vadot&vrefbuf { 589aa1a8ff2SEmmanuel Vadot regulator-min-microvolt = <2500000>; 590aa1a8ff2SEmmanuel Vadot regulator-max-microvolt = <2500000>; 591aa1a8ff2SEmmanuel Vadot vdda-supply = <&vdda>; 592aa1a8ff2SEmmanuel Vadot 593aa1a8ff2SEmmanuel Vadot status = "okay"; 594aa1a8ff2SEmmanuel Vadot}; 595