// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) /dts-v1/; #include "ipq9574-avm-common.dtsi" #include "ipq9574-wkk-default-memory.dtsi" #include / { #address-cells = <0x2>; #size-cells = <0x2>; model = "FRITZ!Box 4690"; aliases { /delete-property/ serial1; /delete-property/ serial3; }; dect_gpio: dect-gpio { compatible = "avm,gpio-aggregator"; gpios = <&tlmm 57 GPIO_ACTIVE_HIGH>, <&tlmm 17 GPIO_ACTIVE_HIGH>; gpio-line-names = "DECT_RST", "DECT_RD"; }; /* measure clock and fs from tdm-interface (piglet, pcmlink) */ tdmclkfs_gpio: tdmclkfs-gpio { compatible = "avm,gpio-aggregator"; gpios = <&tlmm 45 GPIO_ACTIVE_HIGH>, <&tlmm 44 GPIO_ACTIVE_HIGH>; gpio-line-names = "TDM_FS", "TDM_CLK"; }; avm-hui { compatible = "avm,hui"; pinctrl-0 = <&avm_led_pins>; pinctrl-names = "default"; status = "ok"; dim_leds: dim-leds { brightness-range = <0>, <255>; compatible = "avm,hui-generic-led-pwm"; led-type = "default-on"; /* GPIO 47 is channel 30 */ pwms = <&pwm 3 100000>; dimmable; }; box-power@0 { compatible = "avm,hui-generic-led-gpio"; gpios = <&tlmm 26 GPIO_ACTIVE_HIGH>; location = <1>; }; box-wlan@0 { compatible = "avm,hui-generic-led-gpio"; gpios = <&tlmm 61 GPIO_ACTIVE_HIGH>; location = <2>; }; box-fon-dect@0 { compatible = "avm,hui-generic-led-gpio"; gpios = <&tlmm 62 GPIO_ACTIVE_HIGH>; location = <3>; }; connect@0 { compatible = "avm,hui-generic-led-gpio"; gpios = <&tlmm 25 GPIO_ACTIVE_HIGH>; location = <4>; }; box_info: info { compatible = "avm,hui-generic-led-gpio"; gpios = <&tlmm 63 GPIO_ACTIVE_HIGH>, <&tlmm 27 GPIO_ACTIVE_HIGH>; location = <5>; colors { normal = <0x00>, <0xFF>, <0x00>; error = <0xFF>, <0x00>, <0x00>; }; }; box-wlan@1 { compatible = "avm,hui-generic-button-gpio"; gpios = <&tlmm 40 GPIO_ACTIVE_LOW>; }; box-fon@1 { compatible = "avm,hui-generic-button-gpio"; gpios = <&tlmm 30 GPIO_ACTIVE_LOW>; }; box-connect@1 { compatible = "avm,hui-generic-button-gpio"; gpios = <&tlmm 64 GPIO_ACTIVE_LOW>; }; }; soc { pinctrl@1000000 { /* ina2xx pins*/ i2c_1_pins: i2c-1-pins { pins = "gpio36", "gpio37"; /* SCL, SDA */ function = "blsp1_i2c"; drive-strength = <8>; bias-disable; }; usb_pw_en_pins: usb_pwr_en_pinmux { pins = "gpio12"; function = "gpio"; drive-strength = <8>; bias-disable; output-low; }; avm_pwm_pins: avm_pwm_pins { mux { pins = "gpio47"; function = "pwm30"; drive-strength = <8>; }; }; avm_led_pins: avm_led_pins { mux { pins = "gpio25", "gpio26", "gpio27", "gpio61", "gpio62", "gpio63", "gpio64", "gpio40"; function = "gpio"; drive-strength = <2>; bias-disable; }; }; /* ina2xx alert pin */ ina2xx_alert_pin: ina2xx-alert-pin { pins = "gpio32"; drive-strength = <8>; bias-disable; }; }; avm_mac_addr_maceth_0: dp6 { status = "ok"; devname = "eth0"; mac-address = [000000000000]; qcom,mactype = <0>; qcom,phy-mdio-addr = <0>; }; avm_mac_addr_maceth_4: dp5 { status = "ok"; devname = "wan"; mac-address = [000000000000]; qcom,mactype = <0>; qcom,phy-mdio-addr = <8>; }; avm_mac_addr_maceth_1: dp3 { status = "ok"; devname = "eth1"; mac-address = [000000000000]; qcom,phy-mdio-addr = <3>; }; avm_mac_addr_maceth_2: dp2 { status = "ok"; devname = "eth2"; mac-address = [000000000000]; qcom,phy-mdio-addr = <2>; }; avm_mac_addr_maceth_3: dp1 { status = "ok"; devname = "eth3"; mac-address = [000000000000]; qcom,phy-mdio-addr = <1>; }; mdio: mdio@90000 { #address-cells = <0x1>; #size-cells = <0x0>; status = "ok"; pinctrl-0 = <&mdio_pins>; pinctrl-names = "default"; /* Do not touch AQR Reset, as its FW is lost otherwise */ phy-reset-gpio = <&tlmm 15 GPIO_ACTIVE_LOW>; /* MHT Reset */ phyaddr_fixup = <0xC90F018>; uniphyaddr_fixup = <0xC90F014>; mdio_clk_fixup; /* MDIO clock sequence fix up flag */ phy0: ethernet-phy@0 { reg = <1>; fixup; }; phy1: ethernet-phy@1 { reg = <2>; fixup; }; phy2: ethernet-phy@2 { reg = <3>; fixup; }; phy3: ethernet-phy@3 { reg = <4>; fixup; }; phy4: ethernet-phy@4 { reg = <8>; compatible ="ethernet-phy-ieee802.3-c45"; }; phy5: ethernet-phy@5 { reg = <0>; compatible ="ethernet-phy-ieee802.3-c45"; }; }; ess-instance { num_devices = <0x1>; ess-switch@3a000000 { switch_cpu_bmp = <0x1>; /* cpu port bitmap */ switch_lan_bmp = <0x2e>; /* lan port bitmap */ switch_wan_bmp = <0x40>; /* wan port bitmap */ switch_mac_mode = <0x15>; /* mac mode for uniphy instance0*/ switch_mac_mode1 = <0xd>; /* mac mode for uniphy instance1*/ switch_mac_mode2 = <0xd>; /* mac mode for uniphy instance2*/ bm_tick_mode = <0>; /* bm tick mode */ tm_tick_mode = <1>; /* tm tick mode */ qcom,port_phyinfo { port@0 { port_id = <1>; phy_address = <1>; }; port@1 { port_id = <2>; phy_address = <2>; }; port@2 { port_id = <3>; phy_address = <3>; }; port@3 { port_id = <5>; phy_address = <8>; ethernet-phy-ieee802.3-c45; }; port@4 { port_id = <6>; phy_address = <0>; ethernet-phy-ieee802.3-c45; }; }; }; }; pcie0_x1: pci@28000000 { perst-gpio = <&tlmm 23 1>; status = "ok"; max-payload-size = <1>; pcie0_rp { #address-cells = <5>; #size-cells = <0>; reg = <0 0 0 0 0>; wifi@0 { reg = <0 0 0 0 0>; license-file = "qcn9224/license.dat"; qrtr_node_id = <0x30>; memory-region = <0>,<&mhi_region0>; qti,disable-rddm-prealloc; qti,rddm-seg-len = <0x1000>; status = "ok"; }; }; }; pcie0_phy: phy@84000 { status = "ok"; }; pcie1_x1: pci@10000000 { status = "disabled"; }; pcie1_phy: phy@fc000 { status = "disabled"; }; pcie2_x2: pci@20000000 { status = "disabled"; }; pcie2_phy: phy@8c000 { status = "disabled"; }; }; avm-usb-en-gpio { compatible = "avm,gpio-aggregator"; pinctrl-0 = <&usb_pw_en_pins>; pinctrl-names = "default"; gpios = <&tlmm 12 GPIO_ACTIVE_HIGH>; gpio-line-names = "usb-pwr-en"; }; }; &edma { /delete-property/ qcom,ppeds-num; /delete-property/ interrupts; qcom,ppeds-num = <1>; /* Number of PPEDS nodes */ /* PPE-DS node format: */ qcom,ppeds-map = <1 1 1 1 32 8>; /* PPEDS Node#0 ring and queue map */ interrupts = <0 367 4>, /* Tx complete ring id #4 IRQ info */ <0 368 4>, /* Tx complete ring id #5 IRQ info */ <0 369 4>, /* Tx complete ring id #6 IRQ info */ <0 370 4>, /* Tx complete ring id #7 IRQ info */ <0 371 4>, /* Tx complete ring id #8 IRQ info */ <0 372 4>, /* Tx complete ring id #9 IRQ info */ <0 373 4>, /* Tx complete ring id #10 IRQ info */ <0 374 4>, /* Tx complete ring id #11 IRQ info */ <0 375 4>, /* Tx complete ring id #12 IRQ info */ <0 376 4>, /* Tx complete ring id #13 IRQ info */ <0 377 4>, /* Tx complete ring id #14 IRQ info */ <0 378 4>, /* Tx complete ring id #15 IRQ info */ <0 379 4>, /* Tx complete ring id #16 IRQ info */ <0 380 4>, /* Tx complete ring id #17 IRQ info */ <0 381 4>, /* Tx complete ring id #18 IRQ info */ <0 382 4>, /* Tx complete ring id #19 IRQ info */ <0 383 4>, /* Tx complete ring id #20 IRQ info */ <0 384 4>, /* Tx complete ring id #21 IRQ info */ <0 509 4>, /* Tx complete ring id #22 IRQ info */ <0 508 4>, /* Tx complete ring id #23 IRQ info */ <0 507 4>, /* Tx complete ring id #24 IRQ info */ <0 506 4>, /* Tx complete ring id #25 IRQ info */ <0 505 4>, /* Tx complete ring id #26 IRQ info */ <0 504 4>, /* Tx complete ring id #27 IRQ info */ <0 503 4>, /* Tx complete ring id #28 IRQ info */ <0 502 4>, /* Tx complete ring id #29 IRQ info */ <0 501 4>, /* Tx complete ring id #30 IRQ info */ <0 500 4>, /* Tx complete ring id #31 IRQ info */ <0 351 4>, /* Rx desc ring id #20 IRQ info */ <0 352 4>, /* Rx desc ring id #21 IRQ info */ <0 353 4>, /* Rx desc ring id #22 IRQ info */ <0 354 4>, /* Rx desc ring id #23 IRQ info */ <0 261 4>, /* Misc error IRQ info */ <0 364 4>, /* PPEDS Node #0(TxComp ring id #1) TxComplete IRQ info */ <0 332 4>, /* PPEDS Node #0(Rx Desc ring id #1) Rx Desc IRQ info */ <0 356 4>; /* PPEDS Node #0(RxFill Desc ring id #1) Rx Fill IRQ info */ }; &q6_region { status = "ok"; }; &m3_dump { status = "ok"; }; &q6_etr_region { status = "ok"; }; &q6_caldb_region { status = "ok"; }; &wifi0 { qcom,board_id = <0x10>; status = "ok"; }; &qcn9224_pcie0 { status = "ok"; }; &mhi_region0 { status = "ok"; size = <0x0 0x00f00000>; }; &mlo_global_mem0 { size = <0x0 0xD00000>; status = "ok"; }; &wifi4 { hremote_node = <&qcn9224_pcie0>; board_id = <0x0002>; status = "ok"; }; &i2c_1 { pinctrl-0 = <&i2c_1_pins>; pinctrl-names = "default"; status = "ok"; ina236@40 { compatible = "ti,ina236"; reg = <0x40>; pinctrl-0 = <&ina2xx_alert_pin>; pinctrl-names = "default"; shunt-resistor = <15000>; interrupts-extended = <&tlmm 32 IRQ_TYPE_EDGE_FALLING>; interrupt-names = "alert"; alert-type = <12>; /* bus undervoltage */ alert-limit = <10800>; /* 10,8V */ }; }; &pwm { pinctrl-0 = <&avm_pwm_pins>; used-pwm-indices = <0>, <0>, <0>, <1>; pinctrl-names = "default"; #pwm-cells = <2>; status = "ok"; }; /* start of pcmlink */ &lpass { status = "ok"; }; &pcm_avm { status = "ok"; }; /* end of pcmlink */ /* Remove unused AVM special MAC address definitions */ /delete-node/ &avm_mac_addr_macrouter_3;