Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add vgv953 board #15

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added package/base-files/files/lib/firmware/vdsl.bin
Binary file not shown.
2 changes: 1 addition & 1 deletion target/linux/lantiq/base-files/etc/diag.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

. /lib/functions/leds.sh

status_led="power"
status_led="waiting"

set_state() {
[ -d /sys/class/leds/power2/ ] && {
Expand Down
4 changes: 4 additions & 0 deletions target/linux/lantiq/base-files/etc/uci-defaults/01_leds
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,10 @@ ARV8539PW22)
ucidef_set_led_netdev "dsl" "dsl" "soc:green:dsl" "nas0"
ucidef_set_led_netdev "online" "online" "soc:green:online" "pppoe-wan"
;;
VGV953)
ucidef_set_led_default "power" "power" "power" "0"
ucidef_set_led_default "power2" "power2" "power2" "1"
;;
*)
;;
esac
Expand Down
8 changes: 8 additions & 0 deletions target/linux/lantiq/base-files/etc/uci-defaults/02_network
Original file line number Diff line number Diff line change
Expand Up @@ -190,6 +190,14 @@ VGV7510KW22)
ucidef_add_switch_vlan "switch0" "1" "2 3 4 5 6t"
;;

VGV953)
lan_mac=$(mtd_get_mac_ascii uboot-env ethaddr)
wan_mac=$(macaddr_add "$lan_mac" 1)
ucidef_set_interface_lan 'eth0.1'
ucidef_add_switch "switch0" "1" "1"
ucidef_add_switch_vlan "switch0" "1" "0 1 2 4 6t"
;;

esac

[ -z "$(ls /lib/modules/`uname -r`/ltq_atm*)" ] || set_atm_wan "$vpi" "$vci" "$encaps" "$payload"
Expand Down
2 changes: 1 addition & 1 deletion target/linux/lantiq/base-files/lib/upgrade/platform.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ platform_check_image() {
local board=$(lantiq_board_name)

case "$board" in
BTHOMEHUBV2B|BTHOMEHUBV3A|BTHOMEHUBV5A|P2812HNUF* )
BTHOMEHUBV2B|BTHOMEHUBV3A|BTHOMEHUBV5A|P2812HNUF*|VGV953 )
nand_do_platform_check $board $1
return $?;
;;
Expand Down
77 changes: 77 additions & 0 deletions target/linux/lantiq/dts/VGV953.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
/dts-v1/;

/include/ "VGV953.dtsi"

/ {
model = "VGV953 - SPEEDPORT W921V";

fpi@10000000 {
localbus@0 {
nand-parts@0 {
compatible = "gen_nand", "lantiq,nand-xway";
lantiq,cs = <1>;
bank-width = <2>;
reg = <0 0x0 0x2000000>;
#address-cells = <1>;
#size-cells = <1>;

partition@0 {
label = "uboot";
reg = <0x0 0x40000>;
};
partition@40000 {
label = "uboot-env";
reg = <0x40000 0x20000>;
};
partition@60000 {
label = "kernel";
reg = <0x60000 0x200000>;
};
partition@260000 {
label = "ubi";
reg = <0x260000 0x1da0000>;
};
};
};
pcie@d900000 {
status = "disabled";
};
};

gpio-leds {
compatible = "gpio-leds";

waiting { /* white */
label = "waiting";
gpios = <&stp 16 1>;
};
service { /* white */
label = "sevice";
gpios = <&stp 17 1>;
};
telephony { /* white */
label = "telephony";
gpios = <&stp 18 1>;
};
wlan { /* white */
label = "wlan";
gpios = <&stp 19 1>;
};
online { /* white */
label = "online";
gpios = <&stp 20 1>;
};
dsl { /* white */
label = "dsl";
gpios = <&stp 21 1>;
};
power { /* red */
label = "power";
gpios = <&stp 22 1>;
};
power2 { /* white */
label = "power2";
gpios = <&stp 23 1>;
};
};
};
253 changes: 253 additions & 0 deletions target/linux/lantiq/dts/VGV953.dtsi
Original file line number Diff line number Diff line change
@@ -0,0 +1,253 @@
/include/ "vr9.dtsi"

/ {
chosen {
bootargs = "console=ttyLTQ0,115200 init=/etc/preinit";
};

memory@0 {
reg = <0x0 0x8000000>;
};

fpi@10000000 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "lantiq,fpi", "simple-bus";
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";
};

gpio: pinmux@E100B10 {
compatible = "lantiq,pinctrl-xr9";
pinctrl-names = "default";
pinctrl-0 = <&state_default>;

interrupt-parent = <&icu0>;
interrupts = <166 135 66 40 41 42 38>;

#gpio-cells = <2>;
gpio-controller;
reg = <0xE100B10 0xA0>;

state_default: pinmux {
exin3 {
lantiq,groups = "exin3";
lantiq,function = "exin";
};
mdio {
lantiq,groups = "mdio";
lantiq,function = "mdio";
};
gphy-leds {
lantiq,groups = "gphy0 led1", "gphy1 led1",
"gphy0 led2", "gphy1 led2";
lantiq,function = "gphy";
lantiq,pull = <2>;
lantiq,open-drain = <0>;
lantiq,output = <1>;
};
stp {
lantiq,groups = "stp";
lantiq,function = "stp";
lantiq,pull = <2>;
lantiq,open-drain = <0>;
lantiq,output = <1>;
};
pci-in {
lantiq,groups = "req1";
lantiq,function = "pci";
lantiq,output = <0>;
lantiq,open-drain = <1>;
lantiq,pull = <2>;
};
pci-out {
lantiq,groups = "gnt1";
lantiq,function = "pci";
lantiq,output = <1>;
lantiq,open-drain = <0>;
lantiq,pull = <0>;
};
pci_rst {
lantiq,pins = "io21";
lantiq,output = <1>;
lantiq,open-drain = <0>;
lantiq,pull = <2>;
};
pcie-rst {
lantiq,pins = "io38";
lantiq,pull = <0>;
lantiq,output = <1>;
};
ifxhcd-rst {
lantiq,pins = "io33";
lantiq,pull = <0>;
lantiq,open-drain = <0>;
lantiq,output = <1>;
};
nand_out {
lantiq,groups = "nand cle", "nand ale";
lantiq,function = "ebu";
lantiq,output = <1>;
lantiq,open-drain = <0>;
lantiq,pull = <0>;
};
nand_cs1 {
lantiq,groups = "nand cs1";
lantiq,function = "ebu";
lantiq,open-drain = <0>;
lantiq,pull = <0>;
};
};
};

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 ];
lantiq,switch;

ethernet@0 {
compatible = "lantiq,xrx200-pdi-port";
reg = <0>;
phy-mode = "rgmii";
phy-handle = <&phy0>;
};
ethernet@1 {
compatible = "lantiq,xrx200-pdi-port";
reg = <1>;
phy-mode = "rgmii";
phy-handle = <&phy1>;
};
ethernet@2 {
compatible = "lantiq,xrx200-pdi-port";
reg = <2>;
phy-mode = "gmii";
phy-handle = <&phy11>;
};
ethernet@4 {
compatible = "lantiq,xrx200-pdi-port";
reg = <4>;
phy-mode = "gmii";
phy-handle = <&phy13>;
};
};

mdio@0 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "lantiq,xrx200-mdio";

phy0: ethernet-phy@0 {
reg = <0x0>;
compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
};
phy1: ethernet-phy@1 {
reg = <0x1>;
compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
};
phy11: ethernet-phy@11 {
reg = <0x11>;
compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
};
phy13: ethernet-phy@13 {
reg = <0x13>;
compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
};
};
};

stp: stp@E100BB0 {
compatible = "lantiq,gpio-stp-xway";
reg = <0xE100BB0 0x40>;
#gpio-cells = <2>;
gpio-controller;

lantiq,shadow = <0xffffff>;
lantiq,groups = <0x7>;
lantiq,dsl = <0x0>;
lantiq,phy1 = <0x0>;
lantiq,phy2 = <0x0>;
};

ifxhcd@E101000 {
status = "okay";
gpios = <&gpio 33 0>;
lantiq,portmask = <0x3>;
};

ifxhcd@E106000 {
status = "okay";
gpios = <&gpio 33 0>;
};

pci@E105400 {
status = "okay";
#address-cells = <3>;
#size-cells = <2>;
#interrupt-cells = <1>;
compatible = "lantiq,pci-xway";
bus-range = <0x0 0x0>;
ranges = <0x2000000 0 0x8000000 0x8000000 0 0x2000000 /* pci memory */
0x1000000 0 0x00000000 0xAE00000 0 0x200000>; /* io space */
reg = <0x7000000 0x8000 /* config space */
0xE105400 0x400>; /* pci bridge */
lantiq,bus-clock = <33333333>;
/*lantiq,external-clock;*/
lantiq,delay-hi = <0>; /* 0ns delay */
lantiq,delay-lo = <0>; /* 0.0ns delay */
interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
interrupt-map = <
0x7000 0 0 1 &icu0 30 1 // slot 14, irq 30
>;
gpio-reset = <&gpio 21 0>;
req-mask = <0x1>; /* GNT1 */
};
};

gphy-xrx200 {
compatible = "lantiq,phy-xrx200";
firmware1 = "lantiq/vr9_phy11g_a1x.bin"; /*VR9 1.1*/
firmware2 = "lantiq/vr9_phy11g_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 39 1>;
linux,code = <0x198>;
};

rfkill {
label = "rfkill";
gpios = <&gpio 1 1>;
linux,code = <0xf7>;
};
}; */
};
3 changes: 3 additions & 0 deletions target/linux/lantiq/image/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -408,6 +408,9 @@ endif
ifeq ($(CONFIG_TARGET_lantiq_xrx200),y)

# VR9
Image/BuildKernel/Profile/VGV953=$(call Image/BuildKernel/Template,VGV953)
Image/Build/Profile/VGV953=$(call Image/BuildNAND/$(1),$(1),VGV953)

Image/BuildKernel/Profile/P2812HNUF1=$(call Image/BuildKernel/Template,P2812HNUF1)
Image/Build/Profile/P2812HNUF1=$(call Image/BuildNAND/$(1),$(1),P2812HNUF1)

Expand Down
10 changes: 10 additions & 0 deletions target/linux/lantiq/xrx200/profiles/lantiq.mk
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,13 @@ define Profile/EASY80920NAND
endef

$(eval $(call Profile,EASY80920NAND))

define Profile/VGV953
NAME:=Lantiq VR9 - SPEEDPORT W921V
PACKAGES:=wpad-mini kmod-usb-dwc2
endef

VGV953_UBIFS_OPTS:="-m 512 -e 15872 -c 2048"
VGV953_UBI_OPTS:="-m 512 -p 16KiB -s 256"

$(eval $(call Profile,VGV953))