1 // SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-3-Clause)
3 * Copyright (C) 2020 STMicroelectronics - All Rights Reserved
4 * Copyright (C) 2021 Rouven Czerwinski, Pengutronix
5 * Copyright (C) 2023 Leonard Göhrs, Pengutronix
8 #include "stm32mp15xc.dtsi"
9 #include "stm32mp15xx-osd32.dtsi"
10 #include "stm32mp15xxac-pinctrl.dtsi"
12 #include <dt-bindings/gpio/gpio.h>
13 #include <dt-bindings/input/input.h>
14 #include <dt-bindings/leds/common.h>
15 #include <dt-bindings/pwm/pwm.h>
19 ethernet0 = ðernet0;
20 ethernet1 = &port_uplink;
21 ethernet2 = &port_dut;
32 compatible = "gpio-leds";
35 label = "tac:green:user1";
36 gpios = <&gpiof 10 GPIO_ACTIVE_HIGH>;
37 linux,default-trigger = "heartbeat";
41 label = "tac:green:user2";
42 gpios = <&gpiog 7 GPIO_ACTIVE_HIGH>;
46 label = "tac:green:statusdut";
47 gpios = <&gpioa 13 GPIO_ACTIVE_LOW>;
50 /* led-3 and led-4 are internally connected antiparallel to one
51 * another inside the ethernet jack like this:
52 * GPIOA14 ---+---|led-3|>--+--- GPIOD15
54 * E.g. only one of the LEDs can be illuminated at a time while
55 * the other output must be driven low.
56 * This should likely be implemented using a multi color LED
57 * driver for antiparallel LEDs.
60 label = "tac:green:statuslab";
61 gpios = <&gpioa 14 GPIO_ACTIVE_HIGH>;
65 label = "tac:orange:statuslab";
66 gpios = <&gpiod 15 GPIO_ACTIVE_HIGH>;
71 compatible = "gpio-keys";
75 linux,code = <KEY_ESC>;
76 gpios = <&gpioe 7 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
81 linux,code = <KEY_HOME>;
82 gpios = <&gpioi 11 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
86 /* supplied by either barrel connector or PoE */
87 reg_12v: regulator-12v {
88 compatible = "regulator-fixed";
89 regulator-name = "12V";
90 regulator-min-microvolt = <12000000>;
91 regulator-max-microvolt = <12000000>;
95 reg_5v: regulator-5v {
96 compatible = "regulator-fixed";
97 regulator-name = "5V";
98 regulator-min-microvolt = <5000000>;
99 regulator-max-microvolt = <5000000>;
101 vin-supply = <®_12v>;
104 reg_1v2: regulator-1v2 {
105 compatible = "regulator-fixed";
106 regulator-name = "1V2";
107 regulator-min-microvolt = <1200000>;
108 regulator-max-microvolt = <1200000>;
110 vin-supply = <®_5v>;
113 reg_pb_5v: regulator-pb-5v {
114 compatible = "regulator-fixed";
115 regulator-name = "5V_POWERBOARD";
116 regulator-min-microvolt = <5000000>;
117 regulator-max-microvolt = <5000000>;
119 vin-supply = <®_5v>;
122 reg_pb_3v3: regulator-pb-3v3 {
123 compatible = "regulator-fixed";
124 regulator-name = "3V3_POWERBOARD";
125 regulator-min-microvolt = <3300000>;
126 regulator-max-microvolt = <3300000>;
128 vin-supply = <®_pb_5v>;
132 compatible = "regulator-output";
133 vout-supply = <®_iobus_12v>;
137 compatible = "regulator-output";
138 vout-supply = <&v3v3_hdmi>;
142 baseboard_eeprom: &sip_eeprom {
146 pinctrl-names = "default";
147 pinctrl-0 = <&adc1_ain_pins_a>;
149 vdda-supply = <&vdda>;
150 vref-supply = <&vrefbuf>;
154 st,adc-channels = <0 1 2 5 9 10 13 15>;
155 st,min-sample-time-nsecs = <5000>;
156 #address-cells = <1>;
162 label = "HOST_2_CURR_FB";
167 label = "HOST_3_CURR_FB";
177 label = "IOBUS_CURR_FB";
182 label = "IOBUS_VOLT_FB";
192 label = "HOST_CURR_FB";
197 label = "HOST_1_CURR_FB";
202 st,adc-channels = <12>;
203 st,min-sample-time-nsecs = <500000>;
204 #address-cells = <1>;
210 label = "TEMP_INTERNAL";
228 assigned-clocks = <&rcc ETHCK_K>, <&rcc PLL4_P>;
229 assigned-clock-parents = <&rcc PLL4_P>;
230 assigned-clock-rates = <125000000>; /* Clock PLL4 to 750Mhz in ATF */
232 pinctrl-names = "default", "sleep";
233 pinctrl-0 = <ðernet0_rgmii_pins_e>;
234 pinctrl-1 = <ðernet0_rgmii_sleep_pins_e>;
237 phy-mode = "rgmii-id";
247 ðernet0_rgmii_pins_e {
249 /* Reduce EMI emission by reducing RGMII drive strength */
255 gpio-line-names = "", "", "", "", "", /* 0 */
256 "", "USB_RESET", "", "", "", /* 5 */
257 "", "", "", "", "", /* 10 */
262 gpio-line-names = "", "", "", "", "TP38", /* 0 */
263 "TP39", "", "", "TP41", "TP42", /* 5 */
264 "OLED_DC", "", "", "ETH_CS", "", /* 10 */
265 "ETH_LAB_LEDRN"; /* 15 */
269 gpio-line-names = "TP35", "", "", "", "CAN_1_120R", /* 0 */
270 "", "", "USER_BTN2", "TP48", "UART_TX_EN", /* 5 */
271 "UART_RX_EN", "TP24", "", "TP25", "TP26", /* 10 */
276 gpio-line-names = "TP36", "TP37", "", "", "OLED_CS", /* 0 */
277 "", "", "", "", "", /* 5 */
278 "USER_LED1", "", "STACK_CS0", "", "", /* 10 */
283 gpio-line-names = "ETH_RESET", "", "", "", "", /* 0 */
284 "IOBUS_FLT_FB", "", "USER_LED2", "ETH1_PPS_A", "CAN_0_120R", /* 5 */
285 "TP49", "", "", "", "", /* 10 */
290 gpio-line-names = "", "", "OUT_1", "OUT_0", "OLED_RESET", /* 0 */
291 "", "", "", "", "", /* 5 */
292 "ETH1_PPS_B", "ETH_GPIO2", "", "IOBUS_PWR_EN", "", /* 10 */
297 gpio-line-names = "TIM_RTS", "", "", "", "DEVICE_DATA_EN", /* 0 */
298 "", "", "", "ETH_WOL", "TP43", /* 5 */
299 "", "USER_BTN"; /* 10 */
303 gpio-line-names = "HWID0", "HWID1", "HWID2", "HWID3", "", /* 0 */
304 "", "HWID4", "HWID5"; /* 5 */
312 pinctrl-names = "default", "sleep";
313 pinctrl-0 = <&i2c1_pins_b>;
314 pinctrl-1 = <&i2c1_sleep_pins_b>;
317 powerboard_eeprom: eeprom@50 {
318 compatible = "atmel,24c02";
320 vcc-supply = <&v3v3>;
323 temperature-sensor@48 {
324 compatible = "national,lm75a";
331 /delete-property/dmas;
332 /delete-property/dma-names;
334 pinctrl-names = "default", "sleep";
335 pinctrl-0 = <&i2c5_pins_b>;
336 pinctrl-1 = <&i2c5_sleep_pins_b>;
341 compatible ="microchip,usb2514b";
343 vdd-supply = <&v3v3>;
344 reset-gpios = <&gpiob 6 GPIO_ACTIVE_LOW>;
354 pinctrl-names = "default", "sleep";
355 pinctrl-0 = <&m_can1_pins_b>;
356 pinctrl-1 = <&m_can1_sleep_pins_b>;
361 pinctrl-names = "default", "sleep";
362 pinctrl-0 = <&m_can2_pins_a>;
363 pinctrl-1 = <&m_can2_sleep_pins_a>;
369 buck1-supply = <®_5v>; /* VIN */
370 buck2-supply = <®_5v>; /* VIN */
371 buck3-supply = <®_5v>; /* VIN */
372 buck4-supply = <®_5v>; /* VIN */
373 ldo2-supply = <®_5v>; /* PMIC_LDO25IN */
374 ldo4-supply = <®_5v>; /* VIN */
375 ldo5-supply = <®_5v>; /* PMIC_LDO25IN */
376 vref_ddr-supply = <®_5v>; /* VIN */
377 boost-supply = <®_5v>; /* PMIC_BSTIN */
378 pwr_sw2-supply = <&bst_out>; /* PMIC_SWIN */
384 vdd_3v3_usbfs-supply = <&vdd_usb>;
392 pinctrl-names = "default", "opendrain", "sleep";
393 pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_d47_pins_b>;
394 pinctrl-1 = <&sdmmc2_b4_od_pins_a &sdmmc2_d47_pins_b>;
395 pinctrl-2 = <&sdmmc2_b4_sleep_pins_a &sdmmc2_d47_sleep_pins_b>;
396 vmmc-supply = <&v3v3>;
410 pinctrl-names = "default";
411 pinctrl-0 = <&spi2_pins_c>;
412 cs-gpios = <&gpiof 12 GPIO_ACTIVE_LOW>;
417 pinctrl-names = "default";
418 pinctrl-0 = <&spi4_pins_a>;
419 cs-gpios = <&gpiof 4 GPIO_ACTIVE_LOW>;
423 compatible = "shineworld,lh133k", "panel-mipi-dbi-spi";
425 power-supply = <&v3v3>;
427 backlight = <&backlight>;
428 dc-gpios = <&gpiod 10 GPIO_ACTIVE_HIGH>;
429 reset-gpios = <&gpioh 4 GPIO_ACTIVE_HIGH>;
431 spi-max-frequency = <32000000>;
443 clock-frequency = <0>;
453 pinctrl-names = "default";
454 pinctrl-0 = <&spi5_pins_a>;
456 /* spare dmas for other usage */
457 /delete-property/dmas;
458 /delete-property/dma-names;
460 cs-gpios = <&gpiod 13 GPIO_ACTIVE_LOW>;
465 compatible = "microchip,ksz9563";
468 reset-gpios = <&gpiog 0 GPIO_ACTIVE_LOW>;
469 spi-max-frequency = <44000000>;
471 interrupt-parent = <&gpioa>;
472 interrupts = <6 IRQ_TYPE_EDGE_RISING>;
475 #address-cells = <1>;
482 port_uplink: port@1 {
491 ethernet = <ðernet0>;
493 phy-mode = "rgmii-id";
494 rx-internal-delay-ps = <2000>;
495 tx-internal-delay-ps = <2000>;
507 /* spare dmas for other usage */
508 /delete-property/dmas;
509 /delete-property/dma-names;
519 /* spare dmas for other usage */
520 /delete-property/dmas;
521 /delete-property/dma-names;
531 /* spare dmas for other usage */
532 /delete-property/dmas;
533 /delete-property/dma-names;
545 pinctrl-names = "default";
546 pinctrl-0 = <&uart4_pins_a>;
548 /* spare dmas for other usage */
549 /delete-property/dmas;
550 /delete-property/dma-names;
559 pinctrl-names = "default";
560 pinctrl-0 = <&usart3_pins_f>;
562 /* spare dmas for other usage */
563 /delete-property/dmas;
564 /delete-property/dma-names;
570 phys = <&usbphyc_port0>;
577 phys = <&usbphyc_port1 0>;
578 phy-names = "usb2-phy";
580 vusb_d-supply = <&vdd_usb>;
581 vusb_a-supply = <®18>;
583 dr_mode = "peripheral";
593 phy-supply = <&vdd_usb>;
597 phy-supply = <&vdd_usb>;
601 regulator-min-microvolt = <2500000>;
602 regulator-max-microvolt = <2500000>;
603 vdda-supply = <&vdda>;