Hello, some time ago I made an RFC for an dsl modem device with the Lantiq Amazon-SE SoC. You can find it here: http://lists.infradead.org/pipermail/lede-dev/2016-November/003818.html
I have finished this in december 2016, but wanted to do some testing... this is not done until yet, but maybe others want to try amazon-se targets as well.. so I post the current patch for review and finishing. I have created a small homepage for the patch, it is located here: https://mcmilk.de/projects/all0333cj/ And here is a github page with Amazon-SE Firmwares I have found in the source code of allnet and netgear: https://github.com/mcmilk/Amazon-SE-Firmware Patch details: (patch is done with git diff, on current lede master) target/linux/lantiq/Makefile - added a new subtarget "ase" in Lantiq lantiq/base-files/etc/board.d/01_leds + 02_network - added the model ALL0333CJ for led stuff + mac addres from uboot environment target/linux/lantiq/dts/amazonse.dtsi - the amazonse.dtsi had some problems which are solved now: 1) the memory@0 section was not present 2) localbus@0 section was also not there 3) some irq's are not correct I think, but the current amazonse.dtsi works now... additional stuff could be done later target/linux/generic/patches-4.4/308-mips32r2_tune.patch - this patch adds cflags, which compiles code, which can not run on my device (is there a way for disabling this generic patch for my special mips target?) If I should make a pull request via github, just tell me. -- Best regards, TR
diff --git a/target/linux/generic/patches-4.4/308-mips32r2_tune.patch b/target/linux/generic/patches-4.4/308-mips32r2_tune.patch deleted file mode 100644 index f4ab89ef28..0000000000 --- a/target/linux/generic/patches-4.4/308-mips32r2_tune.patch +++ /dev/null @@ -1,17 +0,0 @@ -Add -mtune=34kc to MIPS CFLAGS when building for mips32r2 -This provides a good tradeoff across at least 24Kc-74Kc, while also -producing smaller code. - -Signed-off-by: Felix Fietkau <n...@nbd.name> - ---- a/arch/mips/Makefile -+++ b/arch/mips/Makefile -@@ -145,7 +145,7 @@ cflags-$(CONFIG_CPU_R4X00) += -march=r46 - cflags-$(CONFIG_CPU_TX49XX) += -march=r4600 -Wa,--trap - cflags-$(CONFIG_CPU_MIPS32_R1) += $(call cc-option,-march=mips32,-mips32 -U_MIPS_ISA -D_MIPS_ISA=_MIPS_ISA_MIPS32) \ - -Wa,-mips32 -Wa,--trap --cflags-$(CONFIG_CPU_MIPS32_R2) += $(call cc-option,-march=mips32r2,-mips32r2 -U_MIPS_ISA -D_MIPS_ISA=_MIPS_ISA_MIPS32) \ -+cflags-$(CONFIG_CPU_MIPS32_R2) += $(call cc-option,-march=mips32r2 -mtune=34kc,-mips32r2 -U_MIPS_ISA -D_MIPS_ISA=_MIPS_ISA_MIPS32) \ - -Wa,-mips32r2 -Wa,--trap - cflags-$(CONFIG_CPU_MIPS32_R6) += -march=mips32r6 -Wa,--trap - cflags-$(CONFIG_CPU_MIPS64_R1) += $(call cc-option,-march=mips64,-mips64 -U_MIPS_ISA -D_MIPS_ISA=_MIPS_ISA_MIPS64) \ diff --git a/target/linux/lantiq/Makefile b/target/linux/lantiq/Makefile index 3e4f48e7b1..3b89ca0c8f 100644 --- a/target/linux/lantiq/Makefile +++ b/target/linux/lantiq/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk BOARD:=lantiq BOARDNAME:=Lantiq FEATURES:=squashfs -SUBTARGETS:=xrx200 xway xway_legacy falcon +SUBTARGETS:=ase falcon xrx200 xway xway_legacy MAINTAINER:=John Crispin <j...@phrozen.org> KERNEL_PATCHVER:=4.4 diff --git a/target/linux/lantiq/ase/config-default b/target/linux/lantiq/ase/config-default new file mode 100644 index 0000000000..11255f7b45 --- /dev/null +++ b/target/linux/lantiq/ase/config-default @@ -0,0 +1,32 @@ +CONFIG_ADM6996_PHY=y +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +CONFIG_CRC16=y +CONFIG_CRYPTO_DEFLATE=y +CONFIG_CRYPTO_LZO=y +CONFIG_DECOMPRESS_XZ=y +# CONFIG_DEFAULT_DEADLINE is not set +CONFIG_DEFAULT_IOSCHED="noop" +CONFIG_DEFAULT_NOOP=y +CONFIG_FIRMWARE_IN_KERNEL=y +CONFIG_FIRMWARE_MEMMAP=y +CONFIG_GPIO_GENERIC=y +CONFIG_GPIO_GENERIC_PLATFORM=y +CONFIG_IMAGE_CMDLINE_HACK=y +# CONFIG_ISDN is not set +CONFIG_JUMP_LABEL=y +# CONFIG_LBDAF is not set +CONFIG_LEDS_TRIGGER_HEARTBEAT=y +CONFIG_LZO_COMPRESS=y +CONFIG_LZO_DECOMPRESS=y +CONFIG_MIPS_FPU_EMULATOR=y +# CONFIG_PSB6970_PHY is not set +CONFIG_RD_XZ=y +# CONFIG_RTL8366_SMI is not set +CONFIG_SOC_AMAZON_SE=y +# CONFIG_SOC_XWAY is not set +# CONFIG_SPI is not set +CONFIG_USB_SUPPORT=y +# CONFIG_WIRELESS is not set +# CONFIG_WLAN is not set +CONFIG_ZLIB_DEFLATE=y +CONFIG_ZLIB_INFLATE=y diff --git a/target/linux/lantiq/ase/profiles/00-default.mk b/target/linux/lantiq/ase/profiles/00-default.mk new file mode 100644 index 0000000000..26bc8b502b --- /dev/null +++ b/target/linux/lantiq/ase/profiles/00-default.mk @@ -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)) diff --git a/target/linux/lantiq/ase/target.mk b/target/linux/lantiq/ase/target.mk new file mode 100644 index 0000000000..28694e6d44 --- /dev/null +++ b/target/linux/lantiq/ase/target.mk @@ -0,0 +1,25 @@ +# +# 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 +# ramdisk small_flash +CPU_TYPE:=4kec + +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 luci_git + +# DEVICE_PACKAGES := 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 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 0698d6cc59..221815d683 100755 --- a/target/linux/lantiq/base-files/etc/board.d/01_leds +++ b/target/linux/lantiq/base-files/etc/board.d/01_leds @@ -35,6 +35,9 @@ led_internet="$(lantiq_get_dt_led internet)" board=$(lantiq_board_name) case "$board" in +ALL0333CJ) + ucidef_set_led_netdev "lan" "lan" "all0333cj:green:lan" "eth0.1" + ;; ARV4525PW) ucidef_set_led_netdev "wifi" "wifi" "arv4525pw: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 576bb7d86b..8f223b2ab9 100755 --- a/target/linux/lantiq/base-files/etc/board.d/02_network +++ b/target/linux/lantiq/base-files/etc/board.d/02_network @@ -26,6 +26,13 @@ ACMP252|GIGASX76X) "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "5t@eth0" ;; +ALL0333CJ) + annex="b" + lan_mac=$(mtd_get_mac_ascii uboot_env ethaddr) + wan_mac=$(macaddr_add "$lan_mac" 1) + ucidef_set_interface_lan 'eth0' + ;; + ARV4510PW) lan_mac=$(mtd_get_mac_ascii uboot_env ethaddr) wan_mac=$(macaddr_add "$lan_mac" 1) @@ -183,4 +190,3 @@ ucidef_set_interface_wan "$interface_wan" "pppoe" board_config_flush exit 0 - diff --git a/target/linux/lantiq/dts/ALL0333CJ.dts b/target/linux/lantiq/dts/ALL0333CJ.dts new file mode 100644 index 0000000000..e613923ff7 --- /dev/null +++ b/target/linux/lantiq/dts/ALL0333CJ.dts @@ -0,0 +1,131 @@ +/dts-v1/; + +#include "amazonse.dtsi" + +/ { + model = "ALL0333CJ - 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>; // 16MB + }; + + // does not work at fpi@10000000 /TR + fpi@b0000000 { + etop@E180000 { + phy-mode = "mii"; + }; + }; + + fpi@10000000 { + gpio: pinmux@E100B10 { + 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>; + }; + }; + }; + + // nor chips like: Spansion S29GL032 + localbus@0 { + nor-boot@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_rootfs"; + reg = <0x3ffe00 0x200>; + read-only; + }; + }; + }; + }; + }; + + /** + * gpios: + * 1=dsl (1=off, 0=on) + * 3=ethernet (1=off, 0=on) + * 4=online red (1=off, 0=on) - right most + * 12=online green (1=off, 0=on) - right most + * 13=power (1=red, 0=green) - left most + */ + + gpio-leds { + compatible = "gpio-leds"; + + /* POWER: two led's: 1x green, 1x red */ + 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>; + default-state = "keep"; + }; + + 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>; + }; + }; +}; diff --git a/target/linux/lantiq/dts/amazonse.dtsi b/target/linux/lantiq/dts/amazonse.dtsi index 2b8ad08140..f7e49fd2e2 100644 --- a/target/linux/lantiq/dts/amazonse.dtsi +++ b/target/linux/lantiq/dts/amazonse.dtsi @@ -19,6 +19,10 @@ }; }; + memory@0 { + device_type = "memory"; + }; + biu@1F800000 { #address-cells = <1>; #size-cells = <1>; @@ -52,6 +56,7 @@ eiu0: eiu@101000 { #interrupt-cells = <1>; + interrupt-controller; compatible = "lantiq,eiu-xway"; reg = <0x101000 0x1000>; interrupt-parent = <&icu0>; @@ -82,6 +87,14 @@ ranges = <0x0 0x10000000 0xEEFFFFF>; reg = <0x10000000 0xEF00000>; + 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@E100800 { compatible = "lantiq,ase-spi"; reg = <0xE100800 0x100>; diff --git a/target/linux/lantiq/image/Makefile b/target/linux/lantiq/image/Makefile index cdc88b2fc6..a6f0cbe7f2 100644 --- a/target/linux/lantiq/image/Makefile +++ b/target/linux/lantiq/image/Makefile @@ -106,6 +106,31 @@ define Device/AVM KERNEL := kernel-bin | append-dtb | lzma | eva-image endef +ifeq ($(SUBTARGET),ase) + +define Device/ALL0333CJ + IMAGE_SIZE := 3000k + DEVICE_DTS := ALL0333CJ + DEVICE_TITLE := Allnet ALL0333CJ + DEVICE_PACKAGES := 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 +endef +TARGET_DEVICES += ALL0333CJ + +# TODO: add wlan/usb stuff +define Device/DGN1000B + IMAGE_SIZE := 6000k + DEVICE_DTS := DGN1000B + DEVICE_TITLE := Netgear DGN1000B + DEVICE_PACKAGES := 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 +endef +TARGET_DEVICES += DGN1000B + +endif + ifeq ($(SUBTARGET),xway_legacy) define Device/ARV4520PW
_______________________________________________ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev