target: sync with OpenWrt 19.07-rc2

This commit is contained in:
LEAN-ESX 2019-12-07 20:13:33 -08:00
parent 5d51ba13ef
commit 6a4cddf7c2
500 changed files with 81411 additions and 0 deletions

View File

@ -0,0 +1,26 @@
#
# Copyright (C) 2008-2011 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
ARCH:=mipsel
BOARD:=ramips
BOARDNAME:=MediaTek Ralink MIPS
SUBTARGETS:=mt7620 mt7621 mt76x8 rt288x rt305x rt3883
FEATURES:=squashfs gpio
MAINTAINER:=John Crispin <john@phrozen.org>
KERNEL_PATCHVER:=4.14
define Target/Description
Build firmware images for Ralink RT288x/RT3xxx based boards.
endef
include $(INCLUDE_DIR)/target.mk
DEFAULT_PACKAGES += \
kmod-leds-gpio kmod-gpio-button-hotplug swconfig
$(eval $(call BuildTarget))

View File

@ -0,0 +1,462 @@
#!/bin/sh
. /lib/functions/uci-defaults.sh
set_wifi_led() {
ucidef_set_led_netdev "wifi_led" "wifi" "${1}" "${2:-wlan0}"
}
board=$(board_name)
boardname="${board##*,}"
board_config_update
case $board in
3g-6200n|\
br-6475nd|\
mzk-w300nh2)
set_wifi_led "$boardname:amber:wlan"
;;
3g-6200nl|\
air3gii|\
hilink,hlk-7628n|\
mr-102n|\
skylab,skw92a|\
wnce2001|\
zbt-we2026)
set_wifi_led "$boardname:green:wlan"
;;
ai-br100)
ucidef_set_led_netdev "wan" "wan" "$boardname:blue:wan" "eth0.2"
set_wifi_led "$boardname:blue:wlan"
;;
alfa-network,ac1200rm)
set_wifi_led "$boardname:green:wlan2g" "wlan1"
;;
alfa-network,awusfree1|\
edimax,br-6478ac-v2)
set_wifi_led "$boardname:blue:wlan"
;;
alfa-network,r36m-e4g)
ucidef_set_led_netdev "4g" "4g" "$boardname:orange:4g" "wwan0"
ucidef_set_led_switch "lan" "lan" "$boardname:green:lan" "switch0" "0x8"
ucidef_set_led_switch "wan" "wan" "$boardname:green:wan" "switch0" "0x10"
;;
alfa-network,tube-e4g)
ucidef_set_led_netdev "4g" "4g" "$boardname:green:4g" "wwan0"
ucidef_set_led_netdev "lan" "lan" "$boardname:blue:lan" "eth0"
;;
all0256n-4M|\
all0256n-8M)
ucidef_set_rssimon "wlan0" "200000" "1"
ucidef_set_led_rssi "rssilow" "RSSILOW" "all0256n:green:rssilow" "wlan0" "1" "40" "0" "6"
ucidef_set_led_rssi "rssimedium" "RSSIMEDIUM" "all0256n:green:rssimed" "wlan0" "30" "80" "-29" "5"
ucidef_set_led_rssi "rssihigh" "RSSIHIGH" "all0256n:green:rssihigh" "wlan0" "70" "100" "-69" "8"
set_wifi_led "rt2800pci-phy0::radio"
;;
ar670w|\
ar725w|\
awapn2403)
set_wifi_led "rt2800soc-phy0::radio"
;;
asl26555-8M|\
asl26555-16M)
ucidef_set_led_netdev "eth" "ETH" "asl26555:green:eth" "eth0"
set_wifi_led "asl26555:green:wlan"
;;
bdcom,wap2100-sk|\
hiwifi,hc5861b)
set_wifi_led "$boardname:green:wlan2g"
;;
belkin,f9k1109v1)
set_usb_led "$boardname:green:usb1"
ucidef_set_led_netdev "lan" "lan" "$boardname:blue:wps" "eth0"
;;
broadway)
set_wifi_led "$boardname:red:wps_active"
;;
c108)
ucidef_set_led_netdev "lan" "lan" "$boardname:green:lan" "eth0"
ucidef_set_led_netdev "modem" "modem" "$boardname:green:modem" "wwan0"
;;
c20i)
ucidef_set_led_switch "lan" "lan" "$boardname:blue:lan" "switch0" "0x1e"
ucidef_set_led_switch "wan" "wan" "$boardname:blue:wan" "switch0" "0x01"
ucidef_set_led_wlan "wlan" "wlan" "$boardname:blue:wlan" "phy0radio"
;;
c50)
ucidef_set_led_switch "lan" "lan" "$boardname:green:lan" "switch0" "0x1e"
ucidef_set_led_switch "wan" "wan" "$boardname:green:wan" "switch0" "0x01"
ucidef_set_led_netdev "wlan2g" "wlan2g" "$boardname:green:wlan2g" wlan1
set_wifi_led "$boardname:green:wlan5g"
;;
cf-wr800n)
ucidef_set_led_netdev "lan" "lan" "$boardname:white:ethernet" eth0.1
set_wifi_led "$boardname:white:wifi"
;;
cudy,wr1000)
ucidef_set_led_switch "wan" "wan" "$boardname:blue:wan" "switch0" "0x10"
ucidef_set_led_switch "lan1" "lan1" "$boardname:blue:lan1" "switch0" "0x08"
ucidef_set_led_switch "lan2" "lan2" "$boardname:blue:lan2" "switch0" "0x04"
;;
d240|\
mlw221|\
mlwg2|\
rakwireless,rak633|\
rt-ac51u)
set_wifi_led "$boardname:blue:wifi"
;;
dcs-930l-b1)
ucidef_set_led_netdev "wifi" "WiFi" "$boardname:blue:wps"
;;
dir-300-b1|\
dir-300-b7|\
dir-320-b1|\
dir-600-b1|\
dir-610-a1|\
dir-615-d|\
dir-615-h1|\
dir-620-a1|\
esr-9753|\
hlk-rm04|\
kn|\
nbg-419n2|\
sl-r7205|\
v11st-fe|\
w306r-v20|\
w502u|\
wt1520-4M|\
wt1520-8M|\
zyxel,keenetic-start)
set_wifi_led "rt2800pci-phy0::radio"
;;
dir-620-d1|\
dlink,dwr-116-a1|\
head-weblink,hdrm200|\
kn_rc|\
kn_rf|\
kng_rc|\
mzk-ex300np|\
oy-0001|\
tew-714tru|\
zbt-wr8305rt)
set_wifi_led "$boardname:green:wifi"
;;
dlink,dwr-118-a1)
ucidef_set_led_switch "lan" "lan" "$boardname:green:lan" "switch0" "0x1f"
ucidef_set_led_switch "wan" "wan" "$boardname:green:wan" "switch0" "0x20"
set_wifi_led "$boardname:green:wlan2g" "wlan1"
;;
dlink,dwr-118-a2)
ucidef_set_led_switch "lan" "lan" "$boardname:green:lan" "switch0" "0x0e"
ucidef_set_led_switch "wan" "wan" "$boardname:green:wan" "switch0" "0x01"
set_wifi_led "$boardname:green:wlan2g" "wlan1"
;;
dlink,dwr-921-c1|\
dlink,dwr-922-e2)
set_wifi_led "$boardname:green:wifi"
ucidef_set_led_switch "lan" "lan" "$boardname:green:lan" "switch0" "0x0f"
ucidef_set_led_netdev "signalstrength" "signalstrength" "$boardname:green:sigstrength" "wwan0" "link"
ucidef_set_led_netdev "4g" "4g" "$boardname:green:4g" "wwan0" "tx rx"
;;
dir-860l-b1)
ucidef_set_led_netdev "wan" "wan" "$boardname:green:net" "eth0.2"
;;
ex2700|\
wn3000rpv3)
set_wifi_led "$boardname:green:router"
;;
ex3700)
ucidef_set_led_netdev "wlan5g" "ROUTER (green)" "$boardname:green:router" "wlan0"
ucidef_set_led_netdev "wlan2g" "DEVICE (green)" "$boardname:green:device" "wlan1"
;;
f5d8235-v1)
set_wifi_led "$boardname:blue:wireless"
;;
fonera20n|\
tiny-ac)
set_wifi_led "$boardname:orange:wifi"
;;
gnubee,gb-pc1|\
gnubee,gb-pc2)
ucidef_set_led_switch "lan1" "lan1" "$boardname:green:lan1" "switch0" "0x01"
ucidef_set_led_switch "lan2" "lan2" "$boardname:green:lan2" "switch0" "0x10"
;;
gl-mt300a|\
gl-mt300n|\
gl-mt750)
set_wifi_led "$boardname:wlan"
;;
gl-mt300n-v2)
set_wifi_led "$boardname:red:wlan"
ucidef_set_led_switch "wan" "wan" "$boardname:green:wan" "switch0" "0x1"
;;
hc5661|\
hc5661a)
ucidef_set_led_netdev "internet" "internet" "$boardname:blue:internet" "eth0.2"
set_wifi_led "$boardname:blue:wlan2g"
;;
hc5761|\
hc5861)
ucidef_set_led_netdev "internet" "internet" "$boardname:blue:internet" "eth0.2"
ucidef_set_led_netdev "wifi5g" "wifi5g" "$boardname:blue:wlan5g" "wlan0"
ucidef_set_led_netdev "wifi2g" "wifi2g" "$boardname:blue:wlan2g" "wlan1"
;;
hg255d)
set_wifi_led "$boardname:green:wlan"
ucidef_set_led_netdev "internet" "internet" "$boardname:green:internet" "eth0.2"
;;
hpm)
ucidef_set_led_netdev "eth" "ETH" "$boardname:green:eth" "eth0"
set_wifi_led "$boardname:green:wifi"
;;
ht-tm02)
ucidef_set_led_netdev "eth" "Ethernet" "$boardname:green:lan" "eth0"
set_wifi_led "$boardname:blue:wlan"
;;
iodata,wn-ac1167gr|\
iodata,wn-ac733gr3)
ucidef_set_led_wlan "wlan5g" "WLAN5G" "$boardname:green:wlan5g" "phy0radio"
ucidef_set_led_wlan "wlan2g" "WLAN2G" "$boardname:green:wlan2g" "phy1radio"
;;
kimax,u35wf)
set_wifi_led "$boardname:blue:wifi"
ucidef_set_led_netdev "eth" "ETH" "$boardname:green:eth" "eth0"
;;
lava,lr-25g001)
ucidef_set_led_netdev "wlan2g" "WiFi 2.4GHz" "$boardname:green:wlan2g" "wlan1"
ucidef_set_led_netdev "wlan5g" "WiFi 5GHz" "$boardname:green:wlan5g" "wlan0"
;;
linkits7688)
ucidef_set_led_wlan "wifi" "wifi" "linkit-smart-7688:orange:wifi" "phy0tpt"
;;
m2m)
set_wifi_led "$boardname:blue:wifi"
ucidef_set_led_netdev "eth" "Ethernet" "$boardname:green:wan" "eth0"
;;
mikrotik,rbm11g)
ucidef_set_rssimon "wlan0" "200000" "1"
ucidef_set_led_rssi "rssilow" "RSSILOW" "$boardname:green:rssi0" "wlan0" "1" "100"
ucidef_set_led_rssi "rssimediumlow" "RSSIMEDIUMLOW" "$boardname:green:rssi1" "wlan0" "20" "100"
ucidef_set_led_rssi "rssimediumhigh" "RSSIMEDIUMHIGH" "$boardname:green:rssi2" "wlan0" "40" "100"
ucidef_set_led_rssi "rssihigh" "RSSIHIGH" "$boardname:green:rssi3" "wlan0" "60" "100"
ucidef_set_led_rssi "rssiveryhigh" "RSSIVERYHIGH" "$boardname:green:rssi4" "wlan0" "80" "100"
;;
miniembplug)
set_wifi_led "$boardname:red:wlan"
;;
mr200)
ucidef_set_led_netdev "lan" "lan" "$boardname:white:lan" "eth0.1"
ucidef_set_led_netdev "wan" "wan" "$boardname:white:wan" "usb0"
set_wifi_led "$boardname:white:wlan"
;;
mtc,wr1201)
ucidef_set_led_switch "eth_link" "LAN link" "$boardname:green:eth_link" "switch0" "0x0f"
;;
mzk-ex750np|\
zbtlink,zbt-we826-e)
set_wifi_led "$boardname:red:wifi"
;;
netgear,r6120)
ucidef_set_led_switch "lan" "lan" "$boardname:green:lan" "switch0" "0x0f"
ucidef_set_led_switch "wan" "wan" "$boardname:green:wan" "switch0" "0x10"
ucidef_set_led_wlan "wlan2g" "WiFi 2.4GHz" "$boardname:green:wlan2g" "phy0tpt"
;;
gehua,ghl-r-001|\
pbr-m1)
ucidef_set_led_netdev "internet" "internet" "$boardname:blue:internet" "eth0.2"
;;
d-team,newifi-d2)
ucidef_set_led_switch "internet" "internet" "$boardname:amber:internet" "switch0" "0x10"
ucidef_set_led_netdev "wlan2g" "WiFi 2.4GHz" "$boardname:blue:wlan2g" "wlan0"
ucidef_set_led_netdev "wlan5g" "WiFi 5GHz" "$boardname:blue:wlan5g" "wlan1"
;;
psg1208)
set_wifi_led "$boardname:white:wlan2g"
;;
px-4885-4M|\
px-4885-8M)
set_wifi_led "px-4885:orange:wifi"
;;
r6220|\
netgear,r6350|\
wndr3700v5)
ucidef_set_led_switch "wan" "wan" "$boardname:green:wan" "switch0" "0x10"
;;
re350-v1)
ucidef_set_led_netdev "wifi2g" "Wifi 2.4G" "$boardname:blue:wifi2G" "wlan0"
ucidef_set_led_netdev "wifi5g" "Wifi 5G" "$boardname:blue:wifi5G" "wlan1"
ucidef_set_led_netdev "eth_act" "LAN act" "$boardname:green:eth_act" "eth0" "tx rx"
ucidef_set_led_switch "eth_link" "LAN link" "$boardname:green:eth_link" "switch0" "0x01"
;;
rp-n53)
ucidef_set_led_netdev "eth" "Network" "$boardname:white:back" "eth0"
set_wifi_led "$boardname:blue:wifi"
;;
rt-n12p)
ucidef_set_led_netdev "lan" "lan" "$boardname:green:lan" eth0.1
ucidef_set_led_netdev "wan" "wan" "$boardname:green:wan" eth0.2
set_wifi_led "$boardname:green:air"
;;
rt-n14u)
ucidef_set_led_netdev "lan" "lan" "$boardname:blue:lan" eth0.1
ucidef_set_led_netdev "wan" "wan" "$boardname:blue:wan" eth0.2
set_wifi_led "$boardname:blue:air"
;;
tama,w06)
ucidef_set_led_netdev "wan" "WAN" "$boardname:green:wan" "eth0"
ucidef_set_led_wlan "wlan" "WLAN" "$boardname:green:wlan" "phy0tpt"
;;
tl-wr840n-v4)
ucidef_set_led_wlan "wlan2g" "wlan2g" "$boardname:green:wlan" "phy0tpt"
ucidef_set_led_switch "lan" "lan" "$boardname:green:lan" "switch0" "0x1e"
ucidef_set_led_switch "wan" "wan" "$boardname:green:wan" "switch0" "0x01"
;;
tl-wr841n-v13)
ucidef_set_led_wlan "wlan2g" "wlan2g" "$boardname:green:wlan" "phy0tpt"
ucidef_set_led_switch "lan1" "lan1" "$boardname:green:lan1" "switch0" "0x2"
ucidef_set_led_switch "lan2" "lan2" "$boardname:green:lan2" "switch0" "0x4"
ucidef_set_led_switch "lan3" "lan3" "$boardname:green:lan3" "switch0" "0x8"
ucidef_set_led_switch "lan4" "lan4" "$boardname:green:lan4" "switch0" "0x10"
ucidef_set_led_switch "wan" "wan" "$boardname:green:wan" "switch0" "0x01"
;;
tplink,c2-v1)
ucidef_set_led_switch "lan" "lan" "$boardname:green:lan" "switch1" "0x1e"
ucidef_set_led_switch "wan" "wan" "$boardname:green:wan" "switch1" "0x01"
set_wifi_led "$boardname:green:wlan"
;;
tplink,c20-v1)
ucidef_set_led_switch "lan" "lan" "$boardname:blue:lan" "switch0" "0x1e"
ucidef_set_led_switch "wan" "wan" "$boardname:blue:wan" "switch0" "0x01"
ucidef_set_led_netdev "wlan2g" "wlan2g" "$boardname:blue:wlan2g" "wlan0"
;;
tplink,c20-v4)
ucidef_set_led_switch "lan" "lan" "$boardname:green:lan" "switch0" "0x1e"
ucidef_set_led_switch "wan" "wan" "$boardname:green:wan" "switch0" "0x01"
ucidef_set_led_netdev "wlan2g" "wlan2g" "$boardname:green:wlan2g" "wlan0"
;;
tplink,c50-v3|\
tplink,c50-v4)
ucidef_set_led_switch "lan" "lan" "$boardname:green:lan" "switch0" "0x1e"
ucidef_set_led_switch "wan" "wan" "$boardname:green:wan" "switch0" "0x01"
ucidef_set_led_wlan "wlan2g" "wlan2g" "$boardname:green:wlan2g" "phy0tpt"
ucidef_set_led_wlan "wlan5g" "wlan5g" "$boardname:green:wlan5g" "phy1tpt"
;;
tplink,tl-wa801nd-v5)
ucidef_set_led_wlan "wlan" "wlan" "$boardname:green:wlan" "phy0tpt"
ucidef_set_led_netdev "lan" "lan" "$boardname:green:lan" "eth0"
;;
tplink,tl-mr3020-v3)
set_wifi_led "$boardname:green:wlan"
ucidef_set_led_netdev "lan" "LAN" "$boardname:green:lan" "eth0"
;;
tplink,tl-mr3420-v5|\
tplink,tl-wr842n-v5)
ucidef_set_led_wlan "wlan2g" "wlan2g" "$boardname:green:wlan" "phy0tpt"
ucidef_set_led_switch "lan" "lan" "$boardname:green:lan" "switch0" "0x1e"
ucidef_set_led_switch "wan" "wan" "$boardname:green:wan" "switch0" "0x01"
;;
tplink,tl-wr902ac-v3)
ucidef_set_led_wlan "wlan2g" "wlan2g" "$boardname:green:wlan" "phy0tpt"
ucidef_set_led_switch "lan" "lan" "$boardname:green:lan" "switch0" "0x10"
;;
u25awf-h1)
set_wifi_led "u25awf:red:wifi"
ucidef_set_led_netdev "eth" "eth" "u25awf:green:lan" "eth0"
;;
u7628-01-128M-16M)
ucidef_set_led_switch "lan1" "lan1" "u7628-01:green:lan1" "switch0" "0x2"
ucidef_set_led_switch "lan2" "lan2" "u7628-01:green:lan2" "switch0" "0x4"
ucidef_set_led_switch "lan3" "lan3" "u7628-01:green:lan3" "switch0" "0x8"
ucidef_set_led_switch "lan4" "lan4" "u7628-01:green:lan4" "switch0" "0x10"
ucidef_set_led_switch "wan" "wan" "u7628-01:green:wan" "switch0" "0x01"
set_wifi_led "u7628-01:green:wlan"
;;
vocore-8M|\
vocore-16M)
ucidef_set_led_netdev "eth" "ETH" "vocore:orange:eth" "eth0"
;;
wavlink,wl-wn570ha1)
ucidef_set_led_switch "wan" "wan" "$boardname:green:wan" "switch0" "0x01"
ucidef_set_rssimon "wlan0" "200000" "1"
ucidef_set_led_rssi "wifi-low" "wifi-low" "$boardname:green:wifi-low" "wlan0" "1" "49"
ucidef_set_led_rssi "wifi-med" "wifi-med" "$boardname:green:wifi-med" "wlan0" "50" "84"
ucidef_set_led_rssi "wifi-high" "wifi-high" "$boardname:green:wifi-high" "wlan0" "85" "100"
set_wifi_led "$boardname:green:wifi"
;;
wavlink,wl-wn575a3)
ucidef_set_rssimon "wlan1" "200000" "1"
ucidef_set_led_rssi "wifi-low" "wifi-low" "$boardname:green:wifi-low" "wlan1" "1" "49"
ucidef_set_led_rssi "wifi-med" "wifi-med" "$boardname:green:wifi-med" "wlan1" "50" "84"
ucidef_set_led_rssi "wifi-high" "wifi-high" "$boardname:green:wifi-high" "wlan1" "85" "100"
;;
we1026-5g-16m)
ucidef_set_led_netdev "lan" "LAN" "we1026-5g:green:lan" "eth0"
set_wifi_led "we1026-5g:green:wifi"
;;
wrh-300cr)
set_wifi_led "$boardname:green:wlan"
ucidef_set_led_netdev "lan" "lan" "$boardname:green:ethernet" "eth0"
;;
xiaomi,mir3g)
ucidef_set_led_switch "wan-amber" "WAN (amber)" "$boardname:amber:wan" "switch0" "0x02" "0x08"
ucidef_set_led_switch "lan1-amber" "LAN1 (amber)" "$boardname:amber:lan1" "switch0" "0x08" "0x08"
ucidef_set_led_switch "lan2-amber" "LAN2 (amber)" "$boardname:amber:lan2" "switch0" "0x04" "0x08"
;;
xiaomi,mir3p)
ucidef_set_led_switch "wan-amber" "WAN (amber)" "$boardname:amber:wan" "switch0" "0x10" "0x08"
ucidef_set_led_switch "lan1-amber" "LAN1 (amber)" "$boardname:amber:lan1" "switch0" "0x02" "0x08"
ucidef_set_led_switch "lan2-amber" "LAN2 (amber)" "$boardname:amber:lan2" "switch0" "0x04" "0x08"
ucidef_set_led_switch "lan3-amber" "LAN3 (amber)" "$boardname:amber:lan3" "switch0" "0x08" "0x08"
;;
xzwifi,creativebox-v1)
ucidef_set_led_switch "internet" "internet" "$boardname:blue:internet" "switch0" "0x10"
;;
y1)
ucidef_set_led_netdev "wifi" "WIFI" "$boardname:blue:wifi" "wlan1"
ucidef_set_led_netdev "wifi5g" "WIFI5G" "$boardname:blue:wifi5g" "wlan0"
ucidef_set_led_switch "lan" "LAN" "$boardname:blue:lan" "switch0" "0x03"
;;
y1s)
ucidef_set_led_netdev "wifi" "WIFI" "$boardname:yellow:wifi" "wlan1"
ucidef_set_led_netdev "wifi5g" "WIFI5G" "$boardname:blue:wifi" "wlan0"
ucidef_set_led_netdev "wan" "WAN" "$boardname:blue:internet" "eth0.2" "tx rx"
;;
youhua,wr1200js)
ucidef_set_led_switch "internet" "INTERNET" "$boardname:green:wan" "switch0" "0x01"
;;
zbt-ape522ii)
ucidef_set_led_netdev "wlan2g4" "wlan1-link" "$boardname:green:wlan2g4" "wlan1"
ucidef_set_led_netdev "sys1" "wlan1" "$boardname:green:sys1" "wlan1" "tx rx"
ucidef_set_led_netdev "sys2" "wlan0" "$boardname:green:sys2" "wlan0" "tx rx"
;;
zbt-wa05)
set_wifi_led "$boardname:blue:air"
;;
zbt-we826-16M|\
zbt-we826-32M)
set_wifi_led "zbt-we826:green:wifi"
;;
zbtlink,zbt-we1226)
set_wifi_led "$boardname:green:wlan"
ucidef_set_led_switch "lan1" "LAN1" "$boardname:green:lan1" "switch0" "0x01"
ucidef_set_led_switch "lan2" "LAN2" "$boardname:green:lan2" "switch0" "0x02"
ucidef_set_led_switch "wan" "WAN" "$boardname:green:wan" "switch0" "0x10"
;;
zorlik,zl5900v2)
ucidef_set_led_netdev "lan" "lan" "$boardname:green:lan" eth0
;;
zyxel,keenetic-extra-ii)
set_wifi_led "$boardname:green:wifi"
ucidef_set_led_switch "internet" "internet" "$boardname:green:internet" "switch0" "0x01"
;;
youku-yk1)
set_wifi_led "$boardname:blue:air"
ucidef_set_led_switch "wan" "wan" "$boardname:blue:wan" "switch0" "0x10"
;;
esac
board_config_flush
exit 0

View File

@ -0,0 +1,703 @@
#!/bin/sh
. /lib/functions.sh
. /lib/functions/uci-defaults.sh
. /lib/functions/system.sh
ramips_setup_rt3x5x_vlans()
{
if [ ! -x /sbin/swconfig ]; then
# legacy default
ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
return
fi
local wanports=""
local lanports=""
for port in 5 4 3 2 1 0; do
if [ `swconfig dev rt305x port $port get disable` = "1" ]; then
continue
fi
if [ `swconfig dev rt305x port $port get lan` = "0" ]; then
wanports="$port:wan $wanports"
else
lanports="$port:lan $lanports"
fi
done
ucidef_add_switch "rt305x" $lanports $wanports "6t@eth0"
}
ramips_setup_interfaces()
{
local board="$1"
case $board in
11acnas|\
d-team,newifi-d2|\
dir-615-h1|\
w2914nsv2|\
zbt-we2026)
ucidef_add_switch "switch0" \
"0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "4:wan:5" "6@eth0"
;;
3g150b|\
3g300m|\
a5-v11|\
all0256n-4M|\
all0256n-8M|\
all5002|\
all5003|\
bocco|\
broadway|\
dcs-930|\
dcs-930l-b1|\
ht-tm02|\
kimax,u35wf|\
linkits7688 | \
m2m|\
microwrt|\
mikrotik,rbm11g|\
mpr-a2|\
ncs601w|\
omega2 | \
omega2p | \
timecloud|\
tplink,tl-wa801nd-v5|\
w150m|\
widora,neo-16m|\
widora,neo-32m|\
wnce2001|\
zbt-cpe102|\
zorlik,zl5900v2|\
zte-q7)
ucidef_add_switch "switch0"
ucidef_add_switch_attr "switch0" "enable" "false"
ucidef_set_interface_lan "eth0"
;;
mlw221|\
mr-102n)
ucidef_set_interface_lan "eth0.2"
;;
3g-6200n|\
ai-br100|\
alfa-network,ac1200rm|\
mediatek,ap-mt7621a-v60|\
xzwifi,creativebox-v1|\
d240|\
db-wrt01|\
dir-300-b7|\
dir-320-b1|\
dir-610-a1|\
dir-810l|\
dlink,dwr-116-a1|\
dlink,dwr-921-c1|\
dlink,dwr-922-e2|\
ew1200|\
firewrt|\
hc5661a|\
hc5962|\
hlk-rm04|\
k2p|\
kn|\
kn_rc|\
mac1200rv2|\
miwifi-mini|\
miwifi-nano|\
mt7621|\
mt7628|\
mtc,wr1201|\
mzk-750dhp|\
mzk-w300nh2|\
nixcore-x1-8M|\
nixcore-x1-16M|\
oy-0001|\
pbr-m1|\
psg1208|\
psg1218a|\
rt-n12p|\
sap-g3200u3|\
sk-wb8|\
telco-electronics,x1|\
totolink,lr1200|\
unielec,u7621-06-256m-16m|\
unielec,u7621-06-512m-64m|\
vr500|\
wavlink,wl-wn570ha1|\
wavlink,wl-wn575a3|\
wf-2881|\
whr-g300n|\
mqmaker,witi-256m|\
mqmaker,witi-512m|\
youku-yk1|\
youku,yk-l2|\
zbt-ape522ii|\
zbt-we1326|\
zbtlink,zbt-we826-e|\
zbtlink,zbt-we3526|\
zbt-we826-16M|\
zbt-we826-32M|\
zbt-wg2626|\
zbt-wg3526-16M|\
zbt-wg3526-32M|\
zbt-wr8305rt)
ucidef_add_switch "switch0" \
"0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "6@eth0"
;;
gehua,ghl-r-001)
ucidef_add_switch "switch0" \
"0:lan" "1:lan" "2:lan" "4:wan" "6@eth0"
;;
alfa-network,awusfree1|\
alfa-network,tube-e4g|\
cs-qr10|\
d105|\
dlink,dap-1522-a1|\
dch-m225|\
ex2700|\
ex3700|\
hpm|\
mzk-ex300np|\
mzk-ex750np|\
na930|\
pbr-d1|\
ravpower,wd03|\
tama,w06|\
tplink,tl-mr3020-v3|\
tplink,tl-wr802n-v4|\
u25awf-h1|\
wli-tx4-ag300n|\
wmdr-143n|\
wmr-300|\
wn3000rpv3|\
wrh-300cr)
ucidef_set_interface_lan "eth0"
;;
alfa-network,quad-e4g|\
netgear,r6120|\
r6220|\
netgear,r6350|\
wndr3700v5)
ucidef_add_switch "switch0" \
"0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "4:wan" "6@eth0"
;;
alfa-network,r36m-e4g|\
wcr-1166ds)
ucidef_add_switch "switch0" \
"3:lan" "4:wan" "6@eth0"
;;
dlink,dwr-118-a1)
ucidef_add_switch "switch0" \
"1:lan:2" "2:lan:3" "3:lan:1" "4:lan:0" "5:wan" "6@eth0"
;;
dlink,dwr-118-a2)
ucidef_add_switch "switch0" \
"1:lan:2" "2:lan:1" "3:lan:3" "4:lan" "0:wan" "6@eth0"
;;
psg1218b)
ucidef_add_switch "switch0" \
"0:lan:3" "1:lan:2" "2:lan:1" "3:wan" "6@eth0"
;;
whr-300hp2|\
whr-600d|\
wsr-1166|\
wsr-600)
ucidef_add_switch "switch0" \
"0:lan:1" "1:lan:2" "2:lan:3" "3:lan:4" "4:wan:5" "6@eth0"
;;
ar670w|\
ar725w|\
rakwireless,rak633|\
rt-ac51u)
ucidef_add_switch "switch0" \
"0:wan" "1:lan" "2:lan" "3:lan" "4:lan" "6t@eth0"
;;
belkin,f9k1109v1|\
rt-n15|\
wl-351)
ucidef_add_switch "switch0" \
"0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "5@eth0"
;;
asl26555-8M|\
asl26555-16M|\
rp-n53)
ucidef_add_switch "switch0" \
"1:lan" "2:lan" "3:lan" "4:lan" "6t@eth0"
;;
asus,rt-ac57u|\
atp-52b|\
awm002-evb-4M|\
awm002-evb-8M|\
bdcom,wap2100-sk|\
c20i|\
dir-645|\
gl-mt300a|\
gl-mt300n|\
gl-mt750|\
hilink,hlk-7628n|\
hiwifi,hc5861b|\
jhr-n805r|\
jhr-n825r|\
jhr-n926r|\
mikrotik,rb750gr3|\
mikrotik,rbm33g|\
mzk-wdpr|\
rt-n14u|\
skylab,skw92a|\
tplink,c20-v4|\
tplink,c50-v3|\
tplink,c50-v4|\
tplink,tl-mr3420-v5|\
tplink,tl-wr842n-v5|\
tl-wr840n-v4|\
tl-wr840n-v5|\
tl-wr841n-v13|\
u7628-01-128M-16M|\
ubnt-erx|\
ubnt-erx-sfp|\
ur-326n4g|\
wrtnode|\
wrtnode2p | \
wrtnode2r | \
youhua,wr1200js|\
zbt-wa05|\
zyxel,keenetic-extra-ii)
ucidef_add_switch "switch0" \
"1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "6@eth0"
;;
c50|\
tplink,c20-v1)
ucidef_add_switch "switch0" \
"1:lan:3" "2:lan:4" "3:lan:1" "4:lan:2" "0:wan" "6@eth0"
;;
dir-860l-b1|\
elecom,wrc-1167ghbk2-s|\
elecom,wrc-2533gst|\
elecom,wrc-1900gst|\
hg255d|\
iodata,wn-ax1167gr|\
iodata,wn-gx300gr)
ucidef_add_switch "switch0" \
"1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "0:wan" "6@eth0"
;;
gnubee,gb-pc1|\
gnubee,gb-pc2)
ucidef_add_switch "switch0" \
"0:lan" "4:lan" "6@eth0"
;;
gl-mt300n-v2)
ucidef_add_switch "switch0" \
"1:lan" "0:wan" "6@eth0"
;;
awapn2403)
ucidef_add_switch "switch0" \
"0:lan" "1:wan" "6@eth0"
;;
b2c|\
nw718|\
psr-680w|\
sl-r7205|\
ur-336un|\
w502u|\
wr6202)
ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
;;
br-6475nd)
ucidef_add_switch "switch0" \
"1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "9@eth0"
;;
c108|\
cf-wr800n)
ucidef_add_switch "switch0" \
"4:lan" "6t@eth0"
;;
cudy,wr1000)
ucidef_add_switch "switch0" \
"2:lan:2" "3:lan:1" "4:wan" "6@eth0"
;;
cy-swr1100)
ucidef_add_switch "switch0" \
"0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "9@eth0"
;;
duzun-dm06)
ucidef_add_switch "switch0" \
"1:lan" "0:wan" "6@eth0"
;;
e1700|\
mt7620a_mt7530)
ucidef_add_switch "switch1" \
"0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "6@eth0"
;;
edimax,br-6478ac-v2|\
tplink,c2-v1)
ucidef_add_switch "switch1" \
"1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "6@eth0"
;;
hc5661|\
head-weblink,hdrm200|\
y1s)
ucidef_add_switch "switch0" \
"1:lan" "2:lan" "3:lan" "4:lan" "5:lan" "0:wan" "6@eth0"
;;
hc5861)
ucidef_add_switch "switch0" \
"0:lan" "1:lan" "5:wan" "6@eth0"
;;
iodata,wn-ac1167gr|\
iodata,wn-ac733gr3)
ucidef_add_switch "switch1" \
"1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "0:wan" "6@eth0"
;;
kn_rf)
ucidef_add_switch "switch0" \
"0:wan" "1:lan" "2:lan" "3:lan" "4:lan" "6@eth0"
;;
kng_rc)
ucidef_add_switch "switch1" \
"0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "7t@eth0"
;;
mlwg2|\
wizard8800|\
wl-330n)
ucidef_set_interface_lan "eth0.1"
;;
mr200)
ucidef_add_switch "switch0" \
"0:lan" "1:lan" "2:lan" "3:lan" "6t@eth0"
ucidef_set_interface_wan "usb0"
;;
hc5761)
ucidef_add_switch "switch0" \
"1:lan" "4:lan" "0:wan" "6@eth0"
;;
mzk-dp150n|\
vocore-8M|\
vocore-16M)
ucidef_add_switch "switch0" \
"0:lan" "4:lan" "6t@eth0"
;;
newifi-d1)
ucidef_add_switch "switch0" \
"1:lan:2" "2:lan:1" "4:wan" "6@eth0"
;;
phicomm,k2g)
ucidef_add_switch "switch0" \
"0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "5:wan" "6@eth0"
;;
dlink,dir-510l|\
glinet,vixmini|\
netgear,ex6150|\
re350-v1)
ucidef_add_switch "switch0" \
"0:lan" "6@eth0"
;;
re6500)
ucidef_add_switch "switch0" \
"0:lan:1" "1:lan:2" "2:lan:3" "3:lan:4" "6@eth0"
;;
rt-n56u)
ucidef_add_switch "switch0" \
"0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "8@eth0"
;;
tew-638apb-v2)
ucidef_add_switch "switch0" \
"4:lan" "6@eth0"
;;
lava,lr-25g001|\
tew-691gr|\
tew-692gr|\
wlr-6000)
ucidef_add_switch "switch0" \
"1:lan" "2:lan" "3:lan" "4:lan" "5:wan" "0@eth0"
;;
tplink,tl-wr902ac-v3)
ucidef_add_switch "switch0" \
"4:lan" "6@eth0"
;;
vonets,var11n-300|\
wt1520-4M|\
wt1520-8M)
ucidef_add_switch "switch0" \
"0:lan" "4:wan" "6@eth0"
;;
vocore2|\
vocore2lite)
ucidef_add_switch "switch0" \
"0:lan" "2:lan" "6t@eth0"
;;
f5d8235-v1|\
f5d8235-v2|\
tew-714tru|\
v11st-fe|\
wzr-agl300nh)
ucidef_add_switch "switch0" \
"1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "5@eth0"
;;
wcr-150gn|\
we1026-5g-16m)
ucidef_add_switch "switch0" \
"0:lan" "6t@eth0"
;;
whr-1166d)
ucidef_add_switch "switch0" \
"0:lan" "1:lan" "2:lan" "3:lan" "5:wan" "6@eth0"
;;
wizfi630a)
ucidef_add_switch "switch0" \
"0:lan" "1:lan" "2:wan" "6@eth0"
;;
wiznet,wizfi630s)
ucidef_add_switch "switch0" \
"0:wan" "3:lan" "4:lan" "6@eth0"
;;
wt3020-4M|\
wt3020-8M)
ucidef_add_switch "switch0" \
"4:lan" "0:wan" "6@eth0"
;;
xiaomi,mir3g)
ucidef_add_switch "switch0" \
"2:lan:2" "3:lan:1" "1:wan" "6t@eth0"
;;
xiaomi,mir3p)
ucidef_add_switch "switch0" \
"1:lan:3" "2:lan:2" "3:lan:1" "4:wan" "6@eth0"
;;
xiaomi,mir4a-100m)
ucidef_add_switch "switch0" \
"4:lan:1" "2:lan:2" "0:wan" "6@eth0"
;;
zbtlink,zbt-we1226|\
y1)
ucidef_add_switch "switch0" \
"0:lan:2" "1:lan:1" "4:wan" "6@eth0"
;;
zyxel,keenetic-start)
ucidef_add_switch "switch0" \
"0:lan:3" "1:lan:2" "2:lan:1" "3:lan:0" "4:wan" "6@eth0"
;;
*)
RT3X5X=`cat /proc/cpuinfo | egrep "(RT3.5|RT5350)"`
if [ -n "${RT3X5X}" ]; then
ramips_setup_rt3x5x_vlans
else
ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
fi
;;
esac
}
ramips_setup_macs()
{
local board="$1"
local lan_mac=""
local wan_mac=""
case $board in
a5-v11|\
ht-tm02|\
wmdr-143n)
lan_mac=$(cat /sys/class/net/eth0/address)
;;
asus,rt-ac57u|\
vr500)
lan_mac=$(mtd_get_mac_binary factory 57344)
wan_mac=$(mtd_get_mac_binary factory 57350)
;;
alfa-network,quad-e4g|\
elecom,wrc-1167ghbk2-s|\
elecom,wrc-2533gst|\
elecom,wrc-1900gst|\
sk-wb8)
wan_mac=$(mtd_get_mac_binary factory 57350)
;;
alfa-network,r36m-e4g|\
carambola|\
freestation5|\
w502u|\
wnce2001)
wan_mac=$(mtd_get_mac_binary factory 46)
;;
bc2|\
broadway|\
d105|\
dir-300-b7|\
dir-320-b1|\
dir-620-a1|\
esr-9753|\
hilink,hlk-7628n|\
hlk-rm04|\
mpr-a1|\
psr-680w|\
sl-r7205|\
y1|\
y1s)
lan_mac=$(cat /sys/class/net/eth0/address)
lan_mac=$(macaddr_setbit_la "$lan_mac")
wan_mac=$(macaddr_add "$lan_mac" 1)
;;
belkin,f9k1109v1)
wan_mac=$(mtd_get_mac_ascii uboot-env HW_WAN_MAC)
lan_mac=$(mtd_get_mac_ascii uboot-env HW_LAN_MAC)
;;
br-6475nd)
lan_mac=$(cat /sys/class/net/eth0/address)
wan_mac=$(mtd_get_mac_binary devdata 7)
;;
cy-swr1100|\
dir-645)
lan_mac=$(mtd_get_mac_ascii nvram lanmac)
wan_mac=$(mtd_get_mac_ascii nvram wanmac)
;;
dch-m225)
lan_mac=$(mtd_get_mac_ascii factory lanmac)
;;
dir-860l-b1)
lan_mac=$(mtd_get_mac_ascii factory lanmac)
wan_mac=$(mtd_get_mac_ascii factory wanmac)
;;
dlink,dir-510l|\
dlink,dwr-116-a1|\
dlink,dwr-118-a1|\
dlink,dwr-118-a2|\
dlink,dwr-921-c1|\
dlink,dwr-922-e2|\
lava,lr-25g001)
wan_mac=$(jboot_config_read -m -i $(find_mtd_part "config") -o 0xE000)
lan_mac=$(macaddr_add "$wan_mac" 1)
;;
e1700)
wan_mac=$(mtd_get_mac_ascii config WAN_MAC_ADDR)
;;
edimax,br-6478ac-v2|\
netgear,r6350)
lan_mac=$(cat /sys/class/net/eth0/address)
wan_mac=$(macaddr_add "$lan_mac" 2)
;;
gl-mt300n-v2|\
whr-g300n)
wan_mac=$(mtd_get_mac_binary factory 4)
;;
hc5*61|\
hc5661a|\
hc5962|\
hiwifi,hc5861b)
lan_mac=`mtd_get_mac_ascii bdinfo "Vfac_mac "`
[ -n "$lan_mac" ] || lan_mac=$(cat /sys/class/net/eth0/address)
wan_mac=$(macaddr_add "$lan_mac" 1)
;;
iodata,wn-ac1167gr|\
iodata,wn-ac733gr3)
wan_mac=$(macaddr_add "$(mtd_get_mac_binary Factory 4)" -1)
;;
iodata,wn-ax1167gr|\
iodata,wn-gx300gr)
wan_mac=$(macaddr_add "$(mtd_get_mac_binary Factory 4)" 1)
;;
kn_rc|\
kn_rf|\
kng_rc)
wan_mac=$(mtd_get_mac_binary factory 40)
;;
linkits7688)
wan_mac=$(mtd_get_mac_binary factory 4)
lan_mac=$(mtd_get_mac_binary factory 46)
;;
mac1200rv2)
lan_mac=$(mtd_get_mac_binary factory_info 13)
wan_mac=$(macaddr_add "$lan_mac" 1)
;;
miwifi-mini)
wan_mac=$(cat /sys/class/net/eth0/address)
lan_mac=$(macaddr_setbit_la "$wan_mac")
;;
m3|\
m4-4M|\
m4-8M|\
x5|\
x8)
lan_mac=$(cat /sys/class/net/eth0/address)
lan_mac=$(macaddr_add "$lan_mac" -2)
;;
newifi-d1)
lan_mac=$(cat /sys/class/net/eth0/address)
lan_mac=$(macaddr_add "$lan_mac" 2)
;;
omega2|\
omega2p)
wan_mac=$(mtd_get_mac_binary factory 4)
lan_mac=$(mtd_get_mac_binary factory 46)
;;
oy-0001|\
phicomm,k2g)
lan_mac=$(mtd_get_mac_binary factory 40)
wan_mac=$(mtd_get_mac_binary factory 46)
;;
rt-n56u)
lan_mac=$(cat /sys/class/net/eth0/address)
lan_mac=$(macaddr_setbit_la "$lan_mac")
wan_mac=$(mtd_get_mac_binary factory 32772)
;;
skylab,skw92a)
lan_mac=$(mtd_get_mac_binary factory 40)
wan_mac=$(mtd_get_mac_binary factory 46)
;;
tew-691gr)
wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 4)" 3)
;;
tew-692gr)
wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 4)" 1)
;;
tiny-ac)
lan_mac=$(mtd_get_mac_ascii u-boot-env LAN_MAC_ADDR)
wan_mac=$(mtd_get_mac_ascii u-boot-env WAN_MAC_ADDR)
;;
w306r-v20)
lan_mac=$(cat /sys/class/net/eth0/address)
wan_mac=$(macaddr_add "$lan_mac" 5)
;;
wcr-1166ds|\
wsr-1166)
local index="$(find_mtd_index "board_data")"
wan_mac="$(grep -m1 mac= "/dev/mtd${index}" | cut -d= -f2)"
lan_mac=$wan_mac
;;
wcr-150gn)
wan_mac=$(mtd_get_mac_binary factory 40)
;;
whr-1166d|\
whr-300hp2|\
whr-600d|\
wsr-600)
wan_mac=$(mtd_get_mac_binary factory 4)
lan_mac=$wan_mac
;;
wizfi630a)
lan_mac=$(mtd_get_mac_binary factory 4)
wan_mac=$(mtd_get_mac_binary factory 40)
;;
wlr-6000)
wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 32772)" 2)
;;
xiaomi,mir3g|\
xiaomi,mir3p)
lan_mac=$(mtd_get_mac_binary Factory 0xe006)
;;
zyxel,keenetic-start)
wan_mac=$(mtd_get_mac_binary factory 40)
;;
*)
lan_mac=$(cat /sys/class/net/eth0/address)
wan_mac=$(macaddr_add "$lan_mac" 1)
;;
esac
[ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac
[ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac
}
board_config_update
board=$(board_name)
ramips_setup_interfaces $board
ramips_setup_macs $board
board_config_flush
exit 0

View File

@ -0,0 +1,46 @@
#!/bin/sh
. /lib/functions/uci-defaults.sh
board_config_update
board=$(board_name)
case "$board" in
dlink,dir-510l)
ucidef_add_gpio_switch "usb_enable1" "USB 1A enable" "12" "0"
ucidef_add_gpio_switch "usb_enable05" "USB 0.5A enable" "13" "1"
;;
head-weblink,hdrm200)
ucidef_add_gpio_switch "sim_switch" "SIM slot switch" "0"
ucidef_add_gpio_switch "io1" "I/O 1" "1"
ucidef_add_gpio_switch "io2" "I/O 2" "2"
ucidef_add_gpio_switch "io3" "I/O 3" "11"
ucidef_add_gpio_switch "io4" "I/O 4" "14"
ucidef_add_gpio_switch "power_mpcie" "mPCIe power" "21" "1"
;;
mikrotik,rb750gr3)
ucidef_add_gpio_switch "poe_passthrough" "PoE Passthrough" "17"
;;
telco-electronics,x1)
ucidef_add_gpio_switch "modem_reset" "Modem Reset" "16"
;;
ubnt-erx)
ucidef_add_gpio_switch "poe_passthrough" "PoE Passthrough" "0"
;;
ubnt-erx-sfp)
ucidef_add_gpio_switch "poe_power_port0" "PoE Power Port0" "496"
ucidef_add_gpio_switch "poe_power_port1" "PoE Power Port1" "497"
ucidef_add_gpio_switch "poe_power_port2" "PoE Power Port2" "498"
ucidef_add_gpio_switch "poe_power_port3" "PoE Power Port3" "499"
ucidef_add_gpio_switch "poe_power_port4" "PoE Power Port4" "500"
;;
zbtlink,zbt-we826-e)
ucidef_add_gpio_switch "sim_switch" "SIM slot switch" "13"
ucidef_add_gpio_switch "power_mpcie" "mPCIe power" "14" "1"
;;
esac
board_config_flush
exit 0

View File

@ -0,0 +1,79 @@
#!/bin/sh
rt2x00_eeprom_die() {
echo "rt2x00 eeprom: " "$*"
exit 1
}
rt2x00_eeprom_extract() {
local part=$1
local offset=$2
local count=$3
local mtd
mtd=$(find_mtd_part $part)
[ -n "$mtd" ] || \
rt2x00_eeprom_die "no mtd device found for partition $part"
dd if=$mtd of=/lib/firmware/$FIRMWARE iflag=skip_bytes bs=$count skip=$offset count=1 2>/dev/null || \
rt2x00_eeprom_die "failed to extract from $mtd"
}
jboot_eeprom_extract() {
local part=$1
local offset=$2
local mtd
mtd=$(find_mtd_part $part)
[ -n "$mtd" ] || \
rt2x00_eeprom_die "no mtd device found for partition $part"
jboot_config_read -i $mtd -o $offset -e /lib/firmware/$FIRMWARE 2>/dev/null || \
rt2x00_eeprom_die "failed to extract from $mtd"
}
rt2x00_eeprom_set_macaddr() {
local macaddr=$1
[ -n "$macaddr" ] || \
rt2x00_eeprom_die "invalid wlan mac address"
macaddr_2bin $macaddr | dd of=/lib/firmware/$FIRMWARE \
conv=notrunc oflag=seek_bytes bs=6 seek=4 count=1 2>/dev/null || \
rt2x00_eeprom_die "failed to write mac address to eeprom file"
}
FW="/lib/firmware/$FIRMWARE"
[ -e "$FW" ] && exit 0
. /lib/functions.sh
. /lib/functions/system.sh
board=$(board_name)
case "$FIRMWARE" in
"soc_wmac.eeprom")
case $board in
dlink,dir-510l|\
dlink,dwr-116-a1|\
dlink,dwr-118-a1|\
dlink,dwr-118-a2|\
dlink,dwr-921-c1|\
dlink,dwr-922-e2|\
lava,lr-25g001)
wan_mac=$(jboot_config_read -m -i $(find_mtd_part "config") -o 0xE000)
wifi_mac=$(macaddr_add "$wan_mac" 1)
jboot_eeprom_extract "config" 0xE000
rt2x00_eeprom_set_macaddr $wifi_mac
;;
tiny-ac)
wifi_mac=$(mtd_get_mac_ascii u-boot-env INIC_MAC_ADDR)
rt2x00_eeprom_extract "factory" 0 512
rt2x00_eeprom_set_macaddr $wifi_mac
;;
*)
rt2x00_eeprom_die "Please define mtd-eeprom in $board DTS file!"
;;
esac
;;
esac

View File

@ -0,0 +1 @@
[ "$ACTION" = "motion" ] && logger webcam motion event

View File

@ -0,0 +1,21 @@
#!/bin/sh /etc/rc.common
START=99
start() {
. /lib/functions.sh
case $(board_name) in
alfa-network,ac1200rm|\
alfa-network,awusfree1|\
alfa-network,quad-e4g|\
alfa-network,r36m-e4g|\
alfa-network,tube-e4g)
[ -n "$(fw_printenv bootcount bootchanged 2>/dev/null)" ] &&\
echo -e "bootcount\nbootchanged\n" | /usr/sbin/fw_setenv -s -
;;
sk-wb8)
fw_setenv bootcount 0
;;
esac
}

View File

@ -0,0 +1,31 @@
#!/bin/sh /etc/rc.common
START=99
get_irq() {
local name="$1"
grep -m 1 "$name" /proc/interrupts | cut -d: -f1 | sed 's, *,,'
}
set_irq_affinity() {
local name="$1"
local val="$2"
local irq="$(get_irq "$name")"
[ -n "$irq" ] || return
echo "$val" > "/proc/irq/$irq/smp_affinity"
}
start() {
if grep -q 'processor.*: 2' /proc/cpuinfo; then
mask1=4
mask2=8
elif grep -q 'processor.*: 1' /proc/cpuinfo; then
mask1=2
mask2=2
else
return
fi
set_irq_affinity mt76x2e $mask1
set_irq_affinity mt7603e $mask2
}

View File

@ -0,0 +1,3 @@
::sysinit:/etc/init.d/rcS S boot
::shutdown:/etc/init.d/rcS K shutdown
::askconsole:/usr/libexec/login.sh

View File

@ -0,0 +1,26 @@
#!/bin/sh
#
# Copyright (C) 2012 OpenWrt.org
#
. /lib/functions.sh
fix_checksum() {
local kernel_size=$(sed -n 's/mtd[0-9]*: \([0-9a-f]*\).*"kernel".*/\1/p' /proc/mtd)
[ "$kernel_size" ] && mtd -c 0x$kernel_size fix$1 firmware
}
board=$(board_name)
case "$board" in
cy-swr1100 | \
dch-m225 | \
dir-645 | \
dir-860l-b1)
fix_checksum seama
;;
dlink,dap-1522-a1)
fix_checksum wrg
;;
esac

View File

@ -0,0 +1,9 @@
#!/bin/sh
do_ramips() {
. /lib/ramips.sh
ramips_board_detect
}
boot_hook_add preinit_main do_ramips

View File

@ -0,0 +1,56 @@
#!/bin/sh
# Netgear WNCE2001 has does a checksum check on boot and goes into recovery
# tftp mode when the check fails. Initializing the JFFS2 partition triggers
# this, so we make sure to zero checksum and size to be checksummed before
# that happens, so this needs to run very early during boot.
do_checksumming_disable() {
. /lib/functions.sh
local board=$(board_name)
case "$board" in
wnce2001)
echo "Board is WNCE2001, updating checksum partition..."
local zeroes=/dev/zero
local tmpfile=/tmp/wnce2001_checksum
local partname=checksum
local mtd=$(find_mtd_part $partname)
dd if=$mtd of=$tmpfile bs=80 count=1 2>/dev/null
signature=$(dd if=$tmpfile bs=1 skip=24 count=20 2>/dev/null)
checksum=$(dd if=$tmpfile bs=1 count=4 2>/dev/null | hexdump -v -n 4 -e '1/1 "%02x"')
if [ "$signature" != "RT3052-AP-WNCE2001-3" ]; then
echo "Signature of checksum partition is wrong, bailing."
return 0
fi
if [ "$checksum" != "00000000" ]; then
echo "Checksum is set, zeroing."
# zero out checksum
dd if=$zeroes of=$tmpfile conv=notrunc bs=1 seek=0 count=4 2>/dev/null
# zero out bytecount to be checksummed
dd if=$zeroes of=$tmpfile conv=notrunc bs=1 seek=60 count=4 2>/dev/null
mtd write $tmpfile $partname
else
echo "Checksum is already zero, nothing to do."
fi
;;
rt-n56u)
echo "Board is ASUS RT-N56U, replacing uImage header..."
local firmware_mtd=$(find_mtd_part firmware)
local rootfs_mtd=$(find_mtd_part rootfs)
local rootfs_data_mtd=$(find_mtd_part rootfs_data)
local rootfs_len=$(grep \"rootfs\" /proc/mtd | awk -F' ' '{print "0x"$2}')
local rootfs_data_len=$(grep \"rootfs_data\" /proc/mtd | awk -F' ' '{print "0x"$2}')
local offset=$(echo "$rootfs_len $rootfs_data_len 0x40" | awk -F' ' '{printf "%i",$1-$2-$3}')
local signature=$(dd if=$rootfs_mtd skip=$offset bs=1 count=4 2>/dev/null | hexdump -v -n 4 -e '1/1 "%02x"')
if [ "$signature" = "27051956" ]; then
dd conv=notrunc if=$rootfs_mtd skip=$offset of=$firmware_mtd bs=1 count=64 2>/dev/null
fi
;;
esac
return 0
}
boot_hook_add preinit_main do_checksumming_disable

View File

@ -0,0 +1,34 @@
#!/bin/sh
#
# Copyright (C) 2013 OpenWrt.org
#
. /lib/ramips.sh
ramips_set_preinit_iface() {
RT3X5X=`cat /proc/cpuinfo | egrep "(RT3.5|RT5350|MT7628|MT7688|MT7620|MT7621)"`
if [ -n "${RT3X5X}" ]; then
# The ethernet switch driver enables VLAN by default, but
# failsafe uses eth0, making the device unreachable:
# https://dev.openwrt.org/ticket/18768
case "${RT3X5X}" in
*MT7620*)
ralink_switchdev=mt7620
;;
*MT7621*)
ralink_switchdev=mt7530
;;
*)
ralink_switchdev=rt305x
;;
esac
swconfig dev $ralink_switchdev set reset 1
swconfig dev $ralink_switchdev set enable_vlan 0
swconfig dev $ralink_switchdev set apply 1
fi
ifname=eth0
}
boot_hook_add preinit_main ramips_set_preinit_iface

View File

@ -0,0 +1,715 @@
#!/bin/sh
#
# Copyright (C) 2010-2013 OpenWrt.org
#
ramips_board_detect() {
local machine
local name
machine=$(awk 'BEGIN{FS="[ \t]+:[ \t]"} /machine/ {print $2}' /proc/cpuinfo)
case "$machine" in
*"11AC NAS Router")
name="11acnas"
;;
*"3G150B")
name="3g150b"
;;
*"3G300M")
name="3g300m"
;;
*"3g-6200n")
name="3g-6200n"
;;
*"3g-6200nl")
name="3g-6200nl"
;;
*"A5-V11")
name="a5-v11"
;;
*"Ai-BR100")
name="ai-br100"
;;
*"Air3GII")
name="air3gii"
;;
*"ALL0256N (4M)")
name="all0256n-4M"
;;
*"ALL0256N (8M)")
name="all0256n-8M"
;;
*"ALL5002")
name="all5002"
;;
*"ALL5003")
name="all5003"
;;
*"AR670W")
name="ar670w"
;;
*"AR725W")
name="ar725w"
;;
*"ASL26555 (8M)")
name="asl26555-8M"
;;
*"ASL26555 (16M)")
name="asl26555-16M"
;;
*"ATP-52B")
name="atp-52b"
;;
*"AWAPN2403")
name="awapn2403"
;;
*"AWM002 EVB (4M)")
name="awm002-evb-4M"
;;
*"AWM002 EVB (8M)")
name="awm002-evb-8M"
;;
*"BC2")
name="bc2"
;;
*"BOCCO")
name="bocco"
;;
*"BR-6475nD")
name="br-6475nd"
;;
*"Broadway")
name="broadway"
;;
*"C108")
name="c108"
;;
*"C20i")
name="c20i"
;;
*"C50")
name="c50"
;;
*"Carambola")
name="carambola"
;;
*"CF-WR800N")
name="cf-wr800n"
;;
*"CS-QR10")
name="cs-qr10"
;;
*"CY-SWR1100")
name="cy-swr1100"
;;
*"D105")
name="d105"
;;
*"D240")
name="d240"
;;
*"DAP-1350")
name="dap-1350"
;;
*"DB-WRT01")
name="db-wrt01"
;;
*"DCH-M225")
name="dch-m225"
;;
*"DCS-930")
name="dcs-930"
;;
*"DCS-930L B1")
name="dcs-930l-b1"
;;
*"DIR-300 B1")
name="dir-300-b1"
;;
*"DIR-300 B7")
name="dir-300-b7"
;;
*"DIR-320 B1")
name="dir-320-b1"
;;
*"DIR-600 B1")
name="dir-600-b1"
;;
*"DIR-610 A1")
name="dir-610-a1"
;;
*"DIR-615 D")
name="dir-615-d"
;;
*"DIR-615 H1")
name="dir-615-h1"
;;
*"DIR-620 A1")
name="dir-620-a1"
;;
*"DIR-620 D1")
name="dir-620-d1"
;;
*"DIR-645")
name="dir-645"
;;
*"DIR-810L")
name="dir-810l"
;;
*"DIR-860L B1")
name="dir-860l-b1"
;;
*"Dovado Tiny AC")
name="tiny-ac"
;;
*"DuZun DM06")
name="duzun-dm06"
;;
*"DWR-512 B")
name="dwr-512-b"
;;
*"E1700")
name="e1700"
;;
*"ESR-9753")
name="esr-9753"
;;
*"EW1200")
name="ew1200"
;;
*"EX2700")
name="ex2700";
;;
*"EX3700/EX3800")
name="ex3700"
;;
*"F5D8235 v1")
name="f5d8235-v1"
;;
*"F5D8235 v2")
name="f5d8235-v2"
;;
*"F7C027")
name="f7c027"
;;
*"FireWRT")
name="firewrt"
;;
*"Fonera 2.0N")
name="fonera20n"
;;
*"FreeStation5")
name="freestation5"
;;
*"GL-MT300A")
name="gl-mt300a"
;;
*"GL-MT300N")
name="gl-mt300n"
;;
*"GL-MT750")
name="gl-mt750"
;;
*"GL-MT300N-V2")
name="gl-mt300n-v2"
;;
*"HC5661")
name="hc5661"
;;
*"HC5661A")
name="hc5661a"
;;
*"HC5761")
name="hc5761"
;;
*"HC5861")
name="hc5861"
;;
*"HC5962")
name="hc5962"
;;
*"HG255D")
name="hg255d"
;;
*"HLK-RM04")
name="hlk-rm04"
;;
*"HPM")
name="hpm"
;;
*"HT-TM02")
name="ht-tm02"
;;
*"HW550-3G")
name="hw550-3g"
;;
*"IP2202")
name="ip2202"
;;
*"JHR-N805R")
name="jhr-n805r"
;;
*"JHR-N825R")
name="jhr-n825r"
;;
*"JHR-N926R")
name="jhr-n926r"
;;
*"K2P")
name="k2p"
;;
*"M3")
name="m3"
;;
*"M4 (4M)")
name="m4-4M"
;;
*"M4 (8M)")
name="m4-8M"
;;
*"MediaTek LinkIt Smart 7688")
name="linkits7688"
;;
*"Memory 2 Move")
name="m2m"
;;
*"Mercury MAC1200R v2")
name="mac1200rv2"
;;
*"MicroWRT")
name="microwrt"
;;
*"MiniEMBPlug")
name="miniembplug"
;;
*"MiniEMBWiFi")
name="miniembwifi"
;;
*"MiWiFi Mini")
name="miwifi-mini"
;;
*"MiWiFi Nano")
name="miwifi-nano"
;;
*"MLW221")
name="mlw221"
;;
*"MLWG2")
name="mlwg2"
;;
*"MOFI3500-3GN")
name="mofi3500-3gn"
;;
*"MPR-A1")
name="mpr-a1"
;;
*"MPR-A2")
name="mpr-a2"
;;
*"MR-102N")
name="mr-102n"
;;
*"MR200")
name="mr200"
;;
*"MT7620a + MT7530 evaluation"*)
name="mt7620a_mt7530"
;;
*"MT7620a V22SG"*)
name="mt7620a_v22sg"
;;
*"MT7621 evaluation"*)
name="mt7621"
;;
*"MT7628AN evaluation"*)
name="mt7628"
;;
*"MT7688 evaluation"*)
name="mt7688"
;;
*"MZK-750DHP")
name="mzk-750dhp"
;;
*"MZK-DP150N")
name="mzk-dp150n"
;;
*"MZK-EX300NP")
name="mzk-ex300np"
;;
*"MZK-EX750NP")
name="mzk-ex750np"
;;
*"MZK-W300NH2"*)
name="mzk-w300nh2"
;;
*"MZK-WDPR"*)
name="mzk-wdpr"
;;
*"NA930")
name="na930"
;;
*"NBG-419N")
name="nbg-419n"
;;
*"NBG-419N v2")
name="nbg-419n2"
;;
*"Newifi-D1")
name="newifi-d1"
;;
*"NCS601W")
name="ncs601w"
;;
*"NixcoreX1 (8M)")
name="nixcore-x1-8M"
;;
*"NixcoreX1 (16M)")
name="nixcore-x1-16M"
;;
*"NW718")
name="nw718"
;;
*"Onion Omega2")
name="omega2"
;;
*"Onion Omega2+")
name="omega2p"
;;
*"OY-0001")
name="oy-0001"
;;
*"PBR-D1")
name="pbr-d1"
;;
*"PBR-M1")
name="pbr-m1"
;;
*"PSG1208")
name="psg1208"
;;
*"PSG1218 rev.A")
name="psg1218a"
;;
*"PSG1218 rev.B")
name="psg1218b"
;;
*"PSR-680W"*)
name="psr-680w"
;;
*"PWH2004")
name="pwh2004"
;;
*"PX-4885 (4M)")
name="px-4885-4M"
;;
*"PX-4885 (8M)")
name="px-4885-8M"
;;
*"Q7")
name="zte-q7"
;;
*"R6220")
name="r6220"
;;
*"RE350 v1")
name="re350-v1"
;;
*"RE6500")
name="re6500"
;;
*"RN502J")
name="xdxrn502j"
;;
*"RP-N53")
name="rp-n53"
;;
*"RT5350F-OLinuXino")
name="rt5350f-olinuxino"
;;
*"RT5350F-OLinuXino-EVB")
name="rt5350f-olinuxino-evb"
;;
*"RT-AC51U")
name="rt-ac51u"
;;
*"RT-G32 B1")
name="rt-g32-b1"
;;
*"RT-N10+")
name="rt-n10-plus"
;;
*"RT-N12+")
name="rt-n12p"
;;
*"RT-N13U")
name="rt-n13u"
;;
*"RT-N14U")
name="rt-n14u"
;;
*"RT-N15")
name="rt-n15"
;;
*"RT-N56U")
name="rt-n56u"
;;
*"RUT5XX")
name="rut5xx"
;;
*"SamKnows Whitebox 8")
name="sk-wb8"
;;
*"SAP-G3200U3")
name="sap-g3200u3"
;;
*"SL-R7205"*)
name="sl-r7205"
;;
*"TEW-638APB v2")
name="tew-638apb-v2"
;;
*"TEW-691GR")
name="tew-691gr"
;;
*"TEW-692GR")
name="tew-692gr"
;;
*"TEW-714TRU")
name="tew-714tru"
;;
*"Timecloud")
name="timecloud"
;;
*"TL-WR840N v4")
name="tl-wr840n-v4"
;;
*"TL-WR840N v5")
name="tl-wr840n-v5"
;;
*"TL-WR841N v13")
name="tl-wr841n-v13"
;;
*"U25AWF-H1")
name="u25awf-h1"
;;
*"U7628-01 (128M RAM/16M flash)")
name="u7628-01-128M-16M"
;;
*"UBNT-ERX")
name="ubnt-erx"
;;
*"UBNT-ERX-SFP")
name="ubnt-erx-sfp"
;;
*"UR-326N4G")
name="ur-326n4g"
;;
*"UR-336UN")
name="ur-336un"
;;
*"V11ST-FE")
name="v11st-fe"
;;
*"V22RW-2X2")
name="v22rw-2x2"
;;
*"VoCore (8M)")
name="vocore-8M"
;;
*"VoCore (16M)")
name="vocore-16M"
;;
*"VoCore2")
name="vocore2"
;;
*"VoCore2-Lite")
name="vocore2lite"
;;
*"VR500")
name="vr500"
;;
*"W150M")
name="w150m"
;;
*"W2914NS v2")
name="w2914nsv2"
;;
*"W306R V2.0")
name="w306r-v20"
;;
*"W502U")
name="w502u"
;;
*"WCR-1166DS")
name="wcr-1166ds"
;;
*"WCR-150GN")
name="wcr-150gn"
;;
*"WE1026-5G (16M)")
name="we1026-5g-16m"
;;
*"WF-2881")
name="wf-2881"
;;
*"WHR-1166D")
name="whr-1166d"
;;
*"WHR-300HP2")
name="whr-300hp2"
;;
*"WHR-600D")
name="whr-600d"
;;
*"WHR-G300N")
name="whr-g300n"
;;
*"WIZARD 8800")
name="wizard8800"
;;
*"WizFi630A")
name="wizfi630a"
;;
*"WL-330N")
name="wl-330n"
;;
*"WL-330N3G")
name="wl-330n3g"
;;
*"WL-351 v1 002")
name="wl-351"
;;
*"WLI-TX4-AG300N")
name="wli-tx4-ag300n"
;;
*"WLR-6000")
name="wlr-6000"
;;
*"WMDR-143N")
name="wmdr-143n"
;;
*"WMR-300")
name="wmr-300"
;;
*"WN3000RPv3")
name="wn3000rpv3"
;;
*"WNCE2001")
name="wnce2001"
;;
*"WNDR3700v5")
name="wndr3700v5"
;;
*"WR512-3GN (4M)")
name="wr512-3gn-4M"
;;
*"WR512-3GN (8M)")
name="wr512-3gn-8M"
;;
*"WR6202")
name="wr6202"
;;
*"WRH-300CR")
name="wrh-300cr"
;;
*"WRTNODE")
name="wrtnode"
;;
*"WRTnode2R")
name="wrtnode2r"
;;
*"WRTnode2P")
name="wrtnode2p"
;;
*"WSR-1166DHP")
name="wsr-1166"
;;
*"WSR-600DHP")
name="wsr-600"
;;
*"WT1520 (4M)")
name="wt1520-4M"
;;
*"WT1520 (8M)")
name="wt1520-8M"
;;
*"WT3020 (4M)")
name="wt3020-4M"
;;
*"WT3020 (8M)")
name="wt3020-8M"
;;
*"WZR-AGL300NH")
name="wzr-agl300nh"
;;
*"X5")
name="x5"
;;
*"X8")
name="x8"
;;
*"Y1")
name="y1"
;;
*"Y1S")
name="y1s"
;;
*"ZBT-APE522II")
name="zbt-ape522ii"
;;
*"ZBT-CPE102")
name="zbt-cpe102"
;;
*"ZBT-WA05")
name="zbt-wa05"
;;
*"ZBT-WE1326")
name="zbt-we1326"
;;
*"ZBT-WE2026")
name="zbt-we2026"
;;
*"ZBT-WE826 (16M)")
name="zbt-we826-16M"
;;
*"ZBT-WE826 (32M)")
name="zbt-we826-32M"
;;
*"ZBT-WG2626")
name="zbt-wg2626"
;;
*"ZBT-WG3526 (16M)")
name="zbt-wg3526-16M"
;;
*"ZBT-WG3526 (32M)")
name="zbt-wg3526-32M"
;;
*"ZBT-WR8305RT")
name="zbt-wr8305rt"
;;
*"ZyXEL Keenetic")
name="kn"
;;
*"ZyXEL Keenetic Omni")
name="kn_rc"
;;
*"ZyXEL Keenetic Omni II")
name="kn_rf"
;;
*"ZyXEL Keenetic Viva")
name="kng_rc"
;;
*"YK1")
name="youku-yk1"
;;
esac
# use generic board detect if no name is set
[ -z "$name" ] && return
[ -e "/tmp/sysinfo/" ] || mkdir -p "/tmp/sysinfo/"
echo "$name" > /tmp/sysinfo/board_name
echo "$machine" > /tmp/sysinfo/model
}

View File

@ -0,0 +1,75 @@
#
# Copyright (C) 2010 OpenWrt.org
#
PART_NAME=firmware
REQUIRE_IMAGE_METADATA=1
RAMFS_COPY_BIN='fw_printenv fw_setenv'
RAMFS_COPY_DATA='/etc/fw_env.config /var/lock/fw_printenv.lock'
platform_check_image() {
return 0
}
platform_pre_upgrade() {
local board=$(board_name)
case "$board" in
mikrotik,rb750gr3|\
mikrotik,rbm11g|\
mikrotik,rbm33g)
[ -z "$(rootfs_type)" ] && mtd erase firmware
;;
esac
}
platform_nand_pre_upgrade() {
local board=$(board_name)
case "$board" in
ubnt-erx|\
ubnt-erx-sfp)
platform_upgrade_ubnt_erx "$1"
;;
esac
}
platform_do_upgrade() {
local board=$(board_name)
case "$board" in
alfa-network,ac1200rm|\
alfa-network,awusfree1|\
alfa-network,quad-e4g|\
alfa-network,r36m-e4g|\
alfa-network,tube-e4g)
[ "$(fw_printenv -n dual_image 2>/dev/null)" = "1" ] &&\
[ -n "$(find_mtd_part backup)" ] && {
PART_NAME=backup
if [ "$(fw_printenv -n bootactive 2>/dev/null)" = "1" ]; then
fw_setenv bootactive 2 || exit 1
else
fw_setenv bootactive 1 || exit 1
fi
}
default_do_upgrade "$1"
;;
hc5962|\
r6220|\
netgear,r6350|\
ubnt-erx|\
ubnt-erx-sfp|\
xiaomi,mir3g|\
xiaomi,mir3p)
nand_do_upgrade "$1"
;;
tplink,c50-v4)
MTD_ARGS="-t romfile"
default_do_upgrade "$1"
;;
*)
default_do_upgrade "$1"
;;
esac
}

View File

@ -0,0 +1,76 @@
#
# Copyright (C) 2015 OpenWrt.org
#
. /lib/functions.sh
#Note: this code also uses some functions from nand.sh, but it is expected to be run by nand.sh, so we are not
#sourcing it explicitly here
UBNT_ERX_KERNEL_INDEX_OFFSET=160
ubnt_get_target_kernel() {
local factory_mtd=$1
local current_kernel_index=$(hexdump -s $UBNT_ERX_KERNEL_INDEX_OFFSET -n 1 -e '/1 "%X "' ${factory_mtd})
if [ $current_kernel_index == "0" ]; then
echo 'kernel2'
elif [ $current_kernel_index == "1" ]; then
echo 'kernel1'
fi
}
ubnt_update_target_kernel() {
local factory_mtd=$1
local kernel_part=$2
local new_kernel_index
if [ $kernel_part == "kernel1" ]; then
new_kernel_index="\x00"
elif [ $kernel_part == "kernel2" ]; then
new_kernel_index="\x01"
else
echo 'Unknown kernel image index' >&2
return 1
fi
if ! (echo -e $new_kernel_index | dd of=${factory_mtd} bs=1 count=1 seek=$UBNT_ERX_KERNEL_INDEX_OFFSET); then
echo 'Failed to update kernel bootup index' >&2
return 1
fi
}
platform_upgrade_ubnt_erx() {
local factory_mtd=$(find_mtd_part factory)
if [ -z "$factory_mtd" ]; then
echo "cannot find factory partition" >&2
exit 1
fi
local kernel_part="$(ubnt_get_target_kernel ${factory_mtd})"
if [ -z "$kernel_part" ]; then
echo "cannot find factory partition" >&2
exit 1
fi
# This is a global defined in nand.sh, sets partition kernel will be flashed into
CI_KERNPART=${kernel_part}
#Remove volume possibly left over from stock firmware
local ubidev="$( nand_find_ubi "$CI_UBIPART" )"
if [ -z "$ubidev" ]; then
local mtdnum="$( find_mtd_index "$CI_UBIPART" )"
if [ -z "$mtdnum" ]; then
echo "cannot find ubi mtd partition $CI_UBIPART" >&2
exit 1
fi
ubiattach -m "$mtdnum"
sync
ubidev="$( nand_find_ubi "$CI_UBIPART" )"
fi
if [ -n "$ubidev" ]; then
local troot_ubivol="$( nand_find_volume $ubidev troot )"
[ -n "$troot_ubivol" ] && ubirmvol /dev/$ubidev -N troot || true
fi
ubnt_update_target_kernel ${factory_mtd} ${kernel_part} || exit 1
}

View File

@ -0,0 +1,81 @@
#!/bin/sh
. /lib/functions.sh
. /lib/functions/system.sh
partname=""
offset=""
NEW_MAC=
YES=
board=$(board_name)
case $board in
mqmaker,witi-256m|\
mqmaker,witi-512m)
partname=factory
offset=$((0xe000))
;;
*)
echo "Unsupported board"
exit 1
;;
esac
while [ -n "$1" ]; do
case "$1" in
??:??:??:??:??:??) NEW_MAC="$1";;
-y) YES=1;;
*)
cat <<EOF
Unknown option/argument '$1'
Usage: $0 [-y] [<macaddr>]
EOF
exit 1
;;
esac
shift
done
ask_bool() {
local message="$1"
local default="$((! ${2:-0}))"
[ -n "$YES" ] && return 0
echo -n "$message "
read opt
case "$opt" in
y|Y) return 0;;
n|N) return 1;;
*) return $default;;
esac
}
convert_hex() {
hexdump -e '/1 "%02x "'
}
gen_mac() {
dd if=/dev/urandom bs=6 count=1 2>/dev/null
}
mac="$(mtd_get_mac_binary $partname $offset)"
case "$mac" in
00:00:00:00:00:00);;
ff:ff:ff:ff:ff:ff);;
*)
echo "Current MAC address: $mac"
ask_bool "Overwrite (y/N)?" 0 || exit
;;
esac
if [ -n "$NEW_MAC" ]; then
set -- $(echo "$NEW_MAC" | sed 's,:, ,g')
else
set -- $(gen_mac | convert_hex)
set -- $(printf %02x $(( (0x$1 & 0xfe) | 0x02 ))) $2 $3 $4 $5 $6
fi
echo "New MAC address: $1:$2:$3:$4:$5:$6"
ask_bool "Write to EEPROM (y/N)?" || exit
part=$(find_mtd_part "$partname")
[ -n "$part" ] || exit
echo -ne "\x$1\x$2\x$3\x$4\x$5\x$6" | dd of=$part conv=notrunc bs=1 count=6 seek=$offset 2>/dev/null
echo "Done"

View File

@ -0,0 +1,24 @@
/dts-v1/;
#include "W2914NSV2.dtsi"
/ {
compatible = "wevo,11acnas", "wevo,w2914ns-v2", "mediatek,mt7621-soc";
model = "WeVO 11AC NAS Router";
memory@0 {
device_type = "memory";
reg = <0x0 0x10000000>;
};
leds {
compatible = "gpio-leds";
usb {
label = "11acnas:green:usb";
gpios = <&gpio0 27 GPIO_ACTIVE_LOW>;
trigger-sources = <&xhci_ehci_port1>, <&ehci_port2>;
linux,default-trigger = "usbport";
};
};
};

View File

@ -0,0 +1,124 @@
/dts-v1/;
#include "rt3050.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "edimax,3g-6200n", "ralink,rt3050-soc";
model = "Edimax 3g-6200n";
aliases {
led-boot = &led_power;
led-failsafe = &led_power;
led-running = &led_power;
led-upgrade = &led_power;
};
cfi@1f000000 {
compatible = "cfi-flash";
reg = <0x1f000000 0x800000>;
bank-width = <2>;
device-width = <2>;
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@3e0000 {
label = "cimage";
reg = <0x3e0000 0x20000>;
read-only;
};
partition@50000 {
compatible = "edimax,uimage";
label = "firmware";
reg = <0x50000 0x390000>;
};
};
};
leds {
compatible = "gpio-leds";
led_power: power {
label = "3g-6200n:green:power";
gpios = <&gpio0 9 GPIO_ACTIVE_LOW>;
};
wlan {
label = "3g-6200n:amber:wlan";
gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
};
3g {
label = "3g-6200n:blue:3g";
gpios = <&gpio0 7 GPIO_ACTIVE_LOW>;
trigger-sources = <&otg_port1>;
linux,default-trigger = "usbport";
};
};
keys {
compatible = "gpio-keys-polled";
poll-interval = <20>;
reset {
label = "reset";
gpios = <&gpio0 12 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
rfkill {
label = "wlanswitch";
gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RFKILL>;
};
};
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "spi", "i2c", "jtag", "rgmii", "mdio", "uartf";
ralink,function = "gpio";
};
};
};
&ethernet {
mtd-mac-address = <&factory 0x4>;
};
&esw {
mediatek,portmap = <0x2f>;
};
&wmac {
ralink,mtd-eeprom = <&factory 0>;
};
&otg {
status = "okay";
};

View File

@ -0,0 +1,111 @@
/dts-v1/;
#include "rt3050.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "edimax,3g-6200nl", "ralink,rt3050-soc";
model = "Edimax 3g-6200nl";
aliases {
led-boot = &led_internet;
led-failsafe = &led_internet;
led-running = &led_internet;
led-upgrade = &led_internet;
};
cfi@1f000000 {
compatible = "cfi-flash";
reg = <0x1f000000 0x800000>;
bank-width = <2>;
device-width = <2>;
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@3e0000 {
label = "cimage";
reg = <0x3e0000 0x20000>;
read-only;
};
partition@50000 {
compatible = "edimax,uimage";
label = "firmware";
reg = <0x50000 0x390000>;
};
};
};
leds {
compatible = "gpio-leds";
led_internet: internet {
label = "3g-6200nl:green:internet";
gpios = <&gpio0 9 GPIO_ACTIVE_LOW>;
};
wlan {
label = "3g-6200nl:green:wlan";
gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
};
};
keys {
compatible = "gpio-keys-polled";
poll-interval = <20>;
reset {
label = "reset";
gpios = <&gpio0 12 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
};
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "spi", "i2c", "jtag", "rgmii", "mdio", "uartf";
ralink,function = "gpio";
};
};
};
&ethernet {
mtd-mac-address = <&factory 0x4>;
};
&esw {
mediatek,portdisable = <0x37>;
};
&wmac {
ralink,mtd-eeprom = <&factory 0>;
};
&otg {
status = "okay";
};

View File

@ -0,0 +1,130 @@
/dts-v1/;
#include "rt5350.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "tenda,3g150b", "ralink,rt5350-soc";
model = "Tenda 3G150B";
aliases {
led-boot = &led_ap;
led-failsafe = &led_ap;
led-running = &led_ap;
led-upgrade = &led_ap;
};
leds {
compatible = "gpio-leds";
led_ap: ap {
label = "3g150b:blue:ap";
gpios = <&gpio0 7 GPIO_ACTIVE_LOW>;
};
3g {
label = "3g150b:blue:3g";
gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
trigger-sources = <&ohci_port1>, <&ehci_port1>;
linux,default-trigger = "usbport";
};
};
keys {
compatible = "gpio-keys-polled";
poll-interval = <20>;
reset {
label = "reset";
gpios = <&gpio0 0 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
};
gpio_export {
compatible = "gpio-export";
#size-cells = <0>;
usb {
gpio-export,name = "usb";
gpio-export,output = <1>;
gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>;
};
};
};
&spi0 {
status = "okay";
m25p80@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <10000000>;
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 0x3b0000>;
};
};
};
};
&gpio1 {
status = "okay";
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "i2c", "jtag", "uartf", "led";
ralink,function = "gpio";
};
};
};
&ethernet {
mtd-mac-address = <&factory 0x4>;
};
&esw {
mediatek,portmap = <0x2f>;
};
&wmac {
ralink,mtd-eeprom = <&factory 0>;
ralink,led-polarity = <1>;
};
&ehci {
status = "okay";
};
&ohci {
status = "okay";
};

View File

@ -0,0 +1,136 @@
/dts-v1/;
#include "rt3050.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "tenda,3g300m", "ralink,rt3052-soc";
model = "Tenda 3G300M";
aliases {
led-boot = &led_ap;
led-failsafe = &led_ap;
led-running = &led_ap;
led-upgrade = &led_ap;
};
leds {
compatible = "gpio-leds";
3grouter {
label = "3g300m:blue:3grouter";
gpios = <&gpio0 11 GPIO_ACTIVE_LOW>;
};
led_ap: ap {
label = "3g300m:blue:ap";
gpios = <&gpio0 12 GPIO_ACTIVE_LOW>;
};
wisprouter {
label = "3g300m:blue:wisprouter";
gpios = <&gpio0 9 GPIO_ACTIVE_LOW>;
};
wirelessrouter {
label = "3g300m:blue:wirelessrouter";
gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
};
3g {
label = "3g300m:blue:3g";
gpios = <&gpio0 7 GPIO_ACTIVE_LOW>;
trigger-sources = <&otg_port1>;
linux,default-trigger = "usbport";
};
wpsreset {
label = "3g300m:blue:wpsreset";
gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
};
};
keys {
compatible = "gpio-keys-polled";
poll-interval = <20>;
reset {
label = "reset";
gpios = <&gpio0 0 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
mode {
label = "mode";
gpios = <&gpio0 10 GPIO_ACTIVE_LOW>;
linux,code = <BTN_0>;
};
};
};
&spi0 {
status = "okay";
m25p80@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <10000000>;
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 0x3b0000>;
};
};
};
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "i2c", "jtag", "rgmii", "mdio", "uartf";
ralink,function = "gpio";
};
};
};
&ethernet {
mtd-mac-address = <&factory 0x4>;
};
&esw {
mediatek,portmap = <0x2f>;
};
&wmac {
ralink,mtd-eeprom = <&factory 0>;
};
&otg {
status = "okay";
};

View File

@ -0,0 +1,134 @@
/dts-v1/;
#include "rt5350.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "unbranded,a5-v11", "ralink,rt5350-soc";
model = "A5-V11";
aliases {
led-boot = &led_power;
led-failsafe = &led_power;
led-running = &led_power;
led-upgrade = &led_power;
};
leds {
compatible = "gpio-leds";
system {
label = "a5-v11:blue:system";
gpios = <&gpio0 20 GPIO_ACTIVE_LOW>;
};
led_power: power {
label = "a5-v11:red:power";
gpios = <&gpio0 17 GPIO_ACTIVE_LOW>;
};
};
keys {
compatible = "gpio-keys-polled";
poll-interval = <20>;
reset {
label = "reset";
gpios = <&gpio0 0 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
};
gpio_export {
compatible = "gpio-export";
#size-cells = <0>;
usb {
gpio-export,name = "usb";
gpio-export,output = <1>;
gpios = <&gpio0 7 GPIO_ACTIVE_HIGH>;
};
root_hub {
gpio-export,name = "root_hub";
gpio-export,output = <1>;
gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>;
};
};
};
&spi0 {
status = "okay";
m25p80@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <10000000>;
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 0x3b0000>;
};
};
};
};
&gpio1 {
status = "okay";
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "i2c", "jtag", "uartf", "led";
ralink,function = "gpio";
};
};
};
&ethernet {
mtd-mac-address = <&factory 0x4>;
};
&esw {
mediatek,portmap = <0x1>;
mediatek,portdisable = <0x3e>;
};
&wmac {
ralink,mtd-eeprom = <&factory 0>;
};
&ehci {
status = "okay";
};
&ohci {
status = "okay";
};

View File

@ -0,0 +1,183 @@
/*
* BSD LICENSE
*
* Copyright (C) 2018 Piotr Dymacz <pepe2k@gmail.com>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. Neither the names of the copyright holders nor the names of any
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
/dts-v1/;
#include "mt7620a.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "alfa-network,ac1200rm", "ralink,mt7620a-soc";
model = "ALFA Network AC1200RM";
aliases {
led-boot = &led_wps;
led-failsafe = &led_wps;
};
chosen {
bootargs = "console=ttyS0,115200";
};
keys {
compatible = "gpio-keys-polled";
poll-interval = <20>;
reset {
label = "reset";
gpios = <&gpio2 15 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
};
leds {
compatible = "gpio-leds";
wlan2g {
label = "ac1200rm:green:wlan2g";
gpios = <&gpio3 0 GPIO_ACTIVE_LOW>;
};
led_wps: wps {
label = "ac1200rm:green:wps";
gpios = <&gpio1 14 GPIO_ACTIVE_HIGH>;
};
};
};
&ehci {
status = "okay";
};
&ethernet {
mtd-mac-address = <&factory 0x28>;
mediatek,portmap = "llllw";
pinctrl-names = "default";
pinctrl-0 = <&ephy_pins>;
};
&gpio1 {
status = "okay";
};
&gpio2 {
status = "okay";
};
&gpio3 {
status = "okay";
};
&gsw {
mediatek,port4 = "ephy";
};
&ohci {
status = "okay";
};
&pcie {
status = "okay";
};
&pcie0 {
mt76@0,0 {
reg = <0x0000 0 0 0 0>;
mediatek,mtd-eeprom = <&factory 0x8000>;
ieee80211-freq-limit = <5000000 6000000>;
led {
led-sources = <2>;
led-active-low;
};
};
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "nd_sd", "spi refclk", "wled";
ralink,function = "gpio";
};
};
};
&spi0 {
status = "okay";
m25p80@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <10000000>;
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 0x1000>;
};
partition@31000 {
label = "config";
reg = <0x31000 0xf000>;
read-only;
};
factory: partition@40000 {
label = "factory";
reg = <0x40000 0x10000>;
read-only;
};
partition@50000 {
compatible = "denx,uimage";
label = "firmware";
reg = <0x50000 0xfb0000>;
};
};
};
};
&wmac {
ralink,mtd-eeprom = <&factory 0>;
};

View File

@ -0,0 +1,117 @@
/dts-v1/;
#include "mt7620a.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "aigale,ai-br100", "ralink,mt7620a-soc";
model = "Aigale Ai-BR100";
aliases {
led-boot = &led_wlan;
led-failsafe = &led_wlan;
led-running = &led_wlan;
led-upgrade = &led_wlan;
};
leds {
compatible = "gpio-leds";
wan {
label = "ai-br100:blue:wan";
gpios = <&gpio2 4 GPIO_ACTIVE_LOW>;
};
led_wlan: wlan {
label = "ai-br100:blue:wlan";
gpios = <&gpio3 0 GPIO_ACTIVE_LOW>;
};
};
keys {
compatible = "gpio-keys-polled";
poll-interval = <20>;
reset {
label = "reset";
gpios = <&gpio0 12 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
};
};
&gpio2 {
status = "okay";
};
&gpio3 {
status = "okay";
};
&spi0 {
status = "okay";
m25p80@0 {
compatible = "jedec,spi-nor";
reg = <0 0>;
spi-max-frequency = <10000000>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "u-boot";
reg = <0x0 0x20000>;
read-only;
};
partition@20000 {
label = "u-boot-env";
reg = <0x20000 0x10000>;
read-only;
};
factory: partition@30000 {
label = "factory";
reg = <0x30000 0x10000>;
read-only;
};
partition@40000 {
compatible = "denx,uimage";
label = "firmware";
reg = <0x40000 0x7c0000>;
};
};
};
};
&ehci {
status = "okay";
};
&ohci {
status = "okay";
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "i2c", "uartf", "rgmii1", "rgmii2", "ephy", "wled", "nd_sd";
ralink,function = "gpio";
};
};
};
&ethernet {
mtd-mac-address = <&factory 0x4>;
mediatek,portmap = "llllw";
};
&wmac {
ralink,mtd-eeprom = <&factory 0>;
};

View File

@ -0,0 +1,103 @@
/dts-v1/;
#include "rt5350.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "airlive,air3gii", "ralink,rt5350-soc";
model = "AirLive Air3GII";
leds {
compatible = "gpio-leds";
wlan {
label = "air3gii:green:wlan";
gpios = <&gpio0 8 GPIO_ACTIVE_HIGH>;
};
mobile {
label = "air3gii:green:mobile";
gpios = <&gpio0 9 GPIO_ACTIVE_LOW>;
trigger-sources = <&ohci_port1>, <&ehci_port1>;
linux,default-trigger = "usbport";
};
};
keys {
compatible = "gpio-keys-polled";
poll-interval = <20>;
wps {
label = "wps";
gpios = <&gpio0 7 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WPS_BUTTON>;
};
};
};
&gpio0 {
status = "okay";
};
&spi0 {
status = "okay";
m25p80@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <10000000>;
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 0x3b0000>;
};
};
};
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "i2c", "jtag", "uartf";
ralink,function = "gpio";
};
};
};
&ethernet {
mtd-mac-address = <&factory 0x4>;
};
&esw {
mediatek,portmap = <0x2f>;
};
&wmac {
ralink,mtd-eeprom = <&factory 0>;
};

View File

@ -0,0 +1,48 @@
/dts-v1/;
#include "ALL0256N.dtsi"
/ {
compatible = "allnet,all0256n-4m", "allnet,all0256n", "ralink,rt3050-soc";
model = "Allnet ALL0256N (4M)";
};
&spi0 {
status = "okay";
m25p80@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <10000000>;
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 0x3c8000>;
};
};
};
};

View File

@ -0,0 +1,48 @@
/dts-v1/;
#include "ALL0256N.dtsi"
/ {
compatible = "allnet,all0256n-8m", "allnet,all0256n", "ralink,rt3050-soc";
model = "Allnet ALL0256N (8M)";
};
&spi0 {
status = "okay";
m25p80@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <10000000>;
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 0x7b0000>;
};
};
};
};

View File

@ -0,0 +1,63 @@
#include "rt3050.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "allnet,all0256n", "ralink,rt3050-soc";
leds {
compatible = "gpio-leds";
rssilow {
label = "all0256n:green:rssilow";
gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
};
rssimed {
label = "all0256n:green:rssimed";
gpios = <&gpio0 12 GPIO_ACTIVE_LOW>;
};
rssihigh {
label = "all0256n:green:rssihigh";
gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
};
};
keys {
compatible = "gpio-keys-polled";
poll-interval = <20>;
reset {
label = "reset";
gpios = <&gpio0 0 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
};
};
&gpio0 {
status = "okay";
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "i2c", "jtag", "rgmii", "mdio", "uartf";
ralink,function = "gpio";
};
};
};
&ethernet {
mtd-mac-address = <&factory 0x28>;
};
&esw {
mediatek,portmap = <0x3f>;
};
&wmac {
ralink,mtd-eeprom = <&factory 0>;
};

View File

@ -0,0 +1,119 @@
/dts-v1/;
#include "rt3352.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "allnet,all5002", "ralink,rt3352-soc";
model = "Allnet ALL5002";
i2c-gpio {
#address-cells = <1>;
#size-cells = <0>;
compatible = "i2c-gpio";
gpios = <&gpio0 1 GPIO_ACTIVE_HIGH &gpio0 2 GPIO_ACTIVE_HIGH>;
i2c-gpio,delay-us = <10>;
pcf0: iexp@38 {
#gpio-cells = <2>;
compatible = "inxp,pcf8574a";
reg = <0x38>;
gpio-controller;
};
hwmon@4b {
compatible = "national,lm92";
reg = <0x4b>;
};
};
leds {
compatible = "gpio-leds";
ld1 {
label = "all5002:green:ld1";
gpios = <&pcf0 0 GPIO_ACTIVE_LOW>;
};
ld2 {
label = "all5002:green:ld2";
gpios = <&pcf0 1 GPIO_ACTIVE_LOW>;
};
};
};
&gpio0 {
status = "okay";
};
&spi0 {
status = "okay";
m25p80@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <10000000>;
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 0x1fb0000>;
};
};
};
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "i2c", "jtag", "rgmii", "mdio", "uartf";
ralink,function = "gpio";
};
};
};
&ethernet {
mtd-mac-address = <&factory 0x28>;
};
&esw {
mediatek,portmap = <0x3f>;
};
&wmac {
ralink,mtd-eeprom = <&factory 0>;
};
&ehci {
status = "okay";
};
&ohci {
status = "okay";
};

View File

@ -0,0 +1,119 @@
/dts-v1/;
#include "rt5350.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "allnet,all5003", "ralink,rt5350-soc";
model = "Allnet ALL5003";
i2c-gpio {
#address-cells = <1>;
#size-cells = <0>;
compatible = "i2c-gpio";
gpios = <&gpio0 1 GPIO_ACTIVE_HIGH &gpio0 2 GPIO_ACTIVE_HIGH>;
i2c-gpio,delay-us = <10>;
pcf0: iexp@38 {
#gpio-cells = <2>;
compatible = "inxp,pcf8574a";
reg = <0x38>;
gpio-controller;
};
hwmon@4b {
compatible = "national,lm92";
reg = <0x4b>;
};
};
leds {
compatible = "gpio-leds";
ld1 {
label = "all5003:green:ld1";
gpios = <&pcf0 0 GPIO_ACTIVE_LOW>;
};
ld2 {
label = "all5003:green:ld2";
gpios = <&pcf0 1 GPIO_ACTIVE_LOW>;
};
};
};
&gpio0 {
status = "okay";
};
&spi0 {
status = "okay";
m25p80@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <10000000>;
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 0x1fb0000>;
};
};
};
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "i2c", "jtag", "uartf";
ralink,function = "gpio";
};
};
};
&ethernet {
mtd-mac-address = <&factory 0x28>;
};
&esw {
mediatek,portmap = <0x3f>;
};
&wmac {
ralink,mtd-eeprom = <&factory 0>;
};
&ehci {
status = "okay";
};
&ohci {
status = "okay";
};

View File

@ -0,0 +1,131 @@
/dts-v1/;
#include "mt7621.dtsi"
/ {
compatible = "mediatek,ap-mt7621a-v60", "mediatek,mt7621-soc";
model = "Mediatek AP-MT7621A-V60 EVB";
memory@0 {
device_type = "memory";
reg = <0x0 0x8000000>;
};
chosen {
bootargs = "console=ttyS0,57600";
};
sound {
compatible = "simple-audio-card";
simple-audio-card,name = "Audio-I2S";
simple-audio-card,format = "i2s";
simple-audio-card,bitclock-master = <&dailink0_master>;
simple-audio-card,frame-master = <&dailink0_master>;
simple-audio-card,widgets =
"Microphone", "Microphone Jack",
"Headphone", "Headphone Jack";
simple-audio-card,routing =
"LINPUT1", "Microphone Jack",
"RINPUT1", "Microphone Jack",
"Headphone Jack", "HP_L",
"Headphone Jack", "HP_R";
simple-audio-card,mclk-fs = <256>;
simple-audio-card,cpu {
sound-dai = <&i2s>;
};
dailink0_master: simple-audio-card,codec {
sound-dai = <&codec>;
};
};
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "uart2", "rgmii2";
ralink,function = "gpio";
};
};
i2s_pins: i2s {
i2s {
ralink,group = "uart3";
ralink,function = "i2s";
};
};
};
&i2c {
status = "okay";
codec: wm8960@1a {
#sound-dai-cells = <0>;
compatible = "wlf,wm8960";
reg = <0x1a>;
wlf,shared-lrclk;
};
};
&gdma {
status = "okay";
};
&i2s {
#sound-dai-cells = <0>;
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&i2s_pins>;
};
&spi0 {
status = "okay";
mx25l6405d@0 {
compatible = "mx25l6405d","jedec,spi-nor";
reg = <0 0>;
spi-max-frequency = <10000000>;
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 0x7b0000>;
};
};
};
};
&sdhci {
status = "okay";
};
&ethernet {
mtd-mac-address = <&factory 0x5>;
};
&pcie {
status = "okay";
};

View File

@ -0,0 +1,116 @@
/dts-v1/;
#include "rt2880.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "airlink101,ar670w", "ralink,rt2880-soc";
model = "Airlink101 AR670W";
aliases {
led-boot = &led_power;
led-failsafe = &led_power;
led-running = &led_power;
led-upgrade = &led_power;
};
cfi@bdc00000 {
compatible = "cfi-flash";
reg = <0xbc400000 0x800000>;
bank-width = <2>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
reg = <0x0 0x30000>;
label = "u-boot";
read-only;
};
factory: partition@30000 {
reg = <0x30000 0x10000>;
label = "factory";
read-only;
};
partition@40000 {
compatible = "lzma";
reg = <0x40000 0x3c0000>;
label = "firmware";
};
};
};
leds {
compatible = "gpio-leds";
led_power: power {
label = "ar670w:green:power";
gpios = <&gpio0 7 GPIO_ACTIVE_LOW>;
};
wpsblue {
label = "ar670w:blue:wps";
gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
};
};
keys {
compatible = "gpio-keys-polled";
poll-interval = <100>;
wps {
label = "wps";
gpios = <&gpio0 0 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WPS_BUTTON>;
};
reset {
label = "reset";
gpios = <&gpio0 9 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
};
};
&gpio0 {
status = "okay";
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "i2c", "spi", "uartlite";
ralink,function = "gpio";
};
};
};
&ethernet {
status = "okay";
mtd-mac-address = <&factory 0x2004>;
port@0 {
phy-handle = <&phy0>;
phy-mode = "mii";
};
mdio-bus {
status = "okay";
phy0: ethernet-phy@0 {
phy-mode = "mii";
reg = <0>;
};
};
};
&wmac {
status = "okay";
ralink,mtd-eeprom = <&factory 0x2000>;
};

View File

@ -0,0 +1,126 @@
/dts-v1/;
#include "rt2880.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "airlink101,ar725w", "ralink,rt2880-soc";
model = "Airlink101 AR725W";
aliases {
led-boot = &led_power;
led-failsafe = &led_power;
led-running = &led_power;
led-upgrade = &led_power;
};
cfi@bdc00000 {
compatible = "cfi-flash";
reg = <0xbc400000 0x800000>;
bank-width = <2>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
reg = <0x0 0x30000>;
label = "u-boot";
read-only;
};
partition@30000 {
reg = <0x30000 0x10000>;
label = "u-boot-env";
};
factory: partition@40000 {
reg = <0x40000 0x10000>;
label = "factory";
read-only;
};
partition@50000 {
compatible = "denx,uimage";
reg = <0x50000 0x3B0000>;
label = "firmware";
};
};
};
leds {
compatible = "gpio-leds";
led_power: power {
label = "ar725w:green:power";
gpios = <&gpio0 7 GPIO_ACTIVE_HIGH>;
};
wpsred {
label = "ar725w:red:wps";
gpios = <&gpio0 8 GPIO_ACTIVE_LOW>;
};
wpsblue {
label = "ar725w:blue:wps";
gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
};
};
keys {
compatible = "gpio-keys-polled";
poll-interval = <100>;
wps {
label = "wps";
gpios = <&gpio0 0 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WPS_BUTTON>;
};
reset {
label = "reset";
gpios = <&gpio0 9 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
};
};
&gpio0 {
status = "okay";
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "i2c", "spi", "uartlite";
ralink,function = "gpio";
};
};
};
&ethernet {
status = "okay";
mtd-mac-address = <&factory 0x4>;
port@0 {
phy-handle = <&phy0>;
phy-mode = "mii";
};
mdio-bus {
status = "okay";
phy0: ethernet-phy@0 {
phy-mode = "mii";
reg = <0>;
};
};
};
&wmac {
status = "okay";
ralink,mtd-eeprom = <&factory 0>;
};

View File

@ -0,0 +1,66 @@
/dts-v1/;
#include "ASL26555.dtsi"
/ {
compatible = "alphanetworks,asl26555-16m", "alphanetworks,asl26555", "ralink,rt3050-soc";
model = "Alpha ASL26555 (16M)";
};
&spi0 {
status = "okay";
m25p80@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <10000000>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "uboot";
reg = <0x0 0x30000>;
read-only;
};
partition@30000 {
label = "uboot-env";
reg = <0x30000 0x10000>;
read-only;
};
partition@40000 {
label = "factory";
reg = <0x40000 0x10000>;
read-only;
};
partition@50000 {
compatible = "denx,uimage";
label = "firmware";
reg = <0x50000 0xf80000>;
};
partition@fd0000 {
label = "cert";
reg = <0xfd0000 0x10000>;
read-only;
};
partition@fe0000 {
label = "langpack";
reg = <0xfe0000 0x10000>;
read-only;
};
devdata: partition@ff0000 {
label = "devdata";
reg = <0xff0000 0x10000>;
read-only;
};
};
};
};

View File

@ -0,0 +1,60 @@
/dts-v1/;
#include "ASL26555.dtsi"
/ {
compatible = "alphanetworks,asl26555-8m", "alphanetworks,asl26555", "ralink,rt3050-soc";
model = "Alpha ASL26555 (8M)";
};
&spi0 {
status = "okay";
m25p80@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <10000000>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "uboot";
reg = <0x0 0x30000>;
read-only;
};
devdata: partition@30000 {
label = "uboot-env";
reg = <0x30000 0x10000>;
read-only;
};
partition@40000 {
label = "rgdb";
reg = <0x40000 0x10000>;
read-only;
};
partition@50000 {
compatible = "denx,uimage";
label = "firmware";
reg = <0x50000 0x790000>;
};
partition@7e0000 {
label = "cert";
reg = <0x7e0000 0x10000>;
read-only;
};
partition@7f0000 {
label = "langpack";
reg = <0x7f0000 0x10000>;
read-only;
};
};
};
};

View File

@ -0,0 +1,107 @@
#include "rt3050.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "alphanetworks,asl26555", "ralink,rt3050-soc";
aliases {
led-boot = &led_power_green;
led-failsafe = &led_power_green;
led-running = &led_power_green;
led-upgrade = &led_power_green;
};
keys {
compatible = "gpio-keys-polled";
poll-interval = <20>;
reset {
label = "reset";
gpios = <&gpio0 10 GPIO_ACTIVE_HIGH>;
linux,code = <KEY_RESTART>;
};
wps {
label = "wps";
gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>;
linux,code = <KEY_WPS_BUTTON>;
};
};
leds {
compatible = "gpio-leds";
eth {
label = "asl26555:green:eth";
gpios = <&gpio0 0 GPIO_ACTIVE_LOW>;
};
wan-red {
label = "asl26555:red:wan";
gpios = <&gpio0 1 GPIO_ACTIVE_HIGH>;
};
wan-green {
label = "asl26555:green:wan";
gpios = <&gpio0 2 GPIO_ACTIVE_HIGH>;
};
wlan {
label = "asl26555:green:wlan";
gpios = <&gpio0 7 GPIO_ACTIVE_HIGH>;
};
led_power_green: power-green {
label = "asl26555:green:power";
gpios = <&gpio0 8 GPIO_ACTIVE_HIGH>;
};
power-red {
label = "asl26555:red:power";
gpios = <&gpio0 9 GPIO_ACTIVE_HIGH>;
};
3g-green {
label = "asl26555:green:3g";
gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
trigger-sources = <&otg_port1>;
linux,default-trigger = "usbport";
};
3g-red {
label = "asl26555:red:3g";
gpios = <&gpio0 17 GPIO_ACTIVE_LOW>;
};
};
};
&gpio0 {
status = "okay";
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "i2c", "jtag", "rgmii", "mdio", "uartf";
ralink,function = "gpio";
};
};
};
&ethernet {
mtd-mac-address = <&devdata 0x4004>;
};
&esw {
mediatek,portmap = <0x1e>;
};
&wmac {
ralink,mtd-eeprom = <&devdata 0x4000>;
};
&otg {
status = "okay";
};

View File

@ -0,0 +1,110 @@
/dts-v1/;
#include "rt3050.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "argus,atp-52b", "ralink,rt3052-soc";
model = "Argus ATP-52B";
aliases {
led-boot = &led_run;
led-failsafe = &led_run;
led-running = &led_run;
led-upgrade = &led_run;
};
cfi@1f000000 {
compatible = "cfi-flash";
reg = <0x1f000000 0x800000>;
bank-width = <2>;
device-width = <2>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "bootloader";
reg = <0x0 0x30000>;
read-only;
};
partition@30000 {
label = "config";
reg = <0x30000 0x10000>;
};
factory: partition@40000 {
label = "factory";
reg = <0x40000 0x10000>;
};
partition@50000 {
compatible = "denx,uimage";
label = "firmware";
reg = <0x50000 0x7a0000>;
};
};
};
leds {
compatible = "gpio-leds";
led_run: run {
label = "atp-52b:green:run";
gpios = <&gpio0 9 GPIO_ACTIVE_LOW>;
};
net {
label = "atp-52b:amber:net";
gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
};
};
keys {
compatible = "gpio-keys-polled";
poll-interval = <20>;
wps {
label = "wps";
gpios = <&gpio0 0 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WPS_BUTTON>;
};
reset {
label = "reset";
gpios = <&gpio0 10 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
};
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "i2c", "jtag", "rgmii", "mdio", "uartf";
ralink,function = "gpio";
};
};
};
&ethernet {
mtd-mac-address = <&factory 0x4>;
};
&esw {
mediatek,portmap = <0x3e>;
};
&wmac {
ralink,mtd-eeprom = <&factory 0>;
};
&otg {
status = "okay";
};

View File

@ -0,0 +1,96 @@
/dts-v1/;
#include "rt3050.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "asiarf,awapn2403", "ralink,rt3052-soc";
model = "AsiaRF AWAPN2403";
aliases {
led-boot = &led_wps;
led-failsafe = &led_wps;
led-running = &led_wps;
led-upgrade = &led_wps;
};
leds {
compatible = "gpio-leds";
led_wps: wps {
label = "awapn2403:green:wps";
gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
};
};
keys {
compatible = "gpio-keys-polled";
poll-interval = <20>;
reset {
label = "reset";
gpios = <&gpio0 0 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
};
};
&spi0 {
status = "okay";
m25p80@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <10000000>;
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 0x3b0000>;
};
};
};
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "i2c", "jtag", "rgmii", "mdio", "uartf";
ralink,function = "gpio";
};
};
};
&esw {
mediatek,portmap = <0x3e>;
};
&wmac {
ralink,mtd-eeprom = <&factory 0>;
};

View File

@ -0,0 +1,48 @@
/dts-v1/;
#include "AWM002-EVB.dtsi"
/ {
compatible = "asiarf,awm002-evb-4m", "ralink,rt5350-soc";
model = "AsiaRF AWM002 EVB (4M)";
};
&spi0 {
status = "okay";
m25p80: m25p80@0 {
reg = <0>;
compatible = "jedec,spi-nor";
spi-max-frequency = <10000000>;
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 0x3b0000>;
};
};
};
};

View File

@ -0,0 +1,48 @@
/dts-v1/;
#include "AWM002-EVB.dtsi"
/ {
compatible = "asiarf,awm002-evb-8m", "ralink,rt5350-soc";
model = "AsiaRF AWM002 EVB (8M)";
};
&spi0 {
status = "okay";
m25p80: m25p80@0 {
reg = <0>;
compatible = "jedec,spi-nor";
spi-max-frequency = <10000000>;
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 0x7b0000>;
};
};
};
};

View File

@ -0,0 +1,73 @@
#include "rt5350.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "asiarf,awm002-evb", "ralink,rt5350-soc";
leds {
compatible = "gpio-leds";
tx {
label = "awm002-evb:green:tx";
gpios = <&gpio0 15 GPIO_ACTIVE_LOW>;
};
rx {
label = "awm002-evb:green:rx";
gpios = <&gpio0 16 GPIO_ACTIVE_LOW>;
};
wps {
label = "awm002-evb:green:wps";
gpios = <&gpio0 21 GPIO_ACTIVE_LOW>;
};
};
keys {
compatible = "gpio-keys-polled";
poll-interval = <20>;
reset_wps {
label = "reset_wps";
gpios = <&gpio0 0 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
mode {
label = "mode";
gpios = <&gpio0 20 GPIO_ACTIVE_LOW>;
linux,code = <BTN_0>;
};
};
};
&ethernet {
mtd-mac-address = <&factory 0x28>;
};
&wmac {
ralink,mtd-eeprom = <&factory 0>;
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "i2c", "jtag";
ralink,function = "gpio";
};
};
};
&esw {
mediatek,portmap = <0x3f>;
};
&ehci {
status = "okay";
};
&ohci {
status = "okay";
};

View File

@ -0,0 +1,173 @@
/*
* BSD LICENSE
*
* Copyright (C) 2018 Piotr Dymacz <pepe2k@gmail.com>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. Neither the names of the copyright holders nor the names of any
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
/dts-v1/;
#include "mt7628an.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "alfa-network,awusfree1", "mediatek,mt7628an-soc";
model = "ALFA Network AWUSFREE1";
aliases {
led-boot = &led_system;
led-failsafe = &led_system;
led-running = &led_system;
led-upgrade = &led_system;
};
chosen {
bootargs = "console=ttyS0,115200";
};
keys {
compatible = "gpio-keys-polled";
poll-interval = <20>;
reset {
label = "reset";
gpios = <&gpio1 6 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
};
leds {
compatible = "gpio-leds";
led_system: system {
label = "awusfree1:orange:system";
gpios = <&gpio1 11 GPIO_ACTIVE_LOW>;
};
wlan {
label = "awusfree1:blue:wlan";
gpios = <&gpio1 12 GPIO_ACTIVE_LOW>;
};
};
memory@0 {
device_type = "memory";
reg = <0x0 0x4000000>;
};
};
&ehci {
status = "disabled";
};
&esw {
mediatek,portdisable = <0x1e>;
};
&ethernet {
mtd-mac-address = <&factory 0x2e>;
};
&gpio1 {
status = "okay";
};
&ohci {
status = "disabled";
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "p0led_an", "wdt", "wled_an";
ralink,function = "gpio";
};
ext_lna {
ralink,group = "uart1";
ralink,function = "sw_r";
};
ext_pa {
ralink,group = "i2s";
ralink,function = "antenna";
};
};
};
&spi0 {
status = "okay";
m25p80@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <10000000>;
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 0x1000>;
};
partition@31000 {
label = "config";
reg = <0x31000 0xf000>;
read-only;
};
factory: partition@40000 {
label = "factory";
reg = <0x40000 0x10000>;
read-only;
};
partition@50000 {
compatible = "denx,uimage";
label = "firmware";
reg = <0x50000 0x7b0000>;
};
};
};
};
&wmac {
status = "okay";
mediatek,mtd-eeprom = <&factory 0x0>;
};

View File

@ -0,0 +1,191 @@
/dts-v1/;
#include "mt7620a.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "tplink,c2-v1", "ralink,mt7620a-soc";
model = "TP-Link Archer C2 v1";
aliases {
led-boot = &led_wps;
led-failsafe = &led_wps;
led-running = &led_wps;
led-upgrade = &led_wps;
};
chosen {
bootargs = "console=ttyS0,115200";
};
pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "i2c", "uartf", "wled", "ephy", "spi refclk";
ralink,function = "gpio";
};
};
};
leds {
compatible = "gpio-leds";
lan {
label = "c2-v1:green:lan";
gpios = <&gpio0 1 GPIO_ACTIVE_LOW>;
};
usb {
label = "c2-v1:green:usb";
gpios = <&gpio0 11 GPIO_ACTIVE_LOW>;
trigger-sources = <&ohci_port1>, <&ehci_port1>;
linux,default-trigger = "usbport";
};
led_wps: wps {
label = "c2-v1:green:wps";
gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
};
wan {
label = "c2-v1:green:wan";
gpios = <&gpio2 0 GPIO_ACTIVE_LOW>;
};
wlan {
label = "c2-v1:green:wlan";
gpios = <&gpio3 0 GPIO_ACTIVE_LOW>;
};
};
keys {
compatible = "gpio-keys";
reset_wps {
label = "reset_wps";
gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
rfkill {
label = "rfkill";
gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RFKILL>;
};
};
rtl8367rb {
compatible = "realtek,rtl8367b", "rtl8367b";
cpu_port = <6>;
realtek,extif1 = <1 0 1 1 1 1 1 1 2>;
mii-bus = <&mdio0>;
};
};
&spi0 {
status = "okay";
m25p80@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <10000000>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "u-boot";
reg = <0x0 0x20000>;
read-only;
};
partition@20000 {
compatible = "tplink,firmware";
label = "firmware";
reg = <0x20000 0x7a0000>;
};
partition@7c0000 {
label = "config";
reg = <0x7c0000 0x10000>;
read-only;
};
rom: partition@7d0000 {
label = "rom";
reg = <0x7d0000 0x10000>;
read-only;
};
partition@7e0000 {
label = "romfile";
reg = <0x7e0000 0x10000>;
read-only;
};
radio: partition@7f0000 {
label = "radio";
reg = <0x7f0000 0x10000>;
read-only;
};
};
};
};
&ethernet {
status = "okay";
mtd-mac-address = <&rom 0xf100>;
pinctrl-names = "default";
pinctrl-0 = <&rgmii1_pins &rgmii2_pins &mdio_pins>;
port@5 {
status = "okay";
mediatek,fixed-link = <1000 1 1 1>;
phy-mode = "rgmii";
};
mdio0: mdio-bus {
status = "okay";
};
};
&gpio1 {
status = "okay";
};
&gpio2 {
status = "okay";
};
&gpio3 {
status = "okay";
};
&wmac {
ralink,mtd-eeprom = <&radio 0>;
mtd-mac-address = <&rom 0xf100>;
};
&ehci {
status = "okay";
};
&ohci {
status = "okay";
};
&pcie {
status = "okay";
};
&pcie0 {
mt76@0,0 {
reg = <0x0000 0 0 0 0>;
mediatek,mtd-eeprom = <&radio 0x8000>;
};
};

View File

@ -0,0 +1,159 @@
/dts-v1/;
#include "mt7620a.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "tplink,c20i", "ralink,mt7620a-soc";
model = "TP-Link Archer C20i";
chosen {
bootargs = "console=ttyS0,115200";
};
leds {
compatible = "gpio-leds";
lan {
label = "c20i:blue:lan";
gpios = <&gpio0 1 GPIO_ACTIVE_LOW>;
};
usb {
label = "c20i:blue:usb";
gpios = <&gpio0 11 GPIO_ACTIVE_LOW>;
trigger-sources = <&ohci_port1>, <&ehci_port1>;
linux,default-trigger = "usbport";
};
wps {
label = "c20i:blue:wps";
gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
};
wan {
label = "c20i:blue:wan";
gpios = <&gpio2 0 GPIO_ACTIVE_LOW>;
};
wlan {
label = "c20i:blue:wlan";
gpios = <&gpio3 0 GPIO_ACTIVE_LOW>;
};
};
keys {
compatible = "gpio-keys";
rfkill {
label = "rfkill";
gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RFKILL>;
};
reset_wps {
label = "reset_wps";
gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
};
};
&gpio1 {
status = "okay";
};
&gpio2 {
status = "okay";
};
&gpio3 {
status = "okay";
};
&spi0 {
status = "okay";
m25p80@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <10000000>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "u-boot";
reg = <0x0 0x20000>;
read-only;
};
partition@20000 {
compatible = "tplink,firmware";
label = "firmware";
reg = <0x20000 0x7a0000>;
};
partition@7c0000 {
label = "config";
reg = <0x7c0000 0x10000>;
};
rom: partition@7d0000 {
label = "rom";
reg = <0x7d0000 0x10000>;
};
partition@7e0000 {
label = "romfile";
reg = <0x7e0000 0x10000>;
};
radio: partition@7f0000 {
label = "radio";
reg = <0x7f0000 0x10000>;
};
};
};
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "i2c", "uartf", "rgmii1", "rgmii2", "wled", "nd_sd", "ephy", "spi refclk";
ralink,function = "gpio";
};
};
};
&ethernet {
pinctrl-names = "default";
mtd-mac-address = <&rom 0xf100>;
mediatek,portmap = "wllll";
};
&ehci {
status = "okay";
};
&ohci {
status = "okay";
};
&gsw {
mediatek,port4 = "ephy";
};
&wmac {
ralink,mtd-eeprom = <&radio 0>;
};
&pcie {
status = "okay";
};
&pcie0 {
mt76@0,0 {
reg = <0x0000 0 0 0 0>;
mediatek,mtd-eeprom = <&radio 32768>;
ieee80211-freq-limit = <5000000 6000000>;
};
};

View File

@ -0,0 +1,199 @@
/dts-v1/;
#include "mt7620a.dtsi"
#include <dt-bindings/input/input.h>
#include <dt-bindings/gpio/gpio.h>
/ {
compatible = "tplink,c20-v1", "ralink,mt7620a-soc";
model = "TP-Link Archer C20 v1";
aliases {
led-boot = &led_power;
led-failsafe = &led_power;
led-running = &led_power;
led-upgrade = &led_power;
};
chosen {
bootargs = "console=ttyS0,115200";
};
leds {
compatible = "gpio-leds";
lan {
label = "c20-v1:blue:lan";
gpios = <&gpio0 1 GPIO_ACTIVE_LOW>;
};
led_power: power {
label = "c20-v1:blue:power";
gpios = <&gpio0 7 GPIO_ACTIVE_LOW>;
default-state = "keep";
};
usb {
label = "c20-v1:blue:usb";
gpios = <&gpio2 4 GPIO_ACTIVE_LOW>;
trigger-sources = <&ohci_port1>, <&ehci_port1>;
linux,default-trigger = "usbport";
};
wan {
label = "c20-v1:blue:wan";
gpios = <&gpio0 11 GPIO_ACTIVE_HIGH>;
};
wan_orange {
label = "c20-v1:orange:wan";
gpios = <&gpio0 9 GPIO_ACTIVE_HIGH>;
};
wlan5g {
label = "c20-v1:blue:wlan5g";
gpios = <&gpio0 17 GPIO_ACTIVE_LOW>;
};
wlan2g {
label = "c20-v1:blue:wlan2g";
gpios = <&gpio3 0 GPIO_ACTIVE_LOW>;
};
wps {
label = "c20-v1:blue:wps";
gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
};
};
keys {
compatible = "gpio-keys-polled";
poll-interval = <20>;
reset {
label = "reset";
gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
rfkill {
label = "rfkill";
gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RFKILL>;
};
};
};
&gpio1 {
status = "okay";
};
&gpio2 {
status = "okay";
};
&gpio3 {
status = "okay";
};
&spi0 {
status = "okay";
m25p80@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <10000000>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "u-boot";
reg = <0x0 0x20000>;
read-only;
};
partition@20000 {
compatible = "tplink,firmware";
label = "firmware";
reg = <0x20000 0x7a0000>;
};
partition@7c0000 {
label = "config";
reg = <0x7c0000 0x10000>;
read-only;
};
rom: partition@7d0000 {
label = "rom";
reg = <0x7d0000 0x10000>;
read-only;
};
partition@7e0000 {
label = "romfile";
reg = <0x7e0000 0x10000>;
read-only;
};
radio: partition@7f0000 {
label = "radio";
reg = <0x7f0000 0x10000>;
read-only;
};
};
};
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "i2c", "uartf", "wled", "ephy", "spi refclk", "wdt";
ralink,function = "gpio";
};
};
};
&ethernet {
pinctrl-names = "default";
mtd-mac-address = <&rom 0xf100>;
mediatek,portmap = "wllll";
};
&ehci {
status = "okay";
};
&ohci {
status = "okay";
};
&gsw {
mediatek,port4 = "ephy";
};
&wmac {
ralink,mtd-eeprom = <&radio 0>;
mtd-mac-address = <&rom 0xf100>;
mtd-mac-address-increment = <(-2)>;
pinctrl-names = "default";
pinctrl-0 = <&pa_pins>;
};
&pcie {
status = "okay";
};
&pcie0 {
mt76@0,0 {
reg = <0x0000 0 0 0 0>;
mediatek,mtd-eeprom = <&radio 0x8000>;
ieee80211-freq-limit = <5000000 6000000>;
mtd-mac-address = <&rom 0xf100>;
mtd-mac-address-increment = <(-1)>;
};
};

View File

@ -0,0 +1,105 @@
/dts-v1/;
#include "TPLINK-8M.dtsi"
#include <dt-bindings/input/input.h>
#include <dt-bindings/gpio/gpio.h>
/ {
compatible = "tplink,c20-v4", "mediatek,mt7628an-soc";
model = "TP-Link Archer C20 v4";
aliases {
led-boot = &led_power;
led-failsafe = &led_power;
led-running = &led_power;
led-upgrade = &led_power;
};
leds {
compatible = "gpio-leds";
lan {
label = "c20-v4:green:lan";
gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
};
led_power: power {
label = "c20-v4:green:power";
gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
};
wan {
label = "c20-v4:green:wan";
gpios = <&gpio1 11 GPIO_ACTIVE_LOW>;
};
wan_orange {
label = "c20-v4:orange:wan";
gpios = <&gpio0 11 GPIO_ACTIVE_LOW>;
};
wlan5g {
label = "c20-v4:green:wlan5g";
gpios = <&gpio1 8 GPIO_ACTIVE_LOW>;
};
wlan2g {
label = "c20-v4:green:wlan2g";
gpios = <&gpio1 7 GPIO_ACTIVE_LOW>;
};
wps {
label = "c20-v4:green:wps";
gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
};
};
keys {
compatible = "gpio-keys-polled";
poll-interval = <20>;
reset {
label = "reset";
gpios = <&gpio1 6 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
rfkill {
label = "rfkill";
gpios = <&gpio1 5 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RFKILL>;
};
};
};
&wmac {
mtd-mac-address-increment = <(-2)>;
};
&ethernet {
mediatek,portmap = "wllll";
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "i2s", "refclk", "p0led_an", "p1led_an", "p2led_an", "p3led_an", "p4led_an", "wdt";
ralink,function = "gpio";
};
};
};
&pcie {
status = "okay";
};
&pcie0 {
mt76@0,0 {
reg = <0x0000 0 0 0 0>;
mediatek,mtd-eeprom = <&factory 0x28000>;
ieee80211-freq-limit = <5000000 6000000>;
mtd-mac-address = <&factory 0xf100>;
mtd-mac-address-increment = <(-1)>;
};
};

View File

@ -0,0 +1,198 @@
/dts-v1/;
#include "mt7620a.dtsi"
#include <dt-bindings/input/input.h>
#include <dt-bindings/gpio/gpio.h>
/ {
compatible = "tplink,c50", "ralink,mt7620a-soc";
model = "TP-Link Archer C50";
aliases {
led-boot = &led_power;
led-failsafe = &led_power;
led-running = &led_power;
led-upgrade = &led_power;
};
chosen {
bootargs = "console=ttyS0,115200";
};
leds {
compatible = "gpio-leds";
lan {
label = "c50:green:lan";
gpios = <&gpio0 1 GPIO_ACTIVE_LOW>;
};
led_power: power {
label = "c50:green:power";
gpios = <&gpio0 7 GPIO_ACTIVE_LOW>;
default-state = "on";
};
usb {
label = "c50:green:usb";
gpios = <&gpio0 9 GPIO_ACTIVE_LOW>;
trigger-sources = <&ohci_port1>, <&ehci_port1>;
linux,default-trigger = "usbport";
};
wan {
label = "c50:green:wan";
gpios = <&gpio0 17 GPIO_ACTIVE_LOW>;
};
wan_orange {
label = "c50:orange:wan";
gpios = <&gpio2 4 GPIO_ACTIVE_LOW>;
};
wlan5g {
label = "c50:green:wlan5g";
gpios = <&gpio0 11 GPIO_ACTIVE_LOW>;
};
wlan2g {
label = "c50:green:wlan2g";
gpios = <&gpio3 0 GPIO_ACTIVE_LOW>;
};
wps {
label = "c50:green:wps";
gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
};
};
keys {
compatible = "gpio-keys-polled";
poll-interval = <20>;
reset {
label = "reset";
gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
rfkill {
label = "rfkill";
gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RFKILL>;
}; };
};
&gpio1 {
status = "okay";
};
&gpio2 {
status = "okay";
};
&gpio3 {
status = "okay";
};
&spi0 {
status = "okay";
m25p80@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <10000000>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "u-boot";
reg = <0x0 0x20000>;
read-only;
};
partition@20000 {
compatible = "tplink,firmware";
label = "firmware";
reg = <0x20000 0x7a0000>;
};
partition@7c0000 {
label = "config";
reg = <0x7c0000 0x10000>;
read-only;
};
rom: partition@7d0000 {
label = "rom";
reg = <0x7d0000 0x10000>;
read-only;
};
partition@7e0000 {
label = "romfile";
reg = <0x7e0000 0x10000>;
read-only;
};
radio: partition@7f0000 {
label = "radio";
reg = <0x7f0000 0x10000>;
read-only;
};
};
};
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "i2c", "uartf", "rgmii1", "rgmii2", "wled", "ephy", "spi refclk", "mdio", "wdt", "nd_sd";
ralink,function = "gpio";
};
};
};
&ethernet {
pinctrl-names = "default";
mtd-mac-address = <&rom 0xf100>;
mediatek,portmap = "wllll";
};
&ehci {
status = "okay";
};
&ohci {
status = "okay";
};
&gsw {
mediatek,port4 = "ephy";
};
&wmac {
ralink,mtd-eeprom = <&radio 0>;
mtd-mac-address = <&rom 0xf100>;
mtd-mac-address-increment = <(-2)>;
pinctrl-names = "default";
pinctrl-0 = <&pa_pins>;
};
&pcie {
status = "okay";
};
&pcie0 {
mt76@0,0 {
reg = <0x0000 0 0 0 0>;
mediatek,mtd-eeprom = <&radio 32768>;
ieee80211-freq-limit = <5000000 6000000>;
mtd-mac-address = <&rom 0xf100>;
mtd-mac-address-increment = <(-1)>;
};
};

View File

@ -0,0 +1,98 @@
/dts-v1/;
#include "TPLINK-8M.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "tplink,c50-v3", "mediatek,mt7628an-soc";
model = "TP-Link Archer C50 v3";
aliases {
led-boot = &led_power;
led-failsafe = &led_power;
led-running = &led_power;
led-upgrade = &led_power;
};
keys {
compatible = "gpio-keys-polled";
poll-interval = <20>;
reset {
label = "reset";
gpios = <&gpio1 6 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
rfkill {
label = "rfkill";
gpios = <&gpio0 5 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RFKILL>;
};
};
leds {
compatible = "gpio-leds";
lan {
label = "c50-v3:green:lan";
gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
};
led_power: power {
label = "c50-v3:green:power";
gpios = <&gpio0 11 GPIO_ACTIVE_LOW>;
};
wan {
label = "c50-v3:green:wan";
gpios = <&gpio1 7 GPIO_ACTIVE_LOW>;
};
wan_orange {
label = "c50-v3:orange:wan";
gpios = <&gpio1 8 GPIO_ACTIVE_LOW>;
};
wlan {
label = "c50-v3:green:wlan2g";
gpios = <&gpio1 12 GPIO_ACTIVE_LOW>;
};
wlan5 {
label = "c50-v3:green:wlan5g";
gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
};
wps {
label = "c50-v3:green:wps";
gpios = <&gpio1 11 GPIO_ACTIVE_LOW>;
};
};
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "i2c", "gpio", "p0led_an", "p1led_an", "p2led_an",
"p3led_an", "p4led_an", "wdt", "wled_an";
ralink,function = "gpio";
};
};
};
&pcie {
status = "okay";
};
&pcie0 {
mt76@0,0 {
reg = <0x0000 0 0 0 0>;
mediatek,mtd-eeprom = <&factory 0x28000>;
ieee80211-freq-limit = <5000000 6000000>;
mtd-mac-address = <&factory 0xf100>;
mtd-mac-address-increment = <(-1)>;
};
};

View File

@ -0,0 +1,99 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/dts-v1/;
#include "TPLINK-8M-SPLIT-UBOOT.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "tplink,c50-v4", "mediatek,mt7628an-soc";
model = "TP-Link Archer C50 v4";
aliases {
led-boot = &led_power;
led-failsafe = &led_power;
led-running = &led_power;
led-upgrade = &led_power;
};
keys {
compatible = "gpio-keys-polled";
poll-interval = <20>;
reset {
label = "reset";
gpios = <&gpio1 6 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
rfkill {
label = "rfkill";
gpios = <&gpio0 5 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RFKILL>;
};
};
leds {
compatible = "gpio-leds";
led_power: power {
label = "c50-v4:green:power";
gpios = <&gpio0 11 GPIO_ACTIVE_LOW>;
};
wlan2 {
label = "c50-v4:green:wlan2g";
gpios = <&gpio1 12 GPIO_ACTIVE_LOW>;
};
wlan5 {
label = "c50-v4:green:wlan5g";
gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
};
lan {
label = "c50-v4:green:lan";
gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
};
wan {
label = "c50-v4:green:wan";
gpios = <&gpio1 7 GPIO_ACTIVE_LOW>;
};
wan_orange {
label = "c50-v4:orange:wan";
gpios = <&gpio1 8 GPIO_ACTIVE_LOW>;
};
wps {
label = "c50-v4:green:wps";
gpios = <&gpio1 11 GPIO_ACTIVE_LOW>;
};
};
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "i2c", "p0led_an", "p1led_an", "p2led_an",
"p3led_an", "p4led_an", "wdt", "wled_an";
ralink,function = "gpio";
};
};
};
&pcie {
status = "okay";
};
&pcie0 {
wifi@0,0 {
reg = <0x0000 0 0 0 0>;
mediatek,mtd-eeprom = <&radio 0x8000>;
ieee80211-freq-limit = <5000000 6000000>;
mtd-mac-address = <&rom 0xf100>;
mtd-mac-address-increment = <(-1)>;
};
};

View File

@ -0,0 +1,202 @@
/dts-v1/;
#include "mt7620a.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "tplink,mr200", "ralink,mt7620a-soc";
model = "TP-Link Archer MR200";
aliases {
led-boot = &led_power;
led-failsafe = &led_power;
led-running = &led_power;
led-upgrade = &led_power;
};
chosen {
bootargs = "console=ttyS0,115200";
};
leds {
compatible = "gpio-leds";
lan {
label = "mr200:white:lan";
gpios = <&gpio0 1 GPIO_ACTIVE_LOW>;
};
wan {
label = "mr200:white:wan";
gpios = <&gpio0 8 GPIO_ACTIVE_LOW>;
};
led_power: power {
label = "mr200:white:power";
gpios = <&gpio0 12 GPIO_ACTIVE_LOW>;
};
4g {
label = "mr200:white:4g";
gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
};
wps {
label = "mr200:white:wps";
gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
};
signal1 {
label = "mr200:white:signal1";
gpios = <&gpio2 1 GPIO_ACTIVE_LOW>;
};
signal2 {
label = "mr200:white:signal2";
gpios = <&gpio2 2 GPIO_ACTIVE_LOW>;
};
signal3 {
label = "mr200:white:signal3";
gpios = <&gpio2 3 GPIO_ACTIVE_LOW>;
};
signal4 {
label = "mr200:white:signal4";
gpios = <&gpio2 4 GPIO_ACTIVE_LOW>;
};
wlan {
label = "mr200:white:wlan";
gpios = <&gpio3 0 GPIO_ACTIVE_LOW>;
};
};
keys {
compatible = "gpio-keys";
reset {
label = "reset";
gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>;
linux,code = <KEY_RESTART>;
};
rfkill {
label = "rfkill";
gpios = <&gpio0 9 GPIO_ACTIVE_HIGH>;
linux,code = <KEY_RFKILL>;
};
};
gpio_export {
compatible = "gpio-export";
#size-cells = <0>;
power_usb {
gpio-export,name = "power_usb1";
gpio-export,output = <1>;
gpios = <&gpio0 11 GPIO_ACTIVE_HIGH>;
};
};
};
&gpio1 {
status = "okay";
};
&gpio2 {
status = "okay";
};
&gpio3 {
status = "okay";
};
&spi0 {
status = "okay";
m25p80@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <10000000>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "u-boot";
reg = <0x0 0x20000>;
read-only;
};
partition@20000 {
compatible = "tplink,firmware";
label = "firmware";
reg = <0x20000 0x7b0000>;
};
rom: partition@7d0000 {
label = "rom";
reg = <0x7d0000 0x10000>;
read-only;
};
partition@7e0000 {
label = "romfile";
reg = <0x7e0000 0x10000>;
read-only;
};
radio: partition@7f0000 {
label = "radio";
reg = <0x7f0000 0x10000>;
read-only;
};
};
};
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "i2c", "uartf", "rgmii1", "rgmii2", "wled", "nd_sd", "ephy", "spi refclk";
ralink,function = "gpio";
};
};
};
&ethernet {
mtd-mac-address = <&rom 0xf100>;
mediatek,portmap = "llll";
};
&ehci {
status = "okay";
};
&ohci {
status = "okay";
};
&gsw {
mediatek,port4 = "ephy";
};
&wmac {
ralink,mtd-eeprom = <&radio 0>;
};
&pcie {
status = "okay";
};
&pcie0 {
mt76@0,0 {
reg = <0x0000 0 0 0 0>;
mediatek,mtd-eeprom = <&radio 32768>;
};
};

View File

@ -0,0 +1,95 @@
/dts-v1/;
#include "rt3050.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "nexaira,bc2", "ralink,rt3052-soc";
model = "NexAira BC2";
cfi@1f000000 {
compatible = "cfi-flash";
reg = <0x1f000000 0x800000>;
bank-width = <2>;
device-width = <2>;
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 0x7b0000>;
};
};
};
leds {
compatible = "gpio-leds";
usb {
label = "bc2:blue:usb";
gpios = <&gpio0 20 GPIO_ACTIVE_LOW>;
trigger-sources = <&otg_port1>;
linux,default-trigger = "usbport";
};
};
keys {
compatible = "gpio-keys-polled";
poll-interval = <20>;
reset {
label = "reset";
gpios = <&gpio0 17 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
};
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "spi", "i2c", "jtag", "rgmii", "mdio", "uartf";
ralink,function = "gpio";
};
};
};
&ethernet {
mtd-mac-address = <&factory 0x4>;
};
&esw {
mediatek,portmap = <0x2f>;
};
&wmac {
ralink,mtd-eeprom = <&factory 0>;
};
&otg {
status = "okay";
};

View File

@ -0,0 +1,153 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/dts-v1/;
#include "mt7620a.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "bdcom,wap2100-sk", "ralink,mt7620a-soc";
model = "BDCOM WAP2100-SK";
aliases {
led-boot = &led_power;
led-failsafe = &led_power;
};
chosen {
bootargs = "console=ttyS0,115200";
};
leds {
compatible = "gpio-leds";
usb {
label = "wap2100-sk:green:usb";
gpios = <&gpio0 11 GPIO_ACTIVE_LOW>;
trigger-sources = <&ohci_port1>, <&ehci_port1>;
linux,default-trigger = "usbport";
};
led_power: wps {
label = "wap2100-sk:green:wps";
gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
};
wlan2g {
label = "wap2100-sk:green:wlan2g";
gpios = <&gpio3 0 GPIO_ACTIVE_LOW>;
};
};
keys {
compatible = "gpio-keys-polled";
poll-interval = <20>;
wps {
label = "wps";
gpios = <&gpio0 12 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WPS_BUTTON>;
};
reset {
label = "reset";
gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
};
};
&spi0 {
status = "okay";
flash@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <10000000>;
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 0xf70000>;
};
};
};
};
&gpio0 {
status = "okay";
};
&gpio1 {
status = "okay";
};
&gpio3 {
status = "okay";
};
&sdhci {
status = "okay";
};
&ehci {
status = "okay";
};
&ohci {
status = "okay";
};
&ethernet {
mtd-mac-address = <&factory 0x4>;
mediatek,portmap = "llllw";
};
&wmac {
ralink,mtd-eeprom = <&factory 0>;
};
&pcie {
status = "okay";
};
&pcie0 {
wifi@0,0 {
reg = <0x0000 0 0 0 0>;
mediatek,mtd-eeprom = <&factory 0x8000>;
ieee80211-freq-limit = <5000000 6000000>;
};
};
&pinctrl {
state_default: pinctrl0 {
default {
ralink,group = "spi refclk", "uartf", "wled";
ralink,function = "gpio";
};
};
};

View File

@ -0,0 +1,165 @@
/dts-v1/;
#include "mt7620a.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "planex,cs-qr10", "ralink,mt7620a-soc";
model = "YUKAI Engineering BOCCO";
keys {
compatible = "gpio-keys-polled";
poll-interval = <20>;
reset {
label = "reset";
gpios = <&gpio1 7 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
};
gpio_export {
compatible = "gpio-export";
#size-cells = <0>;
s1 {
gpio-export,name = "rec";
gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>;
};
s2 {
gpio-export,name = "play";
gpios = <&gpio1 9 GPIO_ACTIVE_HIGH>;
};
};
sound {
compatible = "simple-audio-card";
simple-audio-card,name = "Audio-I2S";
simple-audio-card,format = "i2s";
simple-audio-card,bitclock-master = <&dailink0_master>;
simple-audio-card,frame-master = <&dailink0_master>;
simple-audio-card,widgets =
"Headphone", "Headphones";
simple-audio-card,routing =
"Headphones", "HP_L",
"Headphones", "HP_R";
simple-audio-card,mclk-fs = <256>;
simple-audio-card,cpu {
sound-dai = <&i2s>;
};
dailink0_master: simple-audio-card,codec {
sound-dai = <&codec>;
};
};
};
&gpio0 {
status = "okay";
};
&gpio1 {
status = "okay";
};
&gpio2 {
status = "okay";
};
&gpio3 {
status = "okay";
};
&i2c {
status = "okay";
codec: wm8960@1a {
#sound-dai-cells = <0>;
compatible = "wlf,wm8960";
reg = <0x1a>;
wlf,shared-lrclk;
};
};
&i2s {
#sound-dai-cells = <0>;
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pcm_i2s_pins>;
};
&spi0 {
status = "okay";
m25p80@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <10000000>;
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 0x7b0000>;
};
};
};
};
&pcm {
status = "okay";
};
&gdma {
status = "okay";
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "spi refclk", "rgmii1";
ralink,function = "gpio";
};
};
};
&ethernet {
pinctrl-names = "default";
pinctrl-0 = <&ephy_pins>;
mtd-mac-address = <&factory 0x4>;
mediatek,portmap = "llllw";
};
&gsw {
ralink,port4 = "ephy";
};
&wmac {
ralink,mtd-eeprom = <&factory 0>;
};

View File

@ -0,0 +1,180 @@
/dts-v1/;
#include "rt3883.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "edimax,br-6475nd", "ralink,rt3883-soc";
model = "Edimax BR-6475nD";
aliases {
led-boot = &led_power;
led-failsafe = &led_power;
led-running = &led_power;
led-upgrade = &led_power;
};
keys {
compatible = "gpio-keys-polled";
poll-interval = <100>;
reset {
label = "reset";
gpios = <&gpio0 7 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
rfkill {
label = "rfkill";
gpios = <&gpio0 9 GPIO_ACTIVE_LOW>;
linux,input-type = <EV_SW>;
linux,code = <KEY_RFKILL>;
};
};
leds {
compatible = "gpio-leds";
led_power: power {
label = "br-6475nd:green:power";
gpios = <&gpio0 10 GPIO_ACTIVE_LOW>;
};
wlan {
label = "br-6475nd:amber:wlan";
gpios = <&gpio0 11 GPIO_ACTIVE_LOW>;
};
wlan_5ghz {
label = "br-6475nd:amber:wlan_5ghz";
gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
};
};
nor-flash@1c000000 {
compatible = "cfi-flash";
reg = <0x1c000000 0x800000>;
bank-width = <2>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
reg = <0x00000000 0x00030000>;
label = "u-boot";
read-only;
};
partition@30000 {
reg = <0x00030000 0x00010000>;
label = "nvram";
read-only;
};
factory: partition@40000 {
reg = <0x00040000 0x00010000>;
label = "factory";
read-only;
};
devdata: partition@50000 {
reg = <0x00050000 0x00020000>;
label = "devdata";
read-only;
};
partition@70000 {
compatible = "edimax,uimage";
reg = <0x00070000 0x00790000>;
label = "firmware";
};
};
};
rtl8367 {
compatible = "realtek,rtl8367";
gpio-sda = <&gpio0 5 GPIO_ACTIVE_HIGH>;
gpio-sck = <&gpio0 4 GPIO_ACTIVE_HIGH>;
realtek,extif0 = <1 0 1 1 1 1 1 1 2>;
};
/*
* Unclear if this is the correct gpio setup; the USB ports are
* unpopulated on a stock BR-6475nD, even though the hardware exists
* and the headers are there.
*/
/*
gpio_export {
compatible = "gpio-export";
#size-cells = <0>;
usb {
gpio-export,name="usb";
gpio-export,output=<0>;
gpios = <&gpio0 19 GPIO_ACTIVE_LOW>;
};
};
*/
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "spi", "jtag", "uartf";
ralink,function = "gpio";
};
};
};
&timer {
status = "okay";
};
&gpio1 {
status = "okay";
};
&uartlite {
status = "okay";
};
&ethernet {
status = "okay";
mtd-mac-address = <&devdata 0x0d>;
port@0 {
mediatek,fixed-link = <1000 1 1 1>;
};
};
&wmac {
status = "okay";
ralink,mtd-eeprom = <&factory 0>;
};
&pci {
status = "okay";
};
&pci1 {
status = "okay";
wifi@0,0 {
compatible = "pci0,0";
reg = <0x10000 0 0 0 0>;
ralink,5ghz = <0>;
ralink,mtd-eeprom = <&factory 0x8000>;
};
};
&ehci {
status = "okay";
};
&ohci {
status = "okay";
};

View File

@ -0,0 +1,216 @@
/*
* Device Tree file for the Edimax BR-6478AC V2
* based on Linksys E1700
*
* Copyright (C) 2016 Rohan Murch <rohan.murch@gmail.com>
* Copyright (C) 2016 Hans Ulli Kroll <ulli.kroll@googlemail.com>
* Copyright (C) 2017 James McKenzie <openwrt@madingley.org>
*
* This file is licensed under the terms of the GNU General Public
* License version 2. This program is licensed "as is" without any
* warranty of any kind, whether express or implied.
*/
/dts-v1/;
#include "mt7620a.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "edimax,br-6478ac-v2", "ralink,mt7620a-soc";
model = "Edimax BR-6478AC v2";
aliases {
led-boot = &led_power;
led-failsafe = &led_power;
led-running = &led_power;
led-upgrade = &led_power;
};
chosen {
bootargs = "console=ttyS0,57600";
};
keys {
compatible = "gpio-keys-polled";
poll-interval = <20>;
reset_wps {
label = "reset_wps";
gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
};
leds {
compatible = "gpio-leds";
led_power: power {
label = "br-6478ac-v2:white:power";
gpios = <&gpio0 11 GPIO_ACTIVE_LOW>;
};
internet {
label = "br-6478ac-v2:blue:internet";
gpios = <&gpio0 7 GPIO_ACTIVE_LOW>;
};
wlan {
label = "br-6478ac-v2:blue:wlan";
gpios = <&gpio0 10 GPIO_ACTIVE_LOW>;
};
usb {
label = "br-6478ac-v2:blue:usb";
gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
trigger-sources = <&ohci_port1>, <&ehci_port1>;
linux,default-trigger = "usbport";
};
};
gpio_export {
compatible = "gpio-export";
#size-cells = <0>;
usb-power {
gpio-export,name="usb-power";
gpio-export,output=<1>;
gpios = <&gpio2 5 GPIO_ACTIVE_HIGH>;
};
};
};
&gpio2 {
status = "okay";
};
&spi0 {
status = "okay";
flash@0 {
compatible = "jedec,spi-nor";
reg = <0 0>;
spi-max-frequency = <10000000>;
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 {
label = "cimage";
reg = <0x50000 0x20000>;
read-only;
};
partition@70000 {
compatible = "edimax,uimage";
label = "firmware";
reg = <0x00070000 0x00790000>;
};
};
};
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "i2c", "uartf", "nd_sd";
ralink,function = "gpio";
};
};
};
&ethernet {
status = "okay";
mtd-mac-address = <&factory 0x4>;
pinctrl-names = "default";
pinctrl-0 = <&rgmii1_pins &rgmii2_pins &mdio_pins>;
mediatek,portmap = "wllll";
port@5 {
status = "okay";
mediatek,fixed-link = <1000 1 1 1>;
phy-mode = "rgmii";
};
mdio-bus {
status = "okay";
phy0: ethernet-phy@0 {
reg = <0>;
phy-mode = "rgmii";
};
phy1: ethernet-phy@1 {
reg = <1>;
phy-mode = "rgmii";
};
phy2: ethernet-phy@2 {
reg = <2>;
phy-mode = "rgmii";
};
phy3: ethernet-phy@3 {
reg = <3>;
phy-mode = "rgmii";
};
phy4: ethernet-phy@4 {
reg = <4>;
phy-mode = "rgmii";
};
phy1f: ethernet-phy@1f {
reg = <0x1f>;
phy-mode = "rgmii";
};
};
};
&gsw {
mediatek,port4 = "gmac";
};
&wmac {
ralink,mtd-eeprom = <&factory 0>;
};
&pcie {
status = "okay";
};
&pcie0 {
wifi@0,0 {
reg = <0x0000 0 0 0 0>;
mediatek,mtd-eeprom = <&factory 0x8000>;
mediatek,2ghz = <0>;
};
};
&ehci {
status = "okay";
};
&ohci {
status = "okay";
};

View File

@ -0,0 +1,100 @@
/dts-v1/;
#include "rt3050.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "hauppauge,broadway", "ralink,rt3052-soc";
model = "Hauppauge Broadway";
cfi@1f000000 {
compatible = "cfi-flash";
reg = <0x1f000000 0x800000>;
bank-width = <2>;
device-width = <2>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "bootloader";
reg = <0x0 0x30000>;
read-only;
};
partition@30000 {
label = "config";
reg = <0x30000 0x10000>;
read-only;
};
factory: partition@40000 {
label = "factory";
reg = <0x40000 0x10000>;
read-only;
};
partition@50000 {
compatible = "denx,uimage";
label = "firmware";
reg = <0x50000 0x790000>;
};
};
};
leds {
compatible = "gpio-leds";
diskmounted {
label = "broadway:red:diskmounted";
gpios = <&gpio0 9 GPIO_ACTIVE_LOW>;
trigger-sources = <&otg_port1>;
linux,default-trigger = "usbport";
};
wps_active {
label = "broadway:red:wps_active";
gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
};
};
keys {
compatible = "gpio-keys-polled";
poll-interval = <20>;
factory {
label = "Factory Reset button";
gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
};
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "spi", "i2c", "jtag", "rgmii", "mdio", "uartf";
ralink,function = "gpio";
};
};
};
&ethernet {
mtd-mac-address = <&factory 0x4>;
};
&esw {
mediatek,portmap = <0x3e>;
};
&wmac {
ralink,mtd-eeprom = <&factory 0>;
};
&otg {
status = "okay";
};

View File

@ -0,0 +1,187 @@
/*
* BSD LICENSE
*
* Copyright(c) 2017 Kristian Evensen <kristian.evensen@gmail.com>.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
* * Neither the name of Broadcom Corporation nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
/dts-v1/;
#include "mt7620a.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "hnet,c108", "ralink,mt7620a-soc";
model = "HNET C108";
aliases {
led-boot = &led_lan_green;
led-failsafe = &led_lan_green;
led-running = &led_lan_green;
led-upgrade = &led_lan_green;
};
chosen {
bootargs = "console=ttyS0,115200";
};
gpio-export {
compatible = "gpio-export";
#size-cells = <0>;
power_modem {
gpio-export,name = "power_modem";
gpio-export,output = <1>;
gpios = <&gpio2 2 GPIO_ACTIVE_HIGH>;
};
};
leds {
compatible = "gpio-leds";
sdcard {
label = "c108:green:sdcard";
gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>;
};
modem_green {
label = "c108:green:modem";
gpios = <&gpio1 14 GPIO_ACTIVE_LOW>;
};
modem_red {
label = "c108:red:modem";
gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
};
lan_red {
label = "c108:red:lan";
gpios = <&gpio2 3 GPIO_ACTIVE_HIGH>;
};
led_lan_green: lan_green {
label = "c108:green:lan";
gpios = <&gpio2 4 GPIO_ACTIVE_HIGH>;
};
};
keys {
compatible = "gpio-keys-polled";
poll-interval = <20>;
reset {
label = "reset";
gpios = <&gpio0 1 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
};
};
&gpio1 {
status = "okay";
};
&gpio2 {
status = "okay";
};
&spi0 {
status = "okay";
en25q128@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <10000000>;
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 0xfb0000>;
};
};
};
};
&sdhci {
status = "okay";
};
&ehci {
status = "okay";
};
&ohci {
status = "okay";
};
&ethernet {
mtd-mac-address = <&factory 0x28>;
};
&wmac {
ralink,mtd-eeprom = <&factory 0>;
};
&pinctrl {
state_default: pinctrl0 {
default {
ralink,group = "i2c", "uartf", "spi refclk", "ephy";
ralink,function = "gpio";
};
};
};
&pcie {
status = "okay";
};

View File

@ -0,0 +1,83 @@
/dts-v1/;
#include "rt3050.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "8devices,carambola", "ralink,rt3050-soc";
model = "8devices Carambola";
chosen {
bootargs = "console=ttyS0,115200";
};
cfi@1f000000 {
compatible = "cfi-flash";
reg = <0x1f000000 0x800000>;
bank-width = <2>;
device-width = <2>;
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 0x7b0000>;
};
};
};
i2c-gpio {
compatible = "i2c-gpio";
gpios = <&gpio0 1 GPIO_ACTIVE_HIGH &gpio0 2 GPIO_ACTIVE_HIGH>;
i2c-gpio,delay-us = <10>;
};
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "spi", "i2c", "jtag", "rgmii", "mdio", "uartf";
ralink,function = "gpio";
};
};
};
&ethernet {
mtd-mac-address = <&factory 0x28>;
};
&esw {
mediatek,portmap = <0x3f>;
};
&wmac {
ralink,mtd-eeprom = <&factory 0>;
};
&otg {
status = "okay";
};

View File

@ -0,0 +1,125 @@
/dts-v1/;
#include "mt7620n.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "comfast,cf-wr800n", "ralink,mt7620n-soc";
model = "Comfast CF-WR800N";
aliases {
led-boot = &led_wps;
led-failsafe = &led_wps;
led-running = &led_wps;
led-upgrade = &led_wps;
};
chosen {
bootargs = "console=ttyS0,115200";
};
leds {
compatible = "gpio-leds";
ethernet {
label = "cf-wr800n:white:ethernet";
gpios = <&gpio2 4 GPIO_ACTIVE_LOW>;
};
wifi {
label = "cf-wr800n:white:wifi";
gpios = <&gpio3 0 GPIO_ACTIVE_LOW>;
};
led_wps: wps {
label = "cf-wr800n:white:wps";
gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
};
};
keys {
compatible = "gpio-keys-polled";
poll-interval = <20>;
reset {
label = "reset";
gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
};
};
&gpio0 {
status = "okay";
};
&gpio1 {
status = "okay";
};
&gpio2 {
status = "okay";
};
&gpio3 {
status = "okay";
};
&spi0 {
status = "okay";
m25p80@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <10000000>;
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 0x7b0000>;
};
};
};
};
&ethernet {
mtd-mac-address = <&factory 0x4>;
};
&wmac {
ralink,mtd-eeprom = <&factory 0>;
};
&pinctrl {
state_default: pinctrl0 {
default {
ralink,group = "ephy", "wled", "spi refclk", "i2c";
ralink,function = "gpio";
};
};
};

View File

@ -0,0 +1,158 @@
/dts-v1/;
#include "mt7620a.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "planex,cs-qr10", "ralink,mt7620a-soc";
model = "Planex CS-QR10";
aliases {
led-boot = &led_power;
led-failsafe = &led_power;
led-running = &led_power;
led-upgrade = &led_power;
};
leds {
compatible = "gpio-leds";
led_power: power {
label = "cs-qr10:red:power";
gpios = <&gpio1 4 GPIO_ACTIVE_LOW>;
};
};
keys {
compatible = "gpio-keys-polled";
poll-interval = <20>;
s1 {
label = "reset";
gpios = <&gpio1 1 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
s2 {
label = "wps";
gpios = <&gpio1 3 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WPS_BUTTON>;
};
};
};
&gpio0 {
status = "okay";
};
&gpio1 {
status = "okay";
};
&gpio2 {
status = "okay";
};
&gpio3 {
status = "okay";
};
&i2c {
status = "okay";
};
&i2s {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pcm_i2s_pins>;
};
&spi0 {
status = "okay";
m25p80@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <10000000>;
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 0x7b0000>;
};
};
};
};
&pcm {
status = "okay";
};
&gdma {
status = "okay";
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "spi refclk", "rgmii1";
ralink,function = "gpio";
};
wdt {
ralink,group = "wdt";
ralink,function = "wdt refclk";
};
};
};
&ethernet {
pinctrl-names = "default";
pinctrl-0 = <&ephy_pins>;
mtd-mac-address = <&factory 0x4>;
mediatek,portmap = "llllw";
};
&gsw {
ralink,port4 = "ephy";
};
&sdhci {
status = "okay";
};
&ehci {
status = "okay";
};
&ohci {
status = "okay";
};
&wmac {
ralink,mtd-eeprom = <&factory 0>;
};

View File

@ -0,0 +1,152 @@
/dts-v1/;
#include "rt3883.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "samsung,cy-swr1100", "ralink,rt3883-soc";
model = "Samsung CY-SWR1100";
aliases {
led-boot = &led_wps;
led-failsafe = &led_wps;
};
nor-flash@1c000000 {
compatible = "cfi-flash";
reg = <0x1c000000 0x800000>;
bank-width = <2>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "uboot";
reg = <0x0 0x30000>;
read-only;
};
partition@30000 {
label = "uboot-env";
reg = <0x30000 0x4000>;
read-only;
};
factory: partition@34000 {
label = "factory";
reg = <0x34000 0x4000>;
read-only;
};
partition@38000 {
label = "nvram";
reg = <0x38000 0x8000>;
read-only;
};
partition@40000 {
label = "devdata";
reg = <0x40000 0x10000>;
};
partition@50000 {
compatible = "seama";
label = "firmware";
reg = <0x50000 0x7b0000>;
};
};
};
rtl8367 {
compatible = "realtek,rtl8367";
gpio-sda = <&gpio0 1 GPIO_ACTIVE_HIGH>;
gpio-sck = <&gpio0 2 GPIO_ACTIVE_HIGH>;
realtek,extif0 = <1 0 1 1 1 1 1 1 2>;
};
keys {
compatible = "gpio-keys-polled";
poll-interval = <100>;
reset {
label = "reset";
gpios = <&gpio0 6 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
wps {
label = "wps";
gpios = <&gpio0 3 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WPS_BUTTON>;
};
};
leds {
compatible = "gpio-leds";
led_wps: wps {
label = "cy-swr1100:blue:wps";
gpios = <&gpio0 0 GPIO_ACTIVE_LOW>;
};
usb {
label = "cy-swr1100:blue:usb";
gpios = <&gpio1 1 GPIO_ACTIVE_LOW>;
trigger-sources = <&ohci_port1>, <&ehci_port1>;
linux,default-trigger = "usbport";
};
};
};
&gpio1 {
status = "okay";
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "i2c", "spi";
ralink,function = "gpio";
};
};
};
&ethernet {
port@0 {
mediatek,fixed-link = <1000 1 1 1>;
phy-mode = "rgmii";
};
};
&pci {
status = "okay";
};
&pci1 {
status = "okay";
wifi@0,0 {
compatible = "pci0,0";
reg = <0x10000 0 0 0 0>;
ralink,5ghz = <0>;
ralink,mtd-eeprom = <&factory 0x2000>;
};
};
&wmac {
status = "okay";
ralink,2ghz = <0>;
ralink,mtd-eeprom = <&factory 0>;
};
&ehci {
status = "okay";
};
&ohci {
status = "okay";
};

View File

@ -0,0 +1,173 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/dts-v1/;
#include "mt7621.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "xzwifi,creativebox-v1", "mediatek,mt7621-soc";
model = "CreativeBox v1";
aliases {
led-boot = &led_sys;
led-failsafe = &led_sys;
led-running = &led_sys;
led-upgrade = &led_sys;
};
memory@0 {
device_type = "memory";
reg = <0x0 0x1C000000>,
<0x20000000 0x4000000>;
};
chosen {
bootargs = "console=ttyS0,115200";
};
leds {
compatible = "gpio-leds";
power {
label = "creativebox-v1:blue:power";
gpios = <&gpio0 31 GPIO_ACTIVE_LOW>;
default-state = "on";
};
led_sys: sys {
label = "creativebox-v1:blue:sys";
gpios = <&gpio1 0 GPIO_ACTIVE_LOW>;
};
internet {
label = "creativebox-v1:blue:internet";
gpios = <&gpio0 29 GPIO_ACTIVE_LOW>;
};
wlan2g {
label = "creativebox-v1:blue:wlan2g";
gpios = <&gpio1 1 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy0tpt";
};
wlan5g {
label = "creativebox-v1:blue:wlan5g";
gpios = <&gpio0 28 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy1tpt";
};
};
keys {
compatible = "gpio-keys-polled";
poll-interval = <20>;
reset {
label = "reset";
gpios = <&gpio0 18 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
};
gpio_export {
compatible = "gpio-export";
#size-cells = <0>;
power_usb2 {
gpio-export,name = "power_usb2";
gpio-export,output = <1>;
gpios = <&gpio0 22 GPIO_ACTIVE_HIGH>;
};
power_usb3 {
gpio-export,name = "power_usb3";
gpio-export,output = <1>;
gpios = <&gpio0 25 GPIO_ACTIVE_HIGH>;
};
power_sata {
gpio-export,name = "power_sata";
gpio-export,output = <1>;
gpios = <&gpio0 27 GPIO_ACTIVE_HIGH>;
};
};
};
&spi0 {
status = "okay";
flash@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <40000000>;
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 0x1fb0000>;
};
};
};
};
&sdhci {
status = "okay";
};
&pcie {
status = "okay";
};
&pcie0 {
wifi@0,0 {
compatible = "pci1400,7603";
reg = <0x0000 0 0 0 0>;
mediatek,mtd-eeprom = <&factory 0x0000>;
};
};
&pcie1 {
wifi@0,0 {
compatible = "pci14c3,7662";
reg = <0x0000 0 0 0 0>;
mediatek,mtd-eeprom = <&factory 0x8000>;
ieee80211-freq-limit = <5000000 6000000>;
};
};
&ethernet {
mtd-mac-address = <&factory 0xe000>;
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "wdt", "rgmii2";
ralink,function = "gpio";
};
};
};

View File

@ -0,0 +1,107 @@
/dts-v1/;
#include "rt3050.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "huawei,d105", "ralink,rt3050-soc";
model = "Huawei D105";
aliases {
led-boot = &led_power;
led-failsafe = &led_power;
led-running = &led_power;
led-upgrade = &led_power;
};
cfi@1f000000 {
compatible = "cfi-flash";
reg = <0x1f000000 0x800000>;
bank-width = <2>;
device-width = <2>;
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 0x3b0000>;
};
};
};
leds {
compatible = "gpio-leds";
led_power: power {
label = "d105:red:power";
gpios = <&gpio0 0 GPIO_ACTIVE_LOW>;
};
usb {
label = "d105:green:usb";
gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
trigger-sources = <&otg_port1>;
linux,default-trigger = "usbport";
};
};
keys {
compatible = "gpio-keys-polled";
poll-interval = <20>;
reset {
label = "reset";
gpios = <&gpio0 10 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
};
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "spi", "i2c", "jtag", "rgmii", "mdio", "uartf";
ralink,function = "gpio";
};
};
};
&ethernet {
mtd-mac-address = <&factory 0x4>;
};
&esw {
mediatek,portmap = <0x2f>;
};
&wmac {
ralink,mtd-eeprom = <&factory 0>;
};
&otg {
status = "okay";
};

View File

@ -0,0 +1,206 @@
/*
* BSD LICENSE
*
* Copyright(c) 2017 Kristian Evensen <kristian.evensen@gmail.com>.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
* * Neither the name of Broadcom Corporation nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
/dts-v1/;
#include "mt7620a.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "sanlinking,d240", "ralink,mt7620a-soc";
model = "Sanlinking Technologies D240";
aliases {
led-boot = &led_power;
led-failsafe = &led_power;
led-running = &led_power;
led-upgrade = &led_power;
};
chosen {
bootargs = "console=ttyS0,115200";
};
gpio-export {
compatible = "gpio-export";
#size-cells = <0>;
power_mpcie2 {
gpio-export,name = "power_mpcie2";
gpio-export,output = <1>;
gpios = <&gpio2 5 GPIO_ACTIVE_HIGH>;
};
power_mpcie1 {
gpio-export,name = "power_mpcie1";
gpio-export,output = <1>;
gpios = <&gpio2 6 GPIO_ACTIVE_HIGH>;
};
};
leds {
compatible = "gpio-leds";
led_power: power {
label = "d240:blue:power";
gpios = <&gpio1 14 GPIO_ACTIVE_HIGH>;
};
usb {
label = "d240:blue:usb";
gpios = <&gpio1 15 GPIO_ACTIVE_HIGH>;
trigger-sources = <&ohci_port1>, <&ehci_port1>;
linux,default-trigger = "usbport";
};
air {
label = "d240:blue:wifi";
gpios = <&gpio3 0 GPIO_ACTIVE_LOW>;
};
};
keys {
compatible = "gpio-keys-polled";
poll-interval = <20>;
reset {
label = "reset";
gpios = <&gpio0 1 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
};
};
&gpio1 {
status = "okay";
};
&gpio2 {
status = "okay";
};
&gpio3 {
status = "okay";
};
&spi0 {
status = "okay";
en25q128@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <10000000>;
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 0xfb0000>;
};
};
};
};
&sdhci {
status = "okay";
/* the pins function is already set during pinmux driver load */
/delete-property/ pinctrl-0;
};
&ehci {
status = "okay";
};
&ohci {
status = "okay";
};
&ethernet {
mtd-mac-address = <&factory 0x4>;
mediatek,portmap = "wllll";
};
&wmac {
ralink,mtd-eeprom = <&factory 0>;
};
&pinctrl {
state_default: pinctrl0 {
default {
ralink,group = "i2c", "uartf", "wled", "spi refclk", "pa";
ralink,function = "gpio";
};
/*
* The sd function of the nd_sd group configures two of the
* groups pins as gpios. The pins are used as PCIe reset/power.
* Due to the driver load order, the pins are configured way to
* late if triggered by the sd-card driver.
* To not introduce another kind of driver load order
* dependency and configure the pins as early as possible,
* means during pinmux driver load.
*/
gpio_sd {
ralink,group = "nd_sd";
ralink,function = "sd";
};
};
};
&pcie {
status = "okay";
};

View File

@ -0,0 +1,138 @@
/dts-v1/;
#include "rt3050.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "dlink,dap-1350", "ralink,rt3052-soc";
model = "D-Link DAP-1350";
aliases {
led-boot = &led_power_blue;
led-failsafe = &led_power_blue;
led-running = &led_power_blue;
led-upgrade = &led_power_blue;
};
chosen {
bootargs = "console=ttyS0,115200";
};
cfi@1f000000 {
compatible = "cfi-flash";
reg = <0x1f000000 0x800000>;
bank-width = <2>;
device-width = <2>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "u-boot";
reg = <0x0 0x30000>;
read-only;
};
devdata: partition@30000 {
label = "devdata";
reg = <0x30000 0x10000>;
read-only;
};
partition@40000 {
label = "devconf";
reg = <0x40000 0x30000>;
read-only;
};
partition@70000 {
label = "devlang";
reg = <0x70000 0x40000>;
read-only;
};
partition@b0000 {
compatible = "denx,uimage";
label = "firmware";
reg = <0xb0000 0x750000>;
};
};
};
leds {
compatible = "gpio-leds";
led_power_blue: power {
label = "dap-1350:blue:power";
gpios = <&gpio0 8 GPIO_ACTIVE_LOW>;
};
power2 {
label = "dap-1350:red:power";
gpios = <&gpio0 9 GPIO_ACTIVE_LOW>;
};
wps {
label = "dap-1350:blue:wps";
gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
};
};
keys {
compatible = "gpio-keys-polled";
poll-interval = <20>;
reset {
label = "reset";
gpios = <&gpio0 10 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
wps {
label = "wps";
gpios = <&gpio0 0 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WPS_BUTTON>;
};
rt {
label = "rt";
gpios = <&gpio0 11 GPIO_ACTIVE_LOW>;
linux,code = <BTN_0>;
};
ap {
label = "ap";
gpios = <&gpio0 7 GPIO_ACTIVE_LOW>;
linux,code = <BTN_1>;
};
};
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "spi", "i2c", "jtag", "rgmii", "mdio", "uartf";
ralink,function = "gpio";
};
};
};
&ethernet {
mtd-mac-address = <&devdata 0x2e>;
};
&esw {
mediatek,portmap = <0x2f>;
};
&wmac {
ralink,mtd-eeprom = <&devdata 0>;
};
&otg {
status = "okay";
};

View File

@ -0,0 +1,149 @@
/dts-v1/;
#include "rt2880.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "dlink,dap-1522-a1", "ralink,rt2880-soc";
model = "D-Link DAP-1522 A1";
aliases {
led-boot = &led_status;
led-failsafe = &led_status;
led-running = &led_status;
led-upgrade = &led_status;
};
cfi@bc400000 {
compatible = "cfi-flash";
reg = <0xbc400000 0x800000>;
bank-width = <2>;
device-width = <2>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "uboot";
reg = <0x0 0x30000>;
read-only;
};
factory: partition@30000 {
label = "factory";
reg = <0x30000 0x10000>;
read-only;
};
partition@40000 {
compatible = "wrg";
label = "firmware";
reg = <0x40000 0x3a0000>;
};
};
};
rtl8366s {
compatible = "realtek,rtl8366s";
gpio-sda = <&gpio0 1 GPIO_ACTIVE_HIGH>;
gpio-sck = <&gpio0 2 GPIO_ACTIVE_HIGH>;
};
keys {
compatible = "gpio-keys-polled";
poll-interval = <100>;
reset {
label = "reset";
gpios = <&gpio0 9 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
wps {
label = "wps";
gpios = <&gpio2 16 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WPS_BUTTON>;
};
ap {
label = "ap";
gpios = <&gpio2 13 GPIO_ACTIVE_LOW>;
linux,code = <BTN_0>;
linux,input-type = <EV_SW>;
};
bridge {
label = "bridge";
gpios = <&gpio2 14 GPIO_ACTIVE_LOW>;
linux,code = <BTN_1>;
linux,input-type = <EV_SW>;
};
};
leds {
compatible = "gpio-leds";
wps {
label = "dap-1522-a1:blue:wps";
gpios = <&gpio2 17 GPIO_ACTIVE_LOW>;
};
ap {
label = "dap-1522-a1:blue:ap";
gpios = <&gpio2 18 GPIO_ACTIVE_LOW>;
};
sta {
label = "dap-1522-a1:red:sta";
gpios = <&gpio2 19 GPIO_ACTIVE_LOW>;
};
led_status: status {
label = "dap-1522-a1:blue:status";
gpios = <&gpio2 20 GPIO_ACTIVE_LOW>;
};
};
};
&gpio0 {
status = "okay";
};
&gpio2 {
status = "okay";
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "i2c", "uartlite", "pci";
ralink,function = "gpio";
};
};
};
&ethernet {
status = "okay";
mtd-mac-address = <&factory 0x2004>;
port@0 {
mediatek,fixed-link = <1000 1 1 1>;
};
mdio-bus {
status = "okay";
phy0: ethernet-phy@0 {
phy-mode = "mii";
reg = <0>;
};
};
};
&wmac {
ralink,mtd-eeprom = <&factory 0x2000>;
};

View File

@ -0,0 +1,106 @@
/dts-v1/;
#include "mt7620a.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "planex,db-wrt01", "ralink,mt7620a-soc";
model = "Planex DB-WRT01";
aliases {
led-boot = &led_power;
led-failsafe = &led_power;
led-running = &led_power;
led-upgrade = &led_power;
};
leds {
compatible = "gpio-leds";
led_power: power {
label = "db-wrt01:orange:power";
gpios = <&gpio1 1 GPIO_ACTIVE_LOW>;
};
};
keys {
compatible = "gpio-keys-polled";
poll-interval = <20>;
s1 {
label = "wps";
gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WPS_BUTTON>;
};
};
};
&gpio1 {
status = "okay";
};
&spi0 {
status = "okay";
m25p80@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <10000000>;
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 0x7b0000>;
};
};
};
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "i2c", "spi refclk", "rgmii1";
ralink,function = "gpio";
};
};
};
&ethernet {
pinctrl-names = "default";
pinctrl-0 = <&ephy_pins>;
mtd-mac-address = <&factory 0x4>;
mediatek,portmap = "llllw";
};
&gsw {
mediatek,port4 = "ephy";
};
&wmac {
ralink,mtd-eeprom = <&factory 0>;
};

View File

@ -0,0 +1,191 @@
/dts-v1/;
#include "mt7620a.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "dlink,dch-m225", "ralink,mt7620a-soc";
model = "D-Link DCH-M225";
aliases {
led-boot = &led_power;
led-failsafe = &led_power;
led-running = &led_power;
led-upgrade = &led_power;
};
keys {
compatible = "gpio-keys-polled";
poll-interval = <100>;
wps {
label = "wps";
gpios = <&gpio0 11 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RFKILL>;
};
reset {
label = "reset";
gpios = <&gpio1 2 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
};
leds {
compatible = "gpio-leds";
led_power: power {
label = "dch-m225:green:power";
gpios = <&gpio1 5 GPIO_ACTIVE_LOW>;
default-state = "on";
};
status {
label = "dch-m225:red:status";
gpios = <&gpio1 0 GPIO_ACTIVE_LOW>;
};
};
sound {
compatible = "simple-audio-card";
simple-audio-card,name = "Audio-I2S";
simple-audio-card,format = "i2s";
simple-audio-card,bitclock-master = <&dailink0_master>;
simple-audio-card,frame-master = <&dailink0_master>;
simple-audio-card,widgets =
"Headphone", "Headphones";
simple-audio-card,routing =
"Headphones", "HP_L",
"Headphones", "HP_R";
simple-audio-card,mclk-fs = <256>;
simple-audio-card,hp-det-gpio = <&gpio0 14 GPIO_ACTIVE_LOW>;
simple-audio-card,cpu {
sound-dai = <&i2s>;
};
dailink0_master: simple-audio-card,codec {
sound-dai = <&codec>;
};
};
};
&gpio0 {
status = "okay";
};
&gpio1 {
status = "okay";
};
&i2c {
status = "okay";
codec: wm8960@1a {
#sound-dai-cells = <0>;
compatible = "wlf,wm8960";
reg = <0x1a>;
wlf,shared-lrclk;
};
};
&i2s {
#sound-dai-cells = <0>;
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&mdio_refclk_pins>;
};
&spi0 {
status = "okay";
m25p80@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <80000000>;
m25p,fast-read;
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 0x4000>;
read-only;
};
factory: partition@34000 {
label = "factory";
reg = <0x34000 0x4000>;
read-only;
};
nvram: partition@38000 {
label = "nvram";
reg = <0x38000 0x8000>;
read-only;
};
partition@40000 {
label = "devconf";
reg = <0x40000 0x10000>;
read-only;
};
partition@50000 {
label = "upgrade_rec";
reg = <0x50000 0x100000>;
read-only;
};
partition@150000 {
compatible = "seama";
label = "firmware";
reg = <0x150000 0x6b0000>;
};
};
};
};
&gdma {
status = "okay";
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "wdt", "rgmii1";
ralink,function = "gpio";
};
gpio_i2s {
ralink,group = "uartf";
ralink,function = "gpio i2s";
};
};
};
&ethernet {
mtd-mac-address = <&factory 0x4>;
};
&gsw {
ralink,port4 = "ephy";
};
&wmac {
ralink,mtd-eeprom = <&factory 0>;
pinctrl-names = "default";
pinctrl-0 = <&pa_pins>;
};

View File

@ -0,0 +1,116 @@
/dts-v1/;
#include "rt3050.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "dlink,dcs-930", "ralink,rt3050-soc";
model = "D-Link DCS-930";
aliases {
led-boot = &led_status;
led-failsafe = &led_status;
led-running = &led_status;
led-upgrade = &led_status;
};
cfi@1f000000 {
compatible = "cfi-flash";
reg = <0x1f000000 0x400000>;
bank-width = <2>;
device-width = <2>;
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 0x3b0000>;
};
};
};
leds {
compatible = "gpio-leds";
wifi {
label = "dcs-930:red:alert";
gpios = <&gpio0 8 GPIO_ACTIVE_LOW>;
};
led_status: status {
label = "dcs-930:green:status";
gpios = <&gpio0 9 GPIO_ACTIVE_LOW>;
};
wps {
label = "dcs-930:blue:wps";
gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
};
};
keys {
compatible = "gpio-keys-polled";
poll-interval = <20>;
wps {
label = "wps";
gpios = <&gpio0 0 GPIO_ACTIVE_LOW>;
linux,code = <BTN_1>;
};
reset {
label = "reset";
gpios = <&gpio0 10 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
};
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "i2c", "spi", "jtag", "mdio", "rgmii", "uartf";
ralink,function = "gpio";
};
};
};
&ethernet {
mtd-mac-address = <&factory 0x4>;
};
&esw {
mediatek,portmap = <0x2f>;
};
&wmac {
ralink,mtd-eeprom = <&factory 0>;
};
&otg {
status = "okay";
};

View File

@ -0,0 +1,118 @@
/dts-v1/;
#include "rt5350.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "dlink,dcs-930l-b1", "ralink,rt5350-soc";
model = "D-Link DCS-930L B1";
aliases {
led-boot = &led_power;
led-failsafe = &led_power;
led-running = &led_power;
led-upgrade = &led_power;
};
leds {
compatible = "gpio-leds";
led_power: power {
label = "dcs-930l-b1:red:power";
gpios = <&gpio0 17 GPIO_ACTIVE_LOW>;
};
wps {
label = "dcs-930l-b1:blue:wps";
gpios = <&gpio0 19 GPIO_ACTIVE_LOW>;
};
};
keys {
compatible = "gpio-keys-polled";
poll-interval = <20>;
reset {
label = "reset";
gpios = <&gpio0 0 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
wps {
label = "wps";
gpios = <&gpio0 20 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WPS_BUTTON>;
};
};
};
&spi0 {
status = "okay";
m25p80@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <10000000>;
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 0x3b0000>;
};
};
};
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "i2c", "jtag", "uartf", "led";
ralink,function = "gpio";
};
};
};
&ethernet {
mtd-mac-address = <&factory 0x4>;
};
&esw {
mediatek,portmap = <0x2f>;
};
&wmac {
ralink,mtd-eeprom = <&factory 0>;
};
&ehci {
status = "okay";
};
&ohci {
status = "okay";
};

View File

@ -0,0 +1,122 @@
/dts-v1/;
#include "rt3050.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "dlink,dir-300-b1", "ralink,rt3050-soc";
model = "D-Link DIR-300 B1";
aliases {
led-boot = &led_status_green;
led-failsafe = &led_status_green;
led-running = &led_status_green;
led-upgrade = &led_status_green;
};
cfi@1f000000 {
compatible = "cfi-flash";
reg = <0x1f000000 0x800000>;
bank-width = <2>;
device-width = <2>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "u-boot";
reg = <0x0 0x30000>;
read-only;
};
devdata: partition@30000 {
label = "devdata";
reg = <0x30000 0x10000>;
read-only;
};
factory: partition@40000 {
label = "devconf";
reg = <0x40000 0x10000>;
read-only;
};
partition@50000 {
compatible = "denx,uimage";
label = "firmware";
reg = <0x50000 0x3b0000>;
};
};
};
keys {
compatible = "gpio-keys-polled";
poll-interval = <20>;
reset {
label = "reset";
gpios = <&gpio0 10 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
wps {
label = "wps";
gpios = <&gpio0 0 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WPS_BUTTON>;
};
};
leds {
compatible = "gpio-leds";
status {
label = "dir-300-b1:amber:status";
gpios = <&gpio0 8 GPIO_ACTIVE_LOW>;
};
led_status_green: status2 {
label = "dir-300-b1:green:status";
gpios = <&gpio0 9 GPIO_ACTIVE_LOW>;
};
wan {
label = "dir-300-b1:amber:wan";
gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
};
wan2 {
label = "dir-300-b1:green:wan";
gpios = <&gpio0 12 GPIO_ACTIVE_LOW>;
};
wps {
label = "dir-300-b1:blue:wps";
gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
};
};
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "i2c", "spi", "jtag", "mdio", "rgmii", "uartf";
ralink,function = "gpio";
};
};
};
&ethernet {
mtd-mac-address = <&devdata 0x4004>;
};
&esw {
mediatek,portmap = <0x2f>;
};
&wmac {
ralink,mtd-eeprom = <&devdata 0x4000>;
};

View File

@ -0,0 +1,113 @@
/dts-v1/;
#include "rt5350.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "dlink,dir-300-b7", "ralink,rt5350-soc";
model = "D-Link DIR-300 B7";
aliases {
led-boot = &led_status;
led-failsafe = &led_status;
led-running = &led_status;
led-upgrade = &led_status;
};
leds {
compatible = "gpio-leds";
led_status: status {
label = "dir-300-b7:green:status";
gpios = <&gpio0 9 GPIO_ACTIVE_LOW>;
};
wps {
label = "dir-300-b7:blue:wps";
gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
};
};
keys {
compatible = "gpio-keys-polled";
poll-interval = <20>;
reset {
label = "reset";
gpios = <&gpio0 10 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
wps {
label = "wps";
gpios = <&gpio0 0 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WPS_BUTTON>;
};
};
};
&spi0 {
status = "okay";
m25p80@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <10000000>;
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 0x7b0000>;
};
};
};
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "i2c", "jtag", "uartf";
ralink,function = "gpio";
};
};
};
&ethernet {
mtd-mac-address = <&factory 0x4>;
};
&esw {
mediatek,portmap = <0x2f>;
mediatek,led_polarity = <0x17>;
};
&wmac {
status = "okay";
ralink,led-polarity = <1>;
ralink,mtd-eeprom = <&factory 0>;
};

View File

@ -0,0 +1,141 @@
/dts-v1/;
#include "rt5350.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "dlink,dir-320-b1", "ralink,rt5350-soc";
model = "D-Link DIR-320 B1";
aliases {
led-boot = &led_status;
led-failsafe = &led_status;
led-running = &led_status;
led-upgrade = &led_status;
};
leds {
compatible = "gpio-leds";
led_status: status {
label = "dir-320-b1:green:status";
gpios = <&gpio0 9 GPIO_ACTIVE_LOW>;
};
usb {
label = "dir-320-b1:green:usb";
gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
};
wps {
label = "dir-320-b1:green:wps";
gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
};
};
keys {
compatible = "gpio-keys-polled";
poll-interval = <20>;
reset {
label = "reset";
gpios = <&gpio0 10 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
wps {
label = "wps";
gpios = <&gpio0 0 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WPS_BUTTON>;
};
};
gpio_export {
compatible = "gpio-export";
#size-cells = <0>;
usb {
gpio-export,name = "usb";
gpio-export,output = <1>;
gpios = <&gpio0 7 GPIO_ACTIVE_HIGH>;
};
root_hub {
gpio-export,name = "root_hub";
gpio-export,output = <1>;
gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>;
};
};
};
&spi0 {
status = "okay";
m25p80@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <10000000>;
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 0x7b0000>;
};
};
};
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "i2c", "jtag", "uartf";
ralink,function = "gpio";
};
};
};
&ethernet {
mtd-mac-address = <&factory 0x4>;
};
&esw {
mediatek,portmap = <0x2f>;
mediatek,led_polarity = <0x17>;
};
&wmac {
ralink,mtd-eeprom = <&factory 0>;
};
&ehci {
status = "okay";
};
&ohci {
status = "okay";
};

View File

@ -0,0 +1,142 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/dts-v1/;
#include "mt7620a.dtsi"
#include <dt-bindings/input/input.h>
#include <dt-bindings/gpio/gpio.h>
/ {
compatible = "dlink,dir-510l", "ralink,mt7620a-soc";
model = "D-Link DIR-510L";
aliases {
led-boot = &led_status;
led-failsafe = &led_status;
led-running = &led_status;
led-upgrade = &led_status;
};
chosen {
bootargs = "console=ttyS1,57600";
};
keys {
compatible = "gpio-keys-polled";
poll-interval = <20>;
reset {
label = "reset";
gpios = <&gpio0 1 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
wps {
label = "wps";
gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WPS_BUTTON>;
};
};
leds {
compatible = "gpio-leds";
led_status: status {
label = "dir-510l:green:status";
gpios = <&gpio0 14 GPIO_ACTIVE_HIGH>;
};
status-red {
label = "dir-510l:red:status";
gpios = <&gpio0 11 GPIO_ACTIVE_HIGH>;
};
};
};
&ethernet {
mediatek,portmap = "llllw";
};
&uart {
status = "okay";
};
&gpio0 {
status = "okay";
};
&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 = "jboot";
reg = <0x0 0x10000>;
read-only;
};
partition@10000 {
label = "recovery";
reg = <0x10000 0x200000>;
read-only;
};
partition@210000 {
compatible = "amit,jimage";
label = "firmware";
reg = <0x210000 0xde0000>;
};
config: partition@ff0000 {
label = "config";
reg = <0xff0000 0x10000>;
read-only;
};
};
};
};
&ehci {
status = "okay";
};
&ohci {
status = "okay";
};
&pcie {
status = "okay";
};
&pcie0 {
mt76x0e@0,0 {
reg = <0x0000 0 0 0 0>;
mtd-mac-address = <&config 0xe490>;
mtd-mac-address-increment = <(2)>;
mediatek,mtd-eeprom = <&config 0xe05d>;
};
};
&gsw {
mediatek,port4 = "ephy";
};
&pinctrl {
state_default: pinctrl0 {
default {
ralink,group = "i2c", "uartf";
ralink,function = "gpio";
};
};
};

View File

@ -0,0 +1,122 @@
/dts-v1/;
#include "rt3050.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "dlink,dir-600-b1", "ralink,rt3050-soc";
model = "D-Link DIR-600 B1";
aliases {
led-boot = &led_status_green;
led-failsafe = &led_status_green;
led-running = &led_status_green;
led-upgrade = &led_status_green;
};
cfi@1f000000 {
compatible = "cfi-flash";
reg = <0x1f000000 0x800000>;
bank-width = <2>;
device-width = <2>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "u-boot";
reg = <0x0 0x30000>;
read-only;
};
devdata: partition@30000 {
label = "devdata";
reg = <0x30000 0x10000>;
read-only;
};
factory: partition@40000 {
label = "devconf";
reg = <0x40000 0x10000>;
read-only;
};
partition@50000 {
compatible = "denx,uimage";
label = "firmware";
reg = <0x50000 0x3b0000>;
};
};
};
keys {
compatible = "gpio-keys-polled";
poll-interval = <20>;
reset {
label = "reset";
gpios = <&gpio0 10 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
wps {
label = "wps";
gpios = <&gpio0 0 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WPS_BUTTON>;
};
};
leds {
compatible = "gpio-leds";
status {
label = "dir-600-b1:amber:status";
gpios = <&gpio0 8 GPIO_ACTIVE_LOW>;
};
led_status_green: status2 {
label = "dir-600-b1:green:status";
gpios = <&gpio0 9 GPIO_ACTIVE_LOW>;
};
wan {
label = "dir-600-b1:amber:wan";
gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
};
wan2 {
label = "dir-600-b1:green:wan";
gpios = <&gpio0 12 GPIO_ACTIVE_LOW>;
};
wps {
label = "dir-600-b1:blue:wps";
gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
};
};
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "i2c", "spi", "jtag", "mdio", "rgmii", "uartf";
ralink,function = "gpio";
};
};
};
&ethernet {
mtd-mac-address = <&devdata 0x4004>;
};
&esw {
mediatek,portmap = <0x2f>;
};
&wmac {
ralink,mtd-eeprom = <&devdata 0x4000>;
};

View File

@ -0,0 +1,114 @@
/dts-v1/;
#include "rt5350.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "dlink,dir-610-a1", "ralink,rt5350-soc";
model = "D-Link DIR-610 A1";
aliases {
led-boot = &led_status;
led-failsafe = &led_status;
led-running = &led_status;
led-upgrade = &led_status;
};
leds {
compatible = "gpio-leds";
led_status: status {
label = "dir-610-a1:green:status";
gpios = <&gpio0 9 GPIO_ACTIVE_LOW>;
};
wps {
label = "dir-610-a1:green:wps";
gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
};
};
keys {
compatible = "gpio-keys-polled";
poll-interval = <20>;
reset {
label = "reset";
gpios = <&gpio0 10 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
wps {
label = "wps";
gpios = <&gpio0 0 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WPS_BUTTON>;
};
};
};
&spi0 {
status = "okay";
m25p80@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <10000000>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "u-boot";
reg = <0x0 0x30000>;
read-only;
};
devdata: partition@30000 {
label = "devdata";
reg = <0x30000 0x10000>;
read-only;
};
factory: partition@40000 {
label = "factory";
reg = <0x40000 0x10000>;
read-only;
};
partition@50000 {
compatible = "seama";
label = "firmware";
reg = <0x50000 0x3b0000>;
};
};
};
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "i2c", "jtag", "uartf";
ralink,function = "gpio";
};
};
};
&ethernet {
mtd-mac-address = <&devdata 0x4004>;
};
&esw {
status = "okay";
mediatek,portmap = <0x2f>;
mediatek,led_polarity = <0x17>;
};
&wmac {
status = "okay";
ralink,led-polarity = <1>;
ralink,mtd-eeprom = <&devdata 0x4000>;
};

View File

@ -0,0 +1,121 @@
/dts-v1/;
#include "rt3050.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "dlink,dir-615-d1", "ralink,rt3050-soc";
model = "D-Link DIR-615 D";
aliases {
led-boot = &led_status_green;
led-failsafe = &led_status_green;
led-running = &led_status_green;
led-upgrade = &led_status_green;
};
cfi@1f000000 {
compatible = "cfi-flash";
reg = <0x1f000000 0x800000>;
bank-width = <2>;
device-width = <2>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "u-boot";
reg = <0x0 0x30000>;
read-only;
};
devdata: partition@30000 {
label = "devdata";
reg = <0x30000 0x10000>;
read-only;
};
partition@40000 {
label = "devconf";
reg = <0x40000 0x10000>;
read-only;
};
partition@50000 {
compatible = "denx,uimage";
label = "firmware";
reg = <0x50000 0x3b0000>;
};
};
};
keys {
compatible = "gpio-keys-polled";
poll-interval = <20>;
reset {
label = "reset";
gpios = <&gpio0 10 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
wps {
label = "wps";
gpios = <&gpio0 0 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WPS_BUTTON>;
};
};
leds {
compatible = "gpio-leds";
status {
label = "dir-615-d:amber:status";
gpios = <&gpio0 8 GPIO_ACTIVE_LOW>;
};
led_status_green: status2 {
label = "dir-615-d:green:status";
gpios = <&gpio0 9 GPIO_ACTIVE_LOW>;
default-state = "on";
};
wan {
label = "dir-615-d:amber:wan";
gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
};
wan2 {
label = "dir-615-d:green:wan";
gpios = <&gpio0 12 GPIO_ACTIVE_LOW>;
};
wps {
label = "dir-615-d:blue:wps";
gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
};
};
};
&esw {
mediatek,portmap = <0x2f>;
};
&wmac {
ralink,mtd-eeprom = <&devdata 0x4000>;
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "i2c", "spi", "jtag", "mdio", "rgmii", "uartf";
ralink,function = "gpio";
};
};
};

View File

@ -0,0 +1,128 @@
/dts-v1/;
#include "rt3352.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "dlink,dir-615-h1", "ralink,rt3352-soc";
model = "D-Link DIR-615 H1";
aliases {
led-boot = &led_status_green;
led-failsafe = &led_status_green;
led-running = &led_status_green;
led-upgrade = &led_status_green;
};
leds {
compatible = "gpio-leds";
status {
label = "dir-615-h1:amber:status";
gpios = <&gpio0 7 GPIO_ACTIVE_HIGH>;
};
led_status_green: status2 {
label = "dir-615-h1:green:status";
gpios = <&gpio0 9 GPIO_ACTIVE_HIGH>;
default-state = "on";
};
wan {
label = "dir-615-h1:amber:wan";
gpios = <&gpio0 12 GPIO_ACTIVE_LOW>;
};
wan2 {
label = "dir-615-h1:green:wan";
gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
};
wps {
label = "dir-615-h1:blue:wps";
gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
};
};
keys {
compatible = "gpio-keys-polled";
poll-interval = <20>;
reset {
label = "reset";
gpios = <&gpio0 10 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
wps {
label = "wps";
gpios = <&gpio0 0 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WPS_BUTTON>;
};
};
};
&spi0 {
status = "okay";
m25p80@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <10000000>;
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 0x3b0000>;
};
};
};
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "i2c", "jtag", "uartf";
ralink,function = "gpio";
};
};
};
&ethernet {
mtd-mac-address = <&factory 0x28>;
pinctrl-names = "default";
pinctrl-0 = <&rgmii_pins &mdio_pins>;
};
&esw {
mediatek,portmap = <0x2f>;
};
&wmac {
ralink,mtd-eeprom = <&factory 0>;
};

View File

@ -0,0 +1,131 @@
/dts-v1/;
#include "rt3050.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "dlink,dir-620-a1", "ralink,rt3050-soc";
model = "D-Link DIR-620 A1";
aliases {
led-boot = &led_status_green;
led-failsafe = &led_status_green;
led-running = &led_status_green;
led-upgrade = &led_status_green;
};
cfi@1f000000 {
compatible = "cfi-flash";
reg = <0x1f000000 0x800000>;
bank-width = <2>;
device-width = <2>;
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 0x7b0000>;
};
};
};
keys {
compatible = "gpio-keys-polled";
poll-interval = <20>;
reset {
label = "reset";
gpios = <&gpio0 10 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
wps {
label = "wps";
gpios = <&gpio0 0 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WPS_BUTTON>;
};
};
leds {
compatible = "gpio-leds";
status {
label = "dir-620-a1:amber:status";
gpios = <&gpio0 8 GPIO_ACTIVE_LOW>;
};
led_status_green: status2 {
label = "dir-620-a1:green:status";
gpios = <&gpio0 9 GPIO_ACTIVE_LOW>;
};
wan {
label = "dir-620-a1:amber:wan";
gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
};
wan2 {
label = "dir-620-a1:green:wan";
gpios = <&gpio0 12 GPIO_ACTIVE_LOW>;
};
wps {
label = "dir-620-a1:blue:wps";
gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>;
};
wps2 {
label = "dir-620-a1:amber:wps";
gpios = <&gpio0 11 GPIO_ACTIVE_HIGH>;
};
};
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "i2c", "jtag", "rgmii", "mdio", "uartf";
ralink,function = "gpio";
};
};
};
&ethernet {
mtd-mac-address = <&factory 0x4>;
};
&esw {
mediatek,portmap = <0x2f>;
};
&wmac {
ralink,mtd-eeprom = <&factory 0>;
};
&otg {
status = "okay";
};

View File

@ -0,0 +1,114 @@
/dts-v1/;
#include "rt3352.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "dlink,dir-620-d1", "ralink,rt3352-soc";
model = "D-Link DIR-620 D1";
aliases {
led-boot = &led_status;
led-failsafe = &led_status;
led-running = &led_status;
led-upgrade = &led_status;
};
leds {
compatible = "gpio-leds";
led_status: status {
label = "dir-620-d1:green:status";
gpios = <&gpio0 9 GPIO_ACTIVE_LOW>;
};
wifi {
label = "dir-620-d1:green:wifi";
gpios = <&gpio0 17 GPIO_ACTIVE_LOW>;
};
};
keys {
compatible = "gpio-keys-polled";
poll-interval = <20>;
reset_wps {
label = "reset_wps";
gpios = <&gpio0 7 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
};
};
&spi0 {
status = "okay";
m25p80@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <10000000>;
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 0x7b0000>;
};
};
};
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "i2c", "jtag", "uartf";
ralink,function = "gpio";
};
};
};
&ethernet {
mtd-mac-address = <&factory 0x4>;
pinctrl-names = "default";
pinctrl-0 = <&rgmii_pins &mdio_pins>;
};
&esw {
mediatek,portmap = <0x2f>;
};
&wmac {
ralink,mtd-eeprom = <&factory 0>;
};
&ehci {
status = "okay";
};
&ohci {
status = "okay";
};

View File

@ -0,0 +1,152 @@
/dts-v1/;
#include "rt3883.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "dlink,dir-645", "ralink,rt3883-soc";
model = "D-Link DIR-645";
aliases {
led-boot = &led_wps;
led-failsafe = &led_wps;
led-running = &led_wps;
led-upgrade = &led_wps;
};
rtl8367b {
compatible = "realtek,rtl8367b";
gpio-sda = <&gpio0 1 GPIO_ACTIVE_HIGH>;
gpio-sck = <&gpio0 2 GPIO_ACTIVE_HIGH>;
realtek,extif1 = <1 0 1 1 1 1 1 1 2>;
};
keys {
compatible = "gpio-keys-polled";
poll-interval = <100>;
reset {
label = "reset";
gpios = <&gpio0 9 GPIO_ACTIVE_HIGH>;
linux,code = <KEY_RESTART>;
};
wps {
label = "wps";
gpios = <&gpio0 14 GPIO_ACTIVE_HIGH>;
linux,code = <KEY_WPS_BUTTON>;
};
};
leds {
compatible = "gpio-leds";
inet {
label = "dir-645:green:inet";
gpios = <&gpio0 0 GPIO_ACTIVE_LOW>;
};
led_wps: wps {
label = "dir-645:green:wps";
gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>;
};
};
gpio_export {
compatible = "gpio-export";
#size-cells = <0>;
usb {
gpio-export,name = "usb";
gpio-export,output = <1>;
gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
};
};
};
&gpio1 {
status = "okay";
};
&spi0 {
status = "okay";
m25p80@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <25000000>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "uboot";
reg = <0x0 0x30000>;
read-only;
};
partition@30000 {
label = "uboot-env";
reg = <0x30000 0x4000>;
read-only;
};
factory: partition@34000 {
label = "factory";
reg = <0x34000 0x4000>;
read-only;
};
partition@38000 {
label = "nvram";
reg = <0x38000 0x8000>;
read-only;
};
partition@40000 {
label = "devdata";
reg = <0x40000 0x10000>;
};
partition@50000 {
compatible = "seama";
label = "firmware";
reg = <0x50000 0x7b0000>;
};
};
};
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "i2c", "jtag", "uartf";
ralink,function = "gpio";
};
};
};
&ethernet {
mtd-mac-address = <&factory 0x4>;
port@0 {
mediatek,fixed-link = <1000 1 1 0>;
};
};
&wmac {
ralink,5ghz = <0>;
ralink,mtd-eeprom = <&factory 0>;
};
&ehci {
status = "okay";
};
&ohci {
status = "okay";
};

View File

@ -0,0 +1,159 @@
/dts-v1/;
#include "mt7620a.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "dlink,dir-810l", "ralink,mt7620a-soc";
model = "D-Link DIR-810L";
aliases {
led-boot = &led_power_green;
led-failsafe = &led_power_green;
led-running = &led_power_green;
led-upgrade = &led_power_green;
};
keys {
compatible = "gpio-keys-polled";
poll-interval = <20>;
reset {
label = "reset";
gpios = <&gpio0 1 GPIO_ACTIVE_LOW>;
linux,code = <BTN_0>;
};
wps {
label = "wps";
gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
linux,code = <BTN_0>;
};
};
leds {
compatible = "gpio-leds";
led_power_green: power {
label = "dir-810l:green:power";
gpios = <&gpio0 9 GPIO_ACTIVE_HIGH>;
};
wan {
label = "dir-810l:orange:wan";
gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>;
};
power2 {
label = "dir-810l:orange:power";
gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>;
};
};
};
&spi0 {
status = "okay";
m25p80@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <10000000>;
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;
};
factory5g: partition@50000 {
label = "factory5g";
reg = <0x50000 0x10000>;
read-only;
};
partition@60000 {
label = "Wolf_Config";
reg = <0x60000 0x10000>;
read-only;
};
partition@70000 {
label = "MyDlink";
reg = <0x70000 0x80000>;
read-only;
};
partition@e0000 {
label = "Jffs2";
reg = <0xe0000 0x80000>;
read-only;
};
partition@170000 {
compatible = "denx,uimage";
label = "firmware";
reg = <0x170000 0x690000>;
};
};
};
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "mdio", "rgmii1", "i2c", "wled", "uartf";
ralink,function = "gpio";
};
};
};
&ethernet {
mtd-mac-address = <&factory 0x28>;
mediatek,portmap = "llllw";
};
&gsw {
mediatek,port4 = "ephy";
pinctrl-names = "default";
pinctrl-0 = <&ephy_pins>;
};
&pcie {
status = "okay";
};
&wmac {
ralink,mtd-eeprom = <&factory 0x0>;
pinctrl-names = "default";
pinctrl-0 = <&pa_pins>;
mtd-mac-address = <&factory 0x28>;
};
&pcie0 {
wifi@0,0 {
reg = <0x0000 0 0 0 0>;
mediatek,mtd-eeprom = <&factory 0x8000>;
ieee80211-freq-limit = <5000000 6000000>;
mtd-mac-address = <&factory 0x28>;
mtd-mac-address-increment = <2>;
};
};

View File

@ -0,0 +1,149 @@
/dts-v1/;
#include "mt7621.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "dlink,dir-860l-b1", "mediatek,mt7621-soc";
model = "D-Link DIR-860L B1";
aliases {
led-boot = &led_power_green;
led-failsafe = &led_power_green;
led-running = &led_power_green;
led-upgrade = &led_power_green;
};
memory@0 {
device_type = "memory";
reg = <0x0 0x8000000>;
};
chosen {
bootargs = "console=ttyS0,57600";
};
leds {
compatible = "gpio-leds";
power {
label = "dir-860l-b1:orange:power";
gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
};
led_power_green: power2 {
label = "dir-860l-b1:green:power";
gpios = <&gpio0 15 GPIO_ACTIVE_LOW>;
};
net {
label = "dir-860l-b1:orange:net";
gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
};
net2 {
label = "dir-860l-b1:green:net";
gpios = <&gpio0 16 GPIO_ACTIVE_LOW>;
};
};
keys {
compatible = "gpio-keys-polled";
poll-interval = <20>;
reset {
label = "reset";
gpios = <&gpio0 7 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
wps {
label = "wps";
gpios = <&gpio0 18 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WPS_BUTTON>;
};
};
};
&spi0 {
status = "okay";
m25p80@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <10000000>;
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 0x4000>;
read-only;
};
radio: partition@34000 {
label = "radio";
reg = <0x34000 0x4000>;
read-only;
};
factory: partition@38000 {
label = "factory";
reg = <0x38000 0x8000>;
read-only;
};
partition@40000 {
label = "defaults";
reg = <0x40000 0x10000>;
read-only;
};
partition@50000 {
compatible = "seama";
label = "firmware";
reg = <0x50000 0xfb0000>;
};
};
};
};
&pcie {
status = "okay";
};
&pcie0 {
mt76@0,0 {
reg = <0x0000 0 0 0 0>;
mediatek,mtd-eeprom = <&radio 0x2000>;
ieee80211-freq-limit = <5000000 6000000>;
};
};
&pcie1 {
mt76@0,0 {
reg = <0x0000 0 0 0 0>;
mediatek,mtd-eeprom = <&radio 0>;
ieee80211-freq-limit = <2400000 2500000>;
};
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "i2c", "uart2", "uart3", "rgmii2", "sdhci";
ralink,function = "gpio";
};
};
};

View File

@ -0,0 +1,145 @@
/dts-v1/;
#include "mt7628an.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "duzun,dm06", "mediatek,mt7628an-soc";
model = "DuZun DM06";
memory@0 {
device_type = "memory";
reg = <0x0 0x4000000>;
};
keys {
compatible = "gpio-keys-polled";
poll-interval = <100>;
reset {
label = "reset";
gpios = <&gpio1 14 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
wps {
label = "wps";
gpios = <&gpio1 6 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WPS_BUTTON>;
};
};
sound {
compatible = "simple-audio-card";
simple-audio-card,name = "Audio-I2S";
simple-audio-card,format = "i2s";
simple-audio-card,bitclock-master = <&dailink0_master>;
simple-audio-card,frame-master = <&dailink0_master>;
simple-audio-card,widgets =
"Headphone", "Headphones";
simple-audio-card,routing =
"Headphones", "HP_L",
"Headphones", "HP_R";
simple-audio-card,mclk-fs = <256>;
simple-audio-card,cpu {
sound-dai = <&i2s>;
};
dailink0_master: simple-audio-card,codec {
sound-dai = <&codec>;
};
};
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "wdt", "uart1";
ralink,function = "gpio";
};
};
};
&gpio1 {
status = "okay";
};
&i2c {
status = "okay";
codec: wm8960@1a {
#sound-dai-cells = <0>;
compatible = "wlf,wm8960";
reg = <0x1a>;
wlf,shared-lrclk;
};
};
&ethernet {
mtd-mac-address = <&factory 0x4>;
};
&esw {
mediatek,portmap = <0x3>;
mediatek,portdisable = <0x3c>;
};
&i2s {
#sound-dai-cells = <0>;
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&i2s_pins>, <&refclk_pins>;
};
&sdhci {
status = "okay";
};
&gdma {
status = "okay";
};
&spi0 {
status = "okay";
m25p80@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <60000000>;
m25p,fast-read;
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 0x7b0000>;
};
};
};
};

View File

@ -0,0 +1,114 @@
/dts-v1/;
#include "mt7620n.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "dlink,dwr-116-a1", "ralink,mt7620n-soc";
model = "D-Link DWR-116 A1/A2";
aliases {
led-boot = &led_status;
led-failsafe = &led_status;
led-running = &led_status;
led-upgrade = &led_status;
};
keys {
compatible = "gpio-keys-polled";
poll-interval = <20>;
wps {
label = "wps";
gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WPS_BUTTON>;
};
reset {
label = "reset";
gpios = <&gpio0 1 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
};
leds {
compatible = "gpio-leds";
led_status: status {
label = "dwr-116-a1:green:status";
gpios = <&gpio0 0 GPIO_ACTIVE_HIGH>;
};
wifi {
label = "dwr-116-a1:green:wifi";
gpios = <&gpio3 0 GPIO_ACTIVE_LOW>;
};
};
};
&gpio1 {
status = "okay";
};
&gpio3 {
status = "okay";
};
&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 = "jboot";
reg = <0x0 0x10000>;
read-only;
};
partition@10000 {
compatible = "amit,jimage";
label = "firmware";
reg = <0x10000 0x7e0000>;
};
config: partition@7f0000 {
label = "config";
reg = <0x7f0000 0x10000>;
read-only;
};
};
};
};
&ehci {
status = "okay";
};
&ohci {
status = "okay";
};
&pinctrl {
state_default: pinctrl0 {
default {
ralink,group = "i2c", "wled";
ralink,function = "gpio";
};
};
};
&ethernet {
mediatek,portmap = "llllw";
pinctrl-names = "default";
pinctrl-0 = <&ephy_pins>;
};

View File

@ -0,0 +1,194 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/dts-v1/;
#include "mt7620a.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "dlink,dwr-118-a1", "ralink,mt7620a-soc";
model = "D-Link DWR-118 A1";
aliases {
led-boot = &led_internet;
led-failsafe = &led_internet;
led-upgrade = &led_internet;
};
keys {
compatible = "gpio-keys-polled";
poll-interval = <20>;
wps {
label = "wps";
gpios = <&gpio0 12 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WPS_BUTTON>;
};
reset {
label = "reset";
gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
};
leds {
compatible = "gpio-leds";
wan {
label = "dwr-118-a1:green:wan";
gpios = <&gpio3 0 GPIO_ACTIVE_LOW>;
};
led_internet: internet {
label = "dwr-118-a1:green:internet";
gpios = <&gpio2 0 GPIO_ACTIVE_LOW>;
};
lan {
label = "dwr-118-a1:green:lan";
gpios = <&gpio2 1 GPIO_ACTIVE_LOW>;
};
wlan2g {
label = "dwr-118-a1:green:wlan2g";
gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
};
usb {
label = "dwr-118-a1:green:usb";
gpios = <&gpio0 11 GPIO_ACTIVE_LOW>;
trigger-sources = <&ohci_port1>, <&ehci_port1>;
linux,default-trigger = "usbport";
};
};
gpio_export {
compatible = "gpio-export";
#size-cells = <0>;
usb {
gpio-export,name = "usb";
gpio-export,output = <0>;
gpios = <&gpio1 14 GPIO_ACTIVE_LOW>;
};
};
};
&gpio1 {
status = "okay";
};
&gpio2 {
status = "okay";
};
&gpio3 {
status = "okay";
};
&spi0 {
status = "okay";
flash@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <80000000>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "jboot";
reg = <0x0 0x10000>;
read-only;
};
partition@10000 {
compatible = "amit,jimage";
label = "firmware";
reg = <0x10000 0xfe0000>;
};
config: partition@ff0000 {
label = "config";
reg = <0xff0000 0x10000>;
read-only;
};
};
};
};
&ehci {
status = "okay";
};
&ohci {
status = "okay";
};
&pinctrl {
state_default: pinctrl0 {
default {
ralink,group = "ephy", "uartf", "spi refclk", "wled";
ralink,function = "gpio";
};
};
};
&pcie {
status = "okay";
};
&pcie0 {
wifi@0,0 {
reg = <0x0000 0 0 0 0>;
mtd-mac-address = <&config 0xe496>;
mtd-mac-address-increment = <(2)>;
mediatek,mtd-eeprom = <&config 0xe083>;
led {
led-sources = <0>;
led-active-low;
};
};
};
&ethernet {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&rgmii1_pins &rgmii2_pins &mdio_pins>;
port@4 {
status = "okay";
phy-handle = <&phy4>;
phy-mode = "rgmii";
};
port@5 {
status = "okay";
phy-handle = <&phy5>;
phy-mode = "rgmii";
};
mdio-bus {
status = "okay";
phy4: ethernet-phy@4 {
reg = <4>;
phy-mode = "rgmii-rxid";
};
phy5: ethernet-phy@5 {
reg = <5>;
phy-mode = "rgmii-rxid";
};
};
};
&gsw {
mediatek,port4 = "gmac";
};

View File

@ -0,0 +1,181 @@
/dts-v1/;
#include "mt7620a.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "dlink,dwr-118-a2", "ralink,mt7620a-soc";
model = "D-Link DWR-118 A2";
aliases {
led-boot = &led_internet;
led-failsafe = &led_internet;
};
keys {
compatible = "gpio-keys-polled";
poll-interval = <20>;
wps {
label = "wps";
gpios = <&gpio0 12 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WPS_BUTTON>;
};
reset {
label = "reset";
gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
};
leds {
compatible = "gpio-leds";
wan {
label = "dwr-118-a2:green:wan";
gpios = <&gpio3 0 GPIO_ACTIVE_LOW>;
};
led_internet: internet {
label = "dwr-118-a2:green:internet";
gpios = <&gpio2 0 GPIO_ACTIVE_LOW>;
};
lan {
label = "dwr-118-a2:green:lan";
gpios = <&gpio2 1 GPIO_ACTIVE_LOW>;
};
wlan2g {
label = "dwr-118-a2:green:wlan2g";
gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
};
usb {
label = "dwr-118-a2:green:usb";
gpios = <&gpio0 11 GPIO_ACTIVE_LOW>;
trigger-sources = <&ohci_port1>, <&ehci_port1>;
linux,default-trigger = "usbport";
};
};
gpio_export {
compatible = "gpio-export";
#size-cells = <0>;
usb {
gpio-export,name = "usb";
gpio-export,output = <1>;
gpios = <&gpio1 14 GPIO_ACTIVE_HIGH>;
};
};
};
&gpio1 {
status = "okay";
};
&gpio2 {
status = "okay";
};
&gpio3 {
status = "okay";
};
&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 = "jboot";
reg = <0x0 0x10000>;
read-only;
};
partition@10000 {
compatible = "amit,jimage";
label = "firmware";
reg = <0x10000 0xfe0000>;
};
config: partition@ff0000 {
label = "config";
reg = <0xff0000 0x10000>;
read-only;
};
};
};
};
&ehci {
status = "okay";
};
&ohci {
status = "okay";
};
&pinctrl {
state_default: pinctrl0 {
default {
ralink,group = "ephy", "uartf", "spi refclk", "wled";
ralink,function = "gpio";
};
};
};
&pcie {
status = "okay";
};
&pcie0 {
wifi@0,0 {
reg = <0x0000 0 0 0 0>;
ieee80211-freq-limit = <5000000 6000000>;
mtd-mac-address = <&config 0xe4a8>;
mtd-mac-address-increment = <(2)>;
led {
led-sources = <2>;
led-active-low;
};
};
};
&ethernet {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&rgmii1_pins &mdio_pins>;
port@4 {
status = "okay";
phy-handle = <&phy4>;
phy-mode = "rgmii";
};
mdio-bus {
status = "okay";
phy4: ethernet-phy@4 {
reg = <4>;
phy-mode = "rgmii";
};
};
};
&gsw {
mediatek,port4 = "gmac";
};

View File

@ -0,0 +1,149 @@
/dts-v1/;
#include "rt5350.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "dlink,dwr-512-b", "ralink,rt5350-soc";
model = "D-Link DWR-512 B";
aliases {
led-boot = &led_status;
led-failsafe = &led_status;
led-running = &led_status;
led-upgrade = &led_status;
};
keys {
compatible = "gpio-keys-polled";
poll-interval = <20>;
wps {
label = "wps";
gpios = <&gpio0 7 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WPS_BUTTON>;
};
reset {
label = "reset";
gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
};
leds {
compatible = "gpio-leds";
sms {
label = "dwr-512-b:green:sms";
gpios = <&gpio0 8 GPIO_ACTIVE_HIGH>;
};
led_status: status {
label = "dwr-512-b:green:status";
gpios = <&gpio0 9 GPIO_ACTIVE_LOW>;
};
2g {
label = "dwr-512-b:green:2g";
gpios = <&gpio0 17 GPIO_ACTIVE_LOW>;
};
3g {
label = "dwr-512-b:green:3g";
gpios = <&gpio0 19 GPIO_ACTIVE_LOW>;
};
sstrengthr {
label = "dwr-512-b:red:sigstrength";
gpios = <&gpio0 20 GPIO_ACTIVE_LOW>;
};
sstrengthg {
label = "dwr-512-b:green:sigstrength";
gpios = <&gpio0 21 GPIO_ACTIVE_LOW>;
};
};
gpio-export {
compatible = "gpio-export";
#size-cells = <0>;
slic_int {
gpio-export,name = "slic_int";
gpios = <&gpio0 1 GPIO_ACTIVE_LOW>;
};
modem3g_enable {
gpio-export,name = "modem3g_enable";
gpio-export,output = <1>;
gpios = <&gpio0 18 GPIO_ACTIVE_HIGH>;
};
};
};
&spi0 {
status = "okay";
flash@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <30000000>;
m25p,fast-read;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "jboot";
reg = <0x0 0x10000>;
read-only;
};
partition@10000 {
compatible = "amit,jimage";
label = "firmware";
reg = <0x10000 0x7e0000>;
};
config: partition@7f0000 {
label = "config";
reg = <0x7f0000 0x10000>;
};
};
};
};
&spi1 {
status = "okay";
spidev@0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "siliconlabs,si3210";
reg = <0>;
spi-max-frequency = <1000000>;
};
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "i2c", "jtag", "uartf";
ralink,function = "gpio";
};
};
};
&esw {
mediatek,portmap = <0x2f>;
};
&ethernet {
mtd-mac-address = <&config 0xe07e>;
};
&wmac {
ralink,mtd-eeprom = <&config 0xe08a>;
ralink,led-polarity = <1>;
mtd-mac-address = <&config 0xe07e>;
};

View File

@ -0,0 +1,152 @@
/dts-v1/;
#include "mt7620n.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "dlink,dwr-921-c1", "ralink,mt7620n-soc";
model = "D-Link DWR-921 C1";
aliases {
led-boot = &led_sstrenghg;
led-failsafe = &led_sstrenghg;
};
keys {
compatible = "gpio-keys-polled";
poll-interval = <20>;
wps {
label = "wps";
gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WPS_BUTTON>;
};
reset {
label = "reset";
gpios = <&gpio0 1 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
};
leds {
compatible = "gpio-leds";
sms {
label = "dwr-921-c1:green:sms";
gpios = <&gpio1 14 GPIO_ACTIVE_LOW>;
};
lan {
label = "dwr-921-c1:green:lan";
gpios = <&gpio1 15 GPIO_ACTIVE_HIGH>;
};
led_sstrenghg: sstrengthg {
label = "dwr-921-c1:green:sigstrength";
gpios = <&gpio2 0 GPIO_ACTIVE_LOW>;
};
sstrengthr {
label = "dwr-921-c1:red:sigstrength";
gpios = <&gpio2 1 GPIO_ACTIVE_LOW>;
};
4g {
label = "dwr-921-c1:green:4g";
gpios = <&gpio2 2 GPIO_ACTIVE_LOW>;
};
3g {
label = "dwr-921-c1:green:3g";
gpios = <&gpio2 3 GPIO_ACTIVE_LOW>;
};
wifi {
label = "dwr-921-c1:green:wifi";
gpios = <&gpio3 0 GPIO_ACTIVE_LOW>;
};
};
gpio_export {
compatible = "gpio-export";
#size-cells = <0>;
lte_modem_enable {
gpio-export,name = "lte_modem_enable";
gpio-export,output = <1>;
gpios = <&gpio0 0 GPIO_ACTIVE_HIGH>;
};
};
};
&gpio1 {
status = "okay";
};
&gpio2 {
status = "okay";
};
&gpio3 {
status = "okay";
};
&spi0 {
status = "okay";
flash@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <10000000>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "jboot";
reg = <0x0 0x10000>;
read-only;
};
partition@10000 {
compatible = "amit,jimage";
label = "firmware";
reg = <0x10000 0xfe0000>;
};
config: partition@ff0000 {
label = "config";
reg = <0xff0000 0x10000>;
read-only;
};
};
};
};
&ehci {
status = "okay";
};
&ohci {
status = "okay";
};
&ethernet {
port@4 {
status = "okay";
};
};
&pinctrl {
state_default: pinctrl0 {
default {
ralink,group = "spi refclk", "i2c", "ephy", "wled";
ralink,function = "gpio";
};
};
};

View File

@ -0,0 +1,154 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/dts-v1/;
#include "mt7620n.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "dlink,dwr-922-e2", "ralink,mt7620n-soc";
model = "D-Link DWR-922 E2";
aliases {
led-boot = &sstrengthg;
led-failsafe = &sstrengthg;
};
keys {
compatible = "gpio-keys-polled";
poll-interval = <20>;
wps {
label = "wps";
gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WPS_BUTTON>;
};
reset {
label = "reset";
gpios = <&gpio0 1 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
};
leds {
compatible = "gpio-leds";
led-boot = &sstrengthg;
sms {
label = "dwr-922-e2:green:sms";
gpios = <&gpio1 14 GPIO_ACTIVE_LOW>;
};
lan {
label = "dwr-922-e2:green:lan";
gpios = <&gpio1 15 GPIO_ACTIVE_HIGH>;
};
sstrengthg: sstrengthg {
label = "dwr-922-e2:green:sigstrength";
gpios = <&gpio2 0 GPIO_ACTIVE_LOW>;
};
sstrengthr {
label = "dwr-922-e2:red:sigstrength";
gpios = <&gpio2 1 GPIO_ACTIVE_LOW>;
};
4g {
label = "dwr-922-e2:green:4g";
gpios = <&gpio2 2 GPIO_ACTIVE_LOW>;
};
3g {
label = "dwr-922-e2:green:3g";
gpios = <&gpio2 3 GPIO_ACTIVE_LOW>;
};
wifi {
label = "dwr-922-e2:green:wifi";
gpios = <&gpio3 0 GPIO_ACTIVE_LOW>;
};
};
gpio_export {
compatible = "gpio-export";
#size-cells = <0>;
lte_modem_enable {
gpio-export,name = "lte_modem_enable";
gpio-export,output = <1>;
gpios = <&gpio0 0 GPIO_ACTIVE_HIGH>;
};
};
};
&gpio1 {
status = "okay";
};
&gpio2 {
status = "okay";
};
&gpio3 {
status = "okay";
};
&spi0 {
status = "okay";
flash@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <10000000>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "jboot";
reg = <0x0 0x10000>;
read-only;
};
partition@10000 {
compatible = "amit,jimage";
label = "firmware";
reg = <0x10000 0xfe0000>;
};
config: partition@ff0000 {
label = "config";
reg = <0xff0000 0x10000>;
read-only;
};
};
};
};
&ehci {
status = "okay";
};
&ohci {
status = "okay";
};
&ethernet {
port@4 {
status = "okay";
};
};
&pinctrl {
state_default: pinctrl0 {
default {
ralink,group = "spi refclk", "i2c", "ephy", "wled";
ralink,function = "gpio";
};
};
};

View File

@ -0,0 +1,163 @@
/*
* Device Tree file for the Linksys E1700
*
* Copyright (C) 2014 Imre Kaloz <kaloz@openwrt.org>
*
* This file is licensed under the terms of the GNU General Public
* License version 2. This program is licensed "as is" without any
* warranty of any kind, whether express or implied.
*/
/dts-v1/;
#include "mt7620a.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "linksys,e1700", "ralink,mt7620a-soc";
model = "Linksys E1700";
aliases {
led-boot = &led_power;
led-failsafe = &led_power;
led-running = &led_power;
led-upgrade = &led_power;
};
keys {
compatible = "gpio-keys-polled";
poll-interval = <20>;
reset {
label = "reset";
gpios = <&gpio0 1 GPIO_ACTIVE_HIGH>;
linux,code = <KEY_RESTART>;
};
wps {
label = "wps";
gpios = <&gpio0 2 GPIO_ACTIVE_HIGH>;
linux,code = <KEY_WPS_BUTTON>;
};
};
leds {
compatible = "gpio-leds";
led_power: power {
label = "e1700:green:power";
gpios = <&gpio0 10 GPIO_ACTIVE_LOW>;
};
wan {
label = "e1700:green:wps";
gpios = <&gpio0 12 GPIO_ACTIVE_LOW>;
};
};
};
&spi0 {
status = "okay";
m25p80@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <10000000>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "u-boot";
reg = <0x0 0x30000>;
read-only;
};
partition@30000 {
label = "config";
reg = <0x30000 0x10000>;
read-only;
};
factory: partition@40000 {
label = "factory";
reg = <0x40000 0x10000>;
read-only;
};
partition@50000 {
compatible = "denx,uimage";
label = "firmware";
reg = <0x50000 0x7b0000>;
};
};
};
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "i2c", "uartf";
ralink,function = "gpio";
};
};
};
&ethernet {
status = "okay";
mtd-mac-address = <&factory 0x28>;
pinctrl-names = "default";
pinctrl-0 = <&rgmii1_pins &rgmii2_pins &mdio_pins>;
port@5 {
status = "okay";
mediatek,fixed-link = <1000 1 1 1>;
phy-mode = "rgmii";
};
mdio-bus {
status = "okay";
phy0: ethernet-phy@0 {
reg = <0>;
phy-mode = "rgmii";
};
phy1: ethernet-phy@1 {
reg = <1>;
phy-mode = "rgmii";
};
phy2: ethernet-phy@2 {
reg = <2>;
phy-mode = "rgmii";
};
phy3: ethernet-phy@3 {
reg = <3>;
phy-mode = "rgmii";
};
phy4: ethernet-phy@4 {
reg = <4>;
phy-mode = "rgmii";
};
phy1f: ethernet-phy@1f {
reg = <0x1f>;
phy-mode = "rgmii";
};
};
};
&gsw {
mediatek,port4 = "gmac";
};
&wmac {
ralink,mtd-eeprom = <&factory 0>;
};

View File

@ -0,0 +1,107 @@
/dts-v1/;
#include "rt3050.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "engenius,esr-9753", "ralink,rt3052-soc";
model = "Senao / EnGenius ESR-9753";
aliases {
led-boot = &led_power;
led-failsafe = &led_power;
led-running = &led_power;
led-upgrade = &led_power;
};
cfi@1f000000 {
compatible = "cfi-flash";
reg = <0x1f000000 0x800000>;
bank-width = <2>;
device-width = <2>;
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 0x3b0000>;
};
};
};
leds {
compatible = "gpio-leds";
led_power: power {
label = "esr-9753:orange:power";
gpios = <&gpio0 8 GPIO_ACTIVE_LOW>;
};
wps {
label = "esr-9753:orange:wps";
gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
};
};
keys {
compatible = "gpio-keys-polled";
poll-interval = <20>;
reset {
label = "reset";
gpios = <&gpio0 10 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
wps {
label = "wps";
gpios = <&gpio0 0 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WPS_BUTTON>;
};
};
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "spi", "i2c", "jtag", "rgmii", "mdio", "uartf";
ralink,function = "gpio";
};
};
};
&ethernet {
mtd-mac-address = <&factory 0x4>;
};
&esw {
mediatek,portmap = <0x3e>;
};
&wmac {
ralink,mtd-eeprom = <&factory 0>;
};

View File

@ -0,0 +1,137 @@
/dts-v1/;
#include "mt7621.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "afoundry,ew1200", "mediatek,mt7621-soc";
model = "EW1200";
aliases {
led-boot = &led_run;
led-failsafe = &led_run;
led-running = &led_run;
led-upgrade = &led_run;
};
memory@0 {
device_type = "memory";
reg = <0x0 0x8000000>;
};
chosen {
bootargs = "console=ttyS0,57600";
};
palmbus: palmbus@1E000000 {
i2c@900 {
status = "okay";
};
};
keys {
compatible = "gpio-keys-polled";
poll-interval = <20>;
reset {
label = "reset";
gpios = <&gpio0 18 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
};
leds {
compatible = "gpio-leds";
led_run: run {
label = "ew1200:green:run";
gpios = <&gpio0 5 GPIO_ACTIVE_HIGH>;
};
usb {
label = "ew1200:green:usb";
gpios = <&gpio0 4 GPIO_ACTIVE_LOW>;
trigger-sources = <&xhci_ehci_port1>, <&ehci_port2>;
linux,default-trigger = "usbport";
};
};
};
&sdhci {
status = "okay";
};
&spi0 {
status = "okay";
m25p80@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <10000000>;
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 0xfb0000>;
};
};
};
};
&pcie {
status = "okay";
};
&pcie0 {
mt76@0,0 {
reg = <0x0000 0 0 0 0>;
mediatek,mtd-eeprom = <&factory 0x8000>;
ieee80211-freq-limit = <5000000 6000000>;
};
};
&pcie1 {
mt76@0,0 {
reg = <0x0000 0 0 0 0>;
mediatek,mtd-eeprom = <&factory 0x0000>;
ieee80211-freq-limit = <2400000 2500000>;
};
};
&ethernet {
mtd-mac-address = <&factory 0xe000>;
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "wdt", "rgmii2", "jtag", "mdio";
ralink,function = "gpio";
};
};
};

View File

@ -0,0 +1,155 @@
/*
* Device Tree file for the Netgear EX2700
*
* Copyright (C) 2016 Joseph C. Lehner <joseph.c.lehner@gmail.com>
*
* This file is licensed under the terms of the GNU General Public
* License version 2. This program is licensed "as is" without any
* warranty of any kind, whether express or implied.
*/
/dts-v1/;
#include "mt7620a.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "netgear,ex2700", "ralink,mt7620a-soc";
model = "Netgear EX2700";
aliases {
led-boot = &led_power_green;
led-failsafe = &led_power_green;
led-running = &led_power_green;
led-upgrade = &led_power_green;
};
chosen {
bootargs = "console=ttyS0,57600";
};
leds {
compatible = "gpio-leds";
led_power_green: power_g {
label = "ex2700:green:power";
gpios = <&gpio0 9 GPIO_ACTIVE_LOW>;
default-state = "on";
};
power_r {
label = "ex2700:red:power";
gpios = <&gpio0 11 GPIO_ACTIVE_LOW>;
};
device_g {
label = "ex2700:green:device";
gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
};
device_r {
label = "ex2700:red:device";
gpios = <&gpio0 10 GPIO_ACTIVE_LOW>;
};
router_g {
label = "ex2700:green:router";
gpios = <&gpio0 12 GPIO_ACTIVE_LOW>;
};
router_r {
label = "ex2700:red:router";
gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
};
wps {
label = "ex2700:green:wps";
gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
};
};
keys {
compatible = "gpio-keys-polled";
poll-interval = <20>;
reset {
label = "reset";
gpios = <&gpio0 1 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
wps {
label = "wps";
gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WPS_BUTTON>;
};
};
};
&gpio0 {
status = "okay";
};
&gpio1 {
status = "okay";
};
&spi0 {
status = "okay";
m25p80@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <10000000>;
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;
};
partition@40000 {
compatible = "denx,uimage";
label = "firmware";
reg = <0x40000 0x3b0000>;
};
art: partition@3f0000 {
label = "art";
reg = <0x3f0000 0x10000>;
read-only;
};
};
};
};
&ethernet {
mtd-mac-address = <&art 0x0>;
};
&wmac {
mtd-mac-address = <&art 0x6>;
ralink,mtd-eeprom = <&art 0x1000>;
};
&pinctrl {
state_default: pinctrl0 {
default {
ralink,group = "i2c", "uartf", "spi refclk";
ralink,function = "gpio";
};
};
};

View File

@ -0,0 +1,170 @@
/* This file is released into the public domain */
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include "mt7620a.dtsi"
/ {
compatible = "netgear,ex3700", "ralink,mt7620a-soc";
model = "Netgear EX3700/EX3800";
aliases {
led-boot = &led_power_green;
led-failsafe = &led_power_green;
led-running = &led_power_green;
led-upgrade = &led_power_green;
};
chosen {
bootargs = "console=ttyS0,57600";
};
leds {
compatible = "gpio-leds";
led_power_green: power_g {
label = "ex3700:green:power";
gpios = <&gpio2 23 GPIO_ACTIVE_LOW>;
default-state = "on";
};
power_a {
label = "ex3700:amber:power";
gpios = <&gpio2 28 GPIO_ACTIVE_LOW>;
};
router_g {
label = "ex3700:green:router";
gpios = <&gpio2 25 GPIO_ACTIVE_LOW>;
};
router_r {
label = "ex3700:red:router";
gpios = <&gpio2 24 GPIO_ACTIVE_LOW>;
};
device_g {
label = "ex3700:green:device";
gpios = <&gpio2 20 GPIO_ACTIVE_LOW>;
};
device_r {
label = "ex3700:red:device";
gpios = <&gpio2 21 GPIO_ACTIVE_LOW>;
};
wps {
label = "ex3700:green:wps";
gpios = <&gpio2 27 GPIO_ACTIVE_LOW>;
};
};
keys {
compatible = "gpio-keys-polled";
poll-interval = <20>;
reset {
label = "reset";
gpios = <&gpio2 26 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
wps {
label = "wps";
gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WPS_BUTTON>;
};
};
};
&gpio0 {
status = "okay";
};
&gpio2 {
status = "okay";
};
&spi0 {
status = "okay";
m25p80@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <10000000>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "u-boot";
reg = <0x0 0x30000>;
read-only;
};
partition@30000 {
label = "config";
reg = <0x30000 0x10000>;
read-only;
};
factory: partition@40000 {
label = "factory";
reg = <0x40000 0x10000>;
read-only;
};
partition@50000 {
compatible = "denx,uimage";
label = "firmware";
reg = <0x50000 0x790000>;
};
partition@7e0000 {
label = "board_data";
reg = <0x7e0000 0x10000>;
read-only;
};
partition@7f0000 {
label = "nvram";
reg = <0x7f0000 0x10000>;
read-only;
};
};
};
};
&pcie {
status = "okay";
};
&pcie0 {
mt76@0,0 {
reg = <0x0000 0 0 0 0 >;
mediatek,mtd-eeprom = <&factory 0x8000>;
ieee80211-freq-limit = <5000000 6000000>;
};
};
&ethernet {
mtd-mac-address = <&factory 0x28>;
};
&wmac {
ralink,mtd-eeprom = <&factory 0x0>;
};
&pinctrl {
state_default: pinctrl0 {
default {
ralink,group = "i2c", "rgmii2", "spi refclk";
ralink,function = "gpio";
};
};
};

View File

@ -0,0 +1,248 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/dts-v1/;
#include "mt7621.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "netgear,ex6150", "mediatek,mt7621-soc";
model = "Netgear EX6150";
aliases {
led-boot = &power_green;
led-failsafe = &power_amber;
led-running = &power_green;
led-upgrade = &power_amber;
};
memory@0 {
device_type = "memory";
reg = <0x0 0x4000000>;
};
chosen {
bootargs = "console=ttyS0,57600";
};
leds {
compatible = "gpio-leds";
power_amber: power_amber {
label = "ex6150:amber:power";
gpios = <&gpio0 15 GPIO_ACTIVE_LOW>;
};
power_green: power_green {
label = "ex6150:green:power";
gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
};
wps {
label = "ex6150:green:wps";
gpios = <&gpio0 16 GPIO_ACTIVE_LOW>;
};
rightarrow {
label = "ex6150:blue:rightarrow";
gpios = <&gpio0 28 GPIO_ACTIVE_LOW>;
};
leftarrow {
label = "ex6150:blue:leftarrow";
gpios = <&gpio0 31 GPIO_ACTIVE_LOW>;
};
router_green {
label = "ex6150:green:router";
gpios = <&gpio0 29 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy1tpt";
};
router_red {
label = "ex6150:red:router";
gpios = <&gpio0 30 GPIO_ACTIVE_LOW>;
};
client_green {
label = "ex6150:green:client";
gpios = <&gpio1 1 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy0tpt";
};
client_red {
label = "ex6150:red:client";
gpios = <&gpio1 0 GPIO_ACTIVE_LOW>;
};
};
keys {
compatible = "gpio-keys-polled";
poll-interval = <20>;
wps {
label = "wps";
gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WPS_BUTTON>;
};
reset {
label = "reset";
gpios = <&gpio1 14 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
toggle {
label = "AP/Extender toggle";
gpios = <&gpio1 16 GPIO_ACTIVE_LOW>;
linux,code = <BTN_0>;
/* Active when switch is set to "Access Point" */
};
};
};
&spi0 {
status = "okay";
flash@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <10000000>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "u-boot";
reg = <0x0 0x30000>;
read-only;
};
partition@30000 {
label = "config";
reg = <0x30000 0x10000>;
read-only;
};
factory: partition@40000 {
label = "factory";
reg = <0x40000 0x10000>;
read-only;
};
partition@50000 {
compatible = "denx,uimage";
label = "firmware";
reg = <0x50000 0xe80000>;
};
partition@ed0000 {
label = "ML1";
reg = <0xed0000 0x10000>;
read-only;
};
partition@ef0000 {
label = "ML2";
reg = <0xef0000 0x20000>;
read-only;
};
partition@f10000 {
label = "ML3";
reg = <0xf10000 0x20000>;
read-only;
};
partition@f30000 {
label = "ML4";
reg = <0xf30000 0x20000>;
read-only;
};
partition@f50000 {
label = "ML5";
reg = <0xf50000 0x20000>;
read-only;
};
partition@f70000 {
label = "ML6";
reg = <0xf70000 0x20000>;
read-only;
};
partition@f90000 {
label = "ML7";
reg = <0xf90000 0x20000>;
read-only;
};
partition@fb0000 {
label = "T_Meter1";
reg = <0xfb0000 0x10000>;
read-only;
};
partition@fc0000 {
label = "T_Meter2";
reg = <0xfc0000 0x10000>;
read-only;
};
partition@fd0000 {
label = "POT";
reg = <0xfd0000 0x10000>;
read-only;
};
partition@fe0000 {
label = "board_data";
reg = <0xfe0000 0x10000>;
read-only;
};
partition@ff0000 {
label = "nvram";
reg = <0xff0000 0x10000>;
read-only;
};
};
};
};
&pcie {
status = "okay";
};
&pcie0 {
wifi@0,0 {
reg = <0x0000 0 0 0 0>;
mediatek,mtd-eeprom = <&factory 0x8000>;
ieee80211-freq-limit = <5000000 6000000>;
};
};
&pcie1 {
wifi@0,0 {
reg = <0x0000 0 0 0 0>;
mediatek,mtd-eeprom = <&factory 0x0000>;
ieee80211-freq-limit = <2400000 2500000>;
};
};
&ethernet {
mtd-mac-address = <&factory 0x00000004>;
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "sdhci", "rgmii2", "jtag";
ralink,function = "gpio";
};
};
};

View File

@ -0,0 +1,245 @@
/dts-v1/;
#include "rt2880.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
#address-cells = <1>;
#size-cells = <1>;
compatible = "belkin,f5d8235-v1", "ralink,rt2880-soc";
model = "Belkin F5D8235 v1";
aliases {
led-boot = &led_wired_blue;
led-failsafe = &led_wired_blue;
};
cfi@1f000000 {
compatible = "cfi-flash";
reg = <0xbc400000 0x800000>;
bank-width = <2>;
device-width = <2>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "uboot";
reg = <0x0 0x30000>;
read-only;
};
partition@30000 {
label = "uboot-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 0x7b0000>;
};
};
};
rtl8366s {
compatible = "realtek,rtl8366s";
gpio-sda = <&gpio0 1 GPIO_ACTIVE_HIGH>;
gpio-sck = <&gpio0 2 GPIO_ACTIVE_HIGH>;
realtek,initvals = <
0x0242 0x02BF
0x0245 0x02BF
0x0248 0x02BF
0x024B 0x02BF
0x024E 0x02BF
0x0251 0x02BF
0x0254 0x0A3F
0x0256 0x0A3F
0x0258 0x0A3F
0x025A 0x0A3F
0x025C 0x0A3F
0x025E 0x0A3F
0x0263 0x007C
0x0100 0x0004
0xBE5B 0x3500
0x800E 0x200F
0xBE1D 0x0F00
0x8001 0x5011
0x800A 0xA2F4
0x800B 0x17A3
0xBE4B 0x17A3
0xBE41 0x5011
0xBE17 0x2100
0x8000 0x8304
0xBE40 0x8304
0xBE4A 0xA2F4
0x800C 0xA8D5
0x8014 0x5500
0x8015 0x0004
0xBE4C 0xA8D5
0xBE59 0x0008
0xBE09 0x0E00
0xBE36 0x1036
0xBE37 0x1036
0x800D 0x00FF
0xBE4D 0x00FF
>;
realtek,green-ethernet-features;
};
keys {
compatible = "gpio-keys-polled";
poll-interval = <100>;
wps {
label = "wps";
gpios = <&gpio0 0 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WPS_BUTTON>;
};
reset {
label = "reset";
gpios = <&gpio0 9 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
};
leds {
compatible = "gpio-leds";
internet {
label = "f5d8235-v1:blue:internet";
gpios = <&gpio0 17 GPIO_ACTIVE_LOW>;
};
internet2 {
label = "f5d8235-v1:amber:internet";
gpios = <&gpio0 18 GPIO_ACTIVE_LOW>;
};
modem {
label = "f5d8235-v1:blue:modem";
gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
};
modem2 {
label = "f5d8235-v1:amber:modem";
gpios = <&gpio0 21 GPIO_ACTIVE_LOW>;
};
router {
label = "f5d8235-v1:blue:router";
gpios = <&gpio0 14 GPIO_ACTIVE_HIGH>;
};
storage {
label = "f5d8235-v1:blue:storage";
gpios = <&gpio0 7 GPIO_ACTIVE_LOW>;
trigger-sources = <&ohci_port1>, <&ehci_port1>;
linux,default-trigger = "usbport";
};
storage2 {
label = "f5d8235-v1:amber:storage";
gpios = <&gpio0 8 GPIO_ACTIVE_LOW>;
};
security {
label = "f5d8235-v1:blue:security";
gpios = <&gpio0 10 GPIO_ACTIVE_LOW>;
};
security2 {
label = "f5d8235-v1:amber:security";
gpios = <&gpio0 12 GPIO_ACTIVE_LOW>;
};
led_wired_blue: wired {
label = "f5d8235-v1:blue:wired";
gpios = <&gpio0 5 GPIO_ACTIVE_LOW>;
};
wired2 {
label = "f5d8235-v1:amber:wired";
gpios = <&gpio0 20 GPIO_ACTIVE_LOW>;
};
wireless {
label = "f5d8235-v1:blue:wireless";
gpios = <&gpio0 6 GPIO_ACTIVE_LOW>;
};
wireless2 {
label = "f5d8235-v1:amber:wireless";
gpios = <&gpio0 19 GPIO_ACTIVE_LOW>;
};
};
};
&gpio0 {
status = "okay";
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "spi", "i2c", "jtag", "mdio", "uartlite";
ralink,function = "gpio";
};
};
};
&ethernet {
status = "okay";
mtd-mac-address = <&factory 0x4>;
port@0 {
mediatek,fixed-link = <1000 1 1 1>;
};
};
&pci {
status = "okay";
usb@11,0 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "pci1033,0035";
reg = <0x8800 0 0 0 0>;
ohci_port1: port@1 {
reg = <1>;
#trigger-source-cells = <0>;
};
};
usb@11,1 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "pci1033,00e0";
reg = <0x8900 0 0 0 0>;
ehci_port1: port@1 {
reg = <1>;
#trigger-source-cells = <0>;
};
};
};
&wmac {
status = "okay";
ralink,mtd-eeprom = <&factory 0x0>;
};

View File

@ -0,0 +1,146 @@
/dts-v1/;
#include "rt3050.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "belkin,f5d8235-v2", "ralink,rt3052-soc";
model = "Belkin F5D8235 v2";
aliases {
led-boot = &led_router;
led-failsafe = &led_router;
led-running = &led_router;
led-upgrade = &led_router;
};
cfi@1f000000 {
compatible = "cfi-flash";
reg = <0x1f000000 0x800000>;
bank-width = <2>;
device-width = <2>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
uboot: partition@0 {
label = "uboot";
reg = <0x0 0x50000>;
read-only;
};
partition@50000 {
compatible = "denx,uimage";
label = "firmware";
reg = <0x50000 0x790000>;
};
partition@7e0000 {
label = "nvram";
reg = <0x7e0000 0x10000>;
};
factory: partition@7f0000 {
label = "factory";
reg = <0x7f0000 0x10000>;
};
};
};
rtl8366rb {
compatible = "realtek,rtl8366rb";
gpio-sda = <&gpio0 1 GPIO_ACTIVE_HIGH>;
gpio-sck = <&gpio0 2 GPIO_ACTIVE_HIGH>;
};
leds {
compatible = "gpio-leds";
internet {
label = "f5d8235-v2:blue:internet";
gpios = <&gpio0 5 GPIO_ACTIVE_LOW>;
};
internet2 {
label = "f5d8235-v2:amber:internet";
gpios = <&gpio0 6 GPIO_ACTIVE_LOW>;
};
modem {
label = "f5d8235-v2:blue:modem";
gpios = <&gpio0 11 GPIO_ACTIVE_LOW>;
};
modem2 {
label = "f5d8235-v2:amber:modem";
gpios = <&gpio0 8 GPIO_ACTIVE_LOW>;
};
led_router: router {
label = "f5d8235-v2:blue:router";
gpios = <&gpio0 9 GPIO_ACTIVE_LOW>;
};
storage {
label = "f5d8235-v2:blue:storage";
gpios = <&gpio0 23 GPIO_ACTIVE_LOW>;
trigger-sources = <&otg_port1>;
linux,default-trigger = "usbport";
};
storage2 {
label = "f5d8235-v2:amber:storage";
gpios = <&gpio0 22 GPIO_ACTIVE_LOW>;
};
security {
label = "f5d8235-v2:blue:security";
gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
};
security2 {
label = "f5d8235-v2:amber:security";
gpios = <&gpio0 12 GPIO_ACTIVE_LOW>;
};
};
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "spi", "i2c", "jtag", "mdio", "uartf";
ralink,function = "gpio";
};
};
};
&ethernet {
mtd-mac-address = <&uboot 0x40004>;
pinctrl-names = "default";
pinctrl-0 = <&rgmii_pins>;
};
&esw {
ralink,rgmii = <1>;
mediatek,portmap = <0x3f>;
ralink,fct2 = <0x0002500c>;
/*
* ext phy base addr 31, rx/tx clock skew 0,
* turbo mii off, rgmi 3.3v off, port 5 polling off
* port5: enabled, gige, full-duplex, rx/tx-flow-control
* port6: enabled, gige, full-duplex, rx/tx-flow-control
*/
ralink,fpa2 = <0x1f003fff>;
};
&wmac {
ralink,mtd-eeprom = <&uboot 0x40000>;
};
&otg {
status = "okay";
};

View File

@ -0,0 +1,143 @@
/dts-v1/;
#include "rt5350.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "belkin,f7c027", "ralink,rt5350-soc";
model = "Belkin F7C027";
aliases {
led-boot = &led_status_orange;
led-failsafe = &led_status_orange;
led-running = &led_status_orange;
led-upgrade = &led_status_orange;
};
leds {
compatible = "gpio-leds";
status {
label = "f7c027:blue:status";
gpios = <&gpio0 7 GPIO_ACTIVE_LOW>;
};
power {
label = "f7c027:blue:power";
gpios = <&gpio0 9 GPIO_ACTIVE_LOW>;
};
led_status_orange: orange {
label = "f7c027:orange:status";
gpios = <&gpio0 11 GPIO_ACTIVE_LOW>;
};
relay {
label = "f7c027:device:relay";
gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>;
};
};
keys {
compatible = "gpio-keys-polled";
poll-interval = <20>;
top {
label = "restore";
gpios = <&gpio0 10 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
power {
label = "power";
gpios = <&gpio0 12 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RFKILL>;
};
sensor {
label = "sensor";
gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
linux,code = <BTN_0>;
};
};
};
&spi0 {
status = "okay";
m25p80@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <10000000>;
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 0x770000>;
};
partition@7c0000 {
label = "firmware2";
reg = <0x7c0000 0x770000>;
};
partition@f30000 {
label = "belkin_settings";
reg = <0xf30000 0xa0000>;
};
partition@fd0000 {
label = "unknown";
reg = <0xfd0000 0x10000>;
};
partition@fe0000 {
label = "nvram";
reg = <0xfe0000 0x10000>;
};
partition@ff0000 {
label = "user_factory";
reg = <0xff0000 0x10000>;
};
};
};
};
&wmac {
ralink,mtd-eeprom = <&factory 0>;
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "i2c", "jtag", "uartf";
ralink,function = "gpio";
};
};
};

Some files were not shown because too many files have changed in this diff Show More