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