Back to home page

OSCL-LXR

 
 

    


0001 /*
0002  * Copyright (C) 2015 ARM Limited
0003  *
0004  * Author: Vladimir Murzin <vladimir.murzin@arm.com>
0005  *
0006  * This file is dual-licensed: you can use it either under the terms
0007  * of the GPL or the X11 license, at your option. Note that this dual
0008  * licensing only applies to this file, and not this project as a
0009  * whole.
0010  *
0011  *  a) This file is free software; you can redistribute it and/or
0012  *     modify it under the terms of the GNU General Public License as
0013  *     published by the Free Software Foundation; either version 2 of the
0014  *     License, or (at your option) any later version.
0015  *
0016  *     This file is distributed in the hope that it will be useful,
0017  *     but WITHOUT ANY WARRANTY; without even the implied warranty of
0018  *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
0019  *     GNU General Public License for more details.
0020  *
0021  * Or, alternatively,
0022  *
0023  *  b) Permission is hereby granted, free of charge, to any person
0024  *     obtaining a copy of this software and associated documentation
0025  *     files (the "Software"), to deal in the Software without
0026  *     restriction, including without limitation the rights to use,
0027  *     copy, modify, merge, publish, distribute, sublicense, and/or
0028  *     sell copies of the Software, and to permit persons to whom the
0029  *     Software is furnished to do so, subject to the following
0030  *     conditions:
0031  *
0032  *     The above copyright notice and this permission notice shall be
0033  *     included in all copies or substantial portions of the Software.
0034  *
0035  *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
0036  *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
0037  *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
0038  *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
0039  *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
0040  *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
0041  *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
0042  *     OTHER DEALINGS IN THE SOFTWARE.
0043  */
0044 
0045 #include "armv7-m.dtsi"
0046 
0047 / {
0048         #address-cells = <1>;
0049         #size-cells = <1>;
0050 
0051         oscclk0: clk-osc0 {
0052                 compatible = "fixed-clock";
0053                 #clock-cells = <0>;
0054                 clock-frequency = <50000000>;
0055         };
0056 
0057         oscclk1: clk-osc1 {
0058                 compatible = "fixed-clock";
0059                 #clock-cells = <0>;
0060                 clock-frequency = <24576000>;
0061         };
0062 
0063         oscclk2: clk-osc2 {
0064                 compatible = "fixed-clock";
0065                 #clock-cells = <0>;
0066                 clock-frequency = <25000000>;
0067         };
0068 
0069         cfgclk: clk-cfg {
0070                 compatible = "fixed-clock";
0071                 #clock-cells = <0>;
0072                 clock-frequency = <5000000>;
0073         };
0074 
0075         spicfgclk: clk-spicfg {
0076                 compatible = "fixed-clock";
0077                 #clock-cells = <0>;
0078                 clock-frequency = <75000000>;
0079         };
0080 
0081         sysclk: clk-sys {
0082                 compatible = "fixed-factor-clock";
0083                 clocks = <&oscclk0>;
0084                 #clock-cells = <0>;
0085                 clock-div = <2>;
0086                 clock-mult = <1>;
0087         };
0088 
0089         audmclk: clk-audm {
0090                 compatible = "fixed-factor-clock";
0091                 clocks = <&oscclk1>;
0092                 #clock-cells = <0>;
0093                 clock-div = <2>;
0094                 clock-mult = <1>;
0095         };
0096 
0097         audsclk: clk-auds {
0098                 compatible = "fixed-factor-clock";
0099                 clocks = <&oscclk1>;
0100                 #clock-cells = <0>;
0101                 clock-div = <8>;
0102                 clock-mult = <1>;
0103         };
0104 
0105         spiclcd: clk-cpiclcd {
0106                 compatible = "fixed-factor-clock";
0107                 clocks = <&oscclk0>;
0108                 #clock-cells = <0>;
0109                 clock-div = <2>;
0110                 clock-mult = <1>;
0111         };
0112 
0113         spicon: clk-spicon {
0114                 compatible = "fixed-factor-clock";
0115                 clocks = <&oscclk0>;
0116                 #clock-cells = <0>;
0117                 clock-div = <2>;
0118                 clock-mult = <1>;
0119         };
0120 
0121         i2cclcd: clk-i2cclcd {
0122                 compatible = "fixed-factor-clock";
0123                 clocks = <&oscclk0>;
0124                 #clock-cells = <0>;
0125                 clock-div = <2>;
0126                 clock-mult = <1>;
0127         };
0128 
0129         i2caud: clk-i2caud {
0130                 compatible = "fixed-factor-clock";
0131                 clocks = <&oscclk0>;
0132                 #clock-cells = <0>;
0133                 clock-div = <2>;
0134                 clock-mult = <1>;
0135         };
0136 
0137         soc {
0138                 compatible = "simple-bus";
0139                 ranges;
0140 
0141                 apb@40000000 {
0142                         compatible = "simple-bus";
0143                         #address-cells = <1>;
0144                         #size-cells = <1>;
0145                         ranges = <0 0x40000000 0x10000>;
0146 
0147                         timer0: mps2-timer0@0 {
0148                                 compatible = "arm,mps2-timer";
0149                                 reg = <0x0 0x1000>;
0150                                 interrupts = <8>;
0151                                 clocks = <&sysclk>;
0152                                 status = "disabled";
0153                         };
0154 
0155                         timer1: mps2-timer1@1000 {
0156                                 compatible = "arm,mps2-timer";
0157                                 reg = <0x1000 0x1000>;
0158                                 interrupts = <9>;
0159                                 clocks = <&sysclk>;
0160                                 status = "disabled";
0161                         };
0162 
0163                         timer2: dual-timer@2000 {
0164                                 compatible = "arm,sp804", "arm,primecell";
0165                                 reg = <0x2000 0x1000>;
0166                                 clocks = <&sysclk>, <&sysclk>, <&sysclk>;
0167                                 clock-names = "timer0clk", "timer1clk",
0168                                                "apb_pclk";
0169                                 interrupts = <10>;
0170                                 status = "disabled";
0171                         };
0172 
0173                         uart0: serial@4000 {
0174                                 compatible = "arm,mps2-uart";
0175                                 reg = <0x4000 0x1000>;
0176                                 interrupts = <0>, <1>, <12>;
0177                                 clocks = <&sysclk>;
0178                                 status = "disabled";
0179                         };
0180 
0181                         uart1: serial@5000 {
0182                                 compatible = "arm,mps2-uart";
0183                                 reg = <0x5000 0x1000>;
0184                                 interrupts = <2>, <3>, <12>;
0185                                 clocks = <&sysclk>;
0186                                 status = "disabled";
0187                         };
0188 
0189                         uart2: serial@6000 {
0190                                 compatible = "arm,mps2-uart";
0191                                 reg = <0x6000 0x1000>;
0192                                 interrupts = <4>, <5>, <12>;
0193                                 clocks = <&sysclk>;
0194                                 status = "disabled";
0195                         };
0196 
0197                         wdt: watchdog@8000 {
0198                                 compatible = "arm,sp805", "arm,primecell";
0199                                 arm,primecell-periphid = <0x00141805>;
0200                                 reg = <0x8000 0x1000>;
0201                                 interrupts = <0>;
0202                                 clocks = <&sysclk>, <&sysclk>;
0203                                 clock-names = "wdog_clk", "apb_pclk";
0204                                 status = "disabled";
0205                         };
0206                 };
0207         };
0208 
0209         fpga@40020000 {
0210                 compatible = "simple-bus";
0211                 #address-cells = <1>;
0212                 #size-cells = <1>;
0213                 ranges = <0 0x40020000 0x10000>;
0214 
0215                 fpgaio@8000 {
0216                         compatible = "syscon", "simple-mfd";
0217                         reg = <0x8000 0x10>;
0218 
0219                         ranges = <0x0 0x8000 0x10>;
0220                         #address-cells = <1>;
0221                         #size-cells = <1>;
0222 
0223                         led@0,0 {
0224                                 compatible = "register-bit-led";
0225                                 reg = <0x00 0x04>;
0226                                 offset = <0x0>;
0227                                 mask = <0x01>;
0228                                 label = "userled:0";
0229                                 linux,default-trigger = "heartbeat";
0230                                 default-state = "on";
0231                         };
0232 
0233                         led@0,1 {
0234                                 compatible = "register-bit-led";
0235                                 reg = <0x00 0x04>;
0236                                 offset = <0x0>;
0237                                 mask = <0x02>;
0238                                 label = "userled:1";
0239                                 linux,default-trigger = "usr";
0240                                 default-state = "off";
0241                         };
0242                 };
0243         };
0244 
0245         smb {
0246                 compatible = "simple-bus";
0247                 #address-cells = <2>;
0248                 #size-cells = <1>;
0249                 ranges = <0 0 0x40200000 0x10000>,
0250                          <1 0 0xa0000000 0x10000>;
0251         };
0252 };