/* Copyright (c) 2015, The Linux Foundation. All rights reserved. * Copyright (c) 2017, Sven Eckelmann * * 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 = "OpenMesh A42"; compatible = "openmesh,a42"; soc { rng@22000 { status = "okay"; }; mdio@90000 { status = "okay"; }; ess-psgmii@98000 { status = "okay"; }; tcsr@194b000 { /* select hostmode */ compatible = "qcom,tcsr"; reg = <0x194b000 0x100>; qcom,usb-hsphy-mode-select = ; status = "okay"; }; tcsr@1949000 { compatible = "qcom,tcsr"; reg = <0x1949000 0x100>; qcom,wifi_glb_cfg = ; }; 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: usb2@60f8800 { status = "okay"; }; crypto@8e3a000 { status = "okay"; }; watchdog@b017000 { status = "okay"; }; ess-switch@c000000 { status = "okay"; }; edma@c080000 { status = "okay"; }; }; keys { compatible = "gpio-keys"; reset { label = "reset"; gpios = <&tlmm 59 GPIO_ACTIVE_LOW>; linux,code = ; }; }; aliases { led-boot = &power; led-failsafe = &power; led-running = &power; led-upgrade = &power; }; leds { compatible = "gpio-leds"; red { label = "a42:red:status"; gpios = <&tlmm 0 GPIO_ACTIVE_HIGH>; linux,default-trigger = "default-off"; }; power: green { label = "a42:green:status"; gpios = <&tlmm 1 GPIO_ACTIVE_HIGH>; }; blue { label = "a42:blue:status"; gpios = <&tlmm 2 GPIO_ACTIVE_HIGH>; linux,default-trigger = "default-off"; }; }; watchdog { compatible = "linux,wdt-gpio"; gpios = <&tlmm 5 GPIO_ACTIVE_LOW>; hw_algo = "toggle"; /* hw_margin_ms is actually 300s but driver limits it to 60s */ hw_margin_ms = <60000>; always-running; }; }; &tlmm { serial_pins: serial_pinmux { mux { pins = "gpio60", "gpio61"; function = "blsp_uart0"; bias-disable; }; }; spi_0_pins: spi_0_pinmux { pin { function = "blsp_spi0"; pins = "gpio55", "gpio56", "gpio57"; drive-strength = <12>; bias-disable; }; pin_cs { function = "gpio"; pins = "gpio54"; drive-strength = <2>; bias-disable; output-high; }; }; }; &blsp_dma { status = "okay"; }; &blsp1_spi1 { pinctrl-0 = <&spi_0_pins>; pinctrl-names = "default"; status = "okay"; cs-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>; m25p80@0 { #address-cells = <1>; #size-cells = <1>; compatible = "jedec,spi-nor"; reg = <0>; spi-max-frequency = <24000000>; /* partitions are passed via bootloader */ }; }; &blsp1_uart1 { pinctrl-0 = <&serial_pins>; pinctrl-names = "default"; status = "okay"; }; &cryptobam { status = "okay"; }; &gmac0 { qcom,phy_mdio_addr = <4>; qcom,poll_required = <1>; qcom,forced_speed = <1000>; qcom,forced_duplex = <1>; vlan_tag = <2 0x20>; }; &gmac1 { qcom,phy_mdio_addr = <3>; qcom,poll_required = <1>; qcom,forced_speed = <1000>; qcom,forced_duplex = <1>; vlan_tag = <1 0x10>; }; &usb2_hs_phy { status = "okay"; }; &wifi0 { status = "okay"; qcom,ath10k-calibration-variant = "OM-A42"; }; &wifi1 { status = "okay"; qcom,ath10k-calibration-variant = "OM-A42"; };