| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452 |
- // SPDX-License-Identifier: (GPL-2.0+)
- /dts-v1/;
- #include "ipq6018.dtsi"
- #include "ipq6018-ess.dtsi"
- #include <dt-bindings/gpio/gpio.h>
- #include <dt-bindings/input/input.h>
- #include <dt-bindings/leds/common.h>
- / {
- /* Qualcomm Technologies, Inc. IPQ6018/AP-CP01-C3 */
- model = "Cambium Networks XE3-4";
- compatible = "cambiumnetworks,xe3-4", "qcom,ipq6018-cp01", "qcom,ipq6018";
- aliases {
- serial0 = &blsp1_uart3;
- ethernet0 = &dp5;
- ethernet1 = &dp4;
- label-mac-device = &dp5;
- led-boot = &led_status_amber;
- led-failsafe = &led_status_amber;
- led-running = &led_status_white;
- led-upgrade = &led_status_amber;
- };
- chosen {
- stdout-path = "serial0:115200n8";
- bootargs-append = " root=/dev/ubiblock0_1";
- };
- keys {
- compatible = "gpio-keys";
- reset {
- label = "reset";
- gpios = <&tlmm 19 GPIO_ACTIVE_LOW>;
- linux,code = <KEY_RESTART>;
- };
- };
- leds {
- compatible = "gpio-leds";
- pinctrl-0 = <&led_pins>;
- pinctrl-names = "default";
- led_status_white: status-white {
- color = <LED_COLOR_ID_WHITE>;
- function = LED_FUNCTION_STATUS;
- gpios = <&tlmm 56 GPIO_ACTIVE_LOW>;
- };
- led_status_amber: status-amber {
- color = <LED_COLOR_ID_AMBER>;
- function = LED_FUNCTION_STATUS;
- gpios = <&tlmm 35 GPIO_ACTIVE_LOW>;
- };
- };
- reg_sd_vmmc: regulator-sdcard-vmmc {
- compatible = "regulator-fixed";
- regulator-name = "sdcard-vmmc";
- regulator-min-microvolt = <2950000>;
- regulator-max-microvolt = <2950000>;
- startup-delay-us = <200>;
- gpios = <&tlmm 66 GPIO_ACTIVE_HIGH>;
- enable-active-high;
- pinctrl-names = "default";
- pinctrl-0 = <&sd_vmmc_en_default>;
- };
- };
- &blsp1_uart3 {
- pinctrl-0 = <&serial_3_pins>;
- pinctrl-names = "default";
- status = "okay";
- };
- &blsp1_i2c3 {
- pinctrl-0 = <&i2c_1_pins>;
- pinctrl-names = "default";
- status = "okay";
- };
- &rpm {
- status = "disabled";
- };
- &tlmm {
- /* TZ has exclusive control over GPIO20 */
- gpio-reserved-ranges = <20 1>;
- mdio_pins: mdio-pins {
- mdc {
- pins = "gpio64";
- function = "mdc";
- drive-strength = <8>;
- bias-pull-up;
- };
- mdio {
- pins = "gpio65";
- function = "mdio";
- drive-strength = <8>;
- bias-pull-up;
- };
- };
- i2c_1_pins: i2c-1-state {
- pins = "gpio42", "gpio43";
- function = "blsp2_i2c";
- drive-strength = <8>;
- };
- spi_0_pins: spi-0-state {
- pins = "gpio38", "gpio39", "gpio40", "gpio41";
- function = "blsp0_spi";
- drive-strength = <8>;
- bias-pull-down;
- };
- led_pins: led_pins {
- leds {
- pins = "gpio35", "gpio37", "gpio50";
- function = "gpio";
- drive-strength = <8>;
- bias-pull-down;
- };
- };
- sd_vmmc_en_default: sd-vmmc-en-default-state {
- pins = "gpio66";
- function = "gpio";
- drive-strength = <8>;
- bias-pull-down;
- };
- sd_pins: sd-state {
- pins = "gpio62";
- function = "gpio";
- drive-strength = <8>;
- bias-pull-up;
- };
- };
- &pcie_phy {
- status = "okay";
- };
- &pcie0 {
- status = "okay";
- perst-gpios = <&tlmm 60 GPIO_ACTIVE_LOW>;
- pcie@0 {
- wifi@0,0 {
- status = "okay";
- /* ath11k has no DT compatible for PCI cards */
- compatible = "pci17cb,1104";
- reg = <0x00010000 0 0 0 0>;
- qcom,ath11k-fw-memory-mode = <0>;
- qcom,ath11k-calibration-variant = "CambiumNetworks-XE34";
- };
- };
- };
- &sdhc {
- pinctrl-0 = <&sd_pins>;
- pinctrl-names = "default";
- status = "okay";
- cd-gpios = <&tlmm 62 GPIO_ACTIVE_LOW>;
- vqmmc-supply = <®_sd_vmmc>;
- bus-width = <4>;
- };
- &edma {
- status = "okay";
- };
- &switch {
- status = "okay";
- switch_lan_bmp = <(ESS_PORT4 | ESS_PORT5)>;
- switch_mac_mode = <MAC_MODE_PSGMII>;
- switch_mac_mode2 = <MAC_MODE_SGMII_PLUS>;
- qcom,port_phyinfo {
- port@4 {
- port_id = <4>;
- phy_address = <3>;
- };
- port@5 {
- port_id = <5>;
- phy_address = <24>;
- port_mac_sel = "QGMAC_PORT";
- };
- };
- };
- &mdio {
- status = "okay";
- pinctrl-0 = <&mdio_pins>;
- pinctrl-names = "default";
- reset-gpios = <&tlmm 75 GPIO_ACTIVE_LOW>;
- reset-delay-us = <10000>;
- reset-post-delay-us = <50000>;
- ethernet-phy-package@0 {
- #address-cells = <1>;
- #size-cells = <0>;
- compatible = "qcom,qca8075-package";
- reg = <0>;
- qcom,package-mode = "psgmii";
- qca8072: ethernet-phy@3 {
- compatible = "ethernet-phy-ieee802.3-c22";
- reg = <3>;
- };
- };
- qca8081: ethernet-phy@24 {
- compatible = "ethernet-phy-id004d.d101";
- reg = <24>;
- reset-gpios = <&tlmm 77 GPIO_ACTIVE_LOW>;
- reset-assert-us = <10000>;
- reset-deassert-us = <50000>;
- };
- };
- &dp4 {
- status = "okay";
- phy-handle = <&qca8072>;
- nvmem-cell-names = "mac-address";
- nvmem-cells = <ð1addr 0>;
- label = "lan2";
- };
- &dp5 {
- status = "okay";
- phy-mode = "sgmii";
- phy-handle = <&qca8081>;
- nvmem-cell-names = "mac-address";
- nvmem-cells = <ðaddr 0>;
- label = "lan1";
- };
- &blsp1_spi1 {
- pinctrl-0 = <&spi_0_pins>;
- pinctrl-names = "default";
- status = "okay";
- flash@0 {
- reg = <0>;
- /*
- * U-boot looks for "n25q128a11" node,
- * if we don't have it, it will spit out the following warning:
- * "ipq: fdt fixup unable to find compatible node".
- */
- linux,modalias = "m25p80", "mx30uf2g18ac", "n25q128a11";
- compatible = "micron,n25q128a11", "jedec,spi-nor";
- spi-max-frequency = <50000000>;
- partitions {
- compatible = "fixed-partitions";
- #address-cells = <1>;
- #size-cells = <1>;
- partition@0 {
- label = "0:SBL1";
- reg = <0x0 0xc0000>;
- read-only;
- };
- partition@c0000 {
- label = "0:MIBIB";
- reg = <0xc0000 0x10000>;
- read-only;
- };
- partition@d0000 {
- label = "0:BOOTCONFIG";
- reg = <0xd0000 0x20000>;
- read-only;
- };
- partition@f0000 {
- label = "0:BOOTCONFIG1";
- reg = <0xf0000 0x20000>;
- read-only;
- };
- partition@110000 {
- label = "0:QSEE";
- reg = <0x110000 0x1a0000>;
- read-only;
- };
- partition@2b0000 {
- label = "0:QSEE_1";
- reg = <0x2b0000 0x1a0000>;
- read-only;
- };
- partition@450000 {
- label = "0:DEVCFG";
- reg = <0x450000 0x10000>;
- read-only;
- };
- partition@460000 {
- label = "mfginfo";
- reg = <0x460000 0x10000>;
- read-only;
- };
- partition@470000 {
- label = "0:RPM";
- reg = <0x470000 0x40000>;
- read-only;
- };
- partition@4b0000 {
- label = "0:RPM_1";
- reg = <0x4b0000 0x40000>;
- read-only;
- };
- partition@4f0000 {
- label = "0:CDT";
- reg = <0x4f0000 0x10000>;
- read-only;
- };
- partition@500000 {
- label = "0:CDT_1";
- reg = <0x500000 0x10000>;
- read-only;
- };
- partition@510000 {
- label = "0:APPSBLENV";
- reg = <0x510000 0x10000>;
- nvmem-layout {
- compatible = "u-boot,env";
- ethaddr: ethaddr {
- #nvmem-cell-cells = <0>;
- };
- eth1addr: eth1addr {
- #nvmem-cell-cells = <0>;
- };
- eth2addr: eth2addr {
- #nvmem-cell-cells = <0>;
- };
- eth5addr: eth5addr {
- #nvmem-cell-cells = <0>;
- };
- };
- };
- partition@520000 {
- label = "0:APPSBL";
- reg = <0x520000 0xa0000>;
- read-only;
- };
- partition@5c0000 {
- label = "0:APPSBL_1";
- reg = <0x5c0000 0xa0000>;
- read-only;
- };
- partition@660000 {
- label = "0:ART";
- reg = <0x660000 0x80000>;
- read-only;
- };
- };
- };
- };
- &qpic_bam {
- status = "okay";
- };
- &qpic_nand {
- status = "okay";
- nand@0 {
- reg = <0>;
- nand-ecc-strength = <4>;
- nand-ecc-step-size = <512>;
- nand-bus-width = <8>;
- partitions {
- compatible = "fixed-partitions";
- #address-cells = <1>;
- #size-cells = <1>;
- partition@0 {
- label = "rootfs";
- reg = <0x0 0x6000000>;
- };
- partition@6000000 {
- label = "rootfs_1";
- reg = <0x6000000 0x6000000>;
- };
- partition@c000000 {
- label = "NVRAM";
- reg = <0xc000000 0x3000000>;
- };
- partition@f000000 {
- label = "crashLog";
- reg = <0xf000000 0x1000000>;
- };
- };
- };
- };
- &wifi {
- status = "okay";
- qcom,ath11k-calibration-variant = "CambiumNetworks-XE34";
- nvmem-cell-names = "mac-address";
- nvmem-cells = <ð2addr>;
- };
- &qusb_phy_1 {
- status = "okay";
- };
- &usb2 {
- status = "okay";
- };
|