aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDanijel Tudek <danijel.tudek@gmail.com>2019-02-12 18:11:09 +0100
committerHauke Mehrtens <hauke@hauke-m.de>2019-03-10 16:49:31 +0100
commiteae6cac6a30b95bef04d033ed8a303b7e35a078b (patch)
treeef239887d57928b1366f714737b5fc3f92472bd2
parent5026f4355953e6af66326c10822e9a6e937baaea (diff)
downloadupstream-eae6cac6a30b95bef04d033ed8a303b7e35a078b.tar.gz
upstream-eae6cac6a30b95bef04d033ed8a303b7e35a078b.tar.bz2
upstream-eae6cac6a30b95bef04d033ed8a303b7e35a078b.zip
lantiq: add support for AVM FRITZ!Box 7362 SL
Hardware: - SoC: Lantiq VRX288 - RAM: Winbond W971GG6JB 1 Gb (128 MiB) - Flash: - SPI: 8 Mb (1 MiB) for bootloader and tffs - NAND: 1 Gb (128 MiB) for OS - xDSL: Lantiq VRX208 - WLAN: Atheros AR9381 - DECT: Dialog Semiconductors SC14441 Everything except FXS/DECT works (no drivers for AVM's FXS implementation with SC14441). Installation via FTP: 1. Use scripts/flashing/eva_ramboot.py to send initramfs-kernel.bin to the device when powering on. Standard AVM procedures with finding the correct IP address and the right moment to open FTP apply here (approx. 4 seconds on 7362SL). IMPORTANT: set lzma compression in ramdisk options, bootloader stalls when receiving uncompressed images. 2. Transfer sysupgrade.bin image with scp to /tmp directory and run sysupgrade 3. First boot might take a bit longer if linux_fs_start was set to 1, in that case the device will reboot twice, first time it will fail to load second kernel (overwritten by ubifs), set linux_fs_start to 0 and reboot. OpenWrt uses the entire NAND flash. Kernel uses 4 MiB and rootfs uses the rest of 124 MiB, overwriting everything related to FRITZ!OS - both OS images, config and answering machine/media server data. To return to FRITZ!OS, use AVM's recovery image. Signed-off-by: Danijel Tudek <danijel.tudek@gmail.com>
-rwxr-xr-xtarget/linux/lantiq/base-files/etc/board.d/02_network8
-rw-r--r--target/linux/lantiq/base-files/etc/hotplug.d/firmware/12-ath9k-eeprom3
-rwxr-xr-xtarget/linux/lantiq/base-files/lib/upgrade/platform.sh1
-rw-r--r--target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ7362SL.dts135
-rw-r--r--target/linux/lantiq/image/Makefile11
5 files changed, 157 insertions, 1 deletions
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 b7d23da53d..c79fb2d136 100755
--- a/target/linux/lantiq/base-files/etc/board.d/02_network
+++ b/target/linux/lantiq/base-files/etc/board.d/02_network
@@ -158,6 +158,14 @@ avm,fritz7360sl)
"0:lan:3" "1:lan:4" "2:lan:2" "4:lan:1" "6t@eth0"
;;
+avm,fritz7362sl)
+ annex="b"
+ lan_mac=$(fritz_tffs -n maca -i $(find_mtd_part "tffs (1)"))
+ wan_mac=$(fritz_tffs -n macdsl -i $(find_mtd_part "tffs (1)"))
+ ucidef_add_switch "switch0" \
+ "0:lan:3" "1:lan:4" "2:lan:2" "4:lan:1" "6t@eth0"
+ ;;
+
avm,fritz7412)
tffsdev=$(find_mtd_chardev "nand-tffs")
annex="b"
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 26b3dd0420..6ae5e3cfe9 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
@@ -157,7 +157,8 @@ case "$FIRMWARE" in
ath9k_patch_fw_mac_crc $(macaddr_add $(mtd_get_mac_ascii uboot-env ethaddr) +2) 524
;;
avm,fritz3370-rev2-hynix|\
- avm,fritz3370-rev2-micron)
+ avm,fritz3370-rev2-micron|\
+ avm,fritz7362sl)
ath9k_eeprom_extract_reverse "urlader" 5441 1088
;;
avm,fritz7312|avm,fritz7320|avm,fritz7360sl)
diff --git a/target/linux/lantiq/base-files/lib/upgrade/platform.sh b/target/linux/lantiq/base-files/lib/upgrade/platform.sh
index d7cacb2eae..840ebe7e47 100755
--- a/target/linux/lantiq/base-files/lib/upgrade/platform.sh
+++ b/target/linux/lantiq/base-files/lib/upgrade/platform.sh
@@ -11,6 +11,7 @@ platform_do_upgrade() {
case "$board" in
avm,fritz3370-rev2-hynix|\
avm,fritz3370-rev2-micron|\
+ avm,fritz7362sl|\
avm,fritz7412|\
bt,homehub-v2b|\
bt,homehub-v3a|\
diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ7362SL.dts b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ7362SL.dts
new file mode 100644
index 0000000000..7a6272b988
--- /dev/null
+++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ7362SL.dts
@@ -0,0 +1,135 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/dts-v1/;
+
+#include "FRITZ736X.dtsi"
+
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/mips/lantiq_rcu_gphy.h>
+
+/ {
+ compatible = "avm,fritz7362sl", "avm,fritz736x", "lantiq,xway", "lantiq,vr9";
+ model = "AVM FRITZ!Box 7362 SL";
+};
+
+&power_green {
+ label = "fritz7362sl:green:power";
+};
+
+&power_red {
+ label = "fritz7362sl:red:power";
+};
+
+&info_green {
+ label = "fritz7362sl:green:info";
+};
+
+&wifi {
+ label = "fritz7362sl:green:wlan";
+};
+
+&info_red {
+ label = "fritz7362sl:red:info";
+};
+
+&dect {
+ label = "fritz7362sl:green:dect";
+};
+
+&gpio {
+ 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>;
+ };
+ };
+};
+
+&state_default {
+ nand {
+ lantiq,groups = "nand ale", "nand cle",
+ "nand cs1", "nand rd", "nand rdy";
+ lantiq,function = "ebu";
+ };
+
+ pcie-rst {
+ lantiq,pins = "io21";
+ lantiq,open-drain = <1>;
+ lantiq,output = <1>;
+ };
+};
+
+&spi {
+ status = "okay";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pins_spi_default>;
+
+ flash@4 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "jedec,spi-nor";
+ reg = <4 0>;
+ spi-max-frequency = <1000000>;
+
+ urlader: partition@0 {
+ reg = <0x0 0x40000>;
+ label = "urlader";
+ read-only;
+ };
+
+ partition@40000 {
+ reg = <0x40000 0x60000>;
+ label = "tffs (1)";
+ read-only;
+ };
+
+ partition@A0000 {
+ reg = <0xA0000 0x60000>;
+ label = "tffs (2)";
+ read-only;
+ };
+ };
+};
+
+&localbus {
+ nand@1 {
+ compatible = "lantiq,nand-xway";
+ lantiq,cs1 = <1>;
+ bank-width = <1>;
+ 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 0x7c00000>;
+ };
+ };
+ };
+};
+
+&pcie0 {
+ gpio-reset = <&gpio 21 GPIO_ACTIVE_LOW>;
+
+ pcie@0 {
+ #size-cells = <1>;
+ #address-cells = <2>;
+ };
+};
diff --git a/target/linux/lantiq/image/Makefile b/target/linux/lantiq/image/Makefile
index e6fa8b5f50..fca3fce47c 100644
--- a/target/linux/lantiq/image/Makefile
+++ b/target/linux/lantiq/image/Makefile
@@ -677,6 +677,17 @@ define Device/avm_fritz7412
endef
TARGET_DEVICES += avm_fritz7412
+define Device/avm_fritz7362sl
+ $(Device/AVM)
+ $(Device/NAND)
+ KERNEL_SIZE := 4096k
+ IMAGE_SIZE := 49152k
+ DEVICE_DTS := FRITZ7362SL
+ DEVICE_TITLE := AVM FRITZ!Box 7362 SL
+ DEVICE_PACKAGES := kmod-ath9k kmod-owl-loader wpad-basic kmod-usb-dwc2 fritz-tffs
+endef
+TARGET_DEVICES += avm_fritz7362sl
+
define Device/arcadyan_vg3503j
IMAGE_SIZE := 8000k
DEVICE_DTS := VG3503J