/* * BSD LICENSE * * Copyright(c) 2017 Kristian Evensen . * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * * Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in * the documentation and/or other materials provided with the * distribution. * * Neither the name of Broadcom Corporation nor the names of its * contributors may be used to endorse or promote products derived * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /dts-v1/; #include "mt7620a.dtsi" #include #include / { compatible = "sanlinking,d240", "ralink,mt7620a-soc"; model = "Sanlinking Technologies D240"; aliases { led-boot = &led_power; led-failsafe = &led_power; led-running = &led_power; led-upgrade = &led_power; }; chosen { bootargs = "console=ttyS0,115200"; }; gpio-export { compatible = "gpio-export"; #size-cells = <0>; power_mpcie2 { gpio-export,name = "power_mpcie2"; gpio-export,output = <1>; gpios = <&gpio2 5 GPIO_ACTIVE_HIGH>; }; power_mpcie1 { gpio-export,name = "power_mpcie1"; gpio-export,output = <1>; gpios = <&gpio2 6 GPIO_ACTIVE_HIGH>; }; }; leds { compatible = "gpio-leds"; led_power: power { label = "d240:blue:power"; gpios = <&gpio1 14 GPIO_ACTIVE_HIGH>; }; usb { label = "d240:blue:usb"; gpios = <&gpio1 15 GPIO_ACTIVE_HIGH>; trigger-sources = <&ohci_port1>, <&ehci_port1>; linux,default-trigger = "usbport"; }; air { label = "d240:blue:wifi"; gpios = <&gpio3 0 GPIO_ACTIVE_LOW>; }; }; keys { compatible = "gpio-keys"; reset { label = "reset"; gpios = <&gpio0 1 GPIO_ACTIVE_LOW>; linux,code = ; }; }; }; &gpio1 { status = "okay"; }; &gpio2 { status = "okay"; }; &gpio3 { status = "okay"; }; &spi0 { status = "okay"; flash@0 { compatible = "jedec,spi-nor"; reg = <0>; spi-max-frequency = <10000000>; partitions { compatible = "fixed-partitions"; #address-cells = <1>; #size-cells = <1>; partition@0 { label = "u-boot"; reg = <0x0 0x30000>; read-only; }; partition@30000 { label = "u-boot-env"; reg = <0x30000 0x10000>; read-only; }; factory: partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; }; partition@50000 { compatible = "denx,uimage"; label = "firmware"; reg = <0x50000 0xfb0000>; }; }; }; }; &sdhci { status = "okay"; /* the pins function is already set during pinmux driver load */ /delete-property/ pinctrl-0; }; &ehci { status = "okay"; }; &ohci { status = "okay"; }; ðernet { mtd-mac-address = <&factory 0x4>; mediatek,portmap = "llllw"; }; &wmac { ralink,mtd-eeprom = <&factory 0x0>; }; &state_default { default { groups = "i2c", "uartf", "wled", "spi refclk", "pa"; function = "gpio"; }; /* * The sd function of the nd_sd group configures two of the * groups pins as gpios. The pins are used as PCIe reset/power. * Due to the driver load order, the pins are configured way to * late if triggered by the sd-card driver. * To not introduce another kind of driver load order * dependency and configure the pins as early as possible, * means during pinmux driver load. */ gpio_sd { groups = "nd_sd"; function = "sd"; }; }; &pcie { status = "okay"; };