123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240 |
- // SPDX-License-Identifier: GPL-2.0
- /*
- * kirkwood-viper.dts - Device Tree file for Linksys viper (E4200v2 / EA4500)
- *
- * (c) 2013 Jonas Gorski <[email protected]>
- * (c) 2013 Deutsche Telekom Innovation Laboratories
- * (c) 2014 Luka Perkov <[email protected]>
- * (c) 2014 Randy C. Will <[email protected]>
- *
- */
- /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>;
- label = "cpu";
- 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>;
- };
- };
- /* 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";
- };
|