[source] lantiq: add support for the Alpha ASL56026

LEDE Commits lede-commits at lists.infradead.org
Wed Mar 8 10:06:39 PST 2017


mkresin pushed a commit to source.git, branch master:
https://git.lede-project.org/6254a2028c181fe9863dc7758d47eda667b4f397

commit 6254a2028c181fe9863dc7758d47eda667b4f397
Author: Alex Maclean <monkeh at monkeh.net>
AuthorDate: Mon Mar 6 23:25:37 2017 +0000

    lantiq: add support for the Alpha ASL56026
    
    The ASL56026 is a VDSL2 router with dual 100mbit ethernet,
    also known as the ECI B-FOCuS V-2FUb/I.
    
    CPU: Lantiq XRX268 v1.1 at 333MHz
    Modem: Lantiq VRX208
    RAM: 32MiB DDR2 at 167MHz
    Flash: 8MiB NOR, Spansion S29GL064N90TF04
    
    UART is at JP1:
    Pin 1 TX
    Pin 2 GND
    Pin 3 +3.3V
    Pin 4 NC
    Pin 5 RX
    
    Boot selection pins are exposed via several resistor jumpers:
    boot_sel0 is at J15, on the rear of the board. Default is high.
    boot_sel1 is at J3, next to the flash - it is also the flash CE# pin. Default is low.
    boot_sel2 is at J12, directly below the SoC. Default is low.
    boot_sel3 is at J16, on the rear of the board. Default is low.
    
    The boot_sel pins should never be shorted, the jumper must be moved or
    a lower value resistor used to change the pull (existing resistors are 4k7, 1k should work)
    
    To install with the stock bootloader you must break the built in image selection process
    which uses at least the following vars: f_upgrade_addr, f_upgrade2_addr, loadaddr, kernel_addr, activeregion, committedregion
    This is done by setting loadaddr and both f_upgrade_addr vars to the same address:
    
    	VR9 # setenv loadaddr 0xB0040000
    	VR9 # setenv f_upgrade_addr 0xB0040000
    	VR9 # setenv f_upgrade2_addr 0xB0040000
    	VR9 # saveenv
    
    Then flash the firmware image:
    
    	VR9 # tftpboot 0x81000000 lede-lantiq-xrx200-ASL56026-squashfs-sysupgrade.bin
    	VR9 # erase B0040000 +${filesize}
    	VR9 # cp.b 0x81000000 0xB0040000 ${filesize}
    
    Signed-off-by: Alex Maclean <monkeh at monkeh.net>
---
 .../linux/lantiq/base-files/etc/board.d/02_network |   7 +
 target/linux/lantiq/dts/ASL56026.dts               | 170 +++++++++++++++++++++
 target/linux/lantiq/image/Makefile                 |   6 +
 3 files changed, 183 insertions(+)

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 576bb7d..3dd5cad 100755
--- a/target/linux/lantiq/base-files/etc/board.d/02_network
+++ b/target/linux/lantiq/base-files/etc/board.d/02_network
@@ -61,6 +61,13 @@ ARV7519RW22)
 		"0:lan:5" "2:lan:3" "3:lan:4" "4:lan:1" "5:lan:2" "6t at eth0"
 	;;
 
+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 at eth0"
+	;;
+
 BTHOMEHUBV2B)
 	lan_mac=$(mtd_get_mac_ascii uboot_env ethaddr)
 	wan_mac=$(macaddr_add "$lan_mac" 1)
diff --git a/target/linux/lantiq/dts/ASL56026.dts b/target/linux/lantiq/dts/ASL56026.dts
new file mode 100644
index 0000000..735e6bc
--- /dev/null
+++ b/target/linux/lantiq/dts/ASL56026.dts
@@ -0,0 +1,170 @@
+/dts-v1/;
+
+#include "vr9.dtsi"
+
+#include <dt-bindings/input/input.h>
+
+/ {
+	model = "ASL56026 - BT OpenReach VDSL Modem";
+
+	chosen {
+		bootargs = "console=ttyLTQ0,115200";
+	};
+
+	aliases {
+		led-boot = &power_green;
+		led-failsafe = &power_red;
+		led-running = &power_green;
+
+		led-internet = &dsl;
+	};
+
+	memory at 0 {
+		reg = <0x0 0x2000000>;
+	};
+
+	fpi at 10000000 {
+		localbus at 0 {
+			nor-boot at 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 at 0 {
+						label = "uboot";
+						reg = <0x0 0x30000>;
+					};
+
+					partition at 30000 {
+						label = "uboot_env";
+						reg = <0x30000 0x10000>;
+					};
+
+					partition at 40000 {
+						label = "firmware";
+						reg = <0x40000 0x750000>;
+					};
+
+					partition at 790000 {
+						label = "ddrconfig";
+						reg = <0x790000 0x70000>;
+						read-only;
+					};
+				};
+			};
+		};
+
+		gpio: pinmux at E100B10 {
+			pinctrl-names = "default";
+			pinctrl-0 = <&state_default>;
+
+			state_default: pinmux {
+				mdio {
+					lantiq,groups = "mdio";
+					lantiq,function = "mdio";
+				};
+			};
+		};
+	};
+
+	gphy-xrx200 {
+		compatible = "lantiq,phy-xrx200";
+		firmware1 = "lantiq/vr9_phy22f_a1x.bin";	/*VR9 1.1*/
+		firmware2 = "lantiq/vr9_phy22f_a2x.bin";	/*VR9 1.2*/
+		phys = [ 00 01 ];
+	};
+
+	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 at 0 {
+		compatible = "lantiq,xrx200-pdi";
+		#address-cells = <1>;
+		#size-cells = <0>;
+		reg = <0>;
+		lantiq,switch;
+
+		ethernet at 2 {
+			compatible = "lantiq,xrx200-pdi-port";
+			reg = <2>;
+			phy-mode = "mii";
+			phy-handle = <&phy11>;
+		};
+
+		ethernet at 3 {
+			compatible = "lantiq,xrx200-pdi-port";
+			reg = <3>;
+			phy-mode = "mii";
+			phy-handle = <&phy14>;
+		};
+
+	};
+
+	mdio at 0 {
+		#address-cells = <1>;
+		#size-cells = <0>;
+		compatible = "lantiq,xrx200-mdio";
+
+		phy11: ethernet-phy at 11 {
+			reg = <0x11>;
+			compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22";
+		};
+
+		phy14: ethernet-phy at 14 {
+			reg = <0x14>;
+			compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22";
+		};
+
+	};
+};
diff --git a/target/linux/lantiq/image/Makefile b/target/linux/lantiq/image/Makefile
index 5daab03..12763bb 100644
--- a/target/linux/lantiq/image/Makefile
+++ b/target/linux/lantiq/image/Makefile
@@ -474,6 +474,12 @@ define Device/ARV7519RW22
 endef
 TARGET_DEVICES += ARV7519RW22
 
+define Device/ASL56026
+  IMAGE_SIZE := 7488k
+  DEVICE_TITLE := BT OpenReach - ECI VDSL Modem V-2FUb/I
+endef
+TARGET_DEVICES += ASL56026
+
 define Device/BTHOMEHUBV5A
   $(Device/NAND)
   DEVICE_TITLE := BT Home Hub 5A



More information about the lede-commits mailing list