/* 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 EMS Produktions Flash Board"; avm-hw-revision{ compatible = "avm,avm_hw_revision"; revision = "245"; subrevision = "0"; }; aliases { sdhc1 = &sdhc_1; }; soc { #address-cells = <1>; #size-cells = <1>; pinctrl@0x01000000 { mdio_pins: mdio_pinmux { mux_1 { pins = "gpio6"; function = "mdio0"; bias-bus-hold; }; mux_2 { pins = "gpio7"; function = "mdc"; bias-bus-hold; }; }; rmii0_pins: rmii0_pinmux { rmii00 { pins = "gpio36"; function = "rmii00"; bias-bus-hold; drive-strength = <16>; }; rmii01 { pins = "gpio37"; function = "rmii01"; bias-bus-hold; drive-strength = <16>; }; rmii0_tx { pins = "gpio38"; function = "rmii0_tx"; bias-bus-hold; drive-strength = <16>; }; rmii0_rx { pins = "gpio39"; function = "rmii0_rx"; bias-bus-hold; drive-strength = <16>; }; rmii0_refclk { pins = "gpio40"; function = "rmii0_refclk"; bias-bus-hold; drive-strength = <16>; }; rmii0_rxd0{ pins = "gpio41"; function = "rmii00"; bias-bus-hold; drive-strength = <16>; }; rmii0_rxd1{ pins = "gpio42"; function = "rmii01"; bias-bus-hold; drive-strength = <16>; }; rmii0_dv { pins = "gpio43"; function = "rmii0_dv"; bias-bus-hold; drive-strength = <16>; }; }; serial_pins: serial_pinmux { mux { pins = "gpio16", "gpio17"; }; }; spi_0_pins: spi_0_pinmux { pinmux { function = "blsp_spi0"; pins = "gpio13", "gpio14", "gpio15"; bias-disable; }; pinmux_cs { function = "gpio"; pins = "gpio12", "gpio21"; bias-disable; output-high; }; }; sd_0_pins: sd_0_pinmux { sd0 { pins = "gpio23"; function = "sdio0"; pull-res = ; drive-type = ; vm-enable; }; sd1 { pins = "gpio24"; function = "sdio1"; pull-res = ; drive-type = ; vm-enable; }; sd2 { pins = "gpio25"; function = "sdio2"; pull-res = ; drive-type = ; vm-enable; }; sd3 { pins = "gpio26"; function = "sdio3"; pull-res = ; drive-type = ; vm-enable; }; sdclk { pins = "gpio27"; function = "sdio_clk"; pull-res = ; drive-type = ; vm-enable; }; sdcmd { pins = "gpio28"; function = "sdio_cmd"; pull-res = ; drive-type = ; vm-enable; }; }; sd_1_pins: sd_1_pinmux { sd0 { pins = "gpio23"; function = "sdio0"; pull-res = ; drive-type = ; vm-enable; }; sd1 { pins = "gpio24"; function = "sdio1"; pull-res = ; drive-type = ; vm-enable; }; sd2 { pins = "gpio25"; function = "sdio2"; pull-res = ; drive-type = ; vm-enable; }; sd3 { pins = "gpio26"; function = "sdio3"; pull-res = ; drive-type = ; vm-enable; }; sdclk { pins = "gpio27"; function = "sdio_clk"; pull-res = ; drive-type = ; vm-enable; }; sdcmd { pins = "gpio28"; function = "sdio_cmd"; pull-res = ; drive-type = ; vm-enable; }; }; }; spi_0: spi@78b5000 { /* BLSP1 QUP1 */ pinctrl-0 = <&spi_0_pins>; pinctrl-names = "default"; status = "ok"; cs-gpios = <&tlmm 12 0 \ &tlmm 21 0>; num-cs = <2>; /* Beispiel für 2. flash. flash2: spi_parts@1 { #address-cells = <1>; #size-cells = <1>; compatible = "mx25l25635e"; reg = <1>; linux,modalias = "m25p80", "mx25l25635e"; spi-max-frequency = <24000000>; }; */ }; vccq_sd0: regulator@0 { compatible = "qcom,regulator-ipq40xx"; regulator-name = "SD0 VccQ"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <3000000>; states = <3000000 0x3 1800000 0x1>; reg = <0x01948000 0x4>; mask = <0x3>; }; sdhc_1: sdhci@7824000{ status = "ok"; qcom,bus-speed-mode = "HS200_1p8v", "DDR_1p8v"; qcom,clk-rates = <400000 25000000 50000000 100000000 \ 192000000 384000000>; pinctrl-0 = <&sd_0_pins>; pinctrl-1 = <&sd_1_pins>; pinctrl-names = "active", "sleep"; vqmmc-supply = <&vccq_sd0>; cd-gpios = <&tlmm 22 0x1>; /* Not connected? */ /* sd-ldo-gpios = <&tlmm 33 0x1>; */ }; qcom: ledc@1937000 { status = "disable"; }; ess_tcsr: ess_tcsr@1953000 { ipq,ess-interface-select = ; }; ess-switch@c000000 { pinctrl-0 = <&rmii0_pins>; pinctrl-names = "default"; switch_mac_mode = <4>; /* mac mode for RMII0 */ }; mdio@90000 { #address-cells = <1>; #size-cells = <0>; pinctrl-0 = <&mdio_pins>; pinctrl-names = "default"; status = "ok"; bias-disable; phy0: ethernet-phy@0 { reg = <0>; }; phy1: ethernet-phy@1 { reg = <1>; }; phy2: ethernet-phy@2 { reg = <2>; }; phy3: ethernet-phy@3 { reg = <3>; }; phy4: ethernet-phy@4 { reg = <4>; }; phy5: ethernet-phy@5 { reg = <7>; }; }; edma: edma@c080000 { qcom,num-gmac = <5>; gmac0 { qcom,phy-mdio-addr = <0>; qcom,poll-required = <1>; qcom,forced-speed = <0>; qcom,forced-duplex = <0>; vlan-tag = <0 0x02>; devname = "eth0"; macname = "maca"; mac = <0>; }; gmac1 { qcom,phy-mdio-addr = <1>; qcom,poll-required = <1>; qcom,forced-speed = <0>; qcom,forced-duplex = <0>; vlan-tag = <0 0x04>; devname = "eth1"; macname = "macb"; mac = <0>; }; gmac2 { qcom,phy-mdio-addr = <2>; qcom,poll-required = <1>; qcom,forced-speed = <0>; qcom,forced-duplex = <0>; vlan-tag = <0 0x08>; devname = "eth2"; macname = "usb_board_mac"; mac = <0>; }; gmac3 { qcom,phy-mdio-addr = <3>; qcom,poll-required = <1>; qcom,forced-speed = <0>; qcom,forced-duplex = <0>; vlan-tag = <0 0x10>; devname = "eth3"; macname = "usb_rndis_mac"; mac = <1>; }; gmac4 { qcom,phy-mdio-addr = <7>; qcom,poll-required = <1>; qcom,forced-speed = <0>; qcom,forced-duplex = <0>; vlan-tag = <0 0x20>; devname = "wan"; macname = "macdsl"; mac = <1>; }; }; }; avm_gpio { compatible = "avm,avm_gpio_generic"; gpio_avm_led_power { value = <34>; param = ; }; gpio_avm_led_wlan { value = <35>; param = ; }; gpio_avm_led_lan_all { value = <9>; param = ; }; gpio_avm_button_wlan { value = <58>; param = ; }; gpio_avm_button_wlan_wps { value = <63>; param = ; }; gpio_avm_usb_power_enable { value = <203>; param = ; }; }; };