[OpenWrt-Devel] [PATCH 1/3] lantiq: Add support for Arcadyan VGV7510KW22 (known as o2 Box 6431)
Martin Blumenstingl
martin.blumenstingl at googlemail.com
Thu Jun 4 11:30:52 EDT 2015
---
.../etc/hotplug.d/firmware/10-rt2x00-eeprom | 11 +
.../lantiq/base-files/etc/uci-defaults/01_leds | 7 +
.../lantiq/base-files/etc/uci-defaults/02_network | 8 +
target/linux/lantiq/dts/VGV7510KW22.dtsi | 256 +++++++++++++++++++++
target/linux/lantiq/dts/VGV7510KW22BRN.dts | 53 +++++
target/linux/lantiq/dts/VGV7510KW22NOR.dts | 33 +++
target/linux/lantiq/image/Makefile | 6 +
target/linux/lantiq/xrx200/profiles/arv.mk | 14 ++
8 files changed, 388 insertions(+)
create mode 100644 target/linux/lantiq/dts/VGV7510KW22.dtsi
create mode 100644 target/linux/lantiq/dts/VGV7510KW22BRN.dts
create mode 100644 target/linux/lantiq/dts/VGV7510KW22NOR.dts
diff --git a/target/linux/lantiq/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom b/target/linux/lantiq/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom
index 3ebd5e8..5f1cb00 100644
--- a/target/linux/lantiq/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom
+++ b/target/linux/lantiq/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom
@@ -46,4 +46,15 @@ case "$FIRMWARE" in
;;
esac
;;
+"RT3062.eeprom" )
+ local board=$(lantiq_board_name)
+ case $board in
+ VGV7510KW22)
+ rt2x00_eeprom_extract "board_config" 520 256 1
+ ;;
+ *)
+ rt2x00_eeprom_die "board $board is not supported yet"
+ ;;
+ esac
+ ;;
esac
diff --git a/target/linux/lantiq/base-files/etc/uci-defaults/01_leds b/target/linux/lantiq/base-files/etc/uci-defaults/01_leds
index 3502eb2..8041ac9 100644
--- a/target/linux/lantiq/base-files/etc/uci-defaults/01_leds
+++ b/target/linux/lantiq/base-files/etc/uci-defaults/01_leds
@@ -30,6 +30,13 @@ BTHOMEHUBV3A)
ucidef_set_led_wlan "wifi" "wifi" "soc:blue:wireless" "phy0tpt"
ucidef_set_led_netdev "internet" "internet" "soc:blue:broadband" "pppoa-wan"
;;
+VGV7510KW22)
+ ucidef_set_led_default "power" "power" "power" "1"
+ ucidef_set_led_default "power2" "power2" "power2" "0"
+ ucidef_set_led_wlan "wifi" "wifi" "wifi" "phy0radio"
+ ucidef_set_led_netdev "dsl" "dsl" "dsl" "nas0"
+ ucidef_set_led_netdev "internet_green" "internet_green" "internet_green" "pppoe-wan"
+ ;;
VGV7519)
ucidef_set_led_default "power" "power" "power" "0"
ucidef_set_led_default "power2" "power2" "power2" "1"
diff --git a/target/linux/lantiq/base-files/etc/uci-defaults/02_network b/target/linux/lantiq/base-files/etc/uci-defaults/02_network
index 5997bf5..afb8714 100644
--- a/target/linux/lantiq/base-files/etc/uci-defaults/02_network
+++ b/target/linux/lantiq/base-files/etc/uci-defaults/02_network
@@ -174,6 +174,14 @@ VGV7519)
wan_mac=$(macaddr_add "$lan_mac" 1)
;;
+VGV7510KW22)
+ lan_mac=$(mtd_get_mac_binary board_config 22)
+ 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" "2 3 4 5 6t"
+ ;;
+
esac
[ -z "$(ls /lib/modules/`uname -r`/ltq_atm*)" ] || set_atm_wan "$vpi" "$vci" "$encaps" "$payload"
diff --git a/target/linux/lantiq/dts/VGV7510KW22.dtsi b/target/linux/lantiq/dts/VGV7510KW22.dtsi
new file mode 100644
index 0000000..077ed23
--- /dev/null
+++ b/target/linux/lantiq/dts/VGV7510KW22.dtsi
@@ -0,0 +1,256 @@
+/include/ "vr9.dtsi"
+
+/ {
+ model = "VGV7510KW22 - o2 Box 6431";
+
+ chosen {
+ bootargs = "console=ttyLTQ0,115200 init=/etc/preinit";
+ };
+
+ memory at 0 {
+ reg = <0x0 0x4000000>;
+ };
+
+ fpi at 10000000 {
+ localbus at 0 {
+ nor-boot at 0 {
+ compatible = "lantiq,nor";
+ bank-width = <2>;
+ reg = <0 0x0 0x1000000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ boardconfig: partition at fe0000 {
+ label = "board_config";
+ reg = <0xfe0000 0x20000>;
+ read-only;
+ };
+ };
+ };
+
+ gpio: pinmux at E100B10 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&state_default>;
+
+ state_default: pinmux {
+ ip101a-rst {
+ lantiq,pins = "io46";
+ lantiq,output = <0>;
+ lantiq,pull = <1>;
+ };
+ gphy-leds {
+ lantiq,groups = "gphy0 led1",
+ "gphy1 led0", "gphy1 led1";
+ lantiq,function = "gphy";
+ lantiq,open-drain = <0>;
+ lantiq,pull = <0>;
+ lantiq,output = <1>;
+ };
+ stp {
+ lantiq,groups = "stp";
+ lantiq,function = "stp";
+ lantiq,pull = <2>;
+ lantiq,open-drain = <0>;
+ lantiq,output = <1>;
+ };
+ mdio {
+ lantiq,groups = "mdio";
+ lantiq,function = "mdio";
+ };
+ pci-rst {
+ lantiq,pins = "io21";
+ lantiq,open-drain = <0>;
+ lantiq,pull = <0>;
+ lantiq,output = <1>;
+ };
+ spi {
+ lantiq,groups = "spi";
+ lantiq,function = "spi";
+ };
+ };
+ };
+
+ eth at 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 at 0 {
+ compatible = "lantiq,xrx200-pdi";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0>;
+ mtd-mac-address = <&boardconfig 0x16>;
+ 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 = <&phy12>;
+ };
+ ethernet at 4 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <4>;
+ phy-mode = "mii";
+ phy-handle = <&phy13>;
+ };
+ ethernet at 5 {
+ compatible = "lantiq,xrx200-pdi-port";
+ reg = <5>;
+ 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";
+ };
+ phy12: ethernet-phy at 12 {
+ reg = <0x12>;
+ compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22";
+ };
+ phy13: ethernet-phy at 13 {
+ reg = <0x13>;
+ compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22";
+ };
+ phy14: ethernet-phy at 14 {
+ reg = <0x14>;
+ compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22";
+ };
+ };
+ };
+
+ stp: stp at E100BB0 {
+ compatible = "lantiq,gpio-stp-xway";
+ reg = <0xE100BB0 0x40>;
+ #gpio-cells = <2>;
+ gpio-controller;
+
+ lantiq,shadow = <0xff>;
+ lantiq,groups = <0x1>;
+ lantiq,dsl = <0x0>;
+ lantiq,phy1 = <0x7>;
+ lantiq,phy2 = <0x7>; /* enable gphy0 led2 = LAN2 LED */
+ };
+
+ ifxhcd at E101000 {
+ status = "okay";
+ gpios = <&gpio 47 0>;
+ };
+
+ pci at E105400 {
+ status = "okay";
+ lantiq,bus-clock = <33333333>;
+ 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 */
+ };
+
+ pcie at d900000 {
+ status = "disabled";
+ };
+ };
+
+ 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 ];
+ };
+
+ ralink_eep {
+ compatible = "ralink,eeprom";
+ ralink,eeprom = "RT3062.eeprom";
+ };
+
+ 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>;
+ };
+
+ wps {
+ label = "wps";
+ gpios = <&gpio 9 1>;
+ linux,code = <0x211>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ dsl {
+ label = "dsl";
+ gpios = <&gpio 2 1>;
+ };
+
+ internet_red {
+ label = "internet_red";
+ gpios = <&gpio 10 1>;
+ };
+
+ info_red {
+ label = "info_red";
+ gpios = <&gpio 12 1>;
+ };
+
+ power {
+ label = "power"; /* green */
+ gpios = <&gpio 14 1>;
+ };
+
+ info_green {
+ label = "info_green";
+ gpios = <&gpio 15 1>;
+ };
+
+ internet_green {
+ label = "internet_green";
+ gpios = <&gpio 19 1>;
+ };
+
+ wifi {
+ label = "wifi";
+ gpios = <&gpio 20 1>;
+ };
+
+ power2 {
+ label = "power2"; /* red */
+ gpios = <&gpio 28 1>;
+ };
+
+ phone_red {
+ label = "phone_red";
+ gpios = <&gpio 29 1>;
+ };
+ };
+};
diff --git a/target/linux/lantiq/dts/VGV7510KW22BRN.dts b/target/linux/lantiq/dts/VGV7510KW22BRN.dts
new file mode 100644
index 0000000..1880c8c
--- /dev/null
+++ b/target/linux/lantiq/dts/VGV7510KW22BRN.dts
@@ -0,0 +1,53 @@
+/dts-v1/;
+
+/include/ "VGV7510KW22.dtsi"
+
+/ {
+ fpi at 10000000 {
+ localbus at 0 {
+ nor-boot at 0 {
+ partition at 0 {
+ label = "Boot";
+ reg = <0x00000 0x40000>;
+ read-only;
+ };
+
+ partition at 40000 {
+ label = "Configuration";
+ reg = <0x40000 0x40000>;
+ read-only;
+ };
+
+ partition at 80000 {
+ label = "Certificate";
+ reg = <0x80000 0x20000>;
+ read-only;
+ };
+
+ partition at a0000 {
+ label = "Special_Area";
+ reg = <0xa0000 0x20000>;
+ read-only;
+ };
+
+ partition at c0000 {
+ label = "Primary_Setting";
+ reg = <0xc0000 0x20000>;
+ read-only;
+ };
+
+ partition at e0000 {
+ label = "firmware"; /* "Code Image 0" in OFW */
+ reg = <0xe0000 0x780000>;
+ read-only;
+ };
+
+ partition at 860000 {
+ label = "Code_Image_1";
+ reg = <0x860000 0x780000>;
+ read-only;
+ };
+ };
+ };
+ };
+};
diff --git a/target/linux/lantiq/dts/VGV7510KW22NOR.dts b/target/linux/lantiq/dts/VGV7510KW22NOR.dts
new file mode 100644
index 0000000..57842bb
--- /dev/null
+++ b/target/linux/lantiq/dts/VGV7510KW22NOR.dts
@@ -0,0 +1,33 @@
+/dts-v1/;
+
+/include/ "VGV7510KW22.dtsi"
+
+/ {
+ fpi at 10000000 {
+ localbus at 0 {
+ nor-boot at 0 {
+ partition at 0 {
+ label = "uboot";
+ reg = <0x0 0x60000>; /* 384 KiB */
+ read-only;
+ };
+
+ partition at 60000 {
+ label = "uboot-env";
+ reg = <0x60000 0x20000>; /* 128 KiB */
+ read-only;
+ };
+
+ partition at 80000 {
+ label = "firmware";
+ reg = <0x80000 0xe60000>; /* 14720 KiB */
+ };
+
+ partition at 1e80000 {
+ label = "dsl_fw";
+ reg = <0xee0000 0x100000>; /* 1024 KiB */
+ };
+ };
+ };
+ };
+};
diff --git a/target/linux/lantiq/image/Makefile b/target/linux/lantiq/image/Makefile
index 51766ba..3e8c20b 100644
--- a/target/linux/lantiq/image/Makefile
+++ b/target/linux/lantiq/image/Makefile
@@ -432,6 +432,12 @@ Image/Build/Profile/VG3503J_V2=$(call Image/BuildLoader/$(1),$(1),VG3503J_V2)
Image/BuildKernel/Profile/TDW8970=$(call Image/BuildKernelTPLink/Template,TDW8970,TD-W8970v1,$(1))
Image/Build/Profile/TDW8970=$(call Image/BuildTPLink/$(1),$(1),TDW8970,TD-W8970v1)
+Image/BuildKernel/Profile/VGV7510KW22NOR=$(call Image/BuildKernel/Template,VGV7510KW22NOR,$(1))
+Image/Build/Profile/VGV7510KW22NOR=$(call Image/Build/$(1),$(1),VGV7510KW22NOR)
+
+Image/BuildKernel/Profile/VGV7510KW22BRN=$(call Image/BuildKernel/Template,VGV7510KW22BRN,$(1))
+Image/Build/Profile/VGV7510KW22BRN=$(call Image/Build/$(1),$(1),VGV7510KW22BRN,5BRNDA6431,0x12345678,0x04c11db7,$(1))
+
Image/BuildKernel/Profile/VGV7519NOR=$(call Image/BuildKernel/Template,VGV7519NOR,$(1))
Image/Build/Profile/VGV7519NOR=$(call Image/Build/$(1),$(1),VGV7519NOR)
diff --git a/target/linux/lantiq/xrx200/profiles/arv.mk b/target/linux/lantiq/xrx200/profiles/arv.mk
index f68862b..3dc22c0 100644
--- a/target/linux/lantiq/xrx200/profiles/arv.mk
+++ b/target/linux/lantiq/xrx200/profiles/arv.mk
@@ -10,6 +10,20 @@ endef
$(eval $(call Profile,VG3503J_V2))
+define Profile/VGV7510KW22NOR
+ NAME:=o2 Box 6431 / Arcadyan VGV7510KW22 (NOR)
+ PACKAGES:=kmod-rt2800-pci wpad-mini kmod-usb-dwc2
+endef
+
+$(eval $(call Profile,VGV7510KW22NOR))
+
+define Profile/VGV7510KW22BRN
+ NAME:=o2 Box 6431 / Arcadyan VGV7510KW22 (BRN)
+ PACKAGES:=kmod-rt2800-pci wpad-mini kmod-usb-dwc2
+endef
+
+$(eval $(call Profile,VGV7510KW22BRN))
+
define Profile/VGV7519NOR
NAME:=Experiabox 8 VGV7519
PACKAGES:=kmod-rt2800-pci wpad-mini kmod-usb-dwc2
--
2.4.2
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
More information about the openwrt-devel
mailing list