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