summaryrefslogtreecommitdiff
path: root/target/linux/lantiq
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/lantiq')
-rw-r--r--target/linux/lantiq/image/Makefile20
-rw-r--r--target/linux/lantiq/image/VG3503J.dts189
-rw-r--r--target/linux/lantiq/xway/profiles/arv.mk8
3 files changed, 217 insertions, 0 deletions
diff --git a/target/linux/lantiq/image/Makefile b/target/linux/lantiq/image/Makefile
index 45f9e142f5..a226b4db57 100644
--- a/target/linux/lantiq/image/Makefile
+++ b/target/linux/lantiq/image/Makefile
@@ -25,6 +25,12 @@ define PatchKernelLzma
$(call CompressLzma,$(KDIR)/vmlinux-$(1),$(KDIR)/vmlinux-$(1).lzma)
endef
+define PatchKernelRaw
+ cp $(KDIR)/vmlinux $(KDIR)/vmlinux-$(1)
+ $(LINUX_DIR)/scripts/dtc/dtc -O dtb -o $(KDIR)/$(1).dtb ./$(1).dts
+ $(STAGING_DIR_HOST)/bin/patch-dtb $(KDIR)/vmlinux-$(1) $(KDIR)/$(1).dtb
+endef
+
define MkBrnImage
mkbrncmdline -i $(KDIR)/vmlinux-$(4) -o $(KDIR)/vmlinux-$(4)-brn BRN-BOOT $(6)
$(call CompressLzma,$(KDIR)/vmlinux-$(4)-brn,$(KDIR)/vmlinux-$(4)-brn.lzma)
@@ -70,6 +76,12 @@ define Image/BuildEVA/squashfs
$(call prepare_generic_squashfs,$(BIN_DIR)/$(IMG_PREFIX)-$(2)-$(1).image.eva)
endef
+define Image/BuildRaw/squashfs
+ dd if=$(KDIR)/vmlinux-$(2) of=$(KDIR)/vmlinux-$(2)-$(1) bs=1M conv=sync
+ cat $(KDIR)/vmlinux-$(2)-$(1) $(KDIR)/root.$(1) > $(BIN_DIR)/$(IMG_PREFIX)-$(2)-$(1).image
+ $(call prepare_generic_squashfs,$(BIN_DIR)/$(IMG_PREFIX)-$(2)-$(1).image)
+endef
+
define Image/BuildNANDEVA/jffs2-128k
cp $(KDIR)/root.$(1) $(BIN_DIR)/$(IMG_PREFIX)-$(2)-$(1).rootfs
endef
@@ -95,6 +107,11 @@ define Image/BuildKernel/Template
$(CP) $(KDIR)/uImage-$(1) $(BIN_DIR)/$(IMG_PREFIX)-$(1)-uImage
endef
+define Image/BuildKernelRaw/Template
+ $(call PatchKernelRaw,$(1))
+ $(CP) $(KDIR)/vmlinux-$(1) $(BIN_DIR)/$(IMG_PREFIX)-$(1)-vmlinux
+endef
+
define Image/BuildKernelEVA/Template
$(call PatchKernelLzma,$(1),$(if $(2),$(2) machtype=$(1),))
$(call MkImageEVA,$(1))
@@ -196,6 +213,9 @@ Image/Build/Profile/EASY80920NOR=$(call Image/Build/$(1),$(1),EASY80920NOR)
Image/BuildKernel/Profile/FRITZ3370=$(call Image/BuildKernelEVA/Template,FRITZ3370)
Image/Build/Profile/FRITZ3370=$(call Image/BuildNANDEVA/$(1),$(1),FRITZ3370)
+Image/BuildKernel/Profile/VG3503J=$(call Image/BuildKernelRaw/Template,VG3503J)
+Image/Build/Profile/VG3503J=$(call Image/BuildRaw/$(1),$(1),VG3503J)
+
endif
diff --git a/target/linux/lantiq/image/VG3503J.dts b/target/linux/lantiq/image/VG3503J.dts
new file mode 100644
index 0000000000..cf9545484e
--- /dev/null
+++ b/target/linux/lantiq/image/VG3503J.dts
@@ -0,0 +1,189 @@
+/dts-v1/;
+
+/include/ "vr9.dtsi"
+
+/ {
+ model = "VG3503J - BT OpenReach VDSL Modem";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200 init=/etc/preinit";
+ };
+
+ memory@0 {
+ reg = <0x0 0x2000000>;
+ };
+
+ fpi@10000000 {
+ localbus@0 {
+ ranges = <0 0 0x0 0x3ffffff>;
+ nor-boot@0 {
+ compatible = "lantiq,nor";
+ bank-width = <2>;
+ reg = <0 0x0 0x2000000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "uboot";
+ reg = <0x00000 0x20000>;
+ };
+
+ partition@20000 {
+ label = "kernel";
+ reg = <0x20000 0x400000>;
+ };
+
+ partition@420000 {
+ label = "rootfs";
+ reg = <0x420000 0x320000>;
+ };
+
+ partition@740000 {
+ label = "btagent";
+ reg = <0x740000 0x80000>;
+ };
+
+ partition@7c0000 {
+ label = "pri_bfocus_cfg";
+ reg = <0x7c0000 0x10000>;
+ };
+
+ partition@7d0000 {
+ label = "sec_bfocus_cfg";
+ reg = <0x7d0000 0x10000>;
+ };
+
+ partition@7e0000 {
+ label = "sysconfig";
+ reg = <0x7e0000 0x10000>;
+ };
+
+ partition@7f0000 {
+ label = "misc_cfg";
+ reg = <0x7f0000 0x10000>;
+ };
+ };
+ };
+
+ gpio: pinmux@E100B10 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ mdio {
+ lantiq,groups = "mdio";
+ lantiq,function = "mdio";
+ };
+ };
+ };
+
+ eth@E108000 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ compatible = "lantiq,xrx200-net";
+ reg = < 0xE108000 0x3000 /* switch */
+ 0xE10B100 0x70 /* mdio */
+ 0xE10B1D8 0x30 /* mii */
+ 0xE10B308 0x30 /* pmac */
+ >;
+ interrupt-parent = <&icu0>;
+ interrupts = <73 72>;
+
+ lan: interface@0 {
+ compatible = "lantiq,xrx200-pdi";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0>;
+ mac-address = [ 00 11 22 33 44 55 ];
+
+ ethernet@2 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <2>;
+ phy-mode = "mii";
+ phy-handle = <&phy11>;
+ };
+ ethernet@4 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <4>;
+ phy-mode = "mii";
+ phy-handle = <&phy13>;
+ };
+ };
+
+ mdio@0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ compatible = "lantiq,xrx200-mdio";
+ phy11: ethernet-phy@11 {
+ reg = <0x11>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ lantiq,c45-reg-init = <1 0 0 0>;
+ };
+ phy13: ethernet-phy@13 {
+ reg = <0x13>;
+ compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
+ lantiq,c45-reg-init = <1 0 0 0>;
+ };
+ };
+ };
+ };
+
+ gphy-xrx200 {
+ compatible = "lantiq,phy-xrx200";
+ firmware = "lantiq/vr9_phy22f_a1x.bin";
+ phys = [ 00 01 ];
+ };
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <100>;
+ reset {
+ label = "reset";
+ gpios = <&gpio 6 1>;
+ linux,code = <0x198>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ port2green {
+ label = "bt:green:port2";
+ gpios = <&gpio 2 0>;
+ };
+ lan2 {
+ label = "bt:green:lan2";
+ gpios = <&gpio 5 0>;
+ };
+ port2orange {
+ label = "bt:orange:port2";
+ gpios = <&gpio 7 0>;
+ };
+ power2 {
+ label = "power2";
+ gpios = <&gpio 14 1>;
+ };
+ dsl {
+ label = "dsl";
+ gpios = <&gpio 19 1>;
+ };
+ power {
+ label = "power";
+ gpios = <&gpio 28 1>;
+ };
+ lan1 {
+ label = "bt:green:lan1";
+ gpios = <&gpio 44 0>;
+ };
+ port1green {
+ label = "bt:green:port1";
+ gpios = <&gpio 45 0>;
+ };
+ port1orange {
+ label = "bt:orange:port1";
+ gpios = <&gpio 47 0>;
+ };
+ };
+};
diff --git a/target/linux/lantiq/xway/profiles/arv.mk b/target/linux/lantiq/xway/profiles/arv.mk
index a4f11ca238..21311882a7 100644
--- a/target/linux/lantiq/xway/profiles/arv.mk
+++ b/target/linux/lantiq/xway/profiles/arv.mk
@@ -114,3 +114,11 @@ define Profile/ARV752DPW22
endef
$(eval $(call Profile,ARV752DPW22))
+
+define Profile/VG3503J
+ NAME:=BT Openreach - ECI VDSL Modem
+ PACKAGES:=kmod-ltq-vdsl-vr9-mei kmod-ltq-vdsl-vr9 \
+ kmod-ltq-ptm-vr9 ltq-vdsl-app
+endef
+
+$(eval $(call Profile,VG3503J))