// SPDX-License-Identifier: GPL-2.0-or-later OR MIT #include "mt7621.dtsi" #include #include #include / { compatible = "keenetic,kn-1910", "mediatek,mt7621-soc"; model = "Keenetic KN-1910"; aliases { led-boot = &led_power; led-failsafe = &led_power; led-running = &led_power; led-upgrade = &led_power; label-mac-device = &gmac0; }; reg_usb_vbus: regulator-usb { compatible = "regulator-fixed"; regulator-name = "usb_vbus"; regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; gpios = <&gpio 5 GPIO_ACTIVE_HIGH>; enable-active-high; }; reg_3p3v: regulator-3p3v { compatible = "regulator-fixed"; regulator-name = "fixed-3.3V"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; gpios = <&gpio 11 GPIO_ACTIVE_HIGH>; enable-active-high; }; keys { compatible = "gpio-keys"; restart { label = "restart"; gpios = <&gpio 6 GPIO_ACTIVE_LOW>; linux,code = ; }; wps { label = "wps"; gpios = <&gpio 12 GPIO_ACTIVE_LOW>; linux,code = ; }; fn1 { label = "fn1"; gpios = <&gpio 10 GPIO_ACTIVE_LOW>; linux,code = ; }; fn2 { label = "fn2"; gpios = <&gpio 7 GPIO_ACTIVE_LOW>; linux,code = ; }; }; leds { compatible = "gpio-leds"; led_power: power { function = LED_FUNCTION_POWER; color = ; gpios = <&gpio 9 GPIO_ACTIVE_HIGH>; }; internet { function = LED_FUNCTION_WAN; color = ; gpios = <&gpio 17 GPIO_ACTIVE_HIGH>; }; fn { function = LED_FUNCTION_WLAN_2GHZ; color = ; gpios = <&gpio 13 GPIO_ACTIVE_HIGH>; linux,default-trigger = "phy0tpt"; }; wifi { function = LED_FUNCTION_WLAN_5GHZ; color = ; gpios = <&gpio 15 GPIO_ACTIVE_HIGH>; linux,default-trigger = "phy1tpt"; }; }; virtual_flash { compatible = "mtd-concat"; devices = <&firmware1 &firmware2 &storage_a &storage_b>; partitions { compatible = "fixed-partitions"; #address-cells = <1>; #size-cells = <1>; partition@0 { label = "kernel"; reg = <0x0 0x400000>; }; partition@400000 { label = "ubi"; reg = <0x400000 0x7540000>; }; }; }; }; &xhci { vbus-supply = <®_usb_vbus>; vusb33-supply = <®_3p3v>; }; &nand { status = "okay"; partitions { compatible = "fixed-partitions"; #address-cells = <1>; #size-cells = <1>; partition@0 { label = "U-Boot"; reg = <0x0 0x80000>; read-only; }; partition@80000 { label = "U-Config"; reg = <0x80000 0x80000>; read-only; }; partition@100000 { label = "RF-EEPROM"; reg = <0x100000 0x80000>; read-only; nvmem-layout { compatible = "fixed-layout"; #address-cells = <1>; #size-cells = <1>; eeprom_factory_0: eeprom@0 { reg = <0x0 0x4da8>; }; macaddr_factory_4: macaddr@4 { reg = <0x4 0x6>; }; macaddr_factory_28: macaddr@28 { reg = <0x28 0x6>; }; }; }; firmware1: partition@180000 { label = "Firmware_1"; reg = <0x180000 0x1bc0000>; }; partition@1d40000 { label = "Config_1"; reg = <0x1d40000 0x80000>; read-only; }; partition@1dc0000 { label = "Storage_Legacy"; reg = <0x1dc0000 0x200000>; read-only; }; partition@1fc0000 { label = "Dump"; reg = <0x1fc0000 0x40000>; read-only; }; storage_a: partition@2000000 { label = "Storage_A"; reg = <0x2000000 0x1fc0000>; }; partition@3fc0000 { label = "U-State"; reg = <0x3fc0000 0x80000>; read-only; }; partition@4040000 { label = "U-Config_res"; reg = <0x4040000 0x80000>; read-only; }; partition@40c0000 { label = "RF-EEPROM_res"; reg = <0x40c0000 0x80000>; read-only; }; firmware2: partition@4140000 { label = "Firmware_2"; reg = <0x4140000 0x1bc0000>; }; partition@5d00000 { label = "Config_2"; reg = <0x5d00000 0x80000>; read-only; }; storage_b: partition@5d80000 { label = "Storage_B"; reg = <0x5d80000 0x2200000>; }; }; }; &pcie { status = "okay"; }; &pcie0 { wifi@0,0 { compatible = "mediatek,mt76"; reg = <0x0000 0 0 0 0>; nvmem-cells = <&eeprom_factory_0>; nvmem-cell-names = "eeprom"; }; }; ðphy0 { /delete-property/ interrupts; }; &gmac0 { nvmem-cells = <&macaddr_factory_4>; nvmem-cell-names = "mac-address"; }; &gmac1 { status = "okay"; label = "wan"; phy-handle = <ðphy0>; nvmem-cells = <&macaddr_factory_28>; nvmem-cell-names = "mac-address"; }; &switch0 { ports { port@1 { status = "okay"; }; port@2 { status = "okay"; }; port@3 { status = "okay"; }; port@4 { status = "okay"; }; }; };