| // SPDX-License-Identifier: GPL-2.0-only |
| /dts-v1/; |
| /* Copyright (c) 2020 The Linux Foundation. All rights reserved. |
| */ |
| #include "ipq8074.dtsi" |
| #include "ipq8074-hk-cpu.dtsi" |
| |
| /* Internal radio is not enabled on hk12, so delete the |
| * references to internal radio's reserved memory |
| */ |
| #if !defined(__IPQ_MEM_PROFILE_256_MB__) |
| &tmc_etr { |
| /delete-property/ memory-region; |
| }; |
| |
| &q6v5_wcss { |
| /delete-property/ memory-region; |
| }; |
| #endif |
| |
| / { |
| #address-cells = <0x2>; |
| #size-cells = <0x2>; |
| model = "Qualcomm Technologies, Inc. IPQ8074/AP-HK12"; |
| compatible = "qcom,ipq8074-ap-hk12", "qcom,ipq8074-ap-hk12", "qcom,ipq8074"; |
| qcom,msm-id = <0x143 0x0>, <0x186 0x0>; |
| interrupt-parent = <&intc>; |
| |
| aliases { |
| serial0 = &blsp1_uart5; |
| /* Aliases as required by u-boot to patch MAC addresses */ |
| ethernet0 = "/soc/dp1"; |
| ethernet1 = "/soc/dp2"; |
| ethernet2 = "/soc/dp3"; |
| ethernet3 = "/soc/dp4"; |
| ethernet4 = "/soc/dp5"; |
| ethernet5 = "/soc/dp6"; |
| }; |
| |
| chosen { |
| stdout-path = "serial0"; |
| }; |
| |
| reserved-memory { |
| /* No Pine attach in 256M profile */ |
| #if !defined(__IPQ_MEM_PROFILE_256_MB__) |
| #ifdef __IPQ_MEM_PROFILE_512_MB__ |
| /* 512 MB Profile |
| * +========+==============+=========================+ |
| * | Region | Start Offset | Size | |
| * +--------+--------------+-------------------------+ |
| * | NSS | 0x40000000 | 16MB | |
| * +--------+--------------+-------------------------+ |
| * | Linux | 0x41000000 | Depends on total memory | |
| * +--------+--------------+-------------------------+ |
| * | TZ APP | 0x4A400000 | 1MB | |
| * +--------+--------------+-------------------------+ |
| * | uboot | 0x4A600000 | 4MB | |
| * +--------+--------------+-------------------------+ |
| * | SBL | 0x4AA00000 | 1MB | |
| * +--------+--------------+-------------------------+ |
| * | smem | 0x4AB00000 | 1MB | |
| * +--------+--------------+-------------------------+ |
| * | TZ | 0x4AC00000 | 4MB | |
| * +--------+--------------+-------------------------+ |
| * | Pine0 | 0x4B000000 | 30MB | |
| * +--------+--------------+-------------------------+ |
| * | Pine1 | 0x4CE00000 | 30MB | |
| * +--------+--------------+-------------------------+ |
| * | MHI0 | 0x4EC00000 | 16MB | |
| * +--------+--------------+-------------------------+ |
| * | MHI1 | 0x4FC00000 | 16MB | |
| * +--------+--------------+-------------------------+ |
| * | | |
| * | Rest of the memory for Linux | |
| * | | |
| * +=================================================+ |
| */ |
| /delete-node/ wcnss@4b000000; |
| /delete-node/ q6_etr_dump@4e700000; |
| /delete-node/ m3_dump@4e800000; |
| qcn9000_pcie0: qcn9000_pcie0@4b000000 { |
| no-map; |
| reg = <0x0 0x4b000000 0x0 0x01E00000>; |
| }; |
| |
| qcn9000_pcie1: qcn9000_pcie1@4ce00000 { |
| no-map; |
| reg = <0x0 0x4CE00000 0x0 0x01E00000>; |
| }; |
| |
| mhi_region0: dma_pool0@4ec00000 { |
| compatible = "shared-dma-pool"; |
| no-map; |
| reg = <0x0 0x4EC00000 0x0 0x01000000>; |
| }; |
| |
| mhi_region1: dma_pool1@4fc00000 { |
| compatible = "shared-dma-pool"; |
| no-map; |
| reg = <0x0 0x4FC00000 0x0 0x01000000>; |
| }; |
| #else |
| /* Default Profile |
| * +========+==============+=========================+ |
| * | Region | Start Offset | Size | |
| * +--------+--------------+-------------------------+ |
| * | NSS | 0x40000000 | 16MB | |
| * +--------+--------------+-------------------------+ |
| * | Linux | 0x41000000 | Depends on total memory | |
| * +--------+--------------+-------------------------+ |
| * | TZ APP | 0x4A400000 | 2MB | |
| * +--------+--------------+-------------------------+ |
| * | uboot | 0x4A600000 | 4MB | |
| * +--------+--------------+-------------------------+ |
| * | SBL | 0x4AA00000 | 1MB | |
| * +--------+--------------+-------------------------+ |
| * | smem | 0x4AB00000 | 1MB | |
| * +--------+--------------+-------------------------+ |
| * | TZ | 0x4AC00000 | 4MB | |
| * +--------+--------------+-------------------------+ |
| * | Pine0 | 0x4B000000 | 45MB | |
| * +--------+--------------+-------------------------+ |
| * | Pine1 | 0x4DD00000 | 45MB | |
| * +--------+--------------+-------------------------+ |
| * | MHI0 | 0x50A00000 | 24MB | |
| * +--------+--------------+-------------------------+ |
| * | MHI1 | 0x52200000 | 24MB | |
| * +--------+--------------+-------------------------+ |
| * | | |
| * | Rest of the memory for Linux | |
| * | | |
| * +=================================================+ |
| */ |
| /delete-node/ wcnss@4b000000; |
| /delete-node/ q6_etr_dump@50f00000; |
| /delete-node/ m3_dump@51000000; |
| qcn9000_pcie0: qcn9000_pcie0@4b000000 { |
| no-map; |
| reg = <0x0 0x4b000000 0x0 0x02D00000>; |
| }; |
| |
| qcn9000_pcie1: qcn9000_pcie1@4dd00000 { |
| no-map; |
| reg = <0x0 0x4DD00000 0x0 0x02D00000>; |
| }; |
| |
| mhi_region0: dma_pool0@50a00000 { |
| compatible = "shared-dma-pool"; |
| no-map; |
| reg = <0x0 0x50A00000 0x0 0x01800000>; |
| }; |
| |
| mhi_region1: dma_pool1@52200000 { |
| compatible = "shared-dma-pool"; |
| no-map; |
| reg = <0x0 0x52200000 0x0 0x01800000>; |
| }; |
| #endif |
| #endif |
| }; |
| |
| soc { |
| pinctrl@1000000 { |
| button_pins: button_pins { |
| wps_button { |
| pins = "gpio34"; |
| function = "gpio"; |
| drive-strength = <8>; |
| bias-pull-up; |
| }; |
| }; |
| |
| usb_mux_sel_pins: usb_mux_pins { |
| mux { |
| pins = "gpio27"; |
| function = "gpio"; |
| drive-strength = <8>; |
| bias-pull-down; |
| }; |
| }; |
| |
| pcie0_pins: pcie_pins { |
| pcie0_rst { |
| pins = "gpio58"; |
| function = "pcie0_rst"; |
| drive-strength = <8>; |
| bias-pull-down; |
| }; |
| pcie0_wake { |
| pins = "gpio59"; |
| function = "pcie0_wake"; |
| drive-strength = <8>; |
| bias-pull-down; |
| }; |
| }; |
| |
| led_pins: led_pins { |
| led_2g { |
| pins = "gpio18"; |
| function = "gpio"; |
| drive-strength = <8>; |
| bias-pull-down; |
| }; |
| }; |
| }; |
| |
| serial@78b3000 { |
| status = "ok"; |
| }; |
| |
| spi@78b5000 { |
| status = "ok"; |
| pinctrl-0 = <&spi_0_pins>; |
| pinctrl-names = "default"; |
| cs-select = <0>; |
| |
| m25p80@0 { |
| compatible = "n25q128a11"; |
| #address-cells = <1>; |
| #size-cells = <1>; |
| reg = <0>; |
| spi-max-frequency = <50000000>; |
| }; |
| }; |
| |
| dma@7984000 { |
| status = "ok"; |
| }; |
| |
| nand@79b0000 { |
| status = "ok"; |
| |
| nand@0 { |
| reg = <0>; |
| #address-cells = <1>; |
| #size-cells = <1>; |
| |
| nand-ecc-strength = <4>; |
| nand-ecc-step-size = <512>; |
| nand-bus-width = <8>; |
| }; |
| }; |
| |
| qusb@79000 { |
| status = "ok"; |
| }; |
| |
| ssphy@78000 { |
| status = "ok"; |
| }; |
| |
| usb3@8A00000 { |
| status = "ok"; |
| }; |
| |
| qusb@59000 { |
| status = "ok"; |
| }; |
| |
| ssphy@58000 { |
| status = "ok"; |
| }; |
| |
| usb3@8C00000 { |
| status = "ok"; |
| }; |
| |
| qcom,test@0 { |
| status = "ok"; |
| }; |
| |
| phy@84000 { |
| status = "ok"; |
| }; |
| |
| phy@86000 { |
| status = "ok"; |
| }; |
| |
| pci@20000000 { |
| perst-gpio = <&tlmm 58 1>; |
| status = "ok"; |
| |
| pcie0_rp { |
| reg = <0 0 0 0 0>; |
| |
| qcom,mhi@0 { |
| reg = <0 0 0 0 0>; |
| qrtr_instance_id = <0x20>; |
| #if !defined(__IPQ_MEM_PROFILE_256_MB__) |
| memory-region = <&mhi_region0>; |
| #endif |
| }; |
| }; |
| }; |
| |
| phy@8e000 { |
| status = "ok"; |
| }; |
| |
| pci@10000000 { |
| perst-gpio = <&tlmm 61 0x1>; |
| status = "ok"; |
| |
| pcie1_rp { |
| reg = <0 0 0 0 0>; |
| |
| qcom,mhi@1 { |
| reg = <0 0 0 0 0>; |
| qrtr_instance_id = <0x21>; |
| #if !defined(__IPQ_MEM_PROFILE_256_MB__) |
| memory-region = <&mhi_region1>; |
| #endif |
| }; |
| }; |
| }; |
| |
| gpio_keys { |
| compatible = "gpio-keys"; |
| pinctrl-0 = <&button_pins>; |
| pinctrl-names = "default"; |
| status = "ok"; |
| |
| button@1 { |
| label = "wps"; |
| linux,code = <KEY_WPS_BUTTON>; |
| gpios = <&tlmm 34 GPIO_ACTIVE_LOW>; |
| linux,input-type = <1>; |
| debounce-interval = <60>; |
| }; |
| }; |
| |
| leds { |
| compatible = "gpio-leds"; |
| pinctrl-0 = <&led_pins>; |
| pinctrl-names = "default"; |
| |
| led_2g { |
| label = "led_2g"; |
| gpio = <&tlmm 18 GPIO_ACTIVE_HIGH>; |
| default-state = "off"; |
| }; |
| }; |
| |
| }; |
| }; |
| |
| &wifi0 { |
| /delete-property/ mem-region; |
| status = "disabled"; |
| }; |
| |
| &wifi1 { |
| /delete-property/ mem-region; |
| status = "disabled"; |
| }; |
| |
| &wifi2 { |
| #if !defined(__IPQ_MEM_PROFILE_256_MB__) |
| #ifdef __IPQ_MEM_PROFILE_512_MB__ |
| /* QCN9000 tgt-mem-mode=1 layout - 30MB |
| * +=========+==============+=========+ |
| * | Region | Start Offset | Size | |
| * +---------+--------------+---------+ |
| * | HREMOTE | 0x4B000000 | 20MB | |
| * +---------+--------------+---------+ |
| * | M3 Dump | 0x4C400000 | 1MB | |
| * +---------+--------------+---------+ |
| * | ETR | 0x4C500000 | 1MB | |
| * +---------+--------------+---------+ |
| * | Caldb | 0x4C600000 | 8MB | |
| * +==================================+ |
| */ |
| base-addr = <0x4B000000>; |
| m3-dump-addr = <0x4C400000>; |
| etr-addr = <0x4C500000>; |
| caldb-addr = <0x4C600000>; |
| hremote-size = <0x1400000>; |
| tgt-mem-mode = <0x1>; |
| #else |
| /* QCN9000 tgt-mem-mode=0 layout - 45MB |
| * +=========+==============+=========+ |
| * | Region | Start Offset | Size | |
| * +---------+--------------+---------+ |
| * | HREMOTE | 0x4B000000 | 35MB | |
| * +---------+--------------+---------+ |
| * | M3 Dump | 0x4D300000 | 1MB | |
| * +---------+--------------+---------+ |
| * | ETR | 0x4D400000 | 1MB | |
| * +---------+--------------+---------+ |
| * | Caldb | 0x4D500000 | 8MB | |
| * +==================================+ |
| */ |
| base-addr = <0x4B000000>; |
| m3-dump-addr = <0x4D300000>; |
| etr-addr = <0x4D400000>; |
| caldb-addr = <0x4D500000>; |
| hremote-size = <0x2300000>; |
| tgt-mem-mode = <0x0>; |
| #endif |
| caldb-size = <0x800000>; |
| hremote_node = <&qcn9000_pcie0>; |
| mhi_node = <&mhi_region0>; |
| status = "ok"; |
| #endif |
| }; |
| |
| #if !defined(__IPQ_MEM_PROFILE_256_MB__) |
| &wifi3 { |
| #ifdef __IPQ_MEM_PROFILE_512_MB__ |
| /* QCN9000 tgt-mem-mode=1 layout - 30MB |
| * +=========+==============+=========+ |
| * | Region | Start Offset | Size | |
| * +---------+--------------+---------+ |
| * | HREMOTE | 0x4CE00000 | 20MB | |
| * +---------+--------------+---------+ |
| * | M3 Dump | 0x4E200000 | 1MB | |
| * +---------+--------------+---------+ |
| * | ETR | 0x4E300000 | 1MB | |
| * +---------+--------------+---------+ |
| * | Caldb | 0x4E400000 | 8MB | |
| * +==================================+ |
| */ |
| base-addr = <0x4CE00000>; |
| m3-dump-addr = <0x4E200000>; |
| etr-addr = <0x4E300000>; |
| caldb-addr = <0x4E400000>; |
| hremote-size = <0x1400000>; |
| tgt-mem-mode = <0x1>; |
| #else |
| /* QCN9000 tgt-mem-mode=0 layout - 45MB |
| * +=========+==============+=========+ |
| * | Region | Start Offset | Size | |
| * +---------+--------------+---------+ |
| * | HREMOTE | 0x4DD00000 | 35MB | |
| * +---------+--------------+---------+ |
| * | M3 Dump | 0x50000000 | 1MB | |
| * +---------+--------------+---------+ |
| * | ETR | 0x50100000 | 1MB | |
| * +---------+--------------+---------+ |
| * | Caldb | 0x50200000 | 8MB | |
| * +==================================+ |
| */ |
| base-addr = <0x4DD00000>; |
| m3-dump-addr = <0x50000000>; |
| etr-addr = <0x50100000>; |
| caldb-addr = <0x50200000>; |
| hremote-size = <0x2300000>; |
| tgt-mem-mode = <0x0>; |
| #endif |
| caldb-size = <0x800000>; |
| hremote_node = <&qcn9000_pcie1>; |
| mhi_node = <&mhi_region1>; |
| status = "ok"; |
| }; |
| #endif |