mvebu: add support for the Linksys WRT3200ACM (Rango)
Signed-off-by: Imre Kaloz <kaloz@openwrt.org> Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
This commit is contained in:
		 Imre Kaloz
					Imre Kaloz
				
			
				
					committed by
					
						 Felix Fietkau
						Felix Fietkau
					
				
			
			
				
	
			
			
			 Felix Fietkau
						Felix Fietkau
					
				
			
						parent
						
							5da412bf80
						
					
				
				
					commit
					3764caa934
				
			| @@ -1,6 +1,7 @@ | ||||
| #!/bin/sh | ||||
| # | ||||
| # Copyright (C) 2014-2015 OpenWrt.org | ||||
| # Copyright (C) 2014-2016 OpenWrt.org | ||||
| # Copyright (C) 2016 LEDE-Project.org | ||||
| # | ||||
|  | ||||
| [ -e /etc/config/ubootenv ] && exit 0 | ||||
| @@ -17,6 +18,9 @@ case "$board" in | ||||
| armada-385-linksys-caiman|armada-385-linksys-cobra|armada-385-linksys-shelby) | ||||
| 	ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x20000" "0x40000" | ||||
| 	;; | ||||
| armada-385-linksys-rango) | ||||
| 	ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x20000" "0x20000" | ||||
| 	;; | ||||
| armada-xp-linksys-mamba) | ||||
| 	ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x40000" "0x20000" | ||||
| 	;; | ||||
|   | ||||
| @@ -1,6 +1,7 @@ | ||||
| #!/bin/sh | ||||
| # | ||||
| # Copyright (C) 2014-2015 OpenWrt.org | ||||
| # Copyright (C) 2014-2016 OpenWrt.org | ||||
| # Copyright (C) 2016 LEDE-Project.org | ||||
| # | ||||
|  | ||||
| . /lib/functions/uci-defaults.sh | ||||
| @@ -21,6 +22,11 @@ armada-385-linksys-cobra) | ||||
| 	ucidef_set_led_usbdev "usb2" "USB2" "pca963x:cobra:white:usb2" "1-1" | ||||
| 	ucidef_set_led_usbdev "usb3" "USB3" "pca963x:cobra:white:usb3_1" "2-1" | ||||
| 	;; | ||||
| armada-385-linksys-rango) | ||||
| 	ucidef_set_led_netdev "wan" "WAN" "pca963x:rango:white:wan" "eth0" | ||||
| 	ucidef_set_led_usbdev "usb2" "USB2" "pca963x:rango:white:usb2" "1-1" | ||||
| 	ucidef_set_led_usbdev "usb3" "USB3" "pca963x:rango:white:usb3_1" "2-1" | ||||
| 	;; | ||||
| armada-385-linksys-shelby) | ||||
| 	ucidef_set_led_netdev "wan" "WAN" "pca963x:shelby:white:wan" "eth0" | ||||
| 	ucidef_set_led_usbdev "usb2" "USB2" "pca963x:shelby:white:usb2" "1-1" | ||||
|   | ||||
| @@ -1,6 +1,7 @@ | ||||
| #!/bin/sh | ||||
| # | ||||
| # Copyright (C) 2014-2015 OpenWrt.org | ||||
| # Copyright (C) 2014-2016 OpenWrt.org | ||||
| # Copyright (C) 2016 LEDE-Project.org | ||||
| # | ||||
|  | ||||
| . /lib/functions/uci-defaults.sh | ||||
| @@ -13,6 +14,7 @@ board=$(mvebu_board_name) | ||||
| case "$board" in | ||||
| armada-385-linksys-caiman|\ | ||||
| armada-385-linksys-cobra|\ | ||||
| armada-385-linksys-rango|\ | ||||
| armada-385-linksys-shelby) | ||||
| 	ucidef_set_interfaces_lan_wan "eth1" "eth0" | ||||
| 	ucidef_add_switch "switch0" \ | ||||
|   | ||||
| @@ -13,6 +13,9 @@ get_status_led() { | ||||
| 	armada-385-linksys-cobra) | ||||
| 		status_led="cobra:white:power" | ||||
| 		;; | ||||
| 	armada-385-linksys-rango) | ||||
| 		status_led="rango:white:power" | ||||
| 		;; | ||||
| 	armada-385-linksys-shelby) | ||||
| 		status_led="shelby:white:power" | ||||
| 		;; | ||||
|   | ||||
| @@ -1,5 +1,6 @@ | ||||
| #!/bin/sh /etc/rc.common | ||||
| # Copyright (C) 2015 OpenWrt.org | ||||
| # Copyright (C) 2015-2016 OpenWrt.org | ||||
| # Copyright (C) 2016 LEDE-Project.org | ||||
|  | ||||
| START=97 | ||||
| boot() { | ||||
| @@ -7,7 +8,7 @@ boot() { | ||||
| . /lib/mvebu.sh | ||||
|  | ||||
| case $(mvebu_board_name) in | ||||
| 	armada-385-linksys-caiman|armada-385-linksys-cobra|armada-385-linksys-shelby|armada-xp-linksys-mamba) | ||||
| 	armada-385-linksys-caiman|armada-385-linksys-cobra|armada-385-linksys-rango|armada-385-linksys-shelby|armada-xp-linksys-mamba) | ||||
| 		# make sure auto_recovery in uboot is always on | ||||
| 		AUTO_RECOVERY_ENA="`fw_printenv -n auto_recovery`" | ||||
| 		if [ "$AUTO_RECOVERY_ENA" != "yes" ] ; then | ||||
|   | ||||
| @@ -1,6 +1,7 @@ | ||||
| #!/bin/sh | ||||
| # | ||||
| # Copyright (C) 2013-2015 OpenWrt.org | ||||
| # Copyright (C) 2016 LEDE-Project.org | ||||
| # | ||||
|  | ||||
| MVEBU_BOARD_NAME= | ||||
| @@ -43,6 +44,9 @@ mvebu_board_detect() { | ||||
| 	*"Linksys WRT1900ACS") | ||||
| 		name="armada-385-linksys-shelby" | ||||
| 		;; | ||||
| 	*"Linksys WRT3200ACM") | ||||
| 		name="armada-385-linksys-rango" | ||||
| 		;; | ||||
| 	*"Marvell Armada 385 Access Point Development Board") | ||||
| 		name="armada-385-db-ap" | ||||
| 		;; | ||||
|   | ||||
| @@ -1,5 +1,6 @@ | ||||
| # | ||||
| # Copyright (C) 2014-2015 OpenWrt.org | ||||
| # Copyright (C) 2016 LEDE-Project.org | ||||
| # | ||||
|  | ||||
| preinit_set_mac_address() { | ||||
| @@ -14,7 +15,7 @@ preinit_set_mac_address() { | ||||
| 		ifconfig eth0 hw ether $mac 2>/dev/null | ||||
| 		ifconfig eth1 hw ether $mac 2>/dev/null | ||||
| 		;; | ||||
| 	armada-385-linksys-caiman|armada-385-linksys-cobra|armada-385-linksys-shelby) | ||||
| 	armada-385-linksys-caiman|armada-385-linksys-cobra|armada-385-linksys-rango|armada-385-linksys-shelby) | ||||
| 		mac=$(mtd_get_mac_ascii devinfo hw_mac_addr) | ||||
| 		mac_wan=$(macaddr_setbit_la "$mac") | ||||
| 		ifconfig eth1 hw ether $mac 2>/dev/null | ||||
|   | ||||
| @@ -1,5 +1,6 @@ | ||||
| # | ||||
| # Copyright (C) 2014 OpenWrt.org | ||||
| # Copyright (C) 2014-2016 OpenWrt.org | ||||
| # Copyright (C) 2016 LEDE-Project.org | ||||
| # | ||||
|  | ||||
| preinit_mount_syscfg() { | ||||
| @@ -8,15 +9,16 @@ preinit_mount_syscfg() { | ||||
| 	. /lib/mvebu.sh | ||||
|  | ||||
| 	case $(mvebu_board_name) in | ||||
| 	armada-385-linksys-caiman|armada-385-linksys-cobra|armada-385-linksys-shelby|armada-xp-linksys-mamba) | ||||
| 	armada-385-linksys-caiman|armada-385-linksys-cobra|armada-385-linksys-rango|armada-385-linksys-shelby|armada-xp-linksys-mamba) | ||||
| 		needs_recovery=0 | ||||
| 		ubiattach -m 8 || needs_recovery=1 | ||||
| 		syscfg_part=$(grep syscfg /proc/mtd |cut -c4) | ||||
| 		ubiattach -m $syscfg_part || needs_recovery=1 | ||||
| 		if [ $needs_recovery -eq 1 ] | ||||
| 		then | ||||
| 			echo "ubifs syscfg partition is damaged, reformatting" | ||||
| 			ubidetach -m 8 | ||||
| 			ubiformat -y -O 2048 -q /dev/mtd8 | ||||
| 			ubiattach -m 8 | ||||
| 			ubidetach -m $syscfg_part | ||||
| 			ubiformat -y -O 2048 -q /dev/mtd$syscfg_part | ||||
| 			ubiattach -m $syscfg_part | ||||
| 			ubimkvol /dev/ubi1 -n 0 -N syscfg -t dynamic --maxavsize | ||||
| 		fi | ||||
| 		mkdir /tmp/syscfg | ||||
|   | ||||
| @@ -1,5 +1,6 @@ | ||||
| # | ||||
| # Copyright (C) 2014 OpenWrt.org | ||||
| # Copyright (C) 2014-2016 OpenWrt.org | ||||
| # Copyright (C) 2016 LEDE-Project.org | ||||
| # | ||||
|  | ||||
| . /lib/mvebu.sh | ||||
| @@ -13,7 +14,7 @@ platform_check_image() { | ||||
| 	[ "$#" -gt 1 ] && return 1 | ||||
|  | ||||
| 	case "$board" in | ||||
| 	armada-385-linksys-caiman|armada-385-linksys-cobra|armada-385-linksys-shelby|armada-xp-linksys-mamba) | ||||
| 	armada-385-linksys-caiman|armada-385-linksys-cobra|armada-385-linksys-rango|armada-385-linksys-shelby|armada-xp-linksys-mamba) | ||||
| 		[ "$magic_long" != "27051956" -a "$magic_long" != "73797375" ] && { | ||||
| 			echo "Invalid image type." | ||||
| 			return 1 | ||||
| @@ -34,7 +35,7 @@ platform_do_upgrade() { | ||||
| 	local board=$(mvebu_board_name) | ||||
|  | ||||
| 	case "$board" in | ||||
| 	armada-385-linksys-caiman|armada-385-linksys-cobra|armada-385-linksys-shelby|armada-xp-linksys-mamba) | ||||
| 	armada-385-linksys-caiman|armada-385-linksys-cobra|armada-385-linksys-rango|armada-385-linksys-shelby|armada-xp-linksys-mamba) | ||||
| 		platform_do_upgrade_linksys "$ARGV" | ||||
| 		;; | ||||
| 	armada-388-clearfog) | ||||
|   | ||||
| @@ -0,0 +1,446 @@ | ||||
| /* | ||||
|  * Device Tree file for the Linksys WRT3200ACM (Rango) | ||||
|  * | ||||
|  * Copyright (C) 2016 Imre Kaloz <kaloz@openwrt.org> | ||||
|  * | ||||
|  * | ||||
|  * This file is dual-licensed: you can use it either under the terms | ||||
|  * of the GPL or the X11 license, at your option. Note that this dual | ||||
|  * licensing only applies to this file, and not this project as a | ||||
|  * whole. | ||||
|  * | ||||
|  *  a) This file is licensed under the terms of the GNU General Public | ||||
|  *     License version 2.  This program is licensed "as is" without | ||||
|  *     any warranty of any kind, whether express or implied. | ||||
|  * | ||||
|  * Or, alternatively, | ||||
|  * | ||||
|  *  b) Permission is hereby granted, free of charge, to any person | ||||
|  *     obtaining a copy of this software and associated documentation | ||||
|  *     files (the "Software"), to deal in the Software without | ||||
|  *     restriction, including without limitation the rights to use, | ||||
|  *     copy, modify, merge, publish, distribute, sublicense, and/or | ||||
|  *     sell copies of the Software, and to permit persons to whom the | ||||
|  *     Software is furnished to do so, subject to the following | ||||
|  *     conditions: | ||||
|  * | ||||
|  *     The above copyright notice and this permission notice shall be | ||||
|  *     included in all copies or substantial portions of the Software. | ||||
|  * | ||||
|  *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||||
|  *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES | ||||
|  *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||||
|  *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT | ||||
|  *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | ||||
|  *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||||
|  *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | ||||
|  *     OTHER DEALINGS IN THE SOFTWARE. | ||||
|  */ | ||||
|  | ||||
| /dts-v1/; | ||||
| #include <dt-bindings/gpio/gpio.h> | ||||
| #include <dt-bindings/input/input.h> | ||||
| #include "armada-385.dtsi" | ||||
|  | ||||
| / { | ||||
| 	model = "Linksys WRT3200ACM"; | ||||
| 	compatible = "linksys,rango", "linksys,armada385", "marvell,armada385", | ||||
| 		     "marvell,armada380"; | ||||
|  | ||||
| 	chosen { | ||||
| 		stdout-path = "serial0:115200n8"; | ||||
| 	}; | ||||
|  | ||||
| 	memory { | ||||
| 		device_type = "memory"; | ||||
| 		reg = <0x00000000 0x20000000>; /* 512 MB */ | ||||
| 	}; | ||||
|  | ||||
| 	soc { | ||||
| 		ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000 | ||||
| 			  MBUS_ID(0x01, 0x1d) 0 0xfff00000 0x100000 | ||||
| 			  MBUS_ID(0x09, 0x19) 0 0xf1100000 0x10000 | ||||
| 			  MBUS_ID(0x09, 0x15) 0 0xf1110000 0x10000 | ||||
| 			  MBUS_ID(0x0c, 0x04) 0 0xf1200000 0x100000>; | ||||
|  | ||||
| 		internal-regs { | ||||
|  | ||||
| 			spi@10600 { | ||||
| 				status = "disabled"; | ||||
| 			}; | ||||
|  | ||||
| 			i2c@11000 { | ||||
| 				pinctrl-names = "default"; | ||||
| 				pinctrl-0 = <&i2c0_pins>; | ||||
| 				status = "okay"; | ||||
|  | ||||
| 				tmp421@4c { | ||||
| 					compatible = "ti,tmp421"; | ||||
| 					reg = <0x4c>; | ||||
| 				}; | ||||
|  | ||||
| 				pca9635@68 { | ||||
| 					#address-cells = <1>; | ||||
| 					#size-cells = <0>; | ||||
| 					compatible = "nxp,pca9635"; | ||||
| 					reg = <0x68>; | ||||
|  | ||||
| 					wan_amber@0 { | ||||
| 						label = "rango:amber:wan"; | ||||
| 						reg = <0x0>; | ||||
| 					}; | ||||
|  | ||||
| 					wan_white@1 { | ||||
| 						label = "rango:white:wan"; | ||||
| 						reg = <0x1>; | ||||
| 					}; | ||||
|  | ||||
| 					wlan_2g@2 { | ||||
| 						label = "rango:white:wlan_2g"; | ||||
| 						reg = <0x2>; | ||||
| 					}; | ||||
|  | ||||
| 					wlan_5g@3 { | ||||
| 						label = "rango:white:wlan_5g"; | ||||
| 						reg = <0x3>; | ||||
| 					}; | ||||
|  | ||||
| 					usb2@5 { | ||||
| 						label = "rango:white:usb2"; | ||||
| 						reg = <0x5>; | ||||
| 					}; | ||||
|  | ||||
| 					usb3_1@6 { | ||||
| 						label = "rango:white:usb3_1"; | ||||
| 						reg = <0x6>; | ||||
| 					}; | ||||
|  | ||||
| 					usb3_2@7 { | ||||
| 						label = "rango:white:usb3_2"; | ||||
| 						reg = <0x7>; | ||||
| 					}; | ||||
|  | ||||
| 					wps_white@8 { | ||||
| 						label = "rango:white:wps"; | ||||
| 						reg = <0x8>; | ||||
| 					}; | ||||
|  | ||||
| 					wps_amber@9 { | ||||
| 						label = "rango:amber:wps"; | ||||
| 						reg = <0x9>; | ||||
| 					}; | ||||
| 				}; | ||||
| 			}; | ||||
|  | ||||
| 			/* J10: VCC, NC, RX, NC, TX, GND  */ | ||||
| 			serial@12000 { | ||||
| 				status = "okay"; | ||||
| 			}; | ||||
|  | ||||
| 			ethernet@70000 { | ||||
| 				status = "okay"; | ||||
| 				phy-mode = "rgmii-id"; | ||||
| 				buffer-manager = <&bm>; | ||||
| 				bm,pool-long = <0>; | ||||
| 				bm,pool-short = <3>; | ||||
| 				fixed-link { | ||||
| 					speed = <1000>; | ||||
| 					full-duplex; | ||||
| 				}; | ||||
| 			}; | ||||
|  | ||||
| 			ethernet@34000 { | ||||
| 				status = "okay"; | ||||
| 				phy-mode = "sgmii"; | ||||
| 				buffer-manager = <&bm>; | ||||
| 				bm,pool-long = <2>; | ||||
| 				bm,pool-short = <3>; | ||||
| 				fixed-link { | ||||
| 					speed = <1000>; | ||||
| 					full-duplex; | ||||
| 				}; | ||||
| 			}; | ||||
|  | ||||
| 			mdio { | ||||
| 				status = "okay"; | ||||
| 			}; | ||||
|  | ||||
| 			bm@c8000 { | ||||
| 				status = "okay"; | ||||
| 			}; | ||||
|  | ||||
| 			sata@a8000 { | ||||
| 				status = "okay"; | ||||
| 			}; | ||||
|  | ||||
| 			sdhci@d8000 { | ||||
| 				pinctrl-names = "default"; | ||||
| 				pinctrl-0 = <&sdhci_pins>; | ||||
| 				no-1-8-v; | ||||
| 				broken-cd; | ||||
| 				wp-inverted; | ||||
| 				bus-width = <8>; | ||||
| 				status = "okay"; | ||||
| 			}; | ||||
|  | ||||
| 			/* USB part of the eSATA/USB 2.0 port */ | ||||
| 			usb@58000 { | ||||
| 				status = "okay"; | ||||
| 			}; | ||||
|  | ||||
| 			usb3@f8000 { | ||||
| 				status = "okay"; | ||||
| 				usb-phy = <&usb3_phy>; | ||||
| 			}; | ||||
|  | ||||
| 			flash@d0000 { | ||||
| 				status = "okay"; | ||||
| 				num-cs = <1>; | ||||
| 				marvell,nand-keep-config; | ||||
| 				marvell,nand-enable-arbiter; | ||||
| 				nand-on-flash-bbt; | ||||
|  | ||||
| 				partition@0 { | ||||
| 					label = "u-boot"; | ||||
| 					reg = <0x0000000 0x200000>;  /* 2MB */ | ||||
| 					read-only; | ||||
| 				}; | ||||
|  | ||||
| 				partition@200000 { | ||||
| 					label = "u_env"; | ||||
| 					reg = <0x200000 0x20000>;    /* 128KB */ | ||||
| 				}; | ||||
|  | ||||
| 				partition@220000 { | ||||
| 					label = "s_env"; | ||||
| 					reg = <0x220000 0x40000>;    /* 256KB */ | ||||
| 				}; | ||||
|  | ||||
| 				partition@7e0000 { | ||||
| 					label = "devinfo"; | ||||
| 					reg = <0x7e0000 0x40000>;   /* 256KB */ | ||||
| 					read-only; | ||||
| 				}; | ||||
|  | ||||
| 				partition@820000 { | ||||
| 					label = "sysdiag"; | ||||
| 					reg = <0x820000 0x1e0000>;   /* 1920KB */ | ||||
| 					read-only; | ||||
| 				}; | ||||
|  | ||||
| 				/* kernel1 overlaps with rootfs1 by design */ | ||||
| 				partition@a00000 { | ||||
| 					label = "kernel1"; | ||||
| 					reg = <0xa00000 0x5000000>;  /* 80MB */ | ||||
| 				}; | ||||
|  | ||||
| 				partition@1000000 { | ||||
| 					label = "rootfs1"; | ||||
| 					reg = <0x1000000 0x4a00000>;  /* 74MB */ | ||||
| 				}; | ||||
|  | ||||
| 				/* kernel2 overlaps with rootfs2 by design */ | ||||
| 				partition@5a00000 { | ||||
| 					label = "kernel2"; | ||||
| 					reg = <0x5a00000 0x5000000>; /* 80MB */ | ||||
| 				}; | ||||
|  | ||||
| 				partition@6000000 { | ||||
| 					label = "rootfs2"; | ||||
| 					reg = <0x6000000 0x4a00000>; /* 74MB */ | ||||
| 				}; | ||||
|  | ||||
| 				/* | ||||
| 				 * 86MB, last MB is for the BBT, not writable | ||||
| 				 */ | ||||
| 				partition@aa00000 { | ||||
| 					label = "syscfg"; | ||||
| 					reg = <0xaa00000 0x5600000>; | ||||
| 				}; | ||||
|  | ||||
| 				/* | ||||
| 				 * Unused area between "s_env" and "devinfo". | ||||
| 				 * Moved here because otherwise the renumbered | ||||
| 				 * partitions would break the bootloader | ||||
| 				 * supplied bootargs | ||||
| 				 */ | ||||
| 				partition@180000 { | ||||
| 					label = "unused_area"; | ||||
| 					reg = <0x260000 0x5c0000>;   /* 5.75MB */ | ||||
| 				}; | ||||
| 			}; | ||||
| 		}; | ||||
|  | ||||
| 		bm-bppi { | ||||
| 			status = "okay"; | ||||
| 		}; | ||||
|  | ||||
| 		pcie-controller { | ||||
| 			status = "okay"; | ||||
|  | ||||
| 			pcie@1,0 { | ||||
| 				/* Marvell 88W8964, 5GHz-only */ | ||||
| 				status = "okay"; | ||||
|  | ||||
| 				mwlwifi { | ||||
| 					marvell,2ghz = <0>; | ||||
| 					marvell,chainmask = <4 4>; | ||||
| 				}; | ||||
|  | ||||
| 			}; | ||||
|  | ||||
| 			pcie@2,0 { | ||||
| 				/* Marvell 88W8964, 2GHz-only */ | ||||
| 				status = "okay"; | ||||
|  | ||||
| 				mwlwifi { | ||||
| 					marvell,5ghz = <0>; | ||||
| 					marvell,chainmask = <4 4>; | ||||
| 				}; | ||||
|  | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	usb3_phy: usb3_phy { | ||||
| 		compatible = "usb-nop-xceiv"; | ||||
| 		vcc-supply = <®_xhci0_vbus>; | ||||
| 	}; | ||||
|  | ||||
| 	reg_xhci0_vbus: xhci0-vbus { | ||||
| 		compatible = "regulator-fixed"; | ||||
| 		pinctrl-names = "default"; | ||||
| 		pinctrl-0 = <&xhci0_vbus_pins>; | ||||
| 		regulator-name = "xhci0-vbus"; | ||||
| 		regulator-min-microvolt = <5000000>; | ||||
| 		regulator-max-microvolt = <5000000>; | ||||
| 		enable-active-high; | ||||
| 		gpio = <&gpio1 16 GPIO_ACTIVE_HIGH>; | ||||
| 	}; | ||||
|  | ||||
| 	gpio_keys { | ||||
| 		compatible = "gpio-keys"; | ||||
| 		#address-cells = <1>; | ||||
| 		#size-cells = <0>; | ||||
| 		pinctrl-0 = <&keys_pin>; | ||||
| 		pinctrl-names = "default"; | ||||
|  | ||||
| 		button@1 { | ||||
| 			label = "WPS"; | ||||
| 			linux,code = <KEY_WPS_BUTTON>; | ||||
| 			gpios = <&gpio0 24 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
|  | ||||
| 		button@2 { | ||||
| 			label = "Factory Reset Button"; | ||||
| 			linux,code = <KEY_RESTART>; | ||||
| 			gpios = <&gpio0 29 GPIO_ACTIVE_LOW>; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	gpio-leds { | ||||
| 		compatible = "gpio-leds"; | ||||
| 		pinctrl-0 = <&power_led_pin &sata_led_pin>; | ||||
| 		pinctrl-names = "default"; | ||||
|  | ||||
| 		power { | ||||
| 			gpios = <&gpio1 25 GPIO_ACTIVE_HIGH>; | ||||
| 			default-state = "on"; | ||||
| 		}; | ||||
|  | ||||
| 		sata { | ||||
| 			gpios = <&gpio0 21 GPIO_ACTIVE_LOW>; | ||||
| 			default-state = "off"; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	dsa@0 { | ||||
| 		compatible = "marvell,dsa"; | ||||
| 		#address-cells = <2>; | ||||
| 		#size-cells = <0>; | ||||
|  | ||||
| 		dsa,ethernet = <ð2>; | ||||
| 		dsa,mii-bus = <&mdio>; | ||||
|  | ||||
| 		switch@0 { | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <0>; | ||||
| 			reg = <0x0 0>;	/* MDIO address 0, switch 0 in tree */ | ||||
|  | ||||
| 			port@0 { | ||||
| 				reg = <0>; | ||||
| 				label = "lan4"; | ||||
| 			}; | ||||
|  | ||||
| 			port@1 { | ||||
| 				reg = <1>; | ||||
| 				label = "lan3"; | ||||
| 			}; | ||||
|  | ||||
| 			port@2 { | ||||
| 				reg = <2>; | ||||
| 				label = "lan2"; | ||||
| 			}; | ||||
|  | ||||
| 			port@3 { | ||||
| 				reg = <3>; | ||||
| 				label = "lan1"; | ||||
| 			}; | ||||
|  | ||||
| 			port@4 { | ||||
| 				reg = <4>; | ||||
| 				label = "wan"; | ||||
| 			}; | ||||
|  | ||||
| 			port@5 { | ||||
| 				reg = <5>; | ||||
| 				label = "cpu"; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	gpio-leds { | ||||
| 		power { | ||||
| 			label = "rango:white:power"; | ||||
| 		}; | ||||
|  | ||||
| 		sata { | ||||
| 			label = "rango:white:sata"; | ||||
| 		}; | ||||
| 	}; | ||||
|  | ||||
| 	mvsw61xx { | ||||
| 		#address-cells = <1>; | ||||
| 		#size-cells = <0>; | ||||
| 		compatible = "marvell,88e6352"; | ||||
| 		status = "okay"; | ||||
| 		reg = <0x10>; | ||||
|  | ||||
| 		mii-bus = <&mdio>; | ||||
| 		cpu-port-0 = <5>; | ||||
| 		cpu-port-1 = <6>; | ||||
| 	}; | ||||
|  | ||||
| }; | ||||
|  | ||||
| &pinctrl { | ||||
| 	keys_pin: keys-pin { | ||||
| 		marvell,pins = "mpp24", "mpp29"; | ||||
| 		marvell,function = "gpio"; | ||||
| 	}; | ||||
|  | ||||
| 	power_led_pin: power-led-pin { | ||||
| 		marvell,pins = "mpp56"; | ||||
| 		marvell,function = "gpio"; | ||||
| 	}; | ||||
|  | ||||
| 	sata_led_pin: sata-led-pin { | ||||
| 		marvell,pins = "mpp21"; | ||||
| 		marvell,function = "gpio"; | ||||
| 	}; | ||||
|  | ||||
| 	xhci0_vbus_pins: xhci0-vbus-pins { | ||||
| 		marvell,pins = "mpp47"; | ||||
| 		marvell,function = "gpio"; | ||||
| 	}; | ||||
| }; | ||||
| @@ -1,5 +1,6 @@ | ||||
| # | ||||
| # Copyright (C) 2012-2015 OpenWrt.org | ||||
| # Copyright (C) 2012-2016 OpenWrt.org | ||||
| # Copyright (C) 2016 LEDE-project.org | ||||
| # | ||||
| # This is free software, licensed under the GNU General Public License v2. | ||||
| # See /LICENSE for more information. | ||||
| @@ -119,6 +120,13 @@ define Device/linksys-wrt1900acv2 | ||||
| endef | ||||
| TARGET_DEVICES += linksys-wrt1900acv2 | ||||
|  | ||||
| define Device/linksys-wrt3200acm | ||||
|   $(call Device/linksys,WRT3200ACM (Rango)) | ||||
|   $(Device/armada-385-linksys) | ||||
|   DEVICE_DTS := armada-385-linksys-rango | ||||
| endef | ||||
| TARGET_DEVICES += linksys-wrt3200acm | ||||
|  | ||||
| define Device/linksys-wrt1900acs | ||||
|   $(call Device/linksys,WRT1900ACS (Shelby)) | ||||
|   $(Device/armada-385-linksys) | ||||
|   | ||||
| @@ -1,9 +1,10 @@ | ||||
| --- a/arch/arm/boot/dts/Makefile | ||||
| +++ b/arch/arm/boot/dts/Makefile | ||||
| @@ -748,6 +748,7 @@ dtb-$(CONFIG_MACH_ARMADA_38X) += \ | ||||
| @@ -748,6 +748,8 @@ dtb-$(CONFIG_MACH_ARMADA_38X) += \ | ||||
|  	armada-385-db-ap.dtb \ | ||||
|  	armada-385-linksys-caiman.dtb \ | ||||
|  	armada-385-linksys-cobra.dtb \ | ||||
| +	armada-385-linksys-rango.dtb \ | ||||
| +	armada-385-linksys-shelby.dtb \ | ||||
|  	armada-388-db.dtb \ | ||||
|  	armada-388-gp.dtb \ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user