// SPDX-License-Identifier: ISC /* Copyright (c) 2015, The Linux Foundation. All rights reserved. * Copyright (c) 2017-2018, Sven Eckelmann */ #include "qcom-ipq4019.dtsi" #include #include #include #include / { model = "OpenMesh A62"; compatible = "openmesh,a62"; soc { rng@22000 { 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"; }; }; keys { compatible = "gpio-keys"; reset { label = "reset"; gpios = <&tlmm 18 GPIO_ACTIVE_LOW>; linux,code = ; }; }; aliases { led-boot = &led_status_green; led-failsafe = &led_status_green; led-running = &led_status_green; led-upgrade = &led_status_green; label-mac-device = &swport4; }; leds { compatible = "gpio-leds"; status_red { function = LED_FUNCTION_STATUS; color = ; gpios = <&tlmm 43 GPIO_ACTIVE_HIGH>; }; led_status_green: status_green { function = LED_FUNCTION_STATUS; color = ; gpios = <&tlmm 45 GPIO_ACTIVE_HIGH>; }; status_blue { function = LED_FUNCTION_STATUS; color = ; gpios = <&tlmm 46 GPIO_ACTIVE_HIGH>; }; }; watchdog { compatible = "linux,wdt-gpio"; gpios = <&tlmm 59 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 = "gpio16", "gpio17"; function = "blsp_uart0"; bias-disable; }; }; spi_0_pins: spi_0_pinmux { pin { function = "blsp_spi0"; pins = "gpio13", "gpio14", "gpio15"; drive-strength = <12>; bias-disable; }; pin_cs { function = "gpio"; pins = "gpio12"; drive-strength = <2>; bias-disable; output-high; }; }; enable-usb-power { gpio-hog; gpios = <58 GPIO_ACTIVE_HIGH>; output-low; line-name = "enable USB2 power"; }; }; &blsp_dma { status = "okay"; }; &blsp1_spi1 { pinctrl-0 = <&spi_0_pins>; pinctrl-names = "default"; status = "okay"; cs-gpios = <&tlmm 12 GPIO_ACTIVE_HIGH>; flash@0 { #address-cells = <1>; #size-cells = <1>; compatible = "jedec,spi-nor"; reg = <0>; spi-max-frequency = <24000000>; /* partitions are passed via bootloader */ partitions { partition-art { label = "0:ART"; nvmem-layout { compatible = "fixed-layout"; #address-cells = <1>; #size-cells = <1>; macaddr_gmac0: macaddr@0 { reg = <0x0 0x6>; }; macaddr_gmac1: macaddr@6 { reg = <0x6 0x6>; }; precal_art_1000: precal@1000 { reg = <0x1000 0x2f20>; }; precal_art_5000: precal@5000 { reg = <0x5000 0x2f20>; }; precal_art_9000: precal@9000 { reg = <0x9000 0x2f20>; }; }; }; }; }; }; &blsp1_uart1 { pinctrl-0 = <&serial_pins>; pinctrl-names = "default"; status = "okay"; }; &cryptobam { status = "okay"; }; &usb2_hs_phy { status = "okay"; }; &pcie0 { status = "okay"; perst-gpio = <&tlmm 38 GPIO_ACTIVE_LOW>; wake-gpio = <&tlmm 50 GPIO_ACTIVE_LOW>; bridge@0,0 { reg = <0x00000000 0 0 0 0>; #address-cells = <3>; #size-cells = <2>; ranges; wifi2: wifi@1,0 { compatible = "qcom,ath10k"; status = "okay"; reg = <0x00010000 0 0 0 0>; qcom,ath10k-calibration-variant = "OM-A62"; ieee80211-freq-limit = <5170000 5350000>; nvmem-cell-names = "pre-calibration"; nvmem-cells = <&precal_art_9000>; }; }; }; &mdio { status = "okay"; }; &gmac { status = "okay"; }; &switch { status = "okay"; }; &swport4 { status = "okay"; label = "ethernet1"; nvmem-cell-names = "mac-address"; nvmem-cells = <&macaddr_gmac0>; }; &swport5 { status = "okay"; label = "ethernet2"; nvmem-cell-names = "mac-address"; nvmem-cells = <&macaddr_gmac1>; }; &wifi0 { status = "okay"; qcom,ath10k-calibration-variant = "OM-A62"; nvmem-cell-names = "pre-calibration"; nvmem-cells = <&precal_art_1000>; }; &wifi1 { status = "okay"; qcom,ath10k-calibration-variant = "OM-A62"; ieee80211-freq-limit = <5470000 5875000>; nvmem-cell-names = "pre-calibration"; nvmem-cells = <&precal_art_5000>; };