| // SPDX-License-Identifier: GPL-2.0-only |
| /dts-v1/; |
| /* Copyright (c) 2017, 2020-2021, The Linux Foundation. All rights reserved. |
| */ |
| #include "ipq8074-hk01.dtsi" |
| |
| / { |
| model = "Qualcomm Technologies, Inc. IPQ8074/AP-HK01-C6"; |
| compatible = "qcom,ipq8074-ap-hk01-c6", "qcom,ipq8074-hk01", "qcom,ipq8074"; |
| |
| aliases { |
| serial1 = &blsp1_uart3; |
| /* |
| * 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 { |
| #ifndef __IPQ_MEM_PROFILE_256_MB__ |
| bootargs-append = " vmalloc=600M"; |
| #endif |
| }; |
| |
| 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 | |
| * +--------+--------------+-------------------------+ |
| * | Q6 | 0x4B000000 | 55MB | |
| * +--------+--------------+-------------------------+ |
| * | QDSS | 0x4E700000 | 1MB | |
| * +--------+--------------+-------------------------+ |
| * | M3 Dump| 0x4E800000 | 1MB | |
| * +--------+--------------+-------------------------+ |
| * | Pine | 0x4E900000 | 30MB | |
| * +--------+--------------+-------------------------+ |
| * | MHI0 | 0x50700000 | 16MB | |
| * +--------+--------------+-------------------------+ |
| * | | |
| * | Rest of the memory for Linux | |
| * | | |
| * +=================================================+ |
| */ |
| /delete-node/ wifi_dump@4e900000; |
| qcn9000_pcie0: qcn9000_pcie0@4e900000 { |
| no-map; |
| reg = <0x0 0x4e900000 0x0 0x01e00000>; |
| }; |
| |
| mhi_region0: dma_pool0@50700000 { |
| compatible = "shared-dma-pool"; |
| no-map; |
| reg = <0x0 0x50700000 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 | |
| * +--------+--------------+-------------------------+ |
| * | Q6 | 0x4B000000 | 95MB | |
| * +--------+--------------+-------------------------+ |
| * | QDSS | 0x50F00000 | 1MB | |
| * +--------+--------------+-------------------------+ |
| * | M3 Dump| 0x51000000 | 1MB | |
| * +--------+--------------+-------------------------+ |
| * | Pine0 | 0x51100000 | 45MB | |
| * +--------+--------------+-------------------------+ |
| * | MHI0 | 0x53E00000 | 24MB | |
| * +--------+--------------+-------------------------+ |
| * | | |
| * | Rest of the memory for Linux | |
| * | | |
| * +=================================================+ |
| */ |
| qcn9000_pcie0: qcn9000_pcie0@51100000 { |
| no-map; |
| reg = <0x0 0x51100000 0x0 0x02D00000>; |
| }; |
| |
| mhi_region0: dma_pool0@53e00000 { |
| compatible = "shared-dma-pool"; |
| no-map; |
| reg = <0x0 0x53E00000 0x0 0x01800000>; |
| }; |
| #endif |
| #endif |
| }; |
| |
| soc { |
| |
| pinctrl@1000000 { |
| 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; |
| }; |
| }; |
| |
| mdio_pins: mdio_pinmux { |
| mux_0 { |
| pins = "gpio68"; |
| function = "mdc"; |
| drive-strength = <8>; |
| bias-pull-up; |
| }; |
| mux_1 { |
| pins = "gpio69"; |
| function = "mdio"; |
| drive-strength = <8>; |
| bias-pull-up; |
| }; |
| }; |
| |
| }; |
| |
| mdio@90000 { |
| pinctrl-0 = <&mdio_pins>; |
| pinctrl-names = "default"; |
| phy-reset-gpio = <&tlmm 37 0>; |
| phy0: ethernet-phy@0 { |
| reg = <0>; |
| }; |
| phy1: ethernet-phy@1 { |
| reg = <1>; |
| }; |
| phy2: ethernet-phy@2 { |
| reg = <2>; |
| }; |
| phy3: ethernet-phy@3 { |
| reg = <3>; |
| }; |
| phy4: ethernet-phy@4 { |
| reg = <4>; |
| }; |
| phy5: ethernet-phy@5 { |
| compatible ="ethernet-phy-ieee802.3-c45"; |
| reg = <7>; |
| }; |
| }; |
| |
| ess-switch@3a000000 { |
| switch_cpu_bmp = <0x1>; /* cpu port bitmap */ |
| switch_lan_bmp = <0x3e>; /* lan port bitmap */ |
| switch_wan_bmp = <0x40>; /* wan port bitmap */ |
| switch_mac_mode = <0x0>; /* mac mode for uniphy instance0*/ |
| switch_mac_mode1 = <0xff>; /* mac mode for uniphy instance1*/ |
| switch_mac_mode2 = <0xd>; /* mac mode for uniphy instance2*/ |
| bm_tick_mode = <0>; /* bm tick mode */ |
| tm_tick_mode = <0>; /* tm tick mode */ |
| port_scheduler_resource { |
| port@0 { |
| port_id = <0>; |
| ucast_queue = <0 143>; |
| mcast_queue = <256 271>; |
| l0sp = <0 35>; |
| l0cdrr = <0 47>; |
| l0edrr = <0 47>; |
| l1cdrr = <0 7>; |
| l1edrr = <0 7>; |
| }; |
| port@1 { |
| port_id = <1>; |
| ucast_queue = <144 159>; |
| mcast_queue = <272 275>; |
| l0sp = <36 39>; |
| l0cdrr = <48 63>; |
| l0edrr = <48 63>; |
| l1cdrr = <8 11>; |
| l1edrr = <8 11>; |
| }; |
| port@2 { |
| port_id = <2>; |
| ucast_queue = <160 175>; |
| mcast_queue = <276 279>; |
| l0sp = <40 43>; |
| l0cdrr = <64 79>; |
| l0edrr = <64 79>; |
| l1cdrr = <12 15>; |
| l1edrr = <12 15>; |
| }; |
| port@3 { |
| port_id = <3>; |
| ucast_queue = <176 191>; |
| mcast_queue = <280 283>; |
| l0sp = <44 47>; |
| l0cdrr = <80 95>; |
| l0edrr = <80 95>; |
| l1cdrr = <16 19>; |
| l1edrr = <16 19>; |
| }; |
| port@4 { |
| port_id = <4>; |
| ucast_queue = <192 207>; |
| mcast_queue = <284 287>; |
| l0sp = <48 51>; |
| l0cdrr = <96 111>; |
| l0edrr = <96 111>; |
| l1cdrr = <20 23>; |
| l1edrr = <20 23>; |
| }; |
| port@5 { |
| port_id = <5>; |
| ucast_queue = <208 223>; |
| mcast_queue = <288 291>; |
| l0sp = <52 55>; |
| l0cdrr = <112 127>; |
| l0edrr = <112 127>; |
| l1cdrr = <24 27>; |
| l1edrr = <24 27>; |
| }; |
| port@6 { |
| port_id = <6>; |
| ucast_queue = <224 239>; |
| mcast_queue = <292 295>; |
| l0sp = <56 59>; |
| l0cdrr = <128 143>; |
| l0edrr = <128 143>; |
| l1cdrr = <28 31>; |
| l1edrr = <28 31>; |
| }; |
| port@7 { |
| port_id = <7>; |
| ucast_queue = <240 255>; |
| mcast_queue = <296 299>; |
| l0sp = <60 63>; |
| l0cdrr = <144 159>; |
| l0edrr = <144 159>; |
| l1cdrr = <32 35>; |
| l1edrr = <32 35>; |
| }; |
| }; |
| port_scheduler_config { |
| port@0 { |
| port_id = <0>; |
| l1scheduler { |
| group@0 { |
| sp = <0 1>; /*L0 SPs*/ |
| /*cpri cdrr epri edrr*/ |
| cfg = <0 0 0 0>; |
| }; |
| }; |
| l0scheduler { |
| group@0 { |
| /*unicast queues*/ |
| ucast_queue = <0 4 8>; |
| /*multicast queues*/ |
| mcast_queue = <256 260>; |
| /*sp cpri cdrr epri edrr*/ |
| cfg = <0 0 0 0 0>; |
| }; |
| group@1 { |
| ucast_queue = <1 5 9>; |
| mcast_queue = <257 261>; |
| cfg = <0 1 1 1 1>; |
| }; |
| group@2 { |
| ucast_queue = <2 6 10>; |
| mcast_queue = <258 262>; |
| cfg = <0 2 2 2 2>; |
| }; |
| group@3 { |
| ucast_queue = <3 7 11>; |
| mcast_queue = <259 263>; |
| cfg = <0 3 3 3 3>; |
| }; |
| }; |
| }; |
| port@1 { |
| port_id = <1>; |
| l1scheduler { |
| group@0 { |
| sp = <36>; |
| cfg = <0 8 0 8>; |
| }; |
| group@1 { |
| sp = <37>; |
| cfg = <1 9 1 9>; |
| }; |
| }; |
| l0scheduler { |
| group@0 { |
| ucast_queue = <144>; |
| ucast_loop_pri = <16>; |
| mcast_queue = <272>; |
| mcast_loop_pri = <4>; |
| cfg = <36 0 48 0 48>; |
| }; |
| }; |
| }; |
| port@2 { |
| port_id = <2>; |
| l1scheduler { |
| group@0 { |
| sp = <40>; |
| cfg = <0 12 0 12>; |
| }; |
| group@1 { |
| sp = <41>; |
| cfg = <1 13 1 13>; |
| }; |
| }; |
| l0scheduler { |
| group@0 { |
| ucast_queue = <160>; |
| ucast_loop_pri = <16>; |
| mcast_queue = <276>; |
| mcast_loop_pri = <4>; |
| cfg = <40 0 64 0 64>; |
| }; |
| }; |
| }; |
| port@3 { |
| port_id = <3>; |
| l1scheduler { |
| group@0 { |
| sp = <44>; |
| cfg = <0 16 0 16>; |
| }; |
| group@1 { |
| sp = <45>; |
| cfg = <1 17 1 17>; |
| }; |
| }; |
| l0scheduler { |
| group@0 { |
| ucast_queue = <176>; |
| ucast_loop_pri = <16>; |
| mcast_queue = <280>; |
| mcast_loop_pri = <4>; |
| cfg = <44 0 80 0 80>; |
| }; |
| }; |
| }; |
| port@4 { |
| port_id = <4>; |
| l1scheduler { |
| group@0 { |
| sp = <48>; |
| cfg = <0 20 0 20>; |
| }; |
| group@1 { |
| sp = <49>; |
| cfg = <1 21 1 21>; |
| }; |
| }; |
| l0scheduler { |
| group@0 { |
| ucast_queue = <192>; |
| ucast_loop_pri = <16>; |
| mcast_queue = <284>; |
| mcast_loop_pri = <4>; |
| cfg = <48 0 96 0 96>; |
| }; |
| }; |
| }; |
| port@5 { |
| port_id = <5>; |
| l1scheduler { |
| group@0 { |
| sp = <52>; |
| cfg = <0 24 0 24>; |
| }; |
| group@1 { |
| sp = <53>; |
| cfg = <1 25 1 25>; |
| }; |
| }; |
| l0scheduler { |
| group@0 { |
| ucast_queue = <208>; |
| ucast_loop_pri = <16>; |
| mcast_queue = <288>; |
| mcast_loop_pri = <4>; |
| cfg = <52 0 112 0 112>; |
| }; |
| }; |
| }; |
| port@6 { |
| port_id = <6>; |
| l1scheduler { |
| group@0 { |
| sp = <56>; |
| cfg = <0 28 0 28>; |
| }; |
| group@1 { |
| sp = <57>; |
| cfg = <1 29 1 29>; |
| }; |
| }; |
| l0scheduler { |
| group@0 { |
| ucast_queue = <224>; |
| ucast_loop_pri = <16>; |
| mcast_queue = <292>; |
| mcast_loop_pri = <4>; |
| cfg = <56 0 128 0 128>; |
| }; |
| }; |
| }; |
| port@7 { |
| port_id = <7>; |
| l1scheduler { |
| group@0 { |
| sp = <60>; |
| cfg = <0 32 0 32>; |
| }; |
| group@1 { |
| sp = <61>; |
| cfg = <1 33 1 33>; |
| }; |
| }; |
| l0scheduler { |
| group@0 { |
| ucast_queue = <240>; |
| ucast_loop_pri = <16>; |
| mcast_queue = <296>; |
| cfg = <60 0 144 0 144>; |
| }; |
| }; |
| }; |
| }; |
| }; |
| |
| dp1 { |
| device_type = "network"; |
| compatible = "qcom,nss-dp"; |
| qcom,id = <1>; |
| reg = <0x3a001000 0x200>; |
| qcom,mactype = <0>; |
| local-mac-address = [000000000000]; |
| qcom,link-poll = <1>; |
| qcom,phy-mdio-addr = <0>; |
| phy-mode = "sgmii"; |
| }; |
| |
| dp2 { |
| device_type = "network"; |
| compatible = "qcom,nss-dp"; |
| qcom,id = <2>; |
| reg = <0x3a001200 0x200>; |
| qcom,mactype = <0>; |
| local-mac-address = [000000000000]; |
| qcom,link-poll = <1>; |
| qcom,phy-mdio-addr = <1>; |
| phy-mode = "sgmii"; |
| }; |
| |
| dp3 { |
| device_type = "network"; |
| compatible = "qcom,nss-dp"; |
| qcom,id = <3>; |
| reg = <0x3a001400 0x200>; |
| qcom,mactype = <0>; |
| local-mac-address = [000000000000]; |
| qcom,link-poll = <1>; |
| qcom,phy-mdio-addr = <2>; |
| phy-mode = "sgmii"; |
| }; |
| |
| dp4 { |
| device_type = "network"; |
| compatible = "qcom,nss-dp"; |
| qcom,id = <4>; |
| reg = <0x3a001600 0x200>; |
| qcom,mactype = <0>; |
| local-mac-address = [000000000000]; |
| qcom,link-poll = <1>; |
| qcom,phy-mdio-addr = <3>; |
| phy-mode = "sgmii"; |
| }; |
| |
| dp5 { |
| device_type = "network"; |
| compatible = "qcom,nss-dp"; |
| qcom,id = <5>; |
| reg = <0x3a001800 0x200>; |
| qcom,mactype = <0>; |
| local-mac-address = [000000000000]; |
| qcom,link-poll = <1>; |
| qcom,phy-mdio-addr = <4>; |
| phy-mode = "sgmii"; |
| }; |
| |
| dp6 { |
| device_type = "network"; |
| compatible = "qcom,nss-dp"; |
| qcom,id = <6>; |
| reg = <0x3a007000 0x3fff>; |
| qcom,mactype = <1>; |
| local-mac-address = [000000000000]; |
| qcom,link-poll = <1>; |
| qcom,phy-mdio-addr = <7>; |
| phy-mode = "sgmii"; |
| }; |
| |
| sd-pwrseq { |
| status = "ok"; |
| }; |
| |
| sdhci@7864900 { |
| pinctrl-0 = <&sd_pins>; |
| pinctrl-names = "default"; |
| cd-gpios = <&tlmm 63 GPIO_ACTIVE_LOW>; |
| status = "ok"; |
| }; |
| |
| pwm { |
| pinctrl-0 = <&pwm_pins>; |
| pinctrl-names = "default"; |
| used-pwm-indices = <1>, <0>, <0>, <0>; |
| status = "disabled"; |
| }; |
| |
| qcom,test@0 { |
| status = "ok"; |
| }; |
| |
| }; |
| }; |
| |
| &pcie0 { |
| status = "ok"; |
| |
| pcie0_rp: 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 |
| }; |
| }; |
| }; |
| |
| &pcie1 { |
| status = "disabled"; |
| }; |
| |
| &wifi0 { |
| status = "disabled"; |
| }; |
| |
| &wifi1 { |
| qcom,board_id = <0x215>; |
| status = "ok"; |
| }; |
| |
| #if !defined(__IPQ_MEM_PROFILE_256_MB__) |
| &wifi2 { |
| #ifdef __IPQ_MEM_PROFILE_512_MB__ |
| /* QCN9000 tgt-mem-mode=1 layout - 30MB |
| * +=========+==============+=========+ |
| * | Region | Start Offset | Size | |
| * +---------+--------------+---------+ |
| * | HREMOTE | 0x4E900000 | 20MB | |
| * +---------+--------------+---------+ |
| * | M3 Dump | 0x4FD00000 | 1MB | |
| * +---------+--------------+---------+ |
| * | ETR | 0x4FE00000 | 1MB | |
| * +---------+--------------+---------+ |
| * | Caldb | 0x4FF00000 | 8MB | |
| * +==================================+ |
| */ |
| base-addr = <0x4E900000>; |
| m3-dump-addr = <0x4FD00000>; |
| etr-addr = <0x4FE00000>; |
| caldb-addr = <0x4FF00000>; |
| hremote-size = <0x1400000>; |
| tgt-mem-mode = <0x1>; |
| #else |
| /* QCN9000 tgt-mem-mode=0 layout - 45MB |
| * +=========+==============+=========+ |
| * | Region | Start Offset | Size | |
| * +---------+--------------+---------+ |
| * | HREMOTE | 0x51100000 | 35MB | |
| * +---------+--------------+---------+ |
| * | M3 DUMP | 0x53400000 | 1MB | |
| * +---------+--------------+---------+ |
| * | ETR | 0x53500000 | 1MB | |
| * +---------+--------------+---------+ |
| * | Caldb | 0x53600000 | 8MB | |
| * +==================================+ |
| */ |
| base-addr = <0x51100000>; |
| m3-dump-addr = <0x53400000>; |
| etr-addr = <0x53500000>; |
| caldb-addr = <0x53600000>; |
| hremote-size = <0x2300000>; |
| tgt-mem-mode = <0x0>; |
| #endif |
| caldb-size = <0x800000>; |
| hremote_node = <&qcn9000_pcie0>; |
| mhi_node = <&mhi_region0>; |
| board_id = <0xa4>; |
| status = "ok"; |
| }; |
| #endif |
| |
| &wifi3 { |
| status = "disabled"; |
| }; |