Merge tag 'for-4.21/libata-20190102' of git://git.kernel.dk/linux-block
[sfrench/cifs-2.6.git] / arch / arm / boot / dts / nuvoton-common-npcm7xx.dtsi
1 // SPDX-License-Identifier: GPL-2.0
2 // Copyright (c) 2018 Nuvoton Technology tomer.maimon@nuvoton.com
3 // Copyright 2018 Google, Inc.
4
5 #include <dt-bindings/interrupt-controller/arm-gic.h>
6
7 / {
8         #address-cells = <1>;
9         #size-cells = <1>;
10         interrupt-parent = <&gic>;
11
12         /* external reference clock */
13         clk_refclk: clk_refclk {
14                 compatible = "fixed-clock";
15                 #clock-cells = <0>;
16                 clock-frequency = <25000000>;
17                 clock-output-names = "refclk";
18         };
19
20         /* external reference clock for cpu. float in normal operation */
21         clk_sysbypck: clk_sysbypck {
22                 compatible = "fixed-clock";
23                 #clock-cells = <0>;
24                 clock-frequency = <800000000>;
25                 clock-output-names = "sysbypck";
26         };
27
28         /* external reference clock for MC. float in normal operation */
29         clk_mcbypck: clk_mcbypck {
30                 compatible = "fixed-clock";
31                 #clock-cells = <0>;
32                 clock-frequency = <800000000>;
33                 clock-output-names = "mcbypck";
34         };
35
36          /* external clock signal rg1refck, supplied by the phy */
37         clk_rg1refck: clk_rg1refck {
38                 compatible = "fixed-clock";
39                 #clock-cells = <0>;
40                 clock-frequency = <125000000>;
41                 clock-output-names = "clk_rg1refck";
42         };
43
44          /* external clock signal rg2refck, supplied by the phy */
45         clk_rg2refck: clk_rg2refck {
46                 compatible = "fixed-clock";
47                 #clock-cells = <0>;
48                 clock-frequency = <125000000>;
49                 clock-output-names = "clk_rg2refck";
50         };
51
52         clk_xin: clk_xin {
53                 compatible = "fixed-clock";
54                 #clock-cells = <0>;
55                 clock-frequency = <50000000>;
56                 clock-output-names = "clk_xin";
57         };
58
59         soc {
60                 #address-cells = <1>;
61                 #size-cells = <1>;
62                 compatible = "simple-bus";
63                 interrupt-parent = <&gic>;
64                 ranges = <0x0 0xf0000000 0x00900000>;
65
66                 gcr: gcr@800000 {
67                         compatible = "nuvoton,npcm750-gcr", "syscon",
68                                 "simple-mfd";
69                         reg = <0x800000 0x1000>;
70                 };
71
72                 scu: scu@3fe000 {
73                         compatible = "arm,cortex-a9-scu";
74                         reg = <0x3fe000 0x1000>;
75                 };
76
77                 l2: cache-controller@3fc000 {
78                         compatible = "arm,pl310-cache";
79                         reg = <0x3fc000 0x1000>;
80                         interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
81                         cache-unified;
82                         cache-level = <2>;
83                         clocks = <&clk 10>;
84                         arm,shared-override;
85                 };
86
87                 gic: interrupt-controller@3ff000 {
88                         compatible = "arm,cortex-a9-gic";
89                         interrupt-controller;
90                         #interrupt-cells = <3>;
91                         reg = <0x3ff000 0x1000>,
92                                 <0x3fe100 0x100>;
93                 };
94         };
95
96         ahb {
97                 #address-cells = <1>;
98                 #size-cells = <1>;
99                 compatible = "simple-bus";
100                 interrupt-parent = <&gic>;
101                 ranges;
102
103                 clk: clock-controller@f0801000 {
104                         compatible = "nuvoton,npcm750-clk", "syscon";
105                         #clock-cells = <1>;
106                         clock-controller;
107                         reg = <0xf0801000 0x1000>;
108                         clock-names = "refclk", "sysbypck", "mcbypck";
109                         clocks = <&clk_refclk>, <&clk_sysbypck>, <&clk_mcbypck>;
110                 };
111
112                 apb {
113                         #address-cells = <1>;
114                         #size-cells = <1>;
115                         compatible = "simple-bus";
116                         interrupt-parent = <&gic>;
117                         ranges = <0x0 0xf0000000 0x00300000>;
118
119                         timer0: timer@8000 {
120                                 compatible = "nuvoton,npcm750-timer";
121                                 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
122                                 reg = <0x8000 0x50>;
123                                 clocks = <&clk 5>;
124                         };
125
126                         watchdog0: watchdog@801C {
127                                 compatible = "nuvoton,npcm750-wdt";
128                                 interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
129                                 reg = <0x801C 0x4>;
130                                 status = "disabled";
131                                 clocks = <&clk 5>;
132                         };
133
134                         watchdog1: watchdog@901C {
135                                 compatible = "nuvoton,npcm750-wdt";
136                                 interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
137                                 reg = <0x901C 0x4>;
138                                 status = "disabled";
139                                 clocks = <&clk 5>;
140                         };
141
142                         watchdog2: watchdog@a01C {
143                                 compatible = "nuvoton,npcm750-wdt";
144                                 interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
145                                 reg = <0xa01C 0x4>;
146                                 status = "disabled";
147                                 clocks = <&clk 5>;
148                         };
149
150                         serial0: serial@1000 {
151                                 compatible = "nuvoton,npcm750-uart";
152                                 reg = <0x1000 0x1000>;
153                                 clocks = <&clk 6>;
154                                 interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
155                                 reg-shift = <2>;
156                                 status = "disabled";
157                         };
158
159                         serial1: serial@2000 {
160                                 compatible = "nuvoton,npcm750-uart";
161                                 reg = <0x2000 0x1000>;
162                                 clocks = <&clk 6>;
163                                 interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
164                                 reg-shift = <2>;
165                                 status = "disabled";
166                         };
167
168                         serial2: serial@3000 {
169                                 compatible = "nuvoton,npcm750-uart";
170                                 reg = <0x3000 0x1000>;
171                                 clocks = <&clk 6>;
172                                 interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
173                                 reg-shift = <2>;
174                                 status = "disabled";
175                         };
176
177                         serial3: serial@4000 {
178                                 compatible = "nuvoton,npcm750-uart";
179                                 reg = <0x4000 0x1000>;
180                                 clocks = <&clk 6>;
181                                 interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
182                                 reg-shift = <2>;
183                                 status = "disabled";
184                         };
185                 };
186         };
187 };