| // 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"; |
| }; |
| |