1// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-3-Clause) 2/* 3 * Copyright (C) 2024 Leonard Göhrs, Pengutronix 4 */ 5 6/dts-v1/; 7 8#include "stm32mp153c-lxa-fairytux2.dtsi" 9 10/ { 11 model = "Linux Automation GmbH FairyTux 2 Gen 2"; 12 compatible = "lxa,stm32mp153c-fairytux2-gen2", "oct,stm32mp153x-osd32", "st,stm32mp153"; 13 14 gpio-keys { 15 compatible = "gpio-keys"; 16 17 button-left { 18 label = "USER_BTN1"; 19 linux,code = <KEY_ESC>; 20 gpios = <&gpioi 10 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; 21 }; 22 23 button-right { 24 label = "USER_BTN2"; 25 linux,code = <KEY_HOME>; 26 gpios = <&gpioe 9 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; 27 }; 28 }; 29}; 30 31&gpiof { 32 gpio-line-names = "", "", "", "", "", /* 0 */ 33 "", "", "", "", "", /* 5 */ 34 "", "", "", "", "", /* 10 */ 35 ""; /* 15 */ 36}; 37 38&gpioh { 39 gpio-line-names = "", "", "", "", "LCD_RESET", /* 0 */ 40 "", "", "", "", "", /* 5 */ 41 "", "", "GPIO1", "GPIO_INT", "", /* 10 */ 42 ""; /* 15 */ 43}; 44 45&gpioi { 46 gpio-line-names = "GPIO2", "", "", "", "", /* 0 */ 47 "", "", "", "ETH_", "", /* 5 */ 48 "", "USER_BTN1"; /* 10 */ 49}; 50 51&i2c1 { 52 pinctrl-names = "default", "sleep"; 53 pinctrl-0 = <&i2c1_pins_b>; 54 pinctrl-1 = <&i2c1_sleep_pins_b>; 55 status = "okay"; 56 57 io_board_gpio: gpio@20 { 58 compatible = "ti,tca6408"; 59 reg = <0x20>; 60 gpio-controller; 61 #gpio-cells = <2>; 62 interrupt-parent = <&gpioh>; 63 interrupts = <13 IRQ_TYPE_LEVEL_LOW>; 64 interrupt-controller; 65 pinctrl-names = "default"; 66 pinctrl-0 = <&board_tca6408_pins>; 67 #interrupt-cells = <2>; 68 vcc-supply = <&v3v3_hdmi>; 69 gpio-line-names = "LED1_GA_YK", "LED2_GA_YK", "LED1_GK_YA", "USB_CC_ALERT", 70 "RS485_EN", "RS485_120R", "USB_CC_RESET", "CAN_120R"; 71 }; 72 73 usb_c: typec@28 { 74 compatible = "st,stusb1600"; 75 reg = <0x28>; 76 interrupt-parent = <&io_board_gpio>; 77 interrupts = <3 IRQ_TYPE_EDGE_FALLING>; 78 vdd-supply = <®_5v>; 79 vsys-supply = <&v3v3_hdmi>; 80 81 connector { 82 compatible = "usb-c-connector"; 83 label = "USB-C"; 84 power-role = "dual"; 85 typec-power-opmode = "default"; 86 87 port { 88 con_usbotg_hs_ep: endpoint { 89 remote-endpoint = <&usbotg_hs_ep>; 90 }; 91 }; 92 }; 93 }; 94 95 temperature-sensor@48 { 96 compatible = "national,lm75a"; 97 reg = <0x48>; 98 /* 99 * The sensor itself is powered by a voltage divider from the 100 * always-on 5V supply. 101 * The required pull-up resistors however are on v3v3_hdmi. 102 */ 103 vs-supply = <&v3v3_hdmi>; 104 }; 105 106 io_board_eeprom: eeprom@56 { 107 compatible = "atmel,24c04"; 108 reg = <0x56>; 109 vcc-supply = <&v3v3_hdmi>; 110 }; 111}; 112 113&rtc { 114 status = "okay"; 115}; 116 117&led_controller_io { 118 led-2 { 119 color = <LED_COLOR_ID_ORANGE>; 120 function = LED_FUNCTION_ACTIVITY; 121 gpios = <&io_board_gpio 1 GPIO_ACTIVE_LOW>; 122 }; 123}; 124 125&usart3 { 126 rts-gpios = <&gpiod 12 GPIO_ACTIVE_LOW>; 127 cts-gpios = <&gpiod 11 GPIO_ACTIVE_LOW>; 128}; 129 130&usbotg_hs { 131 usb-role-switch; 132 133 port { 134 usbotg_hs_ep: endpoint { 135 remote-endpoint = <&con_usbotg_hs_ep>; 136 }; 137 }; 138}; 139 140&pinctrl { 141 board_tca6408_pins: stusb1600-0 { 142 pins { 143 pinmux = <STM32_PINMUX('H', 13, GPIO)>; 144 bias-pull-up; 145 }; 146 }; 147}; 148