// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) /* * IPQ5332 DB-MI02.1 board device tree source * * Copyright (c) 2020-2021 The Linux Foundation. All rights reserved. * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved. */ /dts-v1/; #include "ipq5332.dtsi" #ifdef __IPQ_MEM_PROFILE_512_MB__ #include "ipq5332-512MB-memory.dtsi" #else #include "ipq5332-default-memory.dtsi" #endif / { #address-cells = <0x2>; #size-cells = <0x2>; model = "Qualcomm Technologies, Inc. IPQ5332/DB-MI02.1"; compatible = "qcom,ipq5332-db-mi02.1", "qcom,ipq5332"; interrupt-parent = <&intc>; aliases { serial0 = &blsp1_uart0; ethernet0 = "/soc/dp1"; ethernet1 = "/soc/dp2"; }; chosen { stdout-path = "serial0"; bootargs-append = " clk_ignore_unused"; }; soc { pinctrl@1000000 { serial_0_pins: serial0-pinmux { pins = "gpio18", "gpio19"; function = "blsp0_uart0"; drive-strength = <8>; bias-pull-up; }; i2c_0_pins: i2c-0-pinmux { pins = "gpio16", "gpio17"; function = "blsp0_i2c"; drive-strength = <8>; bias-pull-up; }; i2c_1_pins: i2c-1-pinmux { pins = "gpio29", "gpio30"; function = "blsp1_i2c0"; drive-strength = <8>; bias-pull-up; }; sfp_pins: sfp_pinmux { sfp0_rx { pins = "gpio48"; function = "gpio"; bias-disable; }; sfp0_tx { pins = "gpio15"; function = "gpio"; drive-strength = <8>; bias-pull-down; output-low; }; sfp1_rx { pins = "gpio45"; function = "rx1"; bias-disable; }; sfp1_tx { pins = "gpio24"; function = "gpio"; drive-strength = <8>; bias-pull-down; output-low; }; }; leds_pins: leds_pinmux { led0_2g { pins = "gpio36"; function = "gpio"; drive-strength = <8>; bias-pull-down; }; }; mdio1_pins: mdio_pinmux { mux_0 { pins = "gpio27"; function = "mdc1"; drive-strength = <8>; bias-disable; }; mux_1 { pins = "gpio28"; function = "mdio1"; drive-strength = <8>; bias-pull-up; }; }; }; dp1 { device_type = "network"; compatible = "qcom,nss-dp"; qcom,id = <2>; reg = <0x3a504000 0x4000>; qcom,mactype = <1>; local-mac-address = [000000000000]; qcom,phy-mdio-addr = <31>; qcom,link-poll = <1>; phy-mode = "sgmii"; }; dp2 { device_type = "network"; compatible = "qcom,nss-dp"; qcom,id = <1>; reg = <0x3a500000 0x4000>; qcom,mactype = <1>; local-mac-address = [000000000000]; qcom,phy-mdio-addr = <30>; qcom,link-poll = <1>; phy-mode = "sgmii"; qcom,ppe-offload-disabled = <1>; }; mdio:mdio@90000 { status = "ok"; pinctrl-0 = <&mdio1_pins>; pinctrl-names = "default"; }; ess-instance { ess-switch@3a000000 { pinctrl-0 = <&sfp_pins>; pinctrl-names = "default"; switch_cpu_bmp = <0x1>; /* cpu port bitmap */ switch_lan_bmp = <0x2>; /* lan port bitmap */ switch_wan_bmp = <0x4>; /* wan port bitmap */ switch_mac_mode = <0xe>; /* mac mode for uniphy instance0*/ switch_mac_mode1 = <0xe>; /* mac mode for uniphy instance1*/ switch_mac_mode2 = <0xff>; /* mac mode for uniphy instance2*/ qcom,port_phyinfo { port@0 { port_id = <1>; phy_address = <30>; media-type = "sfp"; /* fiber mode */ sfp_rx_los_pin = <&tlmm 48 GPIO_ACTIVE_HIGH>; }; port@1 { port_id = <2>; phy_address = <31>; media-type = "sfp"; /* fiber mode */ }; }; }; }; /* EDMA host driver configuration for the board */ edma@3ab00000 { qcom,txdesc-ring-start = <4>; /* Tx desc ring start ID */ qcom,txdesc-rings = <12>; /* Total number of Tx desc rings to be provisioned */ qcom,txcmpl-ring-start = <4>; /* Tx complete ring start ID */ qcom,txcmpl-rings = <12>; /* Total number of Tx complete rings to be provisioned */ qcom,rxfill-ring-start = <4>; /* Rx fill ring start ID */ qcom,rxfill-rings = <4>; /* Total number of Rx fill rings to be provisioned */ qcom,rxdesc-ring-start = <12>; /* Rx desc ring start ID */ qcom,rxdesc-rings = <4>; /* Total number of Rx desc rings to be provisioned */ qcom,rx-page-mode = <0>; /* Rx fill ring page mode */ qcom,tx-map-priority-level = <1>; /* Tx priority level per port */ qcom,rx-map-priority-level = <1>; /* Rx priority level per core */ qcom,ppeds-num = <2>; /* Number of PPEDS nodes */ /* PPE-DS node format: */ qcom,ppeds-map = <1 1 1 1 32 8>, /* PPEDS Node#0 ring and queue map */ <2 2 2 2 40 8>; /* PPEDS Node#1 ring and queue map */ qcom,txdesc-map = <8 9 10 11>, /* Port0 per-core Tx ring map */ <12 13 14 15>, /* Port1 per-core Tx ring map */ <4 5 6 7>; /* used only for packets from vp*/ qcom,txdesc-fc-grp-map = <1 2>; /* Per GMAC flow control group map */ qcom,rxfill-map = <4 5 6 7>; /* Per-core Rx fill ring map */ qcom,rxdesc-map = <12 13 14 15>; /* Per-core Rx desc ring map */ qcom,rx-queue-start = <0>; /* Rx queue start */ qcom,rx-ring-queue-map = <0 8 16 24>, /* Priority 0 queues per-core Rx ring map */ <1 9 17 25>, /* Priority 1 queues per-core Rx ring map */ <2 10 18 26>, /* Priority 2 queues per-core Rx ring map */ <3 11 19 27>, /* Priority 3 queues per-core Rx ring map */ <4 12 20 28>, /* Priority 4 queues per-core Rx ring map */ <5 13 21 29>, /* Priority 5 queues per-core Rx ring map */ <6 14 22 30>, /* Priority 6 queues per-core Rx ring map */ <7 15 23 31>; /* Priority 7 queues per-core Rx ring map */ interrupts = <0 163 4>, /* Tx complete ring id #4 IRQ info */ <0 164 4>, /* Tx complete ring id #5 IRQ info */ <0 165 4>, /* Tx complete ring id #6 IRQ info */ <0 166 4>, /* Tx complete ring id #7 IRQ info */ <0 167 4>, /* Tx complete ring id #8 IRQ info */ <0 168 4>, /* Tx complete ring id #9 IRQ info */ <0 169 4>, /* Tx complete ring id #10 IRQ info */ <0 170 4>, /* Tx complete ring id #11 IRQ info */ <0 171 4>, /* Tx complete ring id #12 IRQ info */ <0 172 4>, /* Tx complete ring id #13 IRQ info */ <0 173 4>, /* Tx complete ring id #14 IRQ info */ <0 174 4>, /* Tx complete ring id #15 IRQ info */ <0 139 4>, /* Rx desc ring id #12 IRQ info */ <0 140 4>, /* Rx desc ring id #13 IRQ info */ <0 141 4>, /* Rx desc ring id #14 IRQ info */ <0 142 4>, /* Rx desc ring id #15 IRQ info */ <0 191 4>, /* Misc error IRQ info */ <0 160 4>, /* PPEDS Node #1(TxComp ring id #1) TxComplete IRQ info */ <0 128 4>, /* PPEDS Node #1(Rx Desc ring id #1) Rx Desc IRQ info */ <0 152 4>, /* PPEDS Node #1(RxFill Desc ring id #1) Rx Fill IRQ info */ <0 161 4>, /* PPEDS Node #2(TxComp ring id #2) TxComplete IRQ info */ <0 129 4>, /* PPEDS Node #2(Rx Desc ring id #2) Rx Desc IRQ info */ <0 153 4>; /* PPEDS Node #2(RxFill Desc ring id #2) Rx Fill IRQ info */ }; serial@78af000 { pinctrl-0 = <&serial_0_pins>; pinctrl-names = "default"; status = "ok"; }; i2c_0: i2c@78b5000 { pinctrl-0 = <&i2c_0_pins>; pinctrl-names = "default"; status = "ok"; }; i2c_1: i2c@78b6000 { pinctrl-0 = <&i2c_1_pins>; pinctrl-names = "default"; status = "ok"; }; dma@7984000 { status = "ok"; }; nand: nand@79b0000 { pinctrl-0 = <&qspi_nand_pins>; pinctrl-names = "default"; status = "ok"; }; usb3@8A00000 { status = "ok"; qcom,select-utmi-as-pipe-clk; dwc_0: dwc3@8A00000 { /delete-property/ #phy-cells; /delete-property/ phys; /delete-property/ phy-names; }; }; hs_m31phy_0: hs_m31phy@7b000 { status = "ok"; }; leds { compatible = "gpio-leds"; pinctrl-0 = <&leds_pins>; pinctrl-names = "default"; led@36 { label = "led0_2g"; gpios = <&tlmm 36 GPIO_ACTIVE_HIGH>; linux,default-trigger = "led_2g"; default-state = "off"; }; }; pcie0_phy: phy@4b0000 { status = "ok"; }; pcie1_phy_x2: phy_x2@4b1000 { status = "disabled"; }; pcie1_phy: phy@4b1000 { status = "ok"; }; pcie2_phy: phy@4b1800 { status = "ok"; }; pcie0: pcie@20000000 { status = "ok"; pcie0_rp { reg = <0 0 0 0 0>; qcom,mhi@1 { reg = <0 0 0 0 0>; }; }; }; pcie1: pcie@18000000 { phys = <&pcie1_phy>; status = "ok"; pcie1_rp { reg = <0 0 0 0 0>; qcom,mhi@2 { reg = <0 0 0 0 0>; }; }; }; pcie2: pcie@10000000 { status = "ok"; pcie2_rp { reg = <0 0 0 0 0>; qcom,mhi@3 { reg = <0 0 0 0 0>; qrtr_node_id = <0x32>; qti,disable-rddm-prealloc; qti,rddm-seg-len = <0x1000>; memory-region = <0>, <&mhi_region1>; }; }; }; }; }; &wifi0 { qcom,rproc = <&q6_wcss_pd1>; qcom,multipd_arch; qcom,userpd-subsys-name = "q6v5_wcss_userpd1"; mem-region = <&q6_region>; qcom,board_id = <0x11>; status = "ok"; }; &mhi_region1 { status = "ok"; }; &qcn9224_pcie1 { status = "ok"; }; /* QCN9224 5G+6G */ &wifi2 { hremote_node = <&qcn9224_pcie1>; board_id = <0x02>; status = "ok"; };