From 35a8657a404a78a01a886a3f82f903ea345137e6 Mon Sep 17 00:00:00 2001 From: Kevin Darbyshire-Bryant Date: Mon, 27 Apr 2020 21:28:42 +0100 Subject: [PATCH 01/11] build: prereq: change minimum make version to 3.82 undefine was added in make 3.82 which is now some 10 years ago, some make scripts are beginning to use 'undefine' Signed-off-by: Kevin Darbyshire-Bryant --- include/prereq-build.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/prereq-build.mk b/include/prereq-build.mk index 830a9eff9a..801d2e20b7 100644 --- a/include/prereq-build.mk +++ b/include/prereq-build.mk @@ -14,8 +14,8 @@ PKG_NAME:=Build dependency # Required for the toolchain $(eval $(call TestHostCommand,working-make, \ - Please install GNU make v3.81 or later. (This version has bugs), \ - $(MAKE) -v | grep -E 'Make (3\.8[1-9]|3\.9[0-9]|[4-9]\.)')) + Please install GNU make v3.82 or later. (This version has bugs), \ + $(MAKE) -v | grep -E 'Make (3\.8[2-9]|3\.9[0-9]|[4-9]\.)')) $(eval $(call TestHostCommand,case-sensitive-fs, \ OpenWrt can only be built on a case-sensitive filesystem, \ From 3f660249e668d25dec65af3b2259433ed17046c1 Mon Sep 17 00:00:00 2001 From: David Bauer Date: Sun, 26 Apr 2020 19:42:29 +0200 Subject: [PATCH 02/11] kernel: hwmon: add Analog Devices AD741x support Signed-off-by: David Bauer --- package/kernel/linux/modules/hwmon.mk | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/package/kernel/linux/modules/hwmon.mk b/package/kernel/linux/modules/hwmon.mk index 159c0eac9a..0b9e9d8b13 100644 --- a/package/kernel/linux/modules/hwmon.mk +++ b/package/kernel/linux/modules/hwmon.mk @@ -29,6 +29,20 @@ define AddDepends/hwmon DEPENDS:=+kmod-hwmon-core $(1) endef +define KernelPackage/hwmon-ad7418 + TITLE:=AD741x monitoring support + KCONFIG:=CONFIG_SENSORS_AD7418 + FILES:=$(LINUX_DIR)/drivers/hwmon/ad7418.ko + AUTOLOAD:=$(call AutoLoad,60,ad7418 ad7418) + $(call AddDepends/hwmon,+kmod-i2c-core) +endef + +define KernelPackage/hwmon-ad7418/description + Kernel module for Analog Devices AD7416, AD7417 and AD7418 temperature monitor chip +endef + +$(eval $(call KernelPackage,hwmon-ad7418)) + define KernelPackage/hwmon-ads1015 TITLE:=Texas Instruments ADS1015 KCONFIG:= CONFIG_SENSORS_ADS1015 From d9ff49967145600ff4bbc0f4eecef11fd96f6b16 Mon Sep 17 00:00:00 2001 From: Adrian Schmutzler Date: Wed, 29 Apr 2020 18:04:16 +0200 Subject: [PATCH 03/11] kirkwood: disable image for Linksys EA3500 (Audi) Due to the switch to DSA, the kernel image has become too big (2641k) for the kernel partition (2624k) on this device: WARNING: Image file [...]/linux-kirkwood/linksys_audi-uImage is too big Disable the device until this is fixed, so buildbots can continue their work. Signed-off-by: Adrian Schmutzler --- target/linux/kirkwood/image/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/target/linux/kirkwood/image/Makefile b/target/linux/kirkwood/image/Makefile index 4ba9f9a1b2..e69e3f125d 100644 --- a/target/linux/kirkwood/image/Makefile +++ b/target/linux/kirkwood/image/Makefile @@ -91,6 +91,7 @@ define Device/linksys_audi UBINIZE_OPTS := -E 5 IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi BOARD_NAME := linksys-audi + DEFAULT := n endef TARGET_DEVICES += linksys_audi From 447d335d0018171645fd26a46a41a20f57b13378 Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Wed, 29 Apr 2020 19:48:52 +0100 Subject: [PATCH 04/11] ugps: nmea: fix time comparision Fix bug causing system time to be set over and over again, and causing massive log pollution. Signed-off-by: Daniel Golle --- package/utils/ugps/Makefile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/package/utils/ugps/Makefile b/package/utils/ugps/Makefile index 85c64533d1..38433e360f 100644 --- a/package/utils/ugps/Makefile +++ b/package/utils/ugps/Makefile @@ -8,13 +8,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=ugps -PKG_RELEASE:=3 +PKG_RELEASE:=1 PKG_SOURCE_URL=$(PROJECT_GIT)/project/ugps.git PKG_SOURCE_PROTO:=git -PKG_SOURCE_DATE:=2019-06-25 -PKG_SOURCE_VERSION:=cd7eabcd8c9d17dab3946002127a82ad2f9e68c2 -PKG_MIRROR_HASH:=04a5bfa3a67f94d823911751ba4f0dbfd99a2264b393e1e81fdf0641b873d579 +PKG_SOURCE_DATE:=2020-04-29 +PKG_SOURCE_VERSION:=db40e3a22599641be68c88ece287d3fbbacd8a45 +PKG_MIRROR_HASH:=0ad8b1265ef3de880f0d7623bcf504e7976df8ee06d64e92f896f2e2a6030c39 PKG_MAINTAINER:=John Crispin PKG_LICENSE:=GPL-2.0+ From c8b309b53d6739b91d81311e4228f66f31c894f1 Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Tue, 28 Apr 2020 18:19:48 +0100 Subject: [PATCH 05/11] ath79: split Teltonika RUT955 to support other RUT9xx models Split device-tree of Teltonika RUT955 into a generic RUT9xx part and a part specific to that version of RUT955 already supported. Also harmonize GPIO and LED names with what is used by the vendor firmware and assign RS485 DTR signal. Signed-off-by: Daniel Golle --- .../ath79/dts/ar9344_teltonika_rut955.dts | 190 ++---------------- .../ath79/dts/ar9344_teltonika_rut9xx.dtsi | 179 +++++++++++++++++ 2 files changed, 198 insertions(+), 171 deletions(-) create mode 100644 target/linux/ath79/dts/ar9344_teltonika_rut9xx.dtsi diff --git a/target/linux/ath79/dts/ar9344_teltonika_rut955.dts b/target/linux/ath79/dts/ar9344_teltonika_rut955.dts index a8aeef0fa4..53dc7dd9b9 100644 --- a/target/linux/ath79/dts/ar9344_teltonika_rut955.dts +++ b/target/linux/ath79/dts/ar9344_teltonika_rut955.dts @@ -1,63 +1,44 @@ // SPDX-License-Identifier: GPL-2.0-or-later OR MIT /dts-v1/; -#include -#include - -#include "ar9344.dtsi" +#include "ar9344_teltonika_rut9xx.dtsi" / { model = "Teltonika RUT955"; - compatible = "teltonika,rut955", "qca,ar9344"; + compatible = "teltonika,rut955", "teltonika,rut9xx", "qca,ar9344"; aliases { - serial0 = &uart; - serial1 = &hs_uart; led-boot = &led_system_green; led-failsafe = &led_system_red; led-running = &led_system_green; led-upgrade = &led_system_red; - label-mac-device = ð1; - }; - - i2c { - compatible = "i2c-gpio"; - scl-gpios = <&gpio 16 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; - sda-gpios = <&gpio 17 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; - #address-cells = <1>; - #size-cells = <0>; - - hwmon@4d { - compatible = "microchip,mcp3221"; - reg = <0x4d>; - }; }; leds { compatible = "gpio-leds"; + signal0 { + label = "rut955:green:signal0"; + gpios = <&gpio_ext 0 GPIO_ACTIVE_HIGH>; + }; + signal1 { label = "rut955:green:signal1"; - gpios = <&gpio_ext 0 GPIO_ACTIVE_HIGH>; + gpios = <&gpio_ext 1 GPIO_ACTIVE_HIGH>; }; signal2 { label = "rut955:green:signal2"; - gpios = <&gpio_ext 1 GPIO_ACTIVE_HIGH>; + gpios = <&gpio_ext 2 GPIO_ACTIVE_HIGH>; }; signal3 { label = "rut955:green:signal3"; - gpios = <&gpio_ext 2 GPIO_ACTIVE_HIGH>; + gpios = <&gpio_ext 3 GPIO_ACTIVE_HIGH>; }; signal4 { label = "rut955:green:signal4"; - gpios = <&gpio_ext 3 GPIO_ACTIVE_HIGH>; - }; - - signal5 { - label = "rut955:green:signal5"; gpios = <&gpio_ext 4 GPIO_ACTIVE_HIGH>; }; @@ -72,17 +53,6 @@ default-state = "on"; }; }; - - keys { - compatible = "gpio-keys"; - - reset { - label = "reset"; - linux,code = ; - gpios = <&gpio 15 GPIO_ACTIVE_LOW>; - debounce-interval = <60>; - }; - }; }; &gpio { @@ -169,83 +139,12 @@ }; }; -&ref { - clock-frequency = <40000000>; -}; - -&uart { - status = "okay"; -}; - -&hs_uart { - status = "okay"; - - pinctrl-names = "default"; - pinctrl-0 = <&pmx_uart2>; - - rts-gpios = <&gpio 0 GPIO_ACTIVE_HIGH>; - rs485-rts-active-low; - linux,rs485-enabled-at-boot-time; -}; - &spi { status = "okay"; num-cs = <3>; pinctrl-names = "default"; - pinctrl-0 = <&pmx_spi>; - - flash@0 { - compatible = "jedec,spi-nor"; - reg = <0>; - spi-max-frequency = <25000000>; - - partitions { - compatible = "fixed-partitions"; - #address-cells = <1>; - #size-cells = <1>; - - partition@0 { - label = "u-boot"; - reg = <0x0 0x20000>; - read-only; - }; - - config: partition@20000 { - label = "config"; - reg = <0x20000 0x10000>; - read-only; - }; - - art: partition@30000 { - label = "art"; - reg = <0x30000 0x10000>; - read-only; - }; - - partition@40000 { - label = "firmware"; - reg = <0x40000 0xf30000>; - compatible = "tplink,firmware"; - }; - - partition@f70000 { - label = "event-log"; - reg = <0xf70000 0x90000>; - read-only; - }; - }; - }; - - microsd@1 { - status = "disabled"; - - compatible = "mmc-spi-slot"; - spi-max-frequency = <25000000>; - reg = <1>; - voltage-ranges = <3200 3400>; - broken-cd; - }; + pinctrl-0 = <&pmx_spi>, <&pmx_spi_ext>; gpio_ext: gpio_ext@2 { compatible = "fairchild,74hc595"; @@ -254,51 +153,16 @@ #gpio-cells = <2>; registers-number = <2>; spi-max-frequency = <10000000>; - gpio-line-names = "led_signal_bar1", "led_signal_bar2", "led_signal_bar3", "led_signal_bar4", - "led_signal_bar5", "led_status_red", "led_status_green", "sim_sel", + gpio-line-names = "signal_bar0", "signal_bar1", "signal_bar2", "signal_bar3", + "signal_bar4", "status_red", "status_green", "sim_sel", "DOUT1", "DOUT2", "modem_vbus", "modem_rst", "DOUT3", "RS485_R", "SDCS", "HWRST"; }; }; -&usb { - #address-cells = <1>; - #size-cells = <0>; - status = "okay"; - - port@1 { - #address-cells = <1>; - #size-cells = <0>; - reg = <1>; - - port@1 { - compatible = "usb-a-connector"; - reg = <1>; - }; - - port@3 { - label = "RS-232 serial adapter"; - reg = <3>; - }; - - port@4 { - label = "internal wwan modem"; - reg = <4>; - }; - }; -}; - -&usb_phy { - status = "okay"; -}; - -&wmac { - status = "okay"; - - mtd-cal-data = <&art 0x1000>; - mtd-mac-address = <&config 0x0>; - mtd-mac-address-increment = <2>; -}; +&hs_uart { + dtr-gpios = <&gpio_ext 13 GPIO_ACTIVE_HIGH>; +} ð0 { status = "okay"; @@ -321,26 +185,10 @@ }; &pinmux { - pmx_spi: spi { - // SPI_CS1 on GPIO 3, 2nd SCK on GPIO 4 - // 2nd MOSI on GPIO 12, SPI_CS2 on GPIO 20 - pinctrl-single,bits = <0x0 0x07000000 0xff000000>, - <0x4 0x0a 0xff>, + pmx_spi_ext: spi_ext { + // 2nd SCK on GPIO 4, 2nd MOSI on GPIO 12, SPI_CS2 on GPIO 20 + pinctrl-single,bits = <0x4 0x0a 0xff>, <0xc 0x0b 0xff>, <0x14 0x08 0xff>; }; - - pmx_leds_switch: leds_switch { - // switch port LEDs on GPIO 1, GPIO 13, GPIO 14 and GPIO 22 - pinctrl-single,bits = <0x0 0x00002d00 0x0000ff00>, - <0xc 0x002c2b00 0x00ffff00>, - <0x14 0x002a0000 0x00ff0000>; - }; - - pmx_uart2: uart2 { - // UART1_DTR on GPIO 0, UART1_RD on GPIO 11, UART1_TD on GPIO 18 - pinctrl-single,bits = <0x0 0x0 0xff>, - <0x10 0x4f000000 0xff000000>, - <0x3c 0x000b0000 0x00ff0000>; - }; }; diff --git a/target/linux/ath79/dts/ar9344_teltonika_rut9xx.dtsi b/target/linux/ath79/dts/ar9344_teltonika_rut9xx.dtsi new file mode 100644 index 0000000000..0025e5d8b0 --- /dev/null +++ b/target/linux/ath79/dts/ar9344_teltonika_rut9xx.dtsi @@ -0,0 +1,179 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/dts-v1/; + +#include +#include + +#include "ar9344.dtsi" + +/ { + compatible = "teltonika,rut9xx", "qca,ar9344"; + + aliases { + serial0 = &uart; + serial1 = &hs_uart; + label-mac-device = ð1; + }; + + i2c0: i2c { + compatible = "i2c-gpio"; + scl-gpios = <&gpio 16 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; + sda-gpios = <&gpio 17 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; + #address-cells = <1>; + #size-cells = <0>; + + hwmon@4d { + compatible = "microchip,mcp3221"; + reg = <0x4d>; + }; + }; + + keys { + compatible = "gpio-keys"; + + reset { + label = "reset"; + linux,code = ; + gpios = <&gpio 15 GPIO_ACTIVE_LOW>; + debounce-interval = <60>; + }; + }; +}; + +&ref { + clock-frequency = <40000000>; +}; + +&uart { + status = "okay"; +}; + +&hs_uart { + status = "okay"; + + pinctrl-names = "default"; + pinctrl-0 = <&pmx_uart2>; + + rts-gpios = <&gpio 0 GPIO_ACTIVE_HIGH>; + rs485-rts-active-low; + linux,rs485-enabled-at-boot-time; +}; + +&spi { + status = "okay"; + num-cs = <2>; + pinctrl-names = "default"; + pinctrl-0 = <&pmx_spi>; + + flash@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <25000000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x20000>; + read-only; + }; + + config: partition@20000 { + label = "config"; + reg = <0x20000 0x10000>; + read-only; + }; + + art: partition@30000 { + label = "art"; + reg = <0x30000 0x10000>; + read-only; + }; + + partition@40000 { + label = "firmware"; + reg = <0x40000 0xf30000>; + compatible = "tplink,firmware"; + }; + + partition@f70000 { + label = "event-log"; + reg = <0xf70000 0x90000>; + read-only; + }; + }; + }; + + microsd@1 { + status = "disabled"; + + compatible = "mmc-spi-slot"; + spi-max-frequency = <25000000>; + reg = <1>; + voltage-ranges = <3200 3400>; + broken-cd; + }; +}; + +&usb { + #address-cells = <1>; + #size-cells = <0>; + status = "okay"; + + port@1 { + #address-cells = <1>; + #size-cells = <0>; + reg = <1>; + + port@1 { + compatible = "usb-a-connector"; + reg = <1>; + }; + + port@3 { + label = "RS-232 serial adapter"; + reg = <3>; + }; + + port@4 { + label = "internal wwan modem"; + reg = <4>; + }; + }; +}; + +&usb_phy { + status = "okay"; +}; + +&wmac { + status = "okay"; + + mtd-cal-data = <&art 0x1000>; + mtd-mac-address = <&config 0x0>; + mtd-mac-address-increment = <2>; +}; + +&pinmux { + pmx_spi: spi { + // SPI_CS1 on GPIO 3 + pinctrl-single,bits = <0x0 0x07000000 0xff000000>; + }; + + pmx_leds_switch: leds_switch { + // switch port LEDs on GPIO 1, GPIO 13, GPIO 14 and GPIO 22 + pinctrl-single,bits = <0x0 0x00002d00 0x0000ff00>, + <0xc 0x002c2b00 0x00ffff00>, + <0x14 0x002a0000 0x00ff0000>; + }; + + pmx_uart2: uart2 { + // UART1_DTR on GPIO 0, UART1_RD on GPIO 11, UART1_TD on GPIO 18 + pinctrl-single,bits = <0x0 0x0 0xff>, + <0x10 0x4f000000 0xff000000>, + <0x3c 0x000b0000 0x00ff0000>; + }; +}; From aa4a33ac6256fadd7201908dad1be9659b942ecd Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Wed, 29 Apr 2020 20:59:04 +0100 Subject: [PATCH 06/11] ath79: add support for Teltonika RUT955 H7V3C0 This board was previously supported in ar71xx as 'RUT9XX'. The difference between that and the other RUT955 board already supported in ath79 is that instead of the SPI shift registers driving the LEDs and digital outputs that model got an I2C GPIO expander instead. To support LEDs during early boot and interrupt-driven digital inputs, I2C support as well as support for PCA953x has to be built-in and cannot be kernel modules, hence select those symbols for ath79/generic. Specification: - 550/400/200 MHz (CPU/DDR/AHB) - 128 MB of RAM (DDR2) - 16 MB of FLASH (SPI NOR) - 4x 10/100 Mbps Ethernet, with passive PoE support on LAN1 - 2T2R 2,4 GHz (AR9344) - built-in 4G/3G module (example: Quectel EC-25EU) - internal microSD slot (spi-mmc, buggy and disabled for now) - RS232 on D-Sub9 port (Cypress ACM via USB, /dev/ttyACM0) - RS422/RS485 (AR934x high speed UART, /dev/ttyATH1) - analog 0-24V input (MCP3221) - various digital inputs and outputs incl. a relay - 11x LED (4 are driven by AR9344, 7 by PCA9539) - 2x miniSIM slot (can be swapped via GPIO) - 2x RP-SMA/F (Wi-Fi), 3x SMA/F (2x WWAN, GPS) - 1x button (reset) - DC jack for main power input (9-30 V) - debugging UART available on PCB edge connector Serial console (/dev/ttyS0) pinout: - RX: pin1 (square) on top side of the main PCB (AR9344 is on top) - TX: pin1 (square) on bottom side Flash instruction: Vendor firmware is based on OpenWrt CC release. Use the "factory" image directly in GUI (make sure to uncheck "keep settings") or in U-Boot web based recovery. To avoid any problems, make sure to first update vendor firmware to latest version - "factory" image was successfully tested on device running "RUT9XX_R_00.06.051" firmware and U-Boot "3.0.1". Signed-off-by: Daniel Golle --- .../dts/ar9344_teltonika_rut955-h7v3c0.dts | 197 ++++++++++++++++++ .../generic/base-files/etc/board.d/02_network | 3 +- .../base-files/etc/board.d/03_gpio_switches | 8 + target/linux/ath79/generic/config-default | 6 + target/linux/ath79/image/generic.mk | 6 + 5 files changed, 219 insertions(+), 1 deletion(-) create mode 100644 target/linux/ath79/dts/ar9344_teltonika_rut955-h7v3c0.dts diff --git a/target/linux/ath79/dts/ar9344_teltonika_rut955-h7v3c0.dts b/target/linux/ath79/dts/ar9344_teltonika_rut955-h7v3c0.dts new file mode 100644 index 0000000000..426c6ac179 --- /dev/null +++ b/target/linux/ath79/dts/ar9344_teltonika_rut955-h7v3c0.dts @@ -0,0 +1,197 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/dts-v1/; + +#include "ar9344_teltonika_rut9xx.dtsi" +#include + +/ { + model = "Teltonika RUT955 H7V3C0"; + compatible = "teltonika,rut955-h7v3c0", "teltonika,rut9xx", "qca,ar9344"; + + aliases { + led-boot = &led_system_green; + led-failsafe = &led_system_red; + led-running = &led_system_green; + led-upgrade = &led_system_red; + }; + + leds { + compatible = "gpio-leds"; + + signal0 { + label = "rut955:green:signal0"; + gpios = <&gpio_ext 0 GPIO_ACTIVE_HIGH>; + }; + + signal1 { + label = "rut955:green:signal1"; + gpios = <&gpio_ext 1 GPIO_ACTIVE_HIGH>; + }; + + signal2 { + label = "rut955:green:signal2"; + gpios = <&gpio_ext 2 GPIO_ACTIVE_HIGH>; + }; + + signal3 { + label = "rut955:green:signal3"; + gpios = <&gpio_ext 3 GPIO_ACTIVE_HIGH>; + }; + + signal4 { + label = "rut955:green:signal4"; + gpios = <&gpio_ext 4 GPIO_ACTIVE_HIGH>; + }; + + led_system_red: system_red { + label = "rut955:red:system"; + gpios = <&gpio_ext 5 GPIO_ACTIVE_HIGH>; + }; + + led_system_green: system_green { + label = "rut955:green:system"; + gpios = <&gpio_ext 6 GPIO_ACTIVE_HIGH>; + default-state = "on"; + }; + }; +}; + +&gpio { + pinctrl-names = "default"; + pinctrl-0 = <&jtag_disable_pins>; + + gpio-line-names = "RS485_D", "led_wan", "wmac_lna", "mmc_cs", + "EXT_INT", "", "", "", + "", "", "", "", + "", "led_lan2", "led_lan1", "", + "i2c_scl", "i2c_sda", "", "", + "", "", "led_lan3", "", + "", "", "", "", + "", "", "", ""; + + ext_lna { + gpio-hog; + gpios = <2 GPIO_ACTIVE_HIGH>; + output-high; + line-name = "rut955:wmac:ext_lna"; + }; + + mmc_cs { + gpio-hog; + gpios = <3 GPIO_ACTIVE_HIGH>; + output-high; + line-name = "rut955:mmc:cs"; + }; + + ext_int { + gpio-hog; + gpios = <4 GPIO_ACTIVE_LOW>; + input; + line-name = "rut955:ext:int"; + }; + + uart1_td { + gpio-hog; + gpios = <18 GPIO_ACTIVE_HIGH>; + output-high; + line-name = "rut955:uart1:td"; + }; + + uart1_rd { + gpio-hog; + gpios = <11 GPIO_ACTIVE_LOW>; + input; + line-name = "rut955:uart1:rd"; + }; + + led_wan { + gpio-hog; + gpios = <1 GPIO_ACTIVE_HIGH>; + output-high; + line-name = "rut955:led:wan"; + }; + + led_lan2 { + gpio-hog; + gpios = <13 GPIO_ACTIVE_HIGH>; + output-high; + line-name = "rut955:led:lan2"; + }; + + led_lan1 { + gpio-hog; + gpios = <14 GPIO_ACTIVE_HIGH>; + output-high; + line-name = "rut955:led:lan1"; + }; + + led_lan3 { + gpio-hog; + gpios = <22 GPIO_ACTIVE_HIGH>; + output-high; + line-name = "rut955:led:lan3"; + }; +}; + +&i2c0 { + gpio_ext: gpio_ext@74 { + status = "okay"; + + compatible = "nxp,pca9539"; + reg = <0x74>; + + #address-cells = <1>; + #size-cells = <0>; + + gpio-controller; + #gpio-cells = <2>; + + reset-gpios = <&gpio 21 GPIO_ACTIVE_HIGH>; + + interrupt-parent = <&gpio>; + interrupts = <4 IRQ_TYPE_EDGE_FALLING>; + interrupt-controller; + #interrupt-cells = <2>; + + gpio-line-names = "signal_bar0", "signal_bar1", "signal_bar2", "signal_bar3", + "signal_bar4", "status_red", "status_green", "sim_sel", + "DOUT1", "DOUT2", "DIN2", "DIN1", + "MON", "MRST", "SDCD", "RS485_R"; + }; +}; + +&hs_uart { + dtr-gpios = <&gpio_ext 15 GPIO_ACTIVE_HIGH>; +} + +ð0 { + status = "okay"; + + phy-handle = <&swphy4>; + + mtd-mac-address = <&config 0x0>; + mtd-mac-address-increment = <1>; +}; + +ð1 { + status = "okay"; + + mtd-mac-address = <&config 0x0>; +}; + +&builtin_switch { + pinctrl-names = "default"; + pinctrl-0 = <&pmx_leds_switch>; +}; + +&wmac { + pinctrl-names = "default"; + pinctrl-0 = <&pmx_ext_lna>; +}; + +&pinmux { + pmx_ext_lna: ext_lna { + // EXT_LNA0 on GPIO 2 + pinctrl-single,bits = <0x0 0x002e0000 0x00ff0000>; + }; +}; diff --git a/target/linux/ath79/generic/base-files/etc/board.d/02_network b/target/linux/ath79/generic/base-files/etc/board.d/02_network index d7f7eed829..9768e4e076 100755 --- a/target/linux/ath79/generic/base-files/etc/board.d/02_network +++ b/target/linux/ath79/generic/base-files/etc/board.d/02_network @@ -228,7 +228,8 @@ ath79_setup_interfaces() ucidef_add_switch "switch0" \ "0@eth0" "1:lan" "2:lan" "3:wan" ;; - teltonika,rut955) + teltonika,rut955|\ + teltonika,rut955-h7v3c0) ucidef_set_interface_wan "eth1" ucidef_add_switch "switch0" \ "0@eth0" "2:lan:3" "3:lan:2" "4:lan:1" diff --git a/target/linux/ath79/generic/base-files/etc/board.d/03_gpio_switches b/target/linux/ath79/generic/base-files/etc/board.d/03_gpio_switches index 051c468f87..66b2a3e1d8 100755 --- a/target/linux/ath79/generic/base-files/etc/board.d/03_gpio_switches +++ b/target/linux/ath79/generic/base-files/etc/board.d/03_gpio_switches @@ -50,6 +50,14 @@ teltonika,rut955) ucidef_add_gpio_switch "modem_rst" "Modem reset" "507" "0" ucidef_add_gpio_switch "DOUT3" "DOUT3" "508" "0" ;; +teltonika,rut955-h7v3c0) + ucidef_add_gpio_switch "sim_sel" "SIM select" "503" "1" + ucidef_add_gpio_switch "DOUT1" "DOUT1 (OC)" "504" "0" + ucidef_add_gpio_switch "DOUT2" "DOUT2 (Relay)" "505" "0" + ucidef_add_gpio_switch "modem_vbus" "Modem enable" "508" "1" + ucidef_add_gpio_switch "modem_rst" "Modem reset" "509" "0" + ;; + tplink,archer-c25-v1) ucidef_add_gpio_switch "led_control" "LED control" "21" "0" ucidef_add_gpio_switch "led_reset" "LED reset" "19" "1" diff --git a/target/linux/ath79/generic/config-default b/target/linux/ath79/generic/config-default index 5459bafd7d..d49df6bbee 100644 --- a/target/linux/ath79/generic/config-default +++ b/target/linux/ath79/generic/config-default @@ -1,8 +1,14 @@ CONFIG_AT803X_PHY=y CONFIG_BCM_NET_PHYLIB=y CONFIG_BROADCOM_PHY=y +CONFIG_GPIO_PCA953X=y +CONFIG_GPIO_PCA953X_IRQ=y CONFIG_GPIO_WATCHDOG=y CONFIG_GPIO_WATCHDOG_ARCH_INITCALL=y +CONFIG_I2C=y +CONFIG_I2C_ALGOBIT=y +CONFIG_I2C_CHARDEV=y +CONFIG_I2C_GPIO=y CONFIG_INTEL_XWAY_PHY=y CONFIG_IP17XX_PHY=y CONFIG_LEDS_RESET=y diff --git a/target/linux/ath79/image/generic.mk b/target/linux/ath79/image/generic.mk index 321615f014..8d8767ddf6 100644 --- a/target/linux/ath79/image/generic.mk +++ b/target/linux/ath79/image/generic.mk @@ -1158,6 +1158,12 @@ define Device/teltonika_rut955 endef TARGET_DEVICES += teltonika_rut955 +define Device/teltonika_rut955-h7v3c0 + $(Device/teltonika_rut955) + DEVICE_VARIANT := H7V3C0 +endef +TARGET_DEVICES += teltonika_rut955-h7v3c0 + define Device/trendnet_tew-823dru SOC := qca9558 DEVICE_VENDOR := Trendnet From aa0526b5f27c9c9edad719dd9c521ef4dae10a00 Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Wed, 29 Apr 2020 21:59:35 +0100 Subject: [PATCH 07/11] ath79: fix dts of Teltonika RUT9xx devices The previous commits were missing a semicolon. Signed-off-by: Daniel Golle --- target/linux/ath79/dts/ar9344_teltonika_rut955-h7v3c0.dts | 2 +- target/linux/ath79/dts/ar9344_teltonika_rut955.dts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/target/linux/ath79/dts/ar9344_teltonika_rut955-h7v3c0.dts b/target/linux/ath79/dts/ar9344_teltonika_rut955-h7v3c0.dts index 426c6ac179..862776a4d1 100644 --- a/target/linux/ath79/dts/ar9344_teltonika_rut955-h7v3c0.dts +++ b/target/linux/ath79/dts/ar9344_teltonika_rut955-h7v3c0.dts @@ -162,7 +162,7 @@ &hs_uart { dtr-gpios = <&gpio_ext 15 GPIO_ACTIVE_HIGH>; -} +}; ð0 { status = "okay"; diff --git a/target/linux/ath79/dts/ar9344_teltonika_rut955.dts b/target/linux/ath79/dts/ar9344_teltonika_rut955.dts index 53dc7dd9b9..c4e1148734 100644 --- a/target/linux/ath79/dts/ar9344_teltonika_rut955.dts +++ b/target/linux/ath79/dts/ar9344_teltonika_rut955.dts @@ -162,7 +162,7 @@ &hs_uart { dtr-gpios = <&gpio_ext 13 GPIO_ACTIVE_HIGH>; -} +}; ð0 { status = "okay"; From b17a5a9bdb9f6f5ff73ceee0265b3f5de943d1bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20=C5=A0tetiar?= Date: Tue, 28 Apr 2020 17:00:58 +0200 Subject: [PATCH 08/11] dnsmasq: always inform about disabled dhcp service MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Init script checks for an already active DHCP server on the interface and if such DHCP server is found, then it logs "refusing to start DHCP" message, starts dnsmasq without DHCP service unless `option force 1` is set and caches the DHCP server check result. Each consecutive service start then uses this cached DHCP server check result, but doesn't provide log feedback about disabled DHCP service anymore. So this patch ensures, that the log message about disabled DHCP service on particular interface is always provided. Acked-by: Hans Dedecker Signed-off-by: Petr Štetiar --- package/network/services/dnsmasq/files/dnsmasq.init | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/package/network/services/dnsmasq/files/dnsmasq.init b/package/network/services/dnsmasq/files/dnsmasq.init index 1051087e05..9288971426 100644 --- a/package/network/services/dnsmasq/files/dnsmasq.init +++ b/package/network/services/dnsmasq/files/dnsmasq.init @@ -110,11 +110,6 @@ dhcp_check() { udhcpc -n -q -s /bin/true -t 1 -i "$ifname" >&- && rv=1 || rv=0 - [ $rv -eq 1 ] && \ - logger -t dnsmasq \ - "found already running DHCP-server on interface '$ifname'" \ - "refusing to start, use 'option force 1' to override" - echo $rv > "$stamp" return $rv } @@ -517,7 +512,12 @@ dhcp_add() { #check for an already active dhcp server on the interface, unless 'force' is set config_get_bool force "$cfg" force 0 - [ $force -gt 0 ] || dhcp_check "$ifname" || return 0 + [ $force -gt 0 ] || dhcp_check "$ifname" || { + logger -t dnsmasq \ + "found already running DHCP-server on interface '$ifname'" \ + "refusing to start, use 'option force 1' to override" + return 0 + } config_get start "$cfg" start 100 config_get limit "$cfg" limit 150 From 8036e7ebb53fc8125e985ef4e238970aeaaaed18 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20=C5=A0tetiar?= Date: Wed, 29 Apr 2020 17:13:29 +0200 Subject: [PATCH 09/11] ath10k-ct: update to version 2020-04-29 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Pulls in workaround for TX rate code firmware bug which might as well help track it down via different printk()s and thus possibly provide more clue for proper fix. Firmware currently sends wrong (0xff) TX rate code which causes WARN_ONCE, so the workaround just changes this bogus value (0xff) into 0. For 5.4 it also pulls in tx-queue-wake throttling patch "ath10k: Restart xmit queues below low-water mark", which should improve performance with high number of concurrent TCP streams. Ref: https://github.com/greearb/ath10k-ct/pull/129 Signed-off-by: Petr Štetiar --- package/kernel/ath10k-ct/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package/kernel/ath10k-ct/Makefile b/package/kernel/ath10k-ct/Makefile index c4a55b6af5..16930a13a8 100644 --- a/package/kernel/ath10k-ct/Makefile +++ b/package/kernel/ath10k-ct/Makefile @@ -8,9 +8,9 @@ PKG_LICENSE_FILES:= PKG_SOURCE_URL:=https://github.com/greearb/ath10k-ct.git PKG_SOURCE_PROTO:=git -PKG_SOURCE_DATE:=2020-03-25 -PKG_SOURCE_VERSION:=3d173a471d3e583f2885ce68190c4387424cecc5 -PKG_MIRROR_HASH:=496279322f3cd26b262d4999cb5a8c1ea022e92a7bb0d43d008bce235abb9a65 +PKG_SOURCE_DATE:=2020-04-29 +PKG_SOURCE_VERSION:=3637be6f6baf99e85a7f0b27f80a99a2f2a5f78d +PKG_MIRROR_HASH:=97cf22a4a57381c7eb7a9b8a8b1e347e9711ce51c89db971b4ab9a35af476ece # Build the 5.4 ath10k-ct driver version. Other option is "-4.19". # Probably this should match as closely as From 493eef5b279a0455b76bfacabdec3af8bf642385 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20=C5=A0tetiar?= Date: Wed, 29 Apr 2020 23:11:05 +0200 Subject: [PATCH 10/11] wireless-regdb: bump to latest release 2020-04-29 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Update to latest release. Signed-off-by: Petr Štetiar --- package/firmware/wireless-regdb/Makefile | 4 +- ...regdb-fix-compatibility-with-python2.patch | 58 -- ...ix-overlapping-ranges-for-Switzerlan.patch | 47 - ...ix-ranges-of-EU-countries-as-they-ar.patch | 843 ------------------ ...pdate-regulatory-rules-for-Russia-RU.patch | 44 - 5 files changed, 2 insertions(+), 994 deletions(-) delete mode 100644 package/firmware/wireless-regdb/patches/010-regdb-fix-compatibility-with-python2.patch delete mode 100644 package/firmware/wireless-regdb/patches/600-wireless-regdb-Fix-overlapping-ranges-for-Switzerlan.patch delete mode 100644 package/firmware/wireless-regdb/patches/601-wireless-regdb-Fix-ranges-of-EU-countries-as-they-ar.patch delete mode 100644 package/firmware/wireless-regdb/patches/602-wireless-regdb-Update-regulatory-rules-for-Russia-RU.patch diff --git a/package/firmware/wireless-regdb/Makefile b/package/firmware/wireless-regdb/Makefile index 86343be04c..fc18d159b1 100644 --- a/package/firmware/wireless-regdb/Makefile +++ b/package/firmware/wireless-regdb/Makefile @@ -1,12 +1,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=wireless-regdb -PKG_VERSION:=2019.06.03 +PKG_VERSION:=2020.04.29 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=@KERNEL/software/network/wireless-regdb/ -PKG_HASH:=cd917ed86b63ce8d93947979f1f18948f03a4ac0ad89ec25227b36ac00dc54bf +PKG_HASH:=89fd031aed5977c219a71501e144375a10e7c90d1005d5d086ea7972886a2c7a PKG_MAINTAINER:=Felix Fietkau diff --git a/package/firmware/wireless-regdb/patches/010-regdb-fix-compatibility-with-python2.patch b/package/firmware/wireless-regdb/patches/010-regdb-fix-compatibility-with-python2.patch deleted file mode 100644 index 81f50f5dc0..0000000000 --- a/package/firmware/wireless-regdb/patches/010-regdb-fix-compatibility-with-python2.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 651e39dee8605995b736b6056c6f7dc5c5a9c948 Mon Sep 17 00:00:00 2001 -From: Johannes Berg -Date: Thu, 22 Aug 2019 21:46:27 +0200 -Subject: [PATCH] regdb: fix compatibility with python2 - -Various changes in the commit mentioned below broke -compatibility with python2. Restore it in a way that -makes it worth with both versions. - -Fixes: f3c4969c2485 ("wireless-regdb: make scripts compatible with Python 3") -Signed-off-by: Johannes Berg -Signed-off-by: Seth Forshee ---- - db2bin.py | 2 +- - db2fw.py | 2 +- - dbparse.py | 3 +-- - 3 files changed, 3 insertions(+), 4 deletions(-) - ---- a/db2bin.py -+++ b/db2bin.py -@@ -118,7 +118,7 @@ reg_country_ptr.set() - for alpha2 in countrynames: - coll = countries[alpha2] - # struct regdb_file_reg_country -- output.write(struct.pack('>BBxBI', alpha2[0], alpha2[1], coll.dfs_region, reg_rules_collections[coll.permissions])) -+ output.write(struct.pack('>2sxBI', alpha2, coll.dfs_region, reg_rules_collections[coll.permissions])) - - - if len(sys.argv) > 3: ---- a/db2fw.py -+++ b/db2fw.py -@@ -85,7 +85,7 @@ countrynames = list(countries) - countrynames.sort() - for alpha2 in countrynames: - coll = countries[alpha2] -- output.write(struct.pack('>BB', alpha2[0], alpha2[1])) -+ output.write(struct.pack('>2s', alpha2)) - country_ptrs[alpha2] = PTR(output) - output.write(b'\x00' * 4) - ---- a/dbparse.py -+++ b/dbparse.py -@@ -1,6 +1,5 @@ - #!/usr/bin/env python - --from builtins import bytes - from functools import total_ordering - import sys, math - from math import ceil, log -@@ -359,7 +358,7 @@ class DBParser(object): - for cname in cnames: - if len(cname) != 2: - self._warn("country '%s' not alpha2" % cname) -- cname = bytes(cname, 'ascii') -+ cname = cname.encode('ascii') - if not cname in self._countries: - self._countries[cname] = Country(dfs_region, comments=self._comments) - self._current_countries[cname] = self._countries[cname] diff --git a/package/firmware/wireless-regdb/patches/600-wireless-regdb-Fix-overlapping-ranges-for-Switzerlan.patch b/package/firmware/wireless-regdb/patches/600-wireless-regdb-Fix-overlapping-ranges-for-Switzerlan.patch deleted file mode 100644 index 6febcc060f..0000000000 --- a/package/firmware/wireless-regdb/patches/600-wireless-regdb-Fix-overlapping-ranges-for-Switzerlan.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Martin Willi -Date: Tue, 2 Jul 2019 16:19:44 +0200 -Subject: [PATCH] wireless-regdb: Fix overlapping ranges for Switzerland and - Liechtenstein - -The commit referenced below changes the 5GHz frequency range 5250-5330 -to 5150-5330, making that range overlapping with the existing range -5170-5250. This imposes DFS limitations and a reduced maximum power -level for the range 5170-5250. - -The change of the frequency range seems not intentional. Instead the -commit should have changed the 5170-5250 range to 5150-5250, and the -5250-5330 range to 5250-5350 (see [1]). - -[1] https://www.ofcomnet.ch/api/rir/1010/05 - -Fixes: 957a7cff72a3 ("wireless-regdb: update regulatory rules for Switzerland (CH), and Liechtenstein (LI) on 5GHz") -Signed-off-by: Martin Willi -Signed-off-by: Seth Forshee - -diff --git a/db.txt b/db.txt -index d47ab94c3aa5..37393e6a793e 100644 ---- a/db.txt -+++ b/db.txt -@@ -271,8 +271,8 @@ country CF: DFS-FCC - # transmitter power control is in use: 5250-5330@23db, 5490-5710@30db - country CH: DFS-ETSI - (2402 - 2482 @ 40), (20) -- (5170 - 5250 @ 80), (23), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI -- (5150 - 5330 @ 80), (20), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI -+ (5150 - 5250 @ 80), (23), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI -+ (5250 - 5350 @ 80), (20), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI - (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) -@@ -747,8 +747,8 @@ country LC: DFS-ETSI - # transmitter power control is in use: 5250-5330@23db, 5490-5710@30db - country LI: DFS-ETSI - (2402 - 2482 @ 40), (20) -- (5170 - 5250 @ 80), (23), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI -- (5150 - 5330 @ 80), (20), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI -+ (5150 - 5250 @ 80), (23), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI -+ (5250 - 5350 @ 80), (20), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI - (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) diff --git a/package/firmware/wireless-regdb/patches/601-wireless-regdb-Fix-ranges-of-EU-countries-as-they-ar.patch b/package/firmware/wireless-regdb/patches/601-wireless-regdb-Fix-ranges-of-EU-countries-as-they-ar.patch deleted file mode 100644 index f9b97bc885..0000000000 --- a/package/firmware/wireless-regdb/patches/601-wireless-regdb-Fix-ranges-of-EU-countries-as-they-ar.patch +++ /dev/null @@ -1,843 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Emil Petersky -Date: Tue, 17 Sep 2019 09:49:19 +0200 -Subject: [PATCH] wireless-regdb: Fix ranges of EU countries as they are - harmonized since 2014 - -This patch unites entries for EU countries, as they have been harmonized -latest by July 2014... - -EU decision 2005/513/EC: -https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02005D0513-20070213 -EU decision 2006/771/EC: -https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02008D0432-20080611 - -Signed-off-by: Emil Petersky -Signed-off-by: Seth Forshee - -diff --git a/db.txt b/db.txt -index 2e149b6e0ea2..a57452479a9b 100644 ---- a/db.txt -+++ b/db.txt -@@ -87,12 +87,20 @@ country AS: DFS-FCC - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -+# AT as part of EU/CEPT accepted decisions 2005/513/EC (5GHz RLAN, EN 301 893) -+# and 2006/771/EC (amended by 2008/432/EC, Short-Range Devices, EN 300 440) -+# EU decision 2005/513/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02005D0513-20070213 -+# EU decision 2006/771/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02008D0432-20080611 -+# AT: https://www.rtr.at/en/tk/Spektrum5GHz/1997_bmvit-info-052010en.pdf -+# AT: acceptance https://www.ris.bka.gv.at/Dokumente/BgblAuth/BGBLA_2014_II_63/BGBLA_2014_II_63.pdfsig - country AT: DFS-ETSI -- (2402 - 2482 @ 40), (20) -- (5170 - 5250 @ 80), (20), AUTO-BW, wmmrule=ETSI -- (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI -- (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI -- # 60 GHz band channels 1-4, ref: Etsi En 302 567 -+ (2400 - 2483.5 @ 40), (100 mW) -+ (5150 - 5250 @ 80), (200 mW), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI -+ (5250 - 5350 @ 80), (100 mW), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI -+ (5470 - 5725 @ 160), (500 mW), DFS, wmmrule=ETSI -+ # short range devices (ETSI EN 300 440-1) -+ (5725 - 5875 @ 80), (25 mW) -+ # 60 GHz band channels 1-4 (ETSI EN 302 567) - (57000 - 66000 @ 2160), (40) - - # Source: -@@ -139,12 +147,22 @@ country BD: DFS-JP - (2402 - 2482 @ 40), (20) - (5735 - 5835 @ 80), (30) - -+# BE as part of EU/CEPT accepted decisions 2005/513/EC (5GHz RLAN, EN 301 893) -+# and 2006/771/EC (amended by 2008/432/EC, Short-Range Devices, EN 300 440) -+# EU decision 2005/513/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02005D0513-20070213 -+# EU decision 2006/771/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02008D0432-20080611 -+# BE: https://www.ibpt.be/public/files/en/21760/B03-01_2.1_EN.pdf -+# BE: https://www.ibpt.be/public/files/en/21761/B03-02_2.1_EN.pdf -+# BE: https://www.ibpt.be/public/files/en/21762/B03-03_2.1_EN.pdf -+# BE: https://www.ibpt.be/public/files/en/22165/B01-28_3.1_EN.pdf - country BE: DFS-ETSI -- (2402 - 2482 @ 40), (20) -- (5170 - 5250 @ 80), (20), AUTO-BW, wmmrule=ETSI -- (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI -- (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI -- # 60 GHz band channels 1-4, ref: Etsi En 302 567 -+ (2400 - 2483.5 @ 40), (100 mW) -+ (5150 - 5250 @ 80), (200 mW), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI -+ (5250 - 5350 @ 80), (100 mW), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI -+ (5470 - 5725 @ 160), (500 mW), DFS, wmmrule=ETSI -+ # short range devices (ETSI EN 300 440-1) -+ (5725 - 5875 @ 80), (25 mW) -+ # 60 GHz band channels 1-4 (ETSI EN 302 567) - (57000 - 66000 @ 2160), (40) - - country BF: DFS-FCC -@@ -167,22 +185,29 @@ country BF: DFS-FCC - # - # Note: The transmit power limits in the 5250-5350 MHz and 5470-5725 MHz bands - # can be raised by 3 dBm if TPC is enabled. Refer to BDS EN 301 893 for details. -+# -+# BG as part of EU/CEPT accepted decisions 2005/513/EC (5GHz RLAN, EN 301 893) -+# and 2006/771/EC (amended by 2008/432/EC, Short-Range Devices, EN 300 440) -+# EU decision 2005/513/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02005D0513-20070213 -+# EU decision 2006/771/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02008D0432-20080611 -+# BG: https://crc.bg/files/_en/Electronic_Communications_Revised_EN1.pdf -+# BG: acceptance of 2006/771/EC https://crc.bg/files/Pravila_06_12_2018.pdf - country BG: DFS-ETSI - # Wideband data transmission systems (WDTS) in the 2.4GHz ISM band, ref: - # I.22 of the List, BDS EN 300 328 -- (2402 - 2482 @ 40), (20) -+ (2400 - 2483.5 @ 40), (100 mW) - # 5 GHz Radio Local Area Networks (RLANs), ref: - # II.H01 of the List, BDS EN 301 893 -- (5170 - 5250 @ 80), (23), AUTO-BW, wmmrule=ETSI -- (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI -+ (5150 - 5250 @ 80), (200 mW), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI -+ (5250 - 5350 @ 80), (100 mW), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI - # II.H01 of the List, I.54 from the List, BDS EN 301 893 -- (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI -- # Short range devices (SRDs) in the 5725-5875 MHz frequency range, ref: -+ (5470 - 5725 @ 160), (500 mW), DFS, wmmrule=ETSI -+ # short range devices (ETSI EN 300 440-1) - # I.43 of the List, BDS EN 300 440-2, BDS EN 300 440-1 -- (5725 - 5875 @ 80), (14) -- # 60 GHz Multiple-Gigabit RLAN Systems, ref: -+ (5725 - 5875 @ 80), (25 mW) -+ # 60 GHz band channels 1-4 (ETSI EN 302 567) - # II.H03 of the List, BDS EN 302 567-2 -- (57000 - 66000 @ 2160), (40), NO-OUTDOOR -+ (57000 - 66000 @ 2160), (40) - - country BH: DFS-JP - (2402 - 2482 @ 40), (20) -@@ -265,16 +290,22 @@ country CF: DFS-FCC - (5490 - 5730 @ 40), (24), DFS - (5735 - 5835 @ 40), (30) - --# Source: --# https://www.ofcomnet.ch/#/fatTable --# Note that the maximum transmitter power can be doubled for 5250-5710MHz if --# transmitter power control is in use: 5250-5330@23db, 5490-5710@30db -+# CH as part of CEPT accepted decisions 2005/513/EC (5GHz RLAN, EN 301 893) -+# and 2006/771/EC (amended by 2008/432/EC, Short-Range Devices, EN 300 440) -+# EU decision 2005/513/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02005D0513-20070213 -+# EU decision 2006/771/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02008D0432-20080611 -+# CH: https://www.ofcomnet.ch/api/rir/1010/05 -+# CH: https://www.ofcomnet.ch/api/rir/1010/04 -+# CH: https://www.ofcomnet.ch/api/rir/1008/12 -+# CH: https://www.ofcomnet.ch/#/fatTable - country CH: DFS-ETSI -- (2402 - 2482 @ 40), (20) -- (5150 - 5250 @ 80), (23), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI -- (5250 - 5350 @ 80), (20), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI -- (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI -- # 60 GHz band channels 1-4, ref: Etsi En 302 567 -+ (2400 - 2483.5 @ 40), (100 mW) -+ (5150 - 5250 @ 80), (200 mW), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI -+ (5250 - 5350 @ 80), (100 mW), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI -+ (5470 - 5725 @ 160), (500 mW), DFS, wmmrule=ETSI -+ # short range devices (ETSI EN 300 440-1) -+ (5725 - 5875 @ 80), (25 mW) -+ # 60 GHz band channels 1-4 (ETSI EN 302 567) - (57000 - 66000 @ 2160), (40) - - country CI: DFS-FCC -@@ -329,26 +360,42 @@ country CX: DFS-FCC - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -+# CY as part of EU/CEPT accepted decisions 2005/513/EC (5GHz RLAN, EN 301 893) -+# and 2006/771/EC (amended by 2008/432/EC, Short-Range Devices, EN 300 440) -+# EU decision 2005/513/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02005D0513-20070213 -+# EU decision 2006/771/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02008D0432-20080611 -+# CY: http://www.mcw.gov.cy/mcw/dec/dec.nsf/all/292484CFC7013DD4C2256EBA0023D447/$file/Sxedio%20Radiosyxnothtwn%20ths%20Dhmokratias-3-8-2018-E2.2(English%20Unified%20Unofficial).pdf?openelement - country CY: DFS-ETSI -- (2402 - 2482 @ 40), (20) -- (5170 - 5250 @ 80), (20), AUTO-BW, wmmrule=ETSI -- (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI -- (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI -- # 60 GHz band channels 1-4, ref: Etsi En 302 567 -+ (2400 - 2483.5 @ 40), (100 mW) -+ (5150 - 5250 @ 80), (200 mW), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI -+ (5250 - 5350 @ 80), (100 mW), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI -+ (5470 - 5725 @ 160), (500 mW), DFS, wmmrule=ETSI -+ # short range devices (ETSI EN 300 440-1) -+ (5725 - 5875 @ 80), (25 mW) -+ # 60 GHz band channels 1-4 (ETSI EN 302 567) - (57000 - 66000 @ 2160), (40) - --# Data from http://www.ctu.eu/164/download/VOR/VOR-12-08-2005-34.pdf --# and http://www.ctu.eu/164/download/VOR/VOR-12-05-2007-6-AN.pdf --# Power at 5250 - 5350 MHz and 5470 - 5725 MHz can be doubled if TPC is --# implemented. -+# CZ as part of EU/CEPT accepted decisions 2005/513/EC (5GHz RLAN, EN 301 893) -+# and 2006/771/EC (amended by 2008/432/EC, Short-Range Devices, EN 300 440) -+# EU decision 2005/513/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02005D0513-20070213 -+# EU decision 2006/771/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02008D0432-20080611 -+# CZ: https://www.ctu.cz/cs/download/vseobecna-opravneni/archiv/vo-r_12-06_2010-09.pdf -+# CZ: https://www.ctu.cz/sites/default/files/obsah/ctu/vseobecne-opravneni-c.vo-r/10/12.2017-10/obrazky/vo-r10-122017-10.pdf - country CZ: DFS-ETSI - (2400 - 2483.5 @ 40), (100 mW) - (5150 - 5250 @ 80), (200 mW), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI - (5250 - 5350 @ 80), (100 mW), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI - (5470 - 5725 @ 160), (500 mW), DFS, wmmrule=ETSI -- # 60 GHz band channels 1-4, ref: Etsi En 302 567 -+ # short range devices (ETSI EN 300 440-1) -+ (5725 - 5875 @ 80), (25 mW) -+ # 60 GHz band channels 1-4 (ETSI EN 302 567) - (57000 - 66000 @ 2160), (40) - -+# DE as part of EU/CEPT accepted decisions 2005/513/EC (5GHz RLAN, EN 301 893) -+# and 2006/771/EC (amended by 2008/432/EC, Short-Range Devices, EN 300 440) -+# EU decision 2005/513/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02005D0513-20070213 -+# EU decision 2006/771/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02008D0432-20080611 -+# - # Allocation for the 2.4 GHz band (Vfg 10 / 2013, Allgemeinzuteilung von - # Frequenzen für die Nutzung in lokalen Netzwerken; Wireless Local Area - # Networks (WLAN-Funkanwendungen). -@@ -379,16 +426,22 @@ country DE: DFS-ETSI - # 60 GHz band channels 1-4 (ETSI EN 302 567) - (57000 - 66000 @ 2160), (40) - --# Sources: -+# DK as part of EU/CEPT accepted decisions 2005/513/EC (5GHz RLAN, EN 301 893) -+# and 2006/771/EC (amended by 2008/432/EC, Short-Range Devices, EN 300 440) -+# EU decision 2005/513/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02005D0513-20070213 -+# EU decision 2006/771/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02008D0432-20080611 -+# DK: https://ens.dk/sites/ens.dk/files/Tele/frekvensplan_0.pdf - # 5GHz: https://erhvervsstyrelsen.dk/sites/default/files/007_interface-datanet_5-6_ghz.pdf.pdf - # 60GHz: https://erhvervsstyrelsen.dk/sites/default/files/radiograenseflader-63.pdf - country DK: DFS-ETSI -- (2400 - 2483.5 @ 40), (20) -- (5150 - 5250 @ 80), (23), AUTO-BW, wmmrule=ETSI -- (5250 - 5350 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI -- (5470 - 5725 @ 160), (27), DFS, wmmrule=ETSI -+ (2400 - 2483.5 @ 40), (100 mW) -+ (5150 - 5250 @ 80), (200 mW), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI -+ (5250 - 5350 @ 80), (100 mW), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI -+ (5470 - 5725 @ 160), (500 mW), DFS, wmmrule=ETSI -+ # short range devices (ETSI EN 300 440-1) -+ (5725 - 5875 @ 80), (25 mW) - # 60 GHz band channels 1-4 (ETSI EN 302 567) -- (57000 - 66000 @ 2160), (40), NO-OUTDOOR -+ (57000 - 66000 @ 2160), (40) - - # Source: - # http://www.ntrcdom.org/index.php?option=com_content&view=category&layout=blog&id=10&Itemid=55 -@@ -417,12 +470,20 @@ country EC: DFS-FCC - (5490 - 5730 @ 20), (24), DFS - (5735 - 5835 @ 20), (30) - -+# EE as part of EU/CEPT accepted decisions 2005/513/EC (5GHz RLAN, EN 301 893) -+# and 2006/771/EC (amended by 2008/432/EC, Short-Range Devices, EN 300 440) -+# EU decision 2005/513/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02005D0513-20070213 -+# EU decision 2006/771/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02008D0432-20080611 -+# EE: https://www.ttja.ee/et/ettevottele-organisatsioonile/sideteenused/raadioseadmed/wifi-seade -+# EE: https://www.itu.int/ITU-D/study_groups/SGP_1998-2002/JGRES09/pdf/estonia.pdf - country EE: DFS-ETSI -- (2402 - 2482 @ 40), (20) -- (5170 - 5250 @ 80), (20), AUTO-BW, wmmrule=ETSI -- (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI -- (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI -- # 60 GHz band channels 1-4, ref: Etsi En 302 567 -+ (2400 - 2483.5 @ 40), (100 mW) -+ (5150 - 5250 @ 80), (200 mW), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI -+ (5250 - 5350 @ 80), (100 mW), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI -+ (5470 - 5725 @ 160), (500 mW), DFS, wmmrule=ETSI -+ # short range devices (ETSI EN 300 440-1) -+ (5725 - 5875 @ 80), (25 mW) -+ # 60 GHz band channels 1-4 (ETSI EN 302 567) - (57000 - 66000 @ 2160), (40) - - country EG: DFS-ETSI -@@ -430,17 +491,19 @@ country EG: DFS-ETSI - (5170 - 5250 @ 40), (20) - (5250 - 5330 @ 40), (20), DFS - --# Source: --# Cuadro nacional de atribución de frecuencias (CNAF) --# https://avancedigital.gob.es/espectro/Paginas/cnaf.aspx -+# ES as part of EU/CEPT accepted decisions 2005/513/EC (5GHz RLAN, EN 301 893) -+# and 2006/771/EC (amended by 2008/432/EC, Short-Range Devices, EN 300 440) -+# EU decision 2005/513/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02005D0513-20070213 -+# EU decision 2006/771/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02008D0432-20080611 -+# ES: https://avancedigital.gob.es/espectro/Paginas/cnaf.aspx - country ES: DFS-ETSI - (2400 - 2483.5 @ 40), (100 mW) - (5150 - 5250 @ 80), (200 mW), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI - (5250 - 5350 @ 80), (100 mW), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI - (5470 - 5725 @ 160), (500 mW), DFS, wmmrule=ETSI -- # Short Range Devices (SRD) (ETSI EN 300 440) -+ # short range devices (ETSI EN 300 440-1) - (5725 - 5875 @ 80), (25 mW) -- # 60 GHz band channels 1-4, ref: Etsi En 302 567 -+ # 60 GHz band channels 1-4 (ETSI EN 302 567) - (57000 - 66000 @ 2160), (40) - - country ET: DFS-ETSI -@@ -449,14 +512,18 @@ country ET: DFS-ETSI - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - -+# FI as part of EU/CEPT accepted decisions 2005/513/EC (5GHz RLAN, EN 301 893) -+# and 2006/771/EC (amended by 2008/432/EC, Short-Range Devices, EN 300 440) -+# EU decision 2005/513/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02005D0513-20070213 -+# EU decision 2006/771/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02008D0432-20080611 - country FI: DFS-ETSI -- (2400 - 2483.5 @ 40), (20) -- (5150 - 5250 @ 80), (23), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI -- (5250 - 5350 @ 80), (20), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI -- (5470 - 5725 @ 160), (27), DFS, wmmrule=ETSI -+ (2400 - 2483.5 @ 40), (100 mW) -+ (5150 - 5250 @ 80), (200 mW), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI -+ (5250 - 5350 @ 80), (100 mW), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI -+ (5470 - 5725 @ 160), (500 mW), DFS, wmmrule=ETSI - # short range devices (ETSI EN 300 440-1) - (5725 - 5875 @ 80), (25 mW) -- # 60 GHz band channels 1-4, ref: Etsi En 302 567 -+ # 60 GHz band channels 1-4 (ETSI EN 302 567) - (57000 - 66000 @ 2160), (40) - - country FM: DFS-FCC -@@ -466,22 +533,34 @@ country FM: DFS-FCC - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -+# FR as part of EU/CEPT accepted decisions 2005/513/EC (5GHz RLAN, EN 301 893) -+# and 2006/771/EC (amended by 2008/432/EC, Short-Range Devices, EN 300 440) -+# EU decision 2005/513/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02005D0513-20070213 -+# EU decision 2006/771/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02008D0432-20080611 - country FR: DFS-ETSI -- (2402 - 2482 @ 40), (20) -- (5150 - 5250 @ 80), (23), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI -- (5250 - 5350 @ 80), (20), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI -- (5470 - 5725 @ 160), (27), DFS, wmmrule=ETSI -- # short range devices (ETSI EN 300 440) -+ (2400 - 2483.5 @ 40), (100 mW) -+ (5150 - 5250 @ 80), (200 mW), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI -+ (5250 - 5350 @ 80), (100 mW), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI -+ (5470 - 5725 @ 160), (500 mW), DFS, wmmrule=ETSI -+ # short range devices (ETSI EN 300 440-1) - (5725 - 5875 @ 80), (25 mW) -- # 60 GHz band channels 1-4, ref: Etsi En 302 567 -+ # 60 GHz band channels 1-4 (ETSI EN 302 567) - (57000 - 66000 @ 2160), (40) - -+# GB as part of EU/CEPT accepted decisions 2005/513/EC (5GHz RLAN, EN 301 893) -+# and 2006/771/EC (amended by 2008/432/EC, Short-Range Devices, EN 300 440) -+# EU decision 2005/513/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02005D0513-20070213 -+# EU decision 2006/771/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02008D0432-20080611 -+# GB: https://www.ofcom.org.uk/__data/assets/pdf_file/0019/136009/Ofcom-Information-Sheet-5-GHz-RLANs.pdf -+# GB: https://www.ofcom.org.uk/__data/assets/pdf_file/0028/84970/ir-2030.pdf - country GB: DFS-ETSI -- (2402 - 2482 @ 40), (20) -- (5170 - 5250 @ 80), (20), AUTO-BW, wmmrule=ETSI -- (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI -- (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI -- # 60 GHz band channels 1-4, ref: Etsi En 302 567 -+ (2400 - 2483.5 @ 40), (100 mW) -+ (5150 - 5250 @ 80), (200 mW), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI -+ (5250 - 5350 @ 80), (100 mW), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI -+ (5470 - 5725 @ 160), (500 mW), DFS, wmmrule=ETSI -+ # short range devices (ETSI EN 300 440-1) -+ (5725 - 5875 @ 80), (25 mW) -+ # 60 GHz band channels 1-4 (ETSI EN 302 567) - (57000 - 66000 @ 2160), (40) - - country GD: DFS-FCC -@@ -523,12 +602,20 @@ country GP: DFS-ETSI - (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI - (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI - -+# GR as part of EU/CEPT accepted decisions 2005/513/EC (5GHz RLAN, EN 301 893) -+# and 2006/771/EC (amended by 2008/432/EC, Short-Range Devices, EN 300 440) -+# EU decision 2005/513/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02005D0513-20070213 -+# EU decision 2006/771/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02008D0432-20080611 -+# GR: https://www.eett.gr/opencms/export/sites/default/EETT_EN/Electronic_Communications/Radio_Communications/TelecommunicationEquipment/Radio_equipment_interface_requirement_2012.pdf -+# GR: https://www.eett.gr/opencms/export/sites/default/EETT_EN/Electronic_Communications/Radio_Communications/TelecommunicationEquipment/Radio_equipment_interface_requirement_107.pdf - country GR: DFS-ETSI -- (2402 - 2482 @ 40), (20) -- (5170 - 5250 @ 80), (20), AUTO-BW, wmmrule=ETSI -- (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI -- (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI -- # 60 GHz band channels 1-4, ref: Etsi En 302 567 -+ (2400 - 2483.5 @ 40), (100 mW) -+ (5150 - 5250 @ 80), (200 mW), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI -+ (5250 - 5350 @ 80), (100 mW), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI -+ (5470 - 5725 @ 160), (500 mW), DFS, wmmrule=ETSI -+ # short range devices (ETSI EN 300 440-1) -+ (5725 - 5875 @ 80), (25 mW) -+ # 60 GHz band channels 1-4 (ETSI EN 302 567) - (57000 - 66000 @ 2160), (40) - - country GT: DFS-FCC -@@ -563,11 +650,18 @@ country HN: DFS-FCC - (5735 - 5835 @ 80), (30) - - country HR: DFS-ETSI -- (2400 - 2483.5 @ 40), (20) -- (5150 - 5250 @ 80), (23), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI -- (5250 - 5350 @ 80), (20), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI -- (5470 - 5725 @ 160), (27), DFS, wmmrule=ETSI -- # 60 GHz band channels 1-4, ref: Etsi En 302 567 -+# HR as part of EU/CEPT accepted decisions 2005/513/EC (5GHz RLAN, EN 301 893) -+# and 2006/771/EC (amended by 2008/432/EC, Short-Range Devices, EN 300 440) -+# EU decision 2005/513/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02005D0513-20070213 -+# EU decision 2006/771/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02008D0432-20080611 -+# HR: http://tablice.hakom.hr:8080/vis?lang=en -+ (2400 - 2483.5 @ 40), (100 mW) -+ (5150 - 5250 @ 80), (200 mW), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI -+ (5250 - 5350 @ 80), (100 mW), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI -+ (5470 - 5725 @ 160), (500 mW), DFS, wmmrule=ETSI -+ # short range devices (ETSI EN 300 440-1) -+ (5725 - 5875 @ 80), (25 mW) -+ # 60 GHz band channels 1-4 (ETSI EN 302 567) - (57000 - 66000 @ 2160), (40) - - country HT: DFS-FCC -@@ -577,37 +671,42 @@ country HT: DFS-FCC - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - --# http://stir.nmhh.hu/?oldal=dokumentumGeneralo&root_rendeletelem_id=3&hatalyos=1 --# http://english.nmhh.hu/cikk/297/Eljarasi_tajekoztato_a_24_GHzes_es_az_5_GHzes_savban_mukodo_berendezesek_engedelyezeserol --# http://nmhh.hu/dokumentum/319/kis_hatotavolsagu_eszkozok_srdk.pdf -+# HU as part of EU/CEPT accepted decisions 2005/513/EC (5GHz RLAN, EN 301 893) -+# and 2006/771/EC (amended by 2008/432/EC, Short-Range Devices, EN 300 440) -+# EU decision 2005/513/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02005D0513-20070213 -+# EU decision 2006/771/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02008D0432-20080611 -+# HU: http://stir.nmhh.hu/?oldal=dokumentumGeneralo&root_rendeletelem_id=3&hatalyos=1 -+# HU: http://english.nmhh.hu/cikk/297/Eljarasi_tajekoztato_a_24_GHzes_es_az_5_GHzes_savban_mukodo_berendezesek_engedelyezeserol -+# HU: http://nmhh.hu/dokumentum/319/kis_hatotavolsagu_eszkozok_srdk.pdf - country HU: DFS-ETSI -- # ref: 2006/771/EK, (EU) 2017/1483, MSZ EN 300 328 -- # additionally: 100mW @ 10MHz channels, 50mW @ 5MHz (max. 10mW/MHz) -- (2400 - 2483.5 @ 40), (20) -- # ref: 2005/513/EK -- # note: TPC not needed @ 5150-5250 -- (5150 - 5250 @ 80), (23), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI -- # note: max would be +3dB with TPC @ 5250-5725 -- (5250 - 5350 @ 80), (20), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI -- (5470 - 5725 @ 160), (27), DFS, wmmrule=ETSI -- # "Short Range Devices (SRD)" -- # ref: 2006/771/EK, (EU) 2017/1483, MSZ EN 300 440, MSZ EN 302 064 -+ (2400 - 2483.5 @ 40), (100 mW) -+ (5150 - 5250 @ 80), (200 mW), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI -+ (5250 - 5350 @ 80), (100 mW), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI -+ (5470 - 5725 @ 160), (500 mW), DFS, wmmrule=ETSI -+ # short range devices (ETSI EN 300 440-1) - (5725 - 5875 @ 80), (25 mW) -- # 60 GHz band channels 1-4, "Fixed outdoor installation not allowed" -- # ref: 2006/771/EK, (EU) 2017/1483, MSZ EN 302 567 -- (57000 - 66000 @ 2160), (40), NO-OUTDOOR -+ # 60 GHz band channels 1-4 (ETSI EN 302 567) -+ (57000 - 66000 @ 2160), (40) - - country ID: DFS-JP - # ref: http://www.postel.go.id/content/ID/regulasi/standardisasi/kepdir/bwa%205,8%20ghz.pdf - (2402 - 2482 @ 20), (20) - (5735 - 5815 @ 20), (23) - -+# IE as part of EU/CEPT accepted decisions 2005/513/EC (5GHz RLAN, EN 301 893) -+# and 2006/771/EC (amended by 2008/432/EC, Short-Range Devices, EN 300 440) -+# EU decision 2005/513/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02005D0513-20070213 -+# EU decision 2006/771/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02008D0432-20080611 -+# IE: https://www.comreg.ie/publication-download/interface-requirements-for-radio-services-in-ireland -+# IE: https://www.comreg.ie/publication-download/permitted-short-range-devices-ireland - country IE: DFS-ETSI -- (2402 - 2482 @ 40), (20) -- (5170 - 5250 @ 80), (20), AUTO-BW, wmmrule=ETSI -- (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI -- (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI -- # 60 GHz band channels 1-4, ref: Etsi En 302 567 -+ (2400 - 2483.5 @ 40), (100 mW) -+ (5150 - 5250 @ 80), (200 mW), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI -+ (5250 - 5350 @ 80), (100 mW), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI -+ (5470 - 5725 @ 160), (500 mW), DFS, wmmrule=ETSI -+ # short range devices (ETSI EN 300 440-1) -+ (5725 - 5875 @ 80), (25 mW) -+ # 60 GHz band channels 1-4 (ETSI EN 302 567) - (57000 - 66000 @ 2160), (40) - - country IL: DFS-ETSI -@@ -626,20 +725,33 @@ country IR: DFS-JP - (2402 - 2482 @ 40), (20) - (5735 - 5835 @ 80), (30) - -+# IS as part of CEPT accepted decisions 2005/513/EC (5GHz RLAN, EN 301 893) -+# and 2006/771/EC (amended by 2008/432/EC, Short-Range Devices, EN 300 440) -+# EU decision 2005/513/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02005D0513-20070213 -+# EU decision 2006/771/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02008D0432-20080611 -+# IS: https://www.pfs.is/library/Skrar/Tidnir-og-taekni/MHZ_21022019.pdf - country IS: DFS-ETSI -- (2402 - 2482 @ 40), (20) -- (5170 - 5250 @ 80), (20), AUTO-BW, wmmrule=ETSI -- (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI -- (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI -- # 60 GHz band channels 1-4, ref: Etsi En 302 567 -+ (2400 - 2483.5 @ 40), (100 mW) -+ (5150 - 5250 @ 80), (200 mW), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI -+ (5250 - 5350 @ 80), (100 mW), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI -+ (5470 - 5725 @ 160), (500 mW), DFS, wmmrule=ETSI -+ # short range devices (ETSI EN 300 440-1) -+ (5725 - 5875 @ 80), (25 mW) -+ # 60 GHz band channels 1-4 (ETSI EN 302 567) - (57000 - 66000 @ 2160), (40) - -+# IT as part of EU/CEPT accepted decisions 2005/513/EC (5GHz RLAN, EN 301 893) -+# and 2006/771/EC (amended by 2008/432/EC, Short-Range Devices, EN 300 440) -+# EU decision 2005/513/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02005D0513-20070213 -+# EU decision 2006/771/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02008D0432-20080611 - country IT: DFS-ETSI -- (2402 - 2482 @ 40), (20) -- (5170 - 5250 @ 80), (20), AUTO-BW, wmmrule=ETSI -- (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI -- (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI -- # 60 GHz band channels 1-4, ref: Etsi En 302 567 -+ (2400 - 2483.5 @ 40), (100 mW) -+ (5150 - 5250 @ 80), (200 mW), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI -+ (5250 - 5350 @ 80), (100 mW), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI -+ (5470 - 5725 @ 160), (500 mW), DFS, wmmrule=ETSI -+ # short range devices (ETSI EN 300 440-1) -+ (5725 - 5875 @ 80), (25 mW) -+ # 60 GHz band channels 1-4 (ETSI EN 302 567) - (57000 - 66000 @ 2160), (40) - - country JM: DFS-FCC -@@ -741,16 +853,22 @@ country LC: DFS-ETSI - (5490 - 5710 @ 160), (30), DFS - (5735 - 5815 @ 80), (30) - --# Source: --# https://www.ofcomnet.ch/#/fatTable --# Note that the maximum transmitter power can be doubled for 5250-5710MHz if --# transmitter power control is in use: 5250-5330@23db, 5490-5710@30db -+# LI as part of CEPT accepted decisions 2005/513/EC (5GHz RLAN, EN 301 893) -+# and 2006/771/EC (amended by 2008/432/EC, Short-Range Devices, EN 300 440) -+# EU decision 2005/513/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02005D0513-20070213 -+# EU decision 2006/771/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02008D0432-20080611 -+# LI: https://www.ofcomnet.ch/api/rir/1010/05 -+# LI: https://www.ofcomnet.ch/api/rir/1010/04 -+# LI: https://www.ofcomnet.ch/api/rir/1008/12 -+# LI: https://www.ofcomnet.ch/#/fatTable - country LI: DFS-ETSI -- (2402 - 2482 @ 40), (20) -- (5150 - 5250 @ 80), (23), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI -- (5250 - 5350 @ 80), (20), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI -- (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI -- # 60 GHz band channels 1-4, ref: Etsi En 302 567 -+ (2400 - 2483.5 @ 40), (100 mW) -+ (5150 - 5250 @ 80), (200 mW), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI -+ (5250 - 5350 @ 80), (100 mW), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI -+ (5470 - 5725 @ 160), (500 mW), DFS, wmmrule=ETSI -+ # short range devices (ETSI EN 300 440-1) -+ (5725 - 5875 @ 80), (25 mW) -+ # 60 GHz band channels 1-4 (ETSI EN 302 567) - (57000 - 66000 @ 2160), (40) - - country LK: DFS-FCC -@@ -768,28 +886,50 @@ country LS: DFS-ETSI - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - -+# LT as part of EU/CEPT accepted decisions 2005/513/EC (5GHz RLAN, EN 301 893) -+# and 2006/771/EC (amended by 2008/432/EC, Short-Range Devices, EN 300 440) -+# EU decision 2005/513/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02005D0513-20070213 -+# EU decision 2006/771/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02008D0432-20080611 -+# LT: https://www.rrt.lt/en/radio-spectrum/frequency-management/ or direct link: -+# LT: https://www.e-tar.lt/portal/lt/legalAct/6e718fd037a011e69101aaab2992cbcd/dGRioCBBHb - country LT: DFS-ETSI -- (2402 - 2482 @ 40), (20) -- (5170 - 5250 @ 80), (20), AUTO-BW, wmmrule=ETSI -- (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI -- (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI -- # 60 GHz band channels 1-4, ref: Etsi En 302 567 -+ (2400 - 2483.5 @ 40), (100 mW) -+ (5150 - 5250 @ 80), (200 mW), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI -+ (5250 - 5350 @ 80), (100 mW), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI -+ (5470 - 5725 @ 160), (500 mW), DFS, wmmrule=ETSI -+ # short range devices (ETSI EN 300 440-1) -+ (5725 - 5875 @ 80), (25 mW) -+ # 60 GHz band channels 1-4 (ETSI EN 302 567) - (57000 - 66000 @ 2160), (40) - -+# LU as part of EU/CEPT accepted decisions 2005/513/EC (5GHz RLAN, EN 301 893) -+# and 2006/771/EC (amended by 2008/432/EC, Short-Range Devices, EN 300 440) -+# EU decision 2005/513/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02005D0513-20070213 -+# EU decision 2006/771/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02008D0432-20080611 -+# LU: https://assets.ilr.lu/frequences/Documents/ILRLU-1723895916-183.pdf#search=en%20300%20440 - country LU: DFS-ETSI -- (2402 - 2482 @ 40), (20) -- (5170 - 5250 @ 80), (20), AUTO-BW, wmmrule=ETSI -- (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI -- (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI -- # 60 GHz band channels 1-4, ref: Etsi En 302 567 -+ (2400 - 2483.5 @ 40), (100 mW) -+ (5150 - 5250 @ 80), (200 mW), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI -+ (5250 - 5350 @ 80), (100 mW), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI -+ (5470 - 5725 @ 160), (500 mW), DFS, wmmrule=ETSI -+ # short range devices (ETSI EN 300 440-1) -+ (5725 - 5875 @ 80), (25 mW) -+ # 60 GHz band channels 1-4 (ETSI EN 302 567) - (57000 - 66000 @ 2160), (40) - -+# LV as part of EU/CEPT accepted decisions 2005/513/EC (5GHz RLAN, EN 301 893) -+# and 2006/771/EC (amended by 2008/432/EC, Short-Range Devices, EN 300 440) -+# EU decision 2005/513/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02005D0513-20070213 -+# EU decision 2006/771/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02008D0432-20080611 -+# LV: http://likumi.lv/doc.php?id=198903 - country LV: DFS-ETSI -- (2402 - 2482 @ 40), (20) -- (5170 - 5250 @ 80), (20), AUTO-BW, wmmrule=ETSI -- (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI -- (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI -- # 60 GHz band channels 1-4, ref: Etsi En 302 567 -+ (2400 - 2483.5 @ 40), (100 mW) -+ (5150 - 5250 @ 80), (200 mW), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI -+ (5250 - 5350 @ 80), (100 mW), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI -+ (5470 - 5725 @ 160), (500 mW), DFS, wmmrule=ETSI -+ # short range devices (ETSI EN 300 440-1) -+ (5725 - 5875 @ 80), (25 mW) -+ # 60 GHz band channels 1-4 (ETSI EN 302 567) - (57000 - 66000 @ 2160), (40) - - country MA: DFS-ETSI -@@ -875,12 +1015,19 @@ country MR: DFS-ETSI - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - -+# MT as part of EU/CEPT accepted decisions 2005/513/EC (5GHz RLAN, EN 301 893) -+# and 2006/771/EC (amended by 2008/432/EC, Short-Range Devices, EN 300 440) -+# EU decision 2005/513/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02005D0513-20070213 -+# EU decision 2006/771/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02008D0432-20080611 -+# MT: https://www.mca.org.mt/sites/default/files/NFP_edition%206-1.pdf - country MT: DFS-ETSI -- (2402 - 2482 @ 40), (20) -- (5170 - 5250 @ 80), (20), AUTO-BW, wmmrule=ETSI -- (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI -- (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI -- # 60 GHz band channels 1-4, ref: Etsi En 302 567 -+ (2400 - 2483.5 @ 40), (100 mW) -+ (5150 - 5250 @ 80), (200 mW), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI -+ (5250 - 5350 @ 80), (100 mW), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI -+ (5470 - 5725 @ 160), (500 mW), DFS, wmmrule=ETSI -+ # short range devices (ETSI EN 300 440-1) -+ (5725 - 5875 @ 80), (25 mW) -+ # 60 GHz band channels 1-4 (ETSI EN 302 567) - (57000 - 66000 @ 2160), (40) - - country MU: DFS-FCC -@@ -930,34 +1077,36 @@ country NI: DFS-FCC - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - --# Regulation on the use of frequency space without a license and --# without notification 2015 --# --# http://wetten.overheid.nl/BWBR0036378/2015-03-05 -- -+# NL as part of EU/CEPT accepted decisions 2005/513/EC (5GHz RLAN, EN 301 893) -+# and 2006/771/EC (amended by 2008/432/EC, Short-Range Devices, EN 300 440) -+# EU decision 2005/513/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02005D0513-20070213 -+# EU decision 2006/771/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02008D0432-20080611 -+# NL: http://wetten.overheid.nl/BWBR0036378/2015-03-05 - country NL: DFS-ETSI -- (2402 - 2482 @ 40), (20) -- (5170 - 5250 @ 80), (20), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI -- (5250 - 5330 @ 80), (20), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI -- (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI -+ (2400 - 2483.5 @ 40), (100 mW) -+ (5150 - 5250 @ 80), (200 mW), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI -+ (5250 - 5350 @ 80), (100 mW), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI -+ (5470 - 5725 @ 160), (500 mW), DFS, wmmrule=ETSI - # short range devices (ETSI EN 300 440-1) - (5725 - 5875 @ 80), (25 mW) -- # 60 GHz band channels 1-4, ref: Etsi En 302 567 -+ # 60 GHz band channels 1-4 (ETSI EN 302 567) - (57000 - 66000 @ 2160), (40) - --# Data from http://www.lovdata.no/dokument/SF/forskrift/2012-01-19-77 --# Power at 5250 - 5350 MHz, 5470 - 5725 MHz and 5815 – 5850 MHz can --# be doubled if TPC is implemented. --# Up to 2W (or 4W with TPC) is allowed in the 5725 – 5795 MHz band --# which has been merged with 5470 - 5725 MHz to allow wide channels -+# NO as part of CEPT accepted decisions 2005/513/EC (5GHz RLAN, EN 301 893) -+# and 2006/771/EC (amended by 2008/432/EC, Short-Range Devices, EN 300 440) -+# EU decision 2005/513/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02005D0513-20070213 -+# EU decision 2006/771/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02008D0432-20080611 -+# NO: https://eng.nkom.no/technical/temporary-licenses/mobile-videolink/wireless-cameras-mobile-video-links/_attachment/9947 -+# NO: http://www.lovdata.no/dokument/SF/forskrift/2012-01-19-77 -+# In addition to EU NO can use 5725–5795 MHz and 5815–5850 bands with limit of 4 W EIRP (with DFS and TPC) - country NO: DFS-ETSI - (2400 - 2483.5 @ 40), (100 mW) -- (5150 - 5250 @ 80), (200 mW), AUTO-BW, wmmrule=ETSI -- (5250 - 5350 @ 80), (100 mW), DFS, AUTO-BW, wmmrule=ETSI -- (5470 - 5795 @ 160), (500 mW), DFS, wmmrule=ETSI -- (5815 - 5850 @ 35), (2000 mW), DFS -- (17100 - 17300 @ 200), (100 mW) -- # 60 GHz band channels 1-4, ref: Etsi En 302 567 -+ (5150 - 5250 @ 80), (200 mW), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI -+ (5250 - 5350 @ 80), (100 mW), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI -+ (5470 - 5725 @ 160), (500 mW), DFS, wmmrule=ETSI -+ # short range devices (ETSI EN 300 440-1) -+ (5725 - 5875 @ 80), (25 mW) -+ # 60 GHz band channels 1-4 (ETSI EN 302 567) - (57000 - 66000 @ 2160), (40) - - country NP: DFS-JP -@@ -1020,12 +1169,18 @@ country PK: DFS-JP - (2402 - 2482 @ 40), (20) - (5735 - 5835 @ 80), (30) - -+# PL as part of EU/CEPT accepted decisions 2005/513/EC (5GHz RLAN, EN 301 893) -+# and 2006/771/EC (amended by 2008/432/EC, Short-Range Devices, EN 300 440) -+# EU decision 2005/513/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02005D0513-20070213 -+# EU decision 2006/771/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02008D0432-20080611 - country PL: DFS-ETSI -- (2402 - 2482 @ 40), (20) -- (5170 - 5250 @ 80), (20), AUTO-BW, wmmrule=ETSI -- (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI -- (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI -- # 60 GHz band channels 1-4, ref: Etsi En 302 567 -+ (2400 - 2483.5 @ 40), (100 mW) -+ (5150 - 5250 @ 80), (200 mW), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI -+ (5250 - 5350 @ 80), (100 mW), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI -+ (5470 - 5725 @ 160), (500 mW), DFS, wmmrule=ETSI -+ # short range devices (ETSI EN 300 440-1) -+ (5725 - 5875 @ 80), (25 mW) -+ # 60 GHz band channels 1-4 (ETSI EN 302 567) - (57000 - 66000 @ 2160), (40) - - country PM: DFS-ETSI -@@ -1041,14 +1196,19 @@ country PR: DFS-FCC - (5490 - 5730 @ 160), (24), DFS - (5735 - 5835 @ 80), (30) - -+# PT as part of EU/CEPT accepted decisions 2005/513/EC (5GHz RLAN, EN 301 893) -+# and 2006/771/EC (amended by 2008/432/EC, Short-Range Devices, EN 300 440) -+# EU decision 2005/513/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02005D0513-20070213 -+# EU decision 2006/771/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02008D0432-20080611 -+# PT: https://www.anacom.pt/render.jsp?categoryId=336334 - country PT: DFS-ETSI -- (2402 - 2482 @ 40), (20) -- (5170 - 5250 @ 80), (20), AUTO-BW, wmmrule=ETSI -- (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI -- (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI -+ (2400 - 2483.5 @ 40), (100 mW) -+ (5150 - 5250 @ 80), (200 mW), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI -+ (5250 - 5350 @ 80), (100 mW), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI -+ (5470 - 5725 @ 160), (500 mW), DFS, wmmrule=ETSI - # short range devices (ETSI EN 300 440-1) - (5725 - 5875 @ 80), (25 mW) -- # 60 GHz band channels 1-4, ref: Etsi En 302 567 -+ # 60 GHz band channels 1-4 (ETSI EN 302 567) - (57000 - 66000 @ 2160), (40) - - country PW: DFS-FCC -@@ -1079,15 +1239,21 @@ country RE: DFS-ETSI - (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI - (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI - -+# RO as part of EU/CEPT accepted decisions 2005/513/EC (5GHz RLAN, EN 301 893) -+# and 2006/771/EC (amended by 2008/432/EC, Short-Range Devices, EN 300 440) -+# EU decision 2005/513/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02005D0513-20070213 -+# EU decision 2006/771/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02008D0432-20080611 -+# RO: http://www.ancom.org.ro/en/uploads/links_files/ordin_262_2006.pdf - country RO: DFS-ETSI -- (2402 - 2482 @ 40), (20) -- (5170 - 5250 @ 80), (20), AUTO-BW, wmmrule=ETSI -- (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI -- (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI -- # 60 GHz band channels 1-4, ref: Etsi En 302 567 -+ (2400 - 2483.5 @ 40), (100 mW) -+ (5150 - 5250 @ 80), (200 mW), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI -+ (5250 - 5350 @ 80), (100 mW), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI -+ (5470 - 5725 @ 160), (500 mW), DFS, wmmrule=ETSI -+ # short range devices (ETSI EN 300 440-1) -+ (5725 - 5875 @ 80), (25 mW) -+ # 60 GHz band channels 1-4 (ETSI EN 302 567) - (57000 - 66000 @ 2160), (40) - -- - # Source: - # http://www.ratel.rs/upload/documents/Plan_namene/Plan_namene-sl_glasnik.pdf - country RS: DFS-ETSI -@@ -1119,18 +1285,20 @@ country SA: DFS-ETSI - (5250 - 5330 @ 80), (20), DFS, AUTO-BW - (5490 - 5710 @ 160), (27), DFS - --# Source: --# https://pts.se/globalassets/startpage/dokument/legala-dokument/foreskrifter/radio/beslutade_ptsfs-2018-3-undantagsforeskrifter.pdf -+# SE as part of EU/CEPT accepted decisions 2005/513/EC (5GHz RLAN, EN 301 893) -+# and 2006/771/EC (amended by 2008/432/EC, Short-Range Devices, EN 300 440) -+# EU decision 2005/513/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02005D0513-20070213 -+# EU decision 2006/771/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02008D0432-20080611 -+# SE: https://pts.se/globalassets/startpage/dokument/legala-dokument/foreskrifter/radio/beslutade_ptsfs-2018-3-undantagsforeskrifter.pdf - country SE: DFS-ETSI -- (2400 - 2483.5 @ 40), (20) -- (5150 - 5250 @ 80), (23), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI -- # note: max would be +3dB with TPC @ 5250-5725 -- (5250 - 5350 @ 80), (20), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI -- (5470 - 5725 @ 160), (27), DFS, wmmrule=ETSI -- # short range devices (ETSI EN 300 440) -+ (2400 - 2483.5 @ 40), (100 mW) -+ (5150 - 5250 @ 80), (200 mW), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI -+ (5250 - 5350 @ 80), (100 mW), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI -+ (5470 - 5725 @ 160), (500 mW), DFS, wmmrule=ETSI -+ # short range devices (ETSI EN 300 440-1) - (5725 - 5875 @ 80), (25 mW) -- # 60 GHz band channels 1-4, ref: Etsi En 302 567 -- (57000 - 66000 @ 2160), (40), NO-OUTDOOR -+ # 60 GHz band channels 1-4 (ETSI EN 302 567) -+ (57000 - 66000 @ 2160), (40) - - # Source - # https://www.imda.gov.sg/~/media/imda/files/regulation%20licensing%20and%20consultations/ict%20standards/telecommunication%20standards/radio-comms/imdatssrd.pdf?la=en -@@ -1144,20 +1312,36 @@ country SG: DFS-FCC - # (5470 - 5725 @ 160), (30), DFS - (5725 - 5850 @ 80), (30) - -+# SI as part of EU/CEPT accepted decisions 2005/513/EC (5GHz RLAN, EN 301 893) -+# and 2006/771/EC (amended by 2008/432/EC, Short-Range Devices, EN 300 440) -+# EU decision 2005/513/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02005D0513-20070213 -+# EU decision 2006/771/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02008D0432-20080611 -+# SI: https://www.akos-rs.si/bwa - country SI: DFS-ETSI -- (2402 - 2482 @ 40), (20) -- (5170 - 5250 @ 80), (20), AUTO-BW, wmmrule=ETSI -- (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI -- (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI -- # 60 GHz band channels 1-4, ref: Etsi En 302 567 -+ (2400 - 2483.5 @ 40), (100 mW) -+ (5150 - 5250 @ 80), (200 mW), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI -+ (5250 - 5350 @ 80), (100 mW), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI -+ (5470 - 5725 @ 160), (500 mW), DFS, wmmrule=ETSI -+ # short range devices (ETSI EN 300 440-1) -+ (5725 - 5875 @ 80), (25 mW) -+ # 60 GHz band channels 1-4 (ETSI EN 302 567) - (57000 - 66000 @ 2160), (40) - -+# SK as part of EU/CEPT accepted decisions 2005/513/EC (5GHz RLAN, EN 301 893) -+# and 2006/771/EC (amended by 2008/432/EC, Short-Range Devices, EN 300 440) -+# EU decision 2005/513/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02005D0513-20070213 -+# EU decision 2006/771/EC: https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02008D0432-20080611 -+# SK: https://www.teleoff.gov.sk/data/files/25911.pdf -+# SK: https://www.teleoff.gov.sk/data/files/41072.pdf -+# SK: https://www.teleoff.gov.sk/data/files/49125_vpr-01_2018-rusi-vpr-10_2014a21_2012-nespecifik-srd_021018.pdf - country SK: DFS-ETSI -- (2402 - 2482 @ 40), (20) -- (5170 - 5250 @ 80), (20), AUTO-BW, wmmrule=ETSI -- (5250 - 5330 @ 80), (20), DFS, AUTO-BW, wmmrule=ETSI -- (5490 - 5710 @ 160), (27), DFS, wmmrule=ETSI -- # 60 GHz band channels 1-4, ref: Etsi En 302 567 -+ (2400 - 2483.5 @ 40), (100 mW) -+ (5150 - 5250 @ 80), (200 mW), NO-OUTDOOR, AUTO-BW, wmmrule=ETSI -+ (5250 - 5350 @ 80), (100 mW), NO-OUTDOOR, DFS, AUTO-BW, wmmrule=ETSI -+ (5470 - 5725 @ 160), (500 mW), DFS, wmmrule=ETSI -+ # short range devices (ETSI EN 300 440-1) -+ (5725 - 5875 @ 80), (25 mW) -+ # 60 GHz band channels 1-4 (ETSI EN 302 567) - (57000 - 66000 @ 2160), (40) - - # Source: diff --git a/package/firmware/wireless-regdb/patches/602-wireless-regdb-Update-regulatory-rules-for-Russia-RU.patch b/package/firmware/wireless-regdb/patches/602-wireless-regdb-Update-regulatory-rules-for-Russia-RU.patch deleted file mode 100644 index 7b883e6000..0000000000 --- a/package/firmware/wireless-regdb/patches/602-wireless-regdb-Update-regulatory-rules-for-Russia-RU.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Dmitry Tunin -Date: Sat, 24 Aug 2019 11:48:10 +0300 -Subject: [PATCH] wireless-regdb: Update regulatory rules for Russia (RU) - -Russian entry is incorrect. According to the last regulations -document of Feb 29, 2016, 160 MHz channels and 802.11ad are allowed. - -http://rfs-rf.ru/upload/medialibrary/c1a/prilozhenie-1-k-resheniyu-gkrch-_-16_36_03.pdf - -Note that there was never a DFS requirement in Russia, but always was -NO-OUTDOOR on 5GHz. -Maximum power is 200mW that is ~23dBm on all 5GHz channels. -Also Russia has never been regulated by ETSI. - -EIRP has been reduced by 4dBm because of TPC requirement. - -Signed-off-by: Dmitry Tunin -Signed-off-by: Seth Forshee - -diff --git a/db.txt b/db.txt -index f6b2f921416c..9c4b447536e4 100644 ---- a/db.txt -+++ b/db.txt -@@ -1349,14 +1349,12 @@ country RS: DFS-ETSI - # 60 GHz band channels 1-4, ref: Etsi En 302 567 - (57000 - 66000 @ 2160), (40) - --country RU: DFS-ETSI -- (2402 - 2482 @ 40), (20) -- (5170 - 5250 @ 80), (20), AUTO-BW -- (5250 - 5330 @ 80), (20), DFS, AUTO-BW -- (5650 - 5730 @ 80), (30), DFS -- (5735 - 5835 @ 80), (30) -+country RU: -+ (2400 - 2483.5 @ 40), (20) -+ (5150 - 5350 @ 160), (20), NO-OUTDOOR -+ (5650 - 5850 @ 160), (20), NO-OUTDOOR - # 60 GHz band channels 1-4, ref: Changes to NLA 124_Order №129_22042015.pdf -- (57000 - 66000 @ 2160), (40) -+ (57000 - 66000 @ 2160), (40), NO-OUTDOOR - - country RW: DFS-FCC - (2402 - 2482 @ 40), (20) From 5ea3ea154f9cc8a6f1d3425fa4763614e0e51f8d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20=C5=A0tetiar?= Date: Wed, 29 Apr 2020 23:24:49 +0200 Subject: [PATCH 11/11] kernel: bump 5.4 to 5.4.36 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Refreshed patches, removed upstreamed patch: generic/hack: 551-loop-Better-discard-support-for-block-devices.patch Added generic config symbol `ARM64_ERRATUM_1542419` due to Fixes: f2791551cedb ("arm64: errata: Hide CTR_EL0.DIC on systems affected by Neoverse-N1 #1542419"). Run tested: qemu-x86-64, apalis, nbg6617 Build tested: x86/64, imx6, ipq40xx, sunxi/a53 Signed-off-by: Petr Štetiar --- include/kernel-version.mk | 4 +- .../802-usb-xhci-force-msi-renesas-xhci.patch | 2 +- .../950-0037-Add-dwc_otg-driver.patch | 4 +- ...Better-coalescing-parameter-defaults.patch | 4 +- ...-for-updating-interrupt-endpoint-int.patch | 2 +- ...or-host-controllers-that-don-t-updat.patch | 4 +- ...t-Workaround-2-for-Pi4-Ethernet-fail.patch | 2 +- ...ma-direct-Temporary-DMA-fix-on-arm64.patch | 2 +- ...41-drm-v3d-The-third-IRQ-is-optional.patch | 2 +- ...n-ARCH_ZONE_DMA_BITS-into-a-variable.patch | 4 +- ...-inbound-resource-parsing-to-helpers.patch | 2 +- ...de-dma_direct_map_resource-from-the-.patch | 4 +- ...reat-dev-bus_dma_mask-as-a-DMA-limit.patch | 12 +-- ...support-for-performing-fake-doorbell.patch | 2 +- ...pport-for-clause-37-auto-negotiation.patch | 30 +++--- target/linux/generic/config-5.4 | 1 + .../550-loop-Report-EOPNOTSUPP-properly.patch | 4 +- ...er-discard-support-for-block-devices.patch | 101 ------------------ .../702-phy_add_aneg_done_function.patch | 2 +- .../generic/hack-5.4/902-debloat_proc.patch | 2 +- .../linux/ramips/patches-5.4/991-at803x.patch | 18 ++-- 21 files changed, 51 insertions(+), 157 deletions(-) delete mode 100644 target/linux/generic/hack-5.4/551-loop-Better-discard-support-for-block-devices.patch diff --git a/include/kernel-version.mk b/include/kernel-version.mk index 1d1c8f6bdf..5f364ec207 100644 --- a/include/kernel-version.mk +++ b/include/kernel-version.mk @@ -8,11 +8,11 @@ endif LINUX_VERSION-4.14 = .176 LINUX_VERSION-4.19 = .115 -LINUX_VERSION-5.4 = .35 +LINUX_VERSION-5.4 = .36 LINUX_KERNEL_HASH-4.14.176 = bcae0956baaeb55dab5bad0401873fbc5baaa7fbe957ea6d27a5ab241cec5ca2 LINUX_KERNEL_HASH-4.19.115 = 11b2d97c8ea5ceb40c5e1d0bb87ad5b2b8c84560181bc60c0d28ec3a3e3801c2 -LINUX_KERNEL_HASH-5.4.35 = e16bd5f7284a80a41328bf712e1136b0adf5b71cc0bd263efa7cac75539806d4 +LINUX_KERNEL_HASH-5.4.36 = b9faea98122e8316af8fb428c942e81797b5d28a8fc59a24a4e47959e3765b8d remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1)))) sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1))))))) diff --git a/target/linux/apm821xx/patches-5.4/802-usb-xhci-force-msi-renesas-xhci.patch b/target/linux/apm821xx/patches-5.4/802-usb-xhci-force-msi-renesas-xhci.patch index 55686a2fd8..7f09adf6a3 100644 --- a/target/linux/apm821xx/patches-5.4/802-usb-xhci-force-msi-renesas-xhci.patch +++ b/target/linux/apm821xx/patches-5.4/802-usb-xhci-force-msi-renesas-xhci.patch @@ -43,7 +43,7 @@ produce a noisy warning. hcd->msi_enabled = 1; --- a/drivers/usb/host/xhci.h +++ b/drivers/usb/host/xhci.h -@@ -1879,6 +1879,7 @@ struct xhci_hcd { +@@ -1880,6 +1880,7 @@ struct xhci_hcd { struct xhci_hub usb2_rhub; struct xhci_hub usb3_rhub; /* support xHCI 1.0 spec USB2 hardware LPM */ diff --git a/target/linux/bcm27xx/patches-5.4/950-0037-Add-dwc_otg-driver.patch b/target/linux/bcm27xx/patches-5.4/950-0037-Add-dwc_otg-driver.patch index 0823c01c53..a613aa6e60 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0037-Add-dwc_otg-driver.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0037-Add-dwc_otg-driver.patch @@ -1040,7 +1040,7 @@ Signed-off-by: Jonathan Bell } --- a/drivers/usb/core/hub.c +++ b/drivers/usb/core/hub.c -@@ -5306,7 +5306,7 @@ static void port_event(struct usb_hub *h +@@ -5318,7 +5318,7 @@ static void port_event(struct usb_hub *h port_dev->over_current_count++; port_over_current_notify(port_dev); @@ -1051,7 +1051,7 @@ Signed-off-by: Jonathan Bell USB_PORT_FEAT_C_OVER_CURRENT); --- a/drivers/usb/core/message.c +++ b/drivers/usb/core/message.c -@@ -1993,6 +1993,85 @@ free_interfaces: +@@ -2000,6 +2000,85 @@ free_interfaces: if (cp->string == NULL && !(dev->quirks & USB_QUIRK_CONFIG_INTF_STRINGS)) cp->string = usb_cache_string(dev, cp->desc.iConfiguration); diff --git a/target/linux/bcm27xx/patches-5.4/950-0212-bcmgenet-Better-coalescing-parameter-defaults.patch b/target/linux/bcm27xx/patches-5.4/950-0212-bcmgenet-Better-coalescing-parameter-defaults.patch index f2e829aec3..58418ce973 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0212-bcmgenet-Better-coalescing-parameter-defaults.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0212-bcmgenet-Better-coalescing-parameter-defaults.patch @@ -18,7 +18,7 @@ Signed-off-by: Phil Elwell --- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c +++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c -@@ -2145,7 +2145,7 @@ static void bcmgenet_init_tx_ring(struct +@@ -2147,7 +2147,7 @@ static void bcmgenet_init_tx_ring(struct bcmgenet_tdma_ring_writel(priv, index, 0, TDMA_PROD_INDEX); bcmgenet_tdma_ring_writel(priv, index, 0, TDMA_CONS_INDEX); @@ -27,7 +27,7 @@ Signed-off-by: Phil Elwell /* Disable rate control for now */ bcmgenet_tdma_ring_writel(priv, index, flow_period_val, TDMA_FLOW_PERIOD); -@@ -3567,9 +3567,12 @@ static int bcmgenet_probe(struct platfor +@@ -3570,9 +3570,12 @@ static int bcmgenet_probe(struct platfor netif_set_real_num_rx_queues(priv->dev, priv->hw_params->rx_queues + 1); /* Set default coalescing parameters */ diff --git a/target/linux/bcm27xx/patches-5.4/950-0222-usb-add-plumbing-for-updating-interrupt-endpoint-int.patch b/target/linux/bcm27xx/patches-5.4/950-0222-usb-add-plumbing-for-updating-interrupt-endpoint-int.patch index fe1d069c20..127e91cd24 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0222-usb-add-plumbing-for-updating-interrupt-endpoint-int.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0222-usb-add-plumbing-for-updating-interrupt-endpoint-int.patch @@ -46,7 +46,7 @@ Signed-off-by: Jonathan Bell * have been called previously. Use for set_configuration, set_interface, --- a/drivers/usb/core/message.c +++ b/drivers/usb/core/message.c -@@ -1113,6 +1113,21 @@ static void remove_intf_ep_devs(struct u +@@ -1120,6 +1120,21 @@ static void remove_intf_ep_devs(struct u intf->ep_devs_created = 0; } diff --git a/target/linux/bcm27xx/patches-5.4/950-0268-xhci-add-quirk-for-host-controllers-that-don-t-updat.patch b/target/linux/bcm27xx/patches-5.4/950-0268-xhci-add-quirk-for-host-controllers-that-don-t-updat.patch index afddaa9462..6dba6fbc5f 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0268-xhci-add-quirk-for-host-controllers-that-don-t-updat.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0268-xhci-add-quirk-for-host-controllers-that-don-t-updat.patch @@ -48,7 +48,7 @@ Signed-off-by: Jonathan Bell dma_addr_t addr; u64 hw_dequeue; bool cycle_found = false; -@@ -548,7 +551,28 @@ void xhci_find_new_dequeue_state(struct +@@ -565,7 +568,28 @@ void xhci_find_new_dequeue_state(struct hw_dequeue = xhci_get_hw_deq(xhci, dev, ep_index, stream_id); new_seg = ep_ring->deq_seg; new_deq = ep_ring->dequeue; @@ -80,7 +80,7 @@ Signed-off-by: Jonathan Bell /* --- a/drivers/usb/host/xhci.h +++ b/drivers/usb/host/xhci.h -@@ -1872,6 +1872,7 @@ struct xhci_hcd { +@@ -1873,6 +1873,7 @@ struct xhci_hcd { #define XHCI_DEFAULT_PM_RUNTIME_ALLOW BIT_ULL(33) #define XHCI_RESET_PLL_ON_DISCONNECT BIT_ULL(34) #define XHCI_SNPS_BROKEN_SUSPEND BIT_ULL(35) diff --git a/target/linux/bcm27xx/patches-5.4/950-0296-net-bcmgenet-Workaround-2-for-Pi4-Ethernet-fail.patch b/target/linux/bcm27xx/patches-5.4/950-0296-net-bcmgenet-Workaround-2-for-Pi4-Ethernet-fail.patch index 73f92187f2..e52b4e9022 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0296-net-bcmgenet-Workaround-2-for-Pi4-Ethernet-fail.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0296-net-bcmgenet-Workaround-2-for-Pi4-Ethernet-fail.patch @@ -38,7 +38,7 @@ Signed-off-by: Phil Elwell static inline void bcmgenet_writel(u32 value, void __iomem *offset) { /* MIPS chips strapped for BE will automagically configure the -@@ -1991,6 +1995,11 @@ static void reset_umac(struct bcmgenet_p +@@ -1993,6 +1997,11 @@ static void reset_umac(struct bcmgenet_p bcmgenet_rbuf_ctrl_set(priv, 0); udelay(10); diff --git a/target/linux/bcm27xx/patches-5.4/950-0318-dma-direct-Temporary-DMA-fix-on-arm64.patch b/target/linux/bcm27xx/patches-5.4/950-0318-dma-direct-Temporary-DMA-fix-on-arm64.patch index e368ae6cd9..327a77c424 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0318-dma-direct-Temporary-DMA-fix-on-arm64.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0318-dma-direct-Temporary-DMA-fix-on-arm64.patch @@ -12,7 +12,7 @@ Signed-off-by: Phil Elwell --- a/kernel/dma/direct.c +++ b/kernel/dma/direct.c -@@ -397,7 +397,7 @@ int dma_direct_supported(struct device * +@@ -398,7 +398,7 @@ int dma_direct_supported(struct device * if (IS_ENABLED(CONFIG_ZONE_DMA)) min_mask = DMA_BIT_MASK(ARCH_ZONE_DMA_BITS); else diff --git a/target/linux/bcm27xx/patches-5.4/950-0341-drm-v3d-The-third-IRQ-is-optional.patch b/target/linux/bcm27xx/patches-5.4/950-0341-drm-v3d-The-third-IRQ-is-optional.patch index ea583b105a..e58d8af2d0 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0341-drm-v3d-The-third-IRQ-is-optional.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0341-drm-v3d-The-third-IRQ-is-optional.patch @@ -13,7 +13,7 @@ Signed-off-by: Phil Elwell --- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c +++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c -@@ -3468,7 +3468,7 @@ static int bcmgenet_probe(struct platfor +@@ -3471,7 +3471,7 @@ static int bcmgenet_probe(struct platfor priv = netdev_priv(dev); priv->irq0 = platform_get_irq(pdev, 0); priv->irq1 = platform_get_irq(pdev, 1); diff --git a/target/linux/bcm27xx/patches-5.4/950-0450-dma-direct-turn-ARCH_ZONE_DMA_BITS-into-a-variable.patch b/target/linux/bcm27xx/patches-5.4/950-0450-dma-direct-turn-ARCH_ZONE_DMA_BITS-into-a-variable.patch index 5de73d37f7..c3ae61c993 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0450-dma-direct-turn-ARCH_ZONE_DMA_BITS-into-a-variable.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0450-dma-direct-turn-ARCH_ZONE_DMA_BITS-into-a-variable.patch @@ -175,7 +175,7 @@ Signed-off-by: Catalin Marinas static void report_addr(struct device *dev, dma_addr_t dma_addr, size_t size) { -@@ -69,7 +68,7 @@ static gfp_t __dma_direct_optimal_gfp_ma +@@ -70,7 +69,7 @@ static gfp_t __dma_direct_optimal_gfp_ma * Note that GFP_DMA32 and GFP_DMA are no ops without the corresponding * zones. */ @@ -184,7 +184,7 @@ Signed-off-by: Catalin Marinas return GFP_DMA; if (*phys_mask <= DMA_BIT_MASK(32)) return GFP_DMA32; -@@ -395,7 +394,7 @@ int dma_direct_supported(struct device * +@@ -396,7 +395,7 @@ int dma_direct_supported(struct device * u64 min_mask; if (IS_ENABLED(CONFIG_ZONE_DMA)) diff --git a/target/linux/bcm27xx/patches-5.4/950-0452-PCI-of-Add-inbound-resource-parsing-to-helpers.patch b/target/linux/bcm27xx/patches-5.4/950-0452-PCI-of-Add-inbound-resource-parsing-to-helpers.patch index 0d74bc57ad..987351c1fc 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0452-PCI-of-Add-inbound-resource-parsing-to-helpers.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0452-PCI-of-Add-inbound-resource-parsing-to-helpers.patch @@ -382,7 +382,7 @@ Cc: linux-rockchip@lists.infradead.org --- a/drivers/pci/pci.h +++ b/drivers/pci/pci.h -@@ -636,11 +636,15 @@ static inline void pci_release_bus_of_no +@@ -637,11 +637,15 @@ static inline void pci_release_bus_of_no #if defined(CONFIG_OF_ADDRESS) int devm_of_pci_get_host_bridge_resources(struct device *dev, unsigned char busno, unsigned char bus_max, diff --git a/target/linux/bcm27xx/patches-5.4/950-0455-dma-direct-exclude-dma_direct_map_resource-from-the-.patch b/target/linux/bcm27xx/patches-5.4/950-0455-dma-direct-exclude-dma_direct_map_resource-from-the-.patch index 94a1329d84..dca3fbfb57 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0455-dma-direct-exclude-dma_direct_map_resource-from-the-.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0455-dma-direct-exclude-dma_direct_map_resource-from-the-.patch @@ -84,7 +84,7 @@ Tested-by: Marek Szyprowski --- a/kernel/dma/direct.c +++ b/kernel/dma/direct.c -@@ -325,7 +325,7 @@ static inline bool dma_direct_possible(s +@@ -326,7 +326,7 @@ static inline bool dma_direct_possible(s size_t size) { return swiotlb_force != SWIOTLB_FORCE && @@ -93,7 +93,7 @@ Tested-by: Marek Szyprowski } dma_addr_t dma_direct_map_page(struct device *dev, struct page *page, -@@ -374,7 +374,7 @@ dma_addr_t dma_direct_map_resource(struc +@@ -375,7 +375,7 @@ dma_addr_t dma_direct_map_resource(struc { dma_addr_t dma_addr = paddr; diff --git a/target/linux/bcm27xx/patches-5.4/950-0456-dma-mapping-treat-dev-bus_dma_mask-as-a-DMA-limit.patch b/target/linux/bcm27xx/patches-5.4/950-0456-dma-mapping-treat-dev-bus_dma_mask-as-a-DMA-limit.patch index 155e18936a..162a91c530 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0456-dma-mapping-treat-dev-bus_dma_mask-as-a-DMA-limit.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0456-dma-mapping-treat-dev-bus_dma_mask-as-a-DMA-limit.patch @@ -296,7 +296,7 @@ Signed-off-by: Christoph Hellwig } WARN_ON_ONCE(1); } -@@ -50,15 +50,14 @@ u64 dma_direct_get_required_mask(struct +@@ -51,15 +51,14 @@ u64 dma_direct_get_required_mask(struct } static gfp_t __dma_direct_optimal_gfp_mask(struct device *dev, u64 dma_mask, @@ -316,7 +316,7 @@ Signed-off-by: Christoph Hellwig /* * Optimistically try the zone that the physical address mask falls -@@ -68,9 +67,9 @@ static gfp_t __dma_direct_optimal_gfp_ma +@@ -69,9 +68,9 @@ static gfp_t __dma_direct_optimal_gfp_ma * Note that GFP_DMA32 and GFP_DMA are no ops without the corresponding * zones. */ @@ -328,7 +328,7 @@ Signed-off-by: Christoph Hellwig return GFP_DMA32; return 0; } -@@ -78,7 +77,7 @@ static gfp_t __dma_direct_optimal_gfp_ma +@@ -79,7 +78,7 @@ static gfp_t __dma_direct_optimal_gfp_ma static bool dma_coherent_ok(struct device *dev, phys_addr_t phys, size_t size) { return phys_to_dma_direct(dev, phys) + size - 1 <= @@ -337,7 +337,7 @@ Signed-off-by: Christoph Hellwig } struct page *__dma_direct_alloc_pages(struct device *dev, size_t size, -@@ -87,7 +86,7 @@ struct page *__dma_direct_alloc_pages(st +@@ -88,7 +87,7 @@ struct page *__dma_direct_alloc_pages(st size_t alloc_size = PAGE_ALIGN(size); int node = dev_to_node(dev); struct page *page = NULL; @@ -346,7 +346,7 @@ Signed-off-by: Christoph Hellwig if (attrs & DMA_ATTR_NO_WARN) gfp |= __GFP_NOWARN; -@@ -95,7 +94,7 @@ struct page *__dma_direct_alloc_pages(st +@@ -96,7 +95,7 @@ struct page *__dma_direct_alloc_pages(st /* we always manually zero the memory once we are done: */ gfp &= ~__GFP_ZERO; gfp |= __dma_direct_optimal_gfp_mask(dev, dev->coherent_dma_mask, @@ -355,7 +355,7 @@ Signed-off-by: Christoph Hellwig page = dma_alloc_contiguous(dev, alloc_size, gfp); if (page && !dma_coherent_ok(dev, page_to_phys(page), size)) { dma_free_contiguous(dev, page, alloc_size); -@@ -109,7 +108,7 @@ again: +@@ -110,7 +109,7 @@ again: page = NULL; if (IS_ENABLED(CONFIG_ZONE_DMA32) && diff --git a/target/linux/bcm53xx/patches-5.4/180-usb-xhci-add-support-for-performing-fake-doorbell.patch b/target/linux/bcm53xx/patches-5.4/180-usb-xhci-add-support-for-performing-fake-doorbell.patch index d0ffcee460..4c4db76b01 100644 --- a/target/linux/bcm53xx/patches-5.4/180-usb-xhci-add-support-for-performing-fake-doorbell.patch +++ b/target/linux/bcm53xx/patches-5.4/180-usb-xhci-add-support-for-performing-fake-doorbell.patch @@ -127,7 +127,7 @@ it on BCM4708 family. /* --- a/drivers/usb/host/xhci.h +++ b/drivers/usb/host/xhci.h -@@ -1872,6 +1872,7 @@ struct xhci_hcd { +@@ -1873,6 +1873,7 @@ struct xhci_hcd { #define XHCI_DEFAULT_PM_RUNTIME_ALLOW BIT_ULL(33) #define XHCI_RESET_PLL_ON_DISCONNECT BIT_ULL(34) #define XHCI_SNPS_BROKEN_SUSPEND BIT_ULL(35) diff --git a/target/linux/generic/backport-5.4/750-v5.5-net-phy-add-support-for-clause-37-auto-negotiation.patch b/target/linux/generic/backport-5.4/750-v5.5-net-phy-add-support-for-clause-37-auto-negotiation.patch index da76523730..855c4d2aac 100644 --- a/target/linux/generic/backport-5.4/750-v5.5-net-phy-add-support-for-clause-37-auto-negotiation.patch +++ b/target/linux/generic/backport-5.4/750-v5.5-net-phy-add-support-for-clause-37-auto-negotiation.patch @@ -18,15 +18,12 @@ Signed-off-by: David S. Miller include/linux/phy.h | 4 + 2 files changed, 143 insertions(+) -diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c -index f1f60bd4865a..fa71998fea51 100644 --- a/drivers/net/phy/phy_device.c +++ b/drivers/net/phy/phy_device.c -@@ -1607,6 +1607,40 @@ static int genphy_config_advert(struct phy_device *phydev) - return changed; +@@ -1679,6 +1679,40 @@ static int genphy_config_advert(struct p } -+/** + /** + * genphy_c37_config_advert - sanitize and advertise auto-negotiation parameters + * @phydev: target phy_device struct + * @@ -60,14 +57,14 @@ index f1f60bd4865a..fa71998fea51 100644 + adv); +} + - /** ++/** * genphy_config_eee_advert - disable unwanted eee mode advertisement * @phydev: target phy_device struct -@@ -1715,6 +1749,54 @@ int __genphy_config_aneg(struct phy_device *phydev, bool changed) - } + * +@@ -1787,6 +1821,54 @@ int __genphy_config_aneg(struct phy_devi EXPORT_SYMBOL(__genphy_config_aneg); -+/** + /** + * genphy_c37_config_aneg - restart auto-negotiation or write BMCR + * @phydev: target phy_device struct + * @@ -115,14 +112,14 @@ index f1f60bd4865a..fa71998fea51 100644 +} +EXPORT_SYMBOL(genphy_c37_config_aneg); + - /** ++/** * genphy_aneg_done - return auto-negotiation status * @phydev: target phy_device struct -@@ -1886,6 +1968,63 @@ int genphy_read_status(struct phy_device *phydev) - } + * +@@ -1958,6 +2040,63 @@ int genphy_read_status(struct phy_device EXPORT_SYMBOL(genphy_read_status); -+/** + /** + * genphy_c37_read_status - check the link status and update current link state + * @phydev: target phy_device struct + * @@ -179,14 +176,13 @@ index f1f60bd4865a..fa71998fea51 100644 +} +EXPORT_SYMBOL(genphy_c37_read_status); + - /** ++/** * genphy_soft_reset - software reset the PHY via BMCR_RESET bit * @phydev: target phy_device struct -diff --git a/include/linux/phy.h b/include/linux/phy.h -index 9a0e981df502..78436d58ce7c 100644 + * --- a/include/linux/phy.h +++ b/include/linux/phy.h -@@ -1106,6 +1106,10 @@ int genphy_read_mmd_unsupported(struct phy_device *phdev, int devad, +@@ -1120,6 +1120,10 @@ int genphy_read_mmd_unsupported(struct p int genphy_write_mmd_unsupported(struct phy_device *phdev, int devnum, u16 regnum, u16 val); diff --git a/target/linux/generic/config-5.4 b/target/linux/generic/config-5.4 index 21dd447cdf..a4ff887aa1 100644 --- a/target/linux/generic/config-5.4 +++ b/target/linux/generic/config-5.4 @@ -306,6 +306,7 @@ CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=8 # CONFIG_ARM64_ERRATUM_843419 is not set # CONFIG_ARM64_ERRATUM_845719 is not set # CONFIG_ARM64_ERRATUM_858921 is not set +# CONFIG_ARM64_ERRATUM_1542419 is not set # CONFIG_ARM64_HW_AFDBM is not set # CONFIG_ARM64_LSE_ATOMICS is not set # CONFIG_ARM64_MODULE_PLTS is not set diff --git a/target/linux/generic/hack-5.4/550-loop-Report-EOPNOTSUPP-properly.patch b/target/linux/generic/hack-5.4/550-loop-Report-EOPNOTSUPP-properly.patch index 479513bf54..754c01be1b 100644 --- a/target/linux/generic/hack-5.4/550-loop-Report-EOPNOTSUPP-properly.patch +++ b/target/linux/generic/hack-5.4/550-loop-Report-EOPNOTSUPP-properly.patch @@ -18,7 +18,7 @@ Reviewed-by: Bart Van Assche --- a/drivers/block/loop.c +++ b/drivers/block/loop.c -@@ -461,7 +461,7 @@ static void lo_complete_rq(struct reques +@@ -462,7 +462,7 @@ static void lo_complete_rq(struct reques if (!cmd->use_aio || cmd->ret < 0 || cmd->ret == blk_rq_bytes(rq) || req_op(rq) != REQ_OP_READ) { if (cmd->ret < 0) @@ -27,7 +27,7 @@ Reviewed-by: Bart Van Assche goto end_io; } -@@ -1950,7 +1950,10 @@ static void loop_handle_cmd(struct loop_ +@@ -1970,7 +1970,10 @@ static void loop_handle_cmd(struct loop_ failed: /* complete non-aio request */ if (!cmd->use_aio || ret) { diff --git a/target/linux/generic/hack-5.4/551-loop-Better-discard-support-for-block-devices.patch b/target/linux/generic/hack-5.4/551-loop-Better-discard-support-for-block-devices.patch deleted file mode 100644 index 38091290aa..0000000000 --- a/target/linux/generic/hack-5.4/551-loop-Better-discard-support-for-block-devices.patch +++ /dev/null @@ -1,101 +0,0 @@ -From 3117c3f45edbcc269baaebd3d13f39b7bf884aa6 Mon Sep 17 00:00:00 2001 -From: Evan Green -Date: Thu, 14 Nov 2019 15:50:08 -0800 -Subject: loop: Better discard support for block devices - -If the backing device for a loop device is itself a block device, -then mirror the "write zeroes" capabilities of the underlying -block device into the loop device. Copy this capability into both -max_write_zeroes_sectors and max_discard_sectors of the loop device. - -The reason for this is that REQ_OP_DISCARD on a loop device translates -into blkdev_issue_zeroout(), rather than blkdev_issue_discard(). This -presents a consistent interface for loop devices (that discarded data -is zeroed), regardless of the backing device type of the loop device. -There should be no behavior change for loop devices backed by regular -files. - -This change fixes blktest block/003, and removes an extraneous -error print in block/013 when testing on a loop device backed -by a block device that does not support discard. - -Signed-off-by: Evan Green -Reviewed-by: Gwendal Grignou -Reviewed-by: Chaitanya Kulkarni ---- - drivers/block/loop.c | 40 +++++++++++++++++++++++++++++----------- - 1 file changed, 29 insertions(+), 11 deletions(-) - ---- a/drivers/block/loop.c -+++ b/drivers/block/loop.c -@@ -427,11 +427,12 @@ static int lo_fallocate(struct loop_devi - * information. - */ - struct file *file = lo->lo_backing_file; -+ struct request_queue *q = lo->lo_queue; - int ret; - - mode |= FALLOC_FL_KEEP_SIZE; - -- if ((!file->f_op->fallocate) || lo->lo_encrypt_key_size) { -+ if (!blk_queue_discard(q)) { - ret = -EOPNOTSUPP; - goto out; - } -@@ -862,6 +863,21 @@ static void loop_config_discard(struct l - struct file *file = lo->lo_backing_file; - struct inode *inode = file->f_mapping->host; - struct request_queue *q = lo->lo_queue; -+ struct request_queue *backingq; -+ -+ /* -+ * If the backing device is a block device, mirror its zeroing -+ * capability. REQ_OP_DISCARD translates to a zero-out even when backed -+ * by block devices to keep consistent behavior with file-backed loop -+ * devices. -+ */ -+ if (S_ISBLK(inode->i_mode) && !lo->lo_encrypt_key_size) { -+ backingq = bdev_get_queue(inode->i_bdev); -+ blk_queue_max_discard_sectors(q, -+ backingq->limits.max_write_zeroes_sectors); -+ -+ blk_queue_max_write_zeroes_sectors(q, -+ backingq->limits.max_write_zeroes_sectors); - - /* - * We use punch hole to reclaim the free space used by the -@@ -869,22 +885,24 @@ static void loop_config_discard(struct l - * encryption is enabled, because it may give an attacker - * useful information. - */ -- if ((!file->f_op->fallocate) || -- lo->lo_encrypt_key_size) { -+ } else if ((!file->f_op->fallocate) || lo->lo_encrypt_key_size) { - q->limits.discard_granularity = 0; - q->limits.discard_alignment = 0; - blk_queue_max_discard_sectors(q, 0); - blk_queue_max_write_zeroes_sectors(q, 0); -- blk_queue_flag_clear(QUEUE_FLAG_DISCARD, q); -- return; -- } - -- q->limits.discard_granularity = inode->i_sb->s_blocksize; -- q->limits.discard_alignment = 0; -+ } else { -+ q->limits.discard_granularity = inode->i_sb->s_blocksize; -+ q->limits.discard_alignment = 0; - -- blk_queue_max_discard_sectors(q, UINT_MAX >> 9); -- blk_queue_max_write_zeroes_sectors(q, UINT_MAX >> 9); -- blk_queue_flag_set(QUEUE_FLAG_DISCARD, q); -+ blk_queue_max_discard_sectors(q, UINT_MAX >> 9); -+ blk_queue_max_write_zeroes_sectors(q, UINT_MAX >> 9); -+ } -+ -+ if (q->limits.max_write_zeroes_sectors) -+ blk_queue_flag_set(QUEUE_FLAG_DISCARD, q); -+ else -+ blk_queue_flag_clear(QUEUE_FLAG_DISCARD, q); - } - - static void loop_unprepare_queue(struct loop_device *lo) diff --git a/target/linux/generic/hack-5.4/702-phy_add_aneg_done_function.patch b/target/linux/generic/hack-5.4/702-phy_add_aneg_done_function.patch index f82cef1f94..f58b190025 100644 --- a/target/linux/generic/hack-5.4/702-phy_add_aneg_done_function.patch +++ b/target/linux/generic/hack-5.4/702-phy_add_aneg_done_function.patch @@ -15,7 +15,7 @@ --- a/drivers/net/phy/phy_device.c +++ b/drivers/net/phy/phy_device.c -@@ -1827,6 +1827,9 @@ int genphy_update_link(struct phy_device +@@ -1909,6 +1909,9 @@ int genphy_update_link(struct phy_device if (bmcr & BMCR_ANRESTART) goto done; diff --git a/target/linux/generic/hack-5.4/902-debloat_proc.patch b/target/linux/generic/hack-5.4/902-debloat_proc.patch index f652751339..d2acd40e19 100644 --- a/target/linux/generic/hack-5.4/902-debloat_proc.patch +++ b/target/linux/generic/hack-5.4/902-debloat_proc.patch @@ -235,7 +235,7 @@ Signed-off-by: Felix Fietkau if (!pe) --- a/mm/vmalloc.c +++ b/mm/vmalloc.c -@@ -3552,6 +3552,8 @@ static const struct seq_operations vmall +@@ -3562,6 +3562,8 @@ static const struct seq_operations vmall static int __init proc_vmalloc_init(void) { diff --git a/target/linux/ramips/patches-5.4/991-at803x.patch b/target/linux/ramips/patches-5.4/991-at803x.patch index 60afe2a35f..dd1d2755ed 100644 --- a/target/linux/ramips/patches-5.4/991-at803x.patch +++ b/target/linux/ramips/patches-5.4/991-at803x.patch @@ -12,11 +12,9 @@ Signed-off-by: René van Dorst drivers/net/phy/at803x.c | 74 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) -diff --git a/drivers/net/phy/at803x.c b/drivers/net/phy/at803x.c -index 481cf48c9b9e4..a6536ecf15db4 100644 --- a/drivers/net/phy/at803x.c +++ b/drivers/net/phy/at803x.c -@@ -19,6 +19,7 @@ +@@ -14,6 +14,7 @@ #include #include #include @@ -24,7 +22,7 @@ index 481cf48c9b9e4..a6536ecf15db4 100644 #define AT803X_SPECIFIC_STATUS 0x11 #define AT803X_SS_SPEED_MASK (3 << 14) -@@ -57,9 +58,18 @@ +@@ -53,9 +54,18 @@ #define AT803X_MODE_CFG_MASK 0x0F #define AT803X_MODE_CFG_SGMII 0x01 @@ -43,8 +41,8 @@ index 481cf48c9b9e4..a6536ecf15db4 100644 #define AT803X_DEBUG_REG_0 0x00 #define AT803X_DEBUG_RX_CLK_DLY_EN BIT(15) -@@ -475,10 +485,56 @@ static int at803x_parse_dt(struct phy_device *phydev) - return 0; +@@ -243,10 +253,56 @@ static int at803x_resume(struct phy_devi + return phy_modify(phydev, MII_BMCR, BMCR_PDOWN | BMCR_ISOLATE, 0); } +static int at803x_mode(struct phy_device *phydev) @@ -100,7 +98,7 @@ index 481cf48c9b9e4..a6536ecf15db4 100644 priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL); if (!priv) -@@ -658,6 +714,10 @@ static int at803x_read_status(struct phy_device *phydev) +@@ -394,6 +450,10 @@ static int at803x_read_status(struct phy { int ss, err, old_link = phydev->link; @@ -111,7 +109,7 @@ index 481cf48c9b9e4..a6536ecf15db4 100644 /* Update the link, but return if there was an error */ err = genphy_update_link(phydev); if (err) -@@ -712,6 +772,19 @@ static int at803x_read_status(struct phy_device *phydev) +@@ -448,6 +508,19 @@ static int at803x_read_status(struct phy return 0; } @@ -130,8 +128,8 @@ index 481cf48c9b9e4..a6536ecf15db4 100644 + static struct phy_driver at803x_driver[] = { { - /* Qualcomm Atheros AR8035 */ -@@ -758,6 +831,7 @@ static struct phy_driver at803x_driver[] = { + /* ATHEROS 8035 */ +@@ -491,6 +564,7 @@ static struct phy_driver at803x_driver[] .suspend = at803x_suspend, .resume = at803x_resume, /* PHY_GBIT_FEATURES */