1e4d755cfSYoshihiro Shimoda// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2e4d755cfSYoshihiro Shimoda/*
3e4d755cfSYoshihiro Shimoda * Device Tree Source for the White Hawk CPU board
4e4d755cfSYoshihiro Shimoda *
5e4d755cfSYoshihiro Shimoda * Copyright (C) 2022 Renesas Electronics Corp.
6e4d755cfSYoshihiro Shimoda */
7e4d755cfSYoshihiro Shimoda
8e4d755cfSYoshihiro Shimoda#include "r8a779g0.dtsi"
9e4d755cfSYoshihiro Shimoda
1060dc0e87SGeert Uytterhoeven#include <dt-bindings/gpio/gpio.h>
116672f840SGeert Uytterhoeven#include <dt-bindings/input/input.h>
1260dc0e87SGeert Uytterhoeven#include <dt-bindings/leds/common.h>
1360dc0e87SGeert Uytterhoeven
14e4d755cfSYoshihiro Shimoda/ {
15e4d755cfSYoshihiro Shimoda	model = "Renesas White Hawk CPU board";
16e4d755cfSYoshihiro Shimoda	compatible = "renesas,white-hawk-cpu", "renesas,r8a779g0";
17e4d755cfSYoshihiro Shimoda
187bb9e424SGeert Uytterhoeven	aliases {
1996f7071dSGeert Uytterhoeven		ethernet0 = &avb0;
207bb9e424SGeert Uytterhoeven		serial0 = &hscif0;
217bb9e424SGeert Uytterhoeven	};
227bb9e424SGeert Uytterhoeven
237bb9e424SGeert Uytterhoeven	chosen {
24*f4b7dffdSKuninori Morimoto		bootargs = "ignore_loglevel rw root=/dev/nfs ip=on";
257bb9e424SGeert Uytterhoeven		stdout-path = "serial0:921600n8";
267bb9e424SGeert Uytterhoeven	};
277bb9e424SGeert Uytterhoeven
286672f840SGeert Uytterhoeven	keys {
296672f840SGeert Uytterhoeven		compatible = "gpio-keys";
306672f840SGeert Uytterhoeven
316672f840SGeert Uytterhoeven		pinctrl-0 = <&keys_pins>;
326672f840SGeert Uytterhoeven		pinctrl-names = "default";
336672f840SGeert Uytterhoeven
346672f840SGeert Uytterhoeven		key-1 {
356672f840SGeert Uytterhoeven			gpios = <&gpio5 0 GPIO_ACTIVE_LOW>;
366672f840SGeert Uytterhoeven			linux,code = <KEY_1>;
376672f840SGeert Uytterhoeven			label = "SW47";
386672f840SGeert Uytterhoeven			wakeup-source;
396672f840SGeert Uytterhoeven			debounce-interval = <20>;
406672f840SGeert Uytterhoeven		};
416672f840SGeert Uytterhoeven
426672f840SGeert Uytterhoeven		key-2 {
436672f840SGeert Uytterhoeven			gpios = <&gpio5 1 GPIO_ACTIVE_LOW>;
446672f840SGeert Uytterhoeven			linux,code = <KEY_2>;
456672f840SGeert Uytterhoeven			label = "SW48";
466672f840SGeert Uytterhoeven			wakeup-source;
476672f840SGeert Uytterhoeven			debounce-interval = <20>;
486672f840SGeert Uytterhoeven		};
496672f840SGeert Uytterhoeven
506672f840SGeert Uytterhoeven		key-3 {
516672f840SGeert Uytterhoeven			gpios = <&gpio5 2 GPIO_ACTIVE_LOW>;
526672f840SGeert Uytterhoeven			linux,code = <KEY_3>;
536672f840SGeert Uytterhoeven			label = "SW49";
546672f840SGeert Uytterhoeven			wakeup-source;
556672f840SGeert Uytterhoeven			debounce-interval = <20>;
566672f840SGeert Uytterhoeven		};
576672f840SGeert Uytterhoeven	};
586672f840SGeert Uytterhoeven
5960dc0e87SGeert Uytterhoeven	leds {
6060dc0e87SGeert Uytterhoeven		compatible = "gpio-leds";
6160dc0e87SGeert Uytterhoeven
6260dc0e87SGeert Uytterhoeven		led-1 {
6360dc0e87SGeert Uytterhoeven			gpios = <&gpio7 0 GPIO_ACTIVE_HIGH>;
6460dc0e87SGeert Uytterhoeven			color = <LED_COLOR_ID_GREEN>;
6560dc0e87SGeert Uytterhoeven			function = LED_FUNCTION_INDICATOR;
6660dc0e87SGeert Uytterhoeven			function-enumerator = <1>;
6760dc0e87SGeert Uytterhoeven		};
6860dc0e87SGeert Uytterhoeven
6960dc0e87SGeert Uytterhoeven		led-2 {
7060dc0e87SGeert Uytterhoeven			gpios = <&gpio7 1 GPIO_ACTIVE_HIGH>;
7160dc0e87SGeert Uytterhoeven			color = <LED_COLOR_ID_GREEN>;
7260dc0e87SGeert Uytterhoeven			function = LED_FUNCTION_INDICATOR;
7360dc0e87SGeert Uytterhoeven			function-enumerator = <2>;
7460dc0e87SGeert Uytterhoeven		};
7560dc0e87SGeert Uytterhoeven
7660dc0e87SGeert Uytterhoeven		led-3 {
7760dc0e87SGeert Uytterhoeven			gpios = <&gpio7 2 GPIO_ACTIVE_HIGH>;
7860dc0e87SGeert Uytterhoeven			color = <LED_COLOR_ID_GREEN>;
7960dc0e87SGeert Uytterhoeven			function = LED_FUNCTION_INDICATOR;
8060dc0e87SGeert Uytterhoeven			function-enumerator = <3>;
8160dc0e87SGeert Uytterhoeven		};
8260dc0e87SGeert Uytterhoeven	};
8360dc0e87SGeert Uytterhoeven
84e4d755cfSYoshihiro Shimoda	memory@48000000 {
85e4d755cfSYoshihiro Shimoda		device_type = "memory";
86e4d755cfSYoshihiro Shimoda		/* first 128MB is reserved for secure area. */
87e4d755cfSYoshihiro Shimoda		reg = <0x0 0x48000000 0x0 0x78000000>;
88e4d755cfSYoshihiro Shimoda	};
89e4d755cfSYoshihiro Shimoda
90e4d755cfSYoshihiro Shimoda	memory@480000000 {
91e4d755cfSYoshihiro Shimoda		device_type = "memory";
92e4d755cfSYoshihiro Shimoda		reg = <0x4 0x80000000 0x0 0x80000000>;
93e4d755cfSYoshihiro Shimoda	};
94e4d755cfSYoshihiro Shimoda
95e4d755cfSYoshihiro Shimoda	memory@600000000 {
96e4d755cfSYoshihiro Shimoda		device_type = "memory";
97e4d755cfSYoshihiro Shimoda		reg = <0x6 0x00000000 0x1 0x00000000>;
98e4d755cfSYoshihiro Shimoda	};
99e4d755cfSYoshihiro Shimoda};
100e4d755cfSYoshihiro Shimoda
10196f7071dSGeert Uytterhoeven&avb0 {
10296f7071dSGeert Uytterhoeven	pinctrl-0 = <&avb0_pins>;
10396f7071dSGeert Uytterhoeven	pinctrl-names = "default";
10496f7071dSGeert Uytterhoeven	phy-handle = <&phy0>;
10596f7071dSGeert Uytterhoeven	tx-internal-delay-ps = <2000>;
10696f7071dSGeert Uytterhoeven	status = "okay";
10796f7071dSGeert Uytterhoeven
10896f7071dSGeert Uytterhoeven	phy0: ethernet-phy@0 {
10996f7071dSGeert Uytterhoeven		compatible = "ethernet-phy-id0022.1622",
11096f7071dSGeert Uytterhoeven			     "ethernet-phy-ieee802.3-c22";
11196f7071dSGeert Uytterhoeven		rxc-skew-ps = <1500>;
11296f7071dSGeert Uytterhoeven		reg = <0>;
11396f7071dSGeert Uytterhoeven		interrupt-parent = <&gpio7>;
11496f7071dSGeert Uytterhoeven		interrupts = <5 IRQ_TYPE_LEVEL_LOW>;
11596f7071dSGeert Uytterhoeven		reset-gpios = <&gpio7 10 GPIO_ACTIVE_LOW>;
11696f7071dSGeert Uytterhoeven	};
11796f7071dSGeert Uytterhoeven};
11896f7071dSGeert Uytterhoeven
119e4d755cfSYoshihiro Shimoda&extal_clk {
120e4d755cfSYoshihiro Shimoda	clock-frequency = <16666666>;
121e4d755cfSYoshihiro Shimoda};
122e4d755cfSYoshihiro Shimoda
123e4d755cfSYoshihiro Shimoda&extalr_clk {
124e4d755cfSYoshihiro Shimoda	clock-frequency = <32768>;
125e4d755cfSYoshihiro Shimoda};
126e4d755cfSYoshihiro Shimoda
127e4d755cfSYoshihiro Shimoda&hscif0 {
128e4d755cfSYoshihiro Shimoda	status = "okay";
129e4d755cfSYoshihiro Shimoda};
130e4d755cfSYoshihiro Shimoda
13177643815SGeert Uytterhoeven&i2c0 {
13277643815SGeert Uytterhoeven	pinctrl-0 = <&i2c0_pins>;
13377643815SGeert Uytterhoeven	pinctrl-names = "default";
13477643815SGeert Uytterhoeven
13577643815SGeert Uytterhoeven	status = "okay";
13677643815SGeert Uytterhoeven	clock-frequency = <400000>;
13777643815SGeert Uytterhoeven
13877643815SGeert Uytterhoeven	eeprom@50 {
13977643815SGeert Uytterhoeven		compatible = "rohm,br24g01", "atmel,24c01";
14077643815SGeert Uytterhoeven		label = "cpu-board";
14177643815SGeert Uytterhoeven		reg = <0x50>;
14277643815SGeert Uytterhoeven		pagesize = <8>;
14377643815SGeert Uytterhoeven	};
14477643815SGeert Uytterhoeven};
14577643815SGeert Uytterhoeven
1467a8d590dSGeert Uytterhoeven&pfc {
1477a8d590dSGeert Uytterhoeven	pinctrl-0 = <&scif_clk_pins>;
1487a8d590dSGeert Uytterhoeven	pinctrl-names = "default";
1497a8d590dSGeert Uytterhoeven
15096f7071dSGeert Uytterhoeven	avb0_pins: avb0 {
15196f7071dSGeert Uytterhoeven		mux {
15296f7071dSGeert Uytterhoeven			groups = "avb0_link", "avb0_mdio", "avb0_rgmii",
15396f7071dSGeert Uytterhoeven				 "avb0_txcrefclk";
15496f7071dSGeert Uytterhoeven			function = "avb0";
15596f7071dSGeert Uytterhoeven		};
15696f7071dSGeert Uytterhoeven
15796f7071dSGeert Uytterhoeven		pins_mdio {
15896f7071dSGeert Uytterhoeven			groups = "avb0_mdio";
15996f7071dSGeert Uytterhoeven			drive-strength = <21>;
16096f7071dSGeert Uytterhoeven		};
16196f7071dSGeert Uytterhoeven
16296f7071dSGeert Uytterhoeven		pins_mii {
16396f7071dSGeert Uytterhoeven			groups = "avb0_rgmii";
16496f7071dSGeert Uytterhoeven			drive-strength = <21>;
16596f7071dSGeert Uytterhoeven		};
16696f7071dSGeert Uytterhoeven
16796f7071dSGeert Uytterhoeven	};
1687a8d590dSGeert Uytterhoeven	hscif0_pins: hscif0 {
1697a8d590dSGeert Uytterhoeven		groups = "hscif0_data";
1707a8d590dSGeert Uytterhoeven		function = "hscif0";
1717a8d590dSGeert Uytterhoeven	};
1727a8d590dSGeert Uytterhoeven
17377643815SGeert Uytterhoeven	i2c0_pins: i2c0 {
17477643815SGeert Uytterhoeven		groups = "i2c0";
17577643815SGeert Uytterhoeven		function = "i2c0";
17677643815SGeert Uytterhoeven	};
17777643815SGeert Uytterhoeven
1786672f840SGeert Uytterhoeven	keys_pins: keys {
1796672f840SGeert Uytterhoeven		pins = "GP_5_0", "GP_5_1", "GP_5_2";
1806672f840SGeert Uytterhoeven		bias-pull-up;
1816672f840SGeert Uytterhoeven	};
1826672f840SGeert Uytterhoeven
1837a8d590dSGeert Uytterhoeven	scif_clk_pins: scif_clk {
1847a8d590dSGeert Uytterhoeven		groups = "scif_clk";
1857a8d590dSGeert Uytterhoeven		function = "scif_clk";
1867a8d590dSGeert Uytterhoeven	};
1877a8d590dSGeert Uytterhoeven};
1887a8d590dSGeert Uytterhoeven
189e4d755cfSYoshihiro Shimoda&scif_clk {
190e4d755cfSYoshihiro Shimoda	clock-frequency = <24000000>;
191e4d755cfSYoshihiro Shimoda};
192495e36c3SGeert Uytterhoeven
193495e36c3SGeert Uytterhoeven&rwdt {
194495e36c3SGeert Uytterhoeven	timeout-sec = <60>;
195495e36c3SGeert Uytterhoeven	status = "okay";
196495e36c3SGeert Uytterhoeven};
197