aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/lantiq
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/lantiq')
-rwxr-xr-xtarget/linux/lantiq/base-files/etc/board.d/01_leds4
-rwxr-xr-xtarget/linux/lantiq/base-files/etc/board.d/02_network9
-rw-r--r--target/linux/lantiq/base-files/etc/hotplug.d/firmware/12-ath9k-eeprom24
-rwxr-xr-xtarget/linux/lantiq/base-files/lib/upgrade/platform.sh8
-rw-r--r--target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ3370-REV2-HYNIX.dts55
-rw-r--r--target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ3370-REV2-MICRON.dts53
-rw-r--r--target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ3370-REV2.dtsi (renamed from target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ3370.dts)129
-rw-r--r--target/linux/lantiq/image/Makefile26
8 files changed, 238 insertions, 70 deletions
diff --git a/target/linux/lantiq/base-files/etc/board.d/01_leds b/target/linux/lantiq/base-files/etc/board.d/01_leds
index 0426fb18e6..4476a7eb43 100755
--- a/target/linux/lantiq/base-files/etc/board.d/01_leds
+++ b/target/linux/lantiq/base-files/etc/board.d/01_leds
@@ -53,6 +53,10 @@ bt,homehub-v5a)
netgear,dm200)
ucidef_set_led_netdev "lan" "lan" "dm200:green:lan" "eth0"
;;
+avm,fritz3370-rev2-hynix|\
+avm,fritz3370-rev2-micron)
+ ucidef_set_led_switch "lan" "LAN" "fritz3370:green:lan" "switch0" "0x17"
+ ;;
avm,fritz7320)
ucidef_set_led_netdev "wifi" "wifi" "fritz7320:green:wlan" "wlan0"
;;
diff --git a/target/linux/lantiq/base-files/etc/board.d/02_network b/target/linux/lantiq/base-files/etc/board.d/02_network
index ca974b071e..9da01d14cc 100755
--- a/target/linux/lantiq/base-files/etc/board.d/02_network
+++ b/target/linux/lantiq/base-files/etc/board.d/02_network
@@ -135,10 +135,13 @@ lantiq,easy80920-nand|lantiq,easy80920-nor)
"0:lan:4" "1:lan:3" "2:lan:2" "4:lan:1" "5:wan:5" "6t@eth0"
;;
-avm,fritz3370)
+avm,fritz3370-rev2-hynix|\
+avm,fritz3370-rev2-micron)
annex="b"
- wan_mac=$(macaddr_add "$(mtd_get_mac_binary urlader 2439)" 1)
- ucidef_set_interface_lan 'eth0'
+ lan_mac=$(fritz_tffs -n maca -i $(find_mtd_part "tffs (1)"))
+ wan_mac=$(macaddr_add "$lan_mac" 3)
+ ucidef_add_switch "switch0" \
+ "0:lan:3" "1:lan:4" "2:lan:2" "4:lan:1" "6t@eth0"
;;
avm,fritz7320)
diff --git a/target/linux/lantiq/base-files/etc/hotplug.d/firmware/12-ath9k-eeprom b/target/linux/lantiq/base-files/etc/hotplug.d/firmware/12-ath9k-eeprom
index 498a509012..75b763076e 100644
--- a/target/linux/lantiq/base-files/etc/hotplug.d/firmware/12-ath9k-eeprom
+++ b/target/linux/lantiq/base-files/etc/hotplug.d/firmware/12-ath9k-eeprom
@@ -47,6 +47,24 @@ ath9k_eeprom_extract_raw() {
ath9k_eeprom_die "failed to extract from $mtd"
}
+ath9k_eeprom_extract_reverse() {
+ local part=$1
+ local offset=$2
+ local count=$3
+ local mtd
+ local reversed
+ local caldata
+
+ mtd=$(find_mtd_chardev "$part")
+ reversed=$(hexdump -v -s $offset -n $count -e '/1 "%02x "' $mtd)
+
+ for byte in $reversed; do
+ caldata="\x${byte}${caldata}"
+ done
+
+ printf "%b" "$caldata" > /lib/firmware/$FIRMWARE
+}
+
ath9k_eeprom_extract() {
local part=$1
local offset=$2
@@ -138,7 +156,11 @@ case "$FIRMWARE" in
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)
+ avm,fritz3370-rev2-hynix|\
+ avm,fritz3370-rev2-micron)
+ ath9k_eeprom_extract_reverse "urlader" 5441 1088
+ ;;
+ avm,fritz7320|avm,fritz7360sl)
ath9k_eeprom_extract "urlader" 2437 0
;;
tplink,tdw8970|tplink,tdw8980)
diff --git a/target/linux/lantiq/base-files/lib/upgrade/platform.sh b/target/linux/lantiq/base-files/lib/upgrade/platform.sh
index 2e58cb799a..ecbb939e36 100755
--- a/target/linux/lantiq/base-files/lib/upgrade/platform.sh
+++ b/target/linux/lantiq/base-files/lib/upgrade/platform.sh
@@ -9,7 +9,13 @@ 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)
+ avm,fritz3370-rev2-hynix|\
+ avm,fritz3370-rev2-micron|\
+ bt,homehub-v2b|\
+ bt,homehub-v3a|\
+ bt,homehub-v5a|\
+ zyxel,p-2812hnu-f1|\
+ zyxel,p-2812hnu-f3)
nand_do_upgrade $1
;;
*)
diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ3370-REV2-HYNIX.dts b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ3370-REV2-HYNIX.dts
new file mode 100644
index 0000000000..225a4f3e8a
--- /dev/null
+++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ3370-REV2-HYNIX.dts
@@ -0,0 +1,55 @@
+/dts-v1/;
+
+#include "FRITZ3370-REV2.dtsi"
+
+/ {
+ compatible = "avm,fritz3370-rev2-hynix", "avm,fritz3370-rev2", "lantiq,xway", "lantiq,vr9";
+ model = "AVM Fritz!Box WLAN 3370 Rev. 2 (Hynix NAND)";
+};
+
+&localbus {
+ nand@1 {
+ compatible = "lantiq,nand-xway";
+ bank-width = <2>;
+ reg = <1 0x0 0x2000000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ nand-ecc-mode = "soft";
+ nand-ecc-strength = <3>;
+ nand-ecc-step-size = <256>;
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "kernel";
+ reg = <0x0 0x400000>;
+ };
+
+ partition@400000 {
+ label = "ubi";
+ reg = <0x400000 0x3000000>;
+ };
+
+ partition@3400000 {
+ label = "reserved-kernel";
+ reg = <0x3400000 0x400000>;
+ };
+ partition@3800000 {
+ label = "reserved-filesystem";
+ reg = <0x3800000 0x3000000>;
+ };
+ partition@6800000 {
+ label = "config";
+ reg = <0x6800000 0x200000>;
+ };
+ partition@6a00000 {
+ label = "nand-filesystem";
+ reg = <0x6a00000 0x1600000>;
+ };
+ };
+ };
+};
diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ3370-REV2-MICRON.dts b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ3370-REV2-MICRON.dts
new file mode 100644
index 0000000000..3346310b1b
--- /dev/null
+++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ3370-REV2-MICRON.dts
@@ -0,0 +1,53 @@
+/dts-v1/;
+
+#include "FRITZ3370-REV2.dtsi"
+
+/ {
+ compatible = "avm,fritz3370-rev2-micron", "avm,fritz3370-rev2", "lantiq,xway", "lantiq,vr9";
+ model = "AVM Fritz!Box WLAN 3370 Rev. 2 (Micron NAND)";
+};
+
+&localbus {
+ nand@1 {
+ compatible = "lantiq,nand-xway";
+ bank-width = <2>;
+ reg = <1 0x0 0x2000000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ nand-ecc-mode = "on-die";
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "kernel";
+ reg = <0x0 0x400000>;
+ };
+
+ partition@400000 {
+ label = "ubi";
+ reg = <0x400000 0x3000000>;
+ };
+
+ partition@3400000 {
+ label = "reserved-kernel";
+ reg = <0x3400000 0x400000>;
+ };
+ partition@3800000 {
+ label = "reserved-filesystem";
+ reg = <0x3800000 0x3000000>;
+ };
+ partition@6800000 {
+ label = "config";
+ reg = <0x6800000 0x200000>;
+ };
+ partition@6a00000 {
+ label = "nand-filesystem";
+ reg = <0x6a00000 0x1600000>;
+ };
+ };
+ };
+};
diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ3370.dts b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ3370-REV2.dtsi
index a958fc67aa..f6180c474f 100644
--- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ3370.dts
+++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ3370-REV2.dtsi
@@ -1,16 +1,14 @@
-/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";
+ compatible = "avm,fritz3370-rev2", "lantiq,xway", "lantiq,vr9";
+ model = "AVM Fritz!Box WLAN 3370 Rev. 2";
chosen {
- bootargs = "console=ttyLTQ0,115200 ubi.mtd=1,512 root=/dev/mtdblock9";
+ bootargs = "console=ttyLTQ0,115200";
};
aliases {
@@ -27,21 +25,28 @@
reg = <0x0 0x8000000>;
};
+ gpio-poweroff {
+ compatible = "gpio-poweroff";
+ gpios = <&gpio 45 GPIO_ACTIVE_HIGH>;
+ };
+
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";
+
+ wifi {
+ label = "wlan";
gpios = <&gpio 29 GPIO_ACTIVE_HIGH>;
- linux,code = <BTN_1>;
- };*/
+ linux,code = <KEY_WLAN>;
+ };
};
gpio-leds {
@@ -52,31 +57,61 @@
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>;
};
};
+
+ usb0_vbus: regulator-usb0-vbus {
+ compatible = "regulator-fixed";
+
+ regulator-name = "USB0_VBUS";
+
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+
+ gpio = <&gpio 14 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
+
+ usb1_vbus: regulator-usb1-vbus {
+ compatible = "regulator-fixed";
+
+ regulator-name = "USB1_VBUS";
+
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+
+ gpio = <&gpio 5 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ };
};
&eth0 {
@@ -85,8 +120,6 @@
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
- mtd-mac-address = <&urlader 0x987>;
- mtd-mac-address-increment = <(-2)>;
lantiq,switch;
ethernet@0 {
@@ -96,6 +129,7 @@
phy-handle = <&phy0>;
gpios = <&gpio 37 GPIO_ACTIVE_HIGH>;
};
+
ethernet@1 {
compatible = "lantiq,xrx200-pdi-port";
reg = <1>;
@@ -103,13 +137,15 @@
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 {
+
+ ethernet@4 {
compatible = "lantiq,xrx200-pdi-port";
reg = <4>;
phy-mode = "gmii";
@@ -127,14 +163,17 @@
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";
@@ -159,29 +198,34 @@
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,pins = "io21";
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";
@@ -191,50 +235,9 @@
};
};
-&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 {
+ gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
+
pcie@0 {
reg = <0 0 0 0 0>;
#interrupt-cells = <1>;
@@ -283,14 +286,20 @@
};
};
-/*
- * TODO: add phy-supply, gpio 5 GPIO_ACTIVE_HIGH and gpio 14 GPIO_ACTIVE_HIGH are
- * related
- */
&usb_phy0 {
status = "okay";
+ phy-supply = <&usb0_vbus>;
+};
+
+&usb_phy1 {
+ status = "okay";
+ phy-supply = <&usb1_vbus>;
};
&usb0 {
status = "okay";
};
+
+&usb1 {
+ status = "okay";
+};
diff --git a/target/linux/lantiq/image/Makefile b/target/linux/lantiq/image/Makefile
index 031c3fcb83..c4419ce629 100644
--- a/target/linux/lantiq/image/Makefile
+++ b/target/linux/lantiq/image/Makefile
@@ -617,13 +617,29 @@ TARGET_DEVICES += lantiq_easy80920-nor
define Device/avm_fritz3370
$(Device/AVM)
$(Device/NAND)
- BOARD_NAME := FRITZ3370
DEVICE_DTS := FRITZ3370
- DEVICE_TITLE := Fritz!Box WLan - FRITZ3370
- DEVICE_PACKAGES := kmod-ath9k wpad-mini kmod-usb-dwc2
- SUPPORTED_DEVICES += FRITZ3370
+ DEVICE_TITLE := AVM Fritz!Box WLan 3370 Rev. 2
+ KERNEL_SIZE := 4096k
+ UBINIZE_OPTS := -E 5
+ IMAGES += eva-kernel.bin eva-filesystem.bin
+ IMAGE/eva-kernel.bin := append-kernel
+ IMAGE/eva-filesystem.bin := append-ubi
+ DEVICE_PACKAGES := kmod-ath9k wpad-mini kmod-usb-dwc2 fritz-tffs
endef
-TARGET_DEVICES += avm_fritz3370
+
+define Device/avm_fritz3370-rev2-hynix
+ $(Device/avm_fritz3370)
+ DEVICE_DTS := FRITZ3370-REV2-HYNIX
+ DEVICE_TITLE := AVM Fritz!Box WLan 3370 Rev. 2 (Hynix NAND)
+endef
+TARGET_DEVICES += avm_fritz3370-rev2-hynix
+
+define Device/avm_fritz3370-rev2-micron
+ $(Device/avm_fritz3370)
+ DEVICE_DTS := FRITZ3370-REV2-MICRON
+ DEVICE_TITLE := AVM Fritz!Box WLan 3370 Rev. 2 (Micron NAND)
+endef
+TARGET_DEVICES += avm_fritz3370-rev2-micron
define Device/avm_fritz7360sl
$(Device/AVM)