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 {
19*96f7071dSGeert Uytterhoeven		ethernet0 = &avb0;
207bb9e424SGeert Uytterhoeven		serial0 = &hscif0;
217bb9e424SGeert Uytterhoeven	};
227bb9e424SGeert Uytterhoeven
237bb9e424SGeert Uytterhoeven	chosen {
247bb9e424SGeert Uytterhoeven		stdout-path = "serial0:921600n8";
257bb9e424SGeert Uytterhoeven	};
267bb9e424SGeert Uytterhoeven
276672f840SGeert Uytterhoeven	keys {
286672f840SGeert Uytterhoeven		compatible = "gpio-keys";
296672f840SGeert Uytterhoeven
306672f840SGeert Uytterhoeven		pinctrl-0 = <&keys_pins>;
316672f840SGeert Uytterhoeven		pinctrl-names = "default";
326672f840SGeert Uytterhoeven
336672f840SGeert Uytterhoeven		key-1 {
346672f840SGeert Uytterhoeven			gpios = <&gpio5 0 GPIO_ACTIVE_LOW>;
356672f840SGeert Uytterhoeven			linux,code = <KEY_1>;
366672f840SGeert Uytterhoeven			label = "SW47";
376672f840SGeert Uytterhoeven			wakeup-source;
386672f840SGeert Uytterhoeven			debounce-interval = <20>;
396672f840SGeert Uytterhoeven		};
406672f840SGeert Uytterhoeven
416672f840SGeert Uytterhoeven		key-2 {
426672f840SGeert Uytterhoeven			gpios = <&gpio5 1 GPIO_ACTIVE_LOW>;
436672f840SGeert Uytterhoeven			linux,code = <KEY_2>;
446672f840SGeert Uytterhoeven			label = "SW48";
456672f840SGeert Uytterhoeven			wakeup-source;
466672f840SGeert Uytterhoeven			debounce-interval = <20>;
476672f840SGeert Uytterhoeven		};
486672f840SGeert Uytterhoeven
496672f840SGeert Uytterhoeven		key-3 {
506672f840SGeert Uytterhoeven			gpios = <&gpio5 2 GPIO_ACTIVE_LOW>;
516672f840SGeert Uytterhoeven			linux,code = <KEY_3>;
526672f840SGeert Uytterhoeven			label = "SW49";
536672f840SGeert Uytterhoeven			wakeup-source;
546672f840SGeert Uytterhoeven			debounce-interval = <20>;
556672f840SGeert Uytterhoeven		};
566672f840SGeert Uytterhoeven	};
576672f840SGeert Uytterhoeven
5860dc0e87SGeert Uytterhoeven	leds {
5960dc0e87SGeert Uytterhoeven		compatible = "gpio-leds";
6060dc0e87SGeert Uytterhoeven
6160dc0e87SGeert Uytterhoeven		led-1 {
6260dc0e87SGeert Uytterhoeven			gpios = <&gpio7 0 GPIO_ACTIVE_HIGH>;
6360dc0e87SGeert Uytterhoeven			color = <LED_COLOR_ID_GREEN>;
6460dc0e87SGeert Uytterhoeven			function = LED_FUNCTION_INDICATOR;
6560dc0e87SGeert Uytterhoeven			function-enumerator = <1>;
6660dc0e87SGeert Uytterhoeven		};
6760dc0e87SGeert Uytterhoeven
6860dc0e87SGeert Uytterhoeven		led-2 {
6960dc0e87SGeert Uytterhoeven			gpios = <&gpio7 1 GPIO_ACTIVE_HIGH>;
7060dc0e87SGeert Uytterhoeven			color = <LED_COLOR_ID_GREEN>;
7160dc0e87SGeert Uytterhoeven			function = LED_FUNCTION_INDICATOR;
7260dc0e87SGeert Uytterhoeven			function-enumerator = <2>;
7360dc0e87SGeert Uytterhoeven		};
7460dc0e87SGeert Uytterhoeven
7560dc0e87SGeert Uytterhoeven		led-3 {
7660dc0e87SGeert Uytterhoeven			gpios = <&gpio7 2 GPIO_ACTIVE_HIGH>;
7760dc0e87SGeert Uytterhoeven			color = <LED_COLOR_ID_GREEN>;
7860dc0e87SGeert Uytterhoeven			function = LED_FUNCTION_INDICATOR;
7960dc0e87SGeert Uytterhoeven			function-enumerator = <3>;
8060dc0e87SGeert Uytterhoeven		};
8160dc0e87SGeert Uytterhoeven	};
8260dc0e87SGeert Uytterhoeven
83e4d755cfSYoshihiro Shimoda	memory@48000000 {
84e4d755cfSYoshihiro Shimoda		device_type = "memory";
85e4d755cfSYoshihiro Shimoda		/* first 128MB is reserved for secure area. */
86e4d755cfSYoshihiro Shimoda		reg = <0x0 0x48000000 0x0 0x78000000>;
87e4d755cfSYoshihiro Shimoda	};
88e4d755cfSYoshihiro Shimoda
89e4d755cfSYoshihiro Shimoda	memory@480000000 {
90e4d755cfSYoshihiro Shimoda		device_type = "memory";
91e4d755cfSYoshihiro Shimoda		reg = <0x4 0x80000000 0x0 0x80000000>;
92e4d755cfSYoshihiro Shimoda	};
93e4d755cfSYoshihiro Shimoda
94e4d755cfSYoshihiro Shimoda	memory@600000000 {
95e4d755cfSYoshihiro Shimoda		device_type = "memory";
96e4d755cfSYoshihiro Shimoda		reg = <0x6 0x00000000 0x1 0x00000000>;
97e4d755cfSYoshihiro Shimoda	};
98e4d755cfSYoshihiro Shimoda};
99e4d755cfSYoshihiro Shimoda
100*96f7071dSGeert Uytterhoeven&avb0 {
101*96f7071dSGeert Uytterhoeven	pinctrl-0 = <&avb0_pins>;
102*96f7071dSGeert Uytterhoeven	pinctrl-names = "default";
103*96f7071dSGeert Uytterhoeven	phy-handle = <&phy0>;
104*96f7071dSGeert Uytterhoeven	tx-internal-delay-ps = <2000>;
105*96f7071dSGeert Uytterhoeven	status = "okay";
106*96f7071dSGeert Uytterhoeven
107*96f7071dSGeert Uytterhoeven	phy0: ethernet-phy@0 {
108*96f7071dSGeert Uytterhoeven		compatible = "ethernet-phy-id0022.1622",
109*96f7071dSGeert Uytterhoeven			     "ethernet-phy-ieee802.3-c22";
110*96f7071dSGeert Uytterhoeven		rxc-skew-ps = <1500>;
111*96f7071dSGeert Uytterhoeven		reg = <0>;
112*96f7071dSGeert Uytterhoeven		interrupt-parent = <&gpio7>;
113*96f7071dSGeert Uytterhoeven		interrupts = <5 IRQ_TYPE_LEVEL_LOW>;
114*96f7071dSGeert Uytterhoeven		reset-gpios = <&gpio7 10 GPIO_ACTIVE_LOW>;
115*96f7071dSGeert Uytterhoeven	};
116*96f7071dSGeert Uytterhoeven};
117*96f7071dSGeert Uytterhoeven
118e4d755cfSYoshihiro Shimoda&extal_clk {
119e4d755cfSYoshihiro Shimoda	clock-frequency = <16666666>;
120e4d755cfSYoshihiro Shimoda};
121e4d755cfSYoshihiro Shimoda
122e4d755cfSYoshihiro Shimoda&extalr_clk {
123e4d755cfSYoshihiro Shimoda	clock-frequency = <32768>;
124e4d755cfSYoshihiro Shimoda};
125e4d755cfSYoshihiro Shimoda
126e4d755cfSYoshihiro Shimoda&hscif0 {
127e4d755cfSYoshihiro Shimoda	status = "okay";
128e4d755cfSYoshihiro Shimoda};
129e4d755cfSYoshihiro Shimoda
13077643815SGeert Uytterhoeven&i2c0 {
13177643815SGeert Uytterhoeven	pinctrl-0 = <&i2c0_pins>;
13277643815SGeert Uytterhoeven	pinctrl-names = "default";
13377643815SGeert Uytterhoeven
13477643815SGeert Uytterhoeven	status = "okay";
13577643815SGeert Uytterhoeven	clock-frequency = <400000>;
13677643815SGeert Uytterhoeven
13777643815SGeert Uytterhoeven	eeprom@50 {
13877643815SGeert Uytterhoeven		compatible = "rohm,br24g01", "atmel,24c01";
13977643815SGeert Uytterhoeven		label = "cpu-board";
14077643815SGeert Uytterhoeven		reg = <0x50>;
14177643815SGeert Uytterhoeven		pagesize = <8>;
14277643815SGeert Uytterhoeven	};
14377643815SGeert Uytterhoeven};
14477643815SGeert Uytterhoeven
1457a8d590dSGeert Uytterhoeven&pfc {
1467a8d590dSGeert Uytterhoeven	pinctrl-0 = <&scif_clk_pins>;
1477a8d590dSGeert Uytterhoeven	pinctrl-names = "default";
1487a8d590dSGeert Uytterhoeven
149*96f7071dSGeert Uytterhoeven	avb0_pins: avb0 {
150*96f7071dSGeert Uytterhoeven		mux {
151*96f7071dSGeert Uytterhoeven			groups = "avb0_link", "avb0_mdio", "avb0_rgmii",
152*96f7071dSGeert Uytterhoeven				 "avb0_txcrefclk";
153*96f7071dSGeert Uytterhoeven			function = "avb0";
154*96f7071dSGeert Uytterhoeven		};
155*96f7071dSGeert Uytterhoeven
156*96f7071dSGeert Uytterhoeven		pins_mdio {
157*96f7071dSGeert Uytterhoeven			groups = "avb0_mdio";
158*96f7071dSGeert Uytterhoeven			drive-strength = <21>;
159*96f7071dSGeert Uytterhoeven		};
160*96f7071dSGeert Uytterhoeven
161*96f7071dSGeert Uytterhoeven		pins_mii {
162*96f7071dSGeert Uytterhoeven			groups = "avb0_rgmii";
163*96f7071dSGeert Uytterhoeven			drive-strength = <21>;
164*96f7071dSGeert Uytterhoeven		};
165*96f7071dSGeert Uytterhoeven
166*96f7071dSGeert Uytterhoeven	};
1677a8d590dSGeert Uytterhoeven	hscif0_pins: hscif0 {
1687a8d590dSGeert Uytterhoeven		groups = "hscif0_data";
1697a8d590dSGeert Uytterhoeven		function = "hscif0";
1707a8d590dSGeert Uytterhoeven	};
1717a8d590dSGeert Uytterhoeven
17277643815SGeert Uytterhoeven	i2c0_pins: i2c0 {
17377643815SGeert Uytterhoeven		groups = "i2c0";
17477643815SGeert Uytterhoeven		function = "i2c0";
17577643815SGeert Uytterhoeven	};
17677643815SGeert Uytterhoeven
1776672f840SGeert Uytterhoeven	keys_pins: keys {
1786672f840SGeert Uytterhoeven		pins = "GP_5_0", "GP_5_1", "GP_5_2";
1796672f840SGeert Uytterhoeven		bias-pull-up;
1806672f840SGeert Uytterhoeven	};
1816672f840SGeert Uytterhoeven
1827a8d590dSGeert Uytterhoeven	scif_clk_pins: scif_clk {
1837a8d590dSGeert Uytterhoeven		groups = "scif_clk";
1847a8d590dSGeert Uytterhoeven		function = "scif_clk";
1857a8d590dSGeert Uytterhoeven	};
1867a8d590dSGeert Uytterhoeven};
1877a8d590dSGeert Uytterhoeven
188e4d755cfSYoshihiro Shimoda&scif_clk {
189e4d755cfSYoshihiro Shimoda	clock-frequency = <24000000>;
190e4d755cfSYoshihiro Shimoda};
191495e36c3SGeert Uytterhoeven
192495e36c3SGeert Uytterhoeven&rwdt {
193495e36c3SGeert Uytterhoeven	timeout-sec = <60>;
194495e36c3SGeert Uytterhoeven	status = "okay";
195495e36c3SGeert Uytterhoeven};
196