Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ramips: add support for Cudy X6 #4582

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
178 changes: 178 additions & 0 deletions target/linux/ramips/dts/mt7621_cudy_x6.dts
@@ -0,0 +1,178 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT

#include "mt7621.dtsi"

#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>

/ {
compatible = "cudy,x6", "mediatek,mt7621-soc";
model = "CUDY X6";

aliases {
led-boot = &led_internet_blue;
led-failsafe = &led_internet_blue;
led-running = &led_internet_blue;
led-upgrade = &led_internet_blue;
label-mac-device = &gmac0;
};

chosen {
bootargs = "console=ttyS0,115200";
};

keys {
compatible = "gpio-keys";

reset {
label = "reset";
gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};

wps {
label = "wps";
gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WPS_BUTTON>;
};
};

leds {
compatible = "gpio-leds";

led_internet_blue: internet_blue {
label = "blue:internet";
gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
};

internet_red {
label = "red:internet";
gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
};
};

};

&spi0 {
status = "okay";

flash@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <50000000>;

partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;

partition@0 {
label = "u-boot";
reg = <0x0 0x30000>;
read-only;
};

partition@30000 {
label = "u-boot-env";
reg = <0x30000 0x10000>;
read-only;
};

factory: partition@40000 {
label = "factory";
reg = <0x40000 0x10000>;
read-only;
};

partition@50000 {
compatible = "denx,uimage";
label = "firmware";
reg = <0x50000 0x1f80000>;
};

partition@1fd0000 {
label = "debug";
reg = <0x1fd0000 0x10000>;
read-only;
};

partition@1fe0000 {
label = "backup";
reg = <0x1fe0000 0x10000>;
read-only;
};

bdinfo: partition@1ff0000 {
label = "bdinfo";
reg = <0x1ff0000 0x10000>;
read-only;
};
};
};
};

&pcie {
status = "okay";
};

&pcie1 {
wifi@0,0 {
compatible = "mediatek,mt76";
reg = <0x0000 0 0 0 0>;
mediatek,mtd-eeprom = <&factory 0x0000>;
};
};

&gmac0 {
nvmem-cells = <&macaddr_bdinfo_de00>;
nvmem-cell-names = "mac-address";
};

&switch0 {
ports {
port@0 {
status = "okay";
label = "lan1";
};

port@1 {
status = "okay";
label = "lan2";
};

port@2 {
status = "okay";
label = "lan3";
};

port@3 {
status = "okay";
label = "lan4";
};

port@4 {
status = "okay";
label = "wan";
nvmem-cells = <&macaddr_bdinfo_de00>;
nvmem-cell-names = "mac-address";
mac-address-increment = <1>;
};
};
};

&state_default {
gpio {
groups = "wdt", "i2c", "jtag";
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't see any GPIOs for i2c?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I need a package to see them right? RN I'm cherry-picking my packages so there's a high probability that if this needs a package I don't have it installed (I'm saying that because I've seen the i2c section in menuconfig)

Copy link
Member

@adschm adschm Sep 25, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, essentially you just look which GPIOs you have used above and then put the corresponding groups here.
I've once compiled an Excel document for that.

You more or less have to extract the information from this file: https://github.com/torvalds/linux/blob/745ec436de7223fbe086be5123fe3014c4220611/drivers/pinctrl/ralink/pinctrl-mt7621.c or from the documentation on the board.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll look into it soon, meanwhile the manufacturer let you download this
image

idk if it's useful or not, just sharing my documentation.

function = "gpio";
};
};

&bdinfo {
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;

macaddr_bdinfo_de00: macaddr@de00 {
reg = <0xde00 0x6>;
};
};
10 changes: 10 additions & 0 deletions target/linux/ramips/image/mt7621.mk
Expand Up @@ -281,6 +281,16 @@ define Device/cudy_wr2100
endef
TARGET_DEVICES += cudy_wr2100

define Device/cudy_x6
$(Device/dsa-migration)
IMAGE_SIZE := 32256k
DEVICE_VENDOR := Cudy
DEVICE_MODEL := X6
UIMAGE_NAME := R13
DEVICE_PACKAGES := kmod-mt7915e
endef
TARGET_DEVICES += cudy_x6

define Device/dlink_dir-8xx-a1
$(Device/dsa-migration)
IMAGE_SIZE := 16000k
Expand Down