162306a36Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0 OR MIT)
262306a36Sopenharmony_ci/* Copyright (c) 2020 Microsemi Corporation */
362306a36Sopenharmony_ci
462306a36Sopenharmony_ci/ {
562306a36Sopenharmony_ci	#address-cells = <1>;
662306a36Sopenharmony_ci	#size-cells = <1>;
762306a36Sopenharmony_ci	compatible = "mscc,luton";
862306a36Sopenharmony_ci
962306a36Sopenharmony_ci	cpus {
1062306a36Sopenharmony_ci		#address-cells = <1>;
1162306a36Sopenharmony_ci		#size-cells = <0>;
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ci		cpu@0 {
1462306a36Sopenharmony_ci			compatible = "mips,mips24KEc";
1562306a36Sopenharmony_ci			device_type = "cpu";
1662306a36Sopenharmony_ci			clocks = <&cpu_clk>;
1762306a36Sopenharmony_ci			reg = <0>;
1862306a36Sopenharmony_ci		};
1962306a36Sopenharmony_ci	};
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ci	aliases {
2262306a36Sopenharmony_ci		serial0 = &uart0;
2362306a36Sopenharmony_ci	};
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ci	cpuintc: interrupt-controller {
2662306a36Sopenharmony_ci		#address-cells = <0>;
2762306a36Sopenharmony_ci		#interrupt-cells = <1>;
2862306a36Sopenharmony_ci		interrupt-controller;
2962306a36Sopenharmony_ci		compatible = "mti,cpu-interrupt-controller";
3062306a36Sopenharmony_ci	};
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ci	cpu_clk: cpu-clock {
3362306a36Sopenharmony_ci		compatible = "fixed-clock";
3462306a36Sopenharmony_ci		#clock-cells = <0>;
3562306a36Sopenharmony_ci		clock-frequency = <416666666>;
3662306a36Sopenharmony_ci	};
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ci	ahb_clk: ahb-clk {
3962306a36Sopenharmony_ci		compatible = "fixed-factor-clock";
4062306a36Sopenharmony_ci		#clock-cells = <0>;
4162306a36Sopenharmony_ci		clocks = <&cpu_clk>;
4262306a36Sopenharmony_ci		clock-div = <2>;
4362306a36Sopenharmony_ci		clock-mult = <1>;
4462306a36Sopenharmony_ci	};
4562306a36Sopenharmony_ci
4662306a36Sopenharmony_ci	ahb@60000000 {
4762306a36Sopenharmony_ci		compatible = "simple-bus";
4862306a36Sopenharmony_ci		#address-cells = <1>;
4962306a36Sopenharmony_ci		#size-cells = <1>;
5062306a36Sopenharmony_ci		ranges = <0 0x60000000 0x20000000>;
5162306a36Sopenharmony_ci
5262306a36Sopenharmony_ci		interrupt-parent = <&intc>;
5362306a36Sopenharmony_ci
5462306a36Sopenharmony_ci		cpu_ctrl: syscon@10000000 {
5562306a36Sopenharmony_ci			compatible = "mscc,ocelot-cpu-syscon", "syscon";
5662306a36Sopenharmony_ci			reg = <0x10000000 0x2c>;
5762306a36Sopenharmony_ci		};
5862306a36Sopenharmony_ci
5962306a36Sopenharmony_ci		intc: interrupt-controller@10000084 {
6062306a36Sopenharmony_ci			compatible = "mscc,luton-icpu-intr";
6162306a36Sopenharmony_ci			reg = <0x10000084 0x70>;
6262306a36Sopenharmony_ci			#interrupt-cells = <1>;
6362306a36Sopenharmony_ci			interrupt-controller;
6462306a36Sopenharmony_ci			interrupt-parent = <&cpuintc>;
6562306a36Sopenharmony_ci			interrupts = <2>;
6662306a36Sopenharmony_ci		};
6762306a36Sopenharmony_ci
6862306a36Sopenharmony_ci		uart0: serial@10100000 {
6962306a36Sopenharmony_ci			pinctrl-0 = <&uart_pins>;
7062306a36Sopenharmony_ci			pinctrl-names = "default";
7162306a36Sopenharmony_ci			compatible = "ns16550a";
7262306a36Sopenharmony_ci			reg = <0x10100000 0x20>;
7362306a36Sopenharmony_ci			interrupts = <6>;
7462306a36Sopenharmony_ci			clocks = <&ahb_clk>;
7562306a36Sopenharmony_ci			reg-io-width = <4>;
7662306a36Sopenharmony_ci			reg-shift = <2>;
7762306a36Sopenharmony_ci
7862306a36Sopenharmony_ci			status = "disabled";
7962306a36Sopenharmony_ci		};
8062306a36Sopenharmony_ci
8162306a36Sopenharmony_ci		i2c0: i2c@10100400 {
8262306a36Sopenharmony_ci			compatible = "mscc,ocelot-i2c", "snps,designware-i2c";
8362306a36Sopenharmony_ci			pinctrl-0 = <&i2c_pins>;
8462306a36Sopenharmony_ci			pinctrl-names = "default";
8562306a36Sopenharmony_ci			reg = <0x10100400 0x100>, <0x100002a4 0x8>;
8662306a36Sopenharmony_ci			#address-cells = <1>;
8762306a36Sopenharmony_ci			#size-cells = <0>;
8862306a36Sopenharmony_ci			interrupts = <11>;
8962306a36Sopenharmony_ci			clocks = <&ahb_clk>;
9062306a36Sopenharmony_ci
9162306a36Sopenharmony_ci			status = "disabled";
9262306a36Sopenharmony_ci		};
9362306a36Sopenharmony_ci
9462306a36Sopenharmony_ci		gpio: pinctrl@70068 {
9562306a36Sopenharmony_ci			compatible = "mscc,luton-pinctrl";
9662306a36Sopenharmony_ci			reg = <0x70068 0x28>;
9762306a36Sopenharmony_ci			gpio-controller;
9862306a36Sopenharmony_ci			#gpio-cells = <2>;
9962306a36Sopenharmony_ci			gpio-ranges = <&gpio 0 0 32>;
10062306a36Sopenharmony_ci			interrupt-controller;
10162306a36Sopenharmony_ci			interrupts = <13>;
10262306a36Sopenharmony_ci			#interrupt-cells = <2>;
10362306a36Sopenharmony_ci
10462306a36Sopenharmony_ci			i2c_pins: i2c-pins {
10562306a36Sopenharmony_ci				pins = "GPIO_5", "GPIO_6";
10662306a36Sopenharmony_ci				function = "twi";
10762306a36Sopenharmony_ci			};
10862306a36Sopenharmony_ci
10962306a36Sopenharmony_ci			uart_pins: uart-pins {
11062306a36Sopenharmony_ci				pins = "GPIO_30", "GPIO_31";
11162306a36Sopenharmony_ci				function = "uart";
11262306a36Sopenharmony_ci			};
11362306a36Sopenharmony_ci
11462306a36Sopenharmony_ci		};
11562306a36Sopenharmony_ci	};
11662306a36Sopenharmony_ci};
117