xref: /freebsd-src/sys/contrib/device-tree/src/mips/mscc/luton.dtsi (revision 5def4c47d4bd90b209b9b4a4ba9faec15846d8fd)
1*5def4c47SEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0 OR MIT)
2*5def4c47SEmmanuel Vadot/* Copyright (c) 2020 Microsemi Corporation */
3*5def4c47SEmmanuel Vadot
4*5def4c47SEmmanuel Vadot/ {
5*5def4c47SEmmanuel Vadot	#address-cells = <1>;
6*5def4c47SEmmanuel Vadot	#size-cells = <1>;
7*5def4c47SEmmanuel Vadot	compatible = "mscc,luton";
8*5def4c47SEmmanuel Vadot
9*5def4c47SEmmanuel Vadot	cpus {
10*5def4c47SEmmanuel Vadot		#address-cells = <1>;
11*5def4c47SEmmanuel Vadot		#size-cells = <0>;
12*5def4c47SEmmanuel Vadot
13*5def4c47SEmmanuel Vadot		cpu@0 {
14*5def4c47SEmmanuel Vadot			compatible = "mips,mips24KEc";
15*5def4c47SEmmanuel Vadot			device_type = "cpu";
16*5def4c47SEmmanuel Vadot			clocks = <&cpu_clk>;
17*5def4c47SEmmanuel Vadot			reg = <0>;
18*5def4c47SEmmanuel Vadot		};
19*5def4c47SEmmanuel Vadot	};
20*5def4c47SEmmanuel Vadot
21*5def4c47SEmmanuel Vadot	aliases {
22*5def4c47SEmmanuel Vadot		serial0 = &uart0;
23*5def4c47SEmmanuel Vadot	};
24*5def4c47SEmmanuel Vadot
25*5def4c47SEmmanuel Vadot	cpuintc: interrupt-controller {
26*5def4c47SEmmanuel Vadot		#address-cells = <0>;
27*5def4c47SEmmanuel Vadot		#interrupt-cells = <1>;
28*5def4c47SEmmanuel Vadot		interrupt-controller;
29*5def4c47SEmmanuel Vadot		compatible = "mti,cpu-interrupt-controller";
30*5def4c47SEmmanuel Vadot	};
31*5def4c47SEmmanuel Vadot
32*5def4c47SEmmanuel Vadot	cpu_clk: cpu-clock {
33*5def4c47SEmmanuel Vadot		compatible = "fixed-clock";
34*5def4c47SEmmanuel Vadot		#clock-cells = <0>;
35*5def4c47SEmmanuel Vadot		clock-frequency = <416666666>;
36*5def4c47SEmmanuel Vadot	};
37*5def4c47SEmmanuel Vadot
38*5def4c47SEmmanuel Vadot	ahb_clk: ahb-clk {
39*5def4c47SEmmanuel Vadot		compatible = "fixed-factor-clock";
40*5def4c47SEmmanuel Vadot		#clock-cells = <0>;
41*5def4c47SEmmanuel Vadot		clocks = <&cpu_clk>;
42*5def4c47SEmmanuel Vadot		clock-div = <2>;
43*5def4c47SEmmanuel Vadot		clock-mult = <1>;
44*5def4c47SEmmanuel Vadot	};
45*5def4c47SEmmanuel Vadot
46*5def4c47SEmmanuel Vadot	ahb@60000000 {
47*5def4c47SEmmanuel Vadot		compatible = "simple-bus";
48*5def4c47SEmmanuel Vadot		#address-cells = <1>;
49*5def4c47SEmmanuel Vadot		#size-cells = <1>;
50*5def4c47SEmmanuel Vadot		ranges = <0 0x60000000 0x20000000>;
51*5def4c47SEmmanuel Vadot
52*5def4c47SEmmanuel Vadot		interrupt-parent = <&intc>;
53*5def4c47SEmmanuel Vadot
54*5def4c47SEmmanuel Vadot		cpu_ctrl: syscon@10000000 {
55*5def4c47SEmmanuel Vadot			compatible = "mscc,ocelot-cpu-syscon", "syscon";
56*5def4c47SEmmanuel Vadot			reg = <0x10000000 0x2c>;
57*5def4c47SEmmanuel Vadot		};
58*5def4c47SEmmanuel Vadot
59*5def4c47SEmmanuel Vadot		intc: interrupt-controller@10000084 {
60*5def4c47SEmmanuel Vadot			compatible = "mscc,luton-icpu-intr";
61*5def4c47SEmmanuel Vadot			reg = <0x10000084 0x70>;
62*5def4c47SEmmanuel Vadot			#interrupt-cells = <1>;
63*5def4c47SEmmanuel Vadot			interrupt-controller;
64*5def4c47SEmmanuel Vadot			interrupt-parent = <&cpuintc>;
65*5def4c47SEmmanuel Vadot			interrupts = <2>;
66*5def4c47SEmmanuel Vadot		};
67*5def4c47SEmmanuel Vadot
68*5def4c47SEmmanuel Vadot		uart0: serial@10100000 {
69*5def4c47SEmmanuel Vadot			pinctrl-0 = <&uart_pins>;
70*5def4c47SEmmanuel Vadot			pinctrl-names = "default";
71*5def4c47SEmmanuel Vadot			compatible = "ns16550a";
72*5def4c47SEmmanuel Vadot			reg = <0x10100000 0x20>;
73*5def4c47SEmmanuel Vadot			interrupts = <6>;
74*5def4c47SEmmanuel Vadot			clocks = <&ahb_clk>;
75*5def4c47SEmmanuel Vadot			reg-io-width = <4>;
76*5def4c47SEmmanuel Vadot			reg-shift = <2>;
77*5def4c47SEmmanuel Vadot
78*5def4c47SEmmanuel Vadot			status = "disabled";
79*5def4c47SEmmanuel Vadot		};
80*5def4c47SEmmanuel Vadot
81*5def4c47SEmmanuel Vadot		i2c0: i2c@10100400 {
82*5def4c47SEmmanuel Vadot			compatible = "mscc,ocelot-i2c", "snps,designware-i2c";
83*5def4c47SEmmanuel Vadot			pinctrl-0 = <&i2c_pins>;
84*5def4c47SEmmanuel Vadot			pinctrl-names = "default";
85*5def4c47SEmmanuel Vadot			reg = <0x10100400 0x100>, <0x100002a4 0x8>;
86*5def4c47SEmmanuel Vadot			#address-cells = <1>;
87*5def4c47SEmmanuel Vadot			#size-cells = <0>;
88*5def4c47SEmmanuel Vadot			interrupts = <11>;
89*5def4c47SEmmanuel Vadot			clocks = <&ahb_clk>;
90*5def4c47SEmmanuel Vadot
91*5def4c47SEmmanuel Vadot			status = "disabled";
92*5def4c47SEmmanuel Vadot		};
93*5def4c47SEmmanuel Vadot
94*5def4c47SEmmanuel Vadot		gpio: pinctrl@70068 {
95*5def4c47SEmmanuel Vadot			compatible = "mscc,luton-pinctrl";
96*5def4c47SEmmanuel Vadot			reg = <0x70068 0x28>;
97*5def4c47SEmmanuel Vadot			gpio-controller;
98*5def4c47SEmmanuel Vadot			#gpio-cells = <2>;
99*5def4c47SEmmanuel Vadot			gpio-ranges = <&gpio 0 0 32>;
100*5def4c47SEmmanuel Vadot			interrupt-controller;
101*5def4c47SEmmanuel Vadot			interrupts = <13>;
102*5def4c47SEmmanuel Vadot			#interrupt-cells = <2>;
103*5def4c47SEmmanuel Vadot
104*5def4c47SEmmanuel Vadot			i2c_pins: i2c-pins {
105*5def4c47SEmmanuel Vadot				pins = "GPIO_5", "GPIO_6";
106*5def4c47SEmmanuel Vadot				function = "twi";
107*5def4c47SEmmanuel Vadot			};
108*5def4c47SEmmanuel Vadot
109*5def4c47SEmmanuel Vadot			uart_pins: uart-pins {
110*5def4c47SEmmanuel Vadot				pins = "GPIO_30", "GPIO_31";
111*5def4c47SEmmanuel Vadot				function = "uart";
112*5def4c47SEmmanuel Vadot			};
113*5def4c47SEmmanuel Vadot
114*5def4c47SEmmanuel Vadot		};
115*5def4c47SEmmanuel Vadot	};
116*5def4c47SEmmanuel Vadot};
117