~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/scripts/dtc/include-prefixes/arm/allwinner/sun9i-a80.dtsi

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /scripts/dtc/include-prefixes/arm/allwinner/sun9i-a80.dtsi (Version linux-6.12-rc7) and /scripts/dtc/include-prefixes/arm/allwinner/sun9i-a80.dtsi (Version linux-6.11.7)


  1 /*                                                  1 /*
  2  * Copyright 2014 Chen-Yu Tsai                      2  * Copyright 2014 Chen-Yu Tsai
  3  *                                                  3  *
  4  * Chen-Yu Tsai <wens@csie.org>                      4  * Chen-Yu Tsai <wens@csie.org>
  5  *                                                  5  *
  6  * This file is dual-licensed: you can use it       6  * This file is dual-licensed: you can use it either under the terms
  7  * of the GPL or the X11 license, at your opti      7  * of the GPL or the X11 license, at your option. Note that this dual
  8  * licensing only applies to this file, and no      8  * licensing only applies to this file, and not this project as a
  9  * whole.                                           9  * whole.
 10  *                                                 10  *
 11  *  a) This file is free software; you can red     11  *  a) This file is free software; you can redistribute it and/or
 12  *     modify it under the terms of the GNU Ge     12  *     modify it under the terms of the GNU General Public License as
 13  *     published by the Free Software Foundati     13  *     published by the Free Software Foundation; either version 2 of the
 14  *     License, or (at your option) any later      14  *     License, or (at your option) any later version.
 15  *                                                 15  *
 16  *     This file is distributed in the hope th     16  *     This file is distributed in the hope that it will be useful,
 17  *     but WITHOUT ANY WARRANTY; without even      17  *     but WITHOUT ANY WARRANTY; without even the implied warranty of
 18  *     MERCHANTABILITY or FITNESS FOR A PARTIC     18  *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 19  *     GNU General Public License for more det     19  *     GNU General Public License for more details.
 20  *                                                 20  *
 21  * Or, alternatively,                              21  * Or, alternatively,
 22  *                                                 22  *
 23  *  b) Permission is hereby granted, free of c     23  *  b) Permission is hereby granted, free of charge, to any person
 24  *     obtaining a copy of this software and a     24  *     obtaining a copy of this software and associated documentation
 25  *     files (the "Software"), to deal in the      25  *     files (the "Software"), to deal in the Software without
 26  *     restriction, including without limitati     26  *     restriction, including without limitation the rights to use,
 27  *     copy, modify, merge, publish, distribut     27  *     copy, modify, merge, publish, distribute, sublicense, and/or
 28  *     sell copies of the Software, and to per     28  *     sell copies of the Software, and to permit persons to whom the
 29  *     Software is furnished to do so, subject     29  *     Software is furnished to do so, subject to the following
 30  *     conditions:                                 30  *     conditions:
 31  *                                                 31  *
 32  *     The above copyright notice and this per     32  *     The above copyright notice and this permission notice shall be
 33  *     included in all copies or substantial p     33  *     included in all copies or substantial portions of the Software.
 34  *                                                 34  *
 35  *     THE SOFTWARE IS PROVIDED "AS IS", WITHO     35  *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 36  *     EXPRESS OR IMPLIED, INCLUDING BUT NOT L     36  *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
 37  *     OF MERCHANTABILITY, FITNESS FOR A PARTI     37  *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 38  *     NONINFRINGEMENT. IN NO EVENT SHALL THE      38  *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 39  *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGE     39  *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
 40  *     WHETHER IN AN ACTION OF CONTRACT, TORT      40  *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 41  *     FROM, OUT OF OR IN CONNECTION WITH THE      41  *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
 42  *     OTHER DEALINGS IN THE SOFTWARE.             42  *     OTHER DEALINGS IN THE SOFTWARE.
 43  */                                                43  */
 44                                                    44 
 45 #include <dt-bindings/interrupt-controller/arm     45 #include <dt-bindings/interrupt-controller/arm-gic.h>
 46                                                    46 
 47 #include <dt-bindings/clock/sun9i-a80-ccu.h>       47 #include <dt-bindings/clock/sun9i-a80-ccu.h>
 48 #include <dt-bindings/clock/sun9i-a80-de.h>        48 #include <dt-bindings/clock/sun9i-a80-de.h>
 49 #include <dt-bindings/clock/sun9i-a80-usb.h>       49 #include <dt-bindings/clock/sun9i-a80-usb.h>
 50 #include <dt-bindings/reset/sun9i-a80-ccu.h>       50 #include <dt-bindings/reset/sun9i-a80-ccu.h>
 51 #include <dt-bindings/reset/sun9i-a80-de.h>        51 #include <dt-bindings/reset/sun9i-a80-de.h>
 52 #include <dt-bindings/reset/sun9i-a80-usb.h>       52 #include <dt-bindings/reset/sun9i-a80-usb.h>
 53                                                    53 
 54 / {                                                54 / {
 55         #address-cells = <2>;                      55         #address-cells = <2>;
 56         #size-cells = <2>;                         56         #size-cells = <2>;
 57         interrupt-parent = <&gic>;                 57         interrupt-parent = <&gic>;
 58                                                    58 
 59         aliases {                                  59         aliases {
 60                 ethernet0 = &gmac;                 60                 ethernet0 = &gmac;
 61         };                                         61         };
 62                                                    62 
 63         cpus {                                     63         cpus {
 64                 #address-cells = <1>;              64                 #address-cells = <1>;
 65                 #size-cells = <0>;                 65                 #size-cells = <0>;
 66                                                    66 
 67                 cpu0: cpu@0 {                      67                 cpu0: cpu@0 {
 68                         compatible = "arm,cort     68                         compatible = "arm,cortex-a7";
 69                         device_type = "cpu";       69                         device_type = "cpu";
 70                         cci-control-port = <&c     70                         cci-control-port = <&cci_control0>;
 71                         clock-frequency = <120     71                         clock-frequency = <12000000>;
 72                         enable-method = "allwi     72                         enable-method = "allwinner,sun9i-a80-smp";
 73                         reg = <0x0>;               73                         reg = <0x0>;
 74                 };                                 74                 };
 75                                                    75 
 76                 cpu1: cpu@1 {                      76                 cpu1: cpu@1 {
 77                         compatible = "arm,cort     77                         compatible = "arm,cortex-a7";
 78                         device_type = "cpu";       78                         device_type = "cpu";
 79                         cci-control-port = <&c     79                         cci-control-port = <&cci_control0>;
 80                         clock-frequency = <120     80                         clock-frequency = <12000000>;
 81                         enable-method = "allwi     81                         enable-method = "allwinner,sun9i-a80-smp";
 82                         reg = <0x1>;               82                         reg = <0x1>;
 83                 };                                 83                 };
 84                                                    84 
 85                 cpu2: cpu@2 {                      85                 cpu2: cpu@2 {
 86                         compatible = "arm,cort     86                         compatible = "arm,cortex-a7";
 87                         device_type = "cpu";       87                         device_type = "cpu";
 88                         cci-control-port = <&c     88                         cci-control-port = <&cci_control0>;
 89                         clock-frequency = <120     89                         clock-frequency = <12000000>;
 90                         enable-method = "allwi     90                         enable-method = "allwinner,sun9i-a80-smp";
 91                         reg = <0x2>;               91                         reg = <0x2>;
 92                 };                                 92                 };
 93                                                    93 
 94                 cpu3: cpu@3 {                      94                 cpu3: cpu@3 {
 95                         compatible = "arm,cort     95                         compatible = "arm,cortex-a7";
 96                         device_type = "cpu";       96                         device_type = "cpu";
 97                         cci-control-port = <&c     97                         cci-control-port = <&cci_control0>;
 98                         clock-frequency = <120     98                         clock-frequency = <12000000>;
 99                         enable-method = "allwi     99                         enable-method = "allwinner,sun9i-a80-smp";
100                         reg = <0x3>;              100                         reg = <0x3>;
101                 };                                101                 };
102                                                   102 
103                 cpu4: cpu@100 {                   103                 cpu4: cpu@100 {
104                         compatible = "arm,cort    104                         compatible = "arm,cortex-a15";
105                         device_type = "cpu";      105                         device_type = "cpu";
106                         cci-control-port = <&c    106                         cci-control-port = <&cci_control1>;
107                         clock-frequency = <180    107                         clock-frequency = <18000000>;
108                         enable-method = "allwi    108                         enable-method = "allwinner,sun9i-a80-smp";
109                         reg = <0x100>;            109                         reg = <0x100>;
110                 };                                110                 };
111                                                   111 
112                 cpu5: cpu@101 {                   112                 cpu5: cpu@101 {
113                         compatible = "arm,cort    113                         compatible = "arm,cortex-a15";
114                         device_type = "cpu";      114                         device_type = "cpu";
115                         cci-control-port = <&c    115                         cci-control-port = <&cci_control1>;
116                         clock-frequency = <180    116                         clock-frequency = <18000000>;
117                         enable-method = "allwi    117                         enable-method = "allwinner,sun9i-a80-smp";
118                         reg = <0x101>;            118                         reg = <0x101>;
119                 };                                119                 };
120                                                   120 
121                 cpu6: cpu@102 {                   121                 cpu6: cpu@102 {
122                         compatible = "arm,cort    122                         compatible = "arm,cortex-a15";
123                         device_type = "cpu";      123                         device_type = "cpu";
124                         cci-control-port = <&c    124                         cci-control-port = <&cci_control1>;
125                         clock-frequency = <180    125                         clock-frequency = <18000000>;
126                         enable-method = "allwi    126                         enable-method = "allwinner,sun9i-a80-smp";
127                         reg = <0x102>;            127                         reg = <0x102>;
128                 };                                128                 };
129                                                   129 
130                 cpu7: cpu@103 {                   130                 cpu7: cpu@103 {
131                         compatible = "arm,cort    131                         compatible = "arm,cortex-a15";
132                         device_type = "cpu";      132                         device_type = "cpu";
133                         cci-control-port = <&c    133                         cci-control-port = <&cci_control1>;
134                         clock-frequency = <180    134                         clock-frequency = <18000000>;
135                         enable-method = "allwi    135                         enable-method = "allwinner,sun9i-a80-smp";
136                         reg = <0x103>;            136                         reg = <0x103>;
137                 };                                137                 };
138         };                                        138         };
139                                                   139 
140         timer {                                   140         timer {
141                 compatible = "arm,armv7-timer"    141                 compatible = "arm,armv7-timer";
142                 interrupts = <GIC_PPI 13 (GIC_    142                 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
143                              <GIC_PPI 14 (GIC_    143                              <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
144                              <GIC_PPI 11 (GIC_    144                              <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
145                              <GIC_PPI 10 (GIC_    145                              <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
146                 clock-frequency = <24000000>;     146                 clock-frequency = <24000000>;
147                 arm,cpu-registers-not-fw-confi    147                 arm,cpu-registers-not-fw-configured;
148         };                                        148         };
149                                                   149 
150         clocks {                                  150         clocks {
151                 #address-cells = <1>;             151                 #address-cells = <1>;
152                 #size-cells = <1>;                152                 #size-cells = <1>;
153                 /*                                153                 /*
154                  * map 64 bit address range do    154                  * map 64 bit address range down to 32 bits,
155                  * as the peripherals are all     155                  * as the peripherals are all under 512MB.
156                  */                               156                  */
157                 ranges = <0 0 0 0x20000000>;      157                 ranges = <0 0 0 0x20000000>;
158                                                   158 
159                 /*                                159                 /*
160                  * This clock is actually conf    160                  * This clock is actually configurable from the PRCM address
161                  * space. The external 24M osc    161                  * space. The external 24M oscillator can be turned off, and
162                  * the clock switched to an in    162                  * the clock switched to an internal 16M RC oscillator. Under
163                  * normal operation there's no    163                  * normal operation there's no reason to do this, and the
164                  * default is to use the exter    164                  * default is to use the external good one, so just model this
165                  * as a fixed clock. Also it i    165                  * as a fixed clock. Also it is not entirely clear if the
166                  * osc24M mux in the PRCM affe    166                  * osc24M mux in the PRCM affects the entire clock tree, which
167                  * would also throw all the PL    167                  * would also throw all the PLL clock rates off, or just the
168                  * downstream clocks in the PR    168                  * downstream clocks in the PRCM.
169                  */                               169                  */
170                 osc24M: clk-24M {                 170                 osc24M: clk-24M {
171                         #clock-cells = <0>;       171                         #clock-cells = <0>;
172                         compatible = "fixed-cl    172                         compatible = "fixed-clock";
173                         clock-frequency = <240    173                         clock-frequency = <24000000>;
174                         clock-output-names = "    174                         clock-output-names = "osc24M";
175                 };                                175                 };
176                                                   176 
177                 /*                                177                 /*
178                  * The 32k clock is from an ex    178                  * The 32k clock is from an external source, normally the
179                  * AC100 codec/RTC chip. This     179                  * AC100 codec/RTC chip. This serves as a placeholder for
180                  * board dts files to specify     180                  * board dts files to specify the source.
181                  */                               181                  */
182                 osc32k: clk-32k {                 182                 osc32k: clk-32k {
183                         #clock-cells = <0>;       183                         #clock-cells = <0>;
184                         compatible = "fixed-fa    184                         compatible = "fixed-factor-clock";
185                         clock-div = <1>;          185                         clock-div = <1>;
186                         clock-mult = <1>;         186                         clock-mult = <1>;
187                         clock-output-names = "    187                         clock-output-names = "osc32k";
188                 };                                188                 };
189                                                   189 
190                 /*                                190                 /*
191                  * The following two are dummy    191                  * The following two are dummy clocks, placeholders
192                  * used in the gmac_tx clock.     192                  * used in the gmac_tx clock. The gmac driver will
193                  * choose one parent depending    193                  * choose one parent depending on the PHY interface
194                  * mode, using clk_set_rate au    194                  * mode, using clk_set_rate auto-reparenting.
195                  *                                195                  *
196                  * The actual TX clock rate is    196                  * The actual TX clock rate is not controlled by the
197                  * gmac_tx clock.                 197                  * gmac_tx clock.
198                  */                               198                  */
199                 mii_phy_tx_clk: mii-phy-tx-clk    199                 mii_phy_tx_clk: mii-phy-tx-clk {
200                         #clock-cells = <0>;       200                         #clock-cells = <0>;
201                         compatible = "fixed-cl    201                         compatible = "fixed-clock";
202                         clock-frequency = <250    202                         clock-frequency = <25000000>;
203                         clock-output-names = "    203                         clock-output-names = "mii_phy_tx";
204                 };                                204                 };
205                                                   205 
206                 gmac_int_tx_clk: gmac-int-tx-c    206                 gmac_int_tx_clk: gmac-int-tx-clk {
207                         #clock-cells = <0>;       207                         #clock-cells = <0>;
208                         compatible = "fixed-cl    208                         compatible = "fixed-clock";
209                         clock-frequency = <125    209                         clock-frequency = <125000000>;
210                         clock-output-names = "    210                         clock-output-names = "gmac_int_tx";
211                 };                                211                 };
212                                                   212 
213                 gmac_tx_clk: clk@800030 {         213                 gmac_tx_clk: clk@800030 {
214                         #clock-cells = <0>;       214                         #clock-cells = <0>;
215                         compatible = "allwinne    215                         compatible = "allwinner,sun7i-a20-gmac-clk";
216                         reg = <0x00800030 0x4>    216                         reg = <0x00800030 0x4>;
217                         clocks = <&mii_phy_tx_    217                         clocks = <&mii_phy_tx_clk>, <&gmac_int_tx_clk>;
218                         clock-output-names = "    218                         clock-output-names = "gmac_tx";
219                 };                                219                 };
220                                                   220 
221                 cpus_clk: clk@8001410 {           221                 cpus_clk: clk@8001410 {
222                         compatible = "allwinne    222                         compatible = "allwinner,sun9i-a80-cpus-clk";
223                         reg = <0x08001410 0x4>    223                         reg = <0x08001410 0x4>;
224                         #clock-cells = <0>;       224                         #clock-cells = <0>;
225                         clocks = <&osc32k>, <&    225                         clocks = <&osc32k>, <&osc24M>,
226                                  <&ccu CLK_PLL    226                                  <&ccu CLK_PLL_PERIPH0>,
227                                  <&ccu CLK_PLL    227                                  <&ccu CLK_PLL_AUDIO>;
228                         clock-output-names = "    228                         clock-output-names = "cpus";
229                 };                                229                 };
230                                                   230 
231                 ahbs: clk-ahbs {                  231                 ahbs: clk-ahbs {
232                         compatible = "fixed-fa    232                         compatible = "fixed-factor-clock";
233                         #clock-cells = <0>;       233                         #clock-cells = <0>;
234                         clock-div = <1>;          234                         clock-div = <1>;
235                         clock-mult = <1>;         235                         clock-mult = <1>;
236                         clocks = <&cpus_clk>;     236                         clocks = <&cpus_clk>;
237                         clock-output-names = "    237                         clock-output-names = "ahbs";
238                 };                                238                 };
239                                                   239 
240                 apbs: clk@800141c {               240                 apbs: clk@800141c {
241                         compatible = "allwinne    241                         compatible = "allwinner,sun8i-a23-apb0-clk";
242                         reg = <0x0800141c 0x4>    242                         reg = <0x0800141c 0x4>;
243                         #clock-cells = <0>;       243                         #clock-cells = <0>;
244                         clocks = <&ahbs>;         244                         clocks = <&ahbs>;
245                         clock-output-names = "    245                         clock-output-names = "apbs";
246                 };                                246                 };
247                                                   247 
248                 apbs_gates: clk@8001428 {         248                 apbs_gates: clk@8001428 {
249                         compatible = "allwinne    249                         compatible = "allwinner,sun9i-a80-apbs-gates-clk";
250                         reg = <0x08001428 0x4>    250                         reg = <0x08001428 0x4>;
251                         #clock-cells = <1>;       251                         #clock-cells = <1>;
252                         clocks = <&apbs>;         252                         clocks = <&apbs>;
253                         clock-indices = <0>, <    253                         clock-indices = <0>, <1>,
254                                         <2>, <    254                                         <2>, <3>,
255                                         <4>, <    255                                         <4>, <5>,
256                                         <6>, <    256                                         <6>, <7>,
257                                         <12>,     257                                         <12>, <13>,
258                                         <16>,     258                                         <16>, <17>,
259                                         <18>,     259                                         <18>, <20>;
260                         clock-output-names = "    260                         clock-output-names = "apbs_pio", "apbs_ir",
261                                         "apbs_    261                                         "apbs_timer", "apbs_rsb",
262                                         "apbs_    262                                         "apbs_uart", "apbs_1wire",
263                                         "apbs_    263                                         "apbs_i2c0", "apbs_i2c1",
264                                         "apbs_    264                                         "apbs_ps2_0", "apbs_ps2_1",
265                                         "apbs_    265                                         "apbs_dma", "apbs_i2s0",
266                                         "apbs_    266                                         "apbs_i2s1", "apbs_twd";
267                 };                                267                 };
268                                                   268 
269                 r_1wire_clk: clk@8001450 {        269                 r_1wire_clk: clk@8001450 {
270                         reg = <0x08001450 0x4>    270                         reg = <0x08001450 0x4>;
271                         #clock-cells = <0>;       271                         #clock-cells = <0>;
272                         compatible = "allwinne    272                         compatible = "allwinner,sun4i-a10-mod0-clk";
273                         clocks = <&osc32k>, <&    273                         clocks = <&osc32k>, <&osc24M>;
274                         clock-output-names = "    274                         clock-output-names = "r_1wire";
275                 };                                275                 };
276                                                   276 
277                 r_ir_clk: clk@8001454 {           277                 r_ir_clk: clk@8001454 {
278                         reg = <0x08001454 0x4>    278                         reg = <0x08001454 0x4>;
279                         #clock-cells = <0>;       279                         #clock-cells = <0>;
280                         compatible = "allwinne    280                         compatible = "allwinner,sun4i-a10-mod0-clk";
281                         clocks = <&osc32k>, <&    281                         clocks = <&osc32k>, <&osc24M>;
282                         clock-output-names = "    282                         clock-output-names = "r_ir";
283                 };                                283                 };
284         };                                        284         };
285                                                   285 
286         de: display-engine {                      286         de: display-engine {
287                 compatible = "allwinner,sun9i-    287                 compatible = "allwinner,sun9i-a80-display-engine";
288                 allwinner,pipelines = <&fe0>,     288                 allwinner,pipelines = <&fe0>, <&fe1>;
289                 status = "disabled";              289                 status = "disabled";
290         };                                        290         };
291                                                   291 
292         soc@20000 {                               292         soc@20000 {
293                 compatible = "simple-bus";        293                 compatible = "simple-bus";
294                 #address-cells = <1>;             294                 #address-cells = <1>;
295                 #size-cells = <1>;                295                 #size-cells = <1>;
296                 /*                                296                 /*
297                  * map 64 bit address range do    297                  * map 64 bit address range down to 32 bits,
298                  * as the peripherals are all     298                  * as the peripherals are all under 512MB.
299                  */                               299                  */
300                 ranges = <0 0 0 0x20000000>;      300                 ranges = <0 0 0 0x20000000>;
301                                                   301 
302                 sram_b: sram@20000 {              302                 sram_b: sram@20000 {
303                         /* 256 KiB secure SRAM    303                         /* 256 KiB secure SRAM at 0x20000 */
304                         compatible = "mmio-sra    304                         compatible = "mmio-sram";
305                         reg = <0x00020000 0x40    305                         reg = <0x00020000 0x40000>;
306                                                   306 
307                         #address-cells = <1>;     307                         #address-cells = <1>;
308                         #size-cells = <1>;        308                         #size-cells = <1>;
309                         ranges = <0 0x00020000    309                         ranges = <0 0x00020000 0x40000>;
310                                                   310 
311                         smp-sram@1000 {           311                         smp-sram@1000 {
312                                 /*                312                                 /*
313                                  * This is che    313                                  * This is checked by BROM to determine if
314                                  * cpu0 should    314                                  * cpu0 should jump to SMP entry vector
315                                  */               315                                  */
316                                 compatible = "    316                                 compatible = "allwinner,sun9i-a80-smp-sram";
317                                 reg = <0x1000     317                                 reg = <0x1000 0x8>;
318                         };                        318                         };
319                 };                                319                 };
320                                                   320 
321                 gmac: ethernet@830000 {           321                 gmac: ethernet@830000 {
322                         compatible = "allwinne    322                         compatible = "allwinner,sun7i-a20-gmac";
323                         reg = <0x00830000 0x10    323                         reg = <0x00830000 0x1054>;
324                         interrupts = <GIC_SPI     324                         interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
325                         interrupt-names = "mac    325                         interrupt-names = "macirq";
326                         clocks = <&ccu CLK_BUS    326                         clocks = <&ccu CLK_BUS_GMAC>, <&gmac_tx_clk>;
327                         clock-names = "stmmace    327                         clock-names = "stmmaceth", "allwinner_gmac_tx";
328                         resets = <&ccu RST_BUS    328                         resets = <&ccu RST_BUS_GMAC>;
329                         reset-names = "stmmace    329                         reset-names = "stmmaceth";
330                         snps,pbl = <2>;           330                         snps,pbl = <2>;
331                         snps,fixed-burst;         331                         snps,fixed-burst;
332                         snps,force_sf_dma_mode    332                         snps,force_sf_dma_mode;
333                         status = "disabled";      333                         status = "disabled";
334                                                   334 
335                         mdio: mdio {              335                         mdio: mdio {
336                                 compatible = "    336                                 compatible = "snps,dwmac-mdio";
337                                 #address-cells    337                                 #address-cells = <1>;
338                                 #size-cells =     338                                 #size-cells = <0>;
339                         };                        339                         };
340                 };                                340                 };
341                                                   341 
342                 ehci0: usb@a00000 {               342                 ehci0: usb@a00000 {
343                         compatible = "allwinne    343                         compatible = "allwinner,sun9i-a80-ehci", "generic-ehci";
344                         reg = <0x00a00000 0x10    344                         reg = <0x00a00000 0x100>;
345                         interrupts = <GIC_SPI     345                         interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
346                         clocks = <&usb_clocks     346                         clocks = <&usb_clocks CLK_BUS_HCI0>;
347                         resets = <&usb_clocks     347                         resets = <&usb_clocks RST_USB0_HCI>;
348                         phys = <&usbphy1>;        348                         phys = <&usbphy1>;
349                         phy-names = "usb";        349                         phy-names = "usb";
350                         status = "disabled";      350                         status = "disabled";
351                 };                                351                 };
352                                                   352 
353                 ohci0: usb@a00400 {               353                 ohci0: usb@a00400 {
354                         compatible = "allwinne    354                         compatible = "allwinner,sun9i-a80-ohci", "generic-ohci";
355                         reg = <0x00a00400 0x10    355                         reg = <0x00a00400 0x100>;
356                         interrupts = <GIC_SPI     356                         interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
357                         clocks = <&usb_clocks     357                         clocks = <&usb_clocks CLK_BUS_HCI0>,
358                                  <&usb_clocks     358                                  <&usb_clocks CLK_USB_OHCI0>;
359                         resets = <&usb_clocks     359                         resets = <&usb_clocks RST_USB0_HCI>;
360                         phys = <&usbphy1>;        360                         phys = <&usbphy1>;
361                         phy-names = "usb";        361                         phy-names = "usb";
362                         status = "disabled";      362                         status = "disabled";
363                 };                                363                 };
364                                                   364 
365                 usbphy1: phy@a00800 {             365                 usbphy1: phy@a00800 {
366                         compatible = "allwinne    366                         compatible = "allwinner,sun9i-a80-usb-phy";
367                         reg = <0x00a00800 0x4>    367                         reg = <0x00a00800 0x4>;
368                         clocks = <&usb_clocks     368                         clocks = <&usb_clocks CLK_USB0_PHY>;
369                         clock-names = "phy";      369                         clock-names = "phy";
370                         resets = <&usb_clocks     370                         resets = <&usb_clocks RST_USB0_PHY>;
371                         reset-names = "phy";      371                         reset-names = "phy";
372                         status = "disabled";      372                         status = "disabled";
373                         #phy-cells = <0>;         373                         #phy-cells = <0>;
374                 };                                374                 };
375                                                   375 
376                 ehci1: usb@a01000 {               376                 ehci1: usb@a01000 {
377                         compatible = "allwinne    377                         compatible = "allwinner,sun9i-a80-ehci", "generic-ehci";
378                         reg = <0x00a01000 0x10    378                         reg = <0x00a01000 0x100>;
379                         interrupts = <GIC_SPI     379                         interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
380                         clocks = <&usb_clocks     380                         clocks = <&usb_clocks CLK_BUS_HCI1>;
381                         resets = <&usb_clocks     381                         resets = <&usb_clocks RST_USB1_HCI>;
382                         phys = <&usbphy2>;        382                         phys = <&usbphy2>;
383                         phy-names = "usb";        383                         phy-names = "usb";
384                         status = "disabled";      384                         status = "disabled";
385                 };                                385                 };
386                                                   386 
387                 usbphy2: phy@a01800 {             387                 usbphy2: phy@a01800 {
388                         compatible = "allwinne    388                         compatible = "allwinner,sun9i-a80-usb-phy";
389                         reg = <0x00a01800 0x4>    389                         reg = <0x00a01800 0x4>;
390                         clocks = <&usb_clocks     390                         clocks = <&usb_clocks CLK_USB1_PHY>,
391                                  <&usb_clocks     391                                  <&usb_clocks CLK_USB_HSIC>,
392                                  <&usb_clocks     392                                  <&usb_clocks CLK_USB1_HSIC>;
393                         clock-names = "phy",      393                         clock-names = "phy",
394                                       "hsic_12    394                                       "hsic_12M",
395                                       "hsic_48    395                                       "hsic_480M";
396                         resets = <&usb_clocks     396                         resets = <&usb_clocks RST_USB1_PHY>,
397                                  <&usb_clocks     397                                  <&usb_clocks RST_USB1_HSIC>;
398                         reset-names = "phy",      398                         reset-names = "phy",
399                                       "hsic";     399                                       "hsic";
400                         status = "disabled";      400                         status = "disabled";
401                         #phy-cells = <0>;         401                         #phy-cells = <0>;
402                         /* usb1 is always used    402                         /* usb1 is always used with HSIC */
403                         phy_type = "hsic";        403                         phy_type = "hsic";
404                 };                                404                 };
405                                                   405 
406                 ehci2: usb@a02000 {               406                 ehci2: usb@a02000 {
407                         compatible = "allwinne    407                         compatible = "allwinner,sun9i-a80-ehci", "generic-ehci";
408                         reg = <0x00a02000 0x10    408                         reg = <0x00a02000 0x100>;
409                         interrupts = <GIC_SPI     409                         interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
410                         clocks = <&usb_clocks     410                         clocks = <&usb_clocks CLK_BUS_HCI2>;
411                         resets = <&usb_clocks     411                         resets = <&usb_clocks RST_USB2_HCI>;
412                         phys = <&usbphy3>;        412                         phys = <&usbphy3>;
413                         phy-names = "usb";        413                         phy-names = "usb";
414                         status = "disabled";      414                         status = "disabled";
415                 };                                415                 };
416                                                   416 
417                 ohci2: usb@a02400 {               417                 ohci2: usb@a02400 {
418                         compatible = "allwinne    418                         compatible = "allwinner,sun9i-a80-ohci", "generic-ohci";
419                         reg = <0x00a02400 0x10    419                         reg = <0x00a02400 0x100>;
420                         interrupts = <GIC_SPI     420                         interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
421                         clocks = <&usb_clocks     421                         clocks = <&usb_clocks CLK_BUS_HCI2>,
422                                  <&usb_clocks     422                                  <&usb_clocks CLK_USB_OHCI2>;
423                         resets = <&usb_clocks     423                         resets = <&usb_clocks RST_USB2_HCI>;
424                         phys = <&usbphy3>;        424                         phys = <&usbphy3>;
425                         phy-names = "usb";        425                         phy-names = "usb";
426                         status = "disabled";      426                         status = "disabled";
427                 };                                427                 };
428                                                   428 
429                 usbphy3: phy@a02800 {             429                 usbphy3: phy@a02800 {
430                         compatible = "allwinne    430                         compatible = "allwinner,sun9i-a80-usb-phy";
431                         reg = <0x00a02800 0x4>    431                         reg = <0x00a02800 0x4>;
432                         clocks = <&usb_clocks     432                         clocks = <&usb_clocks CLK_USB2_PHY>,
433                                  <&usb_clocks     433                                  <&usb_clocks CLK_USB_HSIC>,
434                                  <&usb_clocks     434                                  <&usb_clocks CLK_USB2_HSIC>;
435                         clock-names = "phy",      435                         clock-names = "phy",
436                                       "hsic_12    436                                       "hsic_12M",
437                                       "hsic_48    437                                       "hsic_480M";
438                         resets = <&usb_clocks     438                         resets = <&usb_clocks RST_USB2_PHY>,
439                                  <&usb_clocks     439                                  <&usb_clocks RST_USB2_HSIC>;
440                         reset-names = "phy",      440                         reset-names = "phy",
441                                       "hsic";     441                                       "hsic";
442                         status = "disabled";      442                         status = "disabled";
443                         #phy-cells = <0>;         443                         #phy-cells = <0>;
444                 };                                444                 };
445                                                   445 
446                 usb_clocks: clock@a08000 {        446                 usb_clocks: clock@a08000 {
447                         compatible = "allwinne    447                         compatible = "allwinner,sun9i-a80-usb-clks";
448                         reg = <0x00a08000 0x8>    448                         reg = <0x00a08000 0x8>;
449                         clocks = <&ccu CLK_BUS    449                         clocks = <&ccu CLK_BUS_USB>, <&osc24M>;
450                         clock-names = "bus", "    450                         clock-names = "bus", "hosc";
451                         #clock-cells = <1>;       451                         #clock-cells = <1>;
452                         #reset-cells = <1>;       452                         #reset-cells = <1>;
453                 };                                453                 };
454                                                   454 
455                 cpucfg@1700000 {                  455                 cpucfg@1700000 {
456                         compatible = "allwinne    456                         compatible = "allwinner,sun9i-a80-cpucfg";
457                         reg = <0x01700000 0x10    457                         reg = <0x01700000 0x100>;
458                 };                                458                 };
459                                                   459 
460                 crypto: crypto@1c02000 {          460                 crypto: crypto@1c02000 {
461                         compatible = "allwinne    461                         compatible = "allwinner,sun9i-a80-crypto";
462                         reg = <0x01c02000 0x10    462                         reg = <0x01c02000 0x1000>;
463                         interrupts = <GIC_SPI     463                         interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
464                         resets = <&ccu RST_BUS    464                         resets = <&ccu RST_BUS_SS>;
465                         clocks = <&ccu CLK_BUS    465                         clocks = <&ccu CLK_BUS_SS>, <&ccu CLK_SS>;
466                         clock-names = "bus", "    466                         clock-names = "bus", "mod";
467                 };                                467                 };
468                                                   468 
469                 mmc0: mmc@1c0f000 {               469                 mmc0: mmc@1c0f000 {
470                         compatible = "allwinne    470                         compatible = "allwinner,sun9i-a80-mmc";
471                         reg = <0x01c0f000 0x10    471                         reg = <0x01c0f000 0x1000>;
472                         clocks = <&mmc_config_    472                         clocks = <&mmc_config_clk 0>, <&ccu CLK_MMC0>,
473                                  <&ccu CLK_MMC    473                                  <&ccu CLK_MMC0_OUTPUT>,
474                                  <&ccu CLK_MMC    474                                  <&ccu CLK_MMC0_SAMPLE>;
475                         clock-names = "ahb", "    475                         clock-names = "ahb", "mmc", "output", "sample";
476                         resets = <&mmc_config_    476                         resets = <&mmc_config_clk 0>;
477                         reset-names = "ahb";      477                         reset-names = "ahb";
478                         interrupts = <GIC_SPI     478                         interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
479                         status = "disabled";      479                         status = "disabled";
480                         #address-cells = <1>;     480                         #address-cells = <1>;
481                         #size-cells = <0>;        481                         #size-cells = <0>;
482                 };                                482                 };
483                                                   483 
484                 mmc1: mmc@1c10000 {               484                 mmc1: mmc@1c10000 {
485                         compatible = "allwinne    485                         compatible = "allwinner,sun9i-a80-mmc";
486                         reg = <0x01c10000 0x10    486                         reg = <0x01c10000 0x1000>;
487                         clocks = <&mmc_config_    487                         clocks = <&mmc_config_clk 1>, <&ccu CLK_MMC1>,
488                                  <&ccu CLK_MMC    488                                  <&ccu CLK_MMC1_OUTPUT>,
489                                  <&ccu CLK_MMC    489                                  <&ccu CLK_MMC1_SAMPLE>;
490                         clock-names = "ahb", "    490                         clock-names = "ahb", "mmc", "output", "sample";
491                         resets = <&mmc_config_    491                         resets = <&mmc_config_clk 1>;
492                         reset-names = "ahb";      492                         reset-names = "ahb";
493                         interrupts = <GIC_SPI     493                         interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
494                         status = "disabled";      494                         status = "disabled";
495                         #address-cells = <1>;     495                         #address-cells = <1>;
496                         #size-cells = <0>;        496                         #size-cells = <0>;
497                 };                                497                 };
498                                                   498 
499                 mmc2: mmc@1c11000 {               499                 mmc2: mmc@1c11000 {
500                         compatible = "allwinne    500                         compatible = "allwinner,sun9i-a80-mmc";
501                         reg = <0x01c11000 0x10    501                         reg = <0x01c11000 0x1000>;
502                         clocks = <&mmc_config_    502                         clocks = <&mmc_config_clk 2>, <&ccu CLK_MMC2>,
503                                  <&ccu CLK_MMC    503                                  <&ccu CLK_MMC2_OUTPUT>,
504                                  <&ccu CLK_MMC    504                                  <&ccu CLK_MMC2_SAMPLE>;
505                         clock-names = "ahb", "    505                         clock-names = "ahb", "mmc", "output", "sample";
506                         resets = <&mmc_config_    506                         resets = <&mmc_config_clk 2>;
507                         reset-names = "ahb";      507                         reset-names = "ahb";
508                         interrupts = <GIC_SPI     508                         interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
509                         status = "disabled";      509                         status = "disabled";
510                         #address-cells = <1>;     510                         #address-cells = <1>;
511                         #size-cells = <0>;        511                         #size-cells = <0>;
512                 };                                512                 };
513                                                   513 
514                 mmc3: mmc@1c12000 {               514                 mmc3: mmc@1c12000 {
515                         compatible = "allwinne    515                         compatible = "allwinner,sun9i-a80-mmc";
516                         reg = <0x01c12000 0x10    516                         reg = <0x01c12000 0x1000>;
517                         clocks = <&mmc_config_    517                         clocks = <&mmc_config_clk 3>, <&ccu CLK_MMC3>,
518                                  <&ccu CLK_MMC    518                                  <&ccu CLK_MMC3_OUTPUT>,
519                                  <&ccu CLK_MMC    519                                  <&ccu CLK_MMC3_SAMPLE>;
520                         clock-names = "ahb", "    520                         clock-names = "ahb", "mmc", "output", "sample";
521                         resets = <&mmc_config_    521                         resets = <&mmc_config_clk 3>;
522                         reset-names = "ahb";      522                         reset-names = "ahb";
523                         interrupts = <GIC_SPI     523                         interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
524                         status = "disabled";      524                         status = "disabled";
525                         #address-cells = <1>;     525                         #address-cells = <1>;
526                         #size-cells = <0>;        526                         #size-cells = <0>;
527                 };                                527                 };
528                                                   528 
529                 mmc_config_clk: clk@1c13000 {     529                 mmc_config_clk: clk@1c13000 {
530                         compatible = "allwinne    530                         compatible = "allwinner,sun9i-a80-mmc-config-clk";
531                         reg = <0x01c13000 0x10    531                         reg = <0x01c13000 0x10>;
532                         clocks = <&ccu CLK_BUS    532                         clocks = <&ccu CLK_BUS_MMC>;
533                         resets = <&ccu RST_BUS    533                         resets = <&ccu RST_BUS_MMC>;
534                         #clock-cells = <1>;       534                         #clock-cells = <1>;
535                         #reset-cells = <1>;       535                         #reset-cells = <1>;
536                         clock-output-names = "    536                         clock-output-names = "mmc0_config", "mmc1_config",
537                                              "    537                                              "mmc2_config", "mmc3_config";
538                 };                                538                 };
539                                                   539 
540                 gic: interrupt-controller@1c41    540                 gic: interrupt-controller@1c41000 {
541                         compatible = "arm,gic-    541                         compatible = "arm,gic-400";
542                         reg = <0x01c41000 0x10    542                         reg = <0x01c41000 0x1000>,
543                               <0x01c42000 0x20    543                               <0x01c42000 0x2000>,
544                               <0x01c44000 0x20    544                               <0x01c44000 0x2000>,
545                               <0x01c46000 0x20    545                               <0x01c46000 0x2000>;
546                         interrupt-controller;     546                         interrupt-controller;
547                         #interrupt-cells = <3>    547                         #interrupt-cells = <3>;
548                         interrupts = <GIC_PPI     548                         interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
549                 };                                549                 };
550                                                   550 
551                 cci: cci@1c90000 {                551                 cci: cci@1c90000 {
552                         compatible = "arm,cci-    552                         compatible = "arm,cci-400";
553                         #address-cells = <1>;     553                         #address-cells = <1>;
554                         #size-cells = <1>;        554                         #size-cells = <1>;
555                         reg = <0x01c90000 0x10    555                         reg = <0x01c90000 0x1000>;
556                         ranges = <0x0 0x01c900    556                         ranges = <0x0 0x01c90000 0x10000>;
557                                                   557 
558                         cci_control0: slave-if    558                         cci_control0: slave-if@4000 {
559                                 compatible = "    559                                 compatible = "arm,cci-400-ctrl-if";
560                                 interface-type    560                                 interface-type = "ace";
561                                 reg = <0x4000     561                                 reg = <0x4000 0x1000>;
562                         };                        562                         };
563                                                   563 
564                         cci_control1: slave-if    564                         cci_control1: slave-if@5000 {
565                                 compatible = "    565                                 compatible = "arm,cci-400-ctrl-if";
566                                 interface-type    566                                 interface-type = "ace";
567                                 reg = <0x5000     567                                 reg = <0x5000 0x1000>;
568                         };                        568                         };
569                                                   569 
570                         pmu@9000 {                570                         pmu@9000 {
571                                  compatible =     571                                  compatible = "arm,cci-400-pmu,r1";
572                                  reg = <0x9000    572                                  reg = <0x9000 0x5000>;
573                                  interrupts =     573                                  interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
574                                                   574                                               <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
575                                                   575                                               <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
576                                                   576                                               <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
577                                                   577                                               <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>;
578                         };                        578                         };
579                 };                                579                 };
580                                                   580 
581                 de_clocks: clock@3000000 {        581                 de_clocks: clock@3000000 {
582                         compatible = "allwinne    582                         compatible = "allwinner,sun9i-a80-de-clks";
583                         reg = <0x03000000 0x30    583                         reg = <0x03000000 0x30>;
584                         clocks = <&ccu CLK_DE>    584                         clocks = <&ccu CLK_DE>,
585                                  <&ccu CLK_SDR    585                                  <&ccu CLK_SDRAM>,
586                                  <&ccu CLK_BUS    586                                  <&ccu CLK_BUS_DE>;
587                         clock-names = "mod",      587                         clock-names = "mod",
588                                       "dram",     588                                       "dram",
589                                       "bus";      589                                       "bus";
590                         resets = <&ccu RST_BUS    590                         resets = <&ccu RST_BUS_DE>;
591                         #clock-cells = <1>;       591                         #clock-cells = <1>;
592                         #reset-cells = <1>;       592                         #reset-cells = <1>;
593                 };                                593                 };
594                                                   594 
595                 fe0: display-frontend@3100000     595                 fe0: display-frontend@3100000 {
596                         compatible = "allwinne    596                         compatible = "allwinner,sun9i-a80-display-frontend";
597                         reg = <0x03100000 0x40    597                         reg = <0x03100000 0x40000>;
598                         interrupts = <GIC_SPI     598                         interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
599                         clocks = <&de_clocks C    599                         clocks = <&de_clocks CLK_BUS_FE0>, <&de_clocks CLK_FE0>,
600                                  <&de_clocks C    600                                  <&de_clocks CLK_DRAM_FE0>;
601                         clock-names = "ahb", "    601                         clock-names = "ahb", "mod",
602                                       "ram";      602                                       "ram";
603                         resets = <&de_clocks R    603                         resets = <&de_clocks RST_FE0>;
604                                                   604 
605                         ports {                   605                         ports {
606                                 #address-cells    606                                 #address-cells = <1>;
607                                 #size-cells =     607                                 #size-cells = <0>;
608                                                   608 
609                                 fe0_out: port@    609                                 fe0_out: port@1 {
610                                         reg =     610                                         reg = <1>;
611                                                   611 
612                                         fe0_ou    612                                         fe0_out_deu0: endpoint {
613                                                   613                                                 remote-endpoint = <&deu0_in_fe0>;
614                                         };        614                                         };
615                                 };                615                                 };
616                         };                        616                         };
617                 };                                617                 };
618                                                   618 
619                 fe1: display-frontend@3140000     619                 fe1: display-frontend@3140000 {
620                         compatible = "allwinne    620                         compatible = "allwinner,sun9i-a80-display-frontend";
621                         reg = <0x03140000 0x40    621                         reg = <0x03140000 0x40000>;
622                         interrupts = <GIC_SPI     622                         interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
623                         clocks = <&de_clocks C    623                         clocks = <&de_clocks CLK_BUS_FE1>, <&de_clocks CLK_FE1>,
624                                  <&de_clocks C    624                                  <&de_clocks CLK_DRAM_FE1>;
625                         clock-names = "ahb", "    625                         clock-names = "ahb", "mod",
626                                       "ram";      626                                       "ram";
627                         resets = <&de_clocks R    627                         resets = <&de_clocks RST_FE0>;
628                                                   628 
629                         ports {                   629                         ports {
630                                 #address-cells    630                                 #address-cells = <1>;
631                                 #size-cells =     631                                 #size-cells = <0>;
632                                                   632 
633                                 fe1_out: port@    633                                 fe1_out: port@1 {
634                                         reg =     634                                         reg = <1>;
635                                                   635 
636                                         fe1_ou    636                                         fe1_out_deu1: endpoint {
637                                                   637                                                 remote-endpoint = <&deu1_in_fe1>;
638                                         };        638                                         };
639                                 };                639                                 };
640                         };                        640                         };
641                 };                                641                 };
642                                                   642 
643                 be0: display-backend@3200000 {    643                 be0: display-backend@3200000 {
644                         compatible = "allwinne    644                         compatible = "allwinner,sun9i-a80-display-backend";
645                         reg = <0x03200000 0x40    645                         reg = <0x03200000 0x40000>;
646                         interrupts = <GIC_SPI     646                         interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
647                         clocks = <&de_clocks C    647                         clocks = <&de_clocks CLK_BUS_BE0>, <&de_clocks CLK_BE0>,
648                                  <&de_clocks C    648                                  <&de_clocks CLK_DRAM_BE0>;
649                         clock-names = "ahb", "    649                         clock-names = "ahb", "mod",
650                                       "ram";      650                                       "ram";
651                         resets = <&de_clocks R    651                         resets = <&de_clocks RST_BE0>;
652                                                   652 
653                         ports {                   653                         ports {
654                                 #address-cells    654                                 #address-cells = <1>;
655                                 #size-cells =     655                                 #size-cells = <0>;
656                                                   656 
657                                 be0_in: port@0    657                                 be0_in: port@0 {
658                                         #addre    658                                         #address-cells = <1>;
659                                         #size-    659                                         #size-cells = <0>;
660                                         reg =     660                                         reg = <0>;
661                                                   661 
662                                         be0_in    662                                         be0_in_deu0: endpoint@0 {
663                                                   663                                                 reg = <0>;
664                                                   664                                                 remote-endpoint = <&deu0_out_be0>;
665                                         };        665                                         };
666                                                   666 
667                                         be0_in    667                                         be0_in_deu1: endpoint@1 {
668                                                   668                                                 reg = <1>;
669                                                   669                                                 remote-endpoint = <&deu1_out_be0>;
670                                         };        670                                         };
671                                 };                671                                 };
672                                                   672 
673                                 be0_out: port@    673                                 be0_out: port@1 {
674                                         reg =     674                                         reg = <1>;
675                                                   675 
676                                         be0_ou    676                                         be0_out_drc0: endpoint {
677                                                   677                                                 remote-endpoint = <&drc0_in_be0>;
678                                         };        678                                         };
679                                 };                679                                 };
680                         };                        680                         };
681                 };                                681                 };
682                                                   682 
683                 be1: display-backend@3240000 {    683                 be1: display-backend@3240000 {
684                         compatible = "allwinne    684                         compatible = "allwinner,sun9i-a80-display-backend";
685                         reg = <0x03240000 0x40    685                         reg = <0x03240000 0x40000>;
686                         interrupts = <GIC_SPI     686                         interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
687                         clocks = <&de_clocks C    687                         clocks = <&de_clocks CLK_BUS_BE1>, <&de_clocks CLK_BE1>,
688                                  <&de_clocks C    688                                  <&de_clocks CLK_DRAM_BE1>;
689                         clock-names = "ahb", "    689                         clock-names = "ahb", "mod",
690                                       "ram";      690                                       "ram";
691                         resets = <&de_clocks R    691                         resets = <&de_clocks RST_BE1>;
692                                                   692 
693                         ports {                   693                         ports {
694                                 #address-cells    694                                 #address-cells = <1>;
695                                 #size-cells =     695                                 #size-cells = <0>;
696                                                   696 
697                                 be1_in: port@0    697                                 be1_in: port@0 {
698                                         #addre    698                                         #address-cells = <1>;
699                                         #size-    699                                         #size-cells = <0>;
700                                         reg =     700                                         reg = <0>;
701                                                   701 
702                                         be1_in    702                                         be1_in_deu0: endpoint@0 {
703                                                   703                                                 reg = <0>;
704                                                   704                                                 remote-endpoint = <&deu0_out_be1>;
705                                         };        705                                         };
706                                                   706 
707                                         be1_in    707                                         be1_in_deu1: endpoint@1 {
708                                                   708                                                 reg = <1>;
709                                                   709                                                 remote-endpoint = <&deu1_out_be1>;
710                                         };        710                                         };
711                                 };                711                                 };
712                                                   712 
713                                 be1_out: port@    713                                 be1_out: port@1 {
714                                         reg =     714                                         reg = <1>;
715                                                   715 
716                                         be1_ou    716                                         be1_out_drc1: endpoint {
717                                                   717                                                 remote-endpoint = <&drc1_in_be1>;
718                                         };        718                                         };
719                                 };                719                                 };
720                         };                        720                         };
721                 };                                721                 };
722                                                   722 
723                 deu0: deu@3300000 {               723                 deu0: deu@3300000 {
724                         compatible = "allwinne    724                         compatible = "allwinner,sun9i-a80-deu";
725                         reg = <0x03300000 0x40    725                         reg = <0x03300000 0x40000>;
726                         interrupts = <GIC_SPI     726                         interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
727                         clocks = <&de_clocks C    727                         clocks = <&de_clocks CLK_BUS_DEU0>,
728                                  <&de_clocks C    728                                  <&de_clocks CLK_IEP_DEU0>,
729                                  <&de_clocks C    729                                  <&de_clocks CLK_DRAM_DEU0>;
730                         clock-names = "ahb",      730                         clock-names = "ahb",
731                                       "mod",      731                                       "mod",
732                                       "ram";      732                                       "ram";
733                         resets = <&de_clocks R    733                         resets = <&de_clocks RST_DEU0>;
734                                                   734 
735                         ports {                   735                         ports {
736                                 #address-cells    736                                 #address-cells = <1>;
737                                 #size-cells =     737                                 #size-cells = <0>;
738                                                   738 
739                                 deu0_in: port@    739                                 deu0_in: port@0 {
740                                         reg =     740                                         reg = <0>;
741                                                   741 
742                                         deu0_i    742                                         deu0_in_fe0: endpoint {
743                                                   743                                                 remote-endpoint = <&fe0_out_deu0>;
744                                         };        744                                         };
745                                 };                745                                 };
746                                                   746 
747                                 deu0_out: port    747                                 deu0_out: port@1 {
748                                         #addre    748                                         #address-cells = <1>;
749                                         #size-    749                                         #size-cells = <0>;
750                                         reg =     750                                         reg = <1>;
751                                                   751 
752                                         deu0_o    752                                         deu0_out_be0: endpoint@0 {
753                                                   753                                                 reg = <0>;
754                                                   754                                                 remote-endpoint = <&be0_in_deu0>;
755                                         };        755                                         };
756                                                   756 
757                                         deu0_o    757                                         deu0_out_be1: endpoint@1 {
758                                                   758                                                 reg = <1>;
759                                                   759                                                 remote-endpoint = <&be1_in_deu0>;
760                                         };        760                                         };
761                                 };                761                                 };
762                         };                        762                         };
763                 };                                763                 };
764                                                   764 
765                 deu1: deu@3340000 {               765                 deu1: deu@3340000 {
766                         compatible = "allwinne    766                         compatible = "allwinner,sun9i-a80-deu";
767                         reg = <0x03340000 0x40    767                         reg = <0x03340000 0x40000>;
768                         interrupts = <GIC_SPI     768                         interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
769                         clocks = <&de_clocks C    769                         clocks = <&de_clocks CLK_BUS_DEU1>,
770                                  <&de_clocks C    770                                  <&de_clocks CLK_IEP_DEU1>,
771                                  <&de_clocks C    771                                  <&de_clocks CLK_DRAM_DEU1>;
772                         clock-names = "ahb",      772                         clock-names = "ahb",
773                                       "mod",      773                                       "mod",
774                                       "ram";      774                                       "ram";
775                         resets = <&de_clocks R    775                         resets = <&de_clocks RST_DEU1>;
776                                                   776 
777                         ports {                   777                         ports {
778                                 #address-cells    778                                 #address-cells = <1>;
779                                 #size-cells =     779                                 #size-cells = <0>;
780                                                   780 
781                                 deu1_in: port@    781                                 deu1_in: port@0 {
782                                         reg =     782                                         reg = <0>;
783                                                   783 
784                                         deu1_i    784                                         deu1_in_fe1: endpoint {
785                                                   785                                                 remote-endpoint = <&fe1_out_deu1>;
786                                         };        786                                         };
787                                 };                787                                 };
788                                                   788 
789                                 deu1_out: port    789                                 deu1_out: port@1 {
790                                         #addre    790                                         #address-cells = <1>;
791                                         #size-    791                                         #size-cells = <0>;
792                                         reg =     792                                         reg = <1>;
793                                                   793 
794                                         deu1_o    794                                         deu1_out_be0: endpoint@0 {
795                                                   795                                                 reg = <0>;
796                                                   796                                                 remote-endpoint = <&be0_in_deu1>;
797                                         };        797                                         };
798                                                   798 
799                                         deu1_o    799                                         deu1_out_be1: endpoint@1 {
800                                                   800                                                 reg = <1>;
801                                                   801                                                 remote-endpoint = <&be1_in_deu1>;
802                                         };        802                                         };
803                                 };                803                                 };
804                         };                        804                         };
805                 };                                805                 };
806                                                   806 
807                 drc0: drc@3400000 {               807                 drc0: drc@3400000 {
808                         compatible = "allwinne    808                         compatible = "allwinner,sun9i-a80-drc";
809                         reg = <0x03400000 0x40    809                         reg = <0x03400000 0x40000>;
810                         interrupts = <GIC_SPI     810                         interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
811                         clocks = <&de_clocks C    811                         clocks = <&de_clocks CLK_BUS_DRC0>,
812                                  <&de_clocks C    812                                  <&de_clocks CLK_IEP_DRC0>,
813                                  <&de_clocks C    813                                  <&de_clocks CLK_DRAM_DRC0>;
814                         clock-names = "ahb",      814                         clock-names = "ahb",
815                                       "mod",      815                                       "mod",
816                                       "ram";      816                                       "ram";
817                         resets = <&de_clocks R    817                         resets = <&de_clocks RST_DRC0>;
818                                                   818 
819                         ports {                   819                         ports {
820                                 #address-cells    820                                 #address-cells = <1>;
821                                 #size-cells =     821                                 #size-cells = <0>;
822                                                   822 
823                                 drc0_in: port@    823                                 drc0_in: port@0 {
824                                         reg =     824                                         reg = <0>;
825                                                   825 
826                                         drc0_i    826                                         drc0_in_be0: endpoint {
827                                                   827                                                 remote-endpoint = <&be0_out_drc0>;
828                                         };        828                                         };
829                                 };                829                                 };
830                                                   830 
831                                 drc0_out: port    831                                 drc0_out: port@1 {
832                                         reg =     832                                         reg = <1>;
833                                                   833 
834                                         drc0_o    834                                         drc0_out_tcon0: endpoint {
835                                                   835                                                 remote-endpoint = <&tcon0_in_drc0>;
836                                         };        836                                         };
837                                 };                837                                 };
838                         };                        838                         };
839                 };                                839                 };
840                                                   840 
841                 drc1: drc@3440000 {               841                 drc1: drc@3440000 {
842                         compatible = "allwinne    842                         compatible = "allwinner,sun9i-a80-drc";
843                         reg = <0x03440000 0x40    843                         reg = <0x03440000 0x40000>;
844                         interrupts = <GIC_SPI     844                         interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
845                         clocks = <&de_clocks C    845                         clocks = <&de_clocks CLK_BUS_DRC1>,
846                                  <&de_clocks C    846                                  <&de_clocks CLK_IEP_DRC1>,
847                                  <&de_clocks C    847                                  <&de_clocks CLK_DRAM_DRC1>;
848                         clock-names = "ahb",      848                         clock-names = "ahb",
849                                       "mod",      849                                       "mod",
850                                       "ram";      850                                       "ram";
851                         resets = <&de_clocks R    851                         resets = <&de_clocks RST_DRC1>;
852                                                   852 
853                         ports {                   853                         ports {
854                                 #address-cells    854                                 #address-cells = <1>;
855                                 #size-cells =     855                                 #size-cells = <0>;
856                                                   856 
857                                 drc1_in: port@    857                                 drc1_in: port@0 {
858                                         reg =     858                                         reg = <0>;
859                                                   859 
860                                         drc1_i    860                                         drc1_in_be1: endpoint {
861                                                   861                                                 remote-endpoint = <&be1_out_drc1>;
862                                         };        862                                         };
863                                 };                863                                 };
864                                                   864 
865                                 drc1_out: port    865                                 drc1_out: port@1 {
866                                         reg =     866                                         reg = <1>;
867                                                   867 
868                                         drc1_o    868                                         drc1_out_tcon1: endpoint {
869                                                   869                                                 remote-endpoint = <&tcon1_in_drc1>;
870                                         };        870                                         };
871                                 };                871                                 };
872                         };                        872                         };
873                 };                                873                 };
874                                                   874 
875                 tcon0: lcd-controller@3c00000     875                 tcon0: lcd-controller@3c00000 {
876                         compatible = "allwinne    876                         compatible = "allwinner,sun9i-a80-tcon-lcd";
877                         reg = <0x03c00000 0x10    877                         reg = <0x03c00000 0x10000>;
878                         interrupts = <GIC_SPI     878                         interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
879                         clocks = <&ccu CLK_BUS    879                         clocks = <&ccu CLK_BUS_LCD0>, <&ccu CLK_LCD0>;
880                         clock-names = "ahb", "    880                         clock-names = "ahb", "tcon-ch0";
881                         resets = <&ccu RST_BUS    881                         resets = <&ccu RST_BUS_LCD0>,
882                                  <&ccu RST_BUS    882                                  <&ccu RST_BUS_EDP>,
883                                  <&ccu RST_BUS    883                                  <&ccu RST_BUS_LVDS>;
884                         reset-names = "lcd",      884                         reset-names = "lcd",
885                                       "edp",      885                                       "edp",
886                                       "lvds";     886                                       "lvds";
887                         clock-output-names = "    887                         clock-output-names = "tcon0-pixel-clock";
888                         #clock-cells = <0>;       888                         #clock-cells = <0>;
889                                                   889 
890                         ports {                   890                         ports {
891                                 #address-cells    891                                 #address-cells = <1>;
892                                 #size-cells =     892                                 #size-cells = <0>;
893                                                   893 
894                                 tcon0_in: port    894                                 tcon0_in: port@0 {
895                                         reg =     895                                         reg = <0>;
896                                                   896 
897                                         tcon0_    897                                         tcon0_in_drc0: endpoint {
898                                                   898                                                 remote-endpoint = <&drc0_out_tcon0>;
899                                         };        899                                         };
900                                 };                900                                 };
901                                                   901 
902                                 tcon0_out: por    902                                 tcon0_out: port@1 {
903                                         reg =     903                                         reg = <1>;
904                                 };                904                                 };
905                         };                        905                         };
906                 };                                906                 };
907                                                   907 
908                 tcon1: lcd-controller@3c10000     908                 tcon1: lcd-controller@3c10000 {
909                         compatible = "allwinne    909                         compatible = "allwinner,sun9i-a80-tcon-tv";
910                         reg = <0x03c10000 0x10    910                         reg = <0x03c10000 0x10000>;
911                         interrupts = <GIC_SPI     911                         interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
912                         clocks = <&ccu CLK_BUS    912                         clocks = <&ccu CLK_BUS_LCD1>, <&ccu CLK_LCD1>;
913                         clock-names = "ahb", "    913                         clock-names = "ahb", "tcon-ch1";
914                         resets = <&ccu RST_BUS    914                         resets = <&ccu RST_BUS_LCD1>, <&ccu RST_BUS_EDP>;
915                         reset-names = "lcd", "    915                         reset-names = "lcd", "edp";
916                                                   916 
917                         ports {                   917                         ports {
918                                 #address-cells    918                                 #address-cells = <1>;
919                                 #size-cells =     919                                 #size-cells = <0>;
920                                                   920 
921                                 tcon1_in: port    921                                 tcon1_in: port@0 {
922                                         reg =     922                                         reg = <0>;
923                                                   923 
924                                         tcon1_    924                                         tcon1_in_drc1: endpoint {
925                                                   925                                                 remote-endpoint = <&drc1_out_tcon1>;
926                                         };        926                                         };
927                                 };                927                                 };
928                                                   928 
929                                 tcon1_out: por    929                                 tcon1_out: port@1 {
930                                         reg =     930                                         reg = <1>;
931                                 };                931                                 };
932                         };                        932                         };
933                 };                                933                 };
934                                                   934 
935                 ccu: clock@6000000 {              935                 ccu: clock@6000000 {
936                         compatible = "allwinne    936                         compatible = "allwinner,sun9i-a80-ccu";
937                         reg = <0x06000000 0x80    937                         reg = <0x06000000 0x800>;
938                         clocks = <&osc24M>, <&    938                         clocks = <&osc24M>, <&osc32k>;
939                         clock-names = "hosc",     939                         clock-names = "hosc", "losc";
940                         #clock-cells = <1>;       940                         #clock-cells = <1>;
941                         #reset-cells = <1>;       941                         #reset-cells = <1>;
942                 };                                942                 };
943                                                   943 
944                 timer@6000c00 {                   944                 timer@6000c00 {
945                         compatible = "allwinne    945                         compatible = "allwinner,sun4i-a10-timer";
946                         reg = <0x06000c00 0xa0    946                         reg = <0x06000c00 0xa0>;
947                         interrupts = <GIC_SPI     947                         interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>,
948                                      <GIC_SPI     948                                      <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>,
949                                      <GIC_SPI     949                                      <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>,
950                                      <GIC_SPI     950                                      <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>,
951                                      <GIC_SPI     951                                      <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>,
952                                      <GIC_SPI     952                                      <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
953                                                   953 
954                         clocks = <&osc24M>;       954                         clocks = <&osc24M>;
955                 };                                955                 };
956                                                   956 
957                 wdt: watchdog@6000ca0 {           957                 wdt: watchdog@6000ca0 {
958                         compatible = "allwinne    958                         compatible = "allwinner,sun6i-a31-wdt";
959                         reg = <0x06000ca0 0x20    959                         reg = <0x06000ca0 0x20>;
960                         interrupts = <GIC_SPI     960                         interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
961                         clocks = <&osc24M>;       961                         clocks = <&osc24M>;
962                 };                                962                 };
963                                                   963 
964                 pio: pinctrl@6000800 {            964                 pio: pinctrl@6000800 {
965                         compatible = "allwinne    965                         compatible = "allwinner,sun9i-a80-pinctrl";
966                         reg = <0x06000800 0x40    966                         reg = <0x06000800 0x400>;
967                         interrupts = <GIC_SPI     967                         interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
968                                      <GIC_SPI     968                                      <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>,
969                                      <GIC_SPI     969                                      <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
970                                      <GIC_SPI     970                                      <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>,
971                                      <GIC_SPI     971                                      <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
972                         clocks = <&ccu CLK_BUS    972                         clocks = <&ccu CLK_BUS_PIO>, <&osc24M>, <&osc32k>;
973                         clock-names = "apb", "    973                         clock-names = "apb", "hosc", "losc";
974                         gpio-controller;          974                         gpio-controller;
975                         interrupt-controller;     975                         interrupt-controller;
976                         #interrupt-cells = <3>    976                         #interrupt-cells = <3>;
977                         #gpio-cells = <3>;        977                         #gpio-cells = <3>;
978                                                   978 
979                         gmac_rgmii_pins: gmac-    979                         gmac_rgmii_pins: gmac-rgmii-pins {
980                                 pins = "PA0",     980                                 pins = "PA0", "PA1", "PA2", "PA3", "PA4", "PA5",
981                                        "PA7",     981                                        "PA7", "PA8", "PA9", "PA10", "PA12",
982                                        "PA13",    982                                        "PA13", "PA15", "PA16", "PA17";
983                                 function = "gm    983                                 function = "gmac";
984                                 /*                984                                 /*
985                                  * data lines     985                                  * data lines in RGMII mode use DDR mode
986                                  * and need a     986                                  * and need a higher signal drive strength
987                                  */               987                                  */
988                                 drive-strength    988                                 drive-strength = <40>;
989                         };                        989                         };
990                                                   990 
991                         i2c3_pins: i2c3-pins {    991                         i2c3_pins: i2c3-pins {
992                                 pins = "PG10",    992                                 pins = "PG10", "PG11";
993                                 function = "i2    993                                 function = "i2c3";
994                         };                        994                         };
995                                                   995 
996                         lcd0_rgb888_pins: lcd0    996                         lcd0_rgb888_pins: lcd0-rgb888-pins {
997                                 pins = "PD0",     997                                 pins = "PD0", "PD1", "PD2", "PD3",
998                                        "PD4",     998                                        "PD4", "PD5", "PD6", "PD7",
999                                        "PD8",     999                                        "PD8", "PD9", "PD10", "PD11",
1000                                        "PD12"    1000                                        "PD12", "PD13", "PD14", "PD15",
1001                                        "PD16"    1001                                        "PD16", "PD17", "PD18", "PD19",
1002                                        "PD20"    1002                                        "PD20", "PD21", "PD22", "PD23",
1003                                        "PD24"    1003                                        "PD24", "PD25", "PD26", "PD27";
1004                                 function = "l    1004                                 function = "lcd0";
1005                         };                       1005                         };
1006                                                  1006 
1007                         mmc0_pins: mmc0-pins     1007                         mmc0_pins: mmc0-pins {
1008                                 pins = "PF0",    1008                                 pins = "PF0", "PF1" ,"PF2", "PF3",
1009                                        "PF4",    1009                                        "PF4", "PF5";
1010                                 function = "m    1010                                 function = "mmc0";
1011                                 drive-strengt    1011                                 drive-strength = <30>;
1012                                 bias-pull-up;    1012                                 bias-pull-up;
1013                         };                       1013                         };
1014                                                  1014 
1015                         mmc1_pins: mmc1-pins     1015                         mmc1_pins: mmc1-pins {
1016                                 pins = "PG0",    1016                                 pins = "PG0", "PG1" ,"PG2", "PG3",
1017                                                  1017                                                  "PG4", "PG5";
1018                                 function = "m    1018                                 function = "mmc1";
1019                                 drive-strengt    1019                                 drive-strength = <30>;
1020                                 bias-pull-up;    1020                                 bias-pull-up;
1021                         };                       1021                         };
1022                                                  1022 
1023                         mmc2_8bit_pins: mmc2-    1023                         mmc2_8bit_pins: mmc2-8bit-pins {
1024                                 pins = "PC6",    1024                                 pins = "PC6", "PC7", "PC8", "PC9",
1025                                        "PC10"    1025                                        "PC10", "PC11", "PC12",
1026                                        "PC13"    1026                                        "PC13", "PC14", "PC15",
1027                                        "PC16"    1027                                        "PC16";
1028                                 function = "m    1028                                 function = "mmc2";
1029                                 drive-strengt    1029                                 drive-strength = <30>;
1030                                 bias-pull-up;    1030                                 bias-pull-up;
1031                         };                       1031                         };
1032                                                  1032 
1033                         uart0_ph_pins: uart0-    1033                         uart0_ph_pins: uart0-ph-pins {
1034                                 pins = "PH12"    1034                                 pins = "PH12", "PH13";
1035                                 function = "u    1035                                 function = "uart0";
1036                         };                       1036                         };
1037                                                  1037 
1038                         uart4_pins: uart4-pin    1038                         uart4_pins: uart4-pins {
1039                                 pins = "PG12"    1039                                 pins = "PG12", "PG13", "PG14", "PG15";
1040                                 function = "u    1040                                 function = "uart4";
1041                         };                       1041                         };
1042                 };                               1042                 };
1043                                                  1043 
1044                 uart0: serial@7000000 {          1044                 uart0: serial@7000000 {
1045                         compatible = "snps,dw    1045                         compatible = "snps,dw-apb-uart";
1046                         reg = <0x07000000 0x4    1046                         reg = <0x07000000 0x400>;
1047                         interrupts = <GIC_SPI    1047                         interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
1048                         reg-shift = <2>;         1048                         reg-shift = <2>;
1049                         reg-io-width = <4>;      1049                         reg-io-width = <4>;
1050                         clocks = <&ccu CLK_BU    1050                         clocks = <&ccu CLK_BUS_UART0>;
1051                         resets = <&ccu RST_BU    1051                         resets = <&ccu RST_BUS_UART0>;
1052                         status = "disabled";     1052                         status = "disabled";
1053                 };                               1053                 };
1054                                                  1054 
1055                 uart1: serial@7000400 {          1055                 uart1: serial@7000400 {
1056                         compatible = "snps,dw    1056                         compatible = "snps,dw-apb-uart";
1057                         reg = <0x07000400 0x4    1057                         reg = <0x07000400 0x400>;
1058                         interrupts = <GIC_SPI    1058                         interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
1059                         reg-shift = <2>;         1059                         reg-shift = <2>;
1060                         reg-io-width = <4>;      1060                         reg-io-width = <4>;
1061                         clocks = <&ccu CLK_BU    1061                         clocks = <&ccu CLK_BUS_UART1>;
1062                         resets = <&ccu RST_BU    1062                         resets = <&ccu RST_BUS_UART1>;
1063                         status = "disabled";     1063                         status = "disabled";
1064                 };                               1064                 };
1065                                                  1065 
1066                 uart2: serial@7000800 {          1066                 uart2: serial@7000800 {
1067                         compatible = "snps,dw    1067                         compatible = "snps,dw-apb-uart";
1068                         reg = <0x07000800 0x4    1068                         reg = <0x07000800 0x400>;
1069                         interrupts = <GIC_SPI    1069                         interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
1070                         reg-shift = <2>;         1070                         reg-shift = <2>;
1071                         reg-io-width = <4>;      1071                         reg-io-width = <4>;
1072                         clocks = <&ccu CLK_BU    1072                         clocks = <&ccu CLK_BUS_UART2>;
1073                         resets = <&ccu RST_BU    1073                         resets = <&ccu RST_BUS_UART2>;
1074                         status = "disabled";     1074                         status = "disabled";
1075                 };                               1075                 };
1076                                                  1076 
1077                 uart3: serial@7000c00 {          1077                 uart3: serial@7000c00 {
1078                         compatible = "snps,dw    1078                         compatible = "snps,dw-apb-uart";
1079                         reg = <0x07000c00 0x4    1079                         reg = <0x07000c00 0x400>;
1080                         interrupts = <GIC_SPI    1080                         interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
1081                         reg-shift = <2>;         1081                         reg-shift = <2>;
1082                         reg-io-width = <4>;      1082                         reg-io-width = <4>;
1083                         clocks = <&ccu CLK_BU    1083                         clocks = <&ccu CLK_BUS_UART3>;
1084                         resets = <&ccu RST_BU    1084                         resets = <&ccu RST_BUS_UART3>;
1085                         status = "disabled";     1085                         status = "disabled";
1086                 };                               1086                 };
1087                                                  1087 
1088                 uart4: serial@7001000 {          1088                 uart4: serial@7001000 {
1089                         compatible = "snps,dw    1089                         compatible = "snps,dw-apb-uart";
1090                         reg = <0x07001000 0x4    1090                         reg = <0x07001000 0x400>;
1091                         interrupts = <GIC_SPI    1091                         interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
1092                         reg-shift = <2>;         1092                         reg-shift = <2>;
1093                         reg-io-width = <4>;      1093                         reg-io-width = <4>;
1094                         clocks = <&ccu CLK_BU    1094                         clocks = <&ccu CLK_BUS_UART4>;
1095                         resets = <&ccu RST_BU    1095                         resets = <&ccu RST_BUS_UART4>;
1096                         status = "disabled";     1096                         status = "disabled";
1097                 };                               1097                 };
1098                                                  1098 
1099                 uart5: serial@7001400 {          1099                 uart5: serial@7001400 {
1100                         compatible = "snps,dw    1100                         compatible = "snps,dw-apb-uart";
1101                         reg = <0x07001400 0x4    1101                         reg = <0x07001400 0x400>;
1102                         interrupts = <GIC_SPI    1102                         interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
1103                         reg-shift = <2>;         1103                         reg-shift = <2>;
1104                         reg-io-width = <4>;      1104                         reg-io-width = <4>;
1105                         clocks = <&ccu CLK_BU    1105                         clocks = <&ccu CLK_BUS_UART5>;
1106                         resets = <&ccu RST_BU    1106                         resets = <&ccu RST_BUS_UART5>;
1107                         status = "disabled";     1107                         status = "disabled";
1108                 };                               1108                 };
1109                                                  1109 
1110                 i2c0: i2c@7002800 {              1110                 i2c0: i2c@7002800 {
1111                         compatible = "allwinn    1111                         compatible = "allwinner,sun6i-a31-i2c";
1112                         reg = <0x07002800 0x4    1112                         reg = <0x07002800 0x400>;
1113                         interrupts = <GIC_SPI    1113                         interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
1114                         clocks = <&ccu CLK_BU    1114                         clocks = <&ccu CLK_BUS_I2C0>;
1115                         resets = <&ccu RST_BU    1115                         resets = <&ccu RST_BUS_I2C0>;
1116                         status = "disabled";     1116                         status = "disabled";
1117                         #address-cells = <1>;    1117                         #address-cells = <1>;
1118                         #size-cells = <0>;       1118                         #size-cells = <0>;
1119                 };                               1119                 };
1120                                                  1120 
1121                 i2c1: i2c@7002c00 {              1121                 i2c1: i2c@7002c00 {
1122                         compatible = "allwinn    1122                         compatible = "allwinner,sun6i-a31-i2c";
1123                         reg = <0x07002c00 0x4    1123                         reg = <0x07002c00 0x400>;
1124                         interrupts = <GIC_SPI    1124                         interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
1125                         clocks = <&ccu CLK_BU    1125                         clocks = <&ccu CLK_BUS_I2C1>;
1126                         resets = <&ccu RST_BU    1126                         resets = <&ccu RST_BUS_I2C1>;
1127                         status = "disabled";     1127                         status = "disabled";
1128                         #address-cells = <1>;    1128                         #address-cells = <1>;
1129                         #size-cells = <0>;       1129                         #size-cells = <0>;
1130                 };                               1130                 };
1131                                                  1131 
1132                 i2c2: i2c@7003000 {              1132                 i2c2: i2c@7003000 {
1133                         compatible = "allwinn    1133                         compatible = "allwinner,sun6i-a31-i2c";
1134                         reg = <0x07003000 0x4    1134                         reg = <0x07003000 0x400>;
1135                         interrupts = <GIC_SPI    1135                         interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
1136                         clocks = <&ccu CLK_BU    1136                         clocks = <&ccu CLK_BUS_I2C2>;
1137                         resets = <&ccu RST_BU    1137                         resets = <&ccu RST_BUS_I2C2>;
1138                         status = "disabled";     1138                         status = "disabled";
1139                         #address-cells = <1>;    1139                         #address-cells = <1>;
1140                         #size-cells = <0>;       1140                         #size-cells = <0>;
1141                 };                               1141                 };
1142                                                  1142 
1143                 i2c3: i2c@7003400 {              1143                 i2c3: i2c@7003400 {
1144                         compatible = "allwinn    1144                         compatible = "allwinner,sun6i-a31-i2c";
1145                         reg = <0x07003400 0x4    1145                         reg = <0x07003400 0x400>;
1146                         interrupts = <GIC_SPI    1146                         interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
1147                         clocks = <&ccu CLK_BU    1147                         clocks = <&ccu CLK_BUS_I2C3>;
1148                         resets = <&ccu RST_BU    1148                         resets = <&ccu RST_BUS_I2C3>;
1149                         status = "disabled";     1149                         status = "disabled";
1150                         #address-cells = <1>;    1150                         #address-cells = <1>;
1151                         #size-cells = <0>;       1151                         #size-cells = <0>;
1152                 };                               1152                 };
1153                                                  1153 
1154                 i2c4: i2c@7003800 {              1154                 i2c4: i2c@7003800 {
1155                         compatible = "allwinn    1155                         compatible = "allwinner,sun6i-a31-i2c";
1156                         reg = <0x07003800 0x4    1156                         reg = <0x07003800 0x400>;
1157                         interrupts = <GIC_SPI    1157                         interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
1158                         clocks = <&ccu CLK_BU    1158                         clocks = <&ccu CLK_BUS_I2C4>;
1159                         resets = <&ccu RST_BU    1159                         resets = <&ccu RST_BUS_I2C4>;
1160                         status = "disabled";     1160                         status = "disabled";
1161                         #address-cells = <1>;    1161                         #address-cells = <1>;
1162                         #size-cells = <0>;       1162                         #size-cells = <0>;
1163                 };                               1163                 };
1164                                                  1164 
1165                 r_wdt: watchdog@8001000 {        1165                 r_wdt: watchdog@8001000 {
1166                         compatible = "allwinn    1166                         compatible = "allwinner,sun6i-a31-wdt";
1167                         reg = <0x08001000 0x2    1167                         reg = <0x08001000 0x20>;
1168                         interrupts = <GIC_SPI    1168                         interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
1169                         clocks = <&osc24M>;      1169                         clocks = <&osc24M>;
1170                 };                               1170                 };
1171                                                  1171 
1172                 prcm@8001400 {                   1172                 prcm@8001400 {
1173                         compatible = "allwinn    1173                         compatible = "allwinner,sun9i-a80-prcm";
1174                         reg = <0x08001400 0x2    1174                         reg = <0x08001400 0x200>;
1175                 };                               1175                 };
1176                                                  1176 
1177                 apbs_rst: reset@80014b0 {        1177                 apbs_rst: reset@80014b0 {
1178                         reg = <0x080014b0 0x4    1178                         reg = <0x080014b0 0x4>;
1179                         compatible = "allwinn    1179                         compatible = "allwinner,sun6i-a31-clock-reset";
1180                         #reset-cells = <1>;      1180                         #reset-cells = <1>;
1181                 };                               1181                 };
1182                                                  1182 
1183                 nmi_intc: interrupt-controlle    1183                 nmi_intc: interrupt-controller@80015a0 {
1184                         compatible = "allwinn    1184                         compatible = "allwinner,sun9i-a80-nmi";
1185                         interrupt-controller;    1185                         interrupt-controller;
1186                         #interrupt-cells = <2    1186                         #interrupt-cells = <2>;
1187                         reg = <0x080015a0 0xc    1187                         reg = <0x080015a0 0xc>;
1188                         interrupts = <GIC_SPI    1188                         interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
1189                 };                               1189                 };
1190                                                  1190 
1191                 r_ir: ir@8002000 {               1191                 r_ir: ir@8002000 {
1192                         compatible = "allwinn    1192                         compatible = "allwinner,sun6i-a31-ir";
1193                         interrupts = <GIC_SPI    1193                         interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
1194                         pinctrl-names = "defa    1194                         pinctrl-names = "default";
1195                         pinctrl-0 = <&r_ir_pi    1195                         pinctrl-0 = <&r_ir_pins>;
1196                         clocks = <&apbs_gates    1196                         clocks = <&apbs_gates 1>, <&r_ir_clk>;
1197                         clock-names = "apb",     1197                         clock-names = "apb", "ir";
1198                         resets = <&apbs_rst 1    1198                         resets = <&apbs_rst 1>;
1199                         reg = <0x08002000 0x4    1199                         reg = <0x08002000 0x40>;
1200                         status = "disabled";     1200                         status = "disabled";
1201                 };                               1201                 };
1202                                                  1202 
1203                 r_uart: serial@8002800 {         1203                 r_uart: serial@8002800 {
1204                         compatible = "snps,dw    1204                         compatible = "snps,dw-apb-uart";
1205                         reg = <0x08002800 0x4    1205                         reg = <0x08002800 0x400>;
1206                         interrupts = <GIC_SPI    1206                         interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
1207                         reg-shift = <2>;         1207                         reg-shift = <2>;
1208                         reg-io-width = <4>;      1208                         reg-io-width = <4>;
1209                         clocks = <&apbs_gates    1209                         clocks = <&apbs_gates 4>;
1210                         resets = <&apbs_rst 4    1210                         resets = <&apbs_rst 4>;
1211                         status = "disabled";     1211                         status = "disabled";
1212                 };                               1212                 };
1213                                                  1213 
1214                 r_pio: pinctrl@8002c00 {         1214                 r_pio: pinctrl@8002c00 {
1215                         compatible = "allwinn    1215                         compatible = "allwinner,sun9i-a80-r-pinctrl";
1216                         reg = <0x08002c00 0x4    1216                         reg = <0x08002c00 0x400>;
1217                         interrupts = <GIC_SPI    1217                         interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>,
1218                                      <GIC_SPI    1218                                      <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
1219                         clocks = <&apbs_gates    1219                         clocks = <&apbs_gates 0>, <&osc24M>, <&osc32k>;
1220                         clock-names = "apb",     1220                         clock-names = "apb", "hosc", "losc";
1221                         gpio-controller;         1221                         gpio-controller;
1222                         interrupt-controller;    1222                         interrupt-controller;
1223                         #interrupt-cells = <3    1223                         #interrupt-cells = <3>;
1224                         #gpio-cells = <3>;       1224                         #gpio-cells = <3>;
1225                                                  1225 
1226                         r_ir_pins: r-ir-pins     1226                         r_ir_pins: r-ir-pins {
1227                                 pins = "PL6";    1227                                 pins = "PL6";
1228                                 function = "s    1228                                 function = "s_cir_rx";
1229                         };                       1229                         };
1230                                                  1230 
1231                         r_rsb_pins: r-rsb-pin    1231                         r_rsb_pins: r-rsb-pins {
1232                                 pins = "PN0",    1232                                 pins = "PN0", "PN1";
1233                                 function = "s    1233                                 function = "s_rsb";
1234                                 drive-strengt    1234                                 drive-strength = <20>;
1235                                 bias-pull-up;    1235                                 bias-pull-up;
1236                         };                       1236                         };
1237                 };                               1237                 };
1238                                                  1238 
1239                 r_rsb: rsb@8003400 {             1239                 r_rsb: rsb@8003400 {
1240                         compatible = "allwinn    1240                         compatible = "allwinner,sun8i-a23-rsb";
1241                         reg = <0x08003400 0x4    1241                         reg = <0x08003400 0x400>;
1242                         interrupts = <GIC_SPI    1242                         interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
1243                         clocks = <&apbs_gates    1243                         clocks = <&apbs_gates 3>;
1244                         clock-frequency = <30    1244                         clock-frequency = <3000000>;
1245                         resets = <&apbs_rst 3    1245                         resets = <&apbs_rst 3>;
1246                         pinctrl-names = "defa    1246                         pinctrl-names = "default";
1247                         pinctrl-0 = <&r_rsb_p    1247                         pinctrl-0 = <&r_rsb_pins>;
1248                         status = "disabled";     1248                         status = "disabled";
1249                         #address-cells = <1>;    1249                         #address-cells = <1>;
1250                         #size-cells = <0>;       1250                         #size-cells = <0>;
1251                 };                               1251                 };
1252         };                                       1252         };
1253 };                                               1253 };
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php