/* 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 "qcom-ipq4019.dtsi" #include #include #include / { model = "GL.iNet GL-S1300"; compatible = "glinet,gl-s1300", "qcom,ipq4019"; aliases { led-boot = &power; led-failsafe = &power; led-running = &power; led-upgrade = &power; sdhc1 = &sdhc_1; }; memory { device_type = "memory"; reg = <0x80000000 0x10000000>; }; soc { mdio@90000 { status = "okay"; }; ess-psgmii@98000 { status = "okay"; }; tcsr@1949000 { compatible = "qcom,tcsr"; reg = <0x1949000 0x100>; qcom,wifi_glb_cfg = ; }; tcsr@194b000 { /* select hostmode */ compatible = "qcom,tcsr"; reg = <0x194b000 0x100>; qcom,usb-hsphy-mode-select = ; status = "okay"; }; ess_tcsr@1953000 { compatible = "qcom,tcsr"; reg = <0x1953000 0x1000>; qcom,ess-interface-select = ; }; tcsr@1957000 { compatible = "qcom,tcsr"; reg = <0x1957000 0x100>; qcom,wifi_noc_memtype_m0_m2 = ; }; usb2@60f8800 { status = "okay"; }; serial@78af000 { pinctrl-0 = <&serial_pins>; pinctrl-names = "default"; status = "okay"; }; usb3@8af8800 { status = "okay"; }; crypto@8e3a000 { status = "okay"; }; watchdog@b017000 { status = "okay"; }; ess-switch@c000000 { status = "okay"; switch_lan_bmp = <0x18>; switch_wan_bmp = <0x20>; }; edma@c080000 { status = "okay"; }; sdhc_1: sdhci@7824000 { compatible = "qcom,sdhci-msm"; reg = <0x7824900 0x11c>, <0x7824000 0x800>; reg-names = "hc_mem", "core_mem"; interrupts = <0 123 0>, <0 138 0>; interrupt-names = "hc_irq", "pwr_irq"; qcom,bus-width = <8>; qcom,max_clk = <192000000>; clocks = <&gcc 47>, <&gcc 46>; clock-names = "core_clk", "iface_clk"; qcom,large-address-bus; qcom,disable-aggressive-pm; status = "disabled"; }; 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-names = "active", "sleep"; cd-gpios = <&tlmm 22 0x1>; sd-ldo-gpios = <&tlmm 33 0x1>; }; spi_1: spi@78b6000 { /* BLSP1 QUP2 */ pinctrl-0 = <&spi_1_pins>; pinctrl-names = "default"; status = "ok"; spidev1: spi@1 { compatible = "siliconlabs,si3210"; reg = <0>; spi-max-frequency = <24000000>; }; }; serial@78b0000 { pinctrl-0 = <&serial_1_pins>; pinctrl-names = "default"; status = "okay"; }; }; gpio-keys { compatible = "gpio-keys"; wps { label = "wps"; gpios = <&tlmm 53 GPIO_ACTIVE_LOW>; linux,code = ; }; reset { label = "reset"; gpios = <&tlmm 18 GPIO_ACTIVE_LOW>; linux,code = ; }; }; gpio-leds { compatible = "gpio-leds"; power: power { label = "gl-s1300:green:power"; gpios = <&tlmm 57 GPIO_ACTIVE_HIGH>; default-state = "on"; }; mesh { label = "gl-s1300:green:mesh"; gpios = <&tlmm 59 GPIO_ACTIVE_HIGH>; }; wlan { label = "gl-s1300:green:wlan"; gpios = <&tlmm 60 GPIO_ACTIVE_HIGH>; }; }; }; &blsp_dma { status = "okay"; }; &cryptobam { status = "okay"; }; &spi_0 { pinctrl-0 = <&spi_0_pins>; pinctrl-names = "default"; status = "okay"; cs-gpios = <&tlmm 12 GPIO_ACTIVE_HIGH>; mx25l25635f@0 { compatible = "jedec,spi-nor"; #address-cells = <1>; #size-cells = <1>; reg = <0>; spi-max-frequency = <24000000>; SBL1@0 { label = "SBL1"; reg = <0x0 0x40000>; read-only; }; MIBIB@40000 { label = "MIBIB"; reg = <0x40000 0x20000>; read-only; }; QSEE@60000 { label = "QSEE"; reg = <0x60000 0x60000>; read-only; }; CDT@c0000 { label = "CDT"; reg = <0xc0000 0x10000>; read-only; }; DDRPARAMS@d0000 { label = "DDRPARAMS"; reg = <0xd0000 0x10000>; read-only; }; APPSBLENV@e0000 { label = "APPSBLENV"; reg = <0xe0000 0x10000>; read-only; }; APPSBL@f0000 { label = "APPSBL"; reg = <0xf0000 0x80000>; read-only; }; ART@170000 { label = "ART"; reg = <0x170000 0x10000>; read-only; }; firmware@180000 { label = "firmware"; reg = <0x180000 0xe80000>; }; }; }; &tlmm { serial_pins: serial_pinmux { mux { pins = "gpio16", "gpio17"; function = "blsp_uart0"; bias-disable; }; }; serial_1_pins: serial1_pinmux { mux { pins = "gpio8", "gpio9", "gpio10", "gpio11"; function = "blsp_uart1"; bias-disable; }; }; spi_0_pins: spi_0_pinmux { pinmux { function = "blsp_spi0"; pins = "gpio13", "gpio14", "gpio15"; }; pinmux_cs { function = "gpio"; pins = "gpio12"; }; pinconf { pins = "gpio13", "gpio14", "gpio15"; drive-strength = <12>; bias-disable; }; pinconf_cs { pins = "gpio12"; drive-strength = <2>; bias-disable; output-high; }; }; spi_1_pins: spi_1_pinmux { mux { pins = "gpio44", "gpio46", "gpio47"; function = "blsp_spi1"; bias-disable; }; host_int { pins = "gpio42"; function = "gpio"; input; }; cs { pins = "gpio45"; function = "gpio"; bias-pull-up; }; wake { pins = "gpio40"; function = "gpio"; output-high; }; reset { pins = "gpio49"; function = "gpio"; output-high; }; }; sd_0_pins: sd_0_pinmux { sd0 { pins = "gpio23"; function = "sdio"; pull-res = <2>; drive-type = <1>; vm-enable; }; sd1 { pins = "gpio24"; function = "sdio"; pull-res = <2>; drive-type = <1>; vm-enable; }; sd2 { pins = "gpio25"; function = "sdio"; pull-res = <2>; drive-type = <1>; vm-enable; }; sd3 { pins = "gpio26"; function = "sdio"; pull-res = <2>; drive-type = <1>; vm-enable; }; sdclk { pins = "gpio27"; function = "sdio"; pull-res = <2>; drive-type = <7>; vm-enable; }; sdcmd { pins = "gpio28"; function = "sdio"; pull-res = <2>; drive-type = <1>; vm-enable; }; sd4 { pins = "gpio29"; function = "sdio"; pull-res = <2>; drive-type = <1>; vm-enable; }; sd5 { pins = "gpio30"; function = "sdio"; pull-res = <2>; drive-type = <1>; vm-enable; }; sd6 { pins = "gpio31"; function = "sdio"; pull-res = <2>; drive-type = <1>; vm-enable; }; sd7 { pins = "gpio32"; function = "sdio"; pull-res = <2>; drive-type = <1>; vm-enable; }; }; }; &usb2_hs_phy { status = "okay"; }; &usb3_hs_phy { status = "okay"; }; &usb3_ss_phy { status = "okay"; }; &wifi0 { status = "okay"; qcom,ath10k-calibration-variant = "GL-S1300"; }; &wifi1 { status = "okay"; qcom,ath10k-calibration-variant = "GL-S1300"; };