/dts-v1/;

/include/ "danube.dtsi"

/ {
        model = "ARV8539PW22 - Speedport W 504V Typ A";

	    chosen {
		    leds {
                boot = &power_green;
                failsafe = &power_red;
                running = &power_green;

			    dsl = &dsl_green;
			    internet = &online_green;
			    wifi = &wireless_green;
		    };
	    };

        memory@0 {
                reg = <0x0 0x4000000>;
        };

        sram@1F000000 {
                vmmc@107000 {
                        status = "okay";
                        gpios = <&gpio 31 0>;
                };
        };

        fpi@10000000 {
                localbus@0 {
                        nor-boot@0 {
                                compatible = "lantiq,nor";
                                bank-width = <2>;
                                reg = <0 0x0 0x800000>;
                                #address-cells = <1>;
                                #size-cells = <1>;

                                partition@0 {
                                        label = "uboot";
                                        reg = <0x00000 0x30000>;        /* 192 KiB */
                                        read-only;
                                };

                                partition@30000 {
                                        label = "uboot";
                                        reg = <0x30000 0x10000>;        /* 64 KiB */
                                        read-only;
                                };

                                partition@40000 {
                                        label = "firmware";
                                        reg = <0x40000 0x7B0000>;       /* 7872 KiB */
                                };

                                partition@7F0000 {
                                        label = "art";
                                        reg = <0x7F0000 0x10000>;       /* 64 KiB*/
                                        read-only;
                                };
                        };

                        mac_addr {
                                compatible = "lantiq,eth-mac";
                                reg = <0 0x7f0016 0x6>;
                                mac-increment = <2>;
                        };

                        ath9k_eep {
                                compatible = "ath9k,eeprom";
                                reg = <0 0x7f0400 0x1000
                                        0 0x7f0016 0x6>;
                                ath,mac-increment = <1>;
                                ath,pci-slot = <14>;
                                ath,eep-endian;
                                ath,arv-ath9k-fix;
                        };
                };

                gpio: pinmux@E100B10 {
                        pinctrl-names = "default";
                        pinctrl-0 = <&state_default>;

                        state_default: pinmux {

                                pci_in {
                                        lantiq,groups = "req1";
                                        lantiq,function = "pci";
                                        lantiq,open-drain = <1>;
                                        lantiq,pull = <2>;
                                        lantiq,output = <0>;
                                };
                                pci_out {
                                        lantiq,groups = "gnt1";
                                        lantiq,function = "pci";
                                        lantiq,output = <1>;
                                };
                                pci_rst {
                                        lantiq,pins = "io21";
                                        lantiq,pull = <2>;
                                        lantiq,output = <1>;
                                };
                                relay {
                                        lantiq,pins = "io31";
                                        lantiq,output = <1>;
                                };
                        };
                };

                etop@E180000 {
                        phy-mode = "mii";
                };

                pci@E105400 {
                        status = "okay";
                        gpio-reset = <&gpio 21 0>;
                };

                ifxhcd@E101000 {
                        status = "okay";
                        gpios = <&gpio 14 0>;
                        lantiq,portmask = <0x3>;
                };

        };

        gpio-keys-polled {
                compatible = "gpio-keys-polled";
                #address-cells = <1>;
                #size-cells = <0>;
                poll-interval = <100>;

                wlan {
                        label = "wlan";
                        gpios = <&gpio 29 1>;
                        linux,code = <0x211>;
                };
                reset {
                        label = "reset";
                        gpios = <&gpio 30 1>;
                        linux,code = <0x198>;
                };
        };

        gpio-leds {
                compatible = "gpio-leds";

                power_green: power-green {
                        label = "arv8539pw22:green:power";
                        gpios = <&gpio 24 1>;
                        default-state = "keep";
                };
                power_red: power-red {
                        label = "arv8539pw22:red:power";
                        gpios = <&gpio 4 1>;
                };

                dsl_green: dsl-green {
                        label = "arv8539pw22:green:dsl";
                        gpios = <&gpio 5 1>;
                };

                online_green: online-green {
                        label = "arv8539pw22:green:online";
                        gpios = <&gpio 6 1>;
                };

                wireless_green: wireless-green {
                        label = "arv8539pw22:green:wlan";
                        gpios = <&gpio 8 1>;
                };
                /*
                        telefonie green is missing
                */
        };
};

