GNU Linux-libre 6.1.90-gnu
[releases.git] / arch / mips / boot / dts / mscc / jaguar2.dtsi
1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2 /*
3  * Copyright (c) 2020 Microsemi Corporation
4  */
5
6 / {
7         #address-cells = <1>;
8         #size-cells = <1>;
9         compatible = "mscc,jr2";
10
11         aliases {
12                 serial0 = &uart0;
13                 serial1 = &uart2;
14                 gpio0 = &gpio;
15         };
16
17         cpus {
18                 #address-cells = <1>;
19                 #size-cells = <0>;
20
21                 cpu@0 {
22                         compatible = "mips,mips24KEc";
23                         device_type = "cpu";
24                         clocks = <&cpu_clk>;
25                         reg = <0>;
26                 };
27         };
28
29         cpuintc: interrupt-controller {
30                 #address-cells = <0>;
31                 #interrupt-cells = <1>;
32                 interrupt-controller;
33                 compatible = "mti,cpu-interrupt-controller";
34         };
35
36         cpu_clk: cpu-clock {
37                 compatible = "fixed-clock";
38                 #clock-cells = <0>;
39                 clock-frequency = <500000000>;
40         };
41
42         ahb_clk: ahb-clk {
43                 compatible = "fixed-factor-clock";
44                 #clock-cells = <0>;
45                 clocks = <&cpu_clk>;
46                 clock-div = <2>;
47                 clock-mult = <1>;
48         };
49
50         ahb: ahb {
51                 compatible = "simple-bus";
52                 #address-cells = <1>;
53                 #size-cells = <1>;
54                 ranges;
55
56                 interrupt-parent = <&intc>;
57
58                 cpu_ctrl: syscon@70000000 {
59                         compatible = "mscc,ocelot-cpu-syscon", "syscon";
60                         reg = <0x70000000 0x2c>;
61                 };
62
63                 intc: interrupt-controller@70000070 {
64                         compatible = "mscc,jaguar2-icpu-intr";
65                         reg = <0x70000070 0x94>;
66                         #interrupt-cells = <1>;
67                         interrupt-controller;
68                         interrupt-parent = <&cpuintc>;
69                         interrupts = <2>;
70                 };
71
72                 uart0: serial@70100000 {
73                         pinctrl-0 = <&uart_pins>;
74                         pinctrl-names = "default";
75                         compatible = "ns16550a";
76                         reg = <0x70100000 0x20>;
77                         interrupts = <6>;
78                         clocks = <&ahb_clk>;
79                         reg-io-width = <4>;
80                         reg-shift = <2>;
81
82                         status = "disabled";
83                 };
84
85                 uart2: serial@70100800 {
86                         pinctrl-0 = <&uart2_pins>;
87                         pinctrl-names = "default";
88                         compatible = "ns16550a";
89                         reg = <0x70100800 0x20>;
90                         interrupts = <7>;
91                         clocks = <&ahb_clk>;
92                         reg-io-width = <4>;
93                         reg-shift = <2>;
94
95                         status = "disabled";
96                 };
97
98                 gpio: pinctrl@71010038 {
99                         compatible = "mscc,jaguar2-pinctrl";
100                         reg = <0x71010038 0x90>;
101                         gpio-controller;
102                         #gpio-cells = <2>;
103                         gpio-ranges = <&gpio 0 0 64>;
104
105                         uart_pins: uart-pins {
106                                 pins = "GPIO_10", "GPIO_11";
107                                 function = "uart";
108                         };
109
110                         uart2_pins: uart2-pins {
111                                 pins = "GPIO_24", "GPIO_25";
112                                 function = "uart2";
113                         };
114
115                         cs1_pins: cs1-pins {
116                                 pins = "GPIO_16";
117                                 function = "si";
118                         };
119
120                         cs2_pins: cs2-pins {
121                                 pins = "GPIO_17";
122                                 function = "si";
123                         };
124
125                         cs3_pins: cs3-pins {
126                                 pins = "GPIO_18";
127                                 function = "si";
128                         };
129
130                         i2c_pins: i2c-pins {
131                                 pins = "GPIO_14", "GPIO_15";
132                                 function = "twi";
133                         };
134
135                         i2c2_pins: i2c2-pins {
136                                 pins = "GPIO_28", "GPIO_29";
137                                 function = "twi2";
138                         };
139                 };
140
141                 i2c0: i2c@70100400 {
142                         compatible = "mscc,ocelot-i2c", "snps,designware-i2c";
143                         status = "disabled";
144                         pinctrl-0 = <&i2c_pins>;
145                         pinctrl-names = "default";
146                         reg = <0x70100400 0x100>, <0x700001b8 0x8>;
147                         #address-cells = <1>;
148                         #size-cells = <0>;
149                         interrupts = <8>;
150                         clock-frequency = <100000>;
151                         clocks = <&ahb_clk>;
152                 };
153
154                 i2c2: i2c@70100c00 {
155                         compatible = "mscc,ocelot-i2c", "snps,designware-i2c";
156                         status = "disabled";
157                         pinctrl-0 = <&i2c2_pins>;
158                         pinctrl-names = "default";
159                         reg = <0x70100c00 0x100>;
160                         #address-cells = <1>;
161                         #size-cells = <0>;
162                         interrupts = <8>;
163                         clock-frequency = <100000>;
164                         clocks = <&ahb_clk>;
165                 };
166         };
167 };