xref: /freebsd/sys/contrib/device-tree/src/h8300/h8s_sim.dts (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0
2*c66ec88fSEmmanuel Vadot/dts-v1/;
3*c66ec88fSEmmanuel Vadot/ {
4*c66ec88fSEmmanuel Vadot	compatible = "gnu,gdbsim";
5*c66ec88fSEmmanuel Vadot	#address-cells = <1>;
6*c66ec88fSEmmanuel Vadot	#size-cells = <1>;
7*c66ec88fSEmmanuel Vadot	interrupt-parent = <&h8intc>;
8*c66ec88fSEmmanuel Vadot
9*c66ec88fSEmmanuel Vadot	chosen {
10*c66ec88fSEmmanuel Vadot		bootargs = "earlyprintk=h8300-sim";
11*c66ec88fSEmmanuel Vadot		stdout-path = <&sci0>;
12*c66ec88fSEmmanuel Vadot	};
13*c66ec88fSEmmanuel Vadot	aliases {
14*c66ec88fSEmmanuel Vadot		serial0 = &sci0;
15*c66ec88fSEmmanuel Vadot		serial1 = &sci1;
16*c66ec88fSEmmanuel Vadot	};
17*c66ec88fSEmmanuel Vadot
18*c66ec88fSEmmanuel Vadot	xclk: oscillator {
19*c66ec88fSEmmanuel Vadot		#clock-cells = <0>;
20*c66ec88fSEmmanuel Vadot		compatible = "fixed-clock";
21*c66ec88fSEmmanuel Vadot		clock-frequency = <33333333>;
22*c66ec88fSEmmanuel Vadot		clock-output-names = "xtal";
23*c66ec88fSEmmanuel Vadot	};
24*c66ec88fSEmmanuel Vadot	pllclk: pllclk {
25*c66ec88fSEmmanuel Vadot		compatible = "renesas,h8s2678-pll-clock";
26*c66ec88fSEmmanuel Vadot		clocks = <&xclk>;
27*c66ec88fSEmmanuel Vadot		#clock-cells = <0>;
28*c66ec88fSEmmanuel Vadot		reg = <0xfee03b 2>, <0xfee045 2>;
29*c66ec88fSEmmanuel Vadot	};
30*c66ec88fSEmmanuel Vadot	core_clk: core_clk {
31*c66ec88fSEmmanuel Vadot		compatible = "renesas,h8300-div-clock";
32*c66ec88fSEmmanuel Vadot		clocks = <&pllclk>;
33*c66ec88fSEmmanuel Vadot		#clock-cells = <0>;
34*c66ec88fSEmmanuel Vadot		reg = <0xfee03b 2>;
35*c66ec88fSEmmanuel Vadot		renesas,width = <3>;
36*c66ec88fSEmmanuel Vadot	};
37*c66ec88fSEmmanuel Vadot	fclk: fclk {
38*c66ec88fSEmmanuel Vadot		compatible = "fixed-factor-clock";
39*c66ec88fSEmmanuel Vadot		clocks = <&core_clk>;
40*c66ec88fSEmmanuel Vadot		#clock-cells = <0>;
41*c66ec88fSEmmanuel Vadot		clock-div = <1>;
42*c66ec88fSEmmanuel Vadot		clock-mult = <1>;
43*c66ec88fSEmmanuel Vadot	};
44*c66ec88fSEmmanuel Vadot
45*c66ec88fSEmmanuel Vadot	memory@400000 {
46*c66ec88fSEmmanuel Vadot		device_type = "memory";
47*c66ec88fSEmmanuel Vadot		reg = <0x400000 0x800000>;
48*c66ec88fSEmmanuel Vadot	};
49*c66ec88fSEmmanuel Vadot
50*c66ec88fSEmmanuel Vadot	cpus {
51*c66ec88fSEmmanuel Vadot		#address-cells = <1>;
52*c66ec88fSEmmanuel Vadot		#size-cells = <0>;
53*c66ec88fSEmmanuel Vadot		cpu@0 {
54*c66ec88fSEmmanuel Vadot			compatible = "renesas,h8300";
55*c66ec88fSEmmanuel Vadot			clock-frequency = <33333333>;
56*c66ec88fSEmmanuel Vadot		};
57*c66ec88fSEmmanuel Vadot	};
58*c66ec88fSEmmanuel Vadot
59*c66ec88fSEmmanuel Vadot	h8intc: interrupt-controller@fffe00 {
60*c66ec88fSEmmanuel Vadot		compatible = "renesas,h8s-intc", "renesas,h8300-intc";
61*c66ec88fSEmmanuel Vadot		#interrupt-cells = <2>;
62*c66ec88fSEmmanuel Vadot		interrupt-controller;
63*c66ec88fSEmmanuel Vadot		reg = <0xfffe00 24>;
64*c66ec88fSEmmanuel Vadot	};
65*c66ec88fSEmmanuel Vadot
66*c66ec88fSEmmanuel Vadot	bsc: memory-controller@fffec0 {
67*c66ec88fSEmmanuel Vadot		compatible = "renesas,h8s-bsc", "renesas,h8300-bsc";
68*c66ec88fSEmmanuel Vadot		reg = <0xfffec0 24>;
69*c66ec88fSEmmanuel Vadot	};
70*c66ec88fSEmmanuel Vadot
71*c66ec88fSEmmanuel Vadot	tpu: timer@ffffe0 {
72*c66ec88fSEmmanuel Vadot		compatible = "renesas,tpu";
73*c66ec88fSEmmanuel Vadot		reg = <0xffffe0 16>, <0xfffff0 12>;
74*c66ec88fSEmmanuel Vadot		clocks = <&fclk>;
75*c66ec88fSEmmanuel Vadot		clock-names = "fck";
76*c66ec88fSEmmanuel Vadot	};
77*c66ec88fSEmmanuel Vadot
78*c66ec88fSEmmanuel Vadot	timer8: timer@ffffb0 {
79*c66ec88fSEmmanuel Vadot		compatible = "renesas,8bit-timer";
80*c66ec88fSEmmanuel Vadot		reg = <0xffffb0 10>;
81*c66ec88fSEmmanuel Vadot		interrupts = <72 0>;
82*c66ec88fSEmmanuel Vadot		clocks = <&fclk>;
83*c66ec88fSEmmanuel Vadot		clock-names = "fck";
84*c66ec88fSEmmanuel Vadot	};
85*c66ec88fSEmmanuel Vadot
86*c66ec88fSEmmanuel Vadot	sci0: serial@ffff78 {
87*c66ec88fSEmmanuel Vadot		compatible = "renesas,sci";
88*c66ec88fSEmmanuel Vadot		reg = <0xffff78 8>;
89*c66ec88fSEmmanuel Vadot		interrupts = <88 0>, <89 0>, <90 0>, <91 0>;
90*c66ec88fSEmmanuel Vadot		clocks = <&fclk>;
91*c66ec88fSEmmanuel Vadot		clock-names = "fck";
92*c66ec88fSEmmanuel Vadot	};
93*c66ec88fSEmmanuel Vadot	sci1: serial@ffff80 {
94*c66ec88fSEmmanuel Vadot		compatible = "renesas,sci";
95*c66ec88fSEmmanuel Vadot		reg = <0xffff80 8>;
96*c66ec88fSEmmanuel Vadot		interrupts = <92 0>, <93 0>, <94 0>, <95 0>;
97*c66ec88fSEmmanuel Vadot		clocks = <&fclk>;
98*c66ec88fSEmmanuel Vadot		clock-names = "fck";
99*c66ec88fSEmmanuel Vadot	};
100*c66ec88fSEmmanuel Vadot};
101