lantiq: add Allnet ALL0333CJ support
authorTino Reichardt <milky-lede@mcmilk.de>
Sun, 26 Feb 2017 20:29:37 +0000 (21:29 +0100)
committerHauke Mehrtens <hauke@hauke-m.de>
Sat, 3 Jun 2017 19:14:07 +0000 (21:14 +0200)
This patch adds support for the Allnet ADSL2+ Modem ALL0333CJ.

Specifications:
- SoC: Amazon-SE
- RAM: 16MB
- Storage: 4MB NOR FLash
- LEDs: Power, Ethernet, DSL (Sync)
- Buttons: 1x Reset Button (not currently supported, will be done)
- 1x Ethernet-Port: 1x RJ45 10/100BaseTX
- 1x WAN-Port: AnnexB & J, G.992.1(ADSL), G.992.3(ADSL2), G.992.5(ADSL2+)

Installation:
- can be done via telnet+tftp or serial console
- default passwords:
  - via telnet (root:admin)
  - via webinterface http://172.16.1.254:8235/ (admin:coolwhite)

Installation via telnet / tftp:
host: # your own host must have an tftpd daemon, then do this:
host: ifconfig eth0:172 172.16.1.1 up
host: # telnet to allnet modem, root:admin
host: telnet 172.16.1.254
modem: # kill this daemon, it spams your console
modem: killall dsl_cpe_control
modem: # change to some place in ram:
modem: cd /ramdisk/tftp_upload
modem: # load lede-lantiq-ase-ALL0333CJ-squashfs-sysupgrade.bin alias uImage
modem: tftp -g -r uImage 172.16.1.1
modem: # load these extra tools from your tftpd via:
modem: # source: https://github.com/mcmilk/uboot-utils/releases/download/0.1/mips32.tar.gz
modem: tftp -g -r flashwrite 172.16.1.1
modem: tftp -g -r fw_setenv 172.16.1.1
modem: tftp -g -r fw.conf 172.16.1.1
modem: ln -s fw_setenv fw_printenv
modem: chmod +x *
modem: ./fw_setenv disable_recovery y
modem: ./fw_setenv kernel_addr 0xb0010000
modem: ./flashwrite /dev/mtd/1 uImage 0

Installation via serial line at uboot:
uboot: # erase everything exept bootloader
uboot: protect on b0000000 +10000; protect on b03f0000 +10000
uboot: erase all
uboot: # get new firmware via tftp:
uboot: tftpboot 0x80100000 uImage; setenv kernel_addr 0xb0010000
uboot: # copy to flash:
uboot: cp.b 0x80100000 $(kernel_addr) $(filesize)
uboot: # disable proprietary image checking:
uboot: setenv disable_recovery=y; saveenv
uboot: # reboot with LEDE ;)
uboot: reset

Ethernet works as expected, DSL syncronization does not work properly
currently, I am working on this issue.

Signed-off-by: Tino Reichardt <milky-lede@mcmilk.de>
target/linux/lantiq/base-files/etc/board.d/01_leds
target/linux/lantiq/base-files/etc/board.d/02_network
target/linux/lantiq/dts/ALL0333CJ.dts [new file with mode: 0644]
target/linux/lantiq/image/Makefile

index 8de222a..b6461f9 100755 (executable)
@@ -35,6 +35,9 @@ led_internet="$(lantiq_get_dt_led internet)"
 board=$(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"
        ;;
index f63be9e..55498b9 100755 (executable)
@@ -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)
diff --git a/target/linux/lantiq/dts/ALL0333CJ.dts b/target/linux/lantiq/dts/ALL0333CJ.dts
new file mode 100644 (file)
index 0000000..99174c5
--- /dev/null
@@ -0,0 +1,119 @@
+/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>;
+       };
+
+       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>;
+                               };
+                       };
+               };
+
+               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_bits";
+                                               reg = <0x3ffe00 0x200>;
+                                               read-only;
+                                       };
+                               };
+                       };
+               };
+       };
+
+       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>;
+               };
+       };
+};
index 572c9b3..1b194b3 100644 (file)
@@ -108,6 +108,16 @@ endef
 
 ifeq ($(SUBTARGET),ase)
 
+define Device/ALL0333CJ
+  IMAGE_SIZE := 3700k
+  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
+
 define Device/DGN1000B
   IMAGE_SIZE := 6000k
   DEVICE_DTS := DGN1000B