/*
 * Copyright (c) 2023 TOKITA Hiroshi <tokita.hiroshi@fujitsu.com>
 *
 * SPDX-License-Identifier: Apache-2.0
 */

#include <renesas/ra/ra-cm4-common.dtsi>

/ {
	soc {
		ioport6: gpio@400400c0 {
			compatible = "renesas,ra-gpio";
			reg = <0x400400c0 0x20>;
			gpio-controller;
			#gpio-cells = <2>;
			ngpios = <16>;
			status = "disabled";
		};

		ioport7: gpio@400400e0 {
			compatible = "renesas,ra-gpio";
			reg = <0x400400e0 0x20>;
			gpio-controller;
			#gpio-cells = <2>;
			ngpios = <16>;
			status = "disabled";
		};

		ioport8: gpio@40040100 {
			compatible = "renesas,ra-gpio";
			reg = <0x40040100 0x20>;
			gpio-controller;
			#gpio-cells = <2>;
			ngpios = <16>;
			status = "disabled";
		};

		ioport9: gpio@40040120 {
			compatible = "renesas,ra-gpio";
			reg = <0x40040120 0x20>;
			gpio-controller;
			#gpio-cells = <2>;
			ngpios = <16>;
			status = "disabled";
		};

		sci2: sci@40070040 {
			compatible = "renesas,ra-sci";
			reg = <0x40070040 0x20>;
			interrupts = <RA_ICU_IRQ_UNSPECIFIED 0 RA_ICU_SCI2_RXI>,
				     <RA_ICU_IRQ_UNSPECIFIED 0 RA_ICU_SCI2_TXI>,
				     <RA_ICU_IRQ_UNSPECIFIED 0 RA_ICU_SCI2_TEI>,
				     <RA_ICU_IRQ_UNSPECIFIED 0 RA_ICU_SCI2_ERI>,
				     <RA_ICU_IRQ_UNSPECIFIED 0 RA_ICU_SCI2_AM>;
			interrupt-names = "rxi", "txi", "tei", "eri", "am";
			clocks = <&cgc RA_CLOCK_SCI(2)>;
			#clock-cells = <1>;
			status = "disabled";
			uart {
				compatible = "renesas,ra-uart-sci";
				status = "disabled";
			};
		};
	};
};
