Home | History | Annotate | Line # | Download | only in dts
armada-xp-openblocks-ax3-4.dts revision 1.1.1.1.4.2
      1 /*
      2  * Device Tree file for OpenBlocks AX3-4 board
      3  *
      4  * Copyright (C) 2012 Marvell
      5  *
      6  * Thomas Petazzoni <thomas.petazzoni (at) free-electrons.com>
      7  *
      8  * This file is dual-licensed: you can use it either under the terms
      9  * of the GPL or the X11 license, at your option. Note that this dual
     10  * licensing only applies to this file, and not this project as a
     11  * whole.
     12  *
     13  *  a) This file is free software; you can redistribute it and/or
     14  *     modify it under the terms of the GNU General Public License as
     15  *     published by the Free Software Foundation; either version 2 of the
     16  *     License, or (at your option) any later version.
     17  *
     18  *     This file is distributed in the hope that it will be useful,
     19  *     but WITHOUT ANY WARRANTY; without even the implied warranty of
     20  *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     21  *     GNU General Public License for more details.
     22  *
     23  * Or, alternatively,
     24  *
     25  *  b) Permission is hereby granted, free of charge, to any person
     26  *     obtaining a copy of this software and associated documentation
     27  *     files (the "Software"), to deal in the Software without
     28  *     restriction, including without limitation the rights to use,
     29  *     copy, modify, merge, publish, distribute, sublicense, and/or
     30  *     sell copies of the Software, and to permit persons to whom the
     31  *     Software is furnished to do so, subject to the following
     32  *     conditions:
     33  *
     34  *     The above copyright notice and this permission notice shall be
     35  *     included in all copies or substantial portions of the Software.
     36  *
     37  *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
     38  *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
     39  *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
     40  *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
     41  *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
     42  *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
     43  *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
     44  *     OTHER DEALINGS IN THE SOFTWARE.
     45  */
     46 
     47 /dts-v1/;
     48 #include <dt-bindings/gpio/gpio.h>
     49 #include <dt-bindings/input/input.h>
     50 #include "armada-xp-mv78260.dtsi"
     51 
     52 / {
     53 	model = "PlatHome OpenBlocks AX3-4 board";
     54 	compatible = "plathome,openblocks-ax3-4", "marvell,armadaxp-mv78260", "marvell,armadaxp", "marvell,armada-370-xp";
     55 
     56 	chosen {
     57 		stdout-path = "serial0:115200n8";
     58 	};
     59 
     60 	memory@0 {
     61 		device_type = "memory";
     62 		reg = <0 0x00000000 0 0x40000000>; /* 1 GB soldered on */
     63 	};
     64 
     65 	soc {
     66 		ranges = <MBUS_ID(0xf0, 0x01) 0 0 0xd0000000 0x100000
     67 			  MBUS_ID(0x01, 0x1d) 0 0 0xfff00000 0x100000
     68 			  MBUS_ID(0x01, 0x2f) 0 0 0xe8000000 0x8000000
     69 			  MBUS_ID(0x09, 0x09) 0 0 0xf1100000 0x10000
     70 			  MBUS_ID(0x09, 0x05) 0 0 0xf1110000 0x10000
     71 			  MBUS_ID(0x0c, 0x04) 0 0 0xd1200000 0x100000>;
     72 
     73 		devbus-bootcs {
     74 			status = "okay";
     75 
     76 			/* Device Bus parameters are required */
     77 
     78 			/* Read parameters */
     79 			devbus,bus-width    = <16>;
     80 			devbus,turn-off-ps  = <60000>;
     81 			devbus,badr-skew-ps = <0>;
     82 			devbus,acc-first-ps = <124000>;
     83 			devbus,acc-next-ps  = <248000>;
     84 			devbus,rd-setup-ps  = <0>;
     85 			devbus,rd-hold-ps   = <0>;
     86 
     87 			/* Write parameters */
     88 			devbus,sync-enable = <0>;
     89 			devbus,wr-high-ps  = <60000>;
     90 			devbus,wr-low-ps   = <60000>;
     91 			devbus,ale-wr-ps   = <60000>;
     92 
     93 			/* NOR 128 MiB */
     94 			nor@0 {
     95 				compatible = "cfi-flash";
     96 				reg = <0 0x8000000>;
     97 				bank-width = <2>;
     98 			};
     99 		};
    100 
    101 		internal-regs {
    102 			rtc@10300 {
    103 				/* No crystal connected to the internal RTC */
    104 				status = "disabled";
    105 			};
    106 			serial@12000 {
    107 				status = "okay";
    108 			};
    109 			serial@12100 {
    110 				status = "okay";
    111 			};
    112 
    113 			leds {
    114 				compatible = "gpio-leds";
    115 				pinctrl-names = "default";
    116 				pinctrl-0 = <&led_pins>;
    117 
    118 				red_led {
    119 					label = "red_led";
    120 					gpios = <&gpio1 17 GPIO_ACTIVE_LOW>;
    121 					default-state = "off";
    122 				};
    123 
    124 				yellow_led {
    125 					label = "yellow_led";
    126 					gpios = <&gpio1 19 GPIO_ACTIVE_LOW>;
    127 					default-state = "off";
    128 				};
    129 
    130 				green_led {
    131 					label = "green_led";
    132 					gpios = <&gpio1 21 GPIO_ACTIVE_LOW>;
    133 					default-state = "keep";
    134 				};
    135 			};
    136 
    137 			gpio_keys {
    138 				compatible = "gpio-keys";
    139 				#address-cells = <1>;
    140 				#size-cells = <0>;
    141 
    142 				init {
    143 					label = "Init Button";
    144 					linux,code = <KEY_POWER>;
    145 					gpios = <&gpio1 28 GPIO_ACTIVE_HIGH>;
    146 				};
    147 			};
    148 
    149 			ethernet@70000 {
    150 				status = "okay";
    151 				phy = <&phy0>;
    152 				phy-mode = "sgmii";
    153 				buffer-manager = <&bm>;
    154 				bm,pool-long = <0>;
    155 			};
    156 			ethernet@74000 {
    157 				status = "okay";
    158 				phy = <&phy1>;
    159 				phy-mode = "sgmii";
    160 				buffer-manager = <&bm>;
    161 				bm,pool-long = <1>;
    162 			};
    163 			ethernet@30000 {
    164 				status = "okay";
    165 				phy = <&phy2>;
    166 				phy-mode = "sgmii";
    167 				buffer-manager = <&bm>;
    168 				bm,pool-long = <2>;
    169 			};
    170 			ethernet@34000 {
    171 				status = "okay";
    172 				phy = <&phy3>;
    173 				phy-mode = "sgmii";
    174 				buffer-manager = <&bm>;
    175 				bm,pool-long = <3>;
    176 			};
    177 			i2c@11000 {
    178 				status = "okay";
    179 				clock-frequency = <400000>;
    180 			};
    181 			i2c@11100 {
    182 				status = "okay";
    183 				clock-frequency = <400000>;
    184 
    185 				s35390a: s35390a@30 {
    186 					compatible = "s35390a";
    187 					reg = <0x30>;
    188 				};
    189 			};
    190 			sata@a0000 {
    191 				nr-ports = <2>;
    192 				status = "okay";
    193 			};
    194 
    195 			/* Front side USB 0 */
    196 			usb@50000 {
    197 				status = "okay";
    198 			};
    199 
    200 			/* Front side USB 1 */
    201 			usb@51000 {
    202 				status = "okay";
    203 			};
    204 
    205 			bm@c0000 {
    206 				status = "okay";
    207 			};
    208 		};
    209 
    210 		bm-bppi {
    211 			status = "okay";
    212 		};
    213 	};
    214 };
    215 
    216 &pciec {
    217 	status = "okay";
    218 	/* Internal mini-PCIe connector */
    219 	pcie@1,0 {
    220 		/* Port 0, Lane 0 */
    221 		status = "okay";
    222 	};
    223 };
    224 
    225 &mdio {
    226 	phy0: ethernet-phy@0 {
    227 		reg = <0>;
    228 	};
    229 
    230 	phy1: ethernet-phy@1 {
    231 		reg = <1>;
    232 	};
    233 
    234 	phy2: ethernet-phy@2 {
    235 		reg = <2>;
    236 	};
    237 
    238 	phy3: ethernet-phy@3 {
    239 		reg = <3>;
    240 	};
    241 };
    242 
    243 &pinctrl {
    244 	led_pins: led-pins-0 {
    245 		marvell,pins = "mpp49", "mpp51", "mpp53";
    246 		marvell,function = "gpio";
    247 	};
    248 };
    249