242 lines
3.9 KiB
Plaintext
242 lines
3.9 KiB
Plaintext
|
// SPDX-License-Identifier: GPL-2.0
|
||
|
/*
|
||
|
* kirkwood-viper.dts - Device Tree file for Linksys viper (E4200v2 / EA4500)
|
||
|
*
|
||
|
* (c) 2013 Jonas Gorski <jogo@openwrt.org>
|
||
|
* (c) 2013 Deutsche Telekom Innovation Laboratories
|
||
|
* (c) 2014 Luka Perkov <luka@openwrt.org>
|
||
|
* (c) 2014 Randy C. Will <randall.will@gmail.com>
|
||
|
*
|
||
|
*/
|
||
|
|
||
|
/dts-v1/;
|
||
|
|
||
|
#include "kirkwood.dtsi"
|
||
|
#include "kirkwood-6282.dtsi"
|
||
|
|
||
|
/ {
|
||
|
model = "Linksys Viper (E4200v2 / EA4500)";
|
||
|
compatible = "linksys,viper", "marvell,kirkwood-88f6282", "marvell,kirkwood";
|
||
|
|
||
|
memory {
|
||
|
device_type = "memory";
|
||
|
reg = <0x00000000 0x8000000>;
|
||
|
};
|
||
|
|
||
|
aliases {
|
||
|
serial0 = &uart0;
|
||
|
};
|
||
|
|
||
|
chosen {
|
||
|
stdout-path = "serial0:115200n8";
|
||
|
};
|
||
|
|
||
|
gpio_keys {
|
||
|
compatible = "gpio-keys";
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
pinctrl-0 = < &pmx_btn_wps &pmx_btn_reset >;
|
||
|
pinctrl-names = "default";
|
||
|
|
||
|
wps {
|
||
|
label = "WPS Button";
|
||
|
linux,code = <KEY_WPS_BUTTON>;
|
||
|
gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
|
||
|
};
|
||
|
|
||
|
reset {
|
||
|
label = "Reset Button";
|
||
|
linux,code = <KEY_RESTART>;
|
||
|
gpios = <&gpio1 16 GPIO_ACTIVE_LOW>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
gpio-leds {
|
||
|
compatible = "gpio-leds";
|
||
|
pinctrl-0 = < &pmx_led_white_health &pmx_led_white_pulse >;
|
||
|
pinctrl-names = "default";
|
||
|
|
||
|
white-health {
|
||
|
label = "viper:white:health";
|
||
|
gpios = <&gpio0 7 GPIO_ACTIVE_HIGH>;
|
||
|
};
|
||
|
|
||
|
white-pulse {
|
||
|
label = "viper:white:pulse";
|
||
|
gpios = <&gpio0 14 GPIO_ACTIVE_HIGH>;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&pinctrl {
|
||
|
pmx_led_white_health: pmx-led-white-health {
|
||
|
marvell,pins = "mpp7";
|
||
|
marvell,function = "gpo";
|
||
|
};
|
||
|
pmx_led_white_pulse: pmx-led-white-pulse {
|
||
|
marvell,pins = "mpp14";
|
||
|
marvell,function = "gpio";
|
||
|
};
|
||
|
pmx_btn_wps: pmx-btn-wps {
|
||
|
marvell,pins = "mpp47";
|
||
|
marvell,function = "gpio";
|
||
|
};
|
||
|
pmx_btn_reset: pmx-btn-reset {
|
||
|
marvell,pins = "mpp48";
|
||
|
marvell,function = "gpio";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&nand {
|
||
|
status = "okay";
|
||
|
pinctrl-0 = <&pmx_nand>;
|
||
|
pinctrl-names = "default";
|
||
|
|
||
|
partitions {
|
||
|
compatible = "fixed-partitions";
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <1>;
|
||
|
|
||
|
partition@0 {
|
||
|
label = "u-boot";
|
||
|
reg = <0x0 0x80000>;
|
||
|
read-only;
|
||
|
};
|
||
|
|
||
|
partition@80000 {
|
||
|
label = "u_env";
|
||
|
reg = <0x80000 0x20000>;
|
||
|
};
|
||
|
|
||
|
partition@a0000 {
|
||
|
label = "s_env";
|
||
|
reg = <0xA0000 0x20000>;
|
||
|
};
|
||
|
|
||
|
partition@200000 {
|
||
|
label = "kernel";
|
||
|
reg = <0x200000 0x2A0000>;
|
||
|
};
|
||
|
|
||
|
partition@4a0000 {
|
||
|
label = "rootfs";
|
||
|
reg = <0x4A0000 0x1760000>;
|
||
|
};
|
||
|
|
||
|
partition@1c00000 {
|
||
|
label = "alt_kernel";
|
||
|
reg = <0x1C00000 0x2A0000>;
|
||
|
};
|
||
|
|
||
|
partition@1ea0000 {
|
||
|
label = "alt_rootfs";
|
||
|
reg = <0x1EA0000 0x1760000>;
|
||
|
};
|
||
|
|
||
|
partition@3600000 {
|
||
|
label = "syscfg";
|
||
|
reg = <0x3600000 0x4A00000>;
|
||
|
};
|
||
|
|
||
|
partition@c0000 {
|
||
|
label = "unused";
|
||
|
reg = <0xC0000 0x140000>;
|
||
|
};
|
||
|
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&pciec {
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&pcie0 {
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&pcie1 {
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&mdio {
|
||
|
status = "okay";
|
||
|
|
||
|
switch@10 {
|
||
|
compatible = "marvell,mv88e6085";
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
reg = <16>;
|
||
|
|
||
|
ports {
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
|
||
|
port@0 {
|
||
|
reg = <0>;
|
||
|
label = "ethernet1";
|
||
|
};
|
||
|
|
||
|
port@1 {
|
||
|
reg = <1>;
|
||
|
label = "ethernet2";
|
||
|
};
|
||
|
|
||
|
port@2 {
|
||
|
reg = <2>;
|
||
|
label = "ethernet3";
|
||
|
};
|
||
|
|
||
|
port@3 {
|
||
|
reg = <3>;
|
||
|
label = "ethernet4";
|
||
|
};
|
||
|
|
||
|
port@4 {
|
||
|
reg = <4>;
|
||
|
label = "internet";
|
||
|
};
|
||
|
|
||
|
port@5 {
|
||
|
reg = <5>;
|
||
|
phy-mode = "rgmii-id";
|
||
|
ethernet = <ð0port>;
|
||
|
fixed-link {
|
||
|
speed = <1000>;
|
||
|
full-duplex;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&uart0 {
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
/* eth0 is connected to a Marvell 88E6171 switch, without a PHY. So set
|
||
|
* fixed speed and duplex.
|
||
|
*/
|
||
|
ð0 {
|
||
|
status = "okay";
|
||
|
ethernet0-port@0 {
|
||
|
speed = <1000>;
|
||
|
duplex = <1>;
|
||
|
phy-mode = "rgmii";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
/* eth1 is connected to the switch at port 6. However DSA only supports a
|
||
|
* single CPU port. So leave this port disabled to avoid confusion.
|
||
|
*/
|
||
|
ð1 {
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
/* There is no battery on the board, so the RTC does not keep
|
||
|
* time when there is no power, making it useless.
|
||
|
*/
|
||
|
&rtc {
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|