Home | History | Annotate | Download | only in dts
      1 /*
      2  * Copyright (C) 2016 Marvell Technology Group Ltd.
      3  *
      4  * This file is dual-licensed: you can use it either under the terms
      5  * of the GPLv2 or the X11 license, at your option. Note that this dual
      6  * licensing only applies to this file, and not this project as a
      7  * whole.
      8  *
      9  *  a) This library is free software; you can redistribute it and/or
     10  *     modify it under the terms of the GNU General Public License as
     11  *     published by the Free Software Foundation; either version 2 of the
     12  *     License, or (at your option) any later version.
     13  *
     14  *     This library is distributed in the hope that it will be useful,
     15  *     but WITHOUT ANY WARRANTY; without even the implied warranty of
     16  *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     17  *     GNU General Public License for more details.
     18  *
     19  * Or, alternatively,
     20  *
     21  *  b) Permission is hereby granted, free of charge, to any person
     22  *     obtaining a copy of this software and associated documentation
     23  *     files (the "Software"), to deal in the Software without
     24  *     restriction, including without limitation the rights to use,
     25  *     copy, modify, merge, publish, distribute, sublicense, and/or
     26  *     sell copies of the Software, and to permit persons to whom the
     27  *     Software is furnished to do so, subject to the following
     28  *     conditions:
     29  *
     30  *     The above copyright notice and this permission notice shall be
     31  *     included in all copies or substantial portions of the Software.
     32  *
     33  *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
     34  *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
     35  *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
     36  *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
     37  *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
     38  *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
     39  *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
     40  *     OTHER DEALINGS IN THE SOFTWARE.
     41  */
     42 
     43 /*
     44  * Device Tree file for Marvell Armada 7040 Development board platform
     45  * Boot device: SPI NOR, 0x32 (SW3)
     46  */
     47 
     48 #include "armada-7040.dtsi"
     49 
     50 / {
     51 	model = "Marvell Armada 7040 DB board";
     52 	compatible = "marvell,armada7040-db", "marvell,armada7040",
     53 		     "marvell,armada-ap806-quad", "marvell,armada-ap806";
     54 
     55 	chosen {
     56 		stdout-path = "serial0:115200n8";
     57 	};
     58 
     59 	aliases {
     60 		i2c0 = &cpm_i2c0;
     61 		spi0 = &cpm_spi1;
     62 	};
     63 
     64 	memory@00000000 {
     65 		device_type = "memory";
     66 		reg = <0x0 0x0 0x0 0x80000000>;
     67 	};
     68 };
     69 
     70 &ap_pinctl {
     71 	   /* MPP Bus:
     72 	    * SDIO  [0-5]
     73 	    * UART0 [11,19]
     74 	    */
     75 		  /* 0 1 2 3 4 5 6 7 8 9 */
     76 	pin-func = < 1 1 1 1 1 1 0 0 0 0
     77 		     0 3 0 0 0 0 0 0 0 3 >;
     78 };
     79 
     80 &uart0 {
     81 	status = "okay";
     82 };
     83 
     84 
     85 &cpm_pcie2 {
     86 	status = "okay";
     87 };
     88 
     89 &cpm_i2c0 {
     90 	pinctrl-names = "default";
     91 	pinctrl-0 = <&cpm_i2c0_pins>;
     92 	status = "okay";
     93 	clock-frequency = <100000>;
     94 };
     95 
     96 &cpm_pinctl {
     97 		/* MPP Bus:
     98 		 * TDM	 [0-11]
     99 		 * SPI   [13-16]
    100 		 * SATA1 [28]
    101 		 * UART0 [29-30]
    102 		 * SMI	 [32,34]
    103 		 * XSMI  [35-36]
    104 		 * I2C	 [37-38]
    105 		 * RGMII1[44-55]
    106 		 * SD	 [56-62]
    107 		 */
    108 		/*   0   1   2   3   4   5   6   7   8   9 */
    109 	pin-func = < 4   4   4   4   4   4   4   4   4   4
    110 		     4   4   0   3   3   3   3   0   0   0
    111 		     0   0   0   0   0   0   0   0   9   0xA
    112 		     0xA 0   7   0   7   7   7   2   2   0
    113 		     0   0   0   0   1   1   1   1   1   1
    114 		     1   1   1   1   1   1   0xE 0xE 0xE 0xE
    115 		     0xE 0xE 0xE >;
    116 };
    117 
    118 &cpm_spi1 {
    119 	pinctrl-names = "default";
    120 	pinctrl-0 = <&cpm_spi0_pins>;
    121 	status = "okay";
    122 
    123 	spi-flash@0 {
    124 		#address-cells = <0x1>;
    125 		#size-cells = <0x1>;
    126 		compatible = "jedec,spi-nor";
    127 		reg = <0x0>;
    128 		spi-max-frequency = <20000000>;
    129 
    130 		partitions {
    131 			compatible = "fixed-partitions";
    132 			#address-cells = <1>;
    133 			#size-cells = <1>;
    134 
    135 			partition@0 {
    136 				label = "U-Boot";
    137 				reg = <0x0 0x200000>;
    138 			};
    139 
    140 			partition@400000 {
    141 				label = "Filesystem";
    142 				reg = <0x200000 0xe00000>;
    143 			};
    144 		};
    145 	};
    146 };
    147 
    148 &cpm_sata0 {
    149 	status = "okay";
    150 };
    151 
    152 &cpm_usb3_0 {
    153 	status = "okay";
    154 };
    155 
    156 &cpm_usb3_1 {
    157 	status = "okay";
    158 };
    159 
    160 &cpm_comphy {
    161 	phy0 {
    162 		phy-type = <PHY_TYPE_SGMII1>;
    163 		phy-speed = <PHY_SPEED_1_25G>;
    164 	};
    165 
    166 	phy1 {
    167 		phy-type = <PHY_TYPE_USB3_HOST0>;
    168 		phy-speed = <PHY_SPEED_5G>;
    169 	};
    170 
    171 	phy2 {
    172 		phy-type = <PHY_TYPE_SFI>;
    173 	};
    174 
    175 	phy3 {
    176 		phy-type = <PHY_TYPE_SATA1>;
    177 		phy-speed = <PHY_SPEED_5G>;
    178 	};
    179 
    180 	phy4 {
    181 		phy-type = <PHY_TYPE_USB3_HOST1>;
    182 		phy-speed = <PHY_SPEED_5G>;
    183 	};
    184 
    185 	phy5 {
    186 		phy-type = <PHY_TYPE_PEX2>;
    187 		phy-speed = <PHY_SPEED_5G>;
    188 	};
    189 };
    190 
    191 &cpm_utmi0 {
    192 	status = "okay";
    193 };
    194 
    195 &cpm_utmi1 {
    196 	status = "okay";
    197 };
    198 
    199 &ap_sdhci0 {
    200 	status = "okay";
    201 	bus-width = <4>;
    202 	no-1-8-v;
    203 	non-removable;
    204 };
    205 
    206 &cpm_sdhci0 {
    207 	status = "okay";
    208 	bus-width = <4>;
    209 	no-1-8-v;
    210 	non-removable;
    211 };
    212 
    213 &cpm_mdio {
    214 	phy0: ethernet-phy@0 {
    215 		reg = <0>;
    216 	};
    217 	phy1: ethernet-phy@1 {
    218 		reg = <1>;
    219 	};
    220 };
    221 
    222 &cpm_ethernet {
    223 	status = "okay";
    224 };
    225 
    226 &cpm_eth0 {
    227 	status = "okay";
    228 	phy-mode = "sfi"; /* lane-2 */
    229 };
    230 
    231 &cpm_eth1 {
    232 	status = "okay";
    233 	phy = <&phy0>;
    234 	phy-mode = "sgmii";
    235 };
    236 
    237 &cpm_eth2 {
    238 	status = "okay";
    239 	phy = <&phy1>;
    240 	phy-mode = "rgmii-id";
    241 };
    242