/* Copyright (c) 2015, The Linux Foundation. All rights reserved. * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above * copyright notice and this permission notice appear in all copies. * * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * */ #include "Fritz_qcom-ipq4019.dtsi" #include "../../../../include/linux/avm_hw_config_def.h" / { model = "AVM FRITZ!Powerline 1260v2"; compatible = "qcom,ipq4019"; avm-hw-revision{ compatible = "avm,avm_hw_revision"; revision = "249"; subrevision = "1"; }; soc { #address-cells = <1>; #size-cells = <1>; vccq_sd0: regulator@0 { status = "ok"; }; pinctrl@0x01000000 { mdio_pins: mdio_pinmux { mux_1 { pins = "gpio6"; function = "mdio0"; bias-bus-hold; }; mux_2 { pins = "gpio7"; function = "mdc"; bias-bus-hold; }; }; qpic_nand_pins: qpic_pinmux { qpic_pad { pins = "gpio53", "gpio55", "gpio56", "gpio62", "gpio63", "gpio69"; function = "qpic_pad"; bias-disable; }; qpic_pad0 { pins = "gpio67"; function = "qpic_pad0"; bias-disable; }; qpic_pad1 { pins = "gpio64"; function = "qpic_pad1"; bias-disable; }; qpic_pad2 { pins = "gpio65"; function = "qpic_pad2"; bias-disable; }; qpic_pad3 { pins = "gpio66"; function = "qpic_pad3"; bias-disable; }; qpic_pad4 { pins = "gpio57"; function = "qpic_pad4"; bias-disable; }; qpic_pad5 { pins = "gpio58"; function = "qpic_pad5"; bias-disable; }; qpic_pad6 { pins = "gpio59"; function = "qpic_pad6"; bias-disable; }; qpic_pad7 { pins = "gpio60"; function = "qpic_pad7"; bias-disable; }; }; rgmii_pins: rgmii_pinmux { rgmii0_22{ pins = "gpio22"; function = "rgmii0"; bias-bus-hold; drive-strength = <16>; bias-pull-up; }; rgmii1_23 { pins = "gpio23"; function = "rgmii1"; bias-bus-hold; drive-strength = <16>; bias-pull-up; }; rgmii2_24 { pins = "gpio24"; function = "rgmii2"; bias-bus-hold; drive-strength = <16>; bias-pull-up; }; rgmii3_25 { pins = "gpio25"; function = "rgmii3"; bias-bus-hold; drive-strength = <16>; bias-pull-up; }; rgmii_rx_26 { pins = "gpio26"; function = "rgmii_rx"; bias-bus-hold; drive-strength = <16>; bias-pull-up; }; rgmii_txc_27 { pins = "gpio27"; function = "rgmii_txc"; bias-bus-hold; drive-strength = <16>; bias-pull-up; }; rgmii0_28 { pins = "gpio28"; function = "rgmii0"; bias-bus-hold; drive-strength = <16>; bias-pull-up; }; rgmii1_29 { pins = "gpio29"; function = "rgmii1"; bias-bus-hold; drive-strength = <16>; bias-pull-up; }; rgmii2_30 { pins = "gpio30"; function = "rgmii2"; bias-bus-hold; drive-strength = <16>; bias-pull-up; }; rgmii3_31 { pins = "gpio31"; function = "rgmii3"; bias-bus-hold; drive-strength = <16>; bias-pull-up; }; rgmii_rxc_32 { pins = "gpio32"; function = "rgmii_rxc"; bias-bus-hold; drive-strength = <16>; bias-pull-up; }; rgmii_tx_33 { pins = "gpio33"; function = "rgmii_tx"; bias-bus-hold; drive-strength = <16>; bias-pull-up; }; }; serial_pins: serial_pinmux { mux { pins = "gpio16", "gpio17"; }; }; }; qcom: ledc@1937000 { status = "disable"; }; qpic_bam: dma@7984000 { status = "ok"; }; nand: qpic-nand@79b0000 { status = "ok"; nandcs@0 { compatible = "qcom,nandcs", "avm,nand_partitions"; }; /* Partitionen werden vom Urlader eingetragen */ /* kernel { label = "kernel"; reg = <0x00B00000 0x00400000>; }; urlader { label = "urlader"; reg = <0x00000000 0x002C0000>; }; nand-tffs { label = "nand-tffs"; reg = <0x002C0000 0x00840000>; }; reserved-kernel { label = "reserved-kernel"; reg = <0x00F00000 0x00400000>; }; ubi { label = "ubi"; reg = <0x01300000 0x06D00000>; }; */ }; spi_0: spi@78b5000 { /* BLSP1 QUP1 */ status = "disable"; }; ess_tcsr: ess_tcsr@1953000 { ipq,ess-interface-select = ; }; ess-switch@c000000 { pinctrl-0 = <&rgmii_pins>; pinctrl-names = "default"; switch_mac_mode = <1>; /* PSGMII_RGMII5 = 1 */ link-polling-required = <1>; /* This controls which PHYs to initialize. */ switch_lan_bmp = <0x30>; switch_wan_bmp = <0>; }; mdio@90000 { #address-cells = <1>; #size-cells = <0>; pinctrl-0 = <&mdio_pins>; pinctrl-names = "default"; status = "ok"; bias-disable; phy-reset-gpio = <&tlmm 19 0>; phy3: ethernet-phy@3 { reg = <3>; }; phy4: ethernet-phy@4 { reg = <24>; }; }; edma: edma@c080000 { qcom,num-gmac = <2>; gmac0 { qcom,phy-mdio-addr = <3>; qcom,poll-required = <1>; qcom,forced-speed = <0>; qcom,forced-duplex = <0>; vlan-tag = <0 0x10>; devname = "eth0"; macname = "maca"; mac = <0>; }; gmac1 { qcom,phy-mdio-addr = <24>; qcom,poll-required = <1>; qcom,poll-required-dynamic = <1>; qcom,forced-speed = <0>; qcom,forced-duplex = <0>; vlan-tag = <0 0x20>; devname = "plc"; macname = "usb_board_mac"; mac = <1>; }; }; }; avm_gpio { compatible = "avm,avm_gpio_generic"; gpio_avm_reset_plc { value = <18>; param = ; }; }; avm-hui { compatible = "avm,hui"; repeater-one-no-rssi { compatible = "avm,hui-generic-led-gpio"; gpios = <&tlmm 45 GPIO_ACTIVE_HIGH>, <&tlmm 46 GPIO_ACTIVE_LOW>; colors { normal = <0xFF>, <0x0>, <0x0>; warn = <0x0>, <0xFF>, <0x0>; error = <0xFF>, <0x0>, <0x0>; }; }; repeater-plc-wlan { compatible = "avm,hui-generic-led-gpio"; gpios = <&tlmm 49 GPIO_ACTIVE_LOW>; }; repeater-plc { compatible = "avm,hui-generic-led-gpio"; gpios = <&tlmm 50 GPIO_ACTIVE_LOW>; }; plc-connect { compatible = "avm,hui-generic-button-gpio"; gpios = <&tlmm 10 GPIO_ACTIVE_LOW>; }; }; avm_netdev_map { compatible = "avm,port_netdev"; plcport; lan1 { netdev = "eth0"; }; }; };