// SPDX-License-Identifier: ISC /* Copyright (c) 2015, The Linux Foundation. All rights reserved. * Copyright (c) 2017, Sven Eckelmann */ #include "qcom-ipq4019.dtsi" #include #include #include / { model = "OpenMesh A42"; compatible = "openmesh,a42"; 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 59 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 = &swport5; }; leds { compatible = "gpio-leds"; status_red { label = "red:status"; gpios = <&tlmm 0 GPIO_ACTIVE_HIGH>; }; led_status_green: status_green { label = "green:status"; gpios = <&tlmm 1 GPIO_ACTIVE_HIGH>; }; status_blue { label = "blue:status"; gpios = <&tlmm 2 GPIO_ACTIVE_HIGH>; }; }; 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>; 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 { compatible = "nvmem-cells"; #address-cells = <1>; #size-cells = <1>; label = "0:ART"; precal_art_1000: precal@1000 { reg = <0x1000 0x2f20>; }; precal_art_5000: precal@5000 { reg = <0x5000 0x2f20>; }; macaddr_gmac0: macaddr@0 { reg = <0x0 0x6>; }; macaddr_gmac1: macaddr@6 { reg = <0x6 0x6>; }; }; }; }; }; &blsp1_uart1 { pinctrl-0 = <&serial_pins>; pinctrl-names = "default"; status = "okay"; }; &cryptobam { status = "okay"; }; &usb2_hs_phy { status = "okay"; }; &mdio { status = "okay"; }; &gmac { status = "okay"; }; &switch { status = "okay"; }; &swport4 { status = "okay"; label = "ethernet2"; nvmem-cell-names = "mac-address"; nvmem-cells = <&macaddr_gmac1>; }; &swport5 { status = "okay"; label = "ethernet1"; nvmem-cell-names = "mac-address"; nvmem-cells = <&macaddr_gmac0>; }; &wifi0 { status = "okay"; qcom,ath10k-calibration-variant = "OM-A42"; nvmem-cell-names = "pre-calibration"; nvmem-cells = <&precal_art_1000>; }; &wifi1 { status = "okay"; qcom,ath10k-calibration-variant = "OM-A42"; nvmem-cell-names = "pre-calibration"; nvmem-cells = <&precal_art_5000>; };