// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
 * Copyright (c) 2020 Microsemi Corporation
 */

/ {
	#address-cells = <1>;
	#size-cells = <1>;
	compatible = "mscc,jr2";

	aliases {
		serial0 = &uart0;
		serial1 = &uart2;
		gpio0 = &gpio;
	};

	cpus {
		#address-cells = <1>;
		#size-cells = <0>;

		cpu@0 {
			compatible = "mips,mips24KEc";
			device_type = "cpu";
			clocks = <&cpu_clk>;
			reg = <0>;
		};
	};

	cpuintc: interrupt-controller {
		#address-cells = <0>;
		#interrupt-cells = <1>;
		interrupt-controller;
		compatible = "mti,cpu-interrupt-controller";
	};

	cpu_clk: cpu-clock {
		compatible = "fixed-clock";
		#clock-cells = <0>;
		clock-frequency = <500000000>;
	};

	ahb_clk: ahb-clk {
		compatible = "fixed-factor-clock";
		#clock-cells = <0>;
		clocks = <&cpu_clk>;
		clock-div = <2>;
		clock-mult = <1>;
	};

	ahb: ahb {
		compatible = "simple-bus";
		#address-cells = <1>;
		#size-cells = <1>;
		ranges;

		interrupt-parent = <&intc>;

		cpu_ctrl: syscon@70000000 {
			compatible = "mscc,ocelot-cpu-syscon", "syscon";
			reg = <0x70000000 0x2c>;
		};

		intc: interrupt-controller@70000070 {
			compatible = "mscc,jaguar2-icpu-intr";
			reg = <0x70000070 0x94>;
			#interrupt-cells = <1>;
			interrupt-controller;
			interrupt-parent = <&cpuintc>;
			interrupts = <2>;
		};

		uart0: serial@70100000 {
			pinctrl-0 = <&uart_pins>;
			pinctrl-names = "default";
			compatible = "ns16550a";
			reg = <0x70100000 0x20>;
			interrupts = <6>;
			clocks = <&ahb_clk>;
			reg-io-width = <4>;
			reg-shift = <2>;

			status = "disabled";
		};

		uart2: serial@70100800 {
			pinctrl-0 = <&uart2_pins>;
			pinctrl-names = "default";
			compatible = "ns16550a";
			reg = <0x70100800 0x20>;
			interrupts = <7>;
			clocks = <&ahb_clk>;
			reg-io-width = <4>;
			reg-shift = <2>;

			status = "disabled";
		};

		gpio: pinctrl@71010038 {
			compatible = "mscc,jaguar2-pinctrl";
			reg = <0x71010038 0x90>;
			gpio-controller;
			#gpio-cells = <2>;
			gpio-ranges = <&gpio 0 0 64>;

			uart_pins: uart-pins {
				pins = "GPIO_10", "GPIO_11";
				function = "uart";
			};

			uart2_pins: uart2-pins {
				pins = "GPIO_24", "GPIO_25";
				function = "uart2";
			};

			cs1_pins: cs1-pins {
				pins = "GPIO_16";
				function = "si";
			};

			cs2_pins: cs2-pins {
				pins = "GPIO_17";
				function = "si";
			};

			cs3_pins: cs3-pins {
				pins = "GPIO_18";
				function = "si";
			};

			i2c_pins: i2c-pins {
				pins = "GPIO_14", "GPIO_15";
				function = "twi";
			};

			i2c2_pins: i2c2-pins {
				pins = "GPIO_28", "GPIO_29";
				function = "twi2";
			};
		};

		i2c0: i2c@70100400 {
			compatible = "mscc,ocelot-i2c", "snps,designware-i2c";
			status = "disabled";
			pinctrl-0 = <&i2c_pins>;
			pinctrl-names = "default";
			reg = <0x70100400 0x100>, <0x700001b8 0x8>;
			#address-cells = <1>;
			#size-cells = <0>;
			interrupts = <8>;
			clock-frequency = <100000>;
			clocks = <&ahb_clk>;
		};

		i2c2: i2c@70100c00 {
			compatible = "mscc,ocelot-i2c", "snps,designware-i2c";
			status = "disabled";
			pinctrl-0 = <&i2c2_pins>;
			pinctrl-names = "default";
			reg = <0x70100c00 0x100>;
			#address-cells = <1>;
			#size-cells = <0>;
			interrupts = <8>;
			clock-frequency = <100000>;
			clocks = <&ahb_clk>;
		};
	};
};
