0001 // SPDX-License-Identifier: (GPL-2.0 OR MIT)
0002 /* Copyright (c) 2020 Microsemi Corporation */
0003
0004 / {
0005 #address-cells = <1>;
0006 #size-cells = <1>;
0007 compatible = "mscc,luton";
0008
0009 cpus {
0010 #address-cells = <1>;
0011 #size-cells = <0>;
0012
0013 cpu@0 {
0014 compatible = "mips,mips24KEc";
0015 device_type = "cpu";
0016 clocks = <&cpu_clk>;
0017 reg = <0>;
0018 };
0019 };
0020
0021 aliases {
0022 serial0 = &uart0;
0023 };
0024
0025 cpuintc: interrupt-controller {
0026 #address-cells = <0>;
0027 #interrupt-cells = <1>;
0028 interrupt-controller;
0029 compatible = "mti,cpu-interrupt-controller";
0030 };
0031
0032 cpu_clk: cpu-clock {
0033 compatible = "fixed-clock";
0034 #clock-cells = <0>;
0035 clock-frequency = <416666666>;
0036 };
0037
0038 ahb_clk: ahb-clk {
0039 compatible = "fixed-factor-clock";
0040 #clock-cells = <0>;
0041 clocks = <&cpu_clk>;
0042 clock-div = <2>;
0043 clock-mult = <1>;
0044 };
0045
0046 ahb@60000000 {
0047 compatible = "simple-bus";
0048 #address-cells = <1>;
0049 #size-cells = <1>;
0050 ranges = <0 0x60000000 0x20000000>;
0051
0052 interrupt-parent = <&intc>;
0053
0054 cpu_ctrl: syscon@10000000 {
0055 compatible = "mscc,ocelot-cpu-syscon", "syscon";
0056 reg = <0x10000000 0x2c>;
0057 };
0058
0059 intc: interrupt-controller@10000084 {
0060 compatible = "mscc,luton-icpu-intr";
0061 reg = <0x10000084 0x70>;
0062 #interrupt-cells = <1>;
0063 interrupt-controller;
0064 interrupt-parent = <&cpuintc>;
0065 interrupts = <2>;
0066 };
0067
0068 uart0: serial@10100000 {
0069 pinctrl-0 = <&uart_pins>;
0070 pinctrl-names = "default";
0071 compatible = "ns16550a";
0072 reg = <0x10100000 0x20>;
0073 interrupts = <6>;
0074 clocks = <&ahb_clk>;
0075 reg-io-width = <4>;
0076 reg-shift = <2>;
0077
0078 status = "disabled";
0079 };
0080
0081 i2c0: i2c@10100400 {
0082 compatible = "mscc,ocelot-i2c", "snps,designware-i2c";
0083 pinctrl-0 = <&i2c_pins>;
0084 pinctrl-names = "default";
0085 reg = <0x10100400 0x100>, <0x100002a4 0x8>;
0086 #address-cells = <1>;
0087 #size-cells = <0>;
0088 interrupts = <11>;
0089 clocks = <&ahb_clk>;
0090
0091 status = "disabled";
0092 };
0093
0094 gpio: pinctrl@70068 {
0095 compatible = "mscc,luton-pinctrl";
0096 reg = <0x70068 0x28>;
0097 gpio-controller;
0098 #gpio-cells = <2>;
0099 gpio-ranges = <&gpio 0 0 32>;
0100 interrupt-controller;
0101 interrupts = <13>;
0102 #interrupt-cells = <2>;
0103
0104 i2c_pins: i2c-pins {
0105 pins = "GPIO_5", "GPIO_6";
0106 function = "twi";
0107 };
0108
0109 uart_pins: uart-pins {
0110 pins = "GPIO_30", "GPIO_31";
0111 function = "uart";
0112 };
0113
0114 };
0115 };
0116 };