From 7713dc2a9a5228907955cee7bd15c81152266bb2 Mon Sep 17 00:00:00 2001 From: Karl Chan Date: Sun, 3 Dec 2023 03:04:15 +0800 Subject: [PATCH] Add Linksys EA9350 V3 support --- arch/arm/boot/dts/Makefile | 1 + .../boot/dts/ipq5018-linksys-jamaica.dts | 18 + arch/arm64/boot/dts/qcom/Makefile | 1 + .../dts/qcom/ipq5018-linksys-jamaica.dts | 934 ++++++++++++++++++ 4 files changed, 954 insertions(+) create mode 100644 arch/arm/boot/dts/ipq5018-linksys-jamaica.dts create mode 100755 arch/arm64/boot/dts/qcom/ipq5018-linksys-jamaica.dts diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index 7712df1ab..d51ab06de 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@ -848,6 +848,7 @@ dtb-$(CONFIG_ARCH_QCOM) += \ qcom-ipq4019-ap.dk07.1-c1.dtb \ qcom-ipq4019-ap.dk07.1-c2.dtb \ qcom-ipq8064-ap148.dtb \ + ipq5018-linksys-jamaica.dtb \ ipq5018-mp02.1.dtb \ ipq5018-mp03.1.dtb \ ipq5018-mp03.1-c2.dtb \ diff --git a/arch/arm/boot/dts/ipq5018-linksys-jamaica.dts b/arch/arm/boot/dts/ipq5018-linksys-jamaica.dts new file mode 100644 index 000000000..35c20aace --- /dev/null +++ b/arch/arm/boot/dts/ipq5018-linksys-jamaica.dts @@ -0,0 +1,18 @@ +/* + * Copyright (c) 2018-2021, The Linux Foundation. All rights reserved. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#include +#include "ipq5018.dtsi" diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile index 4de2b3199..47dc287f0 100644 --- a/arch/arm64/boot/dts/qcom/Makefile +++ b/arch/arm64/boot/dts/qcom/Makefile @@ -61,6 +61,7 @@ dtb-$(CONFIG_ARCH_QCOM) += ipq5018-mp03.5-c2.dtb dtb-$(CONFIG_ARCH_QCOM) += ipq5018-mp03.6-c1.dtb dtb-$(CONFIG_ARCH_QCOM) += ipq5018-mp03.6-c2.dtb dtb-$(CONFIG_ARCH_QCOM) += ipq5018-mp05.1.dtb +dtb-$(CONFIG_ARCH_QCOM) += ipq5018-linksys-jamaica.dtb dtb-$(CONFIG_ARCH_QCOM) += msm8916-mtp.dtb dtb-$(CONFIG_ARCH_QCOM) += msm8916-longcheer-l8150.dtb dtb-$(CONFIG_ARCH_QCOM) += msm8916-samsung-a3u-eur.dtb diff --git a/arch/arm64/boot/dts/qcom/ipq5018-linksys-jamaica.dts b/arch/arm64/boot/dts/qcom/ipq5018-linksys-jamaica.dts new file mode 100755 index 000000000..4c50f16a6 --- /dev/null +++ b/arch/arm64/boot/dts/qcom/ipq5018-linksys-jamaica.dts @@ -0,0 +1,934 @@ +/dts-v1/; +/* Copyright (c) 2018-2021, The Linux Foundation. All rights reserved. + * + * Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#include "ipq5018.dtsi" + +/ { + #address-cells = <0x2>; + #size-cells = <0x2>; + model = "Linksys EA9350 V3"; + compatible = "linksys-jamaica", "qcom,ipq5018"; + interrupt-parent = <&intc>; + + aliases { + serial0 = &blsp1_uart1; + serial1 = &blsp1_uart2; + ethernet0 = "/soc/dp1"; + ethernet1 = "/soc/dp2"; + }; + + chosen { + bootargs = "console=ttyMSM0,115200,n8 rw init=/init"; + bootargs-append = " swiotlb=1 coherent_pool=2M"; + stdout-path = "serial0"; + }; + + reserved-memory { + #ifdef __IPQ_MEM_PROFILE_256_MB__ + /* 256 MB Profile + * +=========+==============+========================+ + * | | | | + * | Region | Start Offset | Size | + * | | | | + * +--------+--------------+-------------------------+ + * | | | | + * | | | | + * | NSS | 0x40000000 | 8MB | + * | | | | + * | | | | + * +--------+--------------+-------------------------+ + * | | | | + * | | | | + * | | | | + * | | | | + * | Linux | 0x40800000 | Depends on total memory | + * | | | | + * | | | | + * | | | | + * + | | | + * +--------+--------------+-------------------------+ + * | | | | + * | uboot | 0x4A600000 | 4MB | + * | | | | + * +--------+--------------+-------------------------+ + * | SBL | 0x4AA00000 | 1MB | + * +--------+--------------+-------------------------+ + * | smem | 0x4AB00000 | 1MB | + * +--------+--------------+-------------------------+ + * | | | | + * | TZ | 0x4AC00000 | 4MB | + * | | | | + * +--------+--------------+-------------------------+ + * | | | | + * | | | | + * | | | | + * | Q6 | 0x4B000000 | 23MB | + * | | | | + * | | | | + * | | | | + * +--------+--------------+-------------------------+ + * | M3 Dump| 0x4C700000 | 1MB | + * +--------+--------------+-------------------------+ + * | QDSS | 0x4C800000 | 1MB | + * +--------+--------------+-------------------------+ + * | | | | + * |QCN9000 | 0x4C900000 | 17MB | + * | | | | + * +--------+--------------+-------------------------+ + * | | | | + * | MHI1 | 0x4DA00000 | 9MB | + * | | | | + * +--------+--------------+-------------------------+ + * | | + * | Rest of the memory for Linux | + * | | + * +=================================================+ + */ + q6_region: memory@4b000000 { + no-map; + reg = <0x0 0x4b000000 0x0 0x01700000>; + }; + + m3_dump@4c700000 { + no-map; + reg = <0x0 0x4C700000 0x0 0x100000>; + }; + + q6_etr_region:q6_etr_dump@4c800000 { + no-map; + reg = <0x0 0x4c800000 0x0 0x100000>; + }; + + qcn9000_pcie0: qcn9000_pcie0@4c900000 { + no-map; + reg = <0x0 0x4C900000 0x0 0x01100000>; + }; + + #if defined(__CNSS2__) + mhi_region1: dma_pool1@4da00000 { + compatible = "shared-dma-pool"; + no-map; + reg = <0x0 0x4DA00000 0x0 0x00900000>; + }; + #endif + #elif __IPQ_MEM_PROFILE_512_MB__ + /* 512 MB Profile + * +=========+==============+========================+ + * | | | | + * | Region | Start Offset | Size | + * | | | | + * +--------+--------------+-------------------------+ + * | | | | + * | | | | + * | NSS | 0x40000000 | 16MB | + * | | | | + * | | | | + * +--------+--------------+-------------------------+ + * | | | | + * | | | | + * | | | | + * | | | | + * | Linux | 0x41000000 | Depends on total memory | + * | | | | + * | | | | + * | | | | + * | | | | + * +--------+--------------+-------------------------+ + * | | | | + * | uboot | 0x4A600000 | 4MB | + * | | | | + * +--------+--------------+-------------------------+ + * | SBL | 0x4AA00000 | 1MB | + * +--------+--------------+-------------------------+ + * | smem | 0x4AB00000 | 1MB | + * +--------+--------------+-------------------------+ + * | | | | + * | TZ | 0x4AC00000 | 4MB | + * | | | | + * +--------+--------------+-------------------------+ + * | | | | + * | | | | + * | | | | + * | Q6 | 0x4B000000 | 24MB | + * | | | | + * | | | | + * +--------+--------------+-------------------------+ + * | M3 Dump| 0x4C800000 | 1MB | + * +--------+--------------+-------------------------+ + * | QDSS | 0x4C900000 | 1MB | + * +--------+--------------+-------------------------+ + * | caldb | 0x4CA00000 | 2MB | + * +--------+--------------+-------------------------+ + * | | | | + * |QCN9000 | 0x4CC00000 | 38MB | + * | | | | + * +--------+--------------+-------------------------+ + * | | | | + * | MHI1 | 0x4F200000 | 9MB | + * | | | | + * +--------+--------------+-------------------------+ + * | | + * | Rest of the memory for Linux | + * | | + * +=================================================+ + */ + q6_region: memory@4b000000 { + no-map; + reg = <0x0 0x4b000000 0x0 0x01800000>; + }; + + m3_dump@4c800000 { + no-map; + reg = <0x0 0x4c800000 0x0 0x100000>; + }; + + q6_etr_region:q6_etr_dump@4c900000 { + no-map; + reg = <0x0 0x4c900000 0x0 0x100000>; + }; + + q6_caldb_region:q6_caldb_region@4ca00000 { + no-map; + reg = <0x0 0x4ca00000 0x0 0x200000>; + }; + + qcn9000_pcie0: qcn9000_pcie0@4cc00000 { + no-map; + reg = <0x0 0x4CC00000 0x0 0x02600000>; + }; + + #if defined(__CNSS2__) + mhi_region1: dma_pool1@4f200000 { + compatible = "shared-dma-pool"; + no-map; + reg = <0x0 0x4f200000 0x0 0x00900000>; + }; + #endif + #else + /* 1G Profile + * +=========+==============+========================+ + * | | | | + * | Region | Start Offset | Size | + * | | | | + * +--------+--------------+-------------------------+ + * | | | | + * | | | | + * | NSS | 0x40000000 | 16MB | + * | | | | + * | | | | + * +--------+--------------+-------------------------+ + * | | | | + * | | | | + * | | | | + * | | | | + * | Linux | 0x41000000 | Depends on total memory | + * | | | | + * | | | | + * | | | | + * | | | | + * +--------+--------------+-------------------------+ + * | | | | + * | uboot | 0x4A600000 | 4MB | + * | | | | + * +--------+--------------+-------------------------+ + * | SBL | 0x4AA00000 | 1MB | + * +--------+--------------+-------------------------+ + * | smem | 0x4AB00000 | 1MB | + * +--------+--------------+-------------------------+ + * | | | | + * | TZ | 0x4AC00000 | 4MB | + * | | | | + * +--------+--------------+-------------------------+ + * | | | | + * | | | | + * | | | | + * | Q6 | 0x4B000000 | 24MB | + * | | | | + * | | | | + * +--------+--------------+-------------------------+ + * | M3 Dump| 0x4C800000 | 1MB | + * +--------+--------------+-------------------------+ + * | QDSS | 0x4C900000 | 1MB | + * +--------+--------------+-------------------------+ + * | caldb | 0x4CA00000 | 2MB | + * +--------+--------------+-------------------------+ + * | | | | + * |QCN9000 | 0x4CC00000 | 53MB | + * | | | | + * +--------+--------------+-------------------------+ + * | | | | + * | MHI1 | 0x50100000 | 9MB | + * | | | | + * +--------+--------------+-------------------------+ + * | | + * | Rest of the memory for Linux | + * | | + * +=================================================+ + */ + q6_region: memory@4b000000 { + no-map; + reg = <0x0 0x4b000000 0x0 0x01800000>; + }; + + m3_dump@4c800000 { + no-map; + reg = <0x0 0x4c800000 0x0 0x100000>; + }; + + q6_etr_region:q6_etr_dump@4c900000 { + no-map; + reg = <0x0 0x4c900000 0x0 0x100000>; + }; + + q6_caldb_region:q6_caldb_region@4ca00000 { + no-map; + reg = <0x0 0x4ca00000 0x0 0x200000>; + }; + + qcn9000_pcie0: qcn9000_pcie0@4cc00000 { + no-map; + reg = <0x0 0x4CC00000 0x0 0x03500000>; + }; + + #if defined(__CNSS2__) + mhi_region1: dma_pool1@50100000 { + compatible = "shared-dma-pool"; + no-map; + reg = <0x0 0x50100000 0x0 0x00900000>; + }; + #endif + #endif + }; + + soc { + serial@78af000 { + status = "ok"; + }; + + blsp1_uart2: serial@78b0000 { + pinctrl-0 = <&blsp1_uart_pins>; + pinctrl-names = "default"; + }; + + qpic_bam: dma@7984000{ + status = "ok"; + }; + + nand: qpic-nand@79b0000 { + pinctrl-0 = <&qspi_nand_pins>; + pinctrl-names = "default"; + status = "ok"; + }; + + spi_0: spi@78b5000 { /* BLSP1 QUP0 */ + pinctrl-0 = <&blsp0_spi_pins>; + pinctrl-names = "default"; + cs-select = <0>; + status = "ok"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + reg = <0>; + compatible = "n25q128a11"; + linux,modalias = "m25p80", "n25q128a11"; + spi-max-frequency = <50000000>; + use-default-sizes; + }; + }; + + mdio0: mdio@88000 { + status = "ok"; + + ethernet-phy@0 { + reg = <7>; + }; + }; + + mdio1: mdio@90000 { + status = "ok"; + pinctrl-0 = <&mdio1_pins>; + pinctrl-names = "default"; + phy-reset-gpio = <&tlmm 39 0>; + ethernet-phy@0 { + reg = <0>; + }; + + ethernet-phy@1 { + reg = <1>; + }; + + ethernet-phy@2 { + reg = <2>; + }; + + ethernet-phy@3 { + reg = <3>; + }; + ethernet-phy@4 { + reg = <4>; + }; + }; + + ess-instance { + num_devices = <0x2>; + ess-switch@0x39c00000 { + compatible = "qcom,ess-switch-ipq50xx"; + device_id = <0>; + switch_mac_mode = <0xf>; /* mac mode for uniphy instance*/ + cmnblk_clk = "internal_96MHz"; /* cmnblk clk*/ + qcom,port_phyinfo { + port@0 { + port_id = <1>; + phy_address = <7>; + }; + port@1 { + port_id = <2>; + forced-speed = <1000>; + forced-duplex = <1>; + }; + }; + led_source@0 { + source = <0>; + mode = "normal"; + speed = "all"; + blink_en = "enable"; + active = "high"; + }; + }; + ess-switch1@1 { + compatible = "qcom,ess-switch-qca83xx"; + device_id = <1>; + switch_access_mode = "mdio"; + mdio-bus = <&mdio1>; + reset_gpio = <&tlmm 0x27 0>; + switch_cpu_bmp = <0x40>; /* cpu port bitmap */ + switch_lan_bmp = <0x1e>; /* lan port bitmap */ + switch_wan_bmp = <0x20>; /* wan port bitmap */ + qca,ar8327-initvals = < + 0x00004 0x7600000 /* PAD0_MODE */ + 0x00008 0x1000000 /* PAD5_MODE */ + 0x0000c 0x80 /* PAD6_MODE */ + 0x00010 0x2613a0 /* PORT6 FORCE MODE*/ + 0x000e4 0xaa545 /* MAC_POWER_SEL */ + 0x000e0 0xc74164de /* SGMII_CTRL */ + 0x0007c 0x4e /* PORT0_STATUS */ + 0x00094 0x4e /* PORT6_STATUS */ + >; + qcom,port_phyinfo { + port@0 { + port_id = <1>; + phy_address = <0>; + }; + port@1 { + port_id = <2>; + phy_address = <1>; + }; + port@2 { + port_id = <3>; + phy_address = <2>; + }; + port@3 { + port_id = <4>; + phy_address = <3>; + }; + }; + }; + }; + + ess-uniphy@98000 { + status = "disabled"; + }; + + qcom,sps { + status = "ok"; + }; + + qcom,diag@0 { + status = "ok"; + }; + + dp1 { + device_type = "network"; + compatible = "qcom,nss-dp"; + clocks = <&gcc GCC_SNOC_GMAC0_AXI_CLK>; + clock-names = "nss-snoc-gmac-axi-clk"; + qcom,id = <1>; + reg = <0x39C00000 0x10000>; + interrupts = ; + qcom,mactype = <2>; + qcom,link-poll = <1>; + qcom,phy-mdio-addr = <7>; + mdio-bus = <&mdio0>; + local-mac-address = [000000000000]; + phy-mode = "sgmii"; + qcom,rx-page-mode = <0>; + }; + + dp2 { + device_type = "network"; + compatible = "qcom,nss-dp"; + clocks = <&gcc GCC_SNOC_GMAC1_AXI_CLK>; + clock-names = "nss-snoc-gmac-axi-clk"; + qcom,id = <2>; + reg = <0x39D00000 0x10000>; + interrupts = ; + qcom,mactype = <2>; + local-mac-address = [000000000000]; + phy-mode = "sgmii"; + qcom,rx-page-mode = <0>; + }; + + rpm_etm0 { + status = "disabled"; + }; + + pcm: pcm@0xA3C0000{ + pinctrl-0 = <&audio_pins>; + pinctrl-names = "default"; + status = "disabled"; + }; + }; + + qcom,test@0 { + status = "ok"; + }; + + thermal-zones { + status = "ok"; + }; +}; + +&tlmm { + pinctrl-0 = <&blsp0_uart_pins>; + pinctrl-names = "default"; + + blsp0_uart_pins: blsp0_uart_pins { + blsp0_uart_rx_tx { + pins = "gpio20", "gpio21"; + function = "blsp0_uart0"; + bias-disable; + }; + }; + + blsp1_uart_pins: blsp1_uart_pins { + blsp1_uart_rx_tx { + pins = "gpio23", "gpio25", "gpio24", "gpio26"; + function = "blsp1_uart2"; + bias-disable; + }; + }; + + blsp0_spi_pins: blsp0_spi_pins { + mux { + pins = "gpio10", "gpio11", "gpio12", "gpio13"; + function = "blsp0_spi"; + drive-strength = <2>; + bias-disable; + }; + }; + + qspi_nand_pins: qspi_nand_pins { + qspi_clock { + pins = "gpio9"; + function = "qspi_clk"; + drive-strength = <8>; + bias-disable; + }; + + qspi_cs { + pins = "gpio8"; + function = "qspi_cs"; + drive-strength = <8>; + bias-disable; + }; + + qspi_data { + pins = "gpio4", "gpio5", "gpio6", "gpio7"; + function = "qspi_data"; + drive-strength = <8>; + bias-disable; + }; + }; + + mdio1_pins: mdio_pinmux { + mux_0 { + pins = "gpio36"; + function = "mdc"; + drive-strength = <8>; + bias-pull-up; + }; + + mux_1 { + pins = "gpio37"; + function = "mdio"; + drive-strength = <8>; + bias-pull-up; + }; + }; + + i2c_pins: i2c_pins { + i2c_scl { + pins = "gpio25"; + function = "blsp2_i2c1"; + drive-strength = <8>; + bias-disable; + }; + + i2c_sda { + pins = "gpio26"; + function = "blsp2_i2c1"; + drive-strength = <8>; + bias-disable; + }; + }; + + button_pins: button_pins { + wps_button { + pins = "gpio27"; + function = "gpio"; + drive-strength = <8>; + bias-pull-up; + }; + reset_button { + pins = "gpio28"; + function = "gpio"; + drive-strength = <8>; + bias-pull-up; + }; + }; + + pwm_pins: pwm_pinmux { + mux_1 { + pins = "gpio1"; + function = "NA"; //"pwm1"; + drive-strength = <8>; + }; + + mux_2 { + pins = "gpio30"; + function = "pwm3"; + drive-strength = <8>; + }; + + mux_3 { + pins = "gpio46"; + function = "pwm0"; + drive-strength = <8>; + }; + }; + + audio_pins: audio_pinmux { + mux_1 { + pins = "gpio24"; + function = "audio_rxbclk"; + drive-strength = <8>; + bias-pull-down; + }; + + mux_2 { + pins = "gpio25"; + function = "audio_rxfsync"; + drive-strength = <8>; + bias-pull-down; + }; + + mux_3 { + pins = "gpio26"; + function = "audio_rxd"; + drive-strength = <8>; + bias-pull-down; + }; + + mux_4 { + pins = "gpio27"; + function = "audio_txmclk"; + drive-strength = <8>; + bias-pull-down; + }; + + mux_5 { + pins = "gpio28"; + function = "audio_txbclk"; + drive-strength = <8>; + bias-pull-down; + }; + + mux_6 { + pins = "gpio29"; + function = "audio_txfsync"; + drive-strength = <8>; + bias-pull-down; + }; + + mux_7 { + pins = "gpio30"; + function = "audio_txd"; + drive-strength = <8>; + bias-pull-down; + }; + }; +}; + +&soc { + gpio_keys { + compatible = "gpio-keys"; + pinctrl-0 = <&button_pins>; + pinctrl-names = "default"; + + button@1 { + label = "wps"; + linux,code = ; + gpios = <&tlmm 27 GPIO_ACTIVE_LOW>; + linux,input-type = <1>; + debounce-interval = <60>; + }; + button@2 { + label = "reset"; + linux,code = ; + gpios = <&tlmm 28 GPIO_ACTIVE_LOW>; + linux,input-type = <1>; + debounce-interval = <60>; + }; + }; + + pwm_ctrl:pwm { + pinctrl-0 = <&pwm_pins>; + pinctrl-names = "default"; + used-pwm-indices = <1>, <1>, <0>, <1>; + #pwm-cells = <2>; + status = "ok"; + }; + + pwmleds { + compatible = "pwm-leds"; + + red { + label = "pwm:red"; + pwms = <&pwm_ctrl 3 1250000>; + max-brightness = <255>; + }; + + green { + label = "pwm:green"; + pwms = <&pwm_ctrl 0 1250000>; + max-brightness = <255>; + }; + + blue { + label = "pwm:blue"; + pwms = <&pwm_ctrl 1 1250000>; + max-brightness = <255>; + linux,default-trigger = "default-on"; + }; + }; +}; + +&usb3 { + qcom,multiplexed-phy; + qcom,phy-mux-regs = <&tcsr_q6_block 0x2540>; + device-power-gpio = <&tlmm 24 1>; + status = "ok"; +}; + +&eud { + status = "ok"; +}; + +&pcie_x1 { + status = "disabled"; + perst-gpio = <&tlmm 18 GPIO_ACTIVE_LOW>; +}; + +&pcie_x2 { + status = "ok"; + perst-gpio = <&tlmm 15 GPIO_ACTIVE_LOW>; +}; + +&wcss { + status = "ok"; +}; + +&tcsr_mutex { + status = "ok"; +}; + +&apcs_glb { + status = "ok"; +}; + +&tcsr_q6_block { + status = "ok"; +}; + +&q6v5_wcss { + #ifdef __IPQ_MEM_PROFILE_256_MB__ + memory-region = <&q6_region>, <&q6_etr_region>; + #else + memory-region = <&q6_region>, <&q6_etr_region>, + <&q6_caldb_region>; + #endif +}; + +&i2c_0 { + pinctrl-0 = <&i2c_pins>; + pinctrl-names = "default"; + status = "disabled"; +}; + +&blsp1_uart1 { + status = "ok"; +}; + +&ssuniphy_0 { + status = "ok"; +}; + +&hs_m31phy_0 { + status = "ok"; +}; + +&pcie_x1phy { + status = "disabled"; +}; + +&pcie_x2phy { + status = "ok"; +}; + +&pcie_x1_rp { + status = "disabled"; + + mhi_0: qcom,mhi@0 { + reg = <0 0 0 0 0 >; + }; +}; + +&pcie_x2_rp { + status = "ok"; + + mhi_1: qcom,mhi@1 { + reg = <0 0 0 0 0 >; + qrtr_instance_id = <0x20>; + #address-cells = <0x2>; + #size-cells = <0x2>; +#if defined(__CNSS2__) + memory-region = <&mhi_region1>; +#else + base-addr = <0x4CC00000>; + m3-dump-addr = <0x4E000000>; + etr-addr = <0x4E100000>; + qcom,caldb-addr = <0x4E200000>; + pageable-addr = <0x4EA00000>; + qcom,tgt-mem-mode = <0x1>; +#endif + }; +}; + +&wifi0 { + /* IPQ5018 */ + mem-region = <&q6_region>; + qcom,board_id = <0x24>; + + qcom,bdf-addr = <0x4BA00000 0x4BA00000 0x4BA00000 + 0x0 0x0>; + qcom,caldb-addr = <0x4CA00000 0x4CA00000 0x0 0x0 0x0>; + qcom,caldb-size = <0x200000>; + status = "ok"; +}; + +&wifi3 { + /* QCN9000 5G */ + board_id = <0xa0>; + hremote_node = <&qcn9000_pcie0>; +#ifdef __IPQ_MEM_PROFILE_256_MB__ + /* QCN9000 tgt-mem-mode=2 layout - 17MB + * +=========+==============+=========+ + * | Region | Start Offset | Size | + * +---------+--------------+---------+ + * | HREMOTE | 0x4C900000 | 11MB | + * +---------+--------------+---------+ + * | M3 Dump | 0x4D400000 | 1MB | + * +---------+--------------+---------+ + * | ETR | 0x4D500000 | 1MB | + * +---------+--------------+---------+ + * | Pageable| 0x4D600000 | 4MB | + * +==================================+ + */ + base-addr = <0x4C900000>; + m3-dump-addr = <0x4D400000>; + etr-addr = <0x4D500000>; + caldb-addr = <0>; + pageable-addr = <0x4D600000>; + caldb-size = <0>; + hremote-size = <0xB00000>; + tgt-mem-mode = <0x2>; + pageable-size = <0x400000>; +#elif __IPQ_MEM_PROFILE_512_MB__ + /* QCN9000 tgt-mem-mode=1 layout - 38MB + * +=========+==============+=========+ + * | Region | Start Offset | Size | + * +---------+--------------+---------+ + * | HREMOTE | 0x4CC00000 | 20MB | + * +---------+--------------+---------+ + * | M3 Dump | 0x4E000000 | 1MB | + * +---------+--------------+---------+ + * | ETR | 0x4E100000 | 1MB | + * +---------+--------------+---------+ + * | Caldb | 0x4E200000 | 8MB | + * +---------+--------------+---------+ + * | Pageable| 0x4EA00000 | 8MB | + * +==================================+ + */ + base-addr = <0x4CC00000>; + m3-dump-addr = <0x4E000000>; + etr-addr = <0x4E100000>; + caldb-addr = <0x4E200000>; + pageable-addr = <0x4EA00000>; + caldb-size = <0x800000>; + hremote-size = <0x1400000>; + tgt-mem-mode = <0x1>; + pageable-size = <0x800000>; +#else + /* QCN9000 tgt-mem-mode=0 layout - 53MB + * +=========+==============+=========+ + * | Region | Start Offset | Size | + * +---------+--------------+---------+ + * | HREMOTE | 0x4CC00000 | 35MB | + * +---------+--------------+---------+ + * | M3 Dump | 0x4EF00000 | 1MB | + * +---------+--------------+---------+ + * | ETR | 0x4F000000 | 1MB | + * +---------+--------------+---------+ + * | Caldb | 0x4F100000 | 8MB | + * +---------+--------------+---------+ + * | Pageable| 0x4F900000 | 8MB | + * +==================================+ + */ + base-addr = <0x4CC00000>; + m3-dump-addr = <0x4EF00000>; + etr-addr = <0x4F000000>; + caldb-addr = <0x4F100000>; + pageable-addr = <0x4F900000>; + hremote-size = <0x2300000>; + caldb-size = <0x800000>; + tgt-mem-mode = <0x0>; + pageable-size = <0x800000>; +#endif + status = "ok"; +}; -- 2.43.0