drivers: soc: sunxi: Introduce SoC driver to map SRAMs
[firefly-linux-kernel-4.4.55.git] / arch / arm64 / boot / dts / arm / juno-motherboard.dtsi
1 /*
2  * ARM Juno Platform motherboard peripherals
3  *
4  * Copyright (c) 2013-2014 ARM Ltd
5  *
6  * This file is licensed under a dual GPLv2 or BSD license.
7  *
8  */
9
10                 mb_clk24mhz: clk24mhz {
11                         compatible = "fixed-clock";
12                         #clock-cells = <0>;
13                         clock-frequency = <24000000>;
14                         clock-output-names = "juno_mb:clk24mhz";
15                 };
16
17                 mb_clk25mhz: clk25mhz {
18                         compatible = "fixed-clock";
19                         #clock-cells = <0>;
20                         clock-frequency = <25000000>;
21                         clock-output-names = "juno_mb:clk25mhz";
22                 };
23
24                 motherboard {
25                         compatible = "arm,vexpress,v2p-p1", "simple-bus";
26                         #address-cells = <2>;  /* SMB chipselect number and offset */
27                         #size-cells = <1>;
28                         #interrupt-cells = <1>;
29                         ranges;
30                         model = "V2M-Juno";
31                         arm,hbi = <0x252>;
32                         arm,vexpress,site = <0>;
33                         arm,v2m-memory-map = "rs1";
34
35                         mb_fixed_3v3: fixedregulator@0 {
36                                 compatible = "regulator-fixed";
37                                 regulator-name = "MCC_SB_3V3";
38                                 regulator-min-microvolt = <3300000>;
39                                 regulator-max-microvolt = <3300000>;
40                                 regulator-always-on;
41                         };
42
43                         ethernet@2,00000000 {
44                                 compatible = "smsc,lan9118", "smsc,lan9115";
45                                 reg = <2 0x00000000 0x10000>;
46                                 interrupts = <3>;
47                                 phy-mode = "mii";
48                                 reg-io-width = <4>;
49                                 smsc,irq-active-high;
50                                 smsc,irq-push-pull;
51                                 clocks = <&mb_clk25mhz>;
52                                 vdd33a-supply = <&mb_fixed_3v3>;
53                                 vddvario-supply = <&mb_fixed_3v3>;
54                         };
55
56                         usb@5,00000000 {
57                                 compatible = "nxp,usb-isp1763";
58                                 reg = <5 0x00000000 0x20000>;
59                                 bus-width = <16>;
60                                 interrupts = <4>;
61                         };
62
63                         iofpga@3,00000000 {
64                                 compatible = "arm,amba-bus", "simple-bus";
65                                 #address-cells = <1>;
66                                 #size-cells = <1>;
67                                 ranges = <0 3 0 0x200000>;
68
69                                 apbregs@010000 {
70                                         compatible = "syscon", "simple-mfd";
71                                         reg = <0x010000 0x1000>;
72
73                                         led@08.0 {
74                                                 compatible = "register-bit-led";
75                                                 offset = <0x08>;
76                                                 mask = <0x01>;
77                                                 label = "vexpress:0";
78                                                 linux,default-trigger = "heartbeat";
79                                                 default-state = "on";
80                                         };
81                                         led@08.1 {
82                                                 compatible = "register-bit-led";
83                                                 offset = <0x08>;
84                                                 mask = <0x02>;
85                                                 label = "vexpress:1";
86                                                 linux,default-trigger = "mmc0";
87                                                 default-state = "off";
88                                         };
89                                         led@08.2 {
90                                                 compatible = "register-bit-led";
91                                                 offset = <0x08>;
92                                                 mask = <0x04>;
93                                                 label = "vexpress:2";
94                                                 linux,default-trigger = "cpu0";
95                                                 default-state = "off";
96                                         };
97                                         led@08.3 {
98                                                 compatible = "register-bit-led";
99                                                 offset = <0x08>;
100                                                 mask = <0x08>;
101                                                 label = "vexpress:3";
102                                                 linux,default-trigger = "cpu1";
103                                                 default-state = "off";
104                                         };
105                                         led@08.4 {
106                                                 compatible = "register-bit-led";
107                                                 offset = <0x08>;
108                                                 mask = <0x10>;
109                                                 label = "vexpress:4";
110                                                 linux,default-trigger = "cpu2";
111                                                 default-state = "off";
112                                         };
113                                         led@08.5 {
114                                                 compatible = "register-bit-led";
115                                                 offset = <0x08>;
116                                                 mask = <0x20>;
117                                                 label = "vexpress:5";
118                                                 linux,default-trigger = "cpu3";
119                                                 default-state = "off";
120                                         };
121                                         led@08.6 {
122                                                 compatible = "register-bit-led";
123                                                 offset = <0x08>;
124                                                 mask = <0x40>;
125                                                 label = "vexpress:6";
126                                                 default-state = "off";
127                                         };
128                                         led@08.7 {
129                                                 compatible = "register-bit-led";
130                                                 offset = <0x08>;
131                                                 mask = <0x80>;
132                                                 label = "vexpress:7";
133                                                 default-state = "off";
134                                         };
135                                 };
136
137                                 mmci@050000 {
138                                         compatible = "arm,pl180", "arm,primecell";
139                                         reg = <0x050000 0x1000>;
140                                         interrupts = <5>;
141                                         /* cd-gpios = <&v2m_mmc_gpios 0 0>;
142                                         wp-gpios = <&v2m_mmc_gpios 1 0>; */
143                                         max-frequency = <12000000>;
144                                         vmmc-supply = <&mb_fixed_3v3>;
145                                         clocks = <&mb_clk24mhz>, <&soc_smc50mhz>;
146                                         clock-names = "mclk", "apb_pclk";
147                                 };
148
149                                 kmi@060000 {
150                                         compatible = "arm,pl050", "arm,primecell";
151                                         reg = <0x060000 0x1000>;
152                                         interrupts = <8>;
153                                         clocks = <&mb_clk24mhz>, <&soc_smc50mhz>;
154                                         clock-names = "KMIREFCLK", "apb_pclk";
155                                 };
156
157                                 kmi@070000 {
158                                         compatible = "arm,pl050", "arm,primecell";
159                                         reg = <0x070000 0x1000>;
160                                         interrupts = <8>;
161                                         clocks = <&mb_clk24mhz>, <&soc_smc50mhz>;
162                                         clock-names = "KMIREFCLK", "apb_pclk";
163                                 };
164
165                                 wdt@0f0000 {
166                                         compatible = "arm,sp805", "arm,primecell";
167                                         reg = <0x0f0000 0x10000>;
168                                         interrupts = <7>;
169                                         clocks = <&mb_clk24mhz>, <&soc_smc50mhz>;
170                                         clock-names = "wdogclk", "apb_pclk";
171                                 };
172
173                                 v2m_timer01: timer@110000 {
174                                         compatible = "arm,sp804", "arm,primecell";
175                                         reg = <0x110000 0x10000>;
176                                         interrupts = <9>;
177                                         clocks = <&mb_clk24mhz>, <&soc_smc50mhz>;
178                                         clock-names = "timclken1", "apb_pclk";
179                                 };
180
181                                 v2m_timer23: timer@120000 {
182                                         compatible = "arm,sp804", "arm,primecell";
183                                         reg = <0x120000 0x10000>;
184                                         interrupts = <9>;
185                                         clocks = <&mb_clk24mhz>, <&soc_smc50mhz>;
186                                         clock-names = "timclken1", "apb_pclk";
187                                 };
188
189                                 rtc@170000 {
190                                         compatible = "arm,pl031", "arm,primecell";
191                                         reg = <0x170000 0x10000>;
192                                         interrupts = <0>;
193                                         clocks = <&soc_smc50mhz>;
194                                         clock-names = "apb_pclk";
195                                 };
196                         };
197                 };