mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00

The Linux Automation GmbH FairyTux2 is a small Linux device based on an Octavo Systems OSD32MP153c SiP, that occupies just two slots on a DIN rail. The device contains an eMMC for storage, a gigabit Ethernet connection, a CAN bus and a RS485 transceiver. Add support for the lxa-fairytux2 generation 1 and 2 boards based on the STM32MP153c. Signed-off-by: Leonard Göhrs <l.goehrs@pengutronix.de> Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> Signed-off-by: Alexandre Torgue <alexandre.torgue@foss.st.com>
103 lines
2.4 KiB
Text
103 lines
2.4 KiB
Text
// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-3-Clause)
|
|
/*
|
|
* Copyright (C) 2024 Leonard Göhrs, Pengutronix
|
|
*/
|
|
|
|
/dts-v1/;
|
|
|
|
#include "stm32mp153c-lxa-fairytux2.dtsi"
|
|
|
|
/ {
|
|
model = "Linux Automation GmbH FairyTux 2 Gen 1";
|
|
compatible = "lxa,stm32mp153c-fairytux2-gen1", "oct,stm32mp153x-osd32", "st,stm32mp153";
|
|
|
|
gpio-keys {
|
|
compatible = "gpio-keys";
|
|
|
|
button-left {
|
|
label = "USER_BTN1";
|
|
linux,code = <KEY_ESC>;
|
|
gpios = <&gpioi 11 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
|
|
};
|
|
|
|
button-right {
|
|
label = "USER_BTN2";
|
|
linux,code = <KEY_HOME>;
|
|
gpios = <&gpioe 9 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&gpiof {
|
|
gpio-line-names = "GPIO1", "GPIO2", "", "", "", /* 0 */
|
|
"", "", "", "", "", /* 5 */
|
|
"", "", "", "", "", /* 10 */
|
|
""; /* 15 */
|
|
};
|
|
|
|
&gpioh {
|
|
gpio-line-names = "", "", "", "", "LCD_RESET", /* 0 */
|
|
"", "", "", "", "", /* 5 */
|
|
"", "", "", "GPIO3", "", /* 10 */
|
|
""; /* 15 */
|
|
};
|
|
|
|
&gpioi {
|
|
gpio-line-names = "", "", "", "", "", /* 0 */
|
|
"", "", "", "ETH_", "", /* 5 */
|
|
"", "USER_BTN1"; /* 10 */
|
|
};
|
|
|
|
&i2c1 {
|
|
pinctrl-names = "default", "sleep";
|
|
pinctrl-0 = <&i2c1_pins_b>;
|
|
pinctrl-1 = <&i2c1_sleep_pins_b>;
|
|
status = "okay";
|
|
|
|
io_board_gpio: gpio@20 {
|
|
compatible = "ti,tca6408";
|
|
reg = <0x20>;
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
vcc-supply = <&v3v3_hdmi>;
|
|
gpio-line-names = "LED1_GA_YK", "LED2_GA_YK", "LED1_GK_YA", "LED2_GK_YA",
|
|
"RS485_EN", "RS485_120R", "", "CAN_120R";
|
|
};
|
|
};
|
|
|
|
&led_controller_io {
|
|
/*
|
|
* led-2 and led-3 are internally connected antiparallel to one
|
|
* another inside the ethernet jack like this:
|
|
* GPIO1 ---+---|led-2|>--+--- GPIO3
|
|
* +--<|led-3|---+
|
|
* E.g. only one of the LEDs can be illuminated at a time while
|
|
* the other output must be driven low.
|
|
* This should likely be implemented using a multi color LED
|
|
* driver for antiparallel LEDs.
|
|
*/
|
|
led-2 {
|
|
color = <LED_COLOR_ID_GREEN>;
|
|
function = LED_FUNCTION_ACTIVITY;
|
|
gpios = <&io_board_gpio 1 GPIO_ACTIVE_HIGH>;
|
|
};
|
|
|
|
led-3 {
|
|
color = <LED_COLOR_ID_ORANGE>;
|
|
function = LED_FUNCTION_ACTIVITY;
|
|
gpios = <&io_board_gpio 3 GPIO_ACTIVE_HIGH>;
|
|
};
|
|
};
|
|
|
|
&usart3 {
|
|
/*
|
|
* On Gen 1 FairyTux 2 only RTS can be used and not CTS as well,
|
|
* Because pins PD11 (CTS) and PI11 (USER_BTN1) share the same
|
|
* interrupt and only one of them can be used at a time.
|
|
*/
|
|
rts-gpios = <&gpiod 12 GPIO_ACTIVE_LOW>;
|
|
};
|
|
|
|
&usbotg_hs {
|
|
dr_mode = "peripheral";
|
|
};
|