2024-03-17 22:32:27

by Rafał Miłecki

[permalink] [raw]
Subject: [PATCH V3 0/4] dts: mediatek: add Cudy WR3000 V1 wireless router

From: Rafał Miłecki <[email protected]>

Cudy WR3000 V1 is a MediaTek Filogic 820 based 802.11ax wireless router.

https://www.cudy.com/productinfo/1637722.html

Rafał Miłecki (4):
dt-bindings: vendor-prefixes: add Cudy
dt-bindings: arm64: dts: mediatek: Add Cudy WR3000 V1 router
arm64: dts: mediatek: mt7981: add pinctrl
arm64: dts: mediatek: Add Cudy WR3000 V1

.../devicetree/bindings/arm/mediatek.yaml | 1 +
.../devicetree/bindings/vendor-prefixes.yaml | 2 +
arch/arm64/boot/dts/mediatek/Makefile | 1 +
.../dts/mediatek/mt7981b-cudy-wr3000-v1.dts | 74 +++++++++++++++++++
arch/arm64/boot/dts/mediatek/mt7981b.dtsi | 22 ++++++
5 files changed, 100 insertions(+)
create mode 100644 arch/arm64/boot/dts/mediatek/mt7981b-cudy-wr3000-v1.dts

--
2.35.3



2024-03-17 22:32:54

by Rafał Miłecki

[permalink] [raw]
Subject: [PATCH V3 2/4] dt-bindings: arm64: dts: mediatek: Add Cudy WR3000 V1 router

From: Rafał Miłecki <[email protected]>

Cudy WR3000 V1 is an MT7981B (AKA Filogic 820) based wireless router.

Signed-off-by: Rafał Miłecki <[email protected]>
Acked-by: Krzysztof Kozlowski <[email protected]>
Reviewed-by: AngeloGioacchino Del Regno <[email protected]>
---
Documentation/devicetree/bindings/arm/mediatek.yaml | 1 +
1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/arm/mediatek.yaml b/Documentation/devicetree/bindings/arm/mediatek.yaml
index 09f9ffd3ff7b..1cf47db94c57 100644
--- a/Documentation/devicetree/bindings/arm/mediatek.yaml
+++ b/Documentation/devicetree/bindings/arm/mediatek.yaml
@@ -85,6 +85,7 @@ properties:
- const: mediatek,mt7629
- items:
- enum:
+ - cudy,wr3000-v1
- xiaomi,ax3000t
- const: mediatek,mt7981b
- items:
--
2.35.3


2024-03-17 22:33:08

by Rafał Miłecki

[permalink] [raw]
Subject: [PATCH V3 1/4] dt-bindings: vendor-prefixes: add Cudy

From: Rafał Miłecki <[email protected]>

Cudy is a Chinese company providing networking products.

Signed-off-by: Rafał Miłecki <[email protected]>
Acked-by: Krzysztof Kozlowski <[email protected]>
Reviewed-by: AngeloGioacchino Del Regno <[email protected]>
---
Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
1 file changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
index b97d298b3eb6..8e0dc4a138b1 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
@@ -334,6 +334,8 @@ patternProperties:
description: Czech Technical University in Prague
"^cubietech,.*":
description: Cubietech, Ltd.
+ "^cudy,.*":
+ description: Shenzhen Cudy Technology Co., Ltd.
"^cui,.*":
description: CUI Devices
"^cypress,.*":
--
2.35.3


2024-03-17 22:33:10

by Rafał Miłecki

[permalink] [raw]
Subject: [PATCH V3 3/4] arm64: dts: mediatek: mt7981: add pinctrl

From: Rafał Miłecki <[email protected]>

MT7981 contains on-SoC PIN controller that is also a GPIO provider.

Signed-off-by: Rafał Miłecki <[email protected]>
Reviewed-by: AngeloGioacchino Del Regno <[email protected]>
---
V2: Drop board specific code

arch/arm64/boot/dts/mediatek/mt7981b.dtsi | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)

diff --git a/arch/arm64/boot/dts/mediatek/mt7981b.dtsi b/arch/arm64/boot/dts/mediatek/mt7981b.dtsi
index a187a34d12ee..5674ac81d1f8 100644
--- a/arch/arm64/boot/dts/mediatek/mt7981b.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt7981b.dtsi
@@ -94,6 +94,28 @@ pwm@10048000 {
#pwm-cells = <2>;
};

+ pio: pinctrl@11d00000 {
+ compatible = "mediatek,mt7981-pinctrl";
+ reg = <0 0x11d00000 0 0x1000>,
+ <0 0x11c00000 0 0x1000>,
+ <0 0x11c10000 0 0x1000>,
+ <0 0x11d20000 0 0x1000>,
+ <0 0x11e00000 0 0x1000>,
+ <0 0x11e20000 0 0x1000>,
+ <0 0x11f00000 0 0x1000>,
+ <0 0x11f10000 0 0x1000>,
+ <0 0x1000b000 0 0x1000>;
+ reg-names = "gpio", "iocfg_rt", "iocfg_rm", "iocfg_rb", "iocfg_lb",
+ "iocfg_bl", "iocfg_tm", "iocfg_tl", "eint";
+ interrupt-controller;
+ interrupts = <GIC_SPI 225 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-parent = <&gic>;
+ gpio-ranges = <&pio 0 0 56>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ #interrupt-cells = <2>;
+ };
+
clock-controller@15000000 {
compatible = "mediatek,mt7981-ethsys", "syscon";
reg = <0 0x15000000 0 0x1000>;
--
2.35.3


2024-03-17 22:33:24

by Rafał Miłecki

[permalink] [raw]
Subject: [PATCH V3 4/4] arm64: dts: mediatek: Add Cudy WR3000 V1

From: Rafał Miłecki <[email protected]>

Cudy WR3000 V1 is an MT7981B (AKA Filogic 820) based wireless router. It
has 256 MiB of RAM, some LEDs & buttons and (not described yet) 4
Ethernet ports.

Signed-off-by: Rafał Miłecki <[email protected]>
---
V2: Reorder properties
Describe online LED
V3: Use LED_FUNCTION_WAN_ONLINE (present in torvalds/linux.git)

arch/arm64/boot/dts/mediatek/Makefile | 1 +
.../dts/mediatek/mt7981b-cudy-wr3000-v1.dts | 74 +++++++++++++++++++
2 files changed, 75 insertions(+)
create mode 100644 arch/arm64/boot/dts/mediatek/mt7981b-cudy-wr3000-v1.dts

diff --git a/arch/arm64/boot/dts/mediatek/Makefile b/arch/arm64/boot/dts/mediatek/Makefile
index 37b4ca3a87c9..96da4ad640aa 100644
--- a/arch/arm64/boot/dts/mediatek/Makefile
+++ b/arch/arm64/boot/dts/mediatek/Makefile
@@ -8,6 +8,7 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += mt6797-evb.dtb
dtb-$(CONFIG_ARCH_MEDIATEK) += mt6797-x20-dev.dtb
dtb-$(CONFIG_ARCH_MEDIATEK) += mt7622-rfb1.dtb
dtb-$(CONFIG_ARCH_MEDIATEK) += mt7622-bananapi-bpi-r64.dtb
+dtb-$(CONFIG_ARCH_MEDIATEK) += mt7981b-cudy-wr3000-v1.dtb
dtb-$(CONFIG_ARCH_MEDIATEK) += mt7981b-xiaomi-ax3000t.dtb
dtb-$(CONFIG_ARCH_MEDIATEK) += mt7986a-acelink-ew-7886cax.dtb
dtb-$(CONFIG_ARCH_MEDIATEK) += mt7986a-bananapi-bpi-r3.dtb
diff --git a/arch/arm64/boot/dts/mediatek/mt7981b-cudy-wr3000-v1.dts b/arch/arm64/boot/dts/mediatek/mt7981b-cudy-wr3000-v1.dts
new file mode 100644
index 000000000000..54101cc08a25
--- /dev/null
+++ b/arch/arm64/boot/dts/mediatek/mt7981b-cudy-wr3000-v1.dts
@@ -0,0 +1,74 @@
+// SPDX-License-Identifier: GPL-2.0-only OR MIT
+
+/dts-v1/;
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/leds/common.h>
+
+#include "mt7981b.dtsi"
+
+/ {
+ compatible = "cudy,wr3000-v1", "mediatek,mt7981b";
+ model = "Cudy WR3000 V1";
+
+ memory@40000000 {
+ reg = <0 0x40000000 0 0x10000000>;
+ device_type = "memory";
+ };
+
+ keys {
+ compatible = "gpio-keys";
+
+ key-wps {
+ label = "WPS";
+ gpios = <&pio 0 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_WPS_BUTTON>;
+ };
+
+ key-reset {
+ label = "RESET";
+ gpios = <&pio 1 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_RESTART>;
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ led-0 {
+ color = <LED_COLOR_ID_BLUE>;
+ function = LED_FUNCTION_WAN;
+ gpios = <&pio 5 GPIO_ACTIVE_LOW>;
+ };
+
+ led-1 {
+ color = <LED_COLOR_ID_BLUE>;
+ function = LED_FUNCTION_WLAN_2GHZ;
+ gpios = <&pio 6 GPIO_ACTIVE_LOW>;
+ };
+
+ led-2 {
+ color = <LED_COLOR_ID_BLUE>;
+ function = LED_FUNCTION_WLAN_5GHZ;
+ gpios = <&pio 7 GPIO_ACTIVE_LOW>;
+ };
+
+ led-3 {
+ color = <LED_COLOR_ID_BLUE>;
+ function = LED_FUNCTION_LAN;
+ gpios = <&pio 9 GPIO_ACTIVE_LOW>;
+ };
+
+ led-4 {
+ color = <LED_COLOR_ID_BLUE>;
+ function = LED_FUNCTION_STATUS;
+ gpios = <&pio 10 GPIO_ACTIVE_LOW>;
+ };
+
+ led-5 {
+ color = <LED_COLOR_ID_BLUE>;
+ function = LED_FUNCTION_WAN_ONLINE;
+ gpios = <&pio 11 GPIO_ACTIVE_LOW>;
+ };
+ };
+};
--
2.35.3


Subject: Re: [PATCH V3 4/4] arm64: dts: mediatek: Add Cudy WR3000 V1

Il 17/03/24 23:32, Rafał Miłecki ha scritto:
> From: Rafał Miłecki <[email protected]>
>
> Cudy WR3000 V1 is an MT7981B (AKA Filogic 820) based wireless router. It
> has 256 MiB of RAM, some LEDs & buttons and (not described yet) 4
> Ethernet ports.
>
> Signed-off-by: Rafał Miłecki <[email protected]>

Reviewed-by: AngeloGioacchino Del Regno <[email protected]>

> ---
> V2: Reorder properties
> Describe online LED
> V3: Use LED_FUNCTION_WAN_ONLINE (present in torvalds/linux.git)

I'm really happy that you managed to get that WAN_ONLINE definition in the common
leds binding, btw! :-)

>
> arch/arm64/boot/dts/mediatek/Makefile | 1 +
> .../dts/mediatek/mt7981b-cudy-wr3000-v1.dts | 74 +++++++++++++++++++
> 2 files changed, 75 insertions(+)
> create mode 100644 arch/arm64/boot/dts/mediatek/mt7981b-cudy-wr3000-v1.dts
>
> diff --git a/arch/arm64/boot/dts/mediatek/Makefile b/arch/arm64/boot/dts/mediatek/Makefile
> index 37b4ca3a87c9..96da4ad640aa 100644
> --- a/arch/arm64/boot/dts/mediatek/Makefile
> +++ b/arch/arm64/boot/dts/mediatek/Makefile
> @@ -8,6 +8,7 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += mt6797-evb.dtb
> dtb-$(CONFIG_ARCH_MEDIATEK) += mt6797-x20-dev.dtb
> dtb-$(CONFIG_ARCH_MEDIATEK) += mt7622-rfb1.dtb
> dtb-$(CONFIG_ARCH_MEDIATEK) += mt7622-bananapi-bpi-r64.dtb
> +dtb-$(CONFIG_ARCH_MEDIATEK) += mt7981b-cudy-wr3000-v1.dtb
> dtb-$(CONFIG_ARCH_MEDIATEK) += mt7981b-xiaomi-ax3000t.dtb
> dtb-$(CONFIG_ARCH_MEDIATEK) += mt7986a-acelink-ew-7886cax.dtb
> dtb-$(CONFIG_ARCH_MEDIATEK) += mt7986a-bananapi-bpi-r3.dtb
> diff --git a/arch/arm64/boot/dts/mediatek/mt7981b-cudy-wr3000-v1.dts b/arch/arm64/boot/dts/mediatek/mt7981b-cudy-wr3000-v1.dts
> new file mode 100644
> index 000000000000..54101cc08a25
> --- /dev/null
> +++ b/arch/arm64/boot/dts/mediatek/mt7981b-cudy-wr3000-v1.dts
> @@ -0,0 +1,74 @@
> +// SPDX-License-Identifier: GPL-2.0-only OR MIT
> +
> +/dts-v1/;
> +#include <dt-bindings/input/input.h>
> +#include <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/leds/common.h>
> +
> +#include "mt7981b.dtsi"
> +
> +/ {
> + compatible = "cudy,wr3000-v1", "mediatek,mt7981b";
> + model = "Cudy WR3000 V1";
> +
> + memory@40000000 {
> + reg = <0 0x40000000 0 0x10000000>;
> + device_type = "memory";
> + };
> +
> + keys {
> + compatible = "gpio-keys";
> +
> + key-wps {
> + label = "WPS";
> + gpios = <&pio 0 GPIO_ACTIVE_LOW>;
> + linux,code = <KEY_WPS_BUTTON>;
> + };
> +
> + key-reset {
> + label = "RESET";
> + gpios = <&pio 1 GPIO_ACTIVE_LOW>;
> + linux,code = <KEY_RESTART>;
> + };
> + };
> +
> + leds {
> + compatible = "gpio-leds";
> +
> + led-0 {
> + color = <LED_COLOR_ID_BLUE>;
> + function = LED_FUNCTION_WAN;
> + gpios = <&pio 5 GPIO_ACTIVE_LOW>;
> + };
> +
> + led-1 {
> + color = <LED_COLOR_ID_BLUE>;
> + function = LED_FUNCTION_WLAN_2GHZ;
> + gpios = <&pio 6 GPIO_ACTIVE_LOW>;
> + };
> +
> + led-2 {
> + color = <LED_COLOR_ID_BLUE>;
> + function = LED_FUNCTION_WLAN_5GHZ;
> + gpios = <&pio 7 GPIO_ACTIVE_LOW>;
> + };
> +
> + led-3 {
> + color = <LED_COLOR_ID_BLUE>;
> + function = LED_FUNCTION_LAN;
> + gpios = <&pio 9 GPIO_ACTIVE_LOW>;
> + };
> +
> + led-4 {
> + color = <LED_COLOR_ID_BLUE>;
> + function = LED_FUNCTION_STATUS;
> + gpios = <&pio 10 GPIO_ACTIVE_LOW>;
> + };
> +
> + led-5 {
> + color = <LED_COLOR_ID_BLUE>;
> + function = LED_FUNCTION_WAN_ONLINE;
> + gpios = <&pio 11 GPIO_ACTIVE_LOW>;
> + };
> + };
> +};



Subject: Re: [PATCH V3 0/4] dts: mediatek: add Cudy WR3000 V1 wireless router

On Sun, 17 Mar 2024 23:32:02 +0100, Rafał Miłecki wrote:
> From: Rafał Miłecki <[email protected]>
>
> Cudy WR3000 V1 is a MediaTek Filogic 820 based 802.11ax wireless router.
>
> https://www.cudy.com/productinfo/1637722.html
>
> Rafał Miłecki (4):
> dt-bindings: vendor-prefixes: add Cudy
> dt-bindings: arm64: dts: mediatek: Add Cudy WR3000 V1 router
> arm64: dts: mediatek: mt7981: add pinctrl
> arm64: dts: mediatek: Add Cudy WR3000 V1
>
> [...]

Applied to v6.9-next/dts64, thanks!

[1/4] dt-bindings: vendor-prefixes: add Cudy
(no commit info)
[2/4] dt-bindings: arm64: dts: mediatek: Add Cudy WR3000 V1 router
(no commit info)
[3/4] arm64: dts: mediatek: mt7981: add pinctrl
(no commit info)
[4/4] arm64: dts: mediatek: Add Cudy WR3000 V1
(no commit info)

Cheers,
Angelo