// SPDX-License-Identifier: GPL-2.0-or-later OR MIT /* Copyright (c) 2021, Robert Marko */ #include "qcom-ipq4019.dtsi" #include #include #include / { model = "MikroTik hAP ac3"; compatible = "mikrotik,hap-ac3"; memory { device_type = "memory"; reg = <0x80000000 0x10000000>; }; chosen { stdout-path = "serial0:115200n8"; }; aliases { led-boot = &led_status_blue; led-failsafe = &led_status_red; led-running = &led_status_blue; led-upgrade = &led_status_red; }; soc { rng@22000 { status = "okay"; }; counter@4a1000 { compatible = "qcom,qca-gcnt"; reg = <0x4a1000 0x4>; }; 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: 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 5 GPIO_ACTIVE_LOW>; linux,code = ; }; mode { label = "mode"; gpios = <&tlmm 4 GPIO_ACTIVE_LOW>; linux,code = ; }; led { label = "led"; gpios = <&tlmm 42 GPIO_ACTIVE_LOW>; linux,code = ; }; }; leds { compatible = "gpio-leds"; led_status_blue: status-blue { label = "blue:status"; gpios = <&tlmm 0 GPIO_ACTIVE_HIGH>; }; led_status_red: status-red { label = "red:status"; gpios = <&tlmm 1 GPIO_ACTIVE_HIGH>; panic-indicator; }; led_status_green: status-green { label = "green:status"; gpios = <&tlmm 3 GPIO_ACTIVE_HIGH>; }; wlan { label = "green:wlan"; gpios = <&tlmm 23 GPIO_ACTIVE_HIGH>; }; ethernet { label = "green:ethernet"; gpios = <&tlmm 22 GPIO_ACTIVE_HIGH>; }; wan { label = "green:wan"; gpios = <&tlmm 28 GPIO_ACTIVE_HIGH>; }; lan1 { label = "green:lan1"; gpios = <&tlmm 29 GPIO_ACTIVE_HIGH>; }; lan2 { label = "green:lan2"; gpios = <&tlmm 30 GPIO_ACTIVE_HIGH>; }; lan3 { label = "green:lan3"; gpios = <&tlmm 31 GPIO_ACTIVE_HIGH>; }; lan4 { label = "green:lan4"; gpios = <&tlmm 32 GPIO_ACTIVE_HIGH>; }; poe { label = "red:poe"; gpios = <&tlmm 36 GPIO_ACTIVE_HIGH>; }; }; }; &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; }; }; nand_pins: nand_pins { pullups { pins = "gpio53", "gpio58", "gpio59"; function = "qpic"; bias-pull-up; }; pulldowns { pins = "gpio55", "gpio56", "gpio57", "gpio60", "gpio62", "gpio63", "gpio64", "gpio65", "gpio66", "gpio67", "gpio68", "gpio69"; function = "qpic"; bias-pull-down; }; }; enable-usb-power { gpio-hog; gpios = <44 GPIO_ACTIVE_HIGH>; output-high; line-name = "enable USB power"; }; }; &blsp_dma { status = "okay"; }; &blsp1_spi1 { status = "okay"; pinctrl-0 = <&spi_0_pins>; pinctrl-names = "default"; cs-gpios = <&tlmm 12 GPIO_ACTIVE_HIGH>; flash@0 { reg = <0>; compatible = "jedec,spi-nor"; spi-max-frequency = <40000000>; partitions { compatible = "fixed-partitions"; #address-cells = <1>; #size-cells = <1>; partition@0 { label = "Qualcomm"; reg = <0x0 0x80000>; read-only; }; partition@80000 { compatible = "mikrotik,routerboot-partitions"; #address-cells = <1>; #size-cells = <1>; label = "RouterBoot"; reg = <0x80000 0x80000>; read-only; hard_config { read-only; size = <0x2000>; }; dtb_config { read-only; }; soft_config { }; }; }; }; }; &qpic_bam { status = "okay"; }; &nand { status = "okay"; pinctrl-0 = <&nand_pins>; pinctrl-names = "default"; nand@0 { partitions { compatible = "fixed-partitions"; #address-cells = <1>; #size-cells = <1>; partition@0 { label = "kernel"; reg = <0x0 0xa00000>; }; partition@a00000 { label = "ubi"; reg = <0xa00000 0x7600000>; }; }; }; }; &blsp1_uart1 { status = "okay"; pinctrl-0 = <&serial_pins>; pinctrl-names = "default"; }; &cryptobam { status = "okay"; }; &usb2_hs_phy { status = "okay"; }; &mdio { status = "okay"; }; &wifi0 { status = "okay"; qcom,ath10k-calibration-variant = "MikroTik-hAP-ac3"; }; &wifi1 { status = "okay"; qcom,ath10k-calibration-variant = "MikroTik-hAP-ac3"; };