linux/arch/arm64/boot/dts/renesas/renesas-smarc2.dtsi
Biju Das 9e95446b0c arm64: dts: renesas: r9a09g047e57-smarc: Add gpio keys
RZ/G3E SMARC EVK  has 3 user buttons called USER_SW1, USER_SW2 and
USER_SW3 and SLEEP button with NMI support. Add a DT node in device tree
to instantiate the gpio-keys driver for these buttons.

The system can enter into STR state by pressing the sleep button and
wakeup from STR is done by pressing power button. The USER_SW{1,2,3}
configured as wakeup-source, so it can wakeup the system during s2idle.

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/20250702092755.70847-1-biju.das.jz@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2025-07-08 11:46:36 +02:00

108 lines
2.2 KiB
Text

// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
/*
* Device Tree Source for the RZ SMARC Carrier-II Board.
*
* Copyright (C) 2024 Renesas Electronics Corp.
*/
/*
* Please set the switch position SW_OPT_MUX.1 on the carrier board and the
* corresponding macro SW_SDIO_M2E on the board DTS:
*
* SW_SDIO_M2E:
* 0 - SMARC SDIO signal is connected to uSD1
* 1 - SMARC SDIO signal is connected to M.2 Key E connector
*
* Please set the switch position SW_GPIO_CAN_PMOD on the carrier board and the
* corresponding macro SW_GPIO8_CAN0_STB/SW_GPIO8_CAN0_STB on the board DTS:
*
* SW_GPIO8_CAN0_STB:
* 0 - Connect to GPIO8 PMOD (default)
* 1 - Connect to CAN0 transceiver STB pin
*
* SW_GPIO9_CAN1_STB:
* 0 - Connect to GPIO9 PMOD (default)
* 1 - Connect to CAN1 transceiver STB pin
*
* GPIO keys are enabled by default. Use PMOD_GPIO macros to disable them
* if needed.
*/
/ {
model = "Renesas RZ SMARC Carrier-II Board";
compatible = "renesas,smarc2-evk";
chosen {
bootargs = "ignore_loglevel";
stdout-path = "serial3:115200n8";
};
aliases {
i2c0 = &i2c0;
serial3 = &scif0;
mmc1 = &sdhi1;
};
can_transceiver0: can-phy0 {
compatible = "ti,tcan1042";
#phy-cells = <0>;
max-bitrate = <8000000>;
status = "disabled";
};
can_transceiver1: can-phy1 {
compatible = "ti,tcan1042";
#phy-cells = <0>;
max-bitrate = <8000000>;
status = "disabled";
};
keys: keys {
compatible = "gpio-keys";
key-1 {
interrupts-extended = <&pinctrl KEY_1_GPIO IRQ_TYPE_EDGE_FALLING>;
linux,code = <KEY_1>;
label = "USER_SW1";
wakeup-source;
debounce-interval = <20>;
};
key-2 {
interrupts-extended = <&pinctrl KEY_2_GPIO IRQ_TYPE_EDGE_FALLING>;
linux,code = <KEY_2>;
label = "USER_SW2";
wakeup-source;
debounce-interval = <20>;
};
key-3 {
interrupts-extended = <&pinctrl KEY_3_GPIO IRQ_TYPE_EDGE_FALLING>;
linux,code = <KEY_3>;
label = "USER_SW3";
wakeup-source;
debounce-interval = <20>;
};
};
};
&canfd {
status = "okay";
};
&i2c0 {
status = "okay";
clock-frequency = <400000>;
};
&scif0 {
status = "okay";
};
&sdhi1 {
bus-width = <4>;
sd-uhs-sdr50;
sd-uhs-sdr104;
status = "okay";
};