/*
 * Copyright (c) 2023 IoT.bzh
 *
 * SPDX-License-Identifier: Apache-2.0
 *
 */

/dts-v1/;
#include <arm/renesas/rcar/gen4/r8a779f0.dtsi>
#include "rcar_spider_s4-pinctrl.dtsi"
#include <zephyr/dt-bindings/input/input-event-codes.h>

/ {
	model = "Renesas Spider board";
	compatible = "renesas,spider-s4";

	chosen {
		zephyr,sram = &sram0;
		zephyr,console = &scif0;
		zephyr,shell-uart = &scif0;
	};

	leds {
		compatible = "gpio-leds";
		user_led: led_8 {
			gpios = <&gpio0 14 GPIO_ACTIVE_HIGH>;
			label = "User LED";
		};
	};

	gpio_keys {
		compatible = "gpio-keys";
		user_button: sw10 {
			gpios = <&gpio4 13 GPIO_ACTIVE_LOW>;
			label = "User switch";
			zephyr,code = <INPUT_KEY_0>;
		};
	};

	aliases {
		led0 = &user_led;
		sw0  = &user_button;
	};
};

&scif0 {
	pinctrl-0 = <&scif0_data_tx_default &scif0_data_rx_default>;
	pinctrl-names = "default";
	status = "okay";
};

&gpio0 {
	status = "okay";
};

&gpio4 {
	status = "okay";
};
