162306a36Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-3-Clause) 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Copyright (C) 2020 STMicroelectronics - All Rights Reserved 462306a36Sopenharmony_ci * Copyright (C) 2021 Rouven Czerwinski, Pengutronix 562306a36Sopenharmony_ci * Copyright (C) 2023 Leonard Göhrs, Pengutronix 662306a36Sopenharmony_ci */ 762306a36Sopenharmony_ci 862306a36Sopenharmony_ci#include "stm32mp15xc.dtsi" 962306a36Sopenharmony_ci#include "stm32mp15xx-osd32.dtsi" 1062306a36Sopenharmony_ci#include "stm32mp15xxac-pinctrl.dtsi" 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_ci#include <dt-bindings/gpio/gpio.h> 1362306a36Sopenharmony_ci#include <dt-bindings/input/input.h> 1462306a36Sopenharmony_ci#include <dt-bindings/leds/common.h> 1562306a36Sopenharmony_ci#include <dt-bindings/pwm/pwm.h> 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ci/ { 1862306a36Sopenharmony_ci aliases { 1962306a36Sopenharmony_ci ethernet0 = ðernet0; 2062306a36Sopenharmony_ci ethernet1 = &port_uplink; 2162306a36Sopenharmony_ci ethernet2 = &port_dut; 2262306a36Sopenharmony_ci mmc1 = &sdmmc2; 2362306a36Sopenharmony_ci serial0 = &uart4; 2462306a36Sopenharmony_ci serial1 = &usart3; 2562306a36Sopenharmony_ci }; 2662306a36Sopenharmony_ci 2762306a36Sopenharmony_ci chosen { 2862306a36Sopenharmony_ci stdout-path = &uart4; 2962306a36Sopenharmony_ci }; 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_ci led-controller-0 { 3262306a36Sopenharmony_ci compatible = "gpio-leds"; 3362306a36Sopenharmony_ci 3462306a36Sopenharmony_ci led-0 { 3562306a36Sopenharmony_ci label = "tac:green:user1"; 3662306a36Sopenharmony_ci gpios = <&gpiof 10 GPIO_ACTIVE_HIGH>; 3762306a36Sopenharmony_ci linux,default-trigger = "heartbeat"; 3862306a36Sopenharmony_ci }; 3962306a36Sopenharmony_ci 4062306a36Sopenharmony_ci led-1 { 4162306a36Sopenharmony_ci label = "tac:green:user2"; 4262306a36Sopenharmony_ci gpios = <&gpiog 7 GPIO_ACTIVE_HIGH>; 4362306a36Sopenharmony_ci }; 4462306a36Sopenharmony_ci 4562306a36Sopenharmony_ci led-2 { 4662306a36Sopenharmony_ci label = "tac:green:statusdut"; 4762306a36Sopenharmony_ci gpios = <&gpioa 13 GPIO_ACTIVE_LOW>; 4862306a36Sopenharmony_ci }; 4962306a36Sopenharmony_ci 5062306a36Sopenharmony_ci /* led-3 and led-4 are internally connected antiparallel to one 5162306a36Sopenharmony_ci * another inside the ethernet jack like this: 5262306a36Sopenharmony_ci * GPIOA14 ---+---|led-3|>--+--- GPIOD15 5362306a36Sopenharmony_ci * +--<|led-4|---+ 5462306a36Sopenharmony_ci * E.g. only one of the LEDs can be illuminated at a time while 5562306a36Sopenharmony_ci * the other output must be driven low. 5662306a36Sopenharmony_ci * This should likely be implemented using a multi color LED 5762306a36Sopenharmony_ci * driver for antiparallel LEDs. 5862306a36Sopenharmony_ci */ 5962306a36Sopenharmony_ci led-3 { 6062306a36Sopenharmony_ci label = "tac:green:statuslab"; 6162306a36Sopenharmony_ci gpios = <&gpioa 14 GPIO_ACTIVE_HIGH>; 6262306a36Sopenharmony_ci }; 6362306a36Sopenharmony_ci 6462306a36Sopenharmony_ci led-4 { 6562306a36Sopenharmony_ci label = "tac:orange:statuslab"; 6662306a36Sopenharmony_ci gpios = <&gpiod 15 GPIO_ACTIVE_HIGH>; 6762306a36Sopenharmony_ci }; 6862306a36Sopenharmony_ci }; 6962306a36Sopenharmony_ci 7062306a36Sopenharmony_ci gpio-keys { 7162306a36Sopenharmony_ci compatible = "gpio-keys"; 7262306a36Sopenharmony_ci 7362306a36Sopenharmony_ci button-lower { 7462306a36Sopenharmony_ci label = "USER_BTN2"; 7562306a36Sopenharmony_ci linux,code = <KEY_ESC>; 7662306a36Sopenharmony_ci gpios = <&gpioe 7 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; 7762306a36Sopenharmony_ci }; 7862306a36Sopenharmony_ci 7962306a36Sopenharmony_ci button-upper { 8062306a36Sopenharmony_ci label = "USER_BTN"; 8162306a36Sopenharmony_ci linux,code = <KEY_HOME>; 8262306a36Sopenharmony_ci gpios = <&gpioi 11 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; 8362306a36Sopenharmony_ci }; 8462306a36Sopenharmony_ci }; 8562306a36Sopenharmony_ci 8662306a36Sopenharmony_ci /* supplied by either barrel connector or PoE */ 8762306a36Sopenharmony_ci reg_12v: regulator-12v { 8862306a36Sopenharmony_ci compatible = "regulator-fixed"; 8962306a36Sopenharmony_ci regulator-name = "12V"; 9062306a36Sopenharmony_ci regulator-min-microvolt = <12000000>; 9162306a36Sopenharmony_ci regulator-max-microvolt = <12000000>; 9262306a36Sopenharmony_ci regulator-always-on; 9362306a36Sopenharmony_ci }; 9462306a36Sopenharmony_ci 9562306a36Sopenharmony_ci reg_5v: regulator-5v { 9662306a36Sopenharmony_ci compatible = "regulator-fixed"; 9762306a36Sopenharmony_ci regulator-name = "5V"; 9862306a36Sopenharmony_ci regulator-min-microvolt = <5000000>; 9962306a36Sopenharmony_ci regulator-max-microvolt = <5000000>; 10062306a36Sopenharmony_ci regulator-always-on; 10162306a36Sopenharmony_ci vin-supply = <®_12v>; 10262306a36Sopenharmony_ci }; 10362306a36Sopenharmony_ci 10462306a36Sopenharmony_ci reg_1v2: regulator-1v2 { 10562306a36Sopenharmony_ci compatible = "regulator-fixed"; 10662306a36Sopenharmony_ci regulator-name = "1V2"; 10762306a36Sopenharmony_ci regulator-min-microvolt = <1200000>; 10862306a36Sopenharmony_ci regulator-max-microvolt = <1200000>; 10962306a36Sopenharmony_ci regulator-always-on; 11062306a36Sopenharmony_ci vin-supply = <®_5v>; 11162306a36Sopenharmony_ci }; 11262306a36Sopenharmony_ci 11362306a36Sopenharmony_ci reg_pb_5v: regulator-pb-5v { 11462306a36Sopenharmony_ci compatible = "regulator-fixed"; 11562306a36Sopenharmony_ci regulator-name = "5V_POWERBOARD"; 11662306a36Sopenharmony_ci regulator-min-microvolt = <5000000>; 11762306a36Sopenharmony_ci regulator-max-microvolt = <5000000>; 11862306a36Sopenharmony_ci regulator-always-on; 11962306a36Sopenharmony_ci vin-supply = <®_5v>; 12062306a36Sopenharmony_ci }; 12162306a36Sopenharmony_ci 12262306a36Sopenharmony_ci reg_pb_3v3: regulator-pb-3v3 { 12362306a36Sopenharmony_ci compatible = "regulator-fixed"; 12462306a36Sopenharmony_ci regulator-name = "3V3_POWERBOARD"; 12562306a36Sopenharmony_ci regulator-min-microvolt = <3300000>; 12662306a36Sopenharmony_ci regulator-max-microvolt = <3300000>; 12762306a36Sopenharmony_ci regulator-always-on; 12862306a36Sopenharmony_ci vin-supply = <®_pb_5v>; 12962306a36Sopenharmony_ci }; 13062306a36Sopenharmony_ci 13162306a36Sopenharmony_ci output-iobus-12v { 13262306a36Sopenharmony_ci compatible = "regulator-output"; 13362306a36Sopenharmony_ci vout-supply = <®_iobus_12v>; 13462306a36Sopenharmony_ci }; 13562306a36Sopenharmony_ci 13662306a36Sopenharmony_ci output-vuart { 13762306a36Sopenharmony_ci compatible = "regulator-output"; 13862306a36Sopenharmony_ci vout-supply = <&v3v3_hdmi>; 13962306a36Sopenharmony_ci }; 14062306a36Sopenharmony_ci}; 14162306a36Sopenharmony_ci 14262306a36Sopenharmony_cibaseboard_eeprom: &sip_eeprom { 14362306a36Sopenharmony_ci}; 14462306a36Sopenharmony_ci 14562306a36Sopenharmony_ci&adc { 14662306a36Sopenharmony_ci pinctrl-names = "default"; 14762306a36Sopenharmony_ci pinctrl-0 = <&adc1_ain_pins_a>; 14862306a36Sopenharmony_ci vdd-supply = <&vdd>; 14962306a36Sopenharmony_ci vdda-supply = <&vdda>; 15062306a36Sopenharmony_ci vref-supply = <&vrefbuf>; 15162306a36Sopenharmony_ci status = "okay"; 15262306a36Sopenharmony_ci 15362306a36Sopenharmony_ci adc1: adc@0 { 15462306a36Sopenharmony_ci st,adc-channels = <0 1 2 5 9 10 13 15>; 15562306a36Sopenharmony_ci st,min-sample-time-nsecs = <5000>; 15662306a36Sopenharmony_ci #address-cells = <1>; 15762306a36Sopenharmony_ci #size-cells = <0>; 15862306a36Sopenharmony_ci status = "okay"; 15962306a36Sopenharmony_ci 16062306a36Sopenharmony_ci channel@0 { 16162306a36Sopenharmony_ci reg = <0>; 16262306a36Sopenharmony_ci label = "HOST_2_CURR_FB"; 16362306a36Sopenharmony_ci }; 16462306a36Sopenharmony_ci 16562306a36Sopenharmony_ci channel@1 { 16662306a36Sopenharmony_ci reg = <1>; 16762306a36Sopenharmony_ci label = "HOST_3_CURR_FB"; 16862306a36Sopenharmony_ci }; 16962306a36Sopenharmony_ci 17062306a36Sopenharmony_ci channel@2 { 17162306a36Sopenharmony_ci reg = <2>; 17262306a36Sopenharmony_ci label = "OUT_0_FB"; 17362306a36Sopenharmony_ci }; 17462306a36Sopenharmony_ci 17562306a36Sopenharmony_ci channel@5 { 17662306a36Sopenharmony_ci reg = <5>; 17762306a36Sopenharmony_ci label = "IOBUS_CURR_FB"; 17862306a36Sopenharmony_ci }; 17962306a36Sopenharmony_ci 18062306a36Sopenharmony_ci channel@9 { 18162306a36Sopenharmony_ci reg = <9>; 18262306a36Sopenharmony_ci label = "IOBUS_VOLT_FB"; 18362306a36Sopenharmony_ci }; 18462306a36Sopenharmony_ci 18562306a36Sopenharmony_ci channel@10 { 18662306a36Sopenharmony_ci reg = <10>; 18762306a36Sopenharmony_ci label = "OUT_1_FB"; 18862306a36Sopenharmony_ci }; 18962306a36Sopenharmony_ci 19062306a36Sopenharmony_ci channel@13 { 19162306a36Sopenharmony_ci reg = <13>; 19262306a36Sopenharmony_ci label = "HOST_CURR_FB"; 19362306a36Sopenharmony_ci }; 19462306a36Sopenharmony_ci 19562306a36Sopenharmony_ci channel@15 { 19662306a36Sopenharmony_ci reg = <15>; 19762306a36Sopenharmony_ci label = "HOST_1_CURR_FB"; 19862306a36Sopenharmony_ci }; 19962306a36Sopenharmony_ci }; 20062306a36Sopenharmony_ci 20162306a36Sopenharmony_ci adc2: adc@100 { 20262306a36Sopenharmony_ci st,adc-channels = <12>; 20362306a36Sopenharmony_ci st,min-sample-time-nsecs = <500000>; 20462306a36Sopenharmony_ci #address-cells = <1>; 20562306a36Sopenharmony_ci #size-cells = <0>; 20662306a36Sopenharmony_ci status = "okay"; 20762306a36Sopenharmony_ci 20862306a36Sopenharmony_ci channel@12 { 20962306a36Sopenharmony_ci reg = <12>; 21062306a36Sopenharmony_ci label = "TEMP_INTERNAL"; 21162306a36Sopenharmony_ci }; 21262306a36Sopenharmony_ci }; 21362306a36Sopenharmony_ci}; 21462306a36Sopenharmony_ci 21562306a36Sopenharmony_ci&crc1 { 21662306a36Sopenharmony_ci status = "okay"; 21762306a36Sopenharmony_ci}; 21862306a36Sopenharmony_ci 21962306a36Sopenharmony_ci&cryp1 { 22062306a36Sopenharmony_ci status = "okay"; 22162306a36Sopenharmony_ci}; 22262306a36Sopenharmony_ci 22362306a36Sopenharmony_ci&dts { 22462306a36Sopenharmony_ci status = "okay"; 22562306a36Sopenharmony_ci}; 22662306a36Sopenharmony_ci 22762306a36Sopenharmony_ciðernet0 { 22862306a36Sopenharmony_ci assigned-clocks = <&rcc ETHCK_K>, <&rcc PLL4_P>; 22962306a36Sopenharmony_ci assigned-clock-parents = <&rcc PLL4_P>; 23062306a36Sopenharmony_ci assigned-clock-rates = <125000000>; /* Clock PLL4 to 750Mhz in ATF */ 23162306a36Sopenharmony_ci 23262306a36Sopenharmony_ci pinctrl-names = "default", "sleep"; 23362306a36Sopenharmony_ci pinctrl-0 = <ðernet0_rgmii_pins_e>; 23462306a36Sopenharmony_ci pinctrl-1 = <ðernet0_rgmii_sleep_pins_e>; 23562306a36Sopenharmony_ci 23662306a36Sopenharmony_ci st,eth-clk-sel; 23762306a36Sopenharmony_ci phy-mode = "rgmii-id"; 23862306a36Sopenharmony_ci 23962306a36Sopenharmony_ci status = "okay"; 24062306a36Sopenharmony_ci 24162306a36Sopenharmony_ci fixed-link { 24262306a36Sopenharmony_ci speed = <1000>; 24362306a36Sopenharmony_ci full-duplex; 24462306a36Sopenharmony_ci }; 24562306a36Sopenharmony_ci}; 24662306a36Sopenharmony_ci 24762306a36Sopenharmony_ciðernet0_rgmii_pins_e { 24862306a36Sopenharmony_ci pins1 { 24962306a36Sopenharmony_ci /* Reduce EMI emission by reducing RGMII drive strength */ 25062306a36Sopenharmony_ci slew-rate = <1>; 25162306a36Sopenharmony_ci }; 25262306a36Sopenharmony_ci}; 25362306a36Sopenharmony_ci 25462306a36Sopenharmony_ci&gpiob { 25562306a36Sopenharmony_ci gpio-line-names = "", "", "", "", "", /* 0 */ 25662306a36Sopenharmony_ci "", "USB_RESET", "", "", "", /* 5 */ 25762306a36Sopenharmony_ci "", "", "", "", "", /* 10 */ 25862306a36Sopenharmony_ci ""; /* 15 */ 25962306a36Sopenharmony_ci}; 26062306a36Sopenharmony_ci 26162306a36Sopenharmony_ci&gpiod { 26262306a36Sopenharmony_ci gpio-line-names = "", "", "", "", "TP38", /* 0 */ 26362306a36Sopenharmony_ci "TP39", "", "", "TP41", "TP42", /* 5 */ 26462306a36Sopenharmony_ci "OLED_DC", "", "", "ETH_CS", "", /* 10 */ 26562306a36Sopenharmony_ci "ETH_LAB_LEDRN"; /* 15 */ 26662306a36Sopenharmony_ci}; 26762306a36Sopenharmony_ci 26862306a36Sopenharmony_ci&gpioe { 26962306a36Sopenharmony_ci gpio-line-names = "TP35", "", "", "", "CAN_1_120R", /* 0 */ 27062306a36Sopenharmony_ci "", "", "USER_BTN2", "TP48", "UART_TX_EN", /* 5 */ 27162306a36Sopenharmony_ci "UART_RX_EN", "TP24", "", "TP25", "TP26", /* 10 */ 27262306a36Sopenharmony_ci "TP27"; /* 15 */ 27362306a36Sopenharmony_ci}; 27462306a36Sopenharmony_ci 27562306a36Sopenharmony_ci&gpiof { 27662306a36Sopenharmony_ci gpio-line-names = "TP36", "TP37", "", "", "OLED_CS", /* 0 */ 27762306a36Sopenharmony_ci "", "", "", "", "", /* 5 */ 27862306a36Sopenharmony_ci "USER_LED1", "", "STACK_CS0", "", "", /* 10 */ 27962306a36Sopenharmony_ci ""; /* 15 */ 28062306a36Sopenharmony_ci}; 28162306a36Sopenharmony_ci 28262306a36Sopenharmony_ci&gpiog { 28362306a36Sopenharmony_ci gpio-line-names = "ETH_RESET", "", "", "", "", /* 0 */ 28462306a36Sopenharmony_ci "IOBUS_FLT_FB", "", "USER_LED2", "ETH1_PPS_A", "CAN_0_120R", /* 5 */ 28562306a36Sopenharmony_ci "TP49", "", "", "", "", /* 10 */ 28662306a36Sopenharmony_ci ""; /* 15 */ 28762306a36Sopenharmony_ci}; 28862306a36Sopenharmony_ci 28962306a36Sopenharmony_ci&gpioh { 29062306a36Sopenharmony_ci gpio-line-names = "", "", "OUT_1", "OUT_0", "OLED_RESET", /* 0 */ 29162306a36Sopenharmony_ci "", "", "", "", "", /* 5 */ 29262306a36Sopenharmony_ci "ETH1_PPS_B", "ETH_GPIO2", "", "IOBUS_PWR_EN", "", /* 10 */ 29362306a36Sopenharmony_ci "TP33"; /* 15 */ 29462306a36Sopenharmony_ci}; 29562306a36Sopenharmony_ci 29662306a36Sopenharmony_ci&gpioi { 29762306a36Sopenharmony_ci gpio-line-names = "TIM_RTS", "", "", "", "DEVICE_DATA_EN", /* 0 */ 29862306a36Sopenharmony_ci "", "", "", "ETH_WOL", "TP43", /* 5 */ 29962306a36Sopenharmony_ci "", "USER_BTN"; /* 10 */ 30062306a36Sopenharmony_ci}; 30162306a36Sopenharmony_ci 30262306a36Sopenharmony_ci&gpioz { 30362306a36Sopenharmony_ci gpio-line-names = "HWID0", "HWID1", "HWID2", "HWID3", "", /* 0 */ 30462306a36Sopenharmony_ci "", "HWID4", "HWID5"; /* 5 */ 30562306a36Sopenharmony_ci}; 30662306a36Sopenharmony_ci 30762306a36Sopenharmony_ci&hash1 { 30862306a36Sopenharmony_ci status = "okay"; 30962306a36Sopenharmony_ci}; 31062306a36Sopenharmony_ci 31162306a36Sopenharmony_ci&i2c1 { 31262306a36Sopenharmony_ci pinctrl-names = "default", "sleep"; 31362306a36Sopenharmony_ci pinctrl-0 = <&i2c1_pins_b>; 31462306a36Sopenharmony_ci pinctrl-1 = <&i2c1_sleep_pins_b>; 31562306a36Sopenharmony_ci status = "okay"; 31662306a36Sopenharmony_ci 31762306a36Sopenharmony_ci powerboard_eeprom: eeprom@50 { 31862306a36Sopenharmony_ci compatible = "atmel,24c02"; 31962306a36Sopenharmony_ci reg = <0x50>; 32062306a36Sopenharmony_ci vcc-supply = <&v3v3>; 32162306a36Sopenharmony_ci }; 32262306a36Sopenharmony_ci 32362306a36Sopenharmony_ci temperature-sensor@48 { 32462306a36Sopenharmony_ci compatible = "national,lm75a"; 32562306a36Sopenharmony_ci reg = <0x48>; 32662306a36Sopenharmony_ci status = "disabled"; 32762306a36Sopenharmony_ci }; 32862306a36Sopenharmony_ci}; 32962306a36Sopenharmony_ci 33062306a36Sopenharmony_ci&i2c5 { 33162306a36Sopenharmony_ci /delete-property/dmas; 33262306a36Sopenharmony_ci /delete-property/dma-names; 33362306a36Sopenharmony_ci 33462306a36Sopenharmony_ci pinctrl-names = "default", "sleep"; 33562306a36Sopenharmony_ci pinctrl-0 = <&i2c5_pins_b>; 33662306a36Sopenharmony_ci pinctrl-1 = <&i2c5_sleep_pins_b>; 33762306a36Sopenharmony_ci 33862306a36Sopenharmony_ci status = "okay"; 33962306a36Sopenharmony_ci 34062306a36Sopenharmony_ci usbhub: usbhub@2c { 34162306a36Sopenharmony_ci compatible ="microchip,usb2514b"; 34262306a36Sopenharmony_ci reg = <0x2c>; 34362306a36Sopenharmony_ci vdd-supply = <&v3v3>; 34462306a36Sopenharmony_ci reset-gpios = <&gpiob 6 GPIO_ACTIVE_LOW>; 34562306a36Sopenharmony_ci }; 34662306a36Sopenharmony_ci}; 34762306a36Sopenharmony_ci 34862306a36Sopenharmony_ci&iwdg2 { 34962306a36Sopenharmony_ci timeout-sec = <8>; 35062306a36Sopenharmony_ci status = "okay"; 35162306a36Sopenharmony_ci}; 35262306a36Sopenharmony_ci 35362306a36Sopenharmony_ci&m_can1 { 35462306a36Sopenharmony_ci pinctrl-names = "default", "sleep"; 35562306a36Sopenharmony_ci pinctrl-0 = <&m_can1_pins_b>; 35662306a36Sopenharmony_ci pinctrl-1 = <&m_can1_sleep_pins_b>; 35762306a36Sopenharmony_ci status = "okay"; 35862306a36Sopenharmony_ci}; 35962306a36Sopenharmony_ci 36062306a36Sopenharmony_ci&m_can2 { 36162306a36Sopenharmony_ci pinctrl-names = "default", "sleep"; 36262306a36Sopenharmony_ci pinctrl-0 = <&m_can2_pins_a>; 36362306a36Sopenharmony_ci pinctrl-1 = <&m_can2_sleep_pins_a>; 36462306a36Sopenharmony_ci status = "okay"; 36562306a36Sopenharmony_ci}; 36662306a36Sopenharmony_ci 36762306a36Sopenharmony_ci&pmic { 36862306a36Sopenharmony_ci regulators { 36962306a36Sopenharmony_ci buck1-supply = <®_5v>; /* VIN */ 37062306a36Sopenharmony_ci buck2-supply = <®_5v>; /* VIN */ 37162306a36Sopenharmony_ci buck3-supply = <®_5v>; /* VIN */ 37262306a36Sopenharmony_ci buck4-supply = <®_5v>; /* VIN */ 37362306a36Sopenharmony_ci ldo2-supply = <®_5v>; /* PMIC_LDO25IN */ 37462306a36Sopenharmony_ci ldo4-supply = <®_5v>; /* VIN */ 37562306a36Sopenharmony_ci ldo5-supply = <®_5v>; /* PMIC_LDO25IN */ 37662306a36Sopenharmony_ci vref_ddr-supply = <®_5v>; /* VIN */ 37762306a36Sopenharmony_ci boost-supply = <®_5v>; /* PMIC_BSTIN */ 37862306a36Sopenharmony_ci pwr_sw2-supply = <&bst_out>; /* PMIC_SWIN */ 37962306a36Sopenharmony_ci }; 38062306a36Sopenharmony_ci}; 38162306a36Sopenharmony_ci 38262306a36Sopenharmony_ci&pwr_regulators { 38362306a36Sopenharmony_ci vdd-supply = <&vdd>; 38462306a36Sopenharmony_ci vdd_3v3_usbfs-supply = <&vdd_usb>; 38562306a36Sopenharmony_ci}; 38662306a36Sopenharmony_ci 38762306a36Sopenharmony_ci&rtc { 38862306a36Sopenharmony_ci status = "okay"; 38962306a36Sopenharmony_ci}; 39062306a36Sopenharmony_ci 39162306a36Sopenharmony_ci&sdmmc2 { 39262306a36Sopenharmony_ci pinctrl-names = "default", "opendrain", "sleep"; 39362306a36Sopenharmony_ci pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_d47_pins_b>; 39462306a36Sopenharmony_ci pinctrl-1 = <&sdmmc2_b4_od_pins_a &sdmmc2_d47_pins_b>; 39562306a36Sopenharmony_ci pinctrl-2 = <&sdmmc2_b4_sleep_pins_a &sdmmc2_d47_sleep_pins_b>; 39662306a36Sopenharmony_ci vmmc-supply = <&v3v3>; 39762306a36Sopenharmony_ci 39862306a36Sopenharmony_ci bus-width = <8>; 39962306a36Sopenharmony_ci mmc-ddr-3_3v; 40062306a36Sopenharmony_ci no-1-8-v; 40162306a36Sopenharmony_ci non-removable; 40262306a36Sopenharmony_ci no-sd; 40362306a36Sopenharmony_ci no-sdio; 40462306a36Sopenharmony_ci st,neg-edge; 40562306a36Sopenharmony_ci 40662306a36Sopenharmony_ci status = "okay"; 40762306a36Sopenharmony_ci}; 40862306a36Sopenharmony_ci 40962306a36Sopenharmony_ci&spi2 { 41062306a36Sopenharmony_ci pinctrl-names = "default"; 41162306a36Sopenharmony_ci pinctrl-0 = <&spi2_pins_c>; 41262306a36Sopenharmony_ci cs-gpios = <&gpiof 12 GPIO_ACTIVE_LOW>; 41362306a36Sopenharmony_ci status = "okay"; 41462306a36Sopenharmony_ci}; 41562306a36Sopenharmony_ci 41662306a36Sopenharmony_ci&spi4 { 41762306a36Sopenharmony_ci pinctrl-names = "default"; 41862306a36Sopenharmony_ci pinctrl-0 = <&spi4_pins_a>; 41962306a36Sopenharmony_ci cs-gpios = <&gpiof 4 GPIO_ACTIVE_LOW>; 42062306a36Sopenharmony_ci status = "okay"; 42162306a36Sopenharmony_ci 42262306a36Sopenharmony_ci lcd: display@0 { 42362306a36Sopenharmony_ci compatible = "shineworld,lh133k", "panel-mipi-dbi-spi"; 42462306a36Sopenharmony_ci reg = <0>; 42562306a36Sopenharmony_ci power-supply = <&v3v3>; 42662306a36Sopenharmony_ci io-supply = <&v3v3>; 42762306a36Sopenharmony_ci backlight = <&backlight>; 42862306a36Sopenharmony_ci dc-gpios = <&gpiod 10 GPIO_ACTIVE_HIGH>; 42962306a36Sopenharmony_ci reset-gpios = <&gpioh 4 GPIO_ACTIVE_HIGH>; 43062306a36Sopenharmony_ci spi-3wire; 43162306a36Sopenharmony_ci spi-max-frequency = <32000000>; 43262306a36Sopenharmony_ci 43362306a36Sopenharmony_ci width-mm = <23>; 43462306a36Sopenharmony_ci height-mm = <23>; 43562306a36Sopenharmony_ci rotation = <180>; 43662306a36Sopenharmony_ci 43762306a36Sopenharmony_ci panel-timing { 43862306a36Sopenharmony_ci hactive = <240>; 43962306a36Sopenharmony_ci vactive = <240>; 44062306a36Sopenharmony_ci hback-porch = <0>; 44162306a36Sopenharmony_ci vback-porch = <0>; 44262306a36Sopenharmony_ci 44362306a36Sopenharmony_ci clock-frequency = <0>; 44462306a36Sopenharmony_ci hfront-porch = <0>; 44562306a36Sopenharmony_ci hsync-len = <0>; 44662306a36Sopenharmony_ci vfront-porch = <0>; 44762306a36Sopenharmony_ci vsync-len = <0>; 44862306a36Sopenharmony_ci }; 44962306a36Sopenharmony_ci }; 45062306a36Sopenharmony_ci}; 45162306a36Sopenharmony_ci 45262306a36Sopenharmony_ci&spi5 { 45362306a36Sopenharmony_ci pinctrl-names = "default"; 45462306a36Sopenharmony_ci pinctrl-0 = <&spi5_pins_a>; 45562306a36Sopenharmony_ci 45662306a36Sopenharmony_ci /* spare dmas for other usage */ 45762306a36Sopenharmony_ci /delete-property/dmas; 45862306a36Sopenharmony_ci /delete-property/dma-names; 45962306a36Sopenharmony_ci 46062306a36Sopenharmony_ci cs-gpios = <&gpiod 13 GPIO_ACTIVE_LOW>; 46162306a36Sopenharmony_ci 46262306a36Sopenharmony_ci status = "okay"; 46362306a36Sopenharmony_ci 46462306a36Sopenharmony_ci switch: switch@0 { 46562306a36Sopenharmony_ci compatible = "microchip,ksz9563"; 46662306a36Sopenharmony_ci reg = <0>; 46762306a36Sopenharmony_ci 46862306a36Sopenharmony_ci reset-gpios = <&gpiog 0 GPIO_ACTIVE_LOW>; 46962306a36Sopenharmony_ci spi-max-frequency = <44000000>; 47062306a36Sopenharmony_ci 47162306a36Sopenharmony_ci interrupt-parent = <&gpioa>; 47262306a36Sopenharmony_ci interrupts = <6 IRQ_TYPE_EDGE_RISING>; 47362306a36Sopenharmony_ci 47462306a36Sopenharmony_ci ports { 47562306a36Sopenharmony_ci #address-cells = <1>; 47662306a36Sopenharmony_ci #size-cells = <0>; 47762306a36Sopenharmony_ci port_dut: port@0 { 47862306a36Sopenharmony_ci reg = <0>; 47962306a36Sopenharmony_ci label = "dut"; 48062306a36Sopenharmony_ci }; 48162306a36Sopenharmony_ci 48262306a36Sopenharmony_ci port_uplink: port@1 { 48362306a36Sopenharmony_ci reg = <1>; 48462306a36Sopenharmony_ci label = "uplink"; 48562306a36Sopenharmony_ci }; 48662306a36Sopenharmony_ci 48762306a36Sopenharmony_ci port_cpu: port@2 { 48862306a36Sopenharmony_ci reg = <2>; 48962306a36Sopenharmony_ci label = "cpu"; 49062306a36Sopenharmony_ci 49162306a36Sopenharmony_ci ethernet = <ðernet0>; 49262306a36Sopenharmony_ci 49362306a36Sopenharmony_ci phy-mode = "rgmii-id"; 49462306a36Sopenharmony_ci rx-internal-delay-ps = <2000>; 49562306a36Sopenharmony_ci tx-internal-delay-ps = <2000>; 49662306a36Sopenharmony_ci 49762306a36Sopenharmony_ci fixed-link { 49862306a36Sopenharmony_ci speed = <1000>; 49962306a36Sopenharmony_ci full-duplex; 50062306a36Sopenharmony_ci }; 50162306a36Sopenharmony_ci }; 50262306a36Sopenharmony_ci }; 50362306a36Sopenharmony_ci }; 50462306a36Sopenharmony_ci}; 50562306a36Sopenharmony_ci 50662306a36Sopenharmony_ci&timers2 { 50762306a36Sopenharmony_ci /* spare dmas for other usage */ 50862306a36Sopenharmony_ci /delete-property/dmas; 50962306a36Sopenharmony_ci /delete-property/dma-names; 51062306a36Sopenharmony_ci 51162306a36Sopenharmony_ci status = "okay"; 51262306a36Sopenharmony_ci 51362306a36Sopenharmony_ci timer@1 { 51462306a36Sopenharmony_ci status = "okay"; 51562306a36Sopenharmony_ci }; 51662306a36Sopenharmony_ci}; 51762306a36Sopenharmony_ci 51862306a36Sopenharmony_ci&timers3 { 51962306a36Sopenharmony_ci /* spare dmas for other usage */ 52062306a36Sopenharmony_ci /delete-property/dmas; 52162306a36Sopenharmony_ci /delete-property/dma-names; 52262306a36Sopenharmony_ci 52362306a36Sopenharmony_ci status = "okay"; 52462306a36Sopenharmony_ci 52562306a36Sopenharmony_ci timer@2 { 52662306a36Sopenharmony_ci status = "okay"; 52762306a36Sopenharmony_ci }; 52862306a36Sopenharmony_ci}; 52962306a36Sopenharmony_ci 53062306a36Sopenharmony_ci&timers4 { 53162306a36Sopenharmony_ci /* spare dmas for other usage */ 53262306a36Sopenharmony_ci /delete-property/dmas; 53362306a36Sopenharmony_ci /delete-property/dma-names; 53462306a36Sopenharmony_ci 53562306a36Sopenharmony_ci status = "okay"; 53662306a36Sopenharmony_ci 53762306a36Sopenharmony_ci timer@3 { 53862306a36Sopenharmony_ci status = "okay"; 53962306a36Sopenharmony_ci }; 54062306a36Sopenharmony_ci}; 54162306a36Sopenharmony_ci 54262306a36Sopenharmony_ci&uart4 { 54362306a36Sopenharmony_ci label = "debug"; 54462306a36Sopenharmony_ci 54562306a36Sopenharmony_ci pinctrl-names = "default"; 54662306a36Sopenharmony_ci pinctrl-0 = <&uart4_pins_a>; 54762306a36Sopenharmony_ci 54862306a36Sopenharmony_ci /* spare dmas for other usage */ 54962306a36Sopenharmony_ci /delete-property/dmas; 55062306a36Sopenharmony_ci /delete-property/dma-names; 55162306a36Sopenharmony_ci 55262306a36Sopenharmony_ci status = "okay"; 55362306a36Sopenharmony_ci}; 55462306a36Sopenharmony_ci 55562306a36Sopenharmony_ci&usart3 { 55662306a36Sopenharmony_ci label = "dut"; 55762306a36Sopenharmony_ci uart-has-rtscts; 55862306a36Sopenharmony_ci 55962306a36Sopenharmony_ci pinctrl-names = "default"; 56062306a36Sopenharmony_ci pinctrl-0 = <&usart3_pins_f>; 56162306a36Sopenharmony_ci 56262306a36Sopenharmony_ci /* spare dmas for other usage */ 56362306a36Sopenharmony_ci /delete-property/dmas; 56462306a36Sopenharmony_ci /delete-property/dma-names; 56562306a36Sopenharmony_ci 56662306a36Sopenharmony_ci status = "okay"; 56762306a36Sopenharmony_ci}; 56862306a36Sopenharmony_ci 56962306a36Sopenharmony_ci&usbh_ehci { 57062306a36Sopenharmony_ci phys = <&usbphyc_port0>; 57162306a36Sopenharmony_ci phy-names = "usb"; 57262306a36Sopenharmony_ci 57362306a36Sopenharmony_ci status = "okay"; 57462306a36Sopenharmony_ci}; 57562306a36Sopenharmony_ci 57662306a36Sopenharmony_ci&usbotg_hs { 57762306a36Sopenharmony_ci phys = <&usbphyc_port1 0>; 57862306a36Sopenharmony_ci phy-names = "usb2-phy"; 57962306a36Sopenharmony_ci 58062306a36Sopenharmony_ci vusb_d-supply = <&vdd_usb>; 58162306a36Sopenharmony_ci vusb_a-supply = <®18>; 58262306a36Sopenharmony_ci 58362306a36Sopenharmony_ci dr_mode = "peripheral"; 58462306a36Sopenharmony_ci 58562306a36Sopenharmony_ci status = "okay"; 58662306a36Sopenharmony_ci}; 58762306a36Sopenharmony_ci 58862306a36Sopenharmony_ci&usbphyc { 58962306a36Sopenharmony_ci status = "okay"; 59062306a36Sopenharmony_ci}; 59162306a36Sopenharmony_ci 59262306a36Sopenharmony_ci&usbphyc_port0 { 59362306a36Sopenharmony_ci phy-supply = <&vdd_usb>; 59462306a36Sopenharmony_ci}; 59562306a36Sopenharmony_ci 59662306a36Sopenharmony_ci&usbphyc_port1 { 59762306a36Sopenharmony_ci phy-supply = <&vdd_usb>; 59862306a36Sopenharmony_ci}; 59962306a36Sopenharmony_ci 60062306a36Sopenharmony_ci&v3v3_hdmi { 60162306a36Sopenharmony_ci /delete-property/regulator-always-on; 60262306a36Sopenharmony_ci}; 60362306a36Sopenharmony_ci 60462306a36Sopenharmony_ci&vrefbuf { 60562306a36Sopenharmony_ci regulator-min-microvolt = <2500000>; 60662306a36Sopenharmony_ci regulator-max-microvolt = <2500000>; 60762306a36Sopenharmony_ci vdda-supply = <&vdda>; 60862306a36Sopenharmony_ci 60962306a36Sopenharmony_ci status = "okay"; 61062306a36Sopenharmony_ci}; 611