xref: /OK3568_Linux_fs/kernel/arch/arm/boot/dts/armada-385-linksys-cobra.dts (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun// SPDX-License-Identifier: (GPL-2.0 OR MIT)
2*4882a593Smuzhiyun/*
3*4882a593Smuzhiyun * Device Tree file for the Linksys WRT1900ACv2 (Cobra)
4*4882a593Smuzhiyun *
5*4882a593Smuzhiyun * Copyright (C) 2015 Imre Kaloz <kaloz@openwrt.org>
6*4882a593Smuzhiyun */
7*4882a593Smuzhiyun
8*4882a593Smuzhiyun/dts-v1/;
9*4882a593Smuzhiyun#include "armada-385-linksys.dtsi"
10*4882a593Smuzhiyun
11*4882a593Smuzhiyun/ {
12*4882a593Smuzhiyun	model = "Linksys WRT1900ACv2";
13*4882a593Smuzhiyun	compatible = "linksys,cobra", "linksys,armada385", "marvell,armada385",
14*4882a593Smuzhiyun		     "marvell,armada380";
15*4882a593Smuzhiyun};
16*4882a593Smuzhiyun
17*4882a593Smuzhiyun&expander0 {
18*4882a593Smuzhiyun	wan_amber@0 {
19*4882a593Smuzhiyun		label = "cobra:amber:wan";
20*4882a593Smuzhiyun		reg = <0x0>;
21*4882a593Smuzhiyun	};
22*4882a593Smuzhiyun
23*4882a593Smuzhiyun	wan_white@1 {
24*4882a593Smuzhiyun		label = "cobra:white:wan";
25*4882a593Smuzhiyun		reg = <0x1>;
26*4882a593Smuzhiyun	};
27*4882a593Smuzhiyun
28*4882a593Smuzhiyun	wlan_2g@2 {
29*4882a593Smuzhiyun		label = "cobra:white:wlan_2g";
30*4882a593Smuzhiyun		reg = <0x2>;
31*4882a593Smuzhiyun	};
32*4882a593Smuzhiyun
33*4882a593Smuzhiyun	wlan_5g@3 {
34*4882a593Smuzhiyun		label = "cobra:white:wlan_5g";
35*4882a593Smuzhiyun		reg = <0x3>;
36*4882a593Smuzhiyun	};
37*4882a593Smuzhiyun
38*4882a593Smuzhiyun	usb2@5 {
39*4882a593Smuzhiyun		label = "cobra:white:usb2";
40*4882a593Smuzhiyun		reg = <0x5>;
41*4882a593Smuzhiyun	};
42*4882a593Smuzhiyun
43*4882a593Smuzhiyun	usb3_1@6 {
44*4882a593Smuzhiyun		label = "cobra:white:usb3_1";
45*4882a593Smuzhiyun		reg = <0x6>;
46*4882a593Smuzhiyun	};
47*4882a593Smuzhiyun
48*4882a593Smuzhiyun	usb3_2@7 {
49*4882a593Smuzhiyun		label = "cobra:white:usb3_2";
50*4882a593Smuzhiyun		reg = <0x7>;
51*4882a593Smuzhiyun	};
52*4882a593Smuzhiyun
53*4882a593Smuzhiyun	wps_white@8 {
54*4882a593Smuzhiyun		label = "cobra:white:wps";
55*4882a593Smuzhiyun		reg = <0x8>;
56*4882a593Smuzhiyun	};
57*4882a593Smuzhiyun
58*4882a593Smuzhiyun	wps_amber@9 {
59*4882a593Smuzhiyun		label = "cobra:amber:wps";
60*4882a593Smuzhiyun		reg = <0x9>;
61*4882a593Smuzhiyun	};
62*4882a593Smuzhiyun};
63*4882a593Smuzhiyun
64*4882a593Smuzhiyun&gpio_leds {
65*4882a593Smuzhiyun	power {
66*4882a593Smuzhiyun		label = "cobra:white:power";
67*4882a593Smuzhiyun	};
68*4882a593Smuzhiyun
69*4882a593Smuzhiyun	sata {
70*4882a593Smuzhiyun		label = "cobra:white:sata";
71*4882a593Smuzhiyun	};
72*4882a593Smuzhiyun};
73*4882a593Smuzhiyun
74*4882a593Smuzhiyun&nand {
75*4882a593Smuzhiyun	/* 128MiB */
76*4882a593Smuzhiyun	partitions {
77*4882a593Smuzhiyun		compatible = "fixed-partitions";
78*4882a593Smuzhiyun		#address-cells = <1>;
79*4882a593Smuzhiyun		#size-cells = <1>;
80*4882a593Smuzhiyun
81*4882a593Smuzhiyun		partition@0 {
82*4882a593Smuzhiyun			label = "u-boot";
83*4882a593Smuzhiyun			reg = <0x0000000 0x200000>;  /* 2MiB */
84*4882a593Smuzhiyun			read-only;
85*4882a593Smuzhiyun		};
86*4882a593Smuzhiyun
87*4882a593Smuzhiyun		partition@100000 {
88*4882a593Smuzhiyun			label = "u_env";
89*4882a593Smuzhiyun			reg = <0x200000 0x40000>;    /* 256KiB */
90*4882a593Smuzhiyun		};
91*4882a593Smuzhiyun
92*4882a593Smuzhiyun		partition@140000 {
93*4882a593Smuzhiyun			label = "s_env";
94*4882a593Smuzhiyun			reg = <0x240000 0x40000>;    /* 256KiB */
95*4882a593Smuzhiyun		};
96*4882a593Smuzhiyun
97*4882a593Smuzhiyun		partition@900000 {
98*4882a593Smuzhiyun			label = "devinfo";
99*4882a593Smuzhiyun			reg = <0x900000 0x100000>;   /* 1MiB */
100*4882a593Smuzhiyun			read-only;
101*4882a593Smuzhiyun		};
102*4882a593Smuzhiyun
103*4882a593Smuzhiyun		/* kernel1 overlaps with rootfs1 by design */
104*4882a593Smuzhiyun		partition@a00000 {
105*4882a593Smuzhiyun			label = "kernel1";
106*4882a593Smuzhiyun			reg = <0xa00000 0x2800000>;  /* 40MiB */
107*4882a593Smuzhiyun		};
108*4882a593Smuzhiyun
109*4882a593Smuzhiyun		partition@1000000 {
110*4882a593Smuzhiyun			label = "rootfs1";
111*4882a593Smuzhiyun			reg = <0x1000000 0x2200000>;  /* 34MiB */
112*4882a593Smuzhiyun		};
113*4882a593Smuzhiyun
114*4882a593Smuzhiyun		/* kernel2 overlaps with rootfs2 by design */
115*4882a593Smuzhiyun		partition@3200000 {
116*4882a593Smuzhiyun			label = "kernel2";
117*4882a593Smuzhiyun			reg = <0x3200000 0x2800000>; /* 40MiB */
118*4882a593Smuzhiyun		};
119*4882a593Smuzhiyun
120*4882a593Smuzhiyun		partition@3800000 {
121*4882a593Smuzhiyun			label = "rootfs2";
122*4882a593Smuzhiyun			reg = <0x3800000 0x2200000>; /* 34MiB */
123*4882a593Smuzhiyun		};
124*4882a593Smuzhiyun
125*4882a593Smuzhiyun		/*
126*4882a593Smuzhiyun		 * 38MiB, last MiB is for the BBT, not writable
127*4882a593Smuzhiyun		 */
128*4882a593Smuzhiyun		partition@5a00000 {
129*4882a593Smuzhiyun			label = "syscfg";
130*4882a593Smuzhiyun			reg = <0x5a00000 0x2600000>;
131*4882a593Smuzhiyun		};
132*4882a593Smuzhiyun
133*4882a593Smuzhiyun		/*
134*4882a593Smuzhiyun		 * Unused area between "s_env" and "devinfo".
135*4882a593Smuzhiyun		 * Moved here because otherwise the renumbered
136*4882a593Smuzhiyun		 * partitions would break the bootloader
137*4882a593Smuzhiyun		 * supplied bootargs
138*4882a593Smuzhiyun		 */
139*4882a593Smuzhiyun		partition@180000 {
140*4882a593Smuzhiyun			label = "unused_area";
141*4882a593Smuzhiyun			reg = <0x280000 0x680000>;   /* 6.5MiB */
142*4882a593Smuzhiyun		};
143*4882a593Smuzhiyun	};
144*4882a593Smuzhiyun};
145