Skip to content

Commit

Permalink
mediatek: update openembed som7981 support
Browse files Browse the repository at this point in the history
The board has been redesigned due to previous hardware bugs
(with other reasons maybe).

Changes in new board:
- Added a gpio beeper
- Added a Atmel i2c eeprom
- Added a Atmel i2c ECC accelerator
- Added a Philips RTC module
- Added two RS485
- Removed WPS button
- Replaced USB3 port with M.2 B-key for LTE modules
- Swapped GbE LEDs gpio

Also assigned wifi mac with nvmem binding, added iface setup for failsafe,
increased phy assert time for rtl8221b, and updated LED labels.

Keeping compatibility for old version is not necessary here as only
few samples were sent to those interested in it.

Signed-off-by: Tianling Shen <[email protected]>
Link: openwrt/openwrt#17253
(cherry picked from commit 5a7fb83)
Link: openwrt/openwrt#17348
Signed-off-by: Hauke Mehrtens <[email protected]>
  • Loading branch information
1715173329 authored and hauke committed Dec 26, 2024
1 parent 48f9284 commit d9bbed6
Show file tree
Hide file tree
Showing 5 changed files with 99 additions and 27 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@ set_preinit_iface() {
case $(board_name) in
cudy,m3000-v1|\
cudy,tr3000-v1|\
glinet,gl-mt3000)
glinet,gl-mt3000|\
openembed,som7981)
ip link set eth1 up
ifname=eth1
;;
Expand Down
111 changes: 91 additions & 20 deletions target/linux/mediatek/dts/mt7981b-openembed-som7981.dts
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,10 @@
compatible = "openembed,som7981", "mediatek,mt7981";

aliases {
led-boot = &wlan2g_led;
led-failsafe = &wlan2g_led;
led-upgrade = &wlan2g_led;
led-boot = &act_led;
led-failsafe = &act_led;
led-running = &act_led;
led-upgrade = &act_led;
serial0 = &uart0;
};

Expand All @@ -26,6 +27,11 @@
reg = <0 0x40000000 0 0x40000000>;
};

beeper {
compatible = "gpio-beeper";
gpios = <&pio 2 GPIO_ACTIVE_HIGH>;
};

gpio-keys {
compatible = "gpio-keys";

Expand All @@ -34,41 +40,34 @@
linux,code = <KEY_RESTART>;
gpios = <&pio 1 GPIO_ACTIVE_LOW>;
};

button-wps {
label = "wps";
linux,code = <KEY_WPS_BUTTON>;
gpios = <&pio 0 GPIO_ACTIVE_LOW>;
};
};

gpio-leds {
compatible = "gpio-leds";

led-0 {
function = LED_FUNCTION_LAN;
color = <LED_COLOR_ID_AMBER>;
color = <LED_COLOR_ID_GREEN>;
gpios = <&pio 8 GPIO_ACTIVE_LOW>;
};

led-1 {
function = LED_FUNCTION_LAN;
color = <LED_COLOR_ID_GREEN>;
color = <LED_COLOR_ID_AMBER>;
gpios = <&pio 13 GPIO_ACTIVE_LOW>;
};

wlan2g_led: led-2 {
function = LED_FUNCTION_WLAN_2GHZ;
color = <LED_COLOR_ID_RED>;
led-2 {
function = LED_FUNCTION_PANIC;
color = <LED_COLOR_ID_GREEN>;
gpios = <&pio 34 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy0tpt";
panic-indicator;
};

led-3 {
function = LED_FUNCTION_WLAN_5GHZ;
act_led: led-3 {
function = LED_FUNCTION_ACTIVITY;
color = <LED_COLOR_ID_RED>;
gpios = <&pio 35 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy1tpt";
};
};
};
Expand Down Expand Up @@ -97,14 +96,38 @@
};
};

&i2c0 {
clock-frequency = <400000>;
pinctrl-names = "default";
pinctrl-0 = <&i2c0_pins>;
status = "okay";

eeprom@50 {
compatible = "atmel,24c64";
reg = <0x50>;
page-size = <32>;
};

rtc@51 {
compatible = "nxp,pcf8563";
reg = <0x51>;
#clock-cells = <0>;
};

crypto@60 {
compatible = "atmel,atecc508a";
reg = <0x60>;
};
};

&mdio_bus {
phy0: ethernet-phy@5 {
reg = <5>;
compatible = "ethernet-phy-ieee802.3-c45";
phy-mode = "2500base-x";
reset-gpios = <&pio 14 GPIO_ACTIVE_LOW>;
reset-assert-us = <10000>;
reset-deassert-us = <50000>;
reset-assert-us = <15000>;
reset-deassert-us = <68000>;
realtek,aldps-enable;
};
};
Expand Down Expand Up @@ -184,6 +207,13 @@
};

&pio {
i2c0_pins: i2c0-pins {
mux {
function = "i2c";
groups = "i2c0_1";
};
};

spi0_flash_pins: spi0-pins {
mux {
function = "spi";
Expand All @@ -202,12 +232,45 @@
mediatek,pull-down-adv = <0>;
};
};

uart1_pins: uart1-pins {
mux {
function = "uart";
groups = "uart1_3";
};
};

uart2_pins: uart2-pins {
mux {
function = "uart";
groups = "uart2_0_tx_rx";
};
};

wwan_rst_h: wwan-rst-h {
pins = "GPIO_WPS";
drive-strength = <8>;
mediatek,pull-down-adv = <0>;
output-low;
};
};

&uart0 {
status = "okay";
};

&uart1 {
pinctrl-names = "default";
pinctrl-0 = <&uart1_pins>;
status = "okay";
};

&uart2 {
pinctrl-names = "default";
pinctrl-0 = <&uart2_pins>;
status = "okay";
};

&usb_phy {
status = "okay";
};
Expand All @@ -220,8 +283,16 @@
nvmem-cells = <&eeprom_factory_0>;
nvmem-cell-names = "eeprom";
status = "okay";

band@1 {
reg = <1>;
nvmem-cells = <&macaddr_factory_a 0>;
nvmem-cell-names = "mac-address";
};
};

&xhci {
pinctrl-names = "default";
pinctrl-0 = <&wwan_rst_h>;
status = "okay";
};
4 changes: 2 additions & 2 deletions target/linux/mediatek/filogic/base-files/etc/board.d/01_leds
Original file line number Diff line number Diff line change
Expand Up @@ -67,8 +67,8 @@ nokia,ea0326gmp)
ucidef_set_led_netdev "wlan" "WLAN" "green:wlan" "phy1-ap0" "link"
;;
openembed,som7981)
ucidef_set_led_netdev "lanact" "LANACT" "green:lan" "eth1" "rx tx"
ucidef_set_led_netdev "lanlink" "LANLINK" "amber:lan" "eth1" "link"
ucidef_set_led_netdev "lanact" "LANACT" "amber:lan" "eth1" "rx tx"
ucidef_set_led_netdev "lanlink" "LANLINK" "green:lan" "eth1" "link"
;;
openwrt,one)
ucidef_set_led_netdev "wanact" "WANACT" "mdio-bus:0f:green:wan" "eth0" "rx tx"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -131,9 +131,6 @@ case "$board" in
[ "$PHYNBR" = "0" ] && macaddr_add $addr 1 > /sys${DEVPATH}/macaddress
[ "$PHYNBR" = "1" ] && macaddr_add $addr 2 > /sys${DEVPATH}/macaddress
;;
openembed,som7981)
[ "$PHYNBR" = "1" ] && cat /sys/class/net/eth0/address > /sys${DEVPATH}/macaddress
;;
qihoo,360t7)
addr=$(mtd_get_mac_ascii factory lanMac)
[ "$PHYNBR" = "0" ] && macaddr_add $addr 2 > /sys${DEVPATH}/macaddress
Expand Down
5 changes: 4 additions & 1 deletion target/linux/mediatek/image/filogic.mk
Original file line number Diff line number Diff line change
Expand Up @@ -1160,7 +1160,10 @@ define Device/openembed_som7981
DEVICE_MODEL := SOM7981
DEVICE_DTS := mt7981b-openembed-som7981
DEVICE_DTS_DIR := ../dts
DEVICE_PACKAGES := kmod-mt7915e kmod-mt7981-firmware mt7981-wo-firmware kmod-usb3
DEVICE_PACKAGES := kmod-mt7915e kmod-mt7981-firmware mt7981-wo-firmware \
kmod-crypto-hw-atmel kmod-eeprom-at24 kmod-gpio-beeper kmod-rtc-pcf8563 \
kmod-usb-net-cdc-mbim kmod-usb-net-qmi-wwan kmod-usb-serial-option \
kmod-usb3 uqmi
UBINIZE_OPTS := -E 5
BLOCKSIZE := 128k
PAGESIZE := 2048
Expand Down

0 comments on commit d9bbed6

Please sign in to comment.