xref: /openbmc/u-boot/arch/mips/dts/mscc,serval.dtsi (revision d01806a8)
1*dda17e39SHoratiu Vultur// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2*dda17e39SHoratiu Vultur/*
3*dda17e39SHoratiu Vultur * Copyright (c) 2018 Microsemi Corporation
4*dda17e39SHoratiu Vultur */
5*dda17e39SHoratiu Vultur
6*dda17e39SHoratiu Vultur/ {
7*dda17e39SHoratiu Vultur	#address-cells = <1>;
8*dda17e39SHoratiu Vultur	#size-cells = <1>;
9*dda17e39SHoratiu Vultur	compatible = "mscc,serval";
10*dda17e39SHoratiu Vultur
11*dda17e39SHoratiu Vultur	cpus {
12*dda17e39SHoratiu Vultur		#address-cells = <1>;
13*dda17e39SHoratiu Vultur		#size-cells = <0>;
14*dda17e39SHoratiu Vultur
15*dda17e39SHoratiu Vultur		cpu@0 {
16*dda17e39SHoratiu Vultur			compatible = "mips,mips24KEc";
17*dda17e39SHoratiu Vultur			device_type = "cpu";
18*dda17e39SHoratiu Vultur			clocks = <&cpu_clk>;
19*dda17e39SHoratiu Vultur			reg = <0>;
20*dda17e39SHoratiu Vultur		};
21*dda17e39SHoratiu Vultur	};
22*dda17e39SHoratiu Vultur
23*dda17e39SHoratiu Vultur	aliases {
24*dda17e39SHoratiu Vultur		serial0 = &uart0;
25*dda17e39SHoratiu Vultur	};
26*dda17e39SHoratiu Vultur
27*dda17e39SHoratiu Vultur	cpuintc: interrupt-controller@0 {
28*dda17e39SHoratiu Vultur		#address-cells = <0>;
29*dda17e39SHoratiu Vultur		#interrupt-cells = <1>;
30*dda17e39SHoratiu Vultur		interrupt-controller;
31*dda17e39SHoratiu Vultur		compatible = "mti,cpu-interrupt-controller";
32*dda17e39SHoratiu Vultur	};
33*dda17e39SHoratiu Vultur
34*dda17e39SHoratiu Vultur	cpu_clk: cpu-clock {
35*dda17e39SHoratiu Vultur		compatible = "fixed-clock";
36*dda17e39SHoratiu Vultur		#clock-cells = <0>;
37*dda17e39SHoratiu Vultur		clock-frequency = <416666666>;
38*dda17e39SHoratiu Vultur	};
39*dda17e39SHoratiu Vultur
40*dda17e39SHoratiu Vultur	sys_clk: sys-clk {
41*dda17e39SHoratiu Vultur		compatible = "fixed-clock";
42*dda17e39SHoratiu Vultur		#clock-cells = <0>;
43*dda17e39SHoratiu Vultur		clock-frequency = <208333333>;
44*dda17e39SHoratiu Vultur	};
45*dda17e39SHoratiu Vultur
46*dda17e39SHoratiu Vultur	ahb_clk: ahb-clk {
47*dda17e39SHoratiu Vultur		compatible = "fixed-clock";
48*dda17e39SHoratiu Vultur		#clock-cells = <0>;
49*dda17e39SHoratiu Vultur		clock-frequency = <208333333>;
50*dda17e39SHoratiu Vultur	};
51*dda17e39SHoratiu Vultur
52*dda17e39SHoratiu Vultur	ahb {
53*dda17e39SHoratiu Vultur		compatible = "simple-bus";
54*dda17e39SHoratiu Vultur		#address-cells = <1>;
55*dda17e39SHoratiu Vultur		#size-cells = <1>;
56*dda17e39SHoratiu Vultur		ranges = <0 0x70000000 0x2000000>;
57*dda17e39SHoratiu Vultur
58*dda17e39SHoratiu Vultur		interrupt-parent = <&intc>;
59*dda17e39SHoratiu Vultur
60*dda17e39SHoratiu Vultur		cpu_ctrl: syscon@0 {
61*dda17e39SHoratiu Vultur			compatible = "mscc,serval-cpu-syscon", "syscon";
62*dda17e39SHoratiu Vultur			reg = <0x0 0x2c>;
63*dda17e39SHoratiu Vultur		};
64*dda17e39SHoratiu Vultur
65*dda17e39SHoratiu Vultur		intc: interrupt-controller@70 {
66*dda17e39SHoratiu Vultur			compatible = "mscc,serval-icpu-intr";
67*dda17e39SHoratiu Vultur			reg = <0x70 0x70>;
68*dda17e39SHoratiu Vultur			#interrupt-cells = <1>;
69*dda17e39SHoratiu Vultur			interrupt-controller;
70*dda17e39SHoratiu Vultur			interrupt-parent = <&cpuintc>;
71*dda17e39SHoratiu Vultur			interrupts = <2>;
72*dda17e39SHoratiu Vultur		};
73*dda17e39SHoratiu Vultur
74*dda17e39SHoratiu Vultur		uart0: serial@100000 {
75*dda17e39SHoratiu Vultur			pinctrl-0 = <&uart_pins>;
76*dda17e39SHoratiu Vultur			pinctrl-names = "default";
77*dda17e39SHoratiu Vultur			compatible = "ns16550a";
78*dda17e39SHoratiu Vultur			reg = <0x100000 0x20>;
79*dda17e39SHoratiu Vultur			interrupts = <6>;
80*dda17e39SHoratiu Vultur			clocks = <&ahb_clk>;
81*dda17e39SHoratiu Vultur			reg-io-width = <4>;
82*dda17e39SHoratiu Vultur			reg-shift = <2>;
83*dda17e39SHoratiu Vultur
84*dda17e39SHoratiu Vultur			status = "disabled";
85*dda17e39SHoratiu Vultur		};
86*dda17e39SHoratiu Vultur
87*dda17e39SHoratiu Vultur		uart2: serial@100800 {
88*dda17e39SHoratiu Vultur			pinctrl-0 = <&uart2_pins>;
89*dda17e39SHoratiu Vultur			pinctrl-names = "default";
90*dda17e39SHoratiu Vultur			compatible = "ns16550a";
91*dda17e39SHoratiu Vultur			reg = <0x100800 0x20>;
92*dda17e39SHoratiu Vultur			interrupts = <7>;
93*dda17e39SHoratiu Vultur			clocks = <&ahb_clk>;
94*dda17e39SHoratiu Vultur			reg-io-width = <4>;
95*dda17e39SHoratiu Vultur			reg-shift = <2>;
96*dda17e39SHoratiu Vultur
97*dda17e39SHoratiu Vultur			status = "disabled";
98*dda17e39SHoratiu Vultur		};
99*dda17e39SHoratiu Vultur
100*dda17e39SHoratiu Vultur		reset@1070008 {
101*dda17e39SHoratiu Vultur			compatible = "mscc,serval-chip-reset";
102*dda17e39SHoratiu Vultur			reg = <0x1070008 0x4>;
103*dda17e39SHoratiu Vultur		};
104*dda17e39SHoratiu Vultur
105*dda17e39SHoratiu Vultur		gpio: pinctrl@1070034 {
106*dda17e39SHoratiu Vultur			compatible = "mscc,serval-pinctrl";
107*dda17e39SHoratiu Vultur			reg = <0x1070034 0x68>;
108*dda17e39SHoratiu Vultur			gpio-controller;
109*dda17e39SHoratiu Vultur			#gpio-cells = <2>;
110*dda17e39SHoratiu Vultur			gpio-ranges = <&gpio 0 0 22>;
111*dda17e39SHoratiu Vultur
112*dda17e39SHoratiu Vultur			sgpio_pins: sgpio-pins {
113*dda17e39SHoratiu Vultur				pins = "GPIO_0", "GPIO_2", "GPIO_3", "GPIO_1";
114*dda17e39SHoratiu Vultur				function = "sio";
115*dda17e39SHoratiu Vultur			};
116*dda17e39SHoratiu Vultur
117*dda17e39SHoratiu Vultur			uart_pins: uart-pins {
118*dda17e39SHoratiu Vultur				pins = "GPIO_26", "GPIO_27";
119*dda17e39SHoratiu Vultur				function = "uart";
120*dda17e39SHoratiu Vultur			};
121*dda17e39SHoratiu Vultur
122*dda17e39SHoratiu Vultur			uart2_pins: uart2-pins {
123*dda17e39SHoratiu Vultur				pins = "GPIO_13", "GPIO_14";
124*dda17e39SHoratiu Vultur				function = "uart2";
125*dda17e39SHoratiu Vultur			};
126*dda17e39SHoratiu Vultur		};
127*dda17e39SHoratiu Vultur
128*dda17e39SHoratiu Vultur		spi0: spi-bitbang {
129*dda17e39SHoratiu Vultur			compatible = "mscc,luton-bb-spi";
130*dda17e39SHoratiu Vultur			status = "okay";
131*dda17e39SHoratiu Vultur			reg = <0x50 0x4>;
132*dda17e39SHoratiu Vultur			num-chipselects = <1>;
133*dda17e39SHoratiu Vultur			#address-cells = <1>;
134*dda17e39SHoratiu Vultur			#size-cells = <0>;
135*dda17e39SHoratiu Vultur		};
136*dda17e39SHoratiu Vultur
137*dda17e39SHoratiu Vultur		sgpio: gpio@10700b4 {
138*dda17e39SHoratiu Vultur			compatible = "mscc,luton-sgpio";
139*dda17e39SHoratiu Vultur			status = "disabled";
140*dda17e39SHoratiu Vultur			clocks = <&sys_clk>;
141*dda17e39SHoratiu Vultur			pinctrl-0 = <&sgpio_pins>;
142*dda17e39SHoratiu Vultur			pinctrl-names = "default";
143*dda17e39SHoratiu Vultur			reg = <0x10700b4 0x100>;
144*dda17e39SHoratiu Vultur			gpio-controller;
145*dda17e39SHoratiu Vultur			#gpio-cells = <2>;
146*dda17e39SHoratiu Vultur			gpio-ranges = <&sgpio 0 0 64>;
147*dda17e39SHoratiu Vultur		};
148*dda17e39SHoratiu Vultur	};
149*dda17e39SHoratiu Vultur};
150