Initial commit

This commit is contained in:
domenico
2025-06-24 15:51:28 +02:00
commit 22031d9dab
6862 changed files with 1462554 additions and 0 deletions

View File

@@ -0,0 +1,23 @@
#
# Copyright (C) 2007-2011 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
BOARD:=lantiq
BOARDNAME:=Lantiq
FEATURES:=squashfs
SUBTARGETS:=xrx200 xway xway_legacy falcon ase
MAINTAINER:=John Crispin <john@phrozen.org>
KERNEL_PATCHVER:=4.9
define Target/Description
Build firmware images for Lantiq SoC
endef
include $(INCLUDE_DIR)/target.mk
$(eval $(call BuildTarget))

View File

@@ -0,0 +1,26 @@
CONFIG_ADM6996_PHY=y
CONFIG_CPU_MIPS32_R1=y
# CONFIG_CPU_MIPS32_R2 is not set
CONFIG_CPU_MIPSR1=y
CONFIG_CRC16=y
CONFIG_CRYPTO_ACOMP2=y
CONFIG_CRYPTO_DEFLATE=y
CONFIG_FIRMWARE_IN_KERNEL=y
CONFIG_FIRMWARE_MEMMAP=y
CONFIG_GPIO_GENERIC=y
CONFIG_GPIO_GENERIC_PLATFORM=y
# CONFIG_ISDN is not set
# CONFIG_LBDAF is not set
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
CONFIG_MIPS_FPU_EMULATOR=y
CONFIG_NLS=y
# CONFIG_PSB6970_PHY is not set
# CONFIG_RTL8366_SMI is not set
CONFIG_SOC_AMAZON_SE=y
# CONFIG_SOC_XWAY is not set
CONFIG_USB=y
CONFIG_USB_COMMON=y
# CONFIG_USB_EHCI_HCD is not set
CONFIG_USB_SUPPORT=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_ZLIB_INFLATE=y

View File

@@ -0,0 +1,24 @@
CONFIG_ADM6996_PHY=y
CONFIG_CPU_MIPS32_R1=y
# CONFIG_CPU_MIPS32_R2 is not set
CONFIG_CPU_MIPSR1=y
CONFIG_CRC16=y
CONFIG_CRYPTO_DEFLATE=y
CONFIG_FIRMWARE_IN_KERNEL=y
CONFIG_FIRMWARE_MEMMAP=y
CONFIG_GPIO_GENERIC=y
CONFIG_GPIO_GENERIC_PLATFORM=y
# CONFIG_ISDN is not set
# CONFIG_LBDAF is not set
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
CONFIG_NLS=y
# CONFIG_PSB6970_PHY is not set
# CONFIG_RTL8366_SMI is not set
CONFIG_SOC_AMAZON_SE=y
# CONFIG_SOC_XWAY is not set
CONFIG_USB=y
CONFIG_USB_COMMON=y
# CONFIG_USB_EHCI_HCD is not set
CONFIG_USB_SUPPORT=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_ZLIB_INFLATE=y

View File

@@ -0,0 +1,9 @@
define Profile/Default
NAME:=Default Profile
PRIORITY:=1
endef
define Profile/Default/Description
Default package set compatible with most boards.
endef
$(eval $(call Profile,Default))

View File

@@ -0,0 +1,20 @@
#
# Copyright (C) 2016 LEDE Project
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
ARCH:=mips
SUBTARGET:=ase
BOARDNAME:=Amazon-SE
FEATURES:=squashfs atm mips16 small_flash
CPU_TYPE:=mips32
DEFAULT_PACKAGES+=kmod-leds-gpio kmod-gpio-button-hotplug \
kmod-ltq-adsl-ase kmod-ltq-adsl-ase-mei \
kmod-ltq-adsl-ase-fw-b kmod-ltq-atm-ase \
ltq-adsl-app ppp-mod-pppoe
define Target/Description
Lantiq Amazon-SE Boards
endef

View File

@@ -0,0 +1,84 @@
#!/bin/sh
#
# Copyright (C) 2011-2015 OpenWrt.org
# based on ar71xx
#
. /lib/functions/leds.sh
. /lib/functions/uci-defaults.sh
board_config_update
led_wifi="$(get_dt_led wifi)"
[ -n "$led_wifi" ] && ucidef_set_led_wlan "wifi" "wifi" "$led_wifi" "phy0tpt"
led_usb="$(get_dt_led usb)"
[ -n "$led_usb" ] && ucidef_set_led_usbdev "usb" "usb" "$led_usb" "1-1"
led_usb2="$(get_dt_led usb2)"
[ -n "$led_usb2" ] && ucidef_set_led_usbdev "usb2" "usb2" "$led_usb2" "2-1"
led_dsl="$(get_dt_led dsl)"
[ -n "$led_dsl" ] && {
led_internet="$(get_dt_led internet)"
if [ -n "$led_internet" ]; then
ucidef_set_led_default "dsl" "dsl" "$led_dsl" "0"
ucidef_set_led_netdev "internet" "internet" "$led_internet" "pppoe-wan"
else
ucidef_set_led_netdev "dsl" "dsl" "$led_dsl" "dsl0"
fi
}
board=$(board_name)
case "$board" in
allnet,all0333cj)
ucidef_set_led_netdev "lan" "lan" "all0333cj:green:lan" "eth0.1"
;;
arcadyan,arv4525pw)
ucidef_set_led_netdev "wifi" "wifi" "arv4525pw:green:wlan" "wlan0"
;;
arcadyan,arv7506pw11)
ucidef_set_led_wlan "wifi" "wifi" "arv7506pw11:green:wlan" "phy0radio"
;;
arcadyan,arv7519rw22)
ucidef_set_led_netdev "lan" "lan" "arv7519rw22:green:lan" "eth0.1"
;;
arcadyan,arv752dpw22)
ucidef_set_led_wlan "wifi" "wifi" "arv752dpw22:red:wifi" "phy0radio"
;;
bt,homehub-v5a)
ucidef_set_led_default "dimmed" "dimmed" "dimmed" "0"
;;
netgear,dm200)
ucidef_set_led_netdev "lan" "lan" "dm200:green:lan" "eth0"
;;
avm,fritz7320)
ucidef_set_led_netdev "wifi" "wifi" "fritz7320:green:wlan" "wlan0"
;;
zyxel,p-2812hnu-f1|\
zyxel,p-2812hnu-f3)
ucidef_set_led_wlan "wifi" "wifi" "p2812hnufx:green:wlan" "phy0radio"
;;
arcadyan,vgv7510kw22-nor|\
arcadyan,vgv7510kw22-brn)
ucidef_set_led_wlan "wifi" "wifi" "vgv7510kw22:green:wlan" "phy0radio"
;;
arcadyan,vgv7519-nor|\
arcadyan,vgv7519-brn)
ucidef_set_led_wlan "wifi" "wifi" "vgv7519:green:wireless" "phy0radio"
;;
buffalo,wbmr-300hpd)
ucidef_set_led_switch "lan1" "LAN1" "wbmr300:green:lan1" "switch0" "0x08"
ucidef_set_led_switch "lan2" "LAN2" "wbmr300:green:lan2" "switch0" "0x04"
ucidef_set_led_switch "wan" "WAN" "wbmr300:green:wan" "switch0" "0x10"
ucidef_set_led_switch "lan3" "LAN3" "wbmr300:green:lan3" "switch0" "0x20"
ucidef_set_led_default "router" "router" "wbmr300:green:router" "1"
;;
*)
;;
esac
board_config_flush
exit 0

View File

@@ -0,0 +1,248 @@
#!/bin/sh
#
# Copyright (C) 2011-2015 OpenWrt.org
#
. /lib/functions/uci-defaults.sh
. /lib/functions/system.sh
. /lib/functions/lantiq.sh
board_config_update
vpi=1
vci=32
annex="a"
tone="av"
xfer_mode=""
encaps="llc"
payload="bridged"
lan_mac=""
wan_mac=""
interface_wan="dsl0"
board=$(board_name)
case "$board" in
audiocodes,mp-252)
ucidef_add_switch "switch0" \
"1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "5t@eth0"
;;
allnet,all0333cj)
annex="b"
lan_mac=$(mtd_get_mac_ascii uboot_env ethaddr)
wan_mac=$(macaddr_add "$lan_mac" 1)
ucidef_set_interface_lan 'eth0'
;;
arcadyan,arv4510pw)
lan_mac=$(mtd_get_mac_ascii uboot_env ethaddr)
wan_mac=$(macaddr_add "$lan_mac" 1)
ucidef_add_switch "switch0" \
"0:lan:4" "2:lan:2" "1:lan:3" "3:lan:1" "5t@eth0"
;;
arcadyan,arv4519pw|arcadyan,arv7510pw22|arcadyan,arv7518pw)
ucidef_add_switch "switch0" \
"0t@eth0" "2:lan" "3:lan" "4:lan" "5:lan"
;;
arcadyan,arv4520pw)
annex="b"
ucidef_add_switch "switch0" \
"0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "5t@eth0"
;;
arcadyan,arv4525pw|arcadyan,arv452cqw|arcadyan,arv7525pw|arcadyan,arv752dpw)
annex="b"
ucidef_set_interface_lan 'eth0'
;;
arcadyan,arv7506pw11)
annex="b"
wan_mac=$(macaddr_add "$(mtd_get_mac_binary board_config 22)" 2)
ucidef_add_switch "switch0" \
"1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "5t@eth0"
;;
arcadyan,arv7519pw)
wan_mac=$(macaddr_add "$(mtd_get_mac_binary board_config 22)" 1)
ucidef_add_switch "switch0" \
"0:lan" "1:lan" "2:lan" "3:lan" "4t@eth0"
;;
arcadyan,arv7519rw22)
wan_mac=$(macaddr_add "$(mtd_get_mac_binary boardconfig 22)" 1)
ucidef_add_switch "switch0" \
"0:lan:5" "2:lan:3" "3:lan:4" "4:lan:1" "5:lan:2" "6t@eth0"
;;
arcadyan,arv752dpw22|arcadyan,arv8539pw22)
annex="b"
ucidef_add_switch "switch0" \
"0t@eth0" "2:lan" "3:lan" "4:lan" "5:lan"
;;
alphanetworks,asl56026)
lan_mac=$(mtd_get_mac_ascii uboot_env ethaddr)
wan_mac=$(mtd_get_mac_ascii uboot_env wanmac)
ucidef_add_switch "switch0"\
"2:lan" "3:lan" "6t@eth0"
;;
bt,homehub-v2b)
lan_mac=$(mtd_get_mac_ascii uboot_env ethaddr)
wan_mac=$(macaddr_add "$lan_mac" 1)
ucidef_add_switch "switch0" \
"1:lan" "2:lan" "3:lan" "4:lan" "5t@eth0"
;;
bt,homehub-v3a)
lan_mac=$(mtd_get_mac_ascii uboot_env ethaddr)
wan_mac=$(macaddr_add "$lan_mac" 1)
ucidef_set_interface_lan 'eth0'
;;
bt,homehub-v5a)
lan_mac=$(mtd_get_mac_binary_ubi caldata 4364)
wan_mac=$(macaddr_add "$lan_mac" 1)
ucidef_add_switch "switch0" \
"0:lan:3" "1:lan:4" "2:lan:2" "4:lan:1" "5:wan:5" "6t@eth0"
;;
netgear,dgn1000b)
annex="b"
ucidef_set_interface_lan 'eth0'
;;
netgear,dgn3500|netgear,dgn3500b)
lan_mac=$(mtd_get_mac_ascii uboot-env ethaddr)
wan_mac=$(macaddr_add "$lan_mac" 1)
ucidef_add_switch "switch0" \
"0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "5t@eth0"
;;
netgear,dm200)
lan_mac=$(mtd_get_mac_binary ART 0)
wan_mac=$(macaddr_add "$lan_mac" 1)
ucidef_set_interface_lan 'eth0'
;;
lantiq,easy80920-nand|lantiq,easy80920-nor)
lan_mac=$(mtd_get_mac_ascii uboot_env ethaddr)
wan_mac=$(macaddr_add "$lan_mac" 1)
ucidef_add_switch "switch0" \
"0:lan:4" "1:lan:3" "2:lan:2" "4:lan:1" "5:wan:5" "6t@eth0"
;;
avm,fritz3370)
annex="b"
wan_mac=$(macaddr_add "$(mtd_get_mac_binary urlader 2439)" 1)
ucidef_set_interface_lan 'eth0'
;;
avm,fritz7320)
annex="b"
wan_mac=$(macaddr_add "$(mtd_get_mac_binary urlader 2705)" 1)
ucidef_set_interface_lan 'eth0'
;;
avm,fritz7360sl)
annex="b"
wan_mac=$(macaddr_add "$(mtd_get_mac_binary urlader 2705)" 1)
ucidef_add_switch "switch0" \
"0:lan:3" "1:lan:4" "2:lan:2" "4:lan:1" "6t@eth0"
;;
siemens,gigaset-sx76x)
annex="b"
ucidef_add_switch "switch0" \
"1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "5t@eth0"
;;
zte,h201l)
annex="b"
ucidef_add_switch "switch0" \
"0:lan" "1:lan" "2:lan" "3:lan" "4t@eth0"
;;
zyxel,p-2601hn)
ucidef_add_switch "switch0" \
"0:lan" "1:lan" "2:lan" "3:lan" "5t@eth0"
;;
zyxel,p-2812hnu-f1|zyxel,p-2812hnu-f3)
lan_mac=$(mtd_get_mac_ascii uboot-env ethaddr)
wan_mac=$(macaddr_add "$lan_mac" 1)
ucidef_add_switch "switch0" \
"0:lan" "1:lan" "2:lan" "4:lan" "5:wan" "6t@eth0"
;;
tplink,tdw8970|tplink,tdw8980)
wan_mac=$(macaddr_add "$(mtd_get_mac_binary boardconfig 61696)" 1)
ucidef_add_switch "switch0" \
"0:lan:2" "2:lan:3" "4:lan:4" "5:lan:1" "6t@eth0"
;;
arcadyan,vg3503j)
lan_mac=$(mtd_get_mac_ascii uboot-env ethaddr)
wan_mac=$(macaddr_add "$lan_mac" 1)
ucidef_add_switch "switch0" \
"2:lan:2" "4:lan:1" "6t@eth0"
;;
tplink,vr200v)
wan_mac=$(macaddr_add "$(mtd_get_mac_binary romfile 61696)" 1)
ucidef_add_switch "switch0" \
"0:lan" "2:lan" "4:lan" "5:lan" "6t@eth0"
;;
arcadyan,vgv7510kw22-nor|arcadyan,vgv7510kw22-brn)
annex="b"
wan_mac=$(macaddr_add "$(mtd_get_mac_binary board_config 22)" 2)
ucidef_add_switch "switch0" \
"2:lan:2" "3:lan:1" "4:lan:4" "5:lan:3" "0:wan:5" "6t@eth0"
;;
arcadyan,vgv7519-nor|arcadyan,vgv7519-brn)
wan_mac=$(mtd_get_mac_binary board_config 22)
ucidef_add_switch "switch0" \
"0:lan:4" "1:lan:3" "2:lan:2" "4:lan:1" "5:wan:5" "6t@eth0"
;;
buffalo,wbmr-hp-g300h)
ucidef_add_switch "switch0" \
"0t@eth0" "2:lan" "3:lan" "4:lan" "5:lan"
;;
buffalo,wbmr-300hpd)
lan_mac=$(mtd_get_mac_ascii ubootconfig ethaddr)
wan_mac="$lan_mac"
ucidef_add_switch "switch0" \
"5:lan:2" "2:lan:3" "3:lan:4" "4:wan:1" "6t@eth0"
;;
*)
ucidef_set_interface_lan 'eth0'
;;
esac
ls /lib/modules/$(uname -r)/ltq_atm* 1> /dev/null 2>&1 && \
ucidef_add_atm_bridge "$vpi" "$vci" "$encaps" "$payload" "dsl"
if lantiq_is_vdsl_system; then
ucidef_add_vdsl_modem "$annex" "$tone" "$xfer_mode"
else
ucidef_add_adsl_modem "$annex" "/lib/firmware/adsl.bin"
fi
ucidef_set_interface_wan "$interface_wan" "pppoe"
[ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" "$lan_mac"
[ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" "$wan_mac"
board_config_flush
exit 0

View File

@@ -0,0 +1,37 @@
#!/bin/sh
# Copyright (C) 2010-2015 OpenWrt.org
. /lib/functions/leds.sh
boot="$(get_dt_led boot)"
failsafe="$(get_dt_led failsafe)"
running="$(get_dt_led running)"
set_state() {
status_led="$boot"
case "$1" in
preinit)
status_led_blink_preinit
;;
failsafe)
status_led_off
[ -n "$running" ] && {
status_led="$running"
status_led_off
}
status_led="$failsafe"
status_led_blink_failsafe
;;
preinit_regular)
status_led_blink_preinit_regular
;;
done)
status_led_off
[ -n "$running" ] && {
status_led="$running"
status_led_on
}
;;
esac
}

View File

@@ -0,0 +1,30 @@
#!/bin/sh
[ "$DSL_NOTIFICATION_TYPE" = "DSL_INTERFACE_STATUS" ] || exit 0
. /lib/functions.sh
. /lib/functions/leds.sh
led_dsl_up() {
case "$(config_get led_dsl trigger)" in
"netdev")
led_set_attr $1 "trigger" "netdev"
led_set_attr $1 "device_name" "$(config_get led_dsl dev)"
led_set_attr $1 "mode" "$(config_get led_dsl mode)"
;;
*)
led_on $1
;;
esac
}
config_load system
config_get led led_dsl sysfs
if [ -n "$led" ]; then
case "$DSL_INTERFACE_STATUS" in
"HANDSHAKE") led_timer $led 500 500;;
"TRAINING") led_timer $led 200 200;;
"UP") led_dsl_up $led;;
*) led_off $led
esac
fi

View File

@@ -0,0 +1,37 @@
#!/bin/sh
[ "$DSL_NOTIFICATION_TYPE" = "DSL_INTERFACE_STATUS" ] || exit 0
. /usr/share/libubox/jshn.sh
. /lib/functions.sh
include /lib/network
scan_interfaces
interfaces=`ubus list network.interface.\* | cut -d"." -f3`
for ifc in $interfaces; do
json_load "$(ifstatus $ifc)"
json_get_var proto proto
if [ "$proto" != "pppoa" ]; then
continue
fi
json_get_var up up
config_get_bool auto "$ifc" auto 1
if [ "$DSL_INTERFACE_STATUS" = "UP" ]; then
if [ "$up" != 1 ] && [ "$auto" = 1 ]; then
( sleep 1; ifup "$ifc" ) &
fi
else
if [ "$up" = 1 ] && [ "$auto" = 1 ]; then
( sleep 1; ifdown "$ifc" ) &
else
json_get_var autostart autostart
if [ "$up" != 1 ] && [ "$autostart" = 1 ]; then
( sleep 1; ifdown "$ifc" ) &
fi
fi
fi
done

View File

@@ -0,0 +1,50 @@
#!/bin/sh
# Based on ar71xx 11-ath10k-caldata and 10-rt2x00-eeprom
[ -e /lib/firmware/$FIRMWARE ] && exit 0
. /lib/functions.sh
. /lib/functions/system.sh
. /lib/upgrade/nand.sh
ath10k_caldata_die() {
echo "ath10k caldata: " "$*"
exit 1
}
ath10k_caldata_extract_ubi() {
local part=$1
local offset=$2
local count=$3
local ubidev=$(nand_find_ubi $CI_UBIPART)
local ubi
ubi=$(nand_find_volume $ubidev $part)
[ -n "$ubi" ] || \
ath10k_caldata_die "no UBI volume found for $part"
dd if=/dev/$ubi of=/lib/firmware/$FIRMWARE bs=1 skip=$offset count=$count 2>/dev/null || \
ath10k_caldata_die "failed to extract from $ubi"
}
ath10k_caldata_set_macaddr() {
local macaddr=$1
macaddr_2bin $macaddr | dd of=/lib/firmware/$FIRMWARE \
conv=notrunc bs=1 seek=6 count=6
}
case "$FIRMWARE" in
"ath10k/cal-pci-0000:02:00.0.bin")
board=$(board_name)
case $board in
bt,homehub-v5a)
ath10k_caldata_extract_ubi "caldata" 20480 2116
ath10k_caldata_set_macaddr $(macaddr_add $(mtd_get_mac_binary_ubi caldata 4364) +3)
;;
*)
ath10k_caldata_die "board $board is not supported yet"
;;
esac
;;
esac

View File

@@ -0,0 +1,152 @@
#!/bin/sh
# Based on ar71xx 10-ath9k-eeprom
[ -e /lib/firmware/$FIRMWARE ] && exit 0
. /lib/functions.sh
. /lib/functions/system.sh
. /lib/upgrade/nand.sh
# xor multiple hex values of the same length
xor() {
local val
local ret="0x$1"
local retlen=${#1}
shift
while [ -n "$1" ]; do
val="0x$1"
ret=$((ret ^ val))
shift
done
printf "%0${retlen}x" "$ret"
}
ath9k_eeprom_die() {
echo "ath9k eeprom: $*"
exit 1
}
ath9k_eeprom_extract_raw() {
local source=$1
local offset=$2
local swap=$3
local size=4096
local bs=1
local conv=
if [ $swap -gt 0 ]; then
bs=2
conv="conv=swab"
size=$((size / bs))
offset=$((offset / bs))
fi
dd if=$source of=/lib/firmware/$FIRMWARE bs=$bs skip=$offset count=$size $conv 2>/dev/null || \
ath9k_eeprom_die "failed to extract from $mtd"
}
ath9k_eeprom_extract() {
local part=$1
local offset=$2
local swap=$3
local mtd
mtd=$(find_mtd_chardev $part)
[ -n "$mtd" ] || \
ath9k_eeprom_die "no mtd device found for partition $part"
ath9k_eeprom_extract_raw $mtd $offset $swap
}
ath9k_ubi_eeprom_extract() {
local part=$1
local offset=$2
local swap=$3
local ubidev=$(nand_find_ubi $CI_UBIPART)
local ubi
ubi=$(nand_find_volume $ubidev $part)
[ -n "$ubi" ] || \
ath9k_eeprom_die "no UBI volume found for $part"
ath9k_eeprom_extract_raw /dev/$ubi $offset $swap
}
ath9k_patch_fw_mac_crc() {
local mac=$1
local mac_offset=$2
local chksum_offset=$((mac_offset - 10))
ath9k_patch_fw_mac "${mac}" "${mac_offset}" "${chksum_offset}"
}
ath9k_patch_fw_mac() {
local mac=$1
local mac_offset=$2
local chksum_offset=$3
local xor_mac
local xor_fw_mac
local xor_fw_chksum
[ -z "$mac" -o -z "$mac_offset" ] && return
[ -n "$chksum_offset" ] && {
xor_mac=${mac//:/}
xor_mac="${xor_mac:0:4} ${xor_mac:4:4} ${xor_mac:8:4}"
xor_fw_mac=$(hexdump -v -n 6 -s $mac_offset -e '/1 "%02x"' /lib/firmware/$FIRMWARE)
xor_fw_mac="${xor_fw_mac:0:4} ${xor_fw_mac:4:4} ${xor_fw_mac:8:4}"
xor_fw_chksum=$(hexdump -v -n 2 -s $chksum_offset -e '/1 "%02x"' /lib/firmware/$FIRMWARE)
xor_fw_chksum=$(xor $xor_fw_chksum $xor_fw_mac $xor_mac)
printf "%b" "\x${xor_fw_chksum:0:2}\x${xor_fw_chksum:2:2}" | \
dd of=/lib/firmware/$FIRMWARE conv=notrunc bs=1 seek=$chksum_offset count=2
}
macaddr_2bin $mac | dd of=/lib/firmware/$FIRMWARE conv=notrunc bs=1 seek=$mac_offset count=6
}
case "$FIRMWARE" in
"ath9k-eeprom-pci-0000:00:0e.0.bin" | \
"ath9k-eeprom-pci-0000:01:00.0.bin" | \
"ath9k-eeprom-pci-0000:02:00.0.bin")
board=$(board_name)
case "$board" in
arcadyan,arv7518pw)
ath9k_eeprom_extract "boardconfig" 1024 1
;;
arcadyan,arv8539pw22)
ath9k_eeprom_extract "art" 1024 1
;;
bt,homehub-v2b)
ath9k_eeprom_extract "art" 0 1
ath9k_patch_fw_mac_crc "00:00:00:00:00:00" 524
;;
bt,homehub-v3a)
ath9k_eeprom_extract "art-copy" 0 1
ath9k_patch_fw_mac_crc $(macaddr_add $(mtd_get_mac_ascii uboot_env ethaddr) +2) 268
;;
bt,homehub-v5a)
ath9k_ubi_eeprom_extract "caldata" 4096 0
ath9k_patch_fw_mac_crc $(macaddr_add $(mtd_get_mac_binary_ubi caldata 4364) +2) 268
;;
netgear,dgn3500|netgear,dgn3500b)
ath9k_eeprom_extract "calibration" 61440 0
ath9k_patch_fw_mac_crc $(macaddr_add $(mtd_get_mac_ascii uboot-env ethaddr) +2) 524
;;
avm,fritz3370|avm,fritz7320|avm,fritz7360sl)
ath9k_eeprom_extract "urlader" 2437 0
;;
tplink,tdw8970|tplink,tdw8980)
ath9k_eeprom_extract "boardconfig" 135168 0
;;
*)
ath9k_eeprom_die "board $board is not supported yet"
;;
esac
;;
esac

View File

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

View File

@@ -0,0 +1,82 @@
#!/bin/sh
#
# Copyright (C) 2013 OpenWrt.org
#
LED_OPTIONS_CHANGED=0
. /lib/functions.sh
do_led_update_sysfs()
{
local cfg=$1; shift
local tuples="$@"
local sysfs
local name
config_get sysfs $cfg sysfs
config_get name $cfg name
[ -z "$sysfs" ] && return
for tuple in $tuples; do
local old=${tuple%=*}
local new=${tuple#*=}
local new_sysfs
new_sysfs=$(echo ${sysfs} | sed "s/${old}/${new}/")
[ "$new_sysfs" = "$sysfs" ] && continue
uci set system.${cfg}.sysfs="${new_sysfs}"
LED_OPTIONS_CHANGED=1
logger -t led-migration "sysfs option of LED \"${name}\" updated to ${new_sysfs}"
done;
}
do_internet_led_rename()
{
config_load system
[ -n $(config_get led_internet name) ] || return
[ -z $(config_get led_dsl name) ] || return
uci rename system.led_internet=led_dsl
uci set system.led_dsl.name=dsl
LED_OPTIONS_CHANGED=1
logger -t led-migration "internet led renamed to dsl"
}
migrate_leds()
{
config_load system
config_foreach do_led_update_sysfs led "$@"
}
case "$(board_name)" in
arcadyan,arv452cqw|\
arcadyan,arv7510pw22|\
arcadyan,arv7519rw22|\
arcadyan,arv752dpw|\
arcadyan,arv752dpw22|\
alphanetworks,asl56026|\
bt,homehub-v2b|\
bt,homehub-v3a|\
bt,homehub-v5a|\
avm,fritz7360sl|\
arcadyan,vg3503j)
do_internet_led_rename
;;
netgear,dgn3500|\
netgear,dgn3500b)
migrate_leds "dgn3500:blue:wireless=dgn3500:green:wireless"
;;
*)
;;
esac
[ "$LED_OPTIONS_CHANGED" = "1" ] && uci commit system
exit 0

View File

@@ -0,0 +1,67 @@
#!/bin/sh
. /lib/functions.sh
. /lib/functions/lantiq.sh
IFNAME_CHANGED=0
rename_xdsl_ifname()
{
local cfg="$1"
local section="$2"
local option="$3"
local name
config_get name ${section} $option
case $name in
nas0*)
name=${name/nas0/dsl0}
;;
ptm0*)
name=${name/ptm0/dsl0}
;;
*)
return
;;
esac
uci set ${cfg}.${section}.$option=$name
IFNAME_CHANGED=1
}
add_atm_bridge_nameprefix()
{
local cfg="$1"
config_get nameprefix "$cfg" nameprefix
[ -z "$nameprefix" ] || return
uci set network.${cfg}.nameprefix="dsl"
IFNAME_CHANGED=1
}
migrate_network_xdsl_ifname()
{
rename_xdsl_ifname network "$1" ifname
rename_xdsl_ifname network "$1" name
}
migrate_led_xdsl_ifname()
{
rename_xdsl_ifname system "$1" dev
}
config_load network
config_foreach migrate_network_xdsl_ifname
config_foreach add_atm_bridge_nameprefix atm-bridge
[ "$IFNAME_CHANGED" = "1" ] && uci commit network
IFNAME_CHANGED=0
config_load system
config_foreach migrate_led_xdsl_ifname led
[ "$IFNAME_CHANGED" = "1" ] && uci commit system
exit 0

View File

@@ -0,0 +1,5 @@
#!/bin/sh
lantiq_is_vdsl_system() {
grep -qE "system type.*: (VR9|xRX200)" /proc/cpuinfo
}

View File

@@ -0,0 +1,747 @@
#!/bin/sh /etc/rc.common
# Copyright (C) 2012-2014 OpenWrt.org
if [ "$( which vdsl_cpe_control )" ]; then
XDSL_CTRL=vdsl_cpe_control
else
XDSL_CTRL=dsl_cpe_control
fi
#
# Basic functions to send CLI commands to the vdsl_cpe_control daemon
#
dsl_cmd() {
killall -q -0 ${XDSL_CTRL} && (
lock /var/lock/dsl_pipe
echo "$@" > /tmp/pipe/dsl_cpe0_cmd
cat /tmp/pipe/dsl_cpe0_ack
lock -u /var/lock/dsl_pipe
)
}
dsl_val() {
echo $(expr "$1" : '.*'$2'=\([-\.[:alnum:]]*\).*')
}
dsl_string() {
echo $(expr "$1" : '.*'$2'=(\([A-Z0-9,]*\))')
}
#
# Simple divide by 10 routine to cope with one decimal place
#
dbt() {
local a=$(expr $1 / 10)
local b=$(expr $1 % 10)
echo "${a}.${b#-}"
}
#
# Take a number and convert to k or meg
#
scale() {
local val=$1
local a
local b
if [ "$val" -gt 1000000 ]; then
a=$(expr $val / 1000)
b=$(expr $a % 1000)
a=$(expr $a / 1000)
printf "%d.%03d Mb" ${a} ${b}
elif [ "$val" -gt 1000 ]; then
a=$(expr $val / 1000)
printf "%d Kb" ${a}
else
echo "${val} b"
fi
}
scale_latency() {
local val=$1
local a
local b
a=$(expr $val / 100)
b=$(expr $val % 100)
printf "%d.%d ms" ${a} ${b}
}
#
# convert vendorid into human readable form
#
parse_vendorid() {
local val=$1
local name
local version
case "$val" in
B5,00,41,4C,43,42*)
name="Alcatel"
version=${val##*B5,00,41,4C,43,42,}
;;
B5,00,41,4E,44,56*)
name="Analog Devices"
version=${val##*B5,00,41,4E,44,56,}
;;
B5,00,42,44,43,4D*)
name="Broadcom"
version=${val##*B5,00,42,44,43,4D,}
;;
B5,00,43,45,4E,54*)
name="Centillium"
version=${val##*B5,00,43,45,4E,54,}
;;
B5,00,47,53,50,4E*)
name="Globespan"
version=${val##*B5,00,47,53,50,4E,}
;;
B5,00,49,4B,4E,53*)
name="Ikanos"
version=${val##*B5,00,49,4B,4E,53,}
;;
B5,00,49,46,54,4E*)
name="Infineon"
version=${val##*B5,00,49,46,54,4E,}
;;
B5,00,54,53,54,43*)
name="Texas Instruments"
version=${val##*B5,00,54,53,54,43,}
;;
B5,00,54,4D,4D,42*)
name="Thomson MultiMedia Broadband"
version=${val##*B5,00,54,4D,4D,42,}
;;
B5,00,54,43,54,4E*)
name="Trend Chip Technologies"
version=${val##*B5,00,54,43,54,4E,}
;;
B5,00,53,54,4D,49*)
name="ST Micro"
version=${val##*B5,00,53,54,4D,49,}
;;
esac
[ -n "$name" ] && {
val="$name"
[ "$version" != "00,00" ] && val="$(printf "%s %d.%d" "$val" 0x${version//,/ 0x})"
}
echo "$val"
}
#
# Read the data rates for both directions
#
data_rates() {
local csg
local dru
local drd
local sdru
local sdrd
csg=$(dsl_cmd g997csg 0 1)
drd=$(dsl_val "$csg" ActualDataRate)
csg=$(dsl_cmd g997csg 0 0)
dru=$(dsl_val "$csg" ActualDataRate)
[ -z "$drd" ] && drd=0
[ -z "$dru" ] && dru=0
sdrd=$(scale $drd)
sdru=$(scale $dru)
if [ "$action" = "lucistat" ]; then
echo "dsl.data_rate_down=$drd"
echo "dsl.data_rate_up=$dru"
echo "dsl.data_rate_down_s=\"$sdrd\""
echo "dsl.data_rate_up_s=\"$sdru\""
else
echo "Data Rate: Down: ${sdrd}/s / Up: ${sdru}/s"
fi
}
#
# Chipset
#
chipset() {
local vig
local cs
vig=$(dsl_cmd vig)
cs=$(dsl_val "$vig" DSL_ChipSetType)
csfw=$(dsl_val "$vig" DSL_ChipSetFWVersion)
csapi=$(dsl_val "$vig" DSL_DriverVersionApi)
if [ "$action" = "lucistat" ]; then
echo "dsl.chipset=\"${cs}\""
echo "dsl.firmware_version=\"${csfw}\""
echo "dsl.api_version=\"${csapi}\""
else
echo "Chipset: ${cs}"
echo "Firmware Version: ${csfw}"
echo "API Version: ${csapi}"
fi
}
#
# Vendor information
#
vendor() {
local lig
local vid
local svid
lig=$(dsl_cmd g997lig 1)
vid=$(dsl_string "$lig" G994VendorID)
svid=$(dsl_string "$lig" SystemVendorID)
vid=$(parse_vendorid $vid)
svid=$(parse_vendorid $svid)
if [ "$action" = "lucistat" ]; then
echo "dsl.atuc_vendor_id=\"${vid}\""
echo "dsl.atuc_system_vendor_id=\"${svid}\""
else
echo "ATU-C Vendor ID: ${vid}"
echo "ATU-C System Vendor ID: ${svid}"
fi
}
#
# XTSE capabilities
#
xtse() {
local xtusesg
local xtse1
local xtse2
local xtse3
local xtse4
local xtse5
local xtse6
local xtse7
local xtse8
local xtse_s=""
local annex_s=""
local line_mode_s=""
local vector_s=""
local dsmsg=""
local cmd=""
xtusesg=$(dsl_cmd g997xtusesg)
xtse1=$(dsl_val "$xtusesg" XTSE1)
xtse2=$(dsl_val "$xtusesg" XTSE2)
xtse3=$(dsl_val "$xtusesg" XTSE3)
xtse4=$(dsl_val "$xtusesg" XTSE4)
xtse5=$(dsl_val "$xtusesg" XTSE5)
xtse6=$(dsl_val "$xtusesg" XTSE6)
xtse7=$(dsl_val "$xtusesg" XTSE7)
xtse8=$(dsl_val "$xtusesg" XTSE8)
# Evaluate Annex (according to G.997.1, 7.3.1.1.1)
if [ $((xtse1 & 13)) != 0 \
-o $((xtse2 & 1)) != 0 \
-o $((xtse3 & 12)) != 0 \
-o $((xtse4 & 3)) != 0 \
-o $((xtse6 & 3)) != 0 \
-o $((xtse8 & 1)) != 0 ]; then
annex_s=" A,"
fi
if [ $((xtse1 & 48)) != 0 \
-o $((xtse2 & 2)) != 0 \
-o $((xtse3 & 48)) != 0 \
-o $((xtse6 & 12)) != 0 \
-o $((xtse8 & 2)) != 0 ]; then
annex_s="$annex_s B,"
fi
if [ $((xtse1 & 194)) != 0 \
-o $((xtse2 & 12)) != 0 \
-o $((xtse8 & 4)) != 0 ]; then
annex_s="$annex_s C,"
fi
if [ $((xtse4 & 48)) != 0 \
-o $((xtse5 & 3)) != 0 \
-o $((xtse6 & 192)) != 0 ]; then
annex_s="$annex_s I,"
fi
if [ $((xtse4 & 192)) != 0 \
-o $((xtse7 & 3)) != 0 ]; then
annex_s="$annex_s J,"
fi
if [ $((xtse5 & 60)) != 0 ]; then
annex_s="$annex_s L,"
fi
if [ $((xtse5 & 192)) != 0 \
-o $((xtse7 & 12)) != 0 ]; then
annex_s="$annex_s M,"
fi
annex_s=`echo ${annex_s:1}`
annex_s=`echo ${annex_s%?}`
# Evaluate Line Mode (according to G.997.1, 7.3.1.1.1)
# Regional standard: ANSI T1.413
if [ $((xtse1 & 1)) != 0 ]; then
line_mode_s=" T1.413,"
fi
# Regional standard: TS 101 388
if [ $((xtse1 & 1)) != 0 ]; then
line_mode_s="$line_mode_s TS 101 388,"
fi
if [ $((xtse1 & 252)) != 0 ]; then
line_mode_s="$line_mode_s G.992.1 (ADSL),"
fi
if [ $((xtse2 & 15)) != 0 ]; then
line_mode_s="$line_mode_s G.992.2 (ADSL lite),"
fi
if [ $((xtse3 & 60)) != 0 \
-o $((xtse4 & 240)) != 0 \
-o $((xtse5 & 252)) != 0 ]; then
line_mode_s="$line_mode_s G.992.3 (ADSL2),"
fi
if [ $((xtse4 & 3)) != 0 \
-o $((xtse5 & 3)) != 0 ]; then
line_mode_s="$line_mode_s G.992.4 (ADSL2 lite),"
fi
if [ $((xtse6 & 199)) != 0 \
-o $((xtse7 & 15)) != 0 ]; then
line_mode_s="$line_mode_s G.992.5 (ADSL2+),"
fi
if [ $((xtse8 & 7)) != 0 ]; then
dsmsg=$(dsl_cmd dsmsg)
vector_s=$(dsl_val "$dsmsg" eVectorStatus)
case "$vector_s" in
"0") line_mode_s="$line_mode_s G.993.2 (VDSL2)," ;;
"1") line_mode_s="$line_mode_s G.993.5 (VDSL2 with downstream vectoring)," ;;
"2") line_mode_s="$line_mode_s G.993.5 (VDSL2 with down- and upstream vectoring)," ;;
*) line_mode_s="$line_mode_s unknown," ;;
esac
fi
#!!! PROPRIETARY & INTERMEDIATE USE !!!
if [ $((xtse8 & 128)) != 0 ]; then
line_mode_s="$line_mode_s G.993.1 (VDSL),"
fi
line_mode_s=`echo ${line_mode_s:1}`
line_mode_s=`echo ${line_mode_s%?}`
xtse_s="${xtse1}, ${xtse2}, ${xtse3}, ${xtse4}, ${xtse5}, ${xtse6}, ${xtse7}, ${xtse8}"
if [ "$action" = "lucistat" ]; then
echo "dsl.xtse1=${xtse1:-nil}"
echo "dsl.xtse2=${xtse2:-nil}"
echo "dsl.xtse3=${xtse3:-nil}"
echo "dsl.xtse4=${xtse4:-nil}"
echo "dsl.xtse5=${xtse5:-nil}"
echo "dsl.xtse6=${xtse6:-nil}"
echo "dsl.xtse7=${xtse7:-nil}"
echo "dsl.xtse8=${xtse8:-nil}"
echo "dsl.xtse_s=\"$xtse_s\""
echo "dsl.annex_s=\"${annex_s}\""
echo "dsl.line_mode_s=\"${line_mode_s}\""
else
echo "XTSE Capabilities: ${xtse_s}"
echo "Annex: ${annex_s}"
echo "Line Mode: ${line_mode_s}"
fi
}
#
# Power Management Mode
#
power_mode() {
local pmsg=$(dsl_cmd g997pmsg)
local pm=$(dsl_val "$pmsg" nPowerManagementStatus);
local s;
case "$pm" in
"-1") s="Power management state is not available" ;;
"0") s="L0 - Synchronized" ;;
"1") s="L1 - Power Down Data transmission (G.992.2)" ;;
"2") s="L2 - Power Down Data transmission (G.992.3 and G.992.4)" ;;
"3") s="L3 - No power" ;;
*) s="unknown" ;;
esac
if [ "$action" = "lucistat" ]; then
echo "dsl.power_mode_num=${pm:-nil}"
echo "dsl.power_mode_s=\"$s\""
else
echo "Power Management Mode: $s"
fi
}
#
# Latency type (interleave delay)
#
latency_delay() {
local csg
local idu
local idu_s;
local sidu
local idd
local idd_s;
local sidd
csg=$(dsl_cmd g997csg 0 1)
idd=$(dsl_val "$csg" ActualInterleaveDelay)
csg=$(dsl_cmd g997csg 0 0)
idu=$(dsl_val "$csg" ActualInterleaveDelay)
[ -z "$idd" ] && idd=0
[ -z "$idu" ] && idu=0
if [ "$idd" -gt 100 ]; then
idd_s="Interleave"
else
idd_s="Fast"
fi
if [ "$idu" -gt 100 ]; then
idu_s="Interleave"
else
idu_s="Fast"
fi
sidu=$(scale_latency $idu)
sidd=$(scale_latency $idd)
if [ "$action" = "lucistat" ]; then
echo "dsl.latency_num_down=\"$sidd\""
echo "dsl.latency_num_up=\"$sidu\""
echo "dsl.latency_s_down=\"$idd_s\""
echo "dsl.latency_s_up=\"$idu_s\""
else
echo "Latency [Interleave Delay]: ${sidd} [${idd_s}] ${sidu} [${idu_s}]"
fi
}
#
# Errors
#
errors() {
local lsctg
local dpctg
local ccsg
local esf
local esn
local sesf
local sesn
local lossf
local lossn
local uasf
local uasn
local crc_pf
local crc_pn
local crcp_pf
local crcp_pn
local hecf
local hecn
local fecn
local fecf
lsctg=$(dsl_cmd pmlsctg 1)
esf=$(dsl_val "$lsctg" nES)
sesf=$(dsl_val "$lsctg" nSES)
lossf=$(dsl_val "$lsctg" nLOSS)
uasf=$(dsl_val "$lsctg" nUAS)
lsctg=$(dsl_cmd pmlsctg 0)
esn=$(dsl_val "$lsctg" nES)
sesn=$(dsl_val "$lsctg" nSES)
lossn=$(dsl_val "$lsctg" nLOSS)
uasn=$(dsl_val "$lsctg" nUAS)
dpctg=$(dsl_cmd pmdpctg 0 1)
hecf=$(dsl_val "$dpctg" nHEC)
crc_pf=$(dsl_val "$dpctg" nCRC_P)
crcp_pf=$(dsl_val "$dpctg" nCRCP_P)
dpctg=$(dsl_cmd pmdpctg 0 0)
hecn=$(dsl_val "$dpctg" nHEC)
crc_pn=$(dsl_val "$dpctg" nCRC_P)
crcp_pn=$(dsl_val "$dpctg" nCRCP_P)
ccsg=$(dsl_cmd pmccsg 0 1 0)
fecf=$(dsl_val "$ccsg" nFEC)
ccsg=$(dsl_cmd pmccsg 0 0 0)
fecn=$(dsl_val "$ccsg" nFEC)
if [ "$action" = "lucistat" ]; then
echo "dsl.errors_fec_near=${fecn:-nil}"
echo "dsl.errors_fec_far=${fecf:-nil}"
echo "dsl.errors_es_near=${esn:-nil}"
echo "dsl.errors_es_far=${esf:-nil}"
echo "dsl.errors_ses_near=${sesn:-nil}"
echo "dsl.errors_ses_far=${sesf:-nil}"
echo "dsl.errors_loss_near=${lossn:-nil}"
echo "dsl.errors_loss_far=${lossf:-nil}"
echo "dsl.errors_uas_near=${uasn:-nil}"
echo "dsl.errors_uas_far=${uasf:-nil}"
echo "dsl.errors_hec_near=${hecn:-nil}"
echo "dsl.errors_hec_far=${hecf:-nil}"
echo "dsl.errors_crc_p_near=${crc_pn:-nil}"
echo "dsl.errors_crc_p_far=${crc_pf:-nil}"
echo "dsl.errors_crcp_p_near=${crcp_pn:-nil}"
echo "dsl.errors_crcp_p_far=${crcp_pf:-nil}"
else
echo "Forward Error Correction Seconds (FECS): Near: ${fecn} / Far: ${fecf}"
echo "Errored seconds (ES): Near: ${esn} / Far: ${esf}"
echo "Severely Errored Seconds (SES): Near: ${sesn} / Far: ${sesf}"
echo "Loss of Signal Seconds (LOSS): Near: ${lossn} / Far: ${lossf}"
echo "Unavailable Seconds (UAS): Near: ${uasn} / Far: ${uasf}"
echo "Header Error Code Errors (HEC): Near: ${hecn} / Far: ${hecf}"
echo "Non Pre-emtive CRC errors (CRC_P): Near: ${crc_pn} / Far: ${crc_pf}"
echo "Pre-emtive CRC errors (CRCP_P): Near: ${crcp_pn} / Far: ${crcp_pf}"
fi
}
#
# Work out how long the line has been up
#
line_uptime() {
local ccsg
local et
local etr
local d
local h
local m
local s
local rc=""
ccsg=$(dsl_cmd pmccsg 0 0 0)
et=$(dsl_val "$ccsg" nElapsedTime)
[ -z "$et" ] && et=0
d=$(expr $et / 86400)
etr=$(expr $et % 86400)
h=$(expr $etr / 3600)
etr=$(expr $etr % 3600)
m=$(expr $etr / 60)
s=$(expr $etr % 60)
[ "${d}${h}${m}${s}" -ne 0 ] && rc="${s}s"
[ "${d}${h}${m}" -ne 0 ] && rc="${m}m ${rc}"
[ "${d}${h}" -ne 0 ] && rc="${h}h ${rc}"
[ "${d}" -ne 0 ] && rc="${d}d ${rc}"
[ -z "$rc" ] && rc="down"
if [ "$action" = "lucistat" ]; then
echo "dsl.line_uptime=${et}"
echo "dsl.line_uptime_s=\"${rc}\""
else
echo "Line Uptime Seconds: ${et}"
echo "Line Uptime: ${rc}"
fi
}
#
# Get noise and attenuation figures
#
line_data() {
local lsg
local latnu
local latnd
local satnu
local satnd
local snru
local snrd
local attndru
local attndrd
local sattndru
local sattndrd
local actatpu
local actatpd
lsg=$(dsl_cmd g997lsg 1 1)
latnd=$(dsl_val "$lsg" LATN)
satnd=$(dsl_val "$lsg" SATN)
snrd=$(dsl_val "$lsg" SNR)
attndrd=$(dsl_val "$lsg" ATTNDR)
actatpd=$(dsl_val "$lsg" ACTATP)
lsg=$(dsl_cmd g997lsg 0 1)
latnu=$(dsl_val "$lsg" LATN)
satnu=$(dsl_val "$lsg" SATN)
snru=$(dsl_val "$lsg" SNR)
attndru=$(dsl_val "$lsg" ATTNDR)
actatpu=$(dsl_val "$lsg" ACTATP)
[ -z "$latnd" ] && latnd=0
[ -z "$latnu" ] && latnu=0
[ -z "$satnd" ] && satnd=0
[ -z "$satnu" ] && satnu=0
[ -z "$snrd" ] && snrd=0
[ -z "$snru" ] && snru=0
[ -z "$actatpd" ] && actatpd=0
[ -z "$actatpu" ] && actatpu=0
latnd=$(dbt $latnd)
latnu=$(dbt $latnu)
satnd=$(dbt $satnd)
satnu=$(dbt $satnu)
snrd=$(dbt $snrd)
snru=$(dbt $snru)
actatpd=$(dbt $actatpd)
actatpu=$(dbt $actatpu)
[ -z "$attndrd" ] && attndrd=0
[ -z "$attndru" ] && attndru=0
sattndrd=$(scale $attndrd)
sattndru=$(scale $attndru)
if [ "$action" = "lucistat" ]; then
echo "dsl.line_attenuation_down=\"$latnd\""
echo "dsl.line_attenuation_up=\"$latnu\""
echo "dsl.noise_margin_down=\"$snrd\""
echo "dsl.noise_margin_up=\"$snru\""
echo "dsl.signal_attenuation_down=\"$satnd\""
echo "dsl.signal_attenuation_up=\"$satnu\""
echo "dsl.actatp_down=\"$actatpd\""
echo "dsl.actatp_up=\"$actatpu\""
echo "dsl.max_data_rate_down=$attndrd"
echo "dsl.max_data_rate_up=$attndru"
echo "dsl.max_data_rate_down_s=\"$sattndrd\""
echo "dsl.max_data_rate_up_s=\"$sattndru\""
else
echo "Line Attenuation (LATN): Down: ${latnd} dB / Up: ${latnu} dB"
echo "Signal Attenuation (SATN): Down: ${satnd} dB / Up: ${satnu} dB"
echo "Noise Margin (SNR): Down: ${snrd} dB / Up: ${snru} dB"
echo "Aggregate Transmit Power (ACTATP): Down: ${actatpd} dB / Up: ${actatpu} dB"
echo "Max. Attainable Data Rate (ATTNDR): Down: ${sattndrd}/s / Up: ${sattndru}/s"
fi
}
#
# Is the line up? Or what state is it in?
#
line_state() {
local lsg=$(dsl_cmd lsg)
local ls=$(dsl_val "$lsg" nLineState);
local s;
case "$ls" in
"0x0") s="not initialized" ;;
"0x1") s="exception" ;;
"0x10") s="not updated" ;;
"0xff") s="idle request" ;;
"0x100") s="idle" ;;
"0x1ff") s="silent request" ;;
"0x200") s="silent" ;;
"0x300") s="handshake" ;;
"0x380") s="full_init" ;;
"0x400") s="discovery" ;;
"0x500") s="training" ;;
"0x600") s="analysis" ;;
"0x700") s="exchange" ;;
"0x800") s="showtime_no_sync" ;;
"0x801") s="showtime_tc_sync" ;;
"0x900") s="fastretrain" ;;
"0xa00") s="lowpower_l2" ;;
"0xb00") s="loopdiagnostic active" ;;
"0xb10") s="loopdiagnostic data exchange" ;;
"0xb20") s="loopdiagnostic data request" ;;
"0xc00") s="loopdiagnostic complete" ;;
"0x1000000") s="test" ;;
"0xd00") s="resync" ;;
"0x3c0") s="short init entry" ;;
"") s="not running daemon"; ls="0xfff" ;;
*) s="unknown" ;;
esac
if [ "$action" = "lucistat" ]; then
echo "dsl.line_state_num=$ls"
echo "dsl.line_state_detail=\"$s\""
if [ "$ls" = "0x801" ]; then
echo "dsl.line_state=\"UP\""
else
echo "dsl.line_state=\"DOWN\""
fi
else
if [ "$ls" = "0x801" ]; then
echo "Line State: UP [$ls: $s]"
else
echo "Line State: DOWN [$ls: $s]"
fi
fi
}
#
# Which profile is used?
#
profile() {
local bpstg=$(dsl_cmd bpstg)
local profile=$(dsl_val "$bpstg" nProfile);
local s;
case "$profile" in
"0") s="8a" ;;
"1") s="8b" ;;
"2") s="8c" ;;
"3") s="8d" ;;
"4") s="12a" ;;
"5") s="12b" ;;
"6") s="17a" ;;
"7") s="30a" ;;
"8") s="17b" ;;
"") s="";;
*) s="unknown" ;;
esac
if [ "$action" = "lucistat" ]; then
echo "dsl.profile=${profile:-nil}"
echo "dsl.profile_s=\"${s}\""
else
echo "Profile: $s"
fi
}
status() {
vendor
chipset
xtse
profile
line_state
errors
power_mode
latency_delay
data_rates
line_data
line_uptime
}
lucistat() {
echo "local dsl={}"
status
echo "return dsl"
}

View File

@@ -0,0 +1,10 @@
#!/bin/sh
. /lib/functions/lantiq.sh
set_preinit_iface() {
ifname=eth0
}
boot_hook_add preinit_main set_preinit_iface

View File

@@ -0,0 +1,19 @@
PART_NAME=firmware
REQUIRE_IMAGE_METADATA=1
platform_check_image() {
return 0
}
platform_do_upgrade() {
local board=$(board_name)
case "$board" in
bt,homehub-v2b|bt,homehub-v3a|bt,homehub-v5a|zyxel,p-2812hnu-f1|zyxel,p-2812hnu-f3)
nand_do_upgrade $1
;;
*)
default_do_upgrade "$ARGV"
;;
esac
}

View File

@@ -0,0 +1,6 @@
#!/bin/sh
#
# This script is called by dsl_cpe_control whenever there is a DSL event
# and calls any available hotplug script(s) in /etc/hotplug.d/dsl.
exec /sbin/hotplug-call dsl

View File

@@ -0,0 +1,227 @@
CONFIG_ARCH_BINFMT_ELF_STATE=y
CONFIG_ARCH_CLOCKSOURCE_DATA=y
CONFIG_ARCH_DISCARD_MEMBLOCK=y
CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
# CONFIG_ARCH_HAS_GCOV_PROFILE_ALL is not set
CONFIG_ARCH_HAS_RESET_CONTROLLER=y
# CONFIG_ARCH_HAS_SG_CHAIN is not set
# CONFIG_ARCH_HAS_STRICT_KERNEL_RWX is not set
# CONFIG_ARCH_HAS_STRICT_MODULE_RWX is not set
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y
CONFIG_ARCH_MIGHT_HAVE_PC_SERIO=y
CONFIG_ARCH_MMAP_RND_BITS_MAX=15
CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=15
# CONFIG_ARCH_OPTIONAL_KERNEL_RWX is not set
# CONFIG_ARCH_OPTIONAL_KERNEL_RWX_DEFAULT is not set
CONFIG_ARCH_SUPPORTS_UPROBES=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_ARCH_USE_BUILTIN_BSWAP=y
CONFIG_ARCH_USE_QUEUED_RWLOCKS=y
CONFIG_ARCH_USE_QUEUED_SPINLOCKS=y
CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
# CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE is not set
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_CEVT_R4K=y
CONFIG_CLKDEV_LOOKUP=y
CONFIG_CLONE_BACKWARDS=y
CONFIG_CPU_BIG_ENDIAN=y
CONFIG_CPU_GENERIC_DUMP_TLB=y
CONFIG_CPU_HAS_PREFETCH=y
CONFIG_CPU_HAS_RIXI=y
CONFIG_CPU_HAS_SYNC=y
CONFIG_CPU_MIPS32=y
# CONFIG_CPU_MIPS32_R1 is not set
CONFIG_CPU_MIPS32_R2=y
CONFIG_CPU_MIPSR2=y
CONFIG_CPU_NEEDS_NO_SMARTMIPS_OR_MICROMIPS=y
CONFIG_CPU_R4K_CACHE_TLB=y
CONFIG_CPU_R4K_FPU=y
CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y
CONFIG_CPU_SUPPORTS_HIGHMEM=y
CONFIG_CPU_SUPPORTS_MSA=y
CONFIG_CRYPTO_HASH=y
CONFIG_CRYPTO_HASH2=y
CONFIG_CRYPTO_RNG2=y
CONFIG_CRYPTO_WORKQUEUE=y
CONFIG_CSRC_R4K=y
CONFIG_DMA_NONCOHERENT=y
CONFIG_DTC=y
# CONFIG_DT_EASY50712 is not set
CONFIG_EARLY_PRINTK=y
CONFIG_ETHERNET_PACKET_MANGLE=y
CONFIG_FIXED_PHY=y
CONFIG_GENERIC_ATOMIC64=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_GENERIC_CPU_AUTOPROBE=y
CONFIG_GENERIC_IO=y
CONFIG_GENERIC_IRQ_CHIP=y
CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y
CONFIG_GENERIC_IRQ_IPI=y
CONFIG_GENERIC_IRQ_SHOW=y
CONFIG_GENERIC_PCI_IOMAP=y
CONFIG_GENERIC_PHY=y
CONFIG_GENERIC_SCHED_CLOCK=y
CONFIG_GENERIC_SMP_IDLE_THREAD=y
CONFIG_GENERIC_TIME_VSYSCALL=y
CONFIG_GPIOLIB=y
CONFIG_GPIO_MM_LANTIQ=y
CONFIG_GPIO_STP_XWAY=y
CONFIG_GPIO_SYSFS=y
# CONFIG_GRO_CELLS is not set
CONFIG_HANDLE_DOMAIN_IRQ=y
CONFIG_HARDWARE_WATCHPOINTS=y
CONFIG_HAS_DMA=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT_MAP=y
# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set
# CONFIG_HAVE_ARCH_BITREVERSE is not set
CONFIG_HAVE_ARCH_JUMP_LABEL=y
CONFIG_HAVE_ARCH_KGDB=y
CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
CONFIG_HAVE_ARCH_TRACEHOOK=y
# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set
CONFIG_HAVE_CBPF_JIT=y
CONFIG_HAVE_CC_STACKPROTECTOR=y
CONFIG_HAVE_CLK=y
CONFIG_HAVE_CONTEXT_TRACKING=y
CONFIG_HAVE_COPY_THREAD_TLS=y
CONFIG_HAVE_C_RECORDMCOUNT=y
CONFIG_HAVE_DEBUG_KMEMLEAK=y
CONFIG_HAVE_DEBUG_STACKOVERFLOW=y
CONFIG_HAVE_DMA_API_DEBUG=y
CONFIG_HAVE_DMA_CONTIGUOUS=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
CONFIG_HAVE_FUNCTION_TRACER=y
CONFIG_HAVE_GENERIC_DMA_COHERENT=y
CONFIG_HAVE_IDE=y
CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=y
CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
CONFIG_HAVE_KVM=y
CONFIG_HAVE_LATENCYTOP_SUPPORT=y
CONFIG_HAVE_MEMBLOCK=y
CONFIG_HAVE_MEMBLOCK_NODE_MAP=y
CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
CONFIG_HAVE_NET_DSA=y
CONFIG_HAVE_OPROFILE=y
CONFIG_HAVE_PERF_EVENTS=y
CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
CONFIG_HW_HAS_PCI=y
CONFIG_HW_RANDOM=y
CONFIG_HZ=250
# CONFIG_HZ_100 is not set
CONFIG_HZ_250=y
CONFIG_HZ_PERIODIC=y
CONFIG_INITRAMFS_SOURCE=""
CONFIG_IRQCHIP=y
CONFIG_IRQ_DOMAIN=y
CONFIG_IRQ_DOMAIN_HIERARCHY=y
CONFIG_IRQ_FORCED_THREADING=y
CONFIG_IRQ_MIPS_CPU=y
CONFIG_IRQ_WORK=y
CONFIG_LANTIQ=y
CONFIG_LANTIQ_DT_NONE=y
CONFIG_LANTIQ_ETOP=y
CONFIG_LANTIQ_WDT=y
# CONFIG_LANTIQ_XRX200 is not set
CONFIG_LEDS_GPIO=y
CONFIG_LIBFDT=y
CONFIG_MDIO_BUS=y
CONFIG_MDIO_DEVICE=y
CONFIG_MFD_CORE=y
CONFIG_MFD_SYSCON=y
CONFIG_MIPS=y
CONFIG_MIPS_ASID_BITS=8
CONFIG_MIPS_ASID_SHIFT=0
CONFIG_MIPS_CLOCK_VSYSCALL=y
# CONFIG_MIPS_CMDLINE_DTB_EXTEND is not set
# CONFIG_MIPS_CMDLINE_FROM_BOOTLOADER is not set
CONFIG_MIPS_CMDLINE_FROM_DTB=y
# CONFIG_MIPS_ELF_APPENDED_DTB is not set
# CONFIG_MIPS_HUGE_TLB_SUPPORT is not set
CONFIG_MIPS_L1_CACHE_SHIFT=5
# CONFIG_MIPS_MACHINE is not set
# CONFIG_MIPS_MT_SMP is not set
# CONFIG_MIPS_NO_APPENDED_DTB is not set
CONFIG_MIPS_RAW_APPENDED_DTB=y
CONFIG_MIPS_SPRAM=y
# CONFIG_MIPS_VPE_LOADER is not set
CONFIG_MODULES_USE_ELF_REL=y
CONFIG_MTD_CFI_ADV_OPTIONS=y
CONFIG_MTD_CFI_GEOMETRY=y
CONFIG_MTD_CMDLINE_PARTS=y
CONFIG_MTD_JEDECPROBE=y
CONFIG_MTD_LANTIQ=y
CONFIG_MTD_M25P80=y
CONFIG_MTD_SPI_NOR=y
CONFIG_MTD_SPLIT_BRNIMAGE_FW=y
CONFIG_MTD_SPLIT_EVA_FW=y
CONFIG_MTD_SPLIT_FIRMWARE=y
CONFIG_MTD_SPLIT_TPLINK_FW=y
CONFIG_MTD_SPLIT_UIMAGE_FW=y
CONFIG_NEED_DMA_MAP_STATE=y
CONFIG_NEED_PER_CPU_KM=y
CONFIG_NO_GENERIC_PCI_IOPORT_MAP=y
# CONFIG_NO_IOPORT_MAP is not set
CONFIG_OF=y
CONFIG_OF_ADDRESS=y
CONFIG_OF_EARLY_FLATTREE=y
CONFIG_OF_FLATTREE=y
CONFIG_OF_GPIO=y
CONFIG_OF_IRQ=y
CONFIG_OF_MDIO=y
CONFIG_OF_NET=y
CONFIG_PCI_DRIVERS_LEGACY=y
CONFIG_PERF_USE_VMALLOC=y
CONFIG_PGTABLE_LEVELS=2
CONFIG_PHYLIB=y
CONFIG_PHY_LANTIQ_RCU_USB2=y
CONFIG_PINCTRL=y
CONFIG_PINCTRL_LANTIQ=y
# CONFIG_PINCTRL_SINGLE is not set
CONFIG_PINCTRL_XWAY=y
CONFIG_POWER_RESET=y
CONFIG_POWER_RESET_SYSCON=y
CONFIG_PSB6970_PHY=y
# CONFIG_RCU_NEED_SEGCBLIST is not set
# CONFIG_RCU_STALL_COMMON is not set
CONFIG_REGMAP=y
CONFIG_REGMAP_MMIO=y
CONFIG_RESET_CONTROLLER=y
CONFIG_RESET_LANTIQ=y
CONFIG_RTL8366RB_PHY=y
CONFIG_RTL8366_SMI=y
# CONFIG_SCHED_INFO is not set
# CONFIG_SCSI_DMA is not set
# CONFIG_SENSORS_LTQ_CPUTEMP is not set
# CONFIG_SERIAL_8250 is not set
CONFIG_SERIAL_LANTIQ=y
# CONFIG_SOC_AMAZON_SE is not set
# CONFIG_SOC_FALCON is not set
CONFIG_SOC_TYPE_XWAY=y
CONFIG_SOC_XWAY=y
CONFIG_SPI=y
CONFIG_SPI_LANTIQ_SSC=y
CONFIG_SPI_MASTER=y
CONFIG_SRCU=y
CONFIG_SWAP_IO_SPACE=y
CONFIG_SWCONFIG=y
CONFIG_SWPHY=y
CONFIG_SYSCTL_EXCEPTION_TRACE=y
CONFIG_SYS_HAS_CPU_MIPS32_R1=y
CONFIG_SYS_HAS_CPU_MIPS32_R2=y
CONFIG_SYS_HAS_EARLY_PRINTK=y
CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y
CONFIG_SYS_SUPPORTS_ARBIT_HZ=y
CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y
CONFIG_SYS_SUPPORTS_MIPS16=y
CONFIG_SYS_SUPPORTS_MULTITHREADING=y
CONFIG_TICK_CPU_ACCOUNTING=y
CONFIG_TINY_SRCU=y
CONFIG_USE_OF=y
# CONFIG_XRX200_PHY_FW is not set

View File

@@ -0,0 +1,199 @@
CONFIG_ARCH_BINFMT_ELF_STATE=y
CONFIG_ARCH_CLOCKSOURCE_DATA=y
CONFIG_ARCH_DISCARD_MEMBLOCK=y
CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
# CONFIG_ARCH_HAS_GCOV_PROFILE_ALL is not set
CONFIG_ARCH_HAS_RESET_CONTROLLER=y
# CONFIG_ARCH_HAS_SG_CHAIN is not set
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y
CONFIG_ARCH_MIGHT_HAVE_PC_SERIO=y
CONFIG_ARCH_SUPPORTS_UPROBES=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_ARCH_USE_BUILTIN_BSWAP=y
CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
CONFIG_CEVT_R4K=y
CONFIG_CLKDEV_LOOKUP=y
CONFIG_CLONE_BACKWARDS=y
CONFIG_CPU_BIG_ENDIAN=y
CONFIG_CPU_GENERIC_DUMP_TLB=y
CONFIG_CPU_HAS_PREFETCH=y
CONFIG_CPU_HAS_RIXI=y
CONFIG_CPU_HAS_SYNC=y
CONFIG_CPU_MIPS32=y
# CONFIG_CPU_MIPS32_R1 is not set
CONFIG_CPU_MIPS32_R2=y
CONFIG_CPU_MIPSR2=y
CONFIG_CPU_NEEDS_NO_SMARTMIPS_OR_MICROMIPS=y
CONFIG_CPU_R4K_CACHE_TLB=y
CONFIG_CPU_R4K_FPU=y
CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y
CONFIG_CPU_SUPPORTS_HIGHMEM=y
CONFIG_CPU_SUPPORTS_MSA=y
CONFIG_CRYPTO_HASH=y
CONFIG_CRYPTO_HASH2=y
CONFIG_CRYPTO_RNG2=y
CONFIG_CRYPTO_WORKQUEUE=y
CONFIG_CSRC_R4K=y
CONFIG_DMA_NONCOHERENT=y
CONFIG_DTC=y
# CONFIG_DT_EASY50712 is not set
CONFIG_EARLY_PRINTK=y
CONFIG_ETHERNET_PACKET_MANGLE=y
CONFIG_FIXED_PHY=y
CONFIG_GENERIC_ATOMIC64=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_GENERIC_IO=y
CONFIG_GENERIC_IRQ_CHIP=y
CONFIG_GENERIC_IRQ_SHOW=y
CONFIG_GENERIC_PCI_IOMAP=y
CONFIG_GENERIC_SCHED_CLOCK=y
CONFIG_GENERIC_SMP_IDLE_THREAD=y
CONFIG_GENERIC_TIME_VSYSCALL=y
CONFIG_GPIOLIB=y
CONFIG_GPIO_MM_LANTIQ=y
CONFIG_GPIO_STP_XWAY=y
CONFIG_GPIO_SYSFS=y
CONFIG_HANDLE_DOMAIN_IRQ=y
CONFIG_HARDWARE_WATCHPOINTS=y
CONFIG_HAS_DMA=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT_MAP=y
# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set
# CONFIG_HAVE_ARCH_BITREVERSE is not set
CONFIG_HAVE_ARCH_JUMP_LABEL=y
CONFIG_HAVE_ARCH_KGDB=y
CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
CONFIG_HAVE_ARCH_TRACEHOOK=y
# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set
CONFIG_HAVE_CBPF_JIT=y
CONFIG_HAVE_CC_STACKPROTECTOR=y
CONFIG_HAVE_CLK=y
CONFIG_HAVE_CONTEXT_TRACKING=y
CONFIG_HAVE_C_RECORDMCOUNT=y
CONFIG_HAVE_DEBUG_KMEMLEAK=y
CONFIG_HAVE_DEBUG_STACKOVERFLOW=y
CONFIG_HAVE_DMA_API_DEBUG=y
CONFIG_HAVE_DMA_CONTIGUOUS=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
CONFIG_HAVE_FUNCTION_TRACER=y
CONFIG_HAVE_GENERIC_DMA_COHERENT=y
CONFIG_HAVE_IDE=y
CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=y
CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
CONFIG_HAVE_KVM=y
CONFIG_HAVE_LATENCYTOP_SUPPORT=y
CONFIG_HAVE_MEMBLOCK=y
CONFIG_HAVE_MEMBLOCK_NODE_MAP=y
CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
CONFIG_HAVE_NET_DSA=y
CONFIG_HAVE_OPROFILE=y
CONFIG_HAVE_PERF_EVENTS=y
CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
CONFIG_HW_HAS_PCI=y
CONFIG_HW_RANDOM=y
CONFIG_HZ=250
# CONFIG_HZ_100 is not set
CONFIG_HZ_250=y
CONFIG_HZ_PERIODIC=y
CONFIG_INITRAMFS_SOURCE=""
CONFIG_IRQCHIP=y
CONFIG_IRQ_DOMAIN=y
CONFIG_IRQ_FORCED_THREADING=y
CONFIG_IRQ_MIPS_CPU=y
CONFIG_IRQ_WORK=y
CONFIG_LANTIQ=y
CONFIG_LANTIQ_DT_NONE=y
CONFIG_LANTIQ_ETOP=y
CONFIG_LANTIQ_WDT=y
# CONFIG_LANTIQ_XRX200 is not set
CONFIG_LEDS_GPIO=y
CONFIG_LIBFDT=y
CONFIG_MDIO_BOARDINFO=y
CONFIG_MIPS=y
CONFIG_MIPS_ASID_BITS=8
CONFIG_MIPS_ASID_SHIFT=0
CONFIG_MIPS_CLOCK_VSYSCALL=y
# CONFIG_MIPS_CMDLINE_DTB_EXTEND is not set
# CONFIG_MIPS_CMDLINE_FROM_BOOTLOADER is not set
CONFIG_MIPS_CMDLINE_FROM_DTB=y
# CONFIG_MIPS_ELF_APPENDED_DTB is not set
# CONFIG_MIPS_HUGE_TLB_SUPPORT is not set
CONFIG_MIPS_L1_CACHE_SHIFT=5
# CONFIG_MIPS_MACHINE is not set
# CONFIG_MIPS_MT_SMP is not set
# CONFIG_MIPS_NO_APPENDED_DTB is not set
CONFIG_MIPS_RAW_APPENDED_DTB=y
CONFIG_MIPS_SPRAM=y
# CONFIG_MIPS_VPE_LOADER is not set
CONFIG_MODULES_USE_ELF_REL=y
CONFIG_MTD_CFI_ADV_OPTIONS=y
CONFIG_MTD_CFI_GEOMETRY=y
CONFIG_MTD_CMDLINE_PARTS=y
CONFIG_MTD_JEDECPROBE=y
CONFIG_MTD_LANTIQ=y
CONFIG_MTD_M25P80=y
CONFIG_MTD_SPI_NOR=y
CONFIG_MTD_SPLIT_BRNIMAGE_FW=y
CONFIG_MTD_SPLIT_EVA_FW=y
CONFIG_MTD_SPLIT_FIRMWARE=y
CONFIG_MTD_SPLIT_TPLINK_FW=y
CONFIG_MTD_SPLIT_UIMAGE_FW=y
CONFIG_NEED_DMA_MAP_STATE=y
CONFIG_NEED_PER_CPU_KM=y
CONFIG_NO_GENERIC_PCI_IOPORT_MAP=y
# CONFIG_NO_IOPORT_MAP is not set
CONFIG_OF=y
CONFIG_OF_ADDRESS=y
CONFIG_OF_EARLY_FLATTREE=y
CONFIG_OF_FLATTREE=y
CONFIG_OF_GPIO=y
CONFIG_OF_IRQ=y
CONFIG_OF_MDIO=y
CONFIG_OF_NET=y
CONFIG_PCI_DRIVERS_LEGACY=y
CONFIG_PERF_USE_VMALLOC=y
CONFIG_PGTABLE_LEVELS=2
CONFIG_PHYLIB=y
CONFIG_PINCTRL=y
CONFIG_PINCTRL_LANTIQ=y
# CONFIG_PINCTRL_SINGLE is not set
CONFIG_PINCTRL_XWAY=y
CONFIG_PSB6970_PHY=y
# CONFIG_RCU_STALL_COMMON is not set
CONFIG_RESET_CONTROLLER=y
CONFIG_RTL8366RB_PHY=y
CONFIG_RTL8366_SMI=y
# CONFIG_SCHED_INFO is not set
# CONFIG_SCSI_DMA is not set
# CONFIG_SENSORS_LTQ_CPUTEMP is not set
# CONFIG_SERIAL_8250 is not set
CONFIG_SERIAL_LANTIQ=y
# CONFIG_SOC_AMAZON_SE is not set
# CONFIG_SOC_FALCON is not set
CONFIG_SOC_TYPE_XWAY=y
CONFIG_SOC_XWAY=y
CONFIG_SPI=y
CONFIG_SPI_LANTIQ_SSC=y
CONFIG_SPI_MASTER=y
CONFIG_SRCU=y
CONFIG_SWAP_IO_SPACE=y
CONFIG_SWCONFIG=y
CONFIG_SWPHY=y
CONFIG_SYSCTL_EXCEPTION_TRACE=y
CONFIG_SYS_HAS_CPU_MIPS32_R1=y
CONFIG_SYS_HAS_CPU_MIPS32_R2=y
CONFIG_SYS_HAS_EARLY_PRINTK=y
CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y
CONFIG_SYS_SUPPORTS_ARBIT_HZ=y
CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y
CONFIG_SYS_SUPPORTS_MIPS16=y
CONFIG_SYS_SUPPORTS_MULTITHREADING=y
CONFIG_TICK_CPU_ACCOUNTING=y
CONFIG_USE_OF=y
# CONFIG_XRX200_PHY_FW is not set

View File

@@ -0,0 +1,12 @@
# CONFIG_MFD_CORE is not set
CONFIG_MTD_NAND=y
CONFIG_MTD_NAND_ECC=y
CONFIG_MTD_SPLIT_FIRMWARE_NAME="linux"
CONFIG_PINCTRL_FALCON=y
# CONFIG_PSB6970_PHY is not set
# CONFIG_RESET_LANTIQ is not set
# CONFIG_RTL8366_SMI is not set
CONFIG_SOC_FALCON=y
# CONFIG_SOC_TYPE_XWAY is not set
# CONFIG_SOC_XWAY is not set
CONFIG_SPI_FALCON=y

View File

@@ -0,0 +1,10 @@
CONFIG_MTD_NAND=y
CONFIG_MTD_NAND_ECC=y
CONFIG_MTD_SPLIT_FIRMWARE_NAME="linux"
CONFIG_PINCTRL_FALCON=y
# CONFIG_PSB6970_PHY is not set
# CONFIG_RTL8366_SMI is not set
CONFIG_SOC_FALCON=y
# CONFIG_SOC_TYPE_XWAY is not set
# CONFIG_SOC_XWAY is not set
CONFIG_SPI_FALCON=y

View File

@@ -0,0 +1,9 @@
define Profile/Default
NAME:=Default Profile
PRIORITY:=1
endef
define Profile/Default/Description
Default package set compatible with most boards.
endef
$(eval $(call Profile,Default))

View File

@@ -0,0 +1,13 @@
ARCH:=mips
SUBTARGET:=falcon
BOARDNAME:=Falcon
FEATURES:=squashfs nand
CPU_TYPE:=24kc
DEFAULT_PACKAGES+= kmod-leds-gpio \
kmod-gpio-button-hotplug \
kmod-ledtrig-heartbeat
define Target/Description
Lantiq Falcon
endef

View File

@@ -0,0 +1,114 @@
/dts-v1/;
#include "danube.dtsi"
/ {
compatible = "audiocodes,mp-252", "lantiq,xway", "lantiq,danube";
model = "AudioCodes MediaPack MP-252";
chosen {
bootargs = "console=ttyLTQ0,115200";
};
memory@0 {
reg = <0x0 0x4000000>;
};
usb_vbus: regulator-usb-vbus {
compatible = "regulator-fixed";
regulator-name = "USB_VBUS";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
gpio = <&gpio 3 GPIO_ACTIVE_HIGH>;
enable-active-high;
};
};
&gpio {
pinctrl-names = "default";
pinctrl-0 = <&state_default>;
state_default: pinmux {
exin {
lantiq,groups = "exin1";
lantiq,function = "exin";
};
pci {
lantiq,groups = "gnt1", "req1";
lantiq,function = "pci";
};
};
};
&gsw {
phy-mode = "rmii";
};
&localbus {
nor@0 {
compatible = "lantiq,nor";
bank-width = <2>;
reg = <0 0x0 0x2000000>;
#address-cells = <1>;
#size-cells = <1>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "uboot";
reg = <0x0 0x20000>;
read-only;
};
partition@20000 {
label = "uboot_env";
reg = <0x20000 0x20000>;
};
partition@40000 {
label = "boardconfig";
reg = <0x40000 0x60000>;
read-only;
};
partition@a0000 {
label = "firmware";
reg = <0xa0000 0xf20000>;
};
partition@fc0000 {
label = "sysconfig";
reg = <0xfc0000 0x40000>;
};
partition@0x1000000 {
label = "rootfs_data";
reg = <0x1000000 0x1000000>;
};
};
};
};
&pci0 {
status = "okay";
};
&usb_phy {
status = "okay";
phy-supply = <&usb_vbus>;
};
&usb {
status = "okay";
};
&vmmc {
status = "okay";
gpios = <&gpio 31 GPIO_ACTIVE_HIGH>;
};

View File

@@ -0,0 +1,116 @@
/dts-v1/;
#include "amazonse.dtsi"
/ {
compatible = "allnet,all0333cj", "lantiq,xway", "lantiq,ase";
model = "Allnet ALL0333CJ DSL Modem";
chosen {
bootargs = "console=ttyLTQ0,115200";
aliases {
led-boot = &power;
led-failsafe = &power;
led-running = &power;
led-dsl = &dsl;
led-internet = &online_green;
};
};
memory@0 {
reg = <0x0 0x1000000>;
};
gpio-leds {
compatible = "gpio-leds";
/* power led: red=off, green=on */
power: power {
label = "all0333cj:green:power";
gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
default-state = "keep";
};
lan: lan {
label = "all0333cj:green:lan";
gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
};
dsl: dsl {
label = "all0333cj:green:dsl";
gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
};
online_green: online {
label = "all0333cj:green:online";
gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
};
online_red {
label = "all0333cj:red:online";
gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
};
};
};
&gpio {
pinctrl-names = "default";
pinctrl-0 = <&state_default>;
state_default: pinmux {
asc {
lantiq,groups = "asc";
lantiq,function = "asc";
};
keys_in {
lantiq,pins = "io0",/* "io25", */"io29";
lantiq,pull = <2>;
lantiq,open-drain = <1>;
};
};
};
&gsw {
phy-mode = "mii";
};
&localbus {
nor@0 {
compatible = "lantiq,nor";
bank-width = <2>;
reg = <0 0x0 0x400000>;
#address-cells = <1>;
#size-cells = <1>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "uboot";
reg = <0x00000 0x10000>;
read-only;
};
partition@10000 {
label = "firmware";
reg = <0x10000 0x3ef200>;
};
partition@3ff200 {
label = "uboot_env";
reg = <0x3ff200 0xc00>;
read-only;
};
partition@3ffe00 {
label = "dummy_bits";
reg = <0x3ffe00 0x200>;
read-only;
};
};
};
};

View File

@@ -0,0 +1,229 @@
/dts-v1/;
#include "danube.dtsi"
#include <dt-bindings/input/input.h>
/ {
compatible = "arcadyan,arv4510pw", "lantiq,xway", "lantiq,danube";
model = "Wippies, Elisa";
chosen {
bootargs = "console=ttyLTQ0,115200";
};
aliases {
led-boot = &power;
led-failsafe = &power2;
led-running = &power;
led-dsl = &adsl;
led-internet = &internet;
led-usb = &led_usb;
led-usb2 = &led_usb2;
led-wifi = &wifi;
};
memory@0 {
reg = <0x0 0x2000000>;
};
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
#size-cells = <0>;
poll-interval = <100>;
wps {
label = "wps";
gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WPS_BUTTON>;
};
reset {
label = "reset";
gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
};
gpio-leds {
compatible = "gpio-leds";
power: power {
label = "power";
gpios = <&gpios 21 GPIO_ACTIVE_HIGH>;
default-state = "keep";
};
power2: power2 {
label = "power2";
gpios = <&gpios 20 GPIO_ACTIVE_HIGH>;
};
lan1 {
label = "lan1";
gpios = <&gpios 19 GPIO_ACTIVE_HIGH>;
};
lan2 {
label = "lan2";
gpios = <&gpios 18 GPIO_ACTIVE_HIGH>;
};
lan3 {
label = "lan3";
gpios = <&gpios 17 GPIO_ACTIVE_HIGH>;
};
lan4 {
label = "lan4";
gpios = <&gpios 16 GPIO_ACTIVE_HIGH>;
};
wifi: wifi {
label = "wifi";
gpios = <&gpios 15 GPIO_ACTIVE_HIGH>;
};
adsl: adsl {
label = "adsl";
gpios = <&gpios 14 GPIO_ACTIVE_HIGH>;
};
internet: internet {
label = "internet";
gpios = <&gpios 13 GPIO_ACTIVE_HIGH>;
};
internet2 {
label = "internet2";
gpios = <&gpios 12 GPIO_ACTIVE_HIGH>;
};
voip {
label = "voip";
gpios = <&gpios 11 GPIO_ACTIVE_HIGH>;
};
phone {
label = "phone";
gpios = <&gpios 10 GPIO_ACTIVE_HIGH>;
};
phone2 {
label = "phone2";
gpios = <&gpios 9 GPIO_ACTIVE_HIGH>;
};
led_usb: usb {
label = "usb";
gpios = <&gpios 8 GPIO_ACTIVE_HIGH>;
};
led_usb2: usb2 {
label = "usb2";
gpios = <&gpios 7 GPIO_ACTIVE_HIGH>;
};
usb3 {
label = "usb3";
gpios = <&gpios 6 GPIO_ACTIVE_HIGH>;
};
unlabeled {
label = "unlabeled";
gpios = <&gpios 5 GPIO_ACTIVE_HIGH>;
};
};
};
&gpio {
pinctrl-names = "default";
pinctrl-0 = <&state_default>;
state_default: pinmux {
ebu {
lantiq,groups = "ebu a23";
lantiq,function = "ebu";
lantiq,open-drain = <0>;
lantiq,output = <1>;
};
stp {
lantiq,groups = "stp";
lantiq,function = "stp";
lantiq,open-drain = <0>;
lantiq,output = <1>;
};
exin {
lantiq,groups = "exin1", "exin2";
lantiq,function = "exin";
lantiq,output = <0>;
};
pci_in {
lantiq,groups = "req1", "req2";
lantiq,function = "pci";
lantiq,output = <0>;
};
pci_out {
lantiq,groups = "gnt1", "gnt2";
lantiq,function = "pci";
lantiq,open-drain = <0>;
lantiq,pull = <0>;
lantiq,output = <1>;
};
pci_rst {
lantiq,pins = "io21";
lantiq,open-drain = <0>;
lantiq,output = <1>;
};
buttons {
lantiq,pins = "io3", "io14";
lantiq,pull = <2>;
lantiq,output = <0>;
};
};
};
&gpios {
status = "okay";
lantiq,groups = <0x7>;
};
&gsw {
phy-mode = "rmii";
};
&localbus {
nor@0 {
compatible = "lantiq,nor";
bank-width = <2>;
reg = <0 0x0 0x1000000>;
#address-cells = <1>;
#size-cells = <1>;
lantiq,noxip;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "uboot";
reg = <0x00000 0x40000>;
read-only;
};
partition@40000 {
label = "uboot_env";
reg = <0x40000 0x20000>;
read-only;
};
partition@60000 {
label = "firmware";
reg = <0x60000 0xfa0000>;
};
};
};
};
&pci0 {
status = "okay";
lantiq,external-clock;
interrupt-map = <
0x6000 0 0 1 &icu0 135
0x7800 0 0 1 &icu0 66
0x7800 0 0 2 &icu0 66
0x7800 0 0 3 &icu0 66
>;
gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
req-mask = <0x7>;
};
&vmmc {
status = "okay";
};

View File

@@ -0,0 +1,8 @@
/dts-v1/;
#include "ARV4518PWR01.dtsi"
/ {
compatible = "arcadyan,arv4518pwr01", "lantiq,xway", "lantiq,danube";
model = "SMC7908A-ISP";
};

View File

@@ -0,0 +1,205 @@
#include "danube.dtsi"
#include <dt-bindings/input/input.h>
/ {
chosen {
bootargs = "console=ttyLTQ0,115200";
};
aliases {
led-boot = &power;
led-failsafe = &power;
led-running = &power;
led-dsl = &dsl;
led-internet = &online;
led-usb = &led_usb;
led-wifi = &wifi;
};
memory@0 {
reg = <0x0 0x4000000>;
};
ath5k_eep {
compatible = "ath5k,eeprom";
ath,eep-flash = <&boardconfig 0x400>;
ath,mac-offset = <0x16>;
ath,mac-increment = <1>;
ath,eep-swap;
};
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
#size-cells = <0>;
poll-interval = <100>;
rfkill {
label = "rfkill";
gpios = <&gpio 28 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RFKILL>;
};
reset {
label = "reset";
gpios = <&gpio 30 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
};
gpio-leds {
compatible = "gpio-leds";
power: power {
label = "power";
gpios = <&gpio 3 GPIO_ACTIVE_HIGH>;
default-state = "keep";
};
dsl: dsl {
label = "dsl";
gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
};
online: online {
label = "online";
gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
};
wifi: wifi {
label = "wifi";
gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
};
wps {
label = "wps";
gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
};
dsl2 {
label = "dsl2";
gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
};
led_usb: usb {
label = "usb";
gpios = <&gpio 19 GPIO_ACTIVE_LOW>;
};
voice {
label = "voice";
gpios = <&gpiomm 0 GPIO_ACTIVE_LOW>;
};
fxs1 {
label = "fxs1";
gpios = <&gpiomm 1 GPIO_ACTIVE_LOW>;
};
fxs2 {
label = "fxs2";
gpios = <&gpiomm 2 GPIO_ACTIVE_LOW>;
};
fxo {
label = "fxo";
gpios = <&gpiomm 3 GPIO_ACTIVE_LOW>;
};
};
usb_vbus: regulator-usb-vbus {
compatible = "regulator-fixed";
regulator-name = "USB_VBUS";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
gpio = <&gpio 14 GPIO_ACTIVE_HIGH>;
enable-active-high;
};
};
&gpio {
pinctrl-names = "default";
pinctrl-0 = <&state_default>;
state_default: pinmux {
ebu {
lantiq,groups = "ebu cs1";
lantiq,function = "ebu";
};
pci_in {
lantiq,groups = "req1", "req2";
lantiq,function = "pci";
lantiq,open-drain = <1>;
lantiq,pull = <2>;
lantiq,output = <0>;
};
pci_out {
lantiq,groups = "gnt1", "gnt2";
lantiq,function = "pci";
lantiq,pull = <0>;
lantiq,output = <1>;
};
};
};
&gpiomm {
status = "okay";
lantiq,shadow = <0x0>;
};
&gsw {
phy-mode = "mii";
mtd-mac-address = <&boardconfig 0x16>;
};
&localbus {
nor@0 {
compatible = "lantiq,nor";
bank-width = <2>;
reg = <0 0x0 0x2000000>;
#address-cells = <1>;
#size-cells = <1>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "uboot";
reg = <0x00000 0x10000>; /* 64 KB */
read-only;
};
partition@10000 {
label = "uboot_env";
reg = <0x10000 0x10000>; /* 64 KB */
read-only;
};
partition@20000 {
label = "firmware";
reg = <0x20000 0x3d0000>;
};
boardconfig: partition@400000 {
label = "boardconfig";
reg = <0x3f0000 0x10000>;
read-only;
};
};
};
};
&pci0 {
status = "okay";
gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
req-mask = <0xf>;
};
&usb_phy {
status = "okay";
phy-supply = <&usb_vbus>;
};
&usb {
status = "okay";
};
&vmmc {
status = "okay";
gpios = <&gpio 31 GPIO_ACTIVE_HIGH>;
};

View File

@@ -0,0 +1,12 @@
/dts-v1/;
#include "ARV4518PWR01.dtsi"
/ {
compatible = "arcadyan,arv4518pwr01a", "lantiq,xway", "lantiq,danube";
model = "SMC7908A-ISP, Airties WAV-221";
};
&pci0 {
lantiq,external-clock;
};

View File

@@ -0,0 +1,202 @@
/dts-v1/;
#include "danube.dtsi"
#include <dt-bindings/input/input.h>
/ {
compatible = "arcadyan,arv4519pw", "lantiq,xway", "lantiq,danube";
model = "Vodafone Netfaster IAD 2, Pirelli P.RG A4201G";
chosen {
bootargs = "console=ttyLTQ0,115200";
};
aliases {
led-boot = &power_green;
led-failsafe = &power_red;
led-running = &power_green;
led-dsl = &dsl;
led-internet = &internet_green;
led-usb = &led_usb;
led-wifi = &wifi;
};
memory@0 {
reg = <0x0 0x2000000>;
};
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
#size-cells = <0>;
poll-interval = <100>;
rfkill {
label = "rfkill";
gpios = <&gpio 28 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RFKILL>;
};
reset {
label = "reset";
gpios = <&gpio 30 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
};
gpio-leds {
compatible = "gpio-leds";
power_green: power {
label = "arv4519pw:green:power";
gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
default-state = "keep";
};
power_red: power2 {
label = "arv4519pw:red:power";
gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
};
wifi: wifi {
label = "arv4519pw:green:wlan";
gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
};
dsl: dsl {
label = "arv4519pw:green:dsl";
gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
};
internet_green: online {
label = "arv4519pw:green:internet";
gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
};
online2 {
label = "arv4519pw:red:internet";
gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
};
led_usb: usb {
label = "arv4519pw:green:usb";
gpios = <&gpio 19 GPIO_ACTIVE_LOW>;
};
voip {
label = "arv4519pw:green:voip";
gpios = <&gpiomm 0 GPIO_ACTIVE_LOW>;
};
fxs1 {
label = "arv4519pw:green:phone1";
gpios = <&gpiomm 1 GPIO_ACTIVE_LOW>;
};
fxs2 {
label = "arv4519pw:green:phone2";
gpios = <&gpiomm 2 GPIO_ACTIVE_LOW>;
};
fxo {
label = "arv4519pw:green:line";
gpios = <&gpiomm 3 GPIO_ACTIVE_LOW>;
};
wps2 {
label = "arv4519pw:green:wps";
gpios = <&gpiomm 4 GPIO_ACTIVE_LOW>;
};
wps {
label = "arv4519pw:orange:wps";
gpios = <&gpiomm 5 GPIO_ACTIVE_LOW>;
};
wps3 {
label = "arv4519pw:red:wps";
gpios = <&gpiomm 6 GPIO_ACTIVE_LOW>;
};
};
usb_vbus: regulator-usb-vbus {
compatible = "regulator-fixed";
regulator-name = "USB_VBUS";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
gpio = <&gpio 14 GPIO_ACTIVE_HIGH>;
enable-active-high;
};
};
&gpio {
pinctrl-names = "default";
pinctrl-0 = <&state_default>;
state_default: pinmux {
ebu {
lantiq,groups = "ebu cs1";
lantiq,function = "ebu";
};
};
};
&gpiomm {
status = "okay";
lantiq,shadow = <0x400>;
};
&gsw {
phy-mode = "mii";
mtd-mac-address = <&boardconfig 0x16>;
};
&localbus {
nor@0 {
compatible = "lantiq,nor";
bank-width = <2>;
reg = <0 0x0 0x2000000>;
#address-cells = <1>;
#size-cells = <1>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "uboot";
reg = <0x00000 0x10000>;
read-only;
};
partition@10000 {
label = "uboot_env";
reg = <0x10000 0x10000>;
};
partition@20000 {
label = "firmware";
reg = <0x20000 0x3d0000>;
};
boardconfig: partition@3f0000 {
label = "boardconfig";
reg = <0x3f0000 0x10000>;
read-only;
};
};
};
};
&pci0 {
status = "okay";
lantiq,external-clock;
gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
req-mask = <0xf>;
};
&usb_phy {
status = "okay";
phy-supply = <&usb_vbus>;
};
&usb {
status = "okay";
};
&vmmc {
status = "okay";
gpios = <&gpio 31 GPIO_ACTIVE_HIGH>;
};

View File

@@ -0,0 +1,227 @@
/dts-v1/;
#include "danube.dtsi"
#include <dt-bindings/input/input.h>
/ {
compatible = "arcadyan,arv4520pw", "lantiq,xway", "lantiq,danube";
model = "Easybox 800, WAV-281";
chosen {
bootargs = "console=ttyLTQ0,115200";
};
aliases {
led-boot = &power_blue;
led-failsafe = &power_red;
led-running = &power_blue;
led-dsl = &dsl;
led-internet = &internet_blue;
led-usb = &led_usb;
led-wifi = &wifi;
};
memory@0 {
reg = <0x0 0x2000000>;
};
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
#size-cells = <0>;
poll-interval = <100>;
rfkill {
label = "wps";
gpios = <&gpio 29 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WPS_BUTTON>;
};
reset {
label = "reset";
gpios = <&gpio 30 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
};
gpio-leds {
compatible = "gpio-leds";
power_blue: power {
label = "arv4520pw:blue:power";
gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
default-state = "keep";
};
dsl: dsl {
label = "arv4520pw:blue:dsl";
gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
};
internet_blue: internet {
label = "arv4520pw:blue:internet";
gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
};
power_red: power2 {
label = "arv4520pw:red:power";
gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
};
wps {
label = "arv4520pw:yellow:wps";
gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
};
wps2 {
label = "arv4520pw:red:wps";
gpios = <&gpio 9 GPIO_ACTIVE_LOW>;
};
/*
wps green is missing
*/
fxs1 {
label = "arv4520pw:blue:telefon1";
gpios = <&gpiomm 0 GPIO_ACTIVE_LOW>;
};
fxs2 {
label = "arv4520pw:blue:telefon2";
gpios = <&gpiomm 1 GPIO_ACTIVE_LOW>;
};
isdn {
label = "arv4520pw:blue:isdn";
gpios = <&gpiomm 2 GPIO_ACTIVE_LOW>;
};
fxo {
label = "arv4520pw:blue:line";
gpios = <&gpiomm 3 GPIO_ACTIVE_LOW>;
};
voice {
label = "arv4520pw:blue:sprache";
gpios = <&gpiomm 4 GPIO_ACTIVE_LOW>;
};
led_usb: usb {
label = "arv4520pw:blue:usb";
gpios = <&gpiomm 5 GPIO_ACTIVE_LOW>;
};
wifi: wifi {
label = "arv4520pw:blue:wifi";
gpios = <&gpiomm 6 GPIO_ACTIVE_LOW>;
};
internet2 {
label = "arv4520pw:red:internet";
gpios = <&gpiomm 9 GPIO_ACTIVE_LOW>;
};
/*
info is missing
*/
};
usb_vbus: regulator-usb-vbus {
compatible = "regulator-fixed";
regulator-name = "USB_VBUS";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
gpio = <&gpio 28 GPIO_ACTIVE_HIGH>;
enable-active-high;
};
};
&gpio {
pinctrl-names = "default";
pinctrl-0 = <&state_default>;
state_default: pinmux {
ebu {
lantiq,groups = "ebu cs1";
lantiq,function = "ebu";
};
pci_in {
lantiq,groups = "req1";
lantiq,function = "pci";
lantiq,open-drain = <1>;
lantiq,pull = <2>;
lantiq,output = <0>;
};
pci_out {
lantiq,groups = "gnt1";
lantiq,function = "pci";
lantiq,output = <1>;
};
pci_rst {
lantiq,pins = "io21";
lantiq,open-drain = <0>;
lantiq,pull = <0>;
};
};
};
&gpiomm {
status = "okay";
lantiq,shadow = <0x400>;
};
&gsw {
/* gpiomm 10 - switch */
phy-mode = "rmii";
mtd-mac-address = <&boardconfig 0x16>;
};
&localbus {
nor@0 {
compatible = "lantiq,nor";
bank-width = <2>;
reg = <0 0x0 0x800000>;
#address-cells = <1>;
#size-cells = <1>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "uboot";
reg = <0x00000 0x20000>;
read-only;
};
partition@20000 {
label = "uboot_env";
reg = <0x20000 0x10000>;
read-only;
};
partition@30000 {
label = "firmware";
reg = <0x30000 0x3c0000>;
};
boardconfig: partition@7f0000 {
label = "boardconfig";
reg = <0x3f0000 0x10000>;
read-only;
};
};
};
};
&pci0 {
status = "okay";
lantiq,external-clock;
gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
};
&usb_phy {
status = "okay";
phy-supply = <&usb_vbus>;
};
&usb {
status = "okay";
};
&vmmc {
status = "okay";
gpios = <&gpio 31 GPIO_ACTIVE_HIGH
&gpiomm 7 GPIO_ACTIVE_HIGH>;
};

View File

@@ -0,0 +1,162 @@
/dts-v1/;
#include "danube.dtsi"
#include <dt-bindings/input/input.h>
/ {
compatible = "arcadyan,arv4525pw", "lantiq,xway", "lantiq,danube";
model = "Speedport W501V Typ A";
chosen {
bootargs = "console=ttyLTQ0,115200";
};
aliases {
/* we dont have a power led, lets use the online led */
led-boot = &online;
led-failsafe = &online;
led-dsl = &dsl;
led-internet = &online;
led-wifi = &wifi;
};
memory@0 {
reg = <0x0 0x2000000>;
};
ath5k_eep {
compatible = "ath5k,eeprom";
ath,eep-flash = <&boardconfig 0x400>;
ath,mac-offset = <0x0>;
ath,eep-swap;
};
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
#size-cells = <0>;
poll-interval = <100>;
wps {
label = "wps";
gpios = <&gpio 29 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WPS_BUTTON>;
};
reset {
label = "reset";
gpios = <&gpio 30 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
};
gpio-leds {
compatible = "gpio-leds";
fxo {
label = "arv4525pw:green:festnetz";
gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
};
fxs {
label = "arv4525pw:green:internet";
gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
};
dsl: dsl {
label = "arv4525pw:green:t-dsl";
gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
};
wifi: wifi {
label = "arv4525pw:green:wlan";
gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
};
online: online {
label = "arv4525pw:green:online";
gpios = <&gpio 9 GPIO_ACTIVE_LOW>;
};
};
};
&gpio {
pinctrl-names = "default";
pinctrl-0 = <&state_default>;
state_default: pinmux {
pci_in {
lantiq,groups = "req1";
lantiq,function = "pci";
lantiq,open-drain = <1>;
lantiq,pull = <2>;
lantiq,output = <0>;
};
pci_out {
lantiq,groups = "gnt1";
lantiq,function = "pci";
lantiq,output = <1>;
};
pci_rst {
lantiq,pins = "io21";
lantiq,pull = <2>;
lantiq,output = <1>;
};
relay {
lantiq,pins = "io31";
lantiq,output = <1>;
};
};
};
/* #define ARV4525PW_PHYRESET 13 */
&gsw {
phy-mode = "mii";
mtd-mac-address = <&boardconfig 0x16>;
};
&localbus {
nor@0 {
compatible = "lantiq,nor";
bank-width = <2>;
reg = <0 0x0 0x2000000>;
#address-cells = <1>;
#size-cells = <1>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "uboot";
reg = <0x00000 0x10000>;
read-only;
};
partition@10000 {
label = "uboot_env";
reg = <0x10000 0x10000>;
read-only;
};
partition@20000 {
label = "firmware";
reg = <0x20000 0x3d0000>;
};
boardconfig: partition@400000 {
label = "boardconfig";
reg = <0x3f0000 0x10000>;
read-only;
};
};
};
};
&pci0 {
status = "okay";
gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
};
/* #define ARV4525PW_RELAY 31 */
&vmmc {
status = "okay";
gpios = <&gpio 31 GPIO_ACTIVE_HIGH>;
};

View File

@@ -0,0 +1,245 @@
/dts-v1/;
#include "danube.dtsi"
#include <dt-bindings/input/input.h>
/ {
compatible = "arcadyan,arv452cqw", "lantiq,xway", "lantiq,danube";
model = "Arcor 801";
chosen {
bootargs = "console=ttyLTQ0,115200";
};
aliases {
led-boot = &power_blue;
led-failsafe = &power_red;
led-running = &power_blue;
led-dsl = &dsl_blue;
led-usb = &led_usb;
led-wifi = &wifi;
};
memory@0 {
reg = <0x0 0x2000000>;
};
ath5k_eep {
compatible = "ath5k,eeprom";
ath,eep-flash = <&boardconfig 0x400>;
ath,mac-offset = <0x0>;
ath,eep-swap;
};
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
#size-cells = <0>;
poll-interval = <100>;
rfkill {
label = "rfkill";
gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RFKILL>;
};
wps {
label = "wps";
gpios = <&gpio 29 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WPS_BUTTON>;
};
reset {
label = "reset";
gpios = <&gpio 30 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
};
gpio-leds {
compatible = "gpio-leds";
power_blue: power0 {
label = "arv452cqw:blue:power";
gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
default-state = "keep";
};
dsl_blue: dsl {
label = "arv452cqw:blue:dsl";
gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
};
isdn {
label = "arv452cqw:blue:isdn";
gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
};
power_red: power1 {
label = "arv452cqw:red:power";
gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
};
wps {
label = "arv452cqw:blue:wps";
gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
};
wps1 {
label = "arv452cqw:yellow:wps";
gpios = <&gpio 9 GPIO_ACTIVE_LOW>;
};
fxs1 {
label = "arv452cqw:blue:telefon1";
gpios = <&gpiomm 0 GPIO_ACTIVE_LOW>;
};
fxs2 {
label = "arv452cqw:blue:telefon2";
gpios = <&gpiomm 1 GPIO_ACTIVE_LOW>;
};
wps2 {
label = "arv452cqw:red:wps";
gpios = <&gpiomm 2 GPIO_ACTIVE_LOW>;
};
fxo {
label = "arv452cqw:blue:line";
gpios = <&gpiomm 3 GPIO_ACTIVE_LOW>;
};
voice {
label = "arv452cqw:blue:sprache";
gpios = <&gpiomm 4 1>;
};
led_usb: usb {
label = "arv452cqw:blue:usb";
gpios = <&gpiomm 5 GPIO_ACTIVE_LOW>;
};
wifi: wifi {
label = "arv452cqw:blue:wlan";
gpios = <&gpiomm 6 GPIO_ACTIVE_LOW>;
};
/*
internet blue and internet red are missing
dsl2 and dsl3 are not referenced in manual
*/
dsl2 {
label = "arv452cqw:yellow:dsl";
gpios = <&gpiomm 8 GPIO_ACTIVE_LOW>;
};
dsl3 {
label = "arv452cqw:red:dsl";
gpios = <&gpiomm 9 GPIO_ACTIVE_LOW>;
};
};
usb_vbus: regulator-usb-vbus {
compatible = "regulator-fixed";
regulator-name = "USB_VBUS";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
gpio = <&gpio 28 GPIO_ACTIVE_HIGH>;
enable-active-high;
};
};
&gpio {
pinctrl-names = "default";
pinctrl-0 = <&state_default>;
state_default: pinmux {
ebu {
lantiq,groups = "ebu cs1";
lantiq,function = "ebu";
};
pci_in {
lantiq,groups = "req1";
lantiq,function = "pci";
lantiq,open-drain = <1>;
lantiq,pull = <2>;
lantiq,output = <0>;
};
pci_out {
lantiq,groups = "gnt1";
lantiq,function = "pci";
lantiq,output = <1>;
};
pci_rst {
lantiq,pins = "io21";
lantiq,pull = <0>;
lantiq,output = <1>;
};
leds {
lantiq,pins = "io3", "io5", "io6", "io7", "io9";
lantiq,output = <1>;
};
};
};
&gpiomm {
status = "okay";
lantiq,shadow = <0x77f>;
};
/*
#define ARV452CPW_SWITCH_RESET 110
*/
&gsw {
phy-mode = "rmii";
mtd-mac-address = <&boardconfig 0x16>;
};
&localbus {
nor@0 {
compatible = "lantiq,nor";
bank-width = <2>;
reg = <0 0x0 0x400000>;
#address-cells = <1>;
#size-cells = <1>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "uboot";
reg = <0x00000 0x10000>;
read-only;
};
partition@10000 {
label = "uboot_env";
reg = <0x10000 0x10000>;
read-only;
};
partition@20000 {
label = "firmware";
reg = <0x20000 0x3d0000>;
};
boardconfig: partition@3f0000 {
label = "boardconfig";
reg = <0x3f0000 0x10000>;
read-only;
};
};
};
};
&pci0 {
status = "okay";
lantiq,external-clock;
gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
};
&usb_phy {
status = "okay";
phy-supply = <&usb_vbus>;
};
&usb {
status = "okay";
};
&vmmc {
status = "okay";
gpios = <&gpio 31 GPIO_ACTIVE_HIGH
&gpiomm 7 GPIO_ACTIVE_HIGH>;
};

View File

@@ -0,0 +1,163 @@
/dts-v1/;
#include "danube.dtsi"
#include <dt-bindings/input/input.h>
/ {
compatible = "arcadyan,arv7506pw11", "lantiq,xway", "lantiq,danube";
model = "Alice/O2 IAD 4421";
chosen {
bootargs = "console=ttyLTQ0,115200";
};
aliases {
led-boot = &power;
led-failsafe = &power_red;
led-running = &power;
led-dsl = &dsl;
led-internet = &internet;
led-wifi = &wlan;
};
memory@0 {
reg = <0x0 0x4000000>;
};
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
#size-cells = <0>;
poll-interval = <100>;
rfkill {
label = "rfkill";
gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RFKILL>;
};
reset {
label = "reset";
gpios = <&gpio 30 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
};
gpio-leds {
compatible = "gpio-leds";
wlan: wlan {
label = "arv7506pw11:green:wlan";
gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
};
power: power {
label = "arv7506pw11:green:power";
gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
default-state = "keep";
};
dsl: dsl {
label = "arv7506pw11:green:dsl";
gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
};
internet: internet {
label = "arv7506pw11:green:internet";
gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
};
power_red: power_red {
label = "arv7506pw11:red:power";
gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
};
internet_red {
label = "arv7506pw11:red:internet";
gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
};
info {
label = "arv7506pw11:green:info";
gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
};
telefon {
label = "arv7506pw11:green:telefon";
gpios = <&gpio 9 GPIO_ACTIVE_LOW>;
};
info_red {
label = "arv7506pw11:red:info";
gpios = <&gpio 20 GPIO_ACTIVE_LOW>;
};
};
};
&gpio {
pinctrl-names = "default";
pinctrl-0 = <&state_default>;
state_default: pinmux {
pci {
lantiq,groups = "gnt1";
lantiq,function = "pci";
lantiq,output = <1>;
};
pci_rst {
lantiq,pins = "io21";
lantiq,pull = <2>;
lantiq,output = <1>;
};
};
};
/* GPIO 19: switch reset */
&gsw {
phy-mode = "rmii";
mtd-mac-address = <&boardconfig 0x16>;
};
&localbus {
nor@0 {
compatible = "lantiq,nor";
bank-width = <2>;
reg = <0 0x0 0x800000>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "uboot";
reg = <0x00000 0x40000>;
read-only;
};
partition@40000 {
label = "uboot_env";
reg = <0x40000 0x10000>;
read-only;
};
partition@50000 {
label = "firmware";
reg = <0x50000 0x7a0000>;
};
boardconfig: partition@7f0000 {
label = "board_config";
reg = <0x7f0000 0x10000>;
read-only;
};
};
};
};
&pci0 {
status = "okay";
lantiq,external-clock;
gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
wifi@1814,3592 {
compatible = "pci1814,3592";
reg = <0x7000 0 0 0 0>;
ralink,mtd-eeprom = <&boardconfig 0x410>;
ralink,mtd-eeprom-swap;
mtd-mac-address = <&boardconfig 0x16>;
mtd-mac-address-increment = <1>;
};
};

View File

@@ -0,0 +1,208 @@
/dts-v1/;
#include "danube.dtsi"
#include <dt-bindings/input/input.h>
/ {
compatible = "arcadyan,arv7510pw22", "lantiq,xway", "lantiq,danube";
model = "Astoria Networks ARV7510PW22";
chosen {
bootargs = "console=ttyLTQ0,115200";
};
aliases {
led-boot = &power;
led-failsafe = &power;
led-running = &power;
led-dsl = &internet;
led-usb = &umts;
led-wifi = &wlan;
};
memory@0 {
reg = <0x0 0x4000000>;
};
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
#size-cells = <0>;
poll-interval = <100>;
rfkill {
label = "rfkill";
gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RFKILL>;
};
restart {
label = "restart";
gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
linux,code = <KEY_POWER>;
};
reset {
label = "reset";
gpios = <&gpio 28 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
};
gpio-leds {
compatible = "gpio-leds";
power: power {
label = "power";
gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
default-state = "keep";
};
internet: internet {
label = "internet";
gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
};
wlan: wlan {
label = "wlan";
gpios = <&gpio 10 GPIO_ACTIVE_LOW>;
};
umts: 3g {
label = "3g";
gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
};
message {
label = "message";
gpios = <&gpio 20 GPIO_ACTIVE_LOW>;
};
};
};
&gpio {
pinctrl-names = "default";
pinctrl-0 = <&state_default>;
state_default: pinmux {
exin {
lantiq,groups = "exin1";
lantiq,function = "exin";
lantiq,pull = <2>;
lantiq,output = <0>;
};
pci_in {
lantiq,groups = "req1", "req2";
lantiq,function = "pci";
lantiq,open-drain = <1>;
lantiq,pull = <2>;
lantiq,output = <0>;
};
pci_out {
lantiq,groups = "gnt1";
lantiq,function = "pci";
lantiq,output = <1>;
};
pci_rst {
lantiq,pins = "io21";
lantiq,pull = <2>;
lantiq,output = <1>;
};
pins_out {
lantiq,pins = "io2", "io4", "io8", "io9", "io10", "io15", "io20";
lantiq,output = <1>;
};
pins_in {
lantiq,pins = "io11", "io12", "io28";
lantiq,open-drain = <1>;
lantiq,pull = <2>;
lantiq,output = <0>;
};
};
usb_vbus: regulator-usb-vbus {
compatible = "regulator-fixed";
regulator-name = "USB_VBUS";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
gpio = <&gpio 8 GPIO_ACTIVE_HIGH>;
enable-active-high;
};
};
&gsw {
/* Switch reset 19 */
phy-mode = "mii";
mtd-mac-address = <&boardconfig 0x16>;
};
&localbus {
nor@0 {
compatible = "lantiq,nor";
bank-width = <2>;
reg = <0 0x0 0x1000000>;
#address-cells = <1>;
#size-cells = <1>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "uboot";
reg = <0x00000 0x40000>;
read-only;
};
partition@40000 {
label = "uboot_env";
reg = <0x40000 0x20000>;
read-only;
};
partition@60000 {
label = "firmware";
reg = <0x60000 0xf80000>;
};
boardconfig: partition@fe0000 {
label = "board_config";
reg = <0xfe0000 0x20000>;
read-only;
};
};
};
};
&pci0 {
status = "okay";
lantiq,external-clock;
interrupt-map = <
0x7000 0 0 1 &icu0 30
0x7800 0 0 1 &icu0 135
0x7800 0 0 2 &icu0 135
0x7800 0 0 3 &icu0 135
>;
gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
req-mask = <0x3>;
wifi@1814,3592 {
compatible = "pci1814,3592";
reg = <0x7000 0 0 0 0>;
ralink,mtd-eeprom = <&boardconfig 0x410>;
ralink,mtd-eeprom-swap;
};
};
&usb_phy {
status = "okay";
phy-supply = <&usb_vbus>;
};
&usb {
status = "okay";
};
&vmmc {
status = "okay";
gpios = <&gpio 9 GPIO_ACTIVE_HIGH>;
};

View File

@@ -0,0 +1,239 @@
/dts-v1/;
#include "danube.dtsi"
#include <dt-bindings/input/input.h>
/ {
compatible = "arcadyan,arv7518pw", "lantiq,xway", "lantiq,danube";
model = "Astoria Networks ARV7518PW";
chosen {
bootargs = "console=ttyLTQ0,115200";
};
aliases {
led-boot = &power_green;
led-failsafe = &power_red;
led-running = &power_green;
led-dsl = &dsl;
led-internet = &online_green;
led-usb = &led_usb;
led-wifi = &wifi;
};
memory@0 {
reg = <0x0 0x4000000>;
};
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
#size-cells = <0>;
poll-interval = <100>;
rfkill {
label = "rfkill";
gpios = <&gpio 28 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RFKILL>;
};
reset {
label = "reset";
gpios = <&gpio 30 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
};
gpio-leds {
compatible = "gpio-leds";
power_green: power {
label = "arv7518pw:green:power";
gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
default-state = "keep";
};
dsl: dsl {
label = "arv7518pw:green:dsl";
gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
};
online_green: online {
label = "arv7518pw:green:internet";
gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
};
wifi: wifi {
label = "arv7518pw:green:wlan";
gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
};
power_red: power2 {
label = "arv7518pw:red:power";
gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
};
online2 {
label = "arv7518pw:red:internet";
gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
};
led_usb: usb {
label = "arv7518pw:green:usb";
gpios = <&gpio 19 GPIO_ACTIVE_LOW>;
};
voice {
label = "arv7518pw:green:voip";
gpios = <&gpiomm 0 GPIO_ACTIVE_LOW>;
};
fxs1 {
label = "arv7518pw:green:phone1";
gpios = <&gpiomm 1 GPIO_ACTIVE_LOW>;
};
fxs2 {
label = "arv7518pw:green:phone2";
gpios = <&gpiomm 2 GPIO_ACTIVE_LOW>;
};
unlabeled {
label = "arv7518pw:amber:unlabeled";
gpios = <&gpiomm 3 GPIO_ACTIVE_LOW>;
};
wps {
label = "arv7518pw:amber:wps";
gpios = <&gpiomm 4 GPIO_ACTIVE_LOW>;
};
wps2 {
label = "arv7518pw:green:wps";
gpios = <&gpiomm 5 GPIO_ACTIVE_LOW>;
};
wps3 {
label = "arv7518pw:red:wps";
gpios = <&gpiomm 6 GPIO_ACTIVE_LOW>;
};
};
};
&gpio {
pinctrl-names = "default";
pinctrl-0 = <&state_default>;
state_default: pinmux {
ebu {
lantiq,groups = "ebu cs1";
lantiq,function = "ebu";
};
pci_in {
lantiq,groups = "req1";
lantiq,function = "pci";
lantiq,open-drain = <1>;
lantiq,pull = <2>;
lantiq,output = <0>;
};
pci_out {
lantiq,groups = "gnt1";
lantiq,function = "pci";
lantiq,pull = <0>;
lantiq,output = <1>;
};
pci_rst {
lantiq,pins = "io21";
lantiq,pull = <2>;
lantiq,output = <1>;
};
leds {
lantiq,pins = "io2", "io4", "io5", "io6", "io7", "io8", "io19";
lantiq,output = <1>;
};
keys {
lantiq,pins = "io28", "io30";
lantiq,output = <0>;
lantiq,pull = <2>;
lantiq,open-drain = <1>;
};
};
usb_vbus: regulator-usb-vbus {
compatible = "regulator-fixed";
regulator-name = "USB_VBUS";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
gpio = <&gpio 14 GPIO_ACTIVE_HIGH>;
enable-active-high;
};
};
&gpiomm {
status = "okay";
lantiq,shadow = <0x0>;
};
/*
#define SWITCH_RESET 13
*/
&gsw {
phy-mode = "mii";
mtd-mac-address = <&boardconfig 0x16>;
};
&localbus {
nor@0 {
compatible = "lantiq,nor";
bank-width = <2>;
reg = <0 0x0 0x2000000>;
#address-cells = <1>;
#size-cells = <1>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "uboot";
reg = <0x00000 0x10000>;
read-only;
};
partition@10000 {
label = "uboot_env";
reg = <0x10000 0x10000>;
};
partition@20000 {
label = "firmware";
reg = <0x20000 0x7d0000>;
};
boardconfig: partition@400000 {
label = "boardconfig";
reg = <0x7f0000 0x10000>;
read-only;
};
};
};
};
&pci0 {
status = "okay";
gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
lantiq,external-clock;
req-mask = <0xf>;
wifi@168c,0029 {
compatible = "pci168c,0029";
reg = <0x7000 0 0 0 0>;
qca,no-eeprom; /* load from ath9k-eeprom-pci-0000:00:0e.0.bin */
mtd-mac-address = <&boardconfig 0x16>;
mtd-mac-address-increment = <1>;
};
};
&usb_phy {
status = "okay";
phy-supply = <&usb_vbus>;
};
&usb {
status = "okay";
};
&vmmc {
status = "okay";
};

View File

@@ -0,0 +1,228 @@
/dts-v1/;
#include "danube.dtsi"
#include <dt-bindings/input/input.h>
/ {
compatible = "arcadyan,arv7519pw", "lantiq,xway", "lantiq,danube";
model = "Astoria Networks ARV7519PW";
chosen {
bootargs = "console=ttyLTQ0,115200";
};
aliases {
led-boot = &power;
led-failsafe = &power2;
led-running = &power;
led-dsl = &dsl;
led-internet = &online;
led-wifi = &wifi;
};
memory@0 {
reg = <0x0 0x4000000>;
};
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
#size-cells = <0>;
poll-interval = <100>;
rfkill {
label = "rfkill";
gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RFKILL>;
};
reset {
label = "reset";
gpios = <&gpio 28 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
};
gpio-leds {
compatible = "gpio-leds";
power: power {
label = "power";
gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
default-state = "keep";
};
power2: power2 {
label = "power2";
gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
};
online: online {
label = "online";
gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
};
online2 {
label = "online2";
gpios = <&gpio 30 GPIO_ACTIVE_LOW>;
};
wifi: wifi {
label = "wifi";
gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
};
wifi2 {
label = "wifi2";
gpios = <&gpio 10 GPIO_ACTIVE_LOW>;
};
wifi3 {
label = "wifi3";
gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
};
voice {
label = "voice";
gpios = <&gpio 31 GPIO_ACTIVE_LOW>;
};
wps {
label = "wps";
gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
};
wps2 {
label = "wps2";
gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
};
wps3 {
label = "wps3";
gpios = <&gpio 23 GPIO_ACTIVE_LOW>;
};
dsl: dsl {
label = "dsl";
gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
};
lan {
label = "lan";
gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
};
tv {
label = "tv";
gpios = <&gpio 20 GPIO_ACTIVE_LOW>;
};
upgrade {
label = "upgrade";
gpios = <&gpio 29 GPIO_ACTIVE_LOW>;
};
};
/* is there another way to "reserve" the GPIO? */
gpio_export {
compatible = "gpio-export";
#size-cells = <0>;
switch {
gpio-export,name = "switch";
gpio-export,output = <1>;
gpios = <&gpio 19 GPIO_ACTIVE_HIGH>;
};
};
};
&gpio {
pinctrl-names = "default";
pinctrl-0 = <&state_default>;
state_default: pinmux {
ebu {
lantiq,groups = "ebu cs1";
lantiq,function = "ebu";
};
pci_in {
lantiq,groups = "req1";
lantiq,function = "pci";
lantiq,open-drain = <1>;
lantiq,pull = <2>;
lantiq,output = <0>;
};
pci_out {
lantiq,groups = "gnt1";
lantiq,function = "pci";
lantiq,pull = <0>;
lantiq,output = <1>;
};
pci_rst {
lantiq,pins = "io21";
lantiq,pull = <2>;
lantiq,output = <1>;
};
switch_rst {
lantiq,pins = "io19";
lantiq,pull = <2>;
lantiq,output = <1>;
};
};
};
&gsw {
phy-mode = "mii";
mtd-mac-address = <&boardconfig 0x16>;
};
&localbus {
nor@0 {
compatible = "lantiq,nor";
bank-width = <2>;
reg = <0 0x0 0x2000000>;
#address-cells = <1>;
#size-cells = <1>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "uboot";
reg = <0x00000 0x40000>;
read-only;
};
partition@40000 {
label = "uboot_env";
reg = <0x40000 0x20000>;
};
partition@60000 {
label = "firmware";
reg = <0x60000 0xf80000>;
};
boardconfig: partition@fe0000 {
label = "board_config";
reg = <0xfe0000 0x20000>;
read-only;
};
};
};
};
&pci0 {
status = "okay";
lantiq,external-clock;
gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
req-mask = <0xf>;
wifi@0,0 {
compatible = "pci0,0";
reg = <0x7000 0 0 0 0>;
ralink,mtd-eeprom = <&boardconfig 0x410>;
ralink,mtd-eeprom-swap;
};
};
&usb_phy {
status = "okay";
};
/* warning: passive port only works with active devices */
&usb {
status = "okay";
};
&vmmc {
status = "okay";
};

View File

@@ -0,0 +1,253 @@
/dts-v1/;
#include "vr9.dtsi"
#include <dt-bindings/input/input.h>
#include <dt-bindings/mips/lantiq_rcu_gphy.h>
/ {
compatible = "arcadyan,arv7519rw22", "lantiq,xway", "lantiq,vr9";
model = "Orange Livebox 2.1";
chosen {
bootargs = "console=ttyLTQ0,115200";
};
aliases {
led-boot = &power_green;
led-failsafe = &power_green;
led-running = &power_green;
led-dsl = &internet_green;
};
memory@0 {
reg = <0x0 0x8000000>;
};
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
#size-cells = <0>;
poll-interval = <100>;
reset {
label = "reset";
gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
rfkill {
label = "rfkill";
gpios = <&gpio 33 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RFKILL>;
};
wps {
label = "wps";
gpios = <&gpio 37 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WPS_BUTTON>;
};
};
gpio-leds {
compatible = "gpio-leds";
lan_green {
label = "arv7519rw22:green:lan";
gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
};
internet_red {
label = "arv7519rw22:red:internet";
gpios = <&gpio 10 GPIO_ACTIVE_LOW>;
};
power_green: power_green {
label = "arv7519rw22:green:power";
gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
default-state = "keep";
};
alarm_blue {
label = "arv7519rw22:blue:alarm";
gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
};
internet_orange {
label = "arv7519rw22:orange:internet";
gpios = <&gpio 19 GPIO_ACTIVE_LOW>;
};
internet_green: internet_green {
label = "arv7519rw22:green:internet";
gpios = <&gpio 28 GPIO_ACTIVE_LOW>;
};
voice_green {
label = "arv7519rw22:green:voice";
gpios = <&gpio 29 GPIO_ACTIVE_LOW>;
};
};
usb_vbus: regulator-usb-vbus {
compatible = "regulator-fixed";
regulator-name = "USB_VBUS";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
gpio = <&gpio 32 GPIO_ACTIVE_HIGH>;
enable-active-high;
};
};
&eth0 {
lan: interface@0 {
compatible = "lantiq,xrx200-pdi";
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
mtd-mac-address = <&boardconfig 0x16>;
lantiq,switch;
ethernet@0 {
compatible = "lantiq,xrx200-pdi-port";
reg = <0>;
phy-mode = "rgmii";
phy-handle = <&phy0>;
};
ethernet@1 {
compatible = "lantiq,xrx200-pdi-port";
reg = <4>;
phy-mode = "mii";
phy-handle = <&phy13>;
};
ethernet@2 {
compatible = "lantiq,xrx200-pdi-port";
reg = <5>;
phy-mode = "mii";
phy-handle = <&phy14>;
};
ethernet@3 {
compatible = "lantiq,xrx200-pdi-port";
reg = <2>;
phy-mode = "mii";
phy-handle = <&phy11>;
};
ethernet@4 {
compatible = "lantiq,xrx200-pdi-port";
reg = <3>;
phy-mode = "mii";
phy-handle = <&phy12>;
};
};
mdio@0 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "lantiq,xrx200-mdio";
reg = <0>;
phy0: ethernet-phy@0 {
reg = <0x0>;
compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
};
phy11: ethernet-phy@11 {
reg = <0x11>;
compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22";
};
phy12: ethernet-phy@12 {
reg = <0x12>;
compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22";
};
phy13: ethernet-phy@13 {
reg = <0x13>;
compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22";
};
phy14: ethernet-phy@14 {
reg = <0x14>;
compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22";
};
};
};
&gphy0 {
lantiq,gphy-mode = <GPHY_MODE_FE>;
};
&gphy1 {
lantiq,gphy-mode = <GPHY_MODE_FE>;
};
&gpio {
pinctrl-names = "default";
pinctrl-0 = <&state_default>;
state_default: pinmux {
mdio {
lantiq,groups = "mdio";
lantiq,function = "mdio";
};
pcie-rst {
lantiq,pins = "io21";
lantiq,pull = <0>;
lantiq,output = <1>;
};
};
};
&localbus {
nor@0 {
compatible = "lantiq,nor";
bank-width = <2>;
reg = <0 0x0 0x2000000>;
#address-cells = <1>;
#size-cells = <1>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "uboot";
reg = <0x0 0x60000>;
read-only;
};
partition@60000 {
label = "uboot-env";
reg = <0x60000 0x20000>;
read-only;
};
partition@80000 {
label = "firmware";
reg = <0x80000 0x1f00000>;
};
boardconfig: partition@1f80000 {
label = "boardconfig";
reg = <0x1f80000 0x80000>;
read-only;
};
};
};
};
&pcie0 {
status = "okay";
gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
};
&usb_phy0 {
status = "okay";
phy-supply = <&usb_vbus>;
};
&usb_phy1 {
status = "okay";
phy-supply = <&usb_vbus>;
};
&usb0 {
status = "okay";
};
&usb1 {
status = "okay";
};

View File

@@ -0,0 +1,151 @@
/dts-v1/;
#include "danube.dtsi"
#include <dt-bindings/input/input.h>
/ {
compatible = "arcadyan,arv7525pw", "lantiq,xway", "lantiq,danube";
model = "Speedport W303V Typ A";
chosen {
bootargs = "console=ttyLTQ0,115200";
};
aliases {
led-boot = &power_green;
led-failsafe = &power_red;
led-running = &power_green;
led-dsl = &power_green;
led-internet = &online;
led-wifi = &wifi;
};
memory@0 {
reg = <0x0 0x2000000>;
};
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
#size-cells = <0>;
poll-interval = <100>;
wps {
label = "wps";
gpios = <&gpio 29 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WPS_BUTTON>;
};
reset {
label = "reset";
gpios = <&gpio 30 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
};
gpio-leds {
compatible = "gpio-leds";
power_green: power {
label = "arv7525pw:green:power";
gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
default-state = "keep";
};
power_red: power1 {
label = "arv7525pw:red:power";
gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
};
online: online {
label = "arv7525pw:green:online";
gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
};
voice {
label = "arv7525pw:green:telefonie";
gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
};
voice2 {
label = "arv7525pw:red:telefonie";
gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
};
wifi: wifi {
label = "arv7525pw:green:wlan";
gpios = <&gpio 9 GPIO_ACTIVE_LOW>;
};
};
};
&gpio {
pinctrl-names = "default";
pinctrl-0 = <&state_default>;
state_default: pinmux {
exin {
lantiq,groups = "exin1";
lantiq,function = "exin";
};
pci {
lantiq,groups = "gnt1", "req1";
lantiq,function = "pci";
};
};
};
&gsw {
phy-mode = "mii";
mtd-mac-address = <&boardconfig 0x16>;
};
&localbus {
nor@0 {
compatible = "lantiq,nor";
bank-width = <2>;
reg = <0 0x0 0x2000000>;
#address-cells = <1>;
#size-cells = <1>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "uboot";
reg = <0x00000 0x10000>;
read-only;
};
partition@10000 {
label = "uboot_env";
reg = <0x10000 0x10000>;
read-only;
};
partition@20000 {
label = "firmware";
reg = <0x20000 0x3d0000>;
};
boardconfig: partition@400000 {
label = "board_config";
reg = <0x3f0000 0x10000>;
read-only;
};
};
};
};
&pci0 {
status = "okay";
interrupt-map = <0x7000 0 0 1 &icu0 135 1>;
wifi@0,0 {
compatible = "pci0,0";
reg = <0x7000 0 0 0 0>;
ralink,mtd-eeprom = <&boardconfig 0x410>;
};
};
&vmmc {
status = "okay";
gpios = <&gpio 31 GPIO_ACTIVE_HIGH>;
};

View File

@@ -0,0 +1,245 @@
/dts-v1/;
#include "danube.dtsi"
#include <dt-bindings/input/input.h>
/ {
compatible = "arcadyan,arv752dpw", "lantiq,xway", "lantiq,danube";
model = "Arcor 802";
chosen {
bootargs = "console=ttyLTQ0,115200";
};
aliases {
led-boot = &power_red;
led-failsafe = &power_blue;
led-running = &power_red;
led-dsl = &internet_red;
led-usb = &umts;
led-wifi = &wifi;
};
memory@0 {
reg = <0x0 0x4000000>;
};
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
#size-cells = <0>;
poll-interval = <100>;
wps {
label = "wps";
gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WPS_BUTTON>;
};
restart {
label = "restart";
gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
linux,code = <KEY_POWER>;
};
dsl {
label = "dsl";
gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
linux,code = <BTN_0>;
};
reset {
label = "reset";
gpios = <&gpio 30 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
};
gpio-leds {
compatible = "gpio-leds";
power_blue: power1 {
label = "arv752dpw:blue:power";
gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
};
internet_red: internet {
label = "arv752dpw:red:internet";
gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
};
message {
label = "arv752dpw:red:message";
gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
};
power_red: power {
label = "arv752dpw:red:power";
gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
default-state = "keep";
};
voice1 {
label = "arv752dpw:red:voice";
gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
};
umts: umts {
label = "arv752dpw:red:umts";
gpios = <&gpiomm 3 GPIO_ACTIVE_LOW>;
};
wifi: wifi {
label = "arv752dpw:red:wifi";
gpios = <&gpiomm 4 GPIO_ACTIVE_LOW>;
};
fxs1 {
label = "arv752dpw:green:tae-n";
gpios = <&gpiomm 5 GPIO_ACTIVE_LOW>;
};
fxs2 {
label = "arv752dpw:green:tae-u";
gpios = <&gpiomm 6 GPIO_ACTIVE_LOW>;
};
fxo {
label = "arv752dpw:green:isdn";
gpios = <&gpiomm 7 GPIO_ACTIVE_LOW>;
};
internet2 {
label = "arv752dpw:blue:internet";
gpios = <&gpiomm 8 GPIO_ACTIVE_LOW>;
};
voice2 {
label = "arv752dpw:blue:voice";
gpios = <&gpiomm 9 GPIO_ACTIVE_LOW>;
};
};
};
&gpio {
pinctrl-names = "default";
pinctrl-0 = <&state_default>;
state_default: pinmux {
ebu {
lantiq,groups = "ebu cs1";
lantiq,function = "ebu";
};
exin {
lantiq,groups = "exin1";
lantiq,function = "exin";
lantiq,pull = <2>;
lantiq,output = <0>;
};
pci_in {
lantiq,groups = "req2", "req1";
lantiq,function = "pci";
lantiq,open-drain = <1>;
lantiq,pull = <2>;
lantiq,output = <0>;
};
pci_out {
lantiq,groups = "gnt1";
lantiq,function = "pci";
lantiq,output = <1>;
};
pci_rst {
lantiq,pins = "io21";
lantiq,pull = <2>;
lantiq,output = <1>;
};
leds {
lantiq,pins = "io3", "io5", "io6", "io8";
lantiq,output = <1>;
lantiq,pull = <0>;
};
keys {
lantiq,pins = "io11", "io12", "io13", "io28";
lantiq,output = <0>;
lantiq,pull = <2>;
lantiq,open-drain = <1>;
};
};
usb_vbus: regulator-usb-vbus {
compatible = "regulator-fixed";
regulator-name = "USB_VBUS";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
gpio = <&gpiomm 0 GPIO_ACTIVE_HIGH>;
enable-active-high;
};
};
&gpiomm {
status = "okay";
lantiq,shadow = <0x3>;
};
&gsw {
phy-mode = "rmii";
mtd-mac-address = <&boardconfig 0x16>;
};
&localbus {
nor@0 {
compatible = "lantiq,nor";
bank-width = <2>;
reg = <0 0x0 0x800000>;
#address-cells = <1>;
#size-cells = <1>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "uboot";
reg = <0x00000 0x10000>;
read-only;
};
partition@10000 {
label = "uboot_env";
reg = <0x10000 0x10000>;
read-only;
};
partition@20000 {
label = "firmware";
reg = <0x20000 0x7d0000>;
};
boardconfig: partition@7f0000 {
label = "board_config";
reg = <0x7f0000 0x10000>;
read-only;
};
};
};
};
&pci0 {
status = "okay";
lantiq,external-clock;
gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
interrupt-map = <0x7000 0 0 1 &icu0 135>;
req-mask = <0x3>;
wifi@1814,0601 {
compatible = "pci1814,0601";
reg = <0x7000 0 0 0 0>;
ralink,mtd-eeprom = <&boardconfig 0x410>;
ralink,mtd-eeprom-swap;
};
};
&usb_phy {
status = "okay";
phy-supply = <&usb_vbus>;
};
&usb {
status = "okay";
};
&vmmc {
status = "okay";
gpios = <&gpiomm 1 GPIO_ACTIVE_HIGH>;
};

View File

@@ -0,0 +1,267 @@
/dts-v1/;
#include "danube.dtsi"
#include <dt-bindings/input/input.h>
/ {
compatible = "arcadyan,arv752dpw22", "lantiq,xway", "lantiq,danube";
model = "Arcor 803";
chosen {
bootargs = "console=ttyLTQ0,115200";
};
aliases {
led-boot = &power_red;
led-failsafe = &power_blue;
led-running = &power_red;
led-dsl = &internet_red;
led-usb = &umts;
led-wifi = &wifi;
};
memory@0 {
reg = <0x0 0x4000000>;
};
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
#size-cells = <0>;
poll-interval = <100>;
wps {
label = "wps";
gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WPS_BUTTON>;
};
restart {
label = "restart";
gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
linux,code = <KEY_POWER>;
};
dsl {
label = "dsl";
gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
linux,code = <BTN_0>;
};
reset {
label = "reset";
gpios = <&gpio 28 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
};
gpio-leds {
compatible = "gpio-leds";
power_blue: power1 {
label = "arv752dpw22:blue:power";
gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
};
internet_red: internet {
label = "arv752dpw22:red:internet";
gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
};
message {
label = "arv752dpw22:red:message";
gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
};
power_red: power {
label = "arv752dpw22:red:power";
gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
default-state = "keep";
};
voice1 {
label = "arv752dpw22:red:voice";
gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
};
umts: umts {
label = "arv752dpw22:red:umts";
gpios = <&gpiomm 3 GPIO_ACTIVE_LOW>;
};
wifi: wifi {
label = "arv752dpw22:red:wifi";
gpios = <&gpiomm 4 GPIO_ACTIVE_LOW>;
};
fxs1 {
label = "arv752dpw22:green:tae-n";
gpios = <&gpiomm 5 GPIO_ACTIVE_LOW>;
};
fxs2 {
label = "arv752dpw22:green:tae-u";
gpios = <&gpiomm 6 GPIO_ACTIVE_LOW>;
};
fxo {
label = "arv752dpw22:green:isdn";
gpios = <&gpiomm 7 GPIO_ACTIVE_LOW>;
};
internet2 {
label = "arv752dpw22:blue:internet";
gpios = <&gpiomm 8 GPIO_ACTIVE_LOW>;
};
voice2 {
label = "arv752dpw22:blue:voice";
gpios = <&gpiomm 9 GPIO_ACTIVE_LOW>;
};
eth1 {
label = "arv752dpw22:green:lan1";
gpios = <&gpiomm 11 GPIO_ACTIVE_LOW>;
};
eth2 {
label = "arv752dpw22:green:lan2";
gpios = <&gpiomm 12 GPIO_ACTIVE_LOW>;
};
eth3 {
label = "arv752dpw22:green:lan3";
gpios = <&gpiomm 13 GPIO_ACTIVE_LOW>;
};
eth4 {
label = "arv752dpw22:green:lan4";
gpios = <&gpiomm 14 GPIO_ACTIVE_LOW>;
};
};
usb_vbus: regulator-usb-vbus {
compatible = "regulator-fixed";
regulator-name = "USB_VBUS";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
gpio = <&gpiomm 0 GPIO_ACTIVE_HIGH>;
enable-active-high;
};
};
&gpio {
pinctrl-names = "default";
pinctrl-0 = <&state_default>;
state_default: pinmux {
ebu {
lantiq,groups = "ebu cs1";
lantiq,function = "ebu";
};
exin {
lantiq,groups = "exin1";
lantiq,function = "exin";
lantiq,pull = <2>;
lantiq,output = <0>;
};
pci_in {
lantiq,groups = "req1";
lantiq,function = "pci";
lantiq,pull = <2>;
lantiq,output = <0>;
};
pci_out {
lantiq,groups = "gnt1";
lantiq,function = "pci";
lantiq,open-drain = <1>;
lantiq,output = <1>;
};
pci_rst {
lantiq,pins = "io21";
lantiq,open-drain = <1>;
lantiq,output = <1>;
};
leds {
lantiq,pins = "io3", "io5", "io6", "io8";
lantiq,open-drain = <1>;
lantiq,output = <1>;
};
buttons {
lantiq,pins = "io11", "io12", "io13", "io28";
lantiq,pull = <2>;
lantiq,output = <0>;
};
};
};
&gpiomm {
status = "okay";
lantiq,shadow = <3>;
};
&gsw {
phy-mode = "mii";
mtd-mac-address = <&boardconfig 0x16>;
};
&localbus {
nor@0 {
compatible = "lantiq,nor";
bank-width = <2>;
reg = <0 0x0 0x800000>;
#address-cells = <1>;
#size-cells = <1>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "uboot";
reg = <0x00000 0x30000>;
read-only;
};
partition@10000 {
label = "uboot_env";
reg = <0x30000 0x10000>;
read-only;
};
partition@20000 {
label = "firmware";
reg = <0x40000 0x7b0000>;
};
boardconfig: partition@7f0000 {
label = "board_config";
reg = <0x7f0000 0x10000>;
read-only;
};
};
};
};
&pci0 {
status = "okay";
lantiq,external-clock;
interrupt-map = <
0x7000 0 0 1 &icu0 30
0x7800 0 0 1 &icu0 135
0x7800 0 0 2 &icu0 135
0x7800 0 0 3 &icu0 135
>;
gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
req-mask = <0x3>;
wifi@1814,3592 {
compatible = "pci1814,3592";
reg = <0x7000 0 0 0 0>;
ralink,mtd-eeprom = <&boardconfig 0x410>;
ralink,mtd-eeprom-swap;
mtd-mac-address = <&boardconfig 0x16>;
};
};
&usb_phy {
status = "okay";
phy-supply = <&usb_vbus>;
};
&usb {
status = "okay";
};
&vmmc {
status = "okay";
gpios = <&gpiomm 1 GPIO_ACTIVE_HIGH>;
};

View File

@@ -0,0 +1,191 @@
/dts-v1/;
#include "danube.dtsi"
#include <dt-bindings/input/input.h>
/ {
compatible = "arcadyan,arv8539pw22", "lantiq,xway", "lantiq,danube";
model = "Speedport W 504V Typ A";
chosen {
bootargs = "console=ttyLTQ0,115200";
};
aliases {
led-boot = &power_green;
led-failsafe = &power_red;
led-running = &power_green;
led-dsl = &dsl_green;
led-internet = &online_green;
led-wifi = &wireless_green;
};
memory@0 {
reg = <0x0 0x4000000>;
};
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
#size-cells = <0>;
poll-interval = <100>;
wlan {
label = "wlan";
gpios = <&gpio 29 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WPS_BUTTON>;
};
reset {
label = "reset";
gpios = <&gpio 30 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
/* key DECT is missing */
};
gpio-leds {
compatible = "gpio-leds";
power_green: power-green {
label = "arv8539pw22:green:power";
gpios = <&gpio 24 GPIO_ACTIVE_LOW>;
default-state = "keep";
};
power_red: power-red {
label = "arv8539pw22:red:power";
gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
};
dsl_green: dsl-green {
label = "arv8539pw22:green:dsl";
gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
};
online_green: online-green {
label = "arv8539pw22:green:online";
gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
};
wireless_green: wireless-green {
label = "arv8539pw22:green:wlan";
gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
};
/*
telefonie green is missing
*/
};
usb_vbus: regulator-usb-vbus {
compatible = "regulator-fixed";
regulator-name = "USB_VBUS";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
gpio = <&gpio 14 GPIO_ACTIVE_HIGH>;
enable-active-high;
};
};
&gpio {
pinctrl-names = "default";
pinctrl-0 = <&state_default>;
state_default: pinmux {
pci_in {
lantiq,groups = "req1";
lantiq,function = "pci";
lantiq,open-drain = <1>;
lantiq,pull = <2>;
lantiq,output = <0>;
};
pci_out {
lantiq,groups = "gnt1";
lantiq,function = "pci";
lantiq,output = <1>;
};
pci_rst {
lantiq,pins = "io21";
lantiq,pull = <2>;
lantiq,output = <1>;
};
relay {
lantiq,pins = "io31";
lantiq,output = <1>;
};
};
};
&gsw {
phy-mode = "mii";
mtd-mac-address = <&art 0x16>;
};
&localbus {
nor@0 {
compatible = "lantiq,nor";
bank-width = <2>;
reg = <0 0x0 0x800000>;
#address-cells = <1>;
#size-cells = <1>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "uboot";
reg = <0x00000 0x30000>; /* 192 KiB */
read-only;
};
partition@30000 {
label = "uboot";
reg = <0x30000 0x10000>; /* 64 KiB */
read-only;
};
partition@40000 {
label = "firmware";
reg = <0x40000 0x7B0000>; /* 7872 KiB */
};
art: partition@7F0000 {
label = "art";
reg = <0x7F0000 0x10000>; /* 64 KiB*/
read-only;
};
};
};
};
&pci0 {
status = "okay";
gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
wifi@168c,0029 {
compatible = "pci168c,0029";
reg = <0x7000 0 0 0 0>;
qca,no-eeprom; /* load from ath9k-eeprom-pci-0000:00:0e.0.bin */
mtd-mac-address = <&art 0x16>;
mtd-mac-address-increment = <1>;
};
};
&usb_phy {
status = "okay";
phy-supply = <&usb_vbus>;
};
&usb {
status = "okay";
};
&vmmc {
status = "okay";
gpios = <&gpio 31 GPIO_ACTIVE_HIGH>;
};

View File

@@ -0,0 +1,172 @@
/dts-v1/;
#include "vr9.dtsi"
#include <dt-bindings/input/input.h>
#include <dt-bindings/mips/lantiq_rcu_gphy.h>
/ {
compatible = "alphanetworks,asl56026", "lantiq,xway", "lantiq,vr9";
model = "BT OpenReach VDSL Modem";
chosen {
bootargs = "console=ttyLTQ0,115200";
};
aliases {
led-boot = &power_green;
led-failsafe = &power_red;
led-running = &power_green;
led-dsl = &dsl;
};
memory@0 {
reg = <0x0 0x2000000>;
};
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
#size-cells = <0>;
poll-interval = <100>;
reset {
label = "reset";
gpios = <&gpio 40 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
};
gpio-leds {
compatible = "gpio-leds";
dsl: dsl {
label = "asl56026:green:dsl";
gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
};
/* power-* is a bicolour led */
power_green: power_green {
label = "asl56026:green:power";
gpios = <&gpio 17 GPIO_ACTIVE_HIGH>;
default-state = "keep";
};
power_red: power_red {
label = "asl56026:red:power";
gpios = <&gpio 18 GPIO_ACTIVE_HIGH>;
};
};
gpio_export {
compatible = "gpio-export";
#size-cells = <0>;
power_led_blink {
gpio-export,name = "power_led_blink";
gpio-export,output = <0>;
gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
};
};
};
&eth0 {
lan: interface@0 {
compatible = "lantiq,xrx200-pdi";
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
lantiq,switch;
ethernet@2 {
compatible = "lantiq,xrx200-pdi-port";
reg = <2>;
phy-mode = "mii";
phy-handle = <&phy11>;
};
ethernet@3 {
compatible = "lantiq,xrx200-pdi-port";
reg = <3>;
phy-mode = "mii";
phy-handle = <&phy14>;
};
};
mdio@0 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "lantiq,xrx200-mdio";
reg = <0>;
phy11: ethernet-phy@11 {
reg = <0x11>;
compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22";
};
phy14: ethernet-phy@14 {
reg = <0x14>;
compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22";
};
};
};
&gphy0 {
lantiq,gphy-mode = <GPHY_MODE_FE>;
};
&gphy1 {
lantiq,gphy-mode = <GPHY_MODE_FE>;
};
&gpio {
pinctrl-names = "default";
pinctrl-0 = <&state_default>;
state_default: pinmux {
mdio {
lantiq,groups = "mdio";
lantiq,function = "mdio";
};
};
};
&localbus {
nor@0 {
compatible = "lantiq,nor";
bank-width = <2>;
reg = <0 0x0 0x0800000>;
#address-cells = <1>;
#size-cells = <1>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "uboot";
reg = <0x0 0x30000>;
};
partition@30000 {
label = "uboot_env";
reg = <0x30000 0x10000>;
};
partition@40000 {
label = "firmware";
reg = <0x40000 0x750000>;
};
partition@790000 {
label = "ddrconfig";
reg = <0x790000 0x70000>;
read-only;
};
};
};
};

View File

@@ -0,0 +1,262 @@
/dts-v1/;
#include "danube.dtsi"
#include <dt-bindings/input/input.h>
/ {
compatible = "bt,homehub-v2b", "lantiq,xway", "lantiq,danube";
model = "BT Home Hub 2B"; /* SoC: Lantiq Danube-S PSB 50712 @ 333MHz V1.3/1.5 */
chosen {
bootargs = "console=ttyLTQ0,115200";
};
aliases {
led-boot = &power_orange;
led-failsafe = &power_red;
led-running = &power_blue;
led-dsl = &broadband_blue;
led-wifi = &wireless_blue;
};
memory@0 { /* RAM: Samsung K4H511638F-LC 64MB */
reg = <0x0 0x4000000>;
};
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
#size-cells = <0>;
poll-interval = <100>;
reset {
label = "reset";
gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
findhandset {
label = "findhandset";
gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
linux,code = <KEY_PHONE>;
};
wps {
label = "wps";
gpios = <&gpio 22 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WPS_BUTTON>;
};
};
gpio-leds {
compatible = "gpio-leds";
upgrading-orange {
label = "bthomehubv2b:orange:upgrading";
gpios = <&gpios 5 GPIO_ACTIVE_HIGH>;
};
phone-orange {
label = "bthomehubv2b:orange:phone";
gpios = <&gpios 6 GPIO_ACTIVE_HIGH>;
};
phone-blue {
label = "bthomehubv2b:blue:phone";
gpios = <&gpios 7 GPIO_ACTIVE_HIGH>;
};
wireless-orange {
label = "bthomehubv2b:orange:wireless";
gpios = <&gpios 8 GPIO_ACTIVE_HIGH>;
};
wireless_blue: wireless-blue {
label = "bthomehubv2b:blue:wireless";
gpios = <&gpios 9 GPIO_ACTIVE_HIGH>;
};
broadband-red {
label = "bthomehubv2b:red:broadband";
gpios = <&gpios 10 GPIO_ACTIVE_HIGH>;
};
broadband-orange {
label = "bthomehubv2b:orange:broadband";
gpios = <&gpios 11 GPIO_ACTIVE_HIGH>;
};
broadband_blue: broadband-blue {
label = "bthomehubv2b:blue:broadband";
gpios = <&gpios 12 GPIO_ACTIVE_HIGH>;
};
power_red: power-red {
label = "bthomehubv2b:red:power";
gpios = <&gpios 13 GPIO_ACTIVE_HIGH>;
};
power_orange: power-orange {
label = "bthomehubv2b:orange:power";
gpios = <&gpios 14 GPIO_ACTIVE_HIGH>;
default-state = "keep";
};
power_blue: power-blue {
label = "bthomehubv2b:blue:power";
gpios = <&gpios 15 GPIO_ACTIVE_HIGH>;
};
};
};
&gpio {
pinctrl-names = "default";
pinctrl-0 = <&state_default>;
state_default: pinmux {
nand_out {
lantiq,groups = "nand cle", "nand ale";
lantiq,function = "ebu";
lantiq,output = <1>;
lantiq,open-drain = <0>;
lantiq,pull = <0>;
};
nand_cs1 {
lantiq,groups = "nand cs1";
lantiq,function = "ebu";
lantiq,open-drain = <0>;
lantiq,pull = <0>;
};
exin {
lantiq,groups = "exin1";
lantiq,function = "exin";
};
pci_in {
lantiq,groups = "req1";
lantiq,function = "pci";
lantiq,output = <0>;
lantiq,open-drain = <1>;
lantiq,pull = <2>;
};
pci_out {
lantiq,groups = "gnt1";
lantiq,function = "pci";
lantiq,output = <1>;
lantiq,open-drain = <0>;
lantiq,pull = <0>;
};
pci_rst {
lantiq,pins = "io21";
lantiq,output = <1>;
lantiq,open-drain = <0>;
};
btn_in {
lantiq,pins = "io2", "io15", "io22";
lantiq,output = <0>;
lantiq,open-drain = <1>;
lantiq,pull = <2>;
};
};
};
&gpios {
status = "okay";
};
&gsw {
phy-mode = "rmii";
};
&localbus {
nor@0 { /* NOR Flash: Spansion S29AL004D 512KB */
compatible = "lantiq,nor"; /* "AMD AM29LV400BB" compatible on 3.3.8 */
lantiq,cs = <0>;
bank-width = <2>;
reg = <0 0x0 0x80000>;
#address-cells = <1>;
#size-cells = <1>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "uboot";
reg = <0x00000 0x40000>; /* 256KB */
};
partition@40000 {
label = "uboot_env";
reg = <0x40000 0x10000>; /* 64KB */
};
partition@50000 {
label = "rg_conf_1";
reg = <0x50000 0x10000>;
};
partition@60000 {
label = "rg_conf_2";
reg = <0x60000 0x10000>;
};
partition@70000 {
label = "rg_conf_factory";
reg = <0x70000 0x10000>;
};
};
};
nand@1 { /* NAND Flash: Samsung K9F5608U0D-JIB0 32MB */
compatible = "lantiq,nand-xway";
lantiq,cs = <1>;
bank-width = <2>;
reg = <1 0x0 0x2000000 >;
#address-cells = <1>;
#size-cells = <1>;
req-mask = <0x1>; /* PCI request lines to mask during NAND access */
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
ath9k_cal: partition@0 {
label = "art"; /* Atheros 9160 wifi b/g/n radio EEPROM */
reg = <0x00000 0x4000>;
read-only;
};
partition@4000 {
label = "kernel";
reg = <0x4000 0x200000>;
};
partition@164000 {
label = "ubi";
reg = <0x204000 0x1DFC000>;
};
};
};
};
&pci0 {
status = "okay";
gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
wifi@168c,0027 {
compatible = "pci168c,0027";
reg = <0x7000 0 0 0 0>;
qca,no-eeprom; /* load from ath9k-eeprom-pci-0000:00:0e.0.bin */
};
};
&usb_phy {
status = "okay";
};
&usb {
status = "okay";
};
&vmmc {
status = "okay";
gpios = <&gpio 31 GPIO_ACTIVE_HIGH>;
};

View File

@@ -0,0 +1,215 @@
/dts-v1/;
#include "ar9.dtsi"
#include <dt-bindings/input/input.h>
/ {
compatible = "bt,homehub-v3a", "lantiq,xway", "lantiq,ar9";
model = "BT Home Hub 3A"; /* SoC: Lantiq ar9 @ 333MHz */
chosen {
bootargs = "console=ttyLTQ0,115200";
};
aliases {
led-boot = &power_orange;
led-failsafe = &power_red;
led-running = &power_blue;
led-dsl = &broadband_blue;
led-wifi = &wireless_blue;
};
memory@0 { /* RAM: Samsung K4H511638F-LC 64MB */
reg = <0x0 0x4000000>;
};
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
#size-cells = <0>;
poll-interval = <100>;
reset {
label = "reset";
gpios = <&gpio 54 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
restart {
label = "restart";
gpios = <&gpio 52 GPIO_ACTIVE_LOW>;
linux,code = <KEY_POWER>;
};
wps {
label = "wps";
gpios = <&gpio 53 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WPS_BUTTON>;
};
};
gpio-leds {
compatible = "gpio-leds";
wireless-red {
label = "bthomehubv3a:red:wireless";
gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
};
wireless-orange {
label = "bthomehubv3a:orange:wireless";
gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
};
wireless_blue: wireless-blue {
label = "bthomehubv3a:blue:wireless";
gpios = <&gpio 9 GPIO_ACTIVE_LOW>;
};
broadband-red {
label = "bthomehubv3a:red:broadband";
gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
};
broadband-orange {
label = "bthomehubv3a:orange:broadband";
gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
};
broadband_blue: broadband-blue {
label = "bthomehubv3a:blue:broadband";
gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
};
power_red: power-red {
label = "bthomehubv3a:red:power";
gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
};
power_orange: power-orange {
label = "bthomehubv3a:orange:power";
gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
default-state = "keep";
};
power_blue: power-blue {
label = "bthomehubv3a:blue:power";
gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
};
};
usb_vbus: regulator-usb-vbus {
compatible = "regulator-fixed";
regulator-name = "USB_VBUS";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
gpio = <&gpio 33 GPIO_ACTIVE_HIGH>;
enable-active-high;
};
};
&gpio {
pinctrl-names = "default";
pinctrl-0 = <&state_default>;
state_default: pinmux {
nand_out {
lantiq,groups = "nand cle", "nand ale";
lantiq,function = "ebu";
lantiq,output = <1>;
lantiq,open-drain = <0>;
lantiq,pull = <0>;
};
nand_cs1 {
lantiq,groups = "nand cs1";
lantiq,function = "ebu";
lantiq,open-drain = <0>;
lantiq,pull = <0>;
};
pci_in {
lantiq,groups = "req1";
lantiq,function = "pci";
lantiq,output = <0>;
lantiq,open-drain = <1>;
lantiq,pull = <2>;
};
pci_out {
lantiq,groups = "gnt1";
lantiq,function = "pci";
lantiq,output = <1>;
lantiq,open-drain = <0>;
lantiq,pull = <0>;
};
pci_rst {
lantiq,pins = "io21";
lantiq,output = <1>;
lantiq,open-drain = <0>;
};
};
};
&gsw {
phy-mode = "rgmii";
};
&localbus {
nand@1 { /* NAND Flash: Samsung K9F5608U0D-JIB0 32MB */
compatible = "lantiq,nand-xway";
lantiq,cs = <1>;
bank-width = <2>;
reg = <1 0x0 0x2000000 >;
#address-cells = <1>;
#size-cells = <1>;
req-mask = <0x1>; /* PCI request lines to mask during NAND access */
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "preboot";
reg = <0x00000 0x8000>;
read-only;
};
partition@8000 {
label = "u-boot";
reg = <0x8000 0x05c000>;
read-only;
};
partition@64000 {
label = "uboot_env";
reg = <0x64000 0x004000>;
};
ath9k_cal: partition@68000 {
label = "art-copy";
reg = <0x68000 0x004000>;
};
partition@6c000 {
label = "kernel";
reg = <0x6c000 0x200000>;
};
partition@26c000 {
label = "ubi";
reg = <0x26c000 0x1d94000>;
};
};
};
};
&pci0 {
status = "okay";
gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
ath9k@7000 {
reg = <0x7000 0 0 0 0>;
qca,no-eeprom; /* load from ath9k-eeprom-pci-0000:00:0e.0.bin */
};
};
&usb_phy0 {
status = "okay";
phy-supply = <&usb_vbus>;
};
&usb0 {
status = "okay";
};

View File

@@ -0,0 +1,299 @@
/dts-v1/;
#include "vr9.dtsi"
#include <dt-bindings/input/input.h>
#include <dt-bindings/mips/lantiq_rcu_gphy.h>
/ {
compatible = "bt,homehub-v5a", "lantiq,xway", "lantiq,vr9";
model = "BT Home Hub 5A";
chosen {
bootargs = "console=ttyLTQ0,115200";
};
aliases {
led-boot = &power_green;
led-failsafe = &power_red;
led-running = &power_blue;
led-dsl = &broadband_blue;
led-wifi = &wireless_blue;
};
memory@0 {
reg = <0x0 0x8000000>;
};
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
#size-cells = <0>;
poll-interval = <100>;
reset {
label = "reset";
gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
wps {
label = "wps";
gpios = <&gpio 25 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WPS_BUTTON>;
};
restart {
label = "restart";
gpios = <&gpio 39 GPIO_ACTIVE_LOW>;
linux,code = <KEY_POWER>;
};
};
gpio-leds {
compatible = "gpio-leds";
/* broadband-* is a single RGB led */
broadband-red {
label = "bthomehubv5a:red:broadband";
gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
};
broadband-green {
label = "bthomehubv5a:green:broadband";
gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
};
broadband_blue: broadband-blue {
label = "bthomehubv5a:blue:broadband";
gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
};
/* wireless-* is a single RGB led */
wireless-red {
label = "bthomehubv5a:red:wireless";
gpios = <&gpio 9 GPIO_ACTIVE_LOW>;
};
wireless-green {
label = "bthomehubv5a:green:wireless";
gpios = <&gpio 10 GPIO_ACTIVE_LOW>;
};
wireless_blue: wireless-blue {
label = "bthomehubv5a:blue:wireless";
gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
};
/* power-* is a single RGB led */
power_red: power-red {
label = "bthomehubv5a:red:power";
gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
};
power_green: power-green {
label = "bthomehubv5a:green:power";
gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
default-state = "keep";
};
power_blue: power-blue {
label = "bthomehubv5a:blue:power";
gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
};
dimmed {
label = "dimmed";
gpios = <&gpio 19 GPIO_ACTIVE_HIGH>;
};
};
usb_vbus: regulator-usb-vbus {
compatible = "regulator-fixed";
regulator-name = "USB_VBUS";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
gpio = <&gpio 33 GPIO_ACTIVE_HIGH>;
enable-active-high;
};
};
&eth0 {
lan: interface@0 {
compatible = "lantiq,xrx200-pdi";
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
lantiq,switch;
ethernet@0 {
compatible = "lantiq,xrx200-pdi-port";
reg = <0>;
phy-mode = "rgmii";
phy-handle = <&phy0>;
};
ethernet@1 {
compatible = "lantiq,xrx200-pdi-port";
reg = <1>;
phy-mode = "rgmii";
phy-handle = <&phy1>;
};
ethernet@2 {
compatible = "lantiq,xrx200-pdi-port";
reg = <2>;
phy-mode = "gmii";
phy-handle = <&phy11>;
};
ethernet@4 {
compatible = "lantiq,xrx200-pdi-port";
reg = <4>;
phy-mode = "gmii";
phy-handle = <&phy13>;
};
ethernet@5 {
compatible = "lantiq,xrx200-pdi-port";
reg = <5>;
phy-mode = "rgmii";
phy-handle = <&phy5>;
};
};
mdio@0 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "lantiq,xrx200-mdio";
reg = <0>;
phy0: ethernet-phy@0 {
reg = <0x0>;
compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
};
phy1: ethernet-phy@1 {
reg = <0x1>;
compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
};
phy5: ethernet-phy@5 {
reg = <0x5>;
compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
};
phy11: ethernet-phy@11 {
reg = <0x11>;
compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
};
phy13: ethernet-phy@13 {
reg = <0x13>;
compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
};
};
};
&gphy0 {
lantiq,gphy-mode = <GPHY_MODE_GE>;
};
&gphy1 {
lantiq,gphy-mode = <GPHY_MODE_GE>;
};
&gpio {
pinctrl-names = "default";
pinctrl-0 = <&state_default>;
state_default: pinmux {
mdio {
lantiq,groups = "mdio";
lantiq,function = "mdio";
};
pci_rst {
lantiq,pins = "io21";
lantiq,output = <1>;
lantiq,open-drain;
};
pcie_rst {
lantiq,pins = "io38";
lantiq,pull = <0>;
lantiq,output = <1>;
lantiq,open-drain;
};
usb_vbus {
lantiq,pins = "io33";
lantiq,pull = <0>;
lantiq,open-drain = <0>;
lantiq,output = <1>;
};
nand_out {
lantiq,groups = "nand cle", "nand ale";
lantiq,function = "ebu";
lantiq,output = <1>;
lantiq,open-drain = <0>;
lantiq,pull = <0>;
};
nand_cs1 {
lantiq,groups = "nand cs1";
lantiq,function = "ebu";
lantiq,open-drain = <0>;
lantiq,pull = <0>;
};
};
};
&localbus {
nand@1 {
compatible = "lantiq,nand-xway";
lantiq,cs = <1>;
bank-width = <2>;
reg = <0x1 0x0 0x2000000>;
#address-cells = <1>;
#size-cells = <1>;
nand-on-flash-bbt;
nand-ecc-strength = <3>;
nand-ecc-step-size = <256>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "u-boot";
reg = <0x0 0xa0000>;
read-only;
};
partition@a0000 {
label = "uboot-env";
reg = <0xa0000 0x20000>;
read-only;
};
partition@c0000 {
label = "unused";
reg = <0xc0000 0x40000>;
};
partition@100000 {
label = "ubi";
reg = <0x100000 0x7e80000>;
};
/*
* last 512 KiB are for the bad block table, not writable
*/
};
};
};
&pci0 {
status = "okay";
gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
wifi@168c,002d {
compatible = "pci168c,002d";
reg = <0x7000 0 0 0 0>;
qca,no-eeprom; /* load from ath9k-eeprom-pci-0000:00:0e.0.bin */
qca,disable-5ghz;
};
};
&usb_phy0 {
status = "okay";
phy-supply = <&usb_vbus>;
};
&usb0 {
status = "okay";
};

View File

@@ -0,0 +1,173 @@
/dts-v1/;
#include "amazonse.dtsi"
#include <dt-bindings/input/input.h>
/ {
compatible = "netgear,dgn1000b", "lantiq,xway", "lantiq,ase";
model = "Netgear DGN1000B";
chosen {
bootargs = "console=ttyLTQ0,115200";
};
aliases {
led-boot = &power;
led-failsafe = &power;
led-running = &power;
led-dsl = &dsl;
led-internet = &online_green;
};
memory@0 {
reg = <0x0 0x1000000>;
};
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
#size-cells = <0>;
poll-interval = <100>;
reset {
label = "reset";
gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
rfkill {
label = "rfkill";
gpios = <&gpio 25 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RFKILL>;
};
wps {
label = "wps";
gpios = <&gpio 29 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WPS_BUTTON>;
};
};
gpio-leds {
compatible = "gpio-leds";
dsl: dsl {
label = "dgn1000b:green:dsl";
gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
default-state = "on";
};
online_green: online {
label = "dgn1000b:green:online";
gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
default-state = "on";
};
online2 {
label = "dgn1000b:red:online";
gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
default-state = "on";
};
wps {
label = "dgn1000b:green:wps";
gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
default-state = "on";
};
power: power {
label = "dgn1000b:green:power";
gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
default-state = "keep";
};
/*
power red is missing
*/
};
};
&gpio {
pinctrl-names = "default";
pinctrl-0 = <&state_default>;
state_default: pinmux {
asc {
lantiq,groups = "asc";
lantiq,function = "asc";
};
keys_in {
lantiq,pins = "io0",/* "io25", */"io29";
lantiq,pull = <2>;
lantiq,open-drain = <1>;
};
};
pins_spi_default: pins_spi_default {
spi_in {
lantiq,groups = "spi_di";
lantiq,function = "spi";
};
spi_out {
lantiq,groups = "spi_do", "spi_clk",
"spi_cs1";
lantiq,function = "spi";
lantiq,output = <1>;
};
};
};
&gsw {
phy-mode = "mii";
mac-address = [ 00 11 22 33 44 55 ];
};
&spi {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pins_spi_default>;
m25p80@1 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "jedec,spi-nor";
reg = <1 0>;
spi-max-frequency = <5000000>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
reg = <0x0 0x20000>;
label = "SPI (RO) U-Boot Image";
read-only;
};
partition@20000 {
reg = <0x20000 0x10000>;
label = "ENV_MAC";
read-only;
};
partition@30000 {
reg = <0x30000 0x10000>;
label = "DPF";
read-only;
};
partition@40000 {
reg = <0x40000 0x10000>;
label = "NVRAM";
read-only;
};
partition@500000 {
reg = <0x50000 0x003a0000>;
label = "kernel";
};
};
};
};
&usb_phy {
status = "okay";
};
&usb {
status = "okay";
};

View File

@@ -0,0 +1,8 @@
/dts-v1/;
#include "DGN3500.dtsi"
/ {
compatible = "netgear,dgn3500", "lantiq,xway", "lantiq,ar9";
model = "Netgear DGN3500";
};

View File

@@ -0,0 +1,213 @@
#include "ar9.dtsi"
#include <dt-bindings/input/input.h>
/ {
chosen {
bootargs = "root= console=ttyLTQ0,115200";
};
aliases {
led-boot = &power_green;
led-failsafe = &power_red;
led-running = &power_green;
led-dsl = &dsl;
led-internet = &internet;
led-usb = &led_usb;
led-wifi = &wifi_green;
};
memory@0 {
reg = <0x0 0x4000000>;
};
rtl8366rb {
compatible = "realtek,rtl8366rb";
gpio-sda = <&gpio 35 GPIO_ACTIVE_HIGH>;
gpio-sck = <&gpio 37 GPIO_ACTIVE_HIGH>;
realtek,initvals = <
0x0000 0x0830
0x0400 0x8130
0x000A 0x83ED
0x0F51 0x0017
0x02F5 0x0048
0x02FA 0xFFDF
0x02FB 0xFFE0
0x0450 0x0000
0x0401 0x0000
0x0431 0x0960
>;
};
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
#size-cells = <0>;
poll-interval = <100>;
rfkill {
label = "rfkill";
gpios = <&gpio 36 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RFKILL>;
};
wps {
label = "wps";
gpios = <&gpio 54 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WPS_BUTTON>;
};
reset {
label = "reset";
gpios = <&gpio 53 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
};
gpio-leds {
compatible = "gpio-leds";
internet: internet {
label = "dgn3500:green:internet";
gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
};
internet2 {
label = "dgn3500:red:internet";
gpios = <&gpio 30 GPIO_ACTIVE_LOW>;
};
dsl: dsl {
label = "dgn3500:green:dsl";
gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
};
led_usb: usb {
label = "dgn3500:green:usb";
gpios = <&gpio 22 GPIO_ACTIVE_LOW>;
};
power_green: power {
label = "dgn3500:green:power";
gpios = <&gpio 34 GPIO_ACTIVE_LOW>;
default-state = "keep";
};
power_red: power2 {
label = "dgn3500:red:power";
gpios = <&gpio 39 GPIO_ACTIVE_LOW>;
};
wifi_green: wifi {
label = "dgn3500:green:wireless";
gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
};
wifi2 {
label = "dgn3500:amber:wireless";
gpios = <&gpio 51 GPIO_ACTIVE_LOW>;
};
wps {
label = "dgn3500:green:wps";
gpios = <&gpio 52 GPIO_ACTIVE_LOW>;
};
};
};
&gpio {
pinctrl-names = "default";
pinctrl-0 = <&state_default>;
state_default: pinmux {
exin {
lantiq,groups = "exin1";
lantiq,function = "exin";
};
pci {
lantiq,groups = "gnt1", "req1";
lantiq,function = "pci";
};
pci-in {
lantiq,groups = "req1";
lantiq,output = <0>;
lantiq,open-drain = <1>;
lantiq,pull = <2>;
};
pci-out {
lantiq,groups = "gnt1";
lantiq,output = <1>;
lantiq,pull = <0>;
};
};
pins_spi_default: pins_spi_default {
spi_in {
lantiq,groups = "spi_di";
lantiq,function = "spi";
};
spi_out {
lantiq,groups = "spi_do", "spi_clk",
"spi_cs4";
lantiq,function = "spi";
lantiq,output = <1>;
};
};
};
&gsw {
phy-mode = "mii";
};
&pci0 {
status = "okay";
gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
wifi@168c,0029 {
compatible = "pci168c,0029";
reg = <0x7000 0 0 0 0>;
qca,no-eeprom; /* load from ath9k-eeprom-pci-0000:00:0e.0.bin */
};
};
&spi {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pins_spi_default>;
m25p80@4 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "jedec,spi-nor";
reg = <4 0>;
spi-max-frequency = <20000000>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
reg = <0x0 0x10000>;
label = "uboot";
read-only;
};
partition@10000 {
reg = <0x10000 0x10000>;
label = "uboot-env";
read-only;
};
ath9k_cal: partition@20000 {
reg = <0x20000 0x10000>;
label = "calibration";
read-only;
};
partition@50000 {
reg = <0x50000 0xfa0000>;
label = "firmware";
};
};
};
};
&usb_phy0 {
status = "okay";
};
&usb0 {
status = "okay";
};

View File

@@ -0,0 +1,8 @@
/dts-v1/;
#include "DGN3500.dtsi"
/ {
compatible = "netgear,dgn3500b", "lantiq,xway", "lantiq,ar9";
model = "Netgear DGN3500B";
};

View File

@@ -0,0 +1,216 @@
/dts-v1/;
#include "vr9.dtsi"
#include <dt-bindings/input/input.h>
#include <dt-bindings/mips/lantiq_rcu_gphy.h>
/ {
compatible = "netgear,dm200", "lantiq,xway", "lantiq,vr9";
model = "Netgear DM200";
chosen {
bootargs = "console=ttyLTQ0,115200";
};
aliases {
led-boot = &power_green;
led-failsafe = &power_amber;
led-running = &power_green;
led-dsl = &dsl_green;
};
memory@0 {
reg = <0x0 0x4000000>;
};
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
#size-cells = <0>;
poll-interval = <100>;
reset {
label = "reset";
gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
};
gpio_export {
compatible = "gpio-export";
#size-cells = <0>;
annexa {
gpio-export,name = "annexa";
gpio-export,output = <0>;
gpios = <&gpio 12 GPIO_ACTIVE_HIGH>;
};
annexb {
gpio-export,name = "annexb";
gpio-export,output = <0>;
gpios = <&gpio 15 GPIO_ACTIVE_HIGH>;
};
};
gpio-leds {
compatible = "gpio-leds";
power_amber: power_amber {
label = "dm200:amber:power";
gpios = <&gpio 0 GPIO_ACTIVE_HIGH>;
};
power_green: power_green {
label = "dm200:green:power";
gpios = <&gpio 1 GPIO_ACTIVE_HIGH>;
};
lan_amber {
label = "dm200:amber:lan";
gpios = <&gpio 33 GPIO_ACTIVE_HIGH>;
};
lan_green {
label = "dm200:green:lan";
gpios = <&gpio 11 GPIO_ACTIVE_HIGH>;
};
dsl_amber {
label = "dm200:amber:dsl";
gpios = <&gpio 8 GPIO_ACTIVE_HIGH>;
};
dsl_green: dsl_green {
label = "dm200:green:dsl";
gpios = <&gpio 36 GPIO_ACTIVE_HIGH>;
};
};
};
&eth0 {
lantiq,phys = <&gphy1>;
lan: interface@0 {
compatible = "lantiq,xrx200-pdi";
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
ethernet@4 {
compatible = "lantiq,xrx200-pdi-port";
reg = <4>;
phy-mode = "mii";
phy-handle = <&phy13>;
};
};
mdio@0 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "lantiq,xrx200-mdio";
reg = <0>;
phy13: ethernet-phy@13 {
reg = <0x13>;
compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22";
};
};
};
&gphy1 {
lantiq,gphy-mode = <GPHY_MODE_FE>;
};
&gpio {
pinctrl-names = "default";
pinctrl-0 = <&state_default>;
state_default: pinmux {
mdio {
lantiq,groups = "mdio";
lantiq,function = "mdio";
};
};
pins_spi_default: pins_spi_default {
spi_in {
lantiq,groups = "spi_di";
lantiq,function = "spi";
};
spi_out {
lantiq,groups = "spi_do", "spi_clk", "spi_cs4";
lantiq,function = "spi";
lantiq,output = <1>;
};
};
};
&pcie0 {
status = "disabled";
};
&spi {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pins_spi_default>;
m25p80@4 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "jedec,spi-nor";
reg = <4 0>;
spi-max-frequency = <10000000>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
reg = <0x0 0x20000>;
label = "uboot";
read-only;
};
partition@20000 {
reg = <0x20000 0x10000>;
label = "gphyfirmware";
read-only;
};
partition@30000 {
reg = <0x30000 0x7b0000>;
label = "firmware";
};
partition@7e0000 {
reg = <0x7e0000 0x10000>;
label = "sysconfig";
read-only;
};
partition@7f0000 {
reg = <0x7f0000 0x2000>;
label = "ubootconfig";
read-only;
};
partition@7f2000 {
reg = <0x7f2000 0x1000>;
label = "ART";
read-only;
};
partition@7f3000 {
reg = <0x7f3000 0x1000>;
label = "pot";
read-only;
};
partition@7f4000 {
reg = <0x7f4000 0xc000>;
label = "ret";
read-only;
};
};
};
};

View File

@@ -0,0 +1,81 @@
/dts-v1/;
#include "danube.dtsi"
/ {
compatible = "lantiq,easy50712", "lantiq,xway", "lantiq,danube";
model = "Intel EASY50712 Nand";
chosen {
bootargs = "console=ttyLTQ0,115200";
};
memory@0 {
reg = <0x0 0x2000000>;
};
};
&gpio {
pinctrl-names = "default";
pinctrl-0 = <&state_default>;
state_default: pinmux {
stp {
lantiq,groups = "stp";
lantiq,function = "stp";
};
exin {
lantiq,groups = "exin1";
lantiq,function = "exin";
};
pci {
lantiq,groups = "gnt1";
lantiq,function = "pci";
};
conf_out {
lantiq,pins = "io4", "io5", "io6"; /* stp */
lantiq,open-drain;
lantiq,pull = <0>;
};
};
};
&gsw {
phy-mode = "rmii";
};
&localbus {
nor@0 {
compatible = "lantiq,nor";
bank-width = <2>;
reg = <0 0x0 0x2000000>;
#address-cells = <1>;
#size-cells = <1>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "uboot";
reg = <0x00000 0x10000>; /* 64 KB */
};
partition@10000 {
label = "uboot_env";
reg = <0x10000 0x10000>; /* 64 KB */
};
partition@20000 {
label = "firmware";
reg = <0x20000 0x3d0000>;
};
partition@400000 {
label = "rootfs";
reg = <0x400000 0x400000>;
};
};
};
};

View File

@@ -0,0 +1,87 @@
/dts-v1/;
#include "ar9.dtsi"
/ {
compatible = "lantiq,easy50810", "lantiq,xway", "lantiq,ar9";
model = "Lantiq EASY50810";
chosen {
bootargs = "console=ttyLTQ0,115200";
};
memory@0 {
reg = <0x0 0x2000000>;
};
};
&gpio {
pinctrl-names = "default";
pinctrl-0 = <&state_default>;
state_default: pinmux {
stp {
lantiq,groups = "stp";
lantiq,function = "stp";
};
exin {
lantiq,groups = "exin1";
lantiq,function = "exin";
};
pci {
lantiq,groups = "gnt1";
lantiq,function = "pci";
};
conf_out {
lantiq,pins = "io4", "io5", "io6"; /* stp */
lantiq,open-drain;
lantiq,pull = <0>;
};
};
};
&gsw {
phy-mode = "rmii";
};
&localbus {
nor@0 {
compatible = "lantiq,nor";
bank-width = <2>;
reg = <0 0x0 0x2000000>;
#address-cells = <1>;
#size-cells = <1>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "uboot";
reg = <0x00000 0x10000>; /* 64 KB */
};
partition@10000 {
label = "uboot_env";
reg = <0x10000 0x10000>; /* 64 KB */
};
partition@20000 {
label = "firmware";
reg = <0x20000 0x3d0000>;
};
partition@400000 {
label = "rootfs";
reg = <0x400000 0x400000>;
};
};
};
};
&stp {
status = "okay";
lantiq,shadow = <0xfff>;
lantiq,groups = <0x3>;
};

View File

@@ -0,0 +1,312 @@
#include "vr9.dtsi"
#include <dt-bindings/input/input.h>
#include <dt-bindings/mips/lantiq_rcu_gphy.h>
/ {
compatible = "lantiq,easy80920", "lantiq,xway", "lantiq,vr9";
chosen {
bootargs = "console=ttyLTQ0,115200";
};
aliases {
led-boot = &power;
led-failsafe = &power;
led-running = &power;
led-usb = &led_usb1;
led-usb2 = &led_usb2;
};
memory@0 {
reg = <0x0 0x4000000>;
};
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
#size-cells = <0>;
poll-interval = <100>;
/* reset {
label = "reset";
gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};*/
paging {
label = "paging";
gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
linux,code = <KEY_PHONE>;
};
};
gpio-leds {
compatible = "gpio-leds";
power: power {
label = "easy80920:green:power";
gpios = <&stp 9 GPIO_ACTIVE_HIGH>;
default-state = "keep";
};
warning {
label = "easy80920:green:warning";
gpios = <&stp 22 GPIO_ACTIVE_HIGH>;
};
fxs1 {
label = "easy80920:green:fxs1";
gpios = <&stp 21 GPIO_ACTIVE_HIGH>;
};
fxs2 {
label = "easy80920:green:fxs2";
gpios = <&stp 20 GPIO_ACTIVE_HIGH>;
};
fxo {
label = "easy80920:green:fxo";
gpios = <&stp 19 GPIO_ACTIVE_HIGH>;
};
led_usb1: usb1 {
label = "easy80920:green:usb1";
gpios = <&stp 18 GPIO_ACTIVE_HIGH>;
};
led_usb2: usb2 {
label = "easy80920:green:usb2";
gpios = <&stp 15 GPIO_ACTIVE_HIGH>;
};
sd {
label = "easy80920:green:sd";
gpios = <&stp 14 GPIO_ACTIVE_HIGH>;
};
wps {
label = "easy80920:green:wps";
gpios = <&stp 12 GPIO_ACTIVE_HIGH>;
};
};
usb_vbus: regulator-usb-vbus {
compatible = "regulator-fixed";
regulator-name = "USB_VBUS";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
gpio = <&gpio 33 GPIO_ACTIVE_HIGH>;
enable-active-high;
};
};
&eth0 {
lan: interface@0 {
compatible = "lantiq,xrx200-pdi";
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
lantiq,switch;
ethernet@4 {
compatible = "lantiq,xrx200-pdi-port";
reg = <4>;
phy-mode = "gmii";
phy-handle = <&phy13>;
};
ethernet@2 {
compatible = "lantiq,xrx200-pdi-port";
reg = <2>;
phy-mode = "gmii";
phy-handle = <&phy11>;
};
ethernet@1 {
compatible = "lantiq,xrx200-pdi-port";
reg = <1>;
phy-mode = "rgmii";
phy-handle = <&phy1>;
};
ethernet@0 {
compatible = "lantiq,xrx200-pdi-port";
reg = <0>;
phy-mode = "rgmii";
phy-handle = <&phy0>;
};
};
wan: interface@1 {
compatible = "lantiq,xrx200-pdi";
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
lantiq,wan;
ethernet@5 {
compatible = "lantiq,xrx200-pdi-port";
reg = <5>;
phy-mode = "rgmii";
phy-handle = <&phy5>;
};
};
mdio@0 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "lantiq,xrx200-mdio";
reg = <0>;
phy0: ethernet-phy@0 {
reg = <0x0>;
compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
};
phy1: ethernet-phy@1 {
reg = <0x1>;
compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
};
phy5: ethernet-phy@5 {
reg = <0x5>;
compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
};
phy11: ethernet-phy@11 {
reg = <0x11>;
compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
};
phy13: ethernet-phy@13 {
reg = <0x13>;
compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
};
};
};
&gphy0 {
lantiq,gphy-mode = <GPHY_MODE_GE>;
};
&gphy1 {
lantiq,gphy-mode = <GPHY_MODE_GE>;
};
&gpio {
pinctrl-names = "default";
pinctrl-0 = <&state_default>;
state_default: pinmux {
exin3 {
lantiq,groups = "exin3";
lantiq,function = "exin";
};
stp {
lantiq,groups = "stp";
lantiq,function = "stp";
};
nand {
lantiq,groups = "nand cle", "nand ale",
"nand rd", "nand rdy";
lantiq,function = "ebu";
};
mdio {
lantiq,groups = "mdio";
lantiq,function = "mdio";
};
pci {
lantiq,groups = "gnt1", "req1";
lantiq,function = "pci";
};
conf_out {
lantiq,pins = "io24", "io13", "io49", /* nand cle, ale and rd */
"io4", "io5", "io6", /* stp */
"io21",
"io33";
lantiq,open-drain;
lantiq,pull = <0>;
lantiq,output = <1>;
};
pcie-rst {
lantiq,pins = "io38";
lantiq,pull = <0>;
lantiq,output = <1>;
};
conf_in {
lantiq,pins = "io39", /* exin3 */
"io48"; /* nand rdy */
lantiq,pull = <2>;
};
};
pins_spi_default: pins_spi_default {
spi_in {
lantiq,groups = "spi_di";
lantiq,function = "spi";
};
spi_out {
lantiq,groups = "spi_do", "spi_clk",
"spi_cs4";
lantiq,function = "spi";
lantiq,output = <1>;
};
};
};
&spi {
pinctrl-names = "default";
pinctrl-0 = <&pins_spi_default>;
status = "okay";
m25p80@4 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "jedec,spi-nor";
reg = <4 0>;
spi-max-frequency = <1000000>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
reg = <0x0 0x20000>;
label = "SPI (RO) U-Boot Image";
read-only;
};
partition@20000 {
reg = <0x20000 0x10000>;
label = "ENV_MAC";
read-only;
};
partition@30000 {
reg = <0x30000 0x10000>;
label = "DPF";
read-only;
};
partition@40000 {
reg = <0x40000 0x10000>;
label = "NVRAM";
read-only;
};
partition@500000 {
reg = <0x50000 0x003a0000>;
label = "kernel";
};
};
};
};
&stp {
status = "okay";
lantiq,shadow = <0xffff>;
lantiq,groups = <0x7>;
lantiq,dsl = <0x3>;
lantiq,phy1 = <0x7>;
lantiq,phy2 = <0x7>;
/* lantiq,rising; */
};
&usb_phy0 {
status = "okay";
phy-supply = <&usb_vbus>;
};
&usb0 {
status = "okay";
};

View File

@@ -0,0 +1,65 @@
/dts-v1/;
#include "EASY80920.dtsi"
/ {
compatible = "lantiq,easy80920-nand", "lantiq,easy80920", "lantiq,xway", "lantiq,vr9";
model = "Intel EASY80920 Nand";
chosen {
bootargs = "ubi.mtd=ubi ubi.block=0,rootfsA root=/dev/ubiblock0_1";
};
};
&localbus {
nand@0 {
compatible = "lantiq,nand-xway";
lantiq,cs = <1>;
bank-width = <2>;
reg = <0 0x0 0x2000000>;
#address-cells = <1>;
#size-cells = <1>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "uboot";
reg = <0x00000 0x100000>; /* 1024 KB */
};
partition@100000 {
label = "uboot_env";
reg = <0x100000 0x40000>; /* 256 KB */
};
partition@140000 {
label = "ubootconfigB";
reg = <0x140000 0x40000>; /* 256 KB */
};
partition@180000 {
label = "gphyfirmware";
reg = <0x180000 0x40000>; /* 256 KB */
};
partition@1c0000 {
label = "ubi";
reg = <0x1c0000 0xc800000>;
};
partition@c9c0000 {
label = "calibration";
reg = <0xc9c0000 0x100000>;
};
partition@cac0000 {
label = "res";
reg = <0xcac0000 0x13540000>;
};
};
};
};

View File

@@ -0,0 +1,39 @@
/dts-v1/;
#include "EASY80920.dtsi"
/ {
compatible = "lantiq,easy80920-nor", "lantiq,easy80920", "lantiq,xway", "lantiq,vr9";
model = "Intel EASY80920 Nor";
};
&localbus {
nor@0 {
compatible = "lantiq,nor";
bank-width = <2>;
reg = <0 0x0 0x2000000>;
#address-cells = <1>;
#size-cells = <1>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "uboot";
reg = <0x00000 0x10000>;
};
partition@10000 {
label = "uboot_env";
reg = <0x10000 0x10000>;
};
partition@20000 {
label = "firmware";
reg = <0x20000 0x7e0000>;
};
};
};
};

View File

@@ -0,0 +1,106 @@
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include "falcon.dtsi"
#include "falcon-sflash-16M.dtsi"
/ {
model = "Lantiq Falcon FTTDP8 Reference Board";
compatible = "lantiq,easy88388", "lantiq,falcon";
aliases {
spi0 = &ebu_cs0;
};
memory@0 {
device_type = "memory";
reg = <0x0 0x4000000>; // 64M at 0x0
};
gpio-keys {
compatible = "gpio-keys";
reset {
label = "reset";
gpios = <&gpio0 1 GPIO_ACTIVE_LOW>;
linux,code = <0x198>;
};
};
pinctrl {
led_pins: led-pins {
lantiq,pins = "io34", "io35", "io36", "io37", "io38",
"io39", "io40", "io41";
lantiq,function = "gpio";
};
};
easy88388-leds {
compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&led_pins &bootled_pins>;
GPON {
label = "easy88388:green:gpon";
gpios = <&gpio0 11 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
TEST {
label = "easy88388:green:test";
gpios = <&gpio0 14 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
STATUS {
label = "easy88388:green:status";
gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
ERROR {
label = "easy88388:red:error";
gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
DSL1 {
label = "easy88388:dsl:1";
gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
DSL2 {
label = "easy88388:dsl:2";
gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
DSL3 {
label = "easy88388:dsl:3";
gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
DSL4 {
label = "easy88388:dsl:4";
gpios = <&gpio1 3 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
DSL5 {
label = "easy88388:dsl:5";
gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
DSL6 {
label = "easy88388:dsl:6";
gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
DSL7 {
label = "easy88388:dsl:7";
gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
DSL8 {
label = "easy88388:dsl:8";
gpios = <&gpio1 9 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
};
};

View File

@@ -0,0 +1,80 @@
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include "falcon.dtsi"
#include "falcon-sflash-16M.dtsi"
/ {
model = "Lantiq Falcon FTTdp G.FAST Reference Board";
compatible = "lantiq,easy88444", "lantiq,falcon";
aliases {
spi0 = &ebu_cs0;
};
memory@0 {
device_type = "memory";
reg = <0x0 0x4000000>; // 64M at 0x0
};
gpio-keys {
compatible = "gpio-keys";
reset {
label = "reset";
gpios = <&gpio0 1 GPIO_ACTIVE_LOW>;
linux,code = <0x198>;
};
};
pinctrl {
led_pins: led-pins {
lantiq,pins = "io34", "io35", "io37";
lantiq,function = "gpio";
};
};
easy88444-leds {
compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&led_pins &bootled_pins>;
GPON {
label = "easy88444:green:gpon";
gpios = <&gpio0 11 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
TEST {
label = "easy88444:green:test";
gpios = <&gpio0 14 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
STATUS {
label = "easy88444:green:status";
gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
GFAST1 {
label = "easy88444:gfast:1";
gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
GFAST2 {
label = "easy88444:gfast:2";
gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
GFAST3 {
label = "easy88444:gfast:3";
gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
GFAST4 {
label = "easy88444:gfast:4";
gpios = <&gpio1 3 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
};
};

View File

@@ -0,0 +1,110 @@
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/gpio/gpio.h>
/ {
compatible = "lantiq,easy98000", "lantiq,falcon";
memory@0 {
device_type = "memory";
reg = <0x0 0x4000000>;
};
easy98000-leds {
compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&bootled_pins>;
LED_0 {
label = "easy98000:green:gpon";
gpios = <&gpio0 9 GPIO_ACTIVE_HIGH>;
default-state = "keep";
};
LED_1 {
label = "easy98000:red:gpon";
gpios = <&gpio0 10 GPIO_ACTIVE_HIGH>;
default-state = "keep";
};
LED_2 {
label = "easy98000:green:gpon_tx";
gpios = <&gpio0 11 GPIO_ACTIVE_HIGH>;
default-state = "keep";
};
LED_3 {
label = "easy98000:green:gpon_rx";
gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>;
default-state = "keep";
};
LED_4 {
label = "easy98000:green:voice";
gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>;
default-state = "keep";
};
LED_5 {
label = "easy98000:green:status";
gpios = <&gpio0 14 GPIO_ACTIVE_HIGH>;
default-state = "keep";
};
};
};
&ebu_cs1 {
eth0: ethernet@0000000 {
compatible = "davicom,dm9000";
device_type = "network";
reg = <0x0000003 0x1>, <0x0000001 0x1>;
reg-names = "addr", "data";
interrupt-parent = <&gpio1>;
#interrupt-cells = <2>;
interrupts = <10 IRQ_TYPE_LEVEL_LOW>;
local-mac-address = [ 00 00 00 00 00 00 ];
};
cpld@3c00000 {
compatible = "lantiq,easy98000_addon";
reg = <0x3c00000 0x2>;
};
cpld@3c0000c {
compatible = "lantiq,easy98000_cpld_led";
reg = <0x3c0000c 0x2>, <0x3c00012 0x2>;
};
};
/* // enable this for second uart:
&serial1 {
status = "okay";
};*/
&spi {
status = "okay";
eeprom@1 {
compatible = "atmel,at25", "atmel,at25160n";
reg = <2>;
spi-max-frequency = <1000000>;
spi-cpha;
spi-cpol;
pagesize = <32>;
size = <2048>;
address-width = <16>;
};
};
&i2c {
status = "okay";
clock-frequency = <100000>;
/* eeprom-emulation by OMU */
eeprom@50 {
compatible = "at,24c02";
reg = <0x50>;
};
eeprom@51 {
compatible = "at,24c02";
reg = <0x51>;
};
};

View File

@@ -0,0 +1,40 @@
/dts-v1/;
#include "falcon.dtsi"
#include "EASY98000-base.dtsi"
/ {
model = "Lantiq Falcon (NAND)";
compatible = "lantiq,easy98000-nand", "lantiq,easy98000", "lantiq,falcon";
aliases {
spi0 = &spi;
};
};
&ebu_cs0 {
gen_nand@0 {
compatible = "gen_nand", "lantiq,nand-falcon";
bank-width = <1>;
reg = <0x0 0x40000>;
#address-cells = <1>;
#size-cells = <1>;
linux,mtd-name = "gen_nand";
bbt-use-flash;
partition@0 {
label = "uboot";
reg = <0x00000 0x40000>;
};
partition@10000 {
label = "uboot_env";
reg = <0x40000 0x40000>;
};
partition@20000 {
label = "linux";
reg = <0x80000 0x3d0000>;
};
};
};

View File

@@ -0,0 +1,38 @@
/dts-v1/;
#include "falcon.dtsi"
#include "EASY98000-base.dtsi"
/ {
model = "Lantiq Falcon (NOR)";
compatible = "lantiq,easy98000-nor", "lantiq,easy98000", "lantiq,falcon";
aliases {
spi0 = &spi;
};
};
&ebu_cs0 {
cfi@0 {
compatible = "lantiq,nor";
bank-width = <2>;
reg = <0x0 0x4000000>;
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "uboot";
reg = <0x00000 0x40000>;
};
partition@10000 {
label = "uboot_env";
reg = <0x40000 0x40000>;
};
partition@20000 {
label = "linux";
reg = <0x80000 0x3d0000>;
};
};
};

View File

@@ -0,0 +1,16 @@
/dts-v1/;
#include "falcon.dtsi"
#include "EASY98000-base.dtsi"
#include "falcon-sflash-16M.dtsi"
/ {
model = "Lantiq Falcon (SFLASH)";
compatible = "lantiq,easy98000-sflash", "lantiq,easy98000", "lantiq,falcon";
aliases {
spi0 = &ebu_cs0;
spi1 = &spi;
};
};

View File

@@ -0,0 +1,95 @@
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include "falcon.dtsi"
#include "falcon-sflash-16M.dtsi"
/ {
model = "Lantiq Falcon Reference Board";
compatible = "lantiq,easy98020", "lantiq,falcon";
aliases {
spi0 = &ebu_cs0;
};
memory@0 {
device_type = "memory";
reg = <0x0 0x4000000>; // 64M at 0x0
};
gpio-keys {
compatible = "gpio-keys";
reset {
label = "reset";
gpios = <&gpio0 1 GPIO_ACTIVE_LOW>;
linux,code = <0x198>;
};
};
pinctrl {
led_pins: phy-led-pins {
lantiq,pins = "io42", "io41", "io38", "io37";
lantiq,function = "gpio";
};
};
easy98020-leds {
compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&bootled_pins>;
GPON {
label = "easy98020:green:gpon";
gpios = <&gpio0 9 GPIO_ACTIVE_HIGH>;
default-state = "keep";
};
TEST {
label = "easy98020:green:test";
gpios = <&gpio0 10 GPIO_ACTIVE_HIGH>;
default-state = "keep";
};
ETH {
label = "easy98020:green:status";
gpios = <&gpio0 11 GPIO_ACTIVE_HIGH>;
default-state = "keep";
};
VOICE {
label = "easy98020:green:voice";
gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>;
default-state = "keep";
};
VIDEO {
label = "easy98020:green:video";
gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>;
default-state = "keep";
};
};
easy98020-phy-leds {
compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&led_pins>;
GE0_ACT {
label = "easy98020:ge0_act";
gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
GE0_LINK {
label = "easy98020:ge0_link";
gpios = <&gpio1 9 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
GE1_ACT {
label = "easy98020:ge1_act";
gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
GE1_LINK {
label = "easy98020:ge1_link";
gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
};
};

View File

@@ -0,0 +1,68 @@
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include "falcon.dtsi"
#include "falcon-sflash-16M.dtsi"
/ {
model = "Lantiq Falcon Reference Board V1.8";
compatible = "lantiq,easy98020-v18", "lantiq,easy98020", "lantiq,falcon";
aliases {
spi0 = &ebu_cs0;
};
memory@0 {
device_type = "memory";
reg = <0x0 0x4000000>; // 64M at 0x0
};
gpio-keys {
compatible = "gpio-keys";
reset {
label = "reset";
gpios = <&gpio0 1 GPIO_ACTIVE_LOW>;
linux,code = <0x198>;
};
};
pinctrl {
led_pins: led-pins {
lantiq,pins = "io11", "io14", "io36", "io37", "io38";
lantiq,function = "gpio";
};
};
easy98020-leds {
compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&led_pins &bootled_pins>;
GPON {
label = "easy98020:green:gpon";
gpios = <&gpio0 11 GPIO_ACTIVE_HIGH>;
default-state = "keep";
};
TEST {
label = "easy98020:green:test";
gpios = <&gpio0 14 GPIO_ACTIVE_HIGH>;
default-state = "keep";
};
ETH {
label = "easy98020:green:status";
gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>;
default-state = "keep";
};
VOICE {
label = "easy98020:green:voice";
gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>;
default-state = "keep";
};
VIDEO {
label = "easy98020:green:video";
gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
default-state = "keep";
};
};
};

View File

@@ -0,0 +1,81 @@
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include "falcon.dtsi"
#include "falcon-sflash-16M.dtsi"
/ {
model = "Lantiq Falcon HGU Reference Board";
compatible = "lantiq,easy98021", "lantiq,easy98020", "lantiq,falcon";
aliases {
spi0 = &ebu_cs0;
};
memory@0 {
device_type = "memory";
reg = <0x0 0x4000000>; // 64M at 0x0
};
gpio-keys {
compatible = "gpio-keys";
reset {
label = "reset";
gpios = <&gpio0 1 GPIO_ACTIVE_LOW>;
linux,code = <0x198>;
};
};
gpio-mmc {
/* Place-holder for SIM-Card connector,
to list the used GPIOs, no official binding */
compatible = "gpio-mmc";
gpios = <&gpio0 3 GPIO_ACTIVE_HIGH>,
<&gpio0 3 GPIO_ACTIVE_HIGH>,
<&gpio0 2 GPIO_ACTIVE_HIGH>,
<0>; /* no CS */
gpio-names = "di", "do", "clk", "cs";
reset-gpio = <&gpio3 24 GPIO_ACTIVE_HIGH>;
};
pinctrl {
led_pins: led-pins {
lantiq,pins = "io11", "io14", "io36", "io37", "io38";
lantiq,function = "gpio";
};
};
easy98021-leds {
compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&led_pins &bootled_pins>;
GPON {
label = "easy98021:green:gpon";
gpios = <&gpio0 11 GPIO_ACTIVE_HIGH>;
default-state = "keep";
};
TEST {
label = "easy98021:red:test";
gpios = <&gpio0 14 GPIO_ACTIVE_HIGH>;
default-state = "keep";
};
ETH {
label = "easy98021:green:status";
gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>;
default-state = "keep";
};
VOICE {
label = "easy98021:green:voice";
gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>;
default-state = "keep";
};
SIMCARD {
label = "easy98021:green:simcard";
gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
default-state = "keep";
};
};
};

View File

@@ -0,0 +1,76 @@
/dts-v1/;
#include "falcon.dtsi"
#include "falcon-sflash-16M.dtsi"
/ {
model = "Lantiq Falcon SFP Stick with SyncE";
compatible = "lantiq,easy98035synce", "lantiq,falcon-sfp", "lantiq,falcon";
aliases {
spi0 = &ebu_cs0;
};
memory@0 {
device_type = "memory";
reg = <0x0 0x4000000>; // 64M at 0x0
};
pinctrl {
compatible = "lantiq,pinctrl-falcon";
asc0_func1: func1 {
func1_tx {
lantiq,pins = "io32";
lantiq,mux = <1>;
lantiq,input = <0>;
};
func1_rx {
lantiq,pins = "io33";
lantiq,mux = <0>;
};
};
asc0_func2: func2 {
func2_tx {
lantiq,pins = "io32";
lantiq,mux = <0>;
};
func2_rx {
lantiq,pins = "io33";
lantiq,mux = <1>;
lantiq,input = <0>;
};
};
asc0_func3: func3 {
func3_tx {
lantiq,pins = "io32";
lantiq,mux = <1>;
lantiq,input = <0>;
};
func3_rx {
lantiq,pins = "io33";
lantiq,mux = <1>;
lantiq,input = <0>;
};
};
};
pinselect-asc0 {
compatible = "lantiq,pinselect-asc0";
pinctrl-names = "asc0", "func1", "func2", "func3";
pinctrl-0 = <&asc0_pins>;
pinctrl-1 = <&asc0_func1>;
pinctrl-2 = <&asc0_func2>;
pinctrl-3 = <&asc0_func3>;
};
};
&serial0 {
pinctrl-names = "default";
/* use "empty" pinctrl to leave setting from u-boot enabled */
pinctrl-0 = < >;
};
&i2c {
status = "okay";
};

View File

@@ -0,0 +1,76 @@
/dts-v1/;
#include "falcon.dtsi"
#include "falcon-sflash-16M.dtsi"
/ {
model = "Lantiq Falcon SFP Stick with SyncE/1588";
compatible = "lantiq,easy98035synce1588", "lantiq,falcon-sfp", "lantiq,falcon";
aliases {
spi0 = &ebu_cs0;
};
memory@0 {
device_type = "memory";
reg = <0x0 0x4000000>; // 64M at 0x0
};
pinctrl {
compatible = "lantiq,pinctrl-falcon";
asc0_func1: func1 {
func1_tx {
lantiq,pins = "io32";
lantiq,mux = <1>;
lantiq,input = <0>;
};
func1_rx {
lantiq,pins = "io33";
lantiq,mux = <0>;
};
};
asc0_func2: func2 {
func2_tx {
lantiq,pins = "io32";
lantiq,mux = <0>;
};
func2_rx {
lantiq,pins = "io33";
lantiq,mux = <1>;
lantiq,input = <0>;
};
};
asc0_func3: func3 {
func3_tx {
lantiq,pins = "io32";
lantiq,mux = <1>;
lantiq,input = <0>;
};
func3_rx {
lantiq,pins = "io33";
lantiq,mux = <1>;
lantiq,input = <0>;
};
};
};
pinselect-asc0 {
compatible = "lantiq,pinselect-asc0";
pinctrl-names = "asc0", "func1", "func2", "func3";
pinctrl-0 = <&asc0_pins>;
pinctrl-1 = <&asc0_func1>;
pinctrl-2 = <&asc0_func2>;
pinctrl-3 = <&asc0_func3>;
};
};
&serial0 {
pinctrl-names = "default";
/* use "empty" pinctrl to leave setting from u-boot enabled */
pinctrl-0 = < >;
};
&i2c {
status = "okay";
};

View File

@@ -0,0 +1,53 @@
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include "falcon.dtsi"
#include "falcon-sflash-16M.dtsi"
/ {
model = "Lantiq Falcon / Vinax MDU Board";
compatible = "lantiq,falcon-mdu", "lantiq,falcon";
aliases {
spi0 = &ebu_cs0;
};
memory@0 {
device_type = "memory";
reg = <0x0 0x4000000>; // 64M at 0x0
};
mdu-leds {
compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&bootled_pins>;
LED_0 {
label = "mdu:green:gpon";
gpios = <&gpio0 9 GPIO_ACTIVE_HIGH>;
default-state = "keep";
};
LED_1 {
label = "mdu:green:status";
gpios = <&gpio0 10 GPIO_ACTIVE_HIGH>;
default-state = "keep";
};
LED_2 {
label = "mdu:green:2";
gpios = <&gpio0 11 GPIO_ACTIVE_HIGH>;
default-state = "keep";
};
LED_3 {
label = "mdu:green:3";
gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>;
default-state = "keep";
};
LED_4 {
label = "mdu:green:4";
gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>;
default-state = "keep";
};
};
};

View File

@@ -0,0 +1,76 @@
/dts-v1/;
#include "falcon.dtsi"
#include "falcon-sflash-16M.dtsi"
/ {
model = "Lantiq Falcon SFP Stick";
compatible = "lantiq,falcon-sfp", "lantiq,falcon";
aliases {
spi0 = &ebu_cs0;
};
memory@0 {
device_type = "memory";
reg = <0x0 0x4000000>; // 64M at 0x0
};
pinctrl {
compatible = "lantiq,pinctrl-falcon";
asc0_func1: func1 {
func1_tx {
lantiq,pins = "io32";
lantiq,mux = <1>;
lantiq,output = <0>;
};
func1_rx {
lantiq,pins = "io33";
lantiq,mux = <0>;
};
};
asc0_func2: func2 {
func2_tx {
lantiq,pins = "io32";
lantiq,mux = <0>;
};
func2_rx {
lantiq,pins = "io33";
lantiq,mux = <1>;
lantiq,input = <0>;
};
};
asc0_func3: func3 {
func3_tx {
lantiq,pins = "io32";
lantiq,mux = <1>;
lantiq,output = <0>;
};
func3_rx {
lantiq,pins = "io33";
lantiq,mux = <1>;
lantiq,input = <0>;
};
};
};
pinselect-asc0 {
compatible = "lantiq,pinselect-asc0";
pinctrl-names = "asc0", "func1", "func2", "func3";
pinctrl-0 = <&asc0_pins>;
pinctrl-1 = <&asc0_func1>;
pinctrl-2 = <&asc0_func2>;
pinctrl-3 = <&asc0_func3>;
};
};
&serial0 {
pinctrl-names = "default";
/* use "empty" pinctrl to leave setting from u-boot enabled */
pinctrl-0 = < >;
};
&i2c {
status = "okay";
};

View File

@@ -0,0 +1,296 @@
/dts-v1/;
#include "vr9.dtsi"
#include <dt-bindings/input/input.h>
#include <dt-bindings/mips/lantiq_rcu_gphy.h>
/ {
compatible = "avm,fritz3370", "lantiq,xway", "lantiq,vr9";
model = "Fritz!Box WLAN 3370";
chosen {
bootargs = "console=ttyLTQ0,115200 ubi.mtd=1,512 root=/dev/mtdblock9";
};
aliases {
led-boot = &power_green;
led-failsafe = &power_red;
led-running = &power_green;
led-dsl = &dsl;
led-internet = &info_green;
led-wifi = &wifi;
};
memory@0 {
reg = <0x0 0x8000000>;
};
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
#size-cells = <0>;
poll-interval = <100>;
power {
label = "power";
gpios = <&gpio 1 GPIO_ACTIVE_HIGH>;
linux,code = <KEY_POWER>;
};
/* wifi {
label = "wifi";
gpios = <&gpio 29 GPIO_ACTIVE_HIGH>;
linux,code = <BTN_1>;
};*/
};
gpio-leds {
compatible = "gpio-leds";
power_green: power {
label = "fritz3370:green:power";
gpios = <&gpio 32 GPIO_ACTIVE_LOW>;
default-state = "keep";
};
power_red: power2 {
label = "fritz3370:red:power";
gpios = <&gpio 33 GPIO_ACTIVE_LOW>;
};
info_red {
label = "fritz3370:red:info";
gpios = <&gpio 34 GPIO_ACTIVE_LOW>;
};
wifi: wifi {
label = "fritz3370:green:wlan";
gpios = <&gpio 35 GPIO_ACTIVE_LOW>;
};
dsl: dsl {
label = "fritz3370:green:dsl";
gpios = <&gpio 36 GPIO_ACTIVE_LOW>;
};
lan {
label = "fritz3370:green:lan";
gpios = <&gpio 38 GPIO_ACTIVE_LOW>;
};
info_green: info_green {
label = "fritz3370:green:info";
gpios = <&gpio 47 GPIO_ACTIVE_LOW>;
};
};
};
&eth0 {
lan: interface@0 {
compatible = "lantiq,xrx200-pdi";
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
mtd-mac-address = <&urlader 0x987>;
mtd-mac-address-increment = <(-2)>;
lantiq,switch;
ethernet@0 {
compatible = "lantiq,xrx200-pdi-port";
reg = <0>;
phy-mode = "rgmii";
phy-handle = <&phy0>;
gpios = <&gpio 37 GPIO_ACTIVE_HIGH>;
};
ethernet@1 {
compatible = "lantiq,xrx200-pdi-port";
reg = <1>;
phy-mode = "rgmii";
phy-handle = <&phy1>;
gpios = <&gpio 44 GPIO_ACTIVE_HIGH>;
};
ethernet@2 {
compatible = "lantiq,xrx200-pdi-port";
reg = <2>;
phy-mode = "gmii";
phy-handle = <&phy11>;
};
ethernet@3 {
compatible = "lantiq,xrx200-pdi-port";
reg = <4>;
phy-mode = "gmii";
phy-handle = <&phy13>;
};
};
mdio@0 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "lantiq,xrx200-mdio";
reg = <0>;
phy0: ethernet-phy@0 {
reg = <0x0>;
compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
};
phy1: ethernet-phy@1 {
reg = <0x1>;
compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
};
phy11: ethernet-phy@11 {
reg = <0x11>;
compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
};
phy13: ethernet-phy@13 {
reg = <0x13>;
compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
};
};
};
&gphy0 {
lantiq,gphy-mode = <GPHY_MODE_GE>;
};
&gphy1 {
lantiq,gphy-mode = <GPHY_MODE_GE>;
};
&gpio {
pinctrl-names = "default";
pinctrl-0 = <&state_default>;
state_default: pinmux {
mdio {
lantiq,groups = "mdio";
lantiq,function = "mdio";
};
nand {
lantiq,groups = "nand cle", "nand ale",
"nand rd", "nand cs1", "nand rdy";
lantiq,function = "ebu";
lantiq,pull = <1>;
};
phy-rst {
lantiq,pins = "io37", "io44";
lantiq,pull = <0>;
lantiq,open-drain = <0>;
lantiq,output = <1>;
};
pcie-rst {
lantiq,pins = "io38";
lantiq,pull = <0>;
lantiq,output = <1>;
};
};
pins_spi_default: pins_spi_default {
spi_in {
lantiq,groups = "spi_di";
lantiq,function = "spi";
};
spi_out {
lantiq,groups = "spi_do", "spi_clk",
"spi_cs4";
lantiq,function = "spi";
lantiq,output = <1>;
};
};
};
&localbus {
nand@1 {
compatible = "lantiq,nand-xway";
bank-width = <2>;
reg = <1 0x0 0x2000000>;
#address-cells = <1>;
#size-cells = <1>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "kernel";
reg = <0x0 0x400000>;
};
partition@400000 {
label = "rootfs_ubi";
reg = <0x400000 0x3000000>;
};
partition@3400000 {
label = "vr9_firmware";
reg = <0x3400000 0x400000>;
};
partition@3800000 {
label = "reserved";
reg = <0x3800000 0x3000000>;
};
partition@6800000 {
label = "config";
reg = <0x6800000 0x200000>;
};
partition@6a00000 {
label = "nand-filesystem";
reg = <0x6a00000 0x1600000>;
};
};
};
};
&pcie0 {
pcie@0 {
reg = <0 0 0 0 0>;
#interrupt-cells = <1>;
#size-cells = <2>;
#address-cells = <3>;
device_type = "pci";
wifi@0,0 {
compatible = "pci0,0";
reg = <0 0 0 0 0>;
qca,no-eeprom; /* load from ath9k-eeprom-pci-0000:01:00.0.bin */
};
};
};
&spi {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pins_spi_default>;
m25p80@4 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "jedec,spi-nor";
reg = <4 0>;
spi-max-frequency = <1000000>;
urlader: partition@0 {
reg = <0x0 0x20000>;
label = "urlader";
read-only;
};
partition@20000 {
reg = <0x20000 0x10000>;
label = "tffs (1)";
read-only;
};
partition@30000 {
reg = <0x30000 0x10000>;
label = "tffs (2)";
read-only;
};
};
};
/*
* TODO: add phy-supply, gpio 5 GPIO_ACTIVE_HIGH and gpio 14 GPIO_ACTIVE_HIGH are
* related
*/
&usb_phy0 {
status = "okay";
};
&usb0 {
status = "okay";
};

View File

@@ -0,0 +1,163 @@
/dts-v1/;
#include "ar9.dtsi"
#include <dt-bindings/input/input.h>
/ {
compatible = "avm,fritz7320", "lantiq,xway", "lantiq,ar9";
model = "1&1 HomeServer";
chosen {
bootargs = "console=ttyLTQ0,115200";
};
aliases {
led-boot = &power;
led-failsafe = &power;
led-running = &power;
led-internet = &info_green;
led-dsl = &power;
led-wifi = &wlan;
};
memory@0 {
reg = <0x0 0x4000000>;
};
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
#size-cells = <0>;
poll-interval = <100>;
rfkill {
label = "rfkill";
gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RFKILL>;
};
dect {
label = "dect";
gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
linux,code = <KEY_PHONE>;
};
};
gpio-leds {
compatible = "gpio-leds";
power: power {
label = "fritz7320:green:power";
gpios = <&gpio 44 GPIO_ACTIVE_LOW>;
default-state = "keep";
};
voice {
label = "fritz7320:green:fon";
gpios = <&gpio 47 GPIO_ACTIVE_LOW>;
};
dect {
label = "fritz7320:green:dect";
gpios = <&gpio 38 GPIO_ACTIVE_LOW>;
};
wlan: wlan {
label = "fritz7320:green:wlan";
gpios = <&gpio 37 GPIO_ACTIVE_LOW>;
};
info_green: info_green {
label = "fritz7320:green:info";
gpios = <&gpio 35 GPIO_ACTIVE_LOW>;
};
info_red {
label = "fritz7320:red:info";
gpios = <&gpio 45 GPIO_ACTIVE_LOW>;
};
};
};
&gpio {
pinctrl-names = "default";
pinctrl-0 = <&state_default>;
state_default: pinmux {
pci {
lantiq,groups = "gnt1", "req1", "req2", "req3", "req4", "gnt2", "gnt3", "gnt4";
lantiq,function = "pci";
};
pci-in {
lantiq,groups = "req1", "req2", "req3", "req4";
lantiq,output = <0>;
lantiq,open-drain = <1>;
lantiq,pull = <2>;
};
pci-out {
lantiq,groups = "gnt1", "gnt2", "gnt3", "gnt4";
lantiq,output = <1>;
lantiq,pull = <0>;
};
};
};
&gsw {
phy-mode = "mii";
mtd-mac-address = <&ath9k_cal 0xa91>;
mtd-mac-address-increment = <(-2)>;
};
&localbus {
nor@0 {
compatible = "lantiq,nor";
bank-width = <2>;
reg = <0 0x0 0x1000000>;
#address-cells = <1>;
#size-cells = <1>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
ath9k_cal: partition@0 {
label = "urlader";
reg = <0x00000 0x20000>;
read-only;
};
partition@20000 {
label = "firmware";
reg = <0x20000 0xf60000>;
};
partition@f80000 {
label = "tffs (1)";
reg = <0xf80000 0x40000>;
read-only;
};
partition@fc0000 {
label = "tffs (2)";
reg = <0xfc0000 0x40000>;
read-only;
};
};
};
};
&pci0 {
status = "okay";
req-mask = <0xf>;
gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
wifi@0,0 {
compatible = "pci0,0";
reg = <0x7000 0 0 0 0>;
qca,no-eeprom; /* load from ath9k-eeprom-pci-0000:00:0e.0.bin */
};
};
&usb_phy0 {
status = "okay";
};
&usb0 {
status = "okay";
};

View File

@@ -0,0 +1,239 @@
/dts-v1/;
#include "vr9.dtsi"
#include <dt-bindings/input/input.h>
#include <dt-bindings/mips/lantiq_rcu_gphy.h>
/ {
compatible = "avm,fritz7360sl", "lantiq,xway", "lantiq,vr9";
model = "1&1 HomeServer";
chosen {
bootargs = "console=ttyLTQ0,115200";
};
aliases {
led-boot = &power_green;
led-failsafe = &power_red;
led-running = &power_green;
led-dsl = &info_green;
led-wifi = &wifi;
};
memory@0 {
reg = <0x0 0x8000000>;
};
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
#size-cells = <0>;
poll-interval = <100>;
dect {
label = "dect";
gpios = <&gpio 1 GPIO_ACTIVE_HIGH>;
linux,code = <KEY_PHONE>;
};
wifi {
label = "wifi";
gpios = <&gpio 29 GPIO_ACTIVE_HIGH>;
linux,code = <KEY_WLAN>;
};
};
gpio-leds {
compatible = "gpio-leds";
power_green: power {
label = "fritz7360sl:green:power";
gpios = <&gpio 32 GPIO_ACTIVE_LOW>;
default-state = "keep";
};
power_red: power2 {
label = "fritz7360sl:red:power";
gpios = <&gpio 33 GPIO_ACTIVE_LOW>;
};
info_red {
label = "fritz7360sl:red:info";
gpios = <&gpio 34 GPIO_ACTIVE_LOW>;
};
info_green: info_green {
label = "fritz7360sl:green:info";
gpios = <&gpio 47 GPIO_ACTIVE_LOW>;
};
wifi: wifi {
label = "fritz7360sl:green:wlan";
gpios = <&gpio 36 GPIO_ACTIVE_LOW>;
};
dect {
label = "fritz7360sl:green:dect";
gpios = <&gpio 35 GPIO_ACTIVE_LOW>;
};
};
};
&eth0 {
lan: interface@0 {
compatible = "lantiq,xrx200-pdi";
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
mtd-mac-address = <&urlader 0xa91>;
mtd-mac-address-increment = <(-2)>;
lantiq,switch;
ethernet@0 {
compatible = "lantiq,xrx200-pdi-port";
reg = <0>;
phy-mode = "rmii";
phy-handle = <&phy0>;
};
ethernet@1 {
compatible = "lantiq,xrx200-pdi-port";
reg = <1>;
phy-mode = "rmii";
phy-handle = <&phy1>;
};
ethernet@2 {
compatible = "lantiq,xrx200-pdi-port";
reg = <2>;
phy-mode = "gmii";
phy-handle = <&phy11>;
};
ethernet@3 {
compatible = "lantiq,xrx200-pdi-port";
reg = <4>;
phy-mode = "gmii";
phy-handle = <&phy13>;
};
};
mdio@0 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "lantiq,xrx200-mdio";
reg = <0>;
phy0: ethernet-phy@0 {
reg = <0x00>;
compatible = "ethernet-phy-ieee802.3-c22";
reset-gpios = <&gpio 37 GPIO_ACTIVE_LOW>;
};
phy1: ethernet-phy@1 {
reg = <0x01>;
compatible = "ethernet-phy-ieee802.3-c22";
reset-gpios = <&gpio 44 GPIO_ACTIVE_LOW>;
};
phy11: ethernet-phy@11 {
reg = <0x11>;
compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
};
phy13: ethernet-phy@13 {
reg = <0x13>;
compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
};
};
};
&gphy0 {
lantiq,gphy-mode = <GPHY_MODE_GE>;
};
&gphy1 {
lantiq,gphy-mode = <GPHY_MODE_GE>;
};
&gpio {
pinctrl-names = "default";
pinctrl-0 = <&state_default>;
state_default: pinmux {
mdio {
lantiq,groups = "mdio";
lantiq,function = "mdio";
};
phy-rst {
lantiq,pins = "io37", "io44";
lantiq,pull = <0>;
lantiq,open-drain;
lantiq,output = <1>;
};
pcie-rst {
lantiq,pins = "io38";
lantiq,pull = <0>;
lantiq,output = <1>;
};
};
};
&localbus {
nor@0 {
compatible = "lantiq,nor";
bank-width = <2>;
reg = <0 0x0 0x1000000>;
#address-cells = <1>;
#size-cells = <1>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
urlader: partition@0 {
label = "urlader";
reg = <0x00000 0x20000>;
read-only;
};
partition@20000 {
label = "firmware";
reg = <0x20000 0xf60000>;
};
partition@f80000 {
label = "tffs (1)";
reg = <0xf80000 0x40000>;
read-only;
};
partition@fc0000 {
label = "tffs (2)";
reg = <0xfc0000 0x40000>;
read-only;
};
};
};
};
&pcie0 {
pcie@0 {
reg = <0 0 0 0 0>;
#interrupt-cells = <1>;
#size-cells = <2>;
#address-cells = <3>;
device_type = "pci";
wifi@168c,002e {
compatible = "pci168c,002e";
reg = <0 0 0 0 0>;
qca,no-eeprom; /* load from ath9k-eeprom-pci-0000:01:00.0.bin */
};
};
};
&usb_phy0 {
status = "okay";
};
&usb_phy1 {
status = "okay";
};
&usb0 {
status = "okay";
};
&usb1 {
status = "okay";
};

View File

@@ -0,0 +1,130 @@
/dts-v1/;
#include "danube.dtsi"
#include <dt-bindings/input/input.h>
/ {
compatible = "siemens,gigaset-sx76x", "lantiq,xway", "lantiq,danube";
model = "Gigaset SX761,SX762,SX763";
chosen {
bootargs = "console=ttyLTQ0,115200";
};
memory@0 {
reg = <0x0 0x2000000>;
};
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
#size-cells = <0>;
poll-interval = <100>;
reset {
label = "reset";
gpios = <&gpio 14 GPIO_ACTIVE_HIGH>;
linux,code = <KEY_RESTART>;
};
};
gpio_export {
compatible = "gpio-export";
#size-cells = <0>;
switch {
gpio-export,name = "switch";
gpio-export,output = <1>;
gpios = <&gpio 19 GPIO_ACTIVE_HIGH>;
};
};
usb_vbus: regulator-usb-vbus {
compatible = "regulator-fixed";
regulator-name = "USB_VBUS";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
gpio = <&gpio 29 GPIO_ACTIVE_HIGH>;
enable-active-high;
};
};
&gpio {
pinctrl-names = "default";
pinctrl-0 = <&state_default>;
state_default: pinmux {
stp {
lantiq,groups = "stp";
lantiq,function = "stp";
};
};
};
&gpiomm {
status = "okay";
lantiq,shadow = <0x3>;
};
&gpios {
status = "okay";
};
&gsw {
phy-mode = "rmii";
};
&localbus {
nor@0 {
compatible = "lantiq,nor";
bank-width = <2>;
reg = <0 0x0 0x2000000>;
#address-cells = <1>;
#size-cells = <1>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "uboot";
reg = <0x0 0x30000>;
};
partition@10000 {
label = "uboot_env";
reg = <0x30000 0x10000>;
};
partition@40000 {
label = "firmware";
reg = <0x40000 0x7c0000>;
};
};
};
};
&pci0 {
status = "okay";
gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
};
&usb_phy {
status = "okay";
phy-supply = <&usb_vbus>;
};
&usb {
status = "okay";
};
&vmmc {
status = "okay";
gpios = <&gpiomm 1 GPIO_ACTIVE_HIGH>;
};

View File

@@ -0,0 +1,174 @@
/dts-v1/;
#include "ar9.dtsi"
#include <dt-bindings/input/input.h>
/ {
compatible = "zte,h201l", "lantiq,xway", "lantiq,ar9";
model = "ZTE H210L";
chosen {
bootargs = "console=ttyLTQ0,115200";
};
aliases {
led-boot = &power_green;
led-failsafe = &power_green;
led-running = &power_green;
led-dsl = &dsl;
led-internet = &online;
led-usb = &led_usb;
led-wifi = &wifi;
};
memory@0 {
reg = <0x0 0x2000000>;
};
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
#size-cells = <0>;
poll-interval = <100>;
reset {
label = "reset";
gpios = <&gpio 53 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
wps {
label = "wps";
gpios = <&gpio 54 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WPS_BUTTON>;
};
rfkill {
label = "rfkill";
gpios = <&gpio 55 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RFKILL>;
};
};
gpio-leds {
compatible = "gpio-leds";
power_green: power {
label = "h201l:green:power";
gpios = <&gpio 19 GPIO_ACTIVE_LOW>;
default-state = "keep";
};
online: online {
label = "h201l:green:internet";
gpios = <&gpio 37 GPIO_ACTIVE_LOW>;
};
dsl: dsl {
label = "h201l:green:dsl";
gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
};
phone {
label = "h201l:green:phone";
gpios = <&gpio 39 GPIO_ACTIVE_LOW>;
};
wps {
label = "h201l:green:wps";
gpios = <&gpio 22 GPIO_ACTIVE_LOW>;
};
wifi: wifi {
label = "h201l:green:wlan";
gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
};
led_usb: usb {
label = "h201l:green:usb";
gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
};
};
gpio_export {
compatible = "gpio-export";
#size-cells = <0>;
switch {
gpio-export,name = "switch";
gpio-export,output = <1>;
gpios = <&gpio 38 GPIO_ACTIVE_HIGH>;
};
usb {
gpio-export,name = "usb";
gpio-export,output = <1>;
gpios = <&gpio 28 GPIO_ACTIVE_HIGH>;
};
wifi {
gpio-export,name = "wifi";
gpio-export,output = <1>;
gpios = <&gpio 7 GPIO_ACTIVE_HIGH>;
};
};
usb_vbus: regulator-usb-vbus {
compatible = "regulator-fixed";
regulator-name = "USB_VBUS";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
gpio = <&gpio 36 GPIO_ACTIVE_HIGH>;
enable-active-high;
};
};
&gpio {
pinctrl-names = "default";
pinctrl-0 = <&state_default>;
state_default: pinmux {
};
};
&gsw {
phy-mode = "rgmii";
};
&localbus {
nor@0 {
compatible = "lantiq,nor";
bank-width = <2>;
reg = <0 0x0 0x2000000>;
#address-cells = <1>;
#size-cells = <1>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "uboot";
reg = <0x00000 0x20000>;
read-only;
};
partition@20000 {
label = "uboot_env";
reg = <0x20000 0x10000>;
read-only;
};
partition@30000 {
label = "firmware";
reg = <0x30000 0x7d0000>;
};
};
};
};
&usb_phy0 {
status = "okay";
phy-supply = <&usb_vbus>;
};
&usb0 {
status = "okay";
};

View File

@@ -0,0 +1,194 @@
/dts-v1/;
#include "ar9.dtsi"
#include <dt-bindings/input/input.h>
/ {
compatible = "zyxel,p-2601hn", "lantiq,xway", "lantiq,ar9";
model = "ZyXEL P-2601HN-Fx";
chosen {
bootargs = "console=ttyLTQ0,115200";
};
aliases {
led-boot = &power_green;
led-failsafe = &power_red;
led-running = &power_green;
led-dsl = &dsl;
led-internet = &online;
led-wifi = &wifi;
};
memory@0 {
reg = <0x0 0x4000000>;
};
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
#size-cells = <0>;
poll-interval = <100>;
reset {
label = "reset";
gpios = <&gpio 53 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
rfkill {
label = "rfkill";
gpios = <&gpio 54 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RFKILL>;
};
};
gpio-leds {
compatible = "gpio-leds";
power_green: power {
label = "p2601hnfx:green:power";
gpios = <&stp 11 GPIO_ACTIVE_LOW>;
default-state = "keep";
};
power_red: power2 {
label = "p2601hnfx:red:power";
gpios = <&gpio 29 GPIO_ACTIVE_LOW>;
};
online: online {
label = "p2601hnfx:green:internet";
gpios = <&stp 13 GPIO_ACTIVE_LOW>;
};
online2 {
label = "p2601hnfx:red:internet";
gpios = <&stp 12 GPIO_ACTIVE_LOW>;
};
dsl: dsl {
label = "p2601hnfx:green:dsl";
gpios = <&stp 14 GPIO_ACTIVE_LOW>;
};
phone {
label = "p2601hnfx:green:phone";
gpios = <&stp 9 GPIO_ACTIVE_LOW>;
};
phone2 {
label = "p2601hnfx:orange:phone";
gpios = <&stp 8 GPIO_ACTIVE_LOW>;
};
wifi: wifi {
label = "p2601hnfx:green:wireless";
gpios = <&stp 15 GPIO_ACTIVE_LOW>;
};
wifi2 {
label = "p2601hnfx:orange:wireless";
gpios = <&stp 10 GPIO_ACTIVE_LOW>;
};
};
gpio_export {
compatible = "gpio-export";
#size-cells = <0>;
switch {
gpio-export,name = "switch";
gpio-export,output = <1>;
gpios = <&gpio 50 GPIO_ACTIVE_HIGH>;
};
};
};
&gpio {
pinctrl-names = "default";
pinctrl-0 = <&state_default>;
state_default: pinmux {
stp {
lantiq,groups = "stp";
lantiq,function = "stp";
lantiq,pull = <2>;
lantiq,open-drain = <0>;
lantiq,output = <1>;
};
exin {
lantiq,groups = "exin1";
lantiq,function = "exin";
};
pci {
lantiq,groups = "gnt1";
lantiq,function = "pci";
};
conf_out {
lantiq,pins = "io4", "io5", "io6";
lantiq,open-drain;
lantiq,pull = <0>;
};
mdio {
lantiq,groups = "mdio";
lantiq,function = "mdio";
};
};
usb_vbus: regulator-usb-vbus {
compatible = "regulator-fixed";
regulator-name = "USB_VBUS";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
gpio = <&gpio 9 GPIO_ACTIVE_HIGH>;
enable-active-high;
};
};
&gsw {
phy-mode = "rmii";
};
&localbus {
nor@0 {
compatible = "lantiq,nor";
bank-width = <2>;
reg = <0 0x0 0x2000000>;
#address-cells = <1>;
#size-cells = <1>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "uboot";
reg = <0x00000 0x40000>;
read-only;
};
partition@40000 {
label = "uboot_env";
reg = <0x40000 0x20000>;
read-only;
};
partition@60000 {
label = "firmware";
reg = <0x60000 0xfa0000>;
};
};
};
};
&stp {
lantiq,shadow = <0xfff>;
lantiq,groups = <0x3>;
};
&usb_phy0 {
status = "okay";
phy-supply = <&usb_vbus>;
};
&usb0 {
status = "okay";
};

View File

@@ -0,0 +1,70 @@
/dts-v1/;
#include "P2812HNUFX.dtsi"
/ {
compatible = "zyxel,p-2812hnu-f1", "zyxel,p-2812hnu", "lantiq,xway", "lantiq,vr9";
model = "ZyXEL P-2812HNU-F1";
aliases {
led-usb = &led_usb1;
led-usb2 = &led_usb2;
};
gpio-leds {
led_usb1: usb1 {
label = "p2812hnuf1:green:usb1";
gpios = <&gpio 38 GPIO_ACTIVE_LOW>;
};
led_usb2: usb2 {
label = "p2812hnuf1:green:usb2";
gpios = <&gpio 44 GPIO_ACTIVE_LOW>;
};
};
};
&localbus {
nand@0 {
compatible = "lantiq,nand-xway";
lantiq,cs = <1>;
bank-width = <2>;
reg = <0 0x0 0x2000000>;
#address-cells = <1>;
#size-cells = <1>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "uboot";
reg = <0x00000 0x40000>;
};
partition@40000 {
label = "uboot-env";
reg = <0x40000 0x20000>;
};
partition@60000 {
label = "kernel";
reg = <0x60000 0x200000>;
};
partition@260000 {
label = "ubi";
reg = <0x260000 0x7da0000>;
};
};
};
};
&pci0 {
wifi@1814,3062 {
compatible = "pci1814,3062";
reg = <0x7000 0 0 0 0>;
ralink,eeprom = "RT3062.eeprom";
};
};
&pcie0 {
status = "disabled";
};

View File

@@ -0,0 +1,64 @@
/dts-v1/;
#include "P2812HNUFX.dtsi"
/ {
compatible = "zyxel,p-2812hnu-f3", "zyxel,p-2812hnu", "lantiq,xway", "lantiq,vr9";
model = "ZyXEL P-2812HNU-F3";
};
&pci0 {
wifi@1814,3092 {
compatible = "pci1814,3092";
reg = <0x7000 0 0 0 0>;
ralink,eeprom = "RT3092.eeprom";
};
};
&localbus {
nor@0 {
compatible = "lantiq,nor";
bank-width = <2>;
reg = <0 0x0 0x800000>;
#address-cells = <1>;
#size-cells = <1>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "uboot";
reg = <0x0 0x50000>;
read-only;
};
partition@50000 {
label = "uboot-env";
reg = <0x50000 0x10000>;
};
partition@60000 {
label = "unused";
reg = <0x60000 0x7a0000>;
};
};
};
nand@1 {
compatible = "lantiq,nand-xway";
lantiq,cs = <1>;
bank-width = <2>;
reg = <1 0x0 0x2000000>;
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "kernel";
reg = <0x0 0x200000>;
};
partition@200000 {
label = "ubi";
reg = <0x200000 0x7e00000>;
};
};
};

View File

@@ -0,0 +1,297 @@
#include "vr9.dtsi"
#include <dt-bindings/input/input.h>
#include <dt-bindings/mips/lantiq_rcu_gphy.h>
/ {
compatible = "zyxel,p-2812hnu", "lantiq,xway", "lantiq,vr9";
chosen {
bootargs = "console=ttyLTQ0,115200";
};
aliases {
led-boot = &power_green;
led-failsafe = &power_red;
led-running = &power_green;
led-dsl = &dsl_green;
led-internet = &internet_green;
led-wifi = &wireless_green;
};
memory@0 {
reg = <0x0 0x8000000>;
};
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
#size-cells = <0>;
poll-interval = <100>;
reset {
label = "reset";
gpios = <&gpio 39 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
rfkill {
label = "rfkill";
gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RFKILL>;
};
};
gpio-leds {
compatible = "gpio-leds";
internet_red {
label = "p2812hnufx:red:internet";
gpios = <&stp 16 GPIO_ACTIVE_LOW>;
};
internet_green: internet_green {
label = "p2812hnufx:green:internet";
gpios = <&stp 17 GPIO_ACTIVE_LOW>;
};
dsl_green: dsl_green {
label = "p2812hnufx:green:dsl";
gpios = <&stp 18 GPIO_ACTIVE_LOW>;
};
dsl_orange {
label = "p2812hnufx:orange:dsl";
gpios = <&stp 19 GPIO_ACTIVE_LOW>;
};
wireless_orange {
label = "p2812hnufx:orange:wlan";
gpios = <&stp 20 GPIO_ACTIVE_LOW>;
};
wireless_green: wireless_green {
label = "p2812hnufx:green:wlan";
gpios = <&stp 21 GPIO_ACTIVE_LOW>;
};
power_red: power {
label = "p2812hnufx:red:power";
gpios = <&stp 22 GPIO_ACTIVE_LOW>;
};
power_green: power2 {
label = "p2812hnufx:green:power";
gpios = <&stp 23 GPIO_ACTIVE_LOW>;
default-state = "keep";
};
phone1 {
label = "p2812hnufx:green:phone";
gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
};
phone1warn {
label = "p2812hnufx:orange:phone";
gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
};
phone2warn {
label = "p2812hnufx:orange:phone2";
gpios = <&gpio 26 GPIO_ACTIVE_LOW>;
};
phone2 {
label = "p2812hnufx:green:phone2";
gpios = <&gpio 28 GPIO_ACTIVE_LOW>;
};
};
usb_vbus: regulator-usb-vbus {
compatible = "regulator-fixed";
regulator-name = "USB_VBUS";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
gpio = <&gpio 33 GPIO_ACTIVE_HIGH>;
enable-active-high;
};
};
&eth0 {
lan: interface@0 {
compatible = "lantiq,xrx200-pdi";
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
mac-address = [ 00 11 22 33 44 55 ];
lantiq,switch;
ethernet@0 {
compatible = "lantiq,xrx200-pdi-port";
reg = <0>;
phy-mode = "rgmii";
phy-handle = <&phy0>;
};
ethernet@1 {
compatible = "lantiq,xrx200-pdi-port";
reg = <1>;
phy-mode = "rgmii";
phy-handle = <&phy1>;
};
ethernet@2 {
compatible = "lantiq,xrx200-pdi-port";
reg = <2>;
phy-mode = "gmii";
phy-handle = <&phy11>;
};
ethernet@4 {
compatible = "lantiq,xrx200-pdi-port";
reg = <4>;
phy-mode = "gmii";
phy-handle = <&phy13>;
};
ethernet@5 {
compatible = "lantiq,xrx200-pdi-port";
reg = <5>;
phy-mode = "rgmii";
phy-handle = <&phy5>;
};
};
mdio@0 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "lantiq,xrx200-mdio";
reg = <0>;
phy0: ethernet-phy@0 {
reg = <0x0>;
compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
};
phy1: ethernet-phy@1 {
reg = <0x1>;
compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
};
phy5: ethernet-phy@5 {
reg = <0x5>;
compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
};
phy11: ethernet-phy@11 {
reg = <0x11>;
compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
};
phy13: ethernet-phy@13 {
reg = <0x13>;
compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
};
};
};
&gphy0 {
lantiq,gphy-mode = <GPHY_MODE_GE>;
};
&gphy1 {
lantiq,gphy-mode = <GPHY_MODE_GE>;
};
&gpio {
pinctrl-names = "default";
pinctrl-0 = <&state_default>;
state_default: pinmux {
exin3 {
lantiq,groups = "exin3";
lantiq,function = "exin";
};
mdio {
lantiq,groups = "mdio";
lantiq,function = "mdio";
};
gphy-leds {
lantiq,groups = "gphy0 led1", "gphy1 led1",
"gphy0 led2", "gphy1 led2";
lantiq,function = "gphy";
lantiq,pull = <2>;
lantiq,open-drain = <0>;
lantiq,output = <1>;
};
stp {
lantiq,groups = "stp";
lantiq,function = "stp";
lantiq,pull = <2>;
lantiq,open-drain = <0>;
lantiq,output = <1>;
};
pci-in {
lantiq,groups = "req1";
lantiq,function = "pci";
lantiq,output = <0>;
lantiq,open-drain = <1>;
lantiq,pull = <2>;
};
pci-out {
lantiq,groups = "gnt1";
lantiq,function = "pci";
lantiq,output = <1>;
lantiq,open-drain = <0>;
lantiq,pull = <0>;
};
pci_rst {
lantiq,pins = "io21";
lantiq,output = <1>;
lantiq,open-drain = <0>;
lantiq,pull = <2>;
};
pcie-rst {
lantiq,pins = "io38";
lantiq,pull = <0>;
lantiq,output = <1>;
};
ifxhcd-rst {
lantiq,pins = "io33";
lantiq,pull = <0>;
lantiq,open-drain = <0>;
lantiq,output = <1>;
};
nand_out {
lantiq,groups = "nand cle", "nand ale";
lantiq,function = "ebu";
lantiq,output = <1>;
lantiq,open-drain = <0>;
lantiq,pull = <0>;
};
nand_cs1 {
lantiq,groups = "nand cs1";
lantiq,function = "ebu";
lantiq,open-drain = <0>;
lantiq,pull = <0>;
};
};
};
&pci0 {
status = "okay";
gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
};
&stp {
status = "okay";
lantiq,shadow = <0xffffff>;
lantiq,groups = <0x7>;
lantiq,dsl = <0x0>;
lantiq,phy1 = <0x0>;
lantiq,phy2 = <0x0>;
};
&usb_phy0 {
status = "okay";
phy-supply = <&usb_vbus>;
};
&usb_phy1 {
status = "okay";
phy-supply = <&usb_vbus>;
};
&usb0 {
status = "okay";
};
&usb1 {
status = "okay";
};

View File

@@ -0,0 +1,8 @@
/dts-v1/;
#include "TDW89X0.dtsi"
/ {
compatible = "tplink,tdw8970", "tplink,tdw89x0", "lantiq,xway", "lantiq,vr9";
model = "TP-LINK TD-W8970";
};

View File

@@ -0,0 +1,33 @@
/dts-v1/;
#include "TDW89X0.dtsi"
/ {
compatible = "tplink,tdw8980", "tplink,tdw89x0", "lantiq,xway", "lantiq,vr9";
model = "TP-LINK TD-W8980";
gpio-leds {
wifi2 {
label = "tdw8980:green:wlan5ghz";
gpios = <&gpio 24 GPIO_ACTIVE_LOW>;
};
};
};
&gpio {
state_default: pinmux {
pci_rst {
lantiq,pins = "io21";
lantiq,output = <1>;
lantiq,open-drain;
};
};
};
&pci0 {
status = "okay";
lantiq,bus-clock = <33333333>;
interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
interrupt-map = <0x7000 0 0 1 &icu0 30 1>;
gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
};

View File

@@ -0,0 +1,299 @@
#include "vr9.dtsi"
#include <dt-bindings/input/input.h>
#include <dt-bindings/mips/lantiq_rcu_gphy.h>
/ {
compatible = "tplink,tdw89x0", "lantiq,xway", "lantiq,vr9";
chosen {
bootargs = "console=ttyLTQ0,115200";
};
aliases {
/* the power led can't be controlled, use the wps led instead */
led-boot = &wps;
led-failsafe = &wps;
led-dsl = &dsl;
led-internet = &internet;
led-wifi = &wifi;
led-usb = &led_usb0;
led-usb2 = &led_usb2;
};
memory@0 {
reg = <0x0 0x4000000>;
};
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
#size-cells = <0>;
poll-interval = <100>;
reset {
label = "reset";
gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
wifi {
label = "wifi";
gpios = <&gpio 9 GPIO_ACTIVE_HIGH>;
linux,code = <KEY_RFKILL>;
linux,input-type = <EV_SW>;
};
wps {
label = "wps";
gpios = <&gpio 39 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WPS_BUTTON>;
};
};
gpio-leds {
compatible = "gpio-leds";
/*
power is not controllable via gpio
*/
dsl: dsl {
label = "tdw89x0:green:dsl";
gpios = <&gpio 4 GPIO_ACTIVE_HIGH>;
};
internet: internet {
label = "tdw89x0:green:internet";
gpios = <&gpio 5 GPIO_ACTIVE_HIGH>;
};
led_usb0: usb0 {
label = "tdw89x0:green:usb";
gpios = <&gpio 19 GPIO_ACTIVE_HIGH>;
};
led_usb2: usb2 {
label = "tdw89x0:green:usb2";
gpios = <&gpio 20 GPIO_ACTIVE_HIGH>;
};
wps: wps {
label = "tdw89x0:green:wps";
gpios = <&gpio 37 GPIO_ACTIVE_HIGH>;
};
};
wifi-leds {
compatible = "gpio-leds";
wifi: wifi {
label = "tdw89x0:green:wifi";
gpios = <&ath9k 0 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "phy0tpt";
};
};
usb_vbus: regulator-usb-vbus {
compatible = "regulator-fixed";
regulator-name = "USB_VBUS";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
gpio = <&gpio 33 GPIO_ACTIVE_HIGH>;
enable-active-high;
};
};
&eth0 {
lan: interface@0 {
compatible = "lantiq,xrx200-pdi";
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
mtd-mac-address = <&ath9k_cal 0xf100>;
lantiq,switch;
ethernet@0 {
compatible = "lantiq,xrx200-pdi-port";
reg = <0>;
phy-mode = "rgmii";
phy-handle = <&phy0>;
// gpios = <&gpio 42 GPIO_ACTIVE_LOW>;
};
ethernet@5 {
compatible = "lantiq,xrx200-pdi-port";
reg = <5>;
phy-mode = "rgmii";
phy-handle = <&phy5>;
};
ethernet@2 {
compatible = "lantiq,xrx200-pdi-port";
reg = <2>;
phy-mode = "gmii";
phy-handle = <&phy11>;
};
ethernet@3 {
compatible = "lantiq,xrx200-pdi-port";
reg = <4>;
phy-mode = "gmii";
phy-handle = <&phy13>;
};
};
mdio@0 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "lantiq,xrx200-mdio";
reg = <0>;
phy0: ethernet-phy@0 {
reg = <0x0>;
compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
};
phy5: ethernet-phy@5 {
reg = <0x5>;
compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
};
phy11: ethernet-phy@11 {
reg = <0x11>;
compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
};
phy13: ethernet-phy@13 {
reg = <0x13>;
compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
};
};
};
&gphy0 {
lantiq,gphy-mode = <GPHY_MODE_GE>;
};
&gphy1 {
lantiq,gphy-mode = <GPHY_MODE_GE>;
};
&gpio {
pinctrl-names = "default";
pinctrl-0 = <&state_default>;
state_default: pinmux {
mdio {
lantiq,groups = "mdio";
lantiq,function = "mdio";
};
gphy-leds {
lantiq,groups = "gphy0 led1", "gphy1 led1";
lantiq,function = "gphy";
lantiq,pull = <2>;
lantiq,open-drain = <0>;
lantiq,output = <1>;
};
phy-rst {
lantiq,pins = "io42";
lantiq,pull = <0>;
lantiq,open-drain = <0>;
lantiq,output = <1>;
};
pcie-rst {
lantiq,pins = "io38";
lantiq,pull = <0>;
lantiq,output = <1>;
};
};
pins_spi_default: pins_spi_default {
spi_in {
lantiq,groups = "spi_di";
lantiq,function = "spi";
};
spi_out {
lantiq,groups = "spi_do", "spi_clk",
"spi_cs4";
lantiq,function = "spi";
lantiq,output = <1>;
};
};
};
&pcie0 {
pcie@0 {
reg = <0 0 0 0 0>;
#interrupt-cells = <1>;
#size-cells = <2>;
#address-cells = <3>;
device_type = "pci";
ath9k: wifi@168c,002e {
compatible = "pci168c,002e";
reg = <0 0 0 0 0>;
#gpio-cells = <2>;
gpio-controller;
qca,no-eeprom;
qca,disable-5ghz;
mtd-mac-address = <&ath9k_cal 0xf100>;
mtd-mac-address-increment = <2>;
};
};
};
&spi {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pins_spi_default>;
m25p80@4 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "jedec,spi-nor";
reg = <4 0>;
spi-max-frequency = <33250000>;
m25p,fast-read;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
reg = <0x0 0x20000>;
label = "u-boot";
read-only;
};
partition@20000 {
reg = <0x20000 0x7a0000>;
label = "firmware";
};
partition@7c0000 {
reg = <0x7c0000 0x10000>;
label = "config";
read-only;
};
ath9k_cal: partition@7d0000 {
reg = <0x7d0000 0x30000>;
label = "boardconfig";
read-only;
};
};
};
};
&usb_phy0 {
status = "okay";
phy-supply = <&usb_vbus>;
};
&usb_phy1 {
status = "okay";
phy-supply = <&usb_vbus>;
};
&usb0 {
status = "okay";
};
&usb1 {
status = "okay";
};

View File

@@ -0,0 +1,164 @@
/dts-v1/;
#include "vr9.dtsi"
#include <dt-bindings/input/input.h>
#include <dt-bindings/mips/lantiq_rcu_gphy.h>
/ {
compatible = "arcadyan,vg3503j", "lantiq,xway", "lantiq,vr9";
model = "BT OpenReach VDSL Modem";
chosen {
bootargs = "console=ttyLTQ0,115200";
};
aliases {
led-boot = &power_green;
led-failsafe = &power_red;
led-running = &power_green;
led-dsl = &dsl;
};
memory@0 {
reg = <0x0 0x2000000>;
};
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
#size-cells = <0>;
poll-interval = <100>;
reset {
label = "reset";
gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
};
gpio-leds {
compatible = "gpio-leds";
power_red: power2 {
label = "vg3503j:red:power";
gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
};
dsl: dsl {
label = "vg3503j:green:dsl";
gpios = <&gpio 19 GPIO_ACTIVE_LOW>;
};
power_green: power {
label = "vg3503j:green:power";
gpios = <&gpio 28 GPIO_ACTIVE_LOW>;
default-state = "keep";
};
};
};
&eth0 {
interface@0 {
compatible = "lantiq,xrx200-pdi";
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
lantiq,switch;
ethernet@2 {
compatible = "lantiq,xrx200-pdi-port";
reg = <2>;
phy-mode = "mii";
phy-handle = <&phy11>;
};
ethernet@4 {
compatible = "lantiq,xrx200-pdi-port";
reg = <4>;
phy-mode = "mii";
phy-handle = <&phy13>;
};
};
mdio@0 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "lantiq,xrx200-mdio";
reg = <0>;
phy11: ethernet-phy@11 {
reg = <0x11>;
compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
lantiq,led1h = <0x70>;
lantiq,led1l = <0x00>;
lantiq,led2h = <0x00>;
lantiq,led2l = <0x03>;
};
phy13: ethernet-phy@13 {
reg = <0x13>;
compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
lantiq,led1h = <0x70>;
lantiq,led1l = <0x00>;
lantiq,led2h = <0x00>;
lantiq,led2l = <0x03>;
};
};
};
&gphy0 {
lantiq,gphy-mode = <GPHY_MODE_GE>;
};
&gphy1 {
lantiq,gphy-mode = <GPHY_MODE_GE>;
};
&gpio {
pinctrl-names = "default";
pinctrl-0 = <&state_default>;
state_default: pinmux {
mdio {
lantiq,groups = "mdio";
lantiq,function = "mdio";
};
gphy-leds {
lantiq,groups = "gphy0 led0", "gphy0 led1",
"gphy0 led2", "gphy1 led0",
"gphy1 led1", "gphy1 led2";
lantiq,function = "gphy";
lantiq,pull = <2>;
lantiq,open-drain = <0>;
lantiq,output = <1>;
};
};
};
&localbus {
nor@0 {
compatible = "lantiq,nor";
bank-width = <2>;
reg = <0 0x0 0x2000000>;
#address-cells = <1>;
#size-cells = <1>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "uboot";
reg = <0x00000 0x20000>;
};
partition@20000 {
label = "firmware";
reg = <0x20000 0x7d0000>;
};
partition@7f0000 {
label = "uboot-env";
reg = <0x7f0000 0x10000>;
};
};
};
};

View File

@@ -0,0 +1,268 @@
#include "vr9.dtsi"
#include <dt-bindings/input/input.h>
#include <dt-bindings/mips/lantiq_rcu_gphy.h>
/ {
compatible = "arcadyan,vgv7510kw22", "lantiq,xway", "lantiq,vr9";
chosen {
bootargs = "console=ttyLTQ0,115200 mem=62M vpe1_load_addr=0x83e00000 vpe1_mem=2M maxvpes=1 maxtcs=1 nosmp";
};
aliases {
led-boot = &power_green;
led-failsafe = &power_red;
led-running = &power_green;
led-dsl = &dsl;
led-internet = &internet_green;
led-wifi = &wifi;
};
memory@0 {
reg = <0x0 0x4000000>;
};
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
#size-cells = <0>;
poll-interval = <100>;
reset {
label = "reset";
gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
wps {
label = "wps";
gpios = <&gpio 9 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WPS_BUTTON>;
};
};
gpio-leds {
compatible = "gpio-leds";
dsl: dsl {
label = "vgv7510kw22:green:dsl";
gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
};
internet_red {
label = "vgv7510kw22:red:internet";
gpios = <&gpio 10 GPIO_ACTIVE_LOW>;
};
info_red {
label = "vgv7510kw22:red:info";
gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
};
power_green: power {
label = "vgv7510kw22:green:power";
gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
default-state = "keep";
};
info_green {
label = "vgv7510kw22:green:info";
gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
};
internet_green: internet_green {
label = "vgv7510kw22:green:internet";
gpios = <&gpio 19 GPIO_ACTIVE_LOW>;
};
wifi: wifi {
label = "vgv7510kw22:green:wlan";
gpios = <&gpio 20 GPIO_ACTIVE_LOW>;
};
power_red: power2 {
label = "vgv7510kw22:red:power";
gpios = <&gpio 28 GPIO_ACTIVE_LOW>;
};
phone {
label = "vgv7510kw22:green:telefon";
gpios = <&gpio 29 GPIO_ACTIVE_LOW>;
};
};
usb_vbus: regulator-usb-vbus {
compatible = "regulator-fixed";
regulator-name = "USB_VBUS";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
gpio = <&gpio 47 GPIO_ACTIVE_HIGH>;
enable-active-high;
};
};
&eth0 {
lan: interface@0 {
compatible = "lantiq,xrx200-pdi";
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
mtd-mac-address = <&boardconfig 0x16>;
lantiq,switch;
ethernet@0 {
compatible = "lantiq,xrx200-pdi-port";
reg = <0>;
phy-mode = "mii";
phy-handle = <&phy1>;
};
ethernet@2 {
compatible = "lantiq,xrx200-pdi-port";
reg = <2>;
phy-mode = "mii";
phy-handle = <&phy11>;
};
ethernet@3 {
compatible = "lantiq,xrx200-pdi-port";
reg = <3>;
phy-mode = "mii";
phy-handle = <&phy12>;
};
ethernet@4 {
compatible = "lantiq,xrx200-pdi-port";
reg = <4>;
phy-mode = "mii";
phy-handle = <&phy13>;
};
ethernet@5 {
compatible = "lantiq,xrx200-pdi-port";
reg = <5>;
phy-mode = "mii";
phy-handle = <&phy14>;
};
};
mdio@0 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "lantiq,xrx200-mdio";
reg = <0>;
phy1: ethernet-phy@1 {
reg = <0x1>;
compatible = "ethernet-phy-ieee802.3-c22";
};
phy11: ethernet-phy@11 {
reg = <0x11>;
compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22";
};
phy12: ethernet-phy@12 {
reg = <0x12>;
compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22";
};
phy13: ethernet-phy@13 {
reg = <0x13>;
compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22";
};
phy14: ethernet-phy@14 {
reg = <0x14>;
compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22";
};
};
};
&gphy0 {
lantiq,gphy-mode = <GPHY_MODE_FE>;
};
&gphy1 {
lantiq,gphy-mode = <GPHY_MODE_FE>;
};
&gpio {
pinctrl-names = "default";
pinctrl-0 = <&state_default>;
state_default: pinmux {
gphy-leds {
lantiq,groups = "gphy0 led0", "gphy0 led1",
"gphy1 led0", "gphy1 led1";
lantiq,function = "gphy";
lantiq,open-drain = <0>;
lantiq,pull = <2>;
lantiq,output = <1>;
};
mdio {
lantiq,groups = "mdio";
lantiq,function = "mdio";
};
pci-rst {
lantiq,pins = "io21";
lantiq,open-drain = <0>;
lantiq,pull = <0>;
lantiq,output = <1>;
};
};
};
&localbus {
nor@0 {
compatible = "lantiq,nor";
bank-width = <2>;
reg = <0 0x0 0x1000000>;
#address-cells = <1>;
#size-cells = <1>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
boardconfig: partition@fe0000 {
label = "board_config";
reg = <0xfe0000 0x20000>;
read-only;
};
};
};
};
&pci0 {
status = "okay";
gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
wifi@1814,3592 {
compatible = "pci1814,3592";
reg = <0x7000 0 0 0 0>;
ralink,mtd-eeprom = <&boardconfig 0x410>;
ralink,mtd-eeprom-swap;
mtd-mac-address = <&boardconfig 0x16>;
mtd-mac-address-increment = <1>;
};
};
&pcie0 {
status = "disabled";
};
&usb_phy0 {
status = "okay";
phy-supply = <&usb_vbus>;
};
&usb0 {
status = "okay";
};
&vmmc {
status = "okay";
gpios = <&gpio 30 GPIO_ACTIVE_HIGH //fxs relay
&gpio 31 GPIO_ACTIVE_HIGH //still unknown
&gpio 3 GPIO_ACTIVE_HIGH>; //reset_slic?
};

View File

@@ -0,0 +1,65 @@
/dts-v1/;
#include "VGV7510KW22.dtsi"
/ {
compatible = "arcadyan,vgv7510kw22-brn", "arcadyan,vgv7510kw22", "lantiq,xway", "lantiq,vr9";
model = "o2 Box 6431";
sram@1f000000 {
cgu@103000 {
lantiq,phy-clk-src = <0x2>;
};
};
};
&localbus {
nor@0 {
partitions {
partition@0 {
label = "Boot";
reg = <0x00000 0x40000>;
read-only;
};
partition@40000 {
label = "Configuration";
reg = <0x40000 0x40000>;
read-only;
};
partition@80000 {
label = "Certificate";
reg = <0x80000 0x20000>;
read-only;
};
partition@a0000 {
label = "Special_Area";
reg = <0xa0000 0x20000>;
read-only;
};
partition@c0000 {
compatible = "brnboot,root-selector";
label = "Primary_Setting";
reg = <0xc0000 0x20000>;
read-only;
};
partition@e0000 {
label = "Code_Image_0";
reg = <0xe0000 0x780000>;
brnboot,root-id = <0x00>;
read-only;
};
partition@860000 {
label = "Code_Image_1";
reg = <0x860000 0x780000>;
brnboot,root-id = <0x01>;
read-only;
};
};
};
};

View File

@@ -0,0 +1,31 @@
/dts-v1/;
#include "VGV7510KW22.dtsi"
/ {
compatible = "arcadyan,vgv7510kw22-nor", "arcadyan,vgv7510kw22", "lantiq,xway", "lantiq,vr9";
model = "o2 Box 6431";
};
&localbus {
nor@0 {
partitions {
partition@0 {
label = "uboot";
reg = <0x0 0x60000>; /* 384 KiB */
read-only;
};
partition@60000 {
label = "uboot-env";
reg = <0x60000 0x20000>; /* 128 KiB */
read-only;
};
partition@80000 {
label = "firmware";
reg = <0x80000 0xf60000>; /* 15744 KiB */
};
};
};
};

View File

@@ -0,0 +1,312 @@
#include "vr9.dtsi"
#include <dt-bindings/input/input.h>
#include <dt-bindings/mips/lantiq_rcu_gphy.h>
/ {
compatible = "arcadyan,vgv7519", "lantiq,xway", "lantiq,vr9";
chosen {
bootargs = "console=ttyLTQ0,115200 mem=62M vpe1_load_addr=0x83e00000 vpe1_mem=2M maxvpes=1 maxtcs=1 nosmp";
};
aliases {
led-boot = &power_green;
led-failsafe = &power_red;
led-running = &power_green;
led-dsl = &broadband_green;
led-internet = &internet_green;
led-wifi = &wireless_green;
};
memory@0 {
reg = <0x0 0x4000000>;
};
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
#size-cells = <0>;
poll-interval = <100>;
reset {
label = "reset";
gpios = <&gpio 9 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
eco {
label = "eco";
gpios = <&gpio 41 GPIO_ACTIVE_LOW>;
linux,code = <BTN_0>;
};
rfkill {
label = "rfkill";
gpios = <&gpio 45 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RFKILL>;
};
wps {
label = "wps";
gpios = <&gpio 10 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WPS_BUTTON>;
};
};
gpio-leds {
compatible = "gpio-leds";
eco {
label = "vgv7519:blue:eco";
gpios = <&stp 2 GPIO_ACTIVE_LOW>;
};
wps_red {
label = "vgv7519:red:wps";
gpios = <&stp 3 GPIO_ACTIVE_LOW>;
};
wps_green {
label = "vgv7519:green:wps";
gpios = <&stp 4 GPIO_ACTIVE_LOW>;
};
upgrade {
label = "vgv7519:blue:upgrade";
gpios = <&stp 5 GPIO_ACTIVE_LOW>;
};
tv {
label = "vgv7519:green:tv";
gpios = <&stp 6 GPIO_ACTIVE_LOW>;
};
internet_green: internet_green {
label = "vgv7519:green:internet";
gpios = <&stp 7 GPIO_ACTIVE_LOW>;
};
internet_red {
label = "vgv7519:red:internet";
gpios = <&stp 8 GPIO_ACTIVE_LOW>;
};
broadband_red {
label = "vgv7519:red:broadband";
gpios = <&stp 9 GPIO_ACTIVE_LOW>;
};
broadband_green: broadband_green {
label = "vgv7519:green:broadband";
gpios = <&stp 10 GPIO_ACTIVE_LOW>;
};
voice {
label = "vgv7519:green:voice";
gpios = <&stp 11 GPIO_ACTIVE_LOW>;
};
wireless_red {
label = "vgv7519:red:wireless";
gpios = <&stp 12 GPIO_ACTIVE_LOW>;
};
wireless_green: wireless_green {
label = "vgv7519:green:wireless";
gpios = <&stp 13 GPIO_ACTIVE_LOW>;
};
power_green: power2 {
label = "vgv7519:green:power";
gpios = <&stp 14 GPIO_ACTIVE_LOW>;
default-state = "keep";
};
power_red: power {
label = "vgv7519:red:power";
gpios = <&stp 15 GPIO_ACTIVE_LOW>;
};
};
usb_vbus: regulator-usb-vbus {
compatible = "regulator-fixed";
regulator-name = "USB_VBUS";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
gpio = <&gpio 32 GPIO_ACTIVE_HIGH>;
enable-active-high;
};
};
&eth0 {
lan: interface@0 {
compatible = "lantiq,xrx200-pdi";
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
mtd-mac-address = <&boardconfig 0x16>;
mtd-mac-address-increment = <1>;
lantiq,switch;
ethernet@0 {
compatible = "lantiq,xrx200-pdi-port";
reg = <0>;
phy-mode = "rgmii";
phy-handle = <&phy0>;
};
ethernet@1 {
compatible = "lantiq,xrx200-pdi-port";
reg = <1>;
phy-mode = "rgmii";
phy-handle = <&phy1>;
};
ethernet@2 {
compatible = "lantiq,xrx200-pdi-port";
reg = <2>;
phy-mode = "gmii";
phy-handle = <&phy11>;
};
ethernet@4 {
compatible = "lantiq,xrx200-pdi-port";
reg = <4>;
phy-mode = "gmii";
phy-handle = <&phy13>;
};
ethernet@5 {
compatible = "lantiq,xrx200-pdi-port";
reg = <5>;
phy-mode = "rgmii";
phy-handle = <&phy5>;
};
};
mdio@0 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "lantiq,xrx200-mdio";
reg = <0>;
phy0: ethernet-phy@0 {
reg = <0x0>;
compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
};
phy1: ethernet-phy@1 {
reg = <0x1>;
compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
};
phy5: ethernet-phy@5 {
reg = <0x5>;
compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
};
phy11: ethernet-phy@11 {
reg = <0x11>;
compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
};
phy13: ethernet-phy@13 {
reg = <0x13>;
compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
};
};
};
&gphy0 {
lantiq,gphy-mode = <GPHY_MODE_GE>;
};
&gphy1 {
lantiq,gphy-mode = <GPHY_MODE_GE>;
};
&gpio {
pinctrl-names = "default";
pinctrl-0 = <&state_default>;
state_default: pinmux {
stp {
lantiq,groups = "stp";
lantiq,function = "stp";
lantiq,open-drain = <0>;
lantiq,output = <1>;
lantiq,pull = <0>;
};
mdio {
lantiq,groups = "mdio";
lantiq,function = "mdio";
};
pci-rst {
lantiq,pins = "io21";
lantiq,open-drain = <0>;
lantiq,pull = <0>;
lantiq,output = <1>;
};
gphy-leds {
lantiq,groups = "gphy0 led1", "gphy1 led0";
lantiq,function = "gphy";
lantiq,open-drain = <0>;
lantiq,pull = <0>;
lantiq,output = <1>;
};
};
};
&localbus {
nor@0 {
compatible = "lantiq,nor";
bank-width = <2>;
reg = <0 0x0 0x800000>, <1 0x800000 0x800000>;
#address-cells = <1>;
#size-cells = <1>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
boardconfig: partition@40000 {
label = "board_config";
reg = <0x40000 0x10000>;
read-only;
};
};
};
};
&pci0 {
status = "okay";
gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
wifi@1814,3091 {
compatible = "pci1814,3091";
reg = <0x7000 0 0 0 0>;
ralink,mtd-eeprom = <&boardconfig 0x410>;
ralink,mtd-eeprom-swap;
mtd-mac-address = <&boardconfig 0x16>;
mtd-mac-address-increment = <1>;
};
};
&pcie0 {
status = "disabled";
};
&stp {
lantiq,shadow = <0xffff>;
lantiq,groups = <0x3>;
lantiq,dsl = <0x0>;
lantiq,phy1 = <0x0>;
lantiq,phy2 = <0x0>;
/* lantiq,rising; */
};
&usb_phy0 {
status = "okay";
phy-supply = <&usb_vbus>;
};
&usb_phy1 {
status = "okay";
phy-supply = <&usb_vbus>;
};
&usb0 {
status = "okay";
};
&usb1 {
status = "okay";
};
&vmmc {
status = "okay";
gpios = <&gpio 30 GPIO_ACTIVE_HIGH //fxs relay
&gpio 31 GPIO_ACTIVE_HIGH //still unknown
&gpio 3 GPIO_ACTIVE_HIGH>; //reset_slic?
};

View File

@@ -0,0 +1,70 @@
/dts-v1/;
#include "VGV7519.dtsi"
/ {
compatible = "arcadyan,vgv7519-brn", "arcadyan,vgv7519", "lantiq,xway", "lantiq,vr9";
model = "KPN Experiabox V8";
};
&localbus {
nor@0 {
partitions {
partition@0 {
label = "Boot";
reg = <0x00000 0x40000>;
read-only;
};
partition@50000 {
label = "Certificate";
reg = <0x50000 0x10000>;
read-only;
};
partition@60000 {
label = "Special_Area";
reg = <0x60000 0x10000>;
read-only;
};
partition@70000 {
label = " Reserve_0";
reg = <0x70000 0x10000>;
read-only;
};
partition@80000 {
label = "Code_Image_0";
reg = <0x80000 0x780000>;
brnboot,root-id = <0x00>;
read-only;
};
partition@4000000 {
compatible = "brnboot,root-selector";
label = "Primary_Setting";
reg = <0x4000000 0x10000>;
read-only;
};
partition@4010000 {
label = "Configuration";
reg = <0x4010000 0x60000>;
read-only;
};
partition@4070000 {
label = " Reserve_1";
reg = <0x4070000 0x10000>;
read-only;
};
partition@4080000 {
label = "Code_Image_1";
reg = <0x4080000 0x780000>;
brnboot,root-id = <0x01>;
read-only;
};
};
};
};

View File

@@ -0,0 +1,29 @@
/dts-v1/;
#include "VGV7519.dtsi"
/ {
compatible = "arcadyan,vgv7519-nor", "arcadyan,vgv7519", "lantiq,xway", "lantiq,vr9";
model = "KPN Experiabox V8";
};
&localbus {
nor@0 {
partitions {
partition@0 {
label = "uboot";
reg = <0x00000 0x40000>;
read-only;
};
partition@60000 {
label = "uboot_env";
reg = <0x60000 0x10000>;
read-only;
};
partition@80000 {
label = "firmware";
reg = <0x80000 0xf80000>;
};
};
};
};

View File

@@ -0,0 +1,305 @@
/dts-v1/;
#include "vr9.dtsi"
#include <dt-bindings/input/input.h>
#include <dt-bindings/mips/lantiq_rcu_gphy.h>
/ {
compatible = "tplink,vr200v", "lantiq,xway", "lantiq,vr9";
model = "TP-LINK Archer VR200v";
chosen {
bootargs = "console=ttyLTQ0,115200";
};
aliases {
led-boot = &power;
led-failsafe = &power;
led-dsl = &dsl;
led-internet = &internet;
led-usb = &led_usb;
led-usb2 = &led_usb;
};
memory@0 {
reg = <0x0 0x7f00000>;
};
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
#size-cells = <0>;
poll-interval = <100>;
reset {
label = "reset";
gpios = <&gpio 22 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
wifi {
label = "wifi";
gpios = <&gpio 0 GPIO_ACTIVE_HIGH>;
linux,code = <KEY_RFKILL>;
linux,input-type = <EV_SW>;
};
wps {
label = "wps";
gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WPS_BUTTON>;
};
dect_paging {
label = "dect_paging";
gpios = <&gpio 39 GPIO_ACTIVE_LOW>;
linux,code = <KEY_PHONE>;
};
};
gpio-leds {
compatible = "gpio-leds";
power: power {
label = "vr200v:blue:power";
gpios = <&gpio 46 GPIO_ACTIVE_LOW>;
};
dsl: dsl {
label = "vr200v:blue:dsl";
gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
};
internet: internet {
label = "vr200v:blue:internet";
gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
};
led_usb: usb {
label = "vr200v:blue:usb";
gpios = <&gpio 25 GPIO_ACTIVE_LOW>;
};
eth {
label = "vr200v:blue:lan";
gpios = <&gpio 40 GPIO_ACTIVE_LOW>;
};
wlan {
label = "vr200v:blue:wlan";
gpios = <&gpio 24 GPIO_ACTIVE_LOW>;
};
wlan5g {
label = "vr200v:blue:wlan5g";
gpios = <&gpio 20 GPIO_ACTIVE_LOW>;
};
phone {
label = "vr200v:blue:phone";
gpios = <&gpio 44 GPIO_ACTIVE_LOW>;
};
};
usb_vbus: regulator-usb-vbus {
compatible = "regulator-fixed";
regulator-name = "USB_VBUS";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
gpio = <&gpio 33 GPIO_ACTIVE_HIGH>;
enable-active-high;
};
};
&eth0 {
lan: interface@0 {
compatible = "lantiq,xrx200-pdi";
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
mtd-mac-address = <&romfile 0xf100>;
lantiq,switch;
ethernet@0 {
compatible = "lantiq,xrx200-pdi-port";
reg = <0>;
phy-mode = "rgmii";
phy-handle = <&phy0>;
// gpios = <&gpio 42 GPIO_ACTIVE_LOW>;
};
ethernet@5 {
compatible = "lantiq,xrx200-pdi-port";
reg = <5>;
phy-mode = "rgmii";
phy-handle = <&phy5>;
};
ethernet@2 {
compatible = "lantiq,xrx200-pdi-port";
reg = <2>;
phy-mode = "gmii";
phy-handle = <&phy11>;
};
ethernet@3 {
compatible = "lantiq,xrx200-pdi-port";
reg = <4>;
phy-mode = "gmii";
phy-handle = <&phy13>;
};
};
mdio@0 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "lantiq,xrx200-mdio";
reg = <0>;
phy0: ethernet-phy@0 {
reg = <0x0>;
compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
};
phy5: ethernet-phy@5 {
reg = <0x5>;
compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
};
phy11: ethernet-phy@11 {
reg = <0x11>;
compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
};
phy13: ethernet-phy@13 {
reg = <0x13>;
compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
};
};
};
&gphy0 {
lantiq,gphy-mode = <GPHY_MODE_GE>;
};
&gphy1 {
lantiq,gphy-mode = <GPHY_MODE_GE>;
};
&gpio {
pinctrl-names = "default";
pinctrl-0 = <&state_default>;
state_default: pinmux {
mdio {
lantiq,groups = "mdio";
lantiq,function = "mdio";
};
gphy-leds {
lantiq,groups = "gphy0 led1", "gphy1 led1";
lantiq,function = "gphy";
lantiq,pull = <2>;
lantiq,open-drain = <0>;
lantiq,output = <1>;
};
phy-rst {
lantiq,pins = "io42";
lantiq,pull = <0>;
lantiq,open-drain = <0>;
lantiq,output = <1>;
};
pcie-rst {
lantiq,pins = "io38";
lantiq,pull = <0>;
lantiq,output = <1>;
};
};
pins_spi_default: pins_spi_default {
spi_in {
lantiq,groups = "spi_di";
lantiq,function = "spi";
};
spi_out {
lantiq,groups = "spi_do", "spi_clk",
"spi_cs4";
lantiq,function = "spi";
lantiq,output = <1>;
};
};
};
&pci0 {
status = "okay";
gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
};
&spi {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pins_spi_default>;
m25p80@4 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "jedec,spi-nor";
reg = <4 0>;
spi-max-frequency = <33250000>;
m25p,fast-read;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
reg = <0x0 0x20000>;
label = "u-boot";
read-only;
};
partition@20000 {
reg = <0x20000 0xf90000>;
label = "firmware";
};
partition@fb0000 {
reg = <0xfb0000 0x10000>;
label = "radioDECT";
read-only;
};
partition@fc0000 {
reg = <0xfc0000 0x10000>;
label = "config";
read-only;
};
romfile: partition@fd0000 {
reg = <0xfd0000 0x10000>;
label = "romfile";
read-only;
};
partition@fe0000 {
reg = <0xfe0000 0x10000>;
label = "rom";
read-only;
};
partition@ff0000 {
reg = <0xff0000 0x10000>;
label = "radio";
read-only;
};
};
};
};
&usb_phy0 {
status = "okay";
phy-supply = <&usb_vbus>;
};
&usb_phy1 {
status = "okay";
phy-supply = <&usb_vbus>;
};
&usb0 {
status = "okay";
};
&usb1 {
status = "okay";
};

View File

@@ -0,0 +1,199 @@
/dts-v1/;
#include "ar9.dtsi"
#include <dt-bindings/input/input.h>
/ {
compatible = "buffalo,wbmr-hp-g300h", "lantiq,xway", "lantiq,ar9";
model = "Buffalo WBMR-HP-G300H";
chosen {
bootargs = "console=ttyLTQ0,115200";
};
aliases {
led-boot = &power_green;
led-failsafe = &power_red;
led-running = &power_green;
led-dsl = &dsl;
led-internet = &online_green;
led-usb = &led_usb;
led-wifi = &wifi;
};
memory@0 {
reg = <0x0 0x4000000>;
};
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
#size-cells = <0>;
poll-interval = <100>;
wps {
label = "wps";
gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WPS_BUTTON>;
};
reset {
label = "reset";
gpios = <&gpio 37 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
eject {
label = "eject";
gpios = <&gpio 34 GPIO_ACTIVE_LOW>;
linux,code = <KEY_EJECTCD>;
};
movie {
label = "movie";
gpios = <&gpio 22 GPIO_ACTIVE_LOW>;
linux,code = <KEY_VIDEO>;
};
};
gpio-leds {
compatible = "gpio-leds";
power_green: power {
label = "wbmr:green:power";
gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
default-state = "keep";
};
power_red: power2 {
label = "wbmr:red:power";
gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
};
security {
label = "wbmr:yellow:security";
gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
};
wifi: wifi {
label = "wbmr:green:wireless";
gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
};
dsl: dsl {
label = "wbmr:green:dsl";
gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
};
online_green: online {
label = "wbmr:green:internet";
gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
};
online2 {
label = "wbmr:red:internet";
gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
};
movie {
label = "wbmr:blue:movie";
gpios = <&gpio 20 GPIO_ACTIVE_LOW>;
};
led_usb: usb {
label = "wbmr:green:usb";
gpios = <&gpio 28 GPIO_ACTIVE_LOW>;
default-state = "on";
};
};
usb_vbus: regulator-usb-vbus {
compatible = "regulator-fixed";
regulator-name = "USB_VBUS";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
gpio = <&gpio 36 GPIO_ACTIVE_HIGH>;
enable-active-high;
};
};
&gpio {
pinctrl-names = "default";
pinctrl-0 = <&state_default>;
state_default: pinmux {
pci-in {
lantiq,groups = "req1";
lantiq,output = <0>;
lantiq,open-drain = <1>;
lantiq,pull = <2>;
};
pci-out {
lantiq,groups = "gnt1";
lantiq,output = <1>;
lantiq,pull = <0>;
};
pci_rst {
lantiq,pins = "io21";
lantiq,pull = <0>;
lantiq,output = <1>;
};
};
};
&gsw {
phy-mode = "rgmii";
mtd-mac-address = <&boardconfig 0x10024>;
};
&pci0 {
status = "okay";
};
&localbus {
nor@0 {
compatible = "lantiq,nor";
bank-width = <2>;
reg = <0 0x0 0x2000000>;
#address-cells = <1>;
#size-cells = <1>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "uboot";
reg = <0x00000 0x40000>;
read-only;
};
partition@40000 {
label = "uboot_env";
reg = <0x40000 0x20000>;
read-only;
};
partition@20000 {
label = "firmware";
reg = <0x60000 0x1f20000>;
};
boardconfig: partition@1fc0000 {
label = "board";
reg = <0x1fc0000 0x20000>;
read-only;
};
partition@1fe0000 {
label = "calibration";
reg = <0x1fe0000 0x20000>;
read-only;
};
};
};
};
&usb_phy0 {
status = "okay";
phy-supply = <&usb_vbus>;
};
&usb0 {
status = "okay";
};

View File

@@ -0,0 +1,329 @@
/dts-v1/;
#include "vr9.dtsi"
#include <dt-bindings/input/input.h>
#include <dt-bindings/mips/lantiq_rcu_gphy.h>
/ {
compatible = "buffalo,wbmr-300hpd", "lantiq,xway", "lantiq,vr9";
model = "Buffalo WBMR-300HPD";
chosen {
bootargs = "console=ttyLTQ0,115200";
};
aliases {
led-boot = &power_g;
led-failsafe = &diag_r;
led-running = &power_g;
led-dsl = &dsl;
led-internet = &router_g;
led-wifi = &wifi_g;
};
memory@0 {
reg = <0x0 0x4000000>;
};
gpio_poweroff {
compatible = "gpio-poweroff";
gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
};
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
#size-cells = <0>;
poll-interval = <100>;
power {
label = "power";
gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
linux,code = <KEY_POWER>;
};
reset {
label = "reset";
gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
wps {
label = "wps";
gpios = <&gpio 31 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WPS_BUTTON>;
};
auto {
label = "auto";
gpios = <&gpio 48 GPIO_ACTIVE_HIGH>;
linux,code = <BTN_0>;
linux,input-type = <EV_SW>;
};
router {
label = "router";
gpios = <&gpio 2 GPIO_ACTIVE_HIGH>;
linux,code = <BTN_1>;
linux,input-type = <EV_SW>;
};
};
gpio-leds {
compatible = "gpio-leds";
diag_r: diag_r {
label = "wbmr300:red:diag";
gpios = <&gpio 0 GPIO_ACTIVE_HIGH>;
default_state = "off";
};
wifi_g: wifi_g {
label = "wbmr300:green:wifi";
gpios = <&gpio 1 GPIO_ACTIVE_HIGH>;
};
dsl: dsl {
label = "dsl";
gpios = <&gpio 4 GPIO_ACTIVE_HIGH>;
};
router_y: router_y {
label = "wbmr300:yellow:router";
gpios = <&gpio 8 GPIO_ACTIVE_HIGH>;
};
wifi_y: wifi_y {
label = "wbmr300:yellow:wifi";
gpios = <&gpio 9 GPIO_ACTIVE_HIGH>;
};
lan1: lan1 {
label = "wbmr300:green:lan1";
gpios = <&gpio 11 GPIO_ACTIVE_HIGH>;
};
wan: wan {
label = "wbmr300:green:wan";
gpios = <&gpio 12 GPIO_ACTIVE_HIGH>;
};
lan3: lan3 {
label = "wbmr300:green:lan3";
gpios = <&gpio 15 GPIO_ACTIVE_HIGH>;
};
lan2: lan2 {
label = "wbmr300:green:lan2";
gpios = <&gpio 33 GPIO_ACTIVE_HIGH>;
};
internet_g: internet_g {
label = "wbmr300:green:internet";
gpios = <&gpio 34 GPIO_ACTIVE_HIGH>;
};
internet_y: internet_y {
label = "wbmr300:yellow:internet";
gpios = <&gpio 35 GPIO_ACTIVE_HIGH>;
};
router_g: router_g {
label = "wbmr300:green:router";
gpios = <&gpio 36 GPIO_ACTIVE_HIGH>;
};
power_g: power_g {
label = "wbmr300:green:power";
gpios = <&gpio 49 GPIO_ACTIVE_HIGH>;
};
};
usb_vbus: regulator-usb-vbus {
compatible = "regulator-fixed";
regulator-name = "USB_VBUS";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
gpio = <&gpio 33 GPIO_ACTIVE_HIGH>;
enable-active-high;
};
};
&eth0 {
lan: interface@0 {
compatible = "lantiq,xrx200-pdi";
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
lantiq,switch;
ethernet@1 {
compatible = "lantiq,xrx200-pdi-port";
reg = <4>;
phy-mode = "mii";
phy-handle = <&phy13>;
};
ethernet@2 {
compatible = "lantiq,xrx200-pdi-port";
reg = <5>;
phy-mode = "mii";
phy-handle = <&phy14>;
};
ethernet@3 {
compatible = "lantiq,xrx200-pdi-port";
reg = <2>;
phy-mode = "mii";
phy-handle = <&phy11>;
};
ethernet@4 {
compatible = "lantiq,xrx200-pdi-port";
reg = <3>;
phy-mode = "mii";
phy-handle = <&phy12>;
};
};
mdio@0 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "lantiq,xrx200-mdio";
reg = <0>;
phy11: ethernet-phy@11 {
reg = <0x11>;
compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22";
};
phy12: ethernet-phy@12 {
reg = <0x12>;
compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22";
};
phy13: ethernet-phy@13 {
reg = <0x13>;
compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22";
};
phy14: ethernet-phy@14 {
reg = <0x14>;
compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22";
};
};
};
&gphy0 {
lantiq,gphy-mode = <GPHY_MODE_FE>;
};
&gphy1 {
lantiq,gphy-mode = <GPHY_MODE_FE>;
};
&gpio {
pinctrl-names = "default";
pinctrl-0 = <&state_default>;
state_default: pinmux {
mdio {
lantiq,groups = "mdio";
lantiq,function = "mdio";
};
phy-rst {
lantiq,pins = "io42";
lantiq,pull = <0>;
lantiq,open-drain = <0>;
lantiq,output = <1>;
};
pcie-rst {
lantiq,pins = "io38";
lantiq,pull = <0>;
lantiq,output = <1>;
};
};
pins_spi_default: pins_spi_default {
spi_in {
lantiq,groups = "spi_di";
lantiq,function = "spi";
};
spi_out {
lantiq,groups = "spi_do", "spi_clk",
"spi_cs4";
lantiq,function = "spi";
lantiq,output = <1>;
};
};
};
&spi {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pins_spi_default>;
m25p80@4 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "jedec,spi-nor";
reg = <4 0>;
spi-max-frequency = <20000000>;
partition@0 {
reg = <0x0 0x10000>;
label = "u-boot";
read-only;
};
partition@10000 {
reg = <0x10000 0x10000>;
label = "gphyfirmware";
read-only;
};
partition@20000 {
reg = <0x20000 0x80000>;
label = "dsl_fw";
};
partition@de0000 {
reg = <0xa0000 0xf40000>;
label = "firmware";
};
partition@fe0000 {
reg = <0xfe0000 0x10000>;
label = "sysconfig";
read-only;
};
partition@ff0000 {
reg = <0xff0000 0x2000>;
label = "ubootconfig";
};
partition@ff3000 {
reg = <0xff3000 0x2000>;
label = "board_config";
read-only;
};
};
};
&usb_phy0 {
status = "okay";
phy-supply = <&usb_vbus>;
};
&usb_phy1 {
status = "okay";
phy-supply = <&usb_vbus>;
};
&usb0 {
status = "okay";
};
&usb1 {
status = "okay";
};

View File

@@ -0,0 +1,204 @@
#include <dt-bindings/gpio/gpio.h>
/ {
#address-cells = <1>;
#size-cells = <1>;
compatible = "lantiq,xway", "lantiq,ase";
aliases {
serial0 = &asc1;
};
chosen {
stdout-path = "serial0:115200n8";
};
cpus {
cpu@0 {
compatible = "mips,mips4Kc";
};
};
memory@0 {
device_type = "memory";
};
biu@1f800000 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "lantiq,biu", "simple-bus";
reg = <0x1f800000 0x800000>;
ranges = <0x0 0x1f800000 0x7fffff>;
icu0: icu@80200 {
#interrupt-cells = <1>;
interrupt-controller;
compatible = "lantiq,icu";
reg = <0x80200 0x28
0x80228 0x28
0x80250 0x28
0x80278 0x28
0x802a0 0x28>;
};
watchdog@803f0 {
compatible = "lantiq,wdt";
reg = <0x803f0 0x10>;
};
};
sram@1f000000 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "lantiq,sram", "simple-bus";
reg = <0x1f000000 0x800000>;
ranges = <0x0 0x1f000000 0x7fffff>;
eiu0: eiu@101000 {
#interrupt-cells = <1>;
interrupt-controller;
compatible = "lantiq,eiu-xway";
reg = <0x101000 0x1000>;
interrupt-parent = <&icu0>;
lantiq,eiu-irqs = <29 30 31>;
};
pmu0: pmu@102000 {
compatible = "lantiq,pmu-xway";
reg = <0x102000 0x1000>;
};
cgu0: cgu@103000 {
compatible = "lantiq,cgu-xway";
reg = <0x103000 0x1000>;
#clock-cells = <1>;
};
rcu0: rcu@203000 {
compatible = "lantiq,ase-rcu", "simple-mfd", "syscon";
reg = <0x203000 0x1000>;
ranges = <0x0 0x203000 0x100>;
big-endian;
reset: reset-controller@10 {
compatible = "lantiq,danube-reset";
reg = <0x10 4>, <0x14 4>;
#reset-cells = <2>;
};
usb_phy: usb2-phy@18 {
compatible = "lantiq,ase-usb2-phy";
reg = <0x18 4>;
status = "disabled";
resets = <&reset 4 4>;
reset-names = "ctrl";
#phy-cells = <0>;
};
reboot@10 {
compatible = "syscon-reboot";
reg = <0x10 4>;
regmap = <&rcu0>;
offset = <0x10>;
mask = <0x40000000>;
};
};
};
fpi@10000000 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "lantiq,fpi", "simple-bus";
ranges = <0x0 0x10000000 0xeefffff>;
reg = <0x10000000 0xef00000>;
localbus: localbus@0 {
#address-cells = <2>;
#size-cells = <1>;
ranges = <0 0 0x0 0x3ffffff /* addrsel0 */
1 0 0x4000000 0x4000010>; /* addsel1 */
compatible = "lantiq,localbus", "simple-bus";
};
spi: spi@e100800 {
compatible = "lantiq,ase-spi";
reg = <0xe100800 0x100>;
interrupt-parent = <&icu0>;
interrupts = <24 25 26>;
interrupt-names = "spi_rx", "spi_tx", "spi_err",
"spi_frm";
#address-cells = <1>;
#size-cells = <1>;
status = "disabled";
};
gptu@e100a00 {
compatible = "lantiq,gptu-xway";
reg = <0xe100a00 0x100>;
interrupt-parent = <&icu0>;
interrupts = <33 34 35 36 37 38>;
};
gpio: pinmux@e100b10 {
compatible = "lantiq,ase-pinctrl";
#gpio-cells = <2>;
gpio-controller;
reg = <0xe100b10 0xa0>;
};
asc1: serial@e100c00 {
compatible = "lantiq,asc";
reg = <0xe100c00 0x400>;
interrupt-parent = <&icu0>;
interrupts = <72 74 75>;
};
mei@e116000 {
compatible = "lantiq,mei-xway";
interrupt-parent = <&icu0>;
interrupts = <81>;
};
usb: usb@e101000 {
compatible = "lantiq,ase-usb";
reg = <0xe101000 0x1000
0xe120000 0x3f000>;
interrupt-parent = <&icu0>;
interrupts = <39>;
dr_mode = "host";
phys = <&usb_phy>;
phy-names = "usb2-phy";
status = "disabled";
};
dma0: dma@e104100 {
compatible = "lantiq,dma-xway";
reg = <0xe104100 0x800>;
};
ebu0: ebu@e105300 {
compatible = "lantiq,ebu-xway";
reg = <0xe105300 0x100>;
};
ppe@e234000 {
compatible = "lantiq,ppe-ase";
interrupt-parent = <&icu0>;
interrupts = <85>;
};
gsw: etop@e180000 {
compatible = "lantiq,etop-xway";
reg = <0xe180000 0x40000>;
interrupt-parent = <&icu0>;
interrupts = <105 109>;
};
};
adsl {
compatible = "lantiq,adsl-ase";
};
};

View File

@@ -0,0 +1,268 @@
#include <dt-bindings/gpio/gpio.h>
/ {
#address-cells = <1>;
#size-cells = <1>;
compatible = "lantiq,xway", "lantiq,ar9";
aliases {
serial0 = &asc1;
};
chosen {
stdout-path = "serial0:115200n8";
};
cpus {
cpu@0 {
compatible = "mips,mips34K";
};
};
memory@0 {
device_type = "memory";
};
biu@1f800000 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "lantiq,biu", "simple-bus";
reg = <0x1f800000 0x800000>;
ranges = <0x0 0x1f800000 0x7fffff>;
icu0: icu@80200 {
#interrupt-cells = <1>;
interrupt-controller;
compatible = "lantiq,icu";
reg = <0x80200 0x28
0x80228 0x28
0x80250 0x28
0x80278 0x28
0x802a0 0x28>;
};
watchdog@803f0 {
compatible = "lantiq,xrx100-wdt", "lantiq,xrx100-wdt";
reg = <0x803f0 0x10>;
regmap = <&rcu0>;
};
};
sram@1f000000 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "lantiq,sram", "simple-bus";
reg = <0x1f000000 0x800000>;
ranges = <0x0 0x1f000000 0x7fffff>;
eiu0: eiu@101000 {
#interrupt-cells = <1>;
interrupt-controller;
compatible = "lantiq,eiu-xway";
reg = <0x101000 0x1000>;
interrupt-parent = <&icu0>;
lantiq,eiu-irqs = <166 135 66 40 41 42>;
};
pmu0: pmu@102000 {
compatible = "lantiq,pmu-xway";
reg = <0x102000 0x1000>;
};
cgu0: cgu@103000 {
compatible = "lantiq,cgu-xway";
reg = <0x103000 0x1000>;
#clock-cells = <1>;
};
rcu0: rcu@203000 {
compatible = "lantiq,xrx100-rcu", "simple-mfd", "syscon";
reg = <0x203000 0x1000>;
ranges = <0x0 0x203000 0x100>;
big-endian;
reset: reset-controller@10 {
compatible = "lantiq,xrx100-reset", "lantiq,danube-reset";
reg = <0x10 4>, <0x14 4>;
#reset-cells = <2>;
};
usb_phy0: usb2-phy@18 {
compatible = "lantiq,xrx100-usb2-phy";
reg = <0x18 4>;
status = "disabled";
resets = <&reset 4 4>;
reset-names = "ctrl";
#phy-cells = <0>;
};
usb_phy1: usb2-phy@34 {
compatible = "lantiq,xrx100-usb2-phy";
reg = <0x34 4>;
status = "disabled";
resets = <&reset 28 28>;
reset-names = "ctrl";
#phy-cells = <0>;
};
reboot@10 {
compatible = "syscon-reboot";
reg = <0x10 4>;
regmap = <&rcu0>;
offset = <0x10>;
mask = <0x40000000>;
};
};
};
fpi@10000000 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "lantiq,fpi", "simple-bus";
ranges = <0x0 0x10000000 0xeefffff>;
reg = <0x10000000 0xef00000>;
localbus: localbus@0 {
#address-cells = <2>;
#size-cells = <1>;
ranges = <0 0 0x0 0x3ffffff /* addrsel0 */
1 0 0x4000000 0x4000010>; /* addsel1 */
compatible = "lantiq,localbus", "simple-bus";
};
gptu@e100a00 {
compatible = "lantiq,gptu-xway";
reg = <0xe100a00 0x100>;
interrupt-parent = <&icu0>;
interrupts = <126 127 128 129 130 131>;
};
asc0: serial@e100400 {
compatible = "lantiq,asc";
reg = <0xe100400 0x400>;
interrupt-parent = <&icu0>;
interrupts = <104 105 106>;
status = "disabled";
};
spi: spi@e100800 {
compatible = "lantiq,xrx100-spi";
reg = <0xe100800 0x100>;
interrupt-parent = <&icu0>;
interrupts = <22 23 24>;
interrupt-names = "spi_rx", "spi_tx", "spi_err",
"spi_frm";
#address-cells = <1>;
#size-cells = <1>;
status = "disabled";
};
gpio: pinmux@e100b10 {
compatible = "lantiq,xrx100-pinctrl";
#gpio-cells = <2>;
gpio-controller;
reg = <0xe100b10 0xa0>;
};
stp: stp@e100bb0 {
#gpio-cells = <2>;
compatible = "lantiq,gpio-stp-xway";
gpio-controller;
reg = <0xe100bb0 0x40>;
status = "disabled";
};
asc1: serial@e100c00 {
compatible = "lantiq,asc";
reg = <0xe100c00 0x400>;
interrupt-parent = <&icu0>;
interrupts = <112 113 114>;
};
usb0: usb@e101000 {
compatible = "lantiq,arx100-usb";
reg = <0xe101000 0x1000
0xe120000 0x3f000>;
interrupt-parent = <&icu0>;
interrupts = <62 91>;
dr_mode = "host";
phys = <&usb_phy0>;
phy-names = "usb2-phy";
status = "disabled";
};
usb1: usb@e106000 {
compatible = "lantiq,arx100-usb";
reg = <0xe106000 0x1000
0xe1e0000 0x3f000>;
interrupt-parent = <&icu0>;
interrupts = <91>;
dr_mode = "host";
phys = <&usb_phy1>;
phy-names = "usb2-phy";
status = "disabled";
};
deu@e103100 {
compatible = "lantiq,deu-arx100";
reg = <0xe103100 0xf00>;
};
dma0: dma@e104100 {
compatible = "lantiq,dma-xway";
reg = <0xe104100 0x800>;
};
ebu0: ebu@e105300 {
compatible = "lantiq,ebu-xway";
reg = <0xe105300 0x100>;
};
mei@e116000 {
compatible = "lantiq,mei-xway";
interrupt-parent = <&icu0>;
interrupts = <63>;
};
gsw: etop@e180000 {
compatible = "lantiq,etop-xway";
reg = <0xe180000 0x40000
0xe108000 0x200>;
interrupt-parent = <&icu0>;
interrupts = <73 72>;
mac-address = [ 00 11 22 33 44 55 ];
};
ppe@e234000 {
compatible = "lantiq,ppe-arx100";
interrupt-parent = <&icu0>;
interrupts = <96>;
};
pci0: pci@e105400 {
status = "disabled";
#address-cells = <3>;
#size-cells = <2>;
#interrupt-cells = <1>;
compatible = "lantiq,pci-xway";
bus-range = <0x0 0x0>;
ranges = <0x2000000 0 0x8000000 0x8000000 0 0x2000000 /* pci memory */
0x1000000 0 0x00000000 0xae00000 0 0x200000>; /* io space */
reg = <0x7000000 0x8000 /* config space */
0xe105400 0x400>; /* pci bridge */
lantiq,bus-clock = <33333333>;
interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
interrupt-map = <0x7000 0 0 1 &icu0 30 1>;
req-mask = <0x1>;
};
};
adsl {
compatible = "lantiq,adsl-arx100";
};
};

View File

@@ -0,0 +1,252 @@
#include <dt-bindings/gpio/gpio.h>
/ {
#address-cells = <1>;
#size-cells = <1>;
compatible = "lantiq,xway", "lantiq,danube";
aliases {
serial0 = &asc1;
};
chosen {
stdout-path = "serial0:115200n8";
};
cpus {
cpu@0 {
compatible = "mips,mips24Kc";
};
};
memory@0 {
device_type = "memory";
};
biu@1f800000 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "lantiq,biu", "simple-bus";
reg = <0x1f800000 0x800000>;
ranges = <0x0 0x1f800000 0x7fffff>;
icu0: icu@80200 {
#interrupt-cells = <1>;
interrupt-controller;
compatible = "lantiq,icu";
reg = <0x80200 0x28
0x80228 0x28
0x80250 0x28
0x80278 0x28
0x802a0 0x28>;
};
watchdog@803f0 {
compatible = "lantiq,wdt";
reg = <0x803f0 0x10>;
};
};
sram@1f000000 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "lantiq,sram", "simple-bus";
reg = <0x1f000000 0x800000>;
ranges = <0x0 0x1f000000 0x7fffff>;
eiu0: eiu@101000 {
#interrupt-cells = <1>;
interrupt-controller;
compatible = "lantiq,eiu-xway";
reg = <0x101000 0x1000>;
interrupt-parent = <&icu0>;
lantiq,eiu-irqs = <166 135 66>;
};
pmu0: pmu@102000 {
compatible = "lantiq,pmu-xway";
reg = <0x102000 0x1000>;
};
cgu0: cgu@103000 {
compatible = "lantiq,cgu-xway";
reg = <0x103000 0x1000>;
#clock-cells = <1>;
};
vmmc: vmmc@107000 {
status = "disabled";
compatible = "lantiq,vmmc-xway";
reg = <0x103000 0x400>;
interrupt-parent = <&icu0>;
interrupts = <150 151 152 153 154 155>;
};
rcu0: rcu@203000 {
compatible = "lantiq,danube-rcu", "simple-mfd", "syscon";
reg = <0x203000 0x1000>;
ranges = <0x0 0x203000 0x100>;
big-endian;
reset: reset-controller@10 {
compatible = "lantiq,danube-reset";
reg = <0x10 4>, <0x14 4>;
#reset-cells = <2>;
};
usb_phy: usb2-phy@18 {
compatible = "lantiq,danube-usb2-phy";
reg = <0x18 4>;
status = "disabled";
resets = <&reset 4 4>;
reset-names = "ctrl";
#phy-cells = <0>;
};
reboot@10 {
compatible = "syscon-reboot";
reg = <0x10 4>;
regmap = <&rcu0>;
offset = <0x10>;
mask = <0x40000000>;
};
};
};
fpi@10000000 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "lantiq,fpi", "simple-bus";
ranges = <0x0 0x10000000 0xeefffff>;
reg = <0x10000000 0xef00000>;
localbus: localbus@0 {
#address-cells = <2>;
#size-cells = <1>;
ranges = <0 0 0x0 0x3ffffff /* addrsel0 */
1 0 0x4000000 0x4000010>; /* addsel1 */
compatible = "lantiq,localbus", "simple-bus";
gpiomm: gpiomm@1 {
compatible = "lantiq,gpio-mm";
reg = <1 0x0 0x10 >;
#address-cells = <1>;
#size-cells = <1>;
#gpio-cells = <2>;
gpio-controller;
status = "disabled";
};
};
gptu@e100a00 {
compatible = "lantiq,gptu-xway";
reg = <0xe100a00 0x100>;
interrupt-parent = <&icu0>;
interrupts = <126 127 128 129 130 131>;
};
gpios: stp@e100bb0 {
#gpio-cells = <2>;
compatible = "lantiq,gpio-stp-xway";
gpio-controller;
reg = <0xe100bb0 0x40>;
lantiq,shadow = <0xfff>;
lantiq,groups = <0x3>;
status = "disabled";
};
asc0: serial@e100400 {
compatible = "lantiq,asc";
reg = <0xe100400 0x400>;
interrupt-parent = <&icu0>;
interrupts = <104 105 106>;
status = "disabled";
};
gpio: pinmux@e100b10 {
compatible = "lantiq,danube-pinctrl";
#gpio-cells = <2>;
gpio-controller;
reg = <0xe100b10 0xa0>;
};
asc1: serial@e100c00 {
compatible = "lantiq,asc";
reg = <0xe100c00 0x400>;
interrupt-parent = <&icu0>;
interrupts = <112 113 114>;
};
usb: usb@e101000 {
compatible = "lantiq,danube-usb";
reg = <0xe101000 0x1000
0xe120000 0x3f000>;
interrupt-parent = <&icu0>;
interrupts = <62>;
dr_mode = "host";
phys = <&usb_phy>;
phy-names = "usb2-phy";
status = "disabled";
};
deu@e103100 {
compatible = "lantiq,deu-danube";
reg = <0xe103100 0xf00>;
};
dma0: dma@e104100 {
compatible = "lantiq,dma-xway";
reg = <0xe104100 0x800>;
};
ebu0: ebu@e105300 {
compatible = "lantiq,ebu-xway";
reg = <0xe105300 0x100>;
};
mei@e116000 {
compatible = "lantiq,mei-xway";
interrupt-parent = <&icu0>;
interrupts = <63>;
};
gsw: etop@e180000 {
compatible = "lantiq,etop-xway";
reg = <0xe180000 0x40000>;
interrupt-parent = <&icu0>;
interrupts = <73 78>;
mac-address = [ 00 11 22 33 44 55 ];
};
ppe@e234000 {
compatible = "lantiq,ppe-danube";
interrupt-parent = <&icu0>;
interrupts = <96>;
};
pci0: pci@e105400 {
status = "disabled";
#address-cells = <3>;
#size-cells = <2>;
#interrupt-cells = <1>;
compatible = "lantiq,pci-xway";
bus-range = <0x0 0x0>;
ranges = <0x2000000 0 0x8000000 0x8000000 0 0x2000000 /* pci memory */
0x1000000 0 0x00000000 0xae00000 0 0x200000>; /* io space */
reg = <0x7000000 0x8000 /* config space */
0xe105400 0x400>; /* pci bridge */
lantiq,bus-clock = <33333333>;
interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
interrupt-map = <0x7000 0 0 1 &icu0 30 1>; /* slot 14, irq 30 */
req-mask = <0x1>; /* GNT1 */
};
};
adsl {
compatible = "lantiq,adsl-danube";
};
};

View File

@@ -0,0 +1,37 @@
&ebu_cs0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "lantiq,sflash-falcon", "simple-bus";
flash@0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "spansion,s25fl129p0", "spansion,s25fl129p1";
reg = <0 0>;
linux,mtd-name = "sflash";
spi-max-frequency = <80000000>;
m25p,fast-read;
partition@0 {
reg = <0x0 0x40000>;
label = "uboot";
read-only;
};
partition@40000 {
reg = <0x40000 0x80000>;
label = "uboot_env";
};
partition@C0000 {
reg = <0xC0000 0x740000>;
label = "image0";
};
partition@800000 {
reg = <0x800000 0x800000>;
label = "image1";
};
};
};

View File

@@ -0,0 +1,392 @@
/ {
#address-cells = <1>;
#size-cells = <1>;
compatible = "lantiq,falcon";
cpus {
cpu@0 {
compatible = "mips,mips34kc";
};
};
aliases {
serial0 = &serial0;
serial1 = &serial1;
gpio0 = &gpio0;
gpio1 = &gpio1;
gpio2 = &gpio2;
gpio3 = &gpio3;
gpio4 = &gpio4;
};
chosen {
stdout-path = "serial0:115200n8";
};
clocks {
compatible = "simple-bus";
cpu_clk: cpu {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <400000000>;
clock-output-names = "cpu";
};
io_clk: io {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <200000000>;
clock-output-names = "io";
};
fpi_clk: fpi {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <100000000>;
clock-output-names = "fpi";
};
};
ebu_cs0: localbus@10000000 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "lantiq,localbus", "simple-bus";
reg = <0x10000000 0x4000000>;
ranges = <0x0 0x10000000 0x4000000>;
};
ebu_cs1: localbus@14000000 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "lantiq,localbus", "simple-bus";
reg = <0x14000000 0x4000000>;
ranges = <0x0 0x14000000 0x4000000>;
};
ebu@18000000 {
compatible = "lantiq,ebu-falcon";
reg = <0x18000000 0x100>;
};
sbs2@1D000000 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "lantiq,sysb2", "simple-bus";
reg = <0x1D000000 0x1000000>;
ranges = <0x0 0x1D000000 0x1000000>;
clock_sysgpe: clock-controller@700000 {
compatible = "lantiq,sysgpe-falcon";
reg = <0x700000 0x100>;
#clock-cells = <1>;
};
mps@4000 {
compatible = "lantiq,mps-falcon", "lantiq,mps-xrx100";
reg = <0x4000 0x1000>;
interrupt-parent = <&icu0>;
interrupts = <154 155>;
lantiq,mbx = <&mpsmbx>;
};
gpio0: gpio@810000 {
compatible = "lantiq,falcon-gpio";
gpio-controller;
#gpio-cells = <2>;
interrupt-controller;
#interrupt-cells = <2>;
interrupt-parent = <&icu0>;
interrupts = <44>;
reg = <0x810000 0x80>;
clocks = <&clock_syseth 16>;
};
gpio2: gpio@810100 {
compatible = "lantiq,falcon-gpio";
gpio-controller;
#gpio-cells = <2>;
interrupt-controller;
#interrupt-cells = <2>;
interrupt-parent = <&icu0>;
interrupts = <46>;
reg = <0x810100 0x80>;
clocks = <&clock_syseth 17>;
};
clock_syseth: clock-controller@B00000 {
compatible = "lantiq,syseth-falcon";
reg = <0xB00000 0x100>;
#clock-cells = <1>;
};
pad@B01000 {
compatible = "lantiq,pad-falcon";
reg = <0xB01000 0x100>;
lantiq,bank = <0>;
clocks = <&clock_syseth 20>;
};
pad@B02000 {
compatible = "lantiq,pad-falcon";
reg = <0xB02000 0x100>;
lantiq,bank = <2>;
clocks = <&clock_syseth 21>;
};
};
fpi@1E000000 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "lantiq,fpi", "simple-bus";
reg = <0x1E000000 0x1000000>;
ranges = <0x0 0x1E000000 0x1000000>;
serial1: serial@100B00 {
status = "disabled";
compatible = "lantiq,asc";
reg = <0x100B00 0x100>;
interrupt-parent = <&icu0>;
interrupts = <112 113 114>;
line = <1>;
pinctrl-names = "default";
pinctrl-0 = <&asc1_pins>;
clocks = <&clock_sys1 11>;
};
serial0: serial@100C00 {
compatible = "lantiq,asc";
reg = <0x100C00 0x100>;
interrupt-parent = <&icu0>;
interrupts = <104 105 106>;
line = <0>;
pinctrl-names = "default";
pinctrl-0 = <&asc0_pins>;
clocks = <&clock_sys1 12>;
};
spi: spi@100D00 {
status = "disabled";
compatible = "lantiq,falcon-spi", "lantiq,xrx100-spi", "lantiq,spi-lantiq-ssc";
interrupts = <22 23 24 25>;
interrupt-names = "spi_tx", "spi_rx", "spi_err", "spi_frm";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x100D00 0x100>;
interrupt-parent = <&icu0>;
clocks = <&clock_sys1 13>;
base_cs = <1>;
num_cs = <2>;
};
gptc@100E00 {
compatible = "lantiq,gptc-falcon";
reg = <0x100E00 0x100>;
};
i2c: i2c@200000 {
status = "disabled";
#address-cells = <1>;
#size-cells = <0>;
compatible = "lantiq,lantiq-i2c";
reg = <0x200000 0x10000>;
interrupt-parent = <&icu0>;
interrupts = <18 19 20 21>;
gpios = <&gpio1 7 0 &gpio1 8 0>;
pinctrl-names = "default";
pinctrl-0 = <&i2c_pins>;
clocks = <&clock_sys1 14>;
};
gpio1: gpio@800100 {
compatible = "lantiq,falcon-gpio";
gpio-controller;
#gpio-cells = <2>;
interrupt-controller;
#interrupt-cells = <2>;
interrupt-parent = <&icu0>;
interrupts = <45>;
reg = <0x800100 0x100>;
clocks = <&clock_sys1 16>;
};
gpio3: gpio@800200 {
compatible = "lantiq,falcon-gpio";
gpio-controller;
#gpio-cells = <2>;
interrupt-controller;
#interrupt-cells = <2>;
interrupt-parent = <&icu0>;
interrupts = <47>;
reg = <0x800200 0x100>;
clocks = <&clock_sys1 17>;
};
gpio4: gpio@800300 {
compatible = "lantiq,falcon-gpio";
gpio-controller;
#gpio-cells = <2>;
interrupt-controller;
#interrupt-cells = <2>;
interrupt-parent = <&icu0>;
interrupts = <48>;
reg = <0x800300 0x100>;
clocks = <&clock_sys1 18>;
};
pad@800400 {
compatible = "lantiq,pad-falcon";
reg = <0x800400 0x100>;
lantiq,bank = <1>;
clocks = <&clock_sys1 20>;
};
pad@800500 {
compatible = "lantiq,pad-falcon";
reg = <0x800500 0x100>;
lantiq,bank = <3>;
clocks = <&clock_sys1 21>;
};
pad@800600 {
compatible = "lantiq,pad-falcon";
reg = <0x800600 0x100>;
lantiq,bank = <4>;
clocks = <&clock_sys1 22>;
};
status@802000 {
compatible = "lantiq,status-falcon";
reg = <0x802000 0x80>;
};
clock_sys1: clock-controller@F00000 {
compatible = "lantiq,sys1-falcon";
reg = <0xF00000 0x100>;
#clock-cells = <1>;
};
};
sbs0@1F000000 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "simple-bus";
reg = <0x1F000000 0x400000>;
ranges = <0x0 0x1F000000 0x400000>;
mpsmbx: mpsmbx@200000 {
reg = <0x200000 0x200>;
};
};
sbs1@1F700000 {
};
biu@1F800000 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "lantiq,biu", "simple-bus";
reg = <0x1F800000 0x800000>;
ranges = <0x0 0x1F800000 0x800000>;
icu0: icu@80200 {
#interrupt-cells = <1>;
interrupt-controller;
compatible = "lantiq,icu";
reg = <0x80200 0x28
0x80228 0x28
0x80250 0x28
0x80278 0x28
0x802a0 0x28>;
};
watchdog@803F0 {
compatible = "lantiq,wdt";
reg = <0x803F0 0x10>;
clocks = <&io_clk>; /* currently no effect */
};
};
pinctrl {
compatible = "lantiq,pinctrl-falcon";
pinctrl-names = "default";
pinctrl-0 = <&state_default>;
state_default: pinctrl0 {
/*ntr {
lantiq,groups = "ntr8k";
lantiq,function = "ntr";
};*/
hrst {
lantiq,groups = "hrst";
lantiq,function = "rst";
};
};
asc0_pins: asc0 {
asc0 {
lantiq,groups = "asc0";
lantiq,function = "asc";
};
};
asc1_pins: asc1 {
asc1 {
lantiq,groups = "asc1";
lantiq,function = "asc";
};
};
i2c_pins: i2c {
i2c {
lantiq,groups = "i2c";
lantiq,function = "i2c";
};
};
bootled_pins: bootled {
bootled {
lantiq,groups = "bootled";
lantiq,function = "led";
};
};
ntr_ntr8k: ntr8k {
ntr8k {
lantiq,groups = "ntr8k";
lantiq,function = "ntr";
};
};
ntr_pps: pps {
pps {
lantiq,groups = "pps";
lantiq,function = "ntr";
};
};
ntr_gpio: gpio {
gpio {
lantiq,pins = "io5";
lantiq,mux = <1>;
lantiq,output = <0>;
};
};
slic_pins: slic {
slic {
lantiq,groups = "slic";
lantiq,function = "slic";
};
};
};
pinselect-ntr {
compatible = "lantiq,onu-ntr","lantiq,pinselect-ntr";
pinctrl-names = "ntr8k", "pps", "gpio";
pinctrl-0 = <&ntr_ntr8k>;
pinctrl-1 = <&ntr_pps>;
pinctrl-2 = <&ntr_gpio>;
};
pinselect-asc1 {
compatible = "lantiq,onu-asc1","lantiq,pinselect-asc1";
pinctrl-names = "default", "asc1";
pinctrl-0 = <&slic_pins>;
pinctrl-1 = <&asc1_pins>;
};
};

View File

@@ -0,0 +1,339 @@
#include <dt-bindings/gpio/gpio.h>
/ {
#address-cells = <1>;
#size-cells = <1>;
compatible = "lantiq,xway", "lantiq,vr9";
aliases {
serial0 = &asc1;
};
chosen {
stdout-path = "serial0:115200n8";
};
cpus {
cpu@0 {
compatible = "mips,mips34Kc";
};
};
memory@0 {
device_type = "memory";
};
cputemp@0 {
compatible = "lantiq,cputemp";
};
biu@1f800000 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "lantiq,biu", "simple-bus";
reg = <0x1f800000 0x800000>;
ranges = <0x0 0x1f800000 0x7fffff>;
icu0: icu@80200 {
#interrupt-cells = <1>;
interrupt-controller;
compatible = "lantiq,icu";
reg = <0x80200 0x28
0x80228 0x28
0x80250 0x28
0x80278 0x28
0x802a0 0x28>;
};
watchdog@803f0 {
compatible = "lantiq,xrx100-wdt", "lantiq,xrx100-wdt";
reg = <0x803f0 0x10>;
regmap = <&rcu0>;
};
};
sram@1f000000 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "lantiq,sram", "simple-bus";
reg = <0x1f000000 0x800000>;
ranges = <0x0 0x1f000000 0x7fffff>;
eiu0: eiu@101000 {
#interrupt-cells = <1>;
interrupt-controller;
compatible = "lantiq,eiu-xway";
reg = <0x101000 0x1000>;
interrupt-parent = <&icu0>;
lantiq,eiu-irqs = <166 135 66 40 41 42>;
};
pmu0: pmu@102000 {
compatible = "lantiq,pmu-xway";
reg = <0x102000 0x1000>;
};
cgu0: cgu@103000 {
compatible = "lantiq,cgu-xway";
reg = <0x103000 0x1000>;
};
dcdc@106a00 {
compatible = "lantiq,dcdc-xrx200";
reg = <0x106a00 0x200>;
};
vmmc: vmmc@103000 {
status = "disabled";
compatible = "lantiq,vmmc-xway";
reg = <0x103000 0x400>;
interrupt-parent = <&icu0>;
interrupts = <150 151 152 153 154 155>;
};
rcu0: rcu@203000 {
compatible = "lantiq,xrx200-rcu", "simple-mfd", "syscon";
reg = <0x203000 0x100>;
ranges = <0x0 0x203000 0x100>;
big-endian;
gphy0: gphy@20 {
compatible = "lantiq,xrx200-gphy";
reg = <0x20 0x4>;
resets = <&reset0 31 30>, <&reset1 7 7>;
reset-names = "gphy", "gphy2";
};
gphy1: gphy@68 {
compatible = "lantiq,xrx200-gphy";
reg = <0x68 0x4>;
resets = <&reset0 29 28>, <&reset1 6 6>;
reset-names = "gphy", "gphy2";
};
reset0: reset-controller@10 {
compatible = "lantiq,xrx200-reset";
reg = <0x10 4>, <0x14 4>;
#reset-cells = <2>;
};
reset1: reset-controller@48 {
compatible = "lantiq,xrx200-reset";
reg = <0x48 4>, <0x24 4>;
#reset-cells = <2>;
};
usb_phy0: usb2-phy@18 {
compatible = "lantiq,xrx200-usb2-phy";
reg = <0x18 4>, <0x38 4>;
status = "disabled";
resets = <&reset1 4 4>, <&reset0 4 4>;
reset-names = "phy", "ctrl";
#phy-cells = <0>;
};
usb_phy1: usb2-phy@34 {
compatible = "lantiq,xrx200-usb2-phy";
reg = <0x34 4>, <0x3c 4>;
status = "disabled";
resets = <&reset1 5 4>, <&reset0 4 4>;
reset-names = "phy", "ctrl";
#phy-cells = <0>;
};
reboot@10 {
compatible = "syscon-reboot";
reg = <0x10 4>;
regmap = <&rcu0>;
offset = <0x10>;
mask = <0xe0000000>;
};
};
};
fpi@10000000 {
compatible = "lantiq,xrx200-fpi", "simple-bus";
ranges = <0x0 0x10000000 0xf000000>;
reg = <0x1f400000 0x1000>,
<0x10000000 0xf000000>;
regmap = <&rcu0>;
offset-endianness = <0x4c>;
#address-cells = <1>;
#size-cells = <1>;
localbus: localbus@0 {
#address-cells = <2>;
#size-cells = <1>;
ranges = <0 0 0x0 0x3ffffff /* addrsel0 */
1 0 0x4000000 0x4000010>; /* addsel1 */
compatible = "lantiq,localbus", "simple-bus";
};
gptu@e100a00 {
compatible = "lantiq,gptu-xway";
reg = <0xe100a00 0x100>;
interrupt-parent = <&icu0>;
interrupts = <126 127 128 129 130 131>;
};
usif: usif@da00000 {
compatible = "lantiq,usif";
reg = <0xda00000 0x1000000>;
interrupt-parent = <&icu0>;
interrupts = <29 125 107 108 109 110>;
status = "disabled";
};
spi: spi@e100800 {
compatible = "lantiq,xrx200-spi", "lantiq,xrx100-spi";
reg = <0xe100800 0x100>;
interrupt-parent = <&icu0>;
interrupts = <22 23 24>;
interrupt-names = "spi_rx", "spi_tx", "spi_err",
"spi_frm";
#address-cells = <1>;
#size-cells = <1>;
status = "disabled";
};
gpio: pinmux@e100b10 {
compatible = "lantiq,xrx200-pinctrl";
#gpio-cells = <2>;
gpio-controller;
reg = <0xe100b10 0xa0>;
};
stp: stp@e100bb0 {
status = "disabled";
compatible = "lantiq,gpio-stp-xway";
reg = <0xe100bb0 0x40>;
#gpio-cells = <2>;
gpio-controller;
lantiq,shadow = <0xffffff>;
lantiq,groups = <0x7>;
lantiq,dsl = <0x0>;
lantiq,phy1 = <0x0>;
lantiq,phy2 = <0x0>;
};
asc1: serial@e100c00 {
compatible = "lantiq,asc";
reg = <0xe100c00 0x400>;
interrupt-parent = <&icu0>;
interrupts = <112 113 114>;
};
deu@e103100 {
compatible = "lantiq,deu-xrx200";
reg = <0xe103100 0xf00>;
};
dma0: dma@e104100 {
compatible = "lantiq,dma-xway";
reg = <0xe104100 0x800>;
};
ebu0: ebu@e105300 {
compatible = "lantiq,ebu-xway";
reg = <0xe105300 0x100>;
};
usb0: usb@e101000 {
status = "disabled";
compatible = "lantiq,xrx200-usb";
reg = <0xe101000 0x1000
0xe120000 0x3f000>;
interrupt-parent = <&icu0>;
interrupts = <62 91>;
dr_mode = "host";
phys = <&usb_phy0>;
phy-names = "usb2-phy";
};
usb1: usb@e106000 {
status = "disabled";
compatible = "lantiq,xrx200-usb";
reg = <0xe106000 0x1000>;
interrupt-parent = <&icu0>;
interrupts = <91>;
dr_mode = "host";
phys = <&usb_phy1>;
phy-names = "usb2-phy";
};
eth0: eth@e108000 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "lantiq,xrx200-net";
reg = < 0xe108000 0x3000 /* switch */
0xe10b100 0x70 /* mdio */
0xe10b1d8 0x30 /* mii */
0xe10b308 0x30 /* pmac */
>;
interrupt-parent = <&icu0>;
interrupts = <75 73 72>;
resets = <&reset0 21 16>, <&reset0 8 8>;
reset-names = "switch", "ppe";
lantiq,phys = <&gphy0>, <&gphy1>;
};
mei@e116000 {
compatible = "lantiq,mei-xrx200";
reg = <0xe116000 0x9c>;
interrupt-parent = <&icu0>;
interrupts = <63>;
};
ppe@e234000 {
compatible = "lantiq,ppe-xrx200";
interrupt-parent = <&icu0>;
interrupts = <96>;
};
pcie0: pcie@d900000 {
compatible = "lantiq,pcie-xrx200";
#interrupt-cells = <1>;
#size-cells = <2>;
#address-cells = <3>;
interrupt-parent = <&icu0>;
interrupts = <161 144>;
device_type = "pci";
gpio-reset = <&gpio 38 GPIO_ACTIVE_HIGH>;
};
pci0: pci@e105400 {
status = "disabled";
#address-cells = <3>;
#size-cells = <2>;
#interrupt-cells = <1>;
compatible = "lantiq,pci-xway";
bus-range = <0x0 0x0>;
ranges = <0x2000000 0 0x8000000 0x8000000 0 0x2000000 /* pci memory */
0x1000000 0 0x00000000 0xae00000 0 0x200000>; /* io space */
reg = <0x7000000 0x8000 /* config space */
0xe105400 0x400>; /* pci bridge */
lantiq,bus-clock = <33333333>;
interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
interrupt-map = <0x7000 0 0 1 &icu0 30 1>; /* slot 14, irq 30 */
req-mask = <0x1>; /* GNT1 */
};
};
vdsl {
compatible = "lantiq,vdsl-vrx200";
};
};

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