162306a36Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0 OR MIT)
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Device Tree file for Marvell Armada 395 GP board
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * Copyright (C) 2016 Marvell
662306a36Sopenharmony_ci *
762306a36Sopenharmony_ci * Grzegorz Jaszczyk <jaz@semihalf.com>
862306a36Sopenharmony_ci */
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ci/dts-v1/;
1162306a36Sopenharmony_ci#include "armada-395.dtsi"
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ci/ {
1462306a36Sopenharmony_ci	model = "Marvell Armada 395 GP Board";
1562306a36Sopenharmony_ci	compatible = "marvell,a395-gp", "marvell,armada395",
1662306a36Sopenharmony_ci		     "marvell,armada390";
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ci	chosen {
1962306a36Sopenharmony_ci		stdout-path = "serial0:115200n8";
2062306a36Sopenharmony_ci	};
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ci	memory {
2362306a36Sopenharmony_ci		device_type = "memory";
2462306a36Sopenharmony_ci		reg = <0x00000000 0x40000000>; /* 1 GB */
2562306a36Sopenharmony_ci	};
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ci	soc {
2862306a36Sopenharmony_ci		ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000
2962306a36Sopenharmony_ci			  MBUS_ID(0x01, 0x1d) 0 0xfff00000 0x100000>;
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ci		internal-regs {
3262306a36Sopenharmony_ci			i2c@11000 {
3362306a36Sopenharmony_ci				status = "okay";
3462306a36Sopenharmony_ci				clock-frequency = <100000>;
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_ci				eeprom@57 {
3762306a36Sopenharmony_ci					compatible = "atmel,24c64";
3862306a36Sopenharmony_ci					reg = <0x57>;
3962306a36Sopenharmony_ci				};
4062306a36Sopenharmony_ci			};
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_ci			serial@12000 {
4362306a36Sopenharmony_ci				/*
4462306a36Sopenharmony_ci				 * Exported on the micro USB connector CON17
4562306a36Sopenharmony_ci				 * through an FTDI
4662306a36Sopenharmony_ci				 */
4762306a36Sopenharmony_ci				status = "okay";
4862306a36Sopenharmony_ci			};
4962306a36Sopenharmony_ci
5062306a36Sopenharmony_ci			/* CON1 */
5162306a36Sopenharmony_ci			usb@58000 {
5262306a36Sopenharmony_ci				status = "okay";
5362306a36Sopenharmony_ci			};
5462306a36Sopenharmony_ci
5562306a36Sopenharmony_ci			/* CON2 */
5662306a36Sopenharmony_ci			sata@a8000 {
5762306a36Sopenharmony_ci				status = "okay";
5862306a36Sopenharmony_ci			};
5962306a36Sopenharmony_ci
6062306a36Sopenharmony_ci			/* CON18 */
6162306a36Sopenharmony_ci			sdhci@d8000 {
6262306a36Sopenharmony_ci				clock-frequency = <200000000>;
6362306a36Sopenharmony_ci				broken-cd;
6462306a36Sopenharmony_ci				wp-inverted;
6562306a36Sopenharmony_ci				bus-width = <8>;
6662306a36Sopenharmony_ci				status = "okay";
6762306a36Sopenharmony_ci				no-1-8-v;
6862306a36Sopenharmony_ci			};
6962306a36Sopenharmony_ci
7062306a36Sopenharmony_ci			/* CON4 */
7162306a36Sopenharmony_ci			usb3@f0000 {
7262306a36Sopenharmony_ci				status = "okay";
7362306a36Sopenharmony_ci			};
7462306a36Sopenharmony_ci		};
7562306a36Sopenharmony_ci
7662306a36Sopenharmony_ci		pcie {
7762306a36Sopenharmony_ci			status = "okay";
7862306a36Sopenharmony_ci
7962306a36Sopenharmony_ci			/*
8062306a36Sopenharmony_ci			 * The two PCIe units are accessible through
8162306a36Sopenharmony_ci			 * mini PCIe slot on the board.
8262306a36Sopenharmony_ci			 */
8362306a36Sopenharmony_ci
8462306a36Sopenharmony_ci			/* CON7 */
8562306a36Sopenharmony_ci			pcie@2,0 {
8662306a36Sopenharmony_ci				/* Port 1, Lane 0 */
8762306a36Sopenharmony_ci				status = "okay";
8862306a36Sopenharmony_ci			};
8962306a36Sopenharmony_ci
9062306a36Sopenharmony_ci			/* CON8 */
9162306a36Sopenharmony_ci			pcie@4,0 {
9262306a36Sopenharmony_ci				/* Port 3, Lane 0 */
9362306a36Sopenharmony_ci				status = "okay";
9462306a36Sopenharmony_ci			};
9562306a36Sopenharmony_ci		};
9662306a36Sopenharmony_ci	};
9762306a36Sopenharmony_ci};
9862306a36Sopenharmony_ci
9962306a36Sopenharmony_ci&nand_controller {
10062306a36Sopenharmony_ci	status = "okay";
10162306a36Sopenharmony_ci	pinctrl-0 = <&nand_pins>;
10262306a36Sopenharmony_ci	pinctrl-names = "default";
10362306a36Sopenharmony_ci
10462306a36Sopenharmony_ci	nand@0 {
10562306a36Sopenharmony_ci		reg = <0>;
10662306a36Sopenharmony_ci		label = "pxa3xx_nand-0";
10762306a36Sopenharmony_ci		nand-rb = <0>;
10862306a36Sopenharmony_ci		marvell,nand-keep-config;
10962306a36Sopenharmony_ci		nand-on-flash-bbt;
11062306a36Sopenharmony_ci		nand-ecc-strength = <4>;
11162306a36Sopenharmony_ci		nand-ecc-step-size = <512>;
11262306a36Sopenharmony_ci
11362306a36Sopenharmony_ci		partitions {
11462306a36Sopenharmony_ci			compatible = "fixed-partitions";
11562306a36Sopenharmony_ci			#address-cells = <1>;
11662306a36Sopenharmony_ci			#size-cells = <1>;
11762306a36Sopenharmony_ci
11862306a36Sopenharmony_ci			partition@0 {
11962306a36Sopenharmony_ci				label = "U-Boot";
12062306a36Sopenharmony_ci				reg = <0x00000000 0x00600000>;
12162306a36Sopenharmony_ci				read-only;
12262306a36Sopenharmony_ci			};
12362306a36Sopenharmony_ci
12462306a36Sopenharmony_ci			partition@800000 {
12562306a36Sopenharmony_ci				label = "uImage";
12662306a36Sopenharmony_ci				reg = <0x00600000 0x00400000>;
12762306a36Sopenharmony_ci				read-only;
12862306a36Sopenharmony_ci			};
12962306a36Sopenharmony_ci
13062306a36Sopenharmony_ci			partition@1000000 {
13162306a36Sopenharmony_ci				label = "Root";
13262306a36Sopenharmony_ci				reg = <0x00a00000 0x3f600000>;
13362306a36Sopenharmony_ci			};
13462306a36Sopenharmony_ci		};
13562306a36Sopenharmony_ci	};
13662306a36Sopenharmony_ci};
137