From 7fd5171a3445b1f0b3aaa45f6c43550758547f2c Mon Sep 17 00:00:00 2001 From: Mathias Kresin Date: Thu, 14 Jul 2016 18:15:48 +0200 Subject: [PATCH] lantiq: use the device tree bindings from rt2x00 driver Set a device specific wireless mac address for ARV7506PW11, VGV7519 and VGV7510KW22. The one from the EEPROM is a generic one and the same on all boards. Use the wifi@0,0 label and the pci0,0 compatible string for the ARV7519PW and ARV7525PW since the pci vendor and device id is unknown. It should work anyway since the compatible string isn't evaluated (yet). Signed-off-by: Mathias Kresin --- .../etc/hotplug.d/firmware/10-rt2x00-eeprom | 60 ------------------- target/linux/lantiq/dts/ARV7506PW11.dts | 26 ++++---- target/linux/lantiq/dts/ARV7510PW22.dts | 38 ++++++------ target/linux/lantiq/dts/ARV7519PW.dts | 26 ++++---- target/linux/lantiq/dts/ARV7525PW.dts | 22 +++---- target/linux/lantiq/dts/ARV752DPW.dts | 28 +++++---- target/linux/lantiq/dts/ARV752DPW22.dts | 38 ++++++------ target/linux/lantiq/dts/P2812HNUF1.dts | 13 ++-- target/linux/lantiq/dts/P2812HNUF3.dts | 7 ++- target/linux/lantiq/dts/VGV7510KW22.dtsi | 24 ++++---- target/linux/lantiq/dts/VGV7519.dtsi | 24 ++++---- 11 files changed, 136 insertions(+), 170 deletions(-) delete mode 100644 target/linux/lantiq/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom 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 deleted file mode 100644 index 3aa5de4d60..0000000000 --- a/target/linux/lantiq/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom +++ /dev/null @@ -1,60 +0,0 @@ -#!/bin/sh -# based on gabors ralink wisoc implementation - -rt2x00_eeprom_die() { - echo "rt2x00 eeprom: " "$*" - exit 1 -} - -rt2x00_eeprom_extract() { - local part=$1 - local offset=$2 - local count=$3 - local swab=$4 - local mtd - - . /lib/functions.sh - - mtd=$(find_mtd_part $part) - [ -n "$mtd" ] || \ - rt2x00_eeprom_die "no mtd device found for partition $part" - - if [ $swab -gt 0 ]; then - dd if=$mtd of=/lib/firmware/$FIRMWARE bs=2 skip=$offset count=$count conv=swab || \ - rt2x00_eeprom_die "failed to extract from $mtd" - else - dd if=$mtd of=/lib/firmware/$FIRMWARE bs=1 skip=$offset count=$count || \ - rt2x00_eeprom_die "failed to extract from $mtd" - fi -} - -[ -e /lib/firmware/$FIRMWARE ] && exit 0 -. /lib/functions/lantiq.sh - -case "$FIRMWARE" in -"RT2860.eeprom" ) - board=$(lantiq_board_name) - case $board in - ARV7506PW11|ARV7510PW22|ARV7519PW|ARV752DPW|ARV752DPW22|VGV7519) - rt2x00_eeprom_extract "board_config" 520 256 1 - ;; - ARV7525PW) - rt2x00_eeprom_extract "board_config" 1040 512 0 - ;; - *) - rt2x00_eeprom_die "board $board is not supported yet" - ;; - esac - ;; -"RT3062.eeprom" ) - 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/dts/ARV7506PW11.dts b/target/linux/lantiq/dts/ARV7506PW11.dts index 676c0b898b..5c8b0fe3a3 100644 --- a/target/linux/lantiq/dts/ARV7506PW11.dts +++ b/target/linux/lantiq/dts/ARV7506PW11.dts @@ -80,17 +80,6 @@ phy-mode = "rmii"; mtd-mac-address = <&boardconfig 0x16>; }; - - pci@E105400 { - status = "okay"; - lantiq,external-clock; - gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>; - }; - }; - - ralink_eep { - compatible = "ralink,eeprom"; - ralink,eeprom = "RT2860.eeprom"; }; gpio-keys-polled { @@ -152,3 +141,18 @@ }; }; }; + +&pci0 { + status = "okay"; + lantiq,external-clock; + gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>; + + wifi@1814,3592 { + compatible = "pci1814,3592"; + reg = <0x7000 0 0 0 0>; + ralink,mtd-eeprom = <&boardconfig 0x410>; + ralink,mtd-eeprom-swap; + mtd-mac-address = <&boardconfig 0x16>; + mtd-mac-address-increment = <1>; + }; +}; diff --git a/target/linux/lantiq/dts/ARV7510PW22.dts b/target/linux/lantiq/dts/ARV7510PW22.dts index f288511c7c..079c856308 100644 --- a/target/linux/lantiq/dts/ARV7510PW22.dts +++ b/target/linux/lantiq/dts/ARV7510PW22.dts @@ -121,24 +121,6 @@ phy-mode = "mii"; mtd-mac-address = <&boardconfig 0x16>; }; - - pci@E105400 { - status = "okay"; - lantiq,external-clock; - interrupt-map = < - 0x7000 0 0 1 &icu0 30 - 0x7800 0 0 1 &icu0 135 - 0x7800 0 0 2 &icu0 135 - 0x7800 0 0 3 &icu0 135 - >; - gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>; - req-mask = <0x3>; - }; - }; - - ralink_eep { - compatible = "ralink,eeprom"; - ralink,eeprom = "RT2860.eeprom"; }; gpio-keys-polled { @@ -189,3 +171,23 @@ }; }; }; + +&pci0 { + status = "okay"; + lantiq,external-clock; + interrupt-map = < + 0x7000 0 0 1 &icu0 30 + 0x7800 0 0 1 &icu0 135 + 0x7800 0 0 2 &icu0 135 + 0x7800 0 0 3 &icu0 135 + >; + gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>; + req-mask = <0x3>; + + wifi@1814,3592 { + compatible = "pci1814,3592"; + reg = <0x7000 0 0 0 0>; + ralink,mtd-eeprom = <&boardconfig 0x410>; + ralink,mtd-eeprom-swap; + }; +}; diff --git a/target/linux/lantiq/dts/ARV7519PW.dts b/target/linux/lantiq/dts/ARV7519PW.dts index 9c29c8c9c9..1fa52c3d90 100644 --- a/target/linux/lantiq/dts/ARV7519PW.dts +++ b/target/linux/lantiq/dts/ARV7519PW.dts @@ -113,18 +113,6 @@ ifxhcd@E101000 { status = "okay"; }; - - pci@E105400 { - status = "okay"; - lantiq,external-clock; - gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>; - req-mask = <0xf>; - }; - }; - - ralink_eep { - compatible = "ralink,eeprom"; - ralink,eeprom = "RT2860.eeprom"; }; gpio-keys-polled { @@ -222,3 +210,17 @@ }; }; }; + +&pci0 { + status = "okay"; + lantiq,external-clock; + gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>; + req-mask = <0xf>; + + wifi@0,0 { + compatible = "pci0,0"; + reg = <0x7000 0 0 0 0>; + ralink,mtd-eeprom = <&boardconfig 0x410>; + ralink,mtd-eeprom-swap; + }; +}; diff --git a/target/linux/lantiq/dts/ARV7525PW.dts b/target/linux/lantiq/dts/ARV7525PW.dts index aeba079a48..f259c17d26 100644 --- a/target/linux/lantiq/dts/ARV7525PW.dts +++ b/target/linux/lantiq/dts/ARV7525PW.dts @@ -68,12 +68,6 @@ }; }; }; - - ralink_eep { - compatible = "ralink,eeprom"; - ralink,eeprom = "RT2860.eeprom"; - reg = <0 0x3f0410 0x110>; - }; }; gpio: pinmux@E100B10 { @@ -96,11 +90,6 @@ phy-mode = "mii"; mtd-mac-address = <&boardconfig 0x16>; }; - - pci@E105400 { - status = "okay"; - interrupt-map = <0x7000 0 0 1 &icu0 135 1>; - }; }; gpio-keys-polled { @@ -150,3 +139,14 @@ }; }; }; + +&pci0 { + status = "okay"; + interrupt-map = <0x7000 0 0 1 &icu0 135 1>; + + wifi@0,0 { + compatible = "pci0,0"; + reg = <0x7000 0 0 0 0>; + ralink,mtd-eeprom = <&boardconfig 0x410>; + }; +}; diff --git a/target/linux/lantiq/dts/ARV752DPW.dts b/target/linux/lantiq/dts/ARV752DPW.dts index d6de881fae..d51a70a593 100644 --- a/target/linux/lantiq/dts/ARV752DPW.dts +++ b/target/linux/lantiq/dts/ARV752DPW.dts @@ -135,19 +135,6 @@ phy-mode = "rmii"; mtd-mac-address = <&boardconfig 0x16>; }; - - pci@E105400 { - status = "okay"; - lantiq,external-clock; - gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>; - interrupt-map = <0x7000 0 0 1 &icu0 135>; - req-mask = <0x3>; - }; - }; - - ralink_eep { - compatible = "ralink,eeprom"; - ralink,eeprom = "RT2860.eeprom"; }; gpio-keys-polled { @@ -231,3 +218,18 @@ }; }; }; + +&pci0 { + status = "okay"; + lantiq,external-clock; + gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>; + interrupt-map = <0x7000 0 0 1 &icu0 135>; + req-mask = <0x3>; + + wifi@1814,0601 { + compatible = "pci1814,0601"; + reg = <0x7000 0 0 0 0>; + ralink,mtd-eeprom = <&boardconfig 0x410>; + ralink,mtd-eeprom-swap; + }; +}; diff --git a/target/linux/lantiq/dts/ARV752DPW22.dts b/target/linux/lantiq/dts/ARV752DPW22.dts index 0b0fddbd82..7343a5d2ff 100644 --- a/target/linux/lantiq/dts/ARV752DPW22.dts +++ b/target/linux/lantiq/dts/ARV752DPW22.dts @@ -134,24 +134,6 @@ phy-mode = "mii"; mtd-mac-address = <&boardconfig 0x16>; }; - - pci@E105400 { - status = "okay"; - lantiq,external-clock; - interrupt-map = < - 0x7000 0 0 1 &icu0 30 - 0x7800 0 0 1 &icu0 135 - 0x7800 0 0 2 &icu0 135 - 0x7800 0 0 3 &icu0 135 - >; - gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>; - req-mask = <0x3>; - }; - }; - - ralink_eep { - compatible = "ralink,eeprom"; - ralink,eeprom = "RT2860.eeprom"; }; gpio-keys-polled { @@ -251,3 +233,23 @@ }; }; }; + +&pci0 { + status = "okay"; + lantiq,external-clock; + interrupt-map = < + 0x7000 0 0 1 &icu0 30 + 0x7800 0 0 1 &icu0 135 + 0x7800 0 0 2 &icu0 135 + 0x7800 0 0 3 &icu0 135 + >; + gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>; + req-mask = <0x3>; + + wifi@1814,3592 { + compatible = "pci1814,3592"; + reg = <0x7000 0 0 0 0>; + ralink,mtd-eeprom = <&boardconfig 0x410>; + ralink,mtd-eeprom-swap; + }; +}; diff --git a/target/linux/lantiq/dts/P2812HNUF1.dts b/target/linux/lantiq/dts/P2812HNUF1.dts index 53ffbdd56c..b1d9eedb35 100644 --- a/target/linux/lantiq/dts/P2812HNUF1.dts +++ b/target/linux/lantiq/dts/P2812HNUF1.dts @@ -50,11 +50,6 @@ }; }; - ralink_eep { - compatible = "ralink,eeprom"; - ralink,eeprom = "RT3062.eeprom"; - }; - gpio-leds { usb1: usb1 { label = "p2812hnuf1:green:usb1"; @@ -66,3 +61,11 @@ }; }; }; + +&pci0 { + wifi@1814,3062 { + compatible = "pci1814,3062"; + reg = <0x7000 0 0 0 0>; + ralink,eeprom = "RT3062.eeprom"; + }; +}; diff --git a/target/linux/lantiq/dts/P2812HNUF3.dts b/target/linux/lantiq/dts/P2812HNUF3.dts index 54795a334d..366d034670 100644 --- a/target/linux/lantiq/dts/P2812HNUF3.dts +++ b/target/linux/lantiq/dts/P2812HNUF3.dts @@ -54,9 +54,12 @@ }; }; }; +}; - ralink_eep { - compatible = "ralink,eeprom"; +&pci0 { + wifi@1814,3092 { + compatible = "pci1814,3092"; + reg = <0x7000 0 0 0 0>; ralink,eeprom = "RT3092.eeprom"; }; }; diff --git a/target/linux/lantiq/dts/VGV7510KW22.dtsi b/target/linux/lantiq/dts/VGV7510KW22.dtsi index 8af1db70c3..5ca2844d08 100644 --- a/target/linux/lantiq/dts/VGV7510KW22.dtsi +++ b/target/linux/lantiq/dts/VGV7510KW22.dtsi @@ -75,11 +75,6 @@ gpios = <&gpio 47 GPIO_ACTIVE_HIGH>; }; - pci@E105400 { - status = "okay"; - gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>; - }; - pcie@d900000 { status = "disabled"; }; @@ -92,11 +87,6 @@ phys = [ 00 01 ]; }; - ralink_eep { - compatible = "ralink,eeprom"; - ralink,eeprom = "RT3062.eeprom"; - }; - gpio-keys-polled { compatible = "gpio-keys-polled"; #address-cells = <1>; @@ -167,6 +157,20 @@ }; }; +&pci0 { + status = "okay"; + gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>; + + wifi@1814,3592 { + compatible = "pci1814,3592"; + reg = <0x7000 0 0 0 0>; + ralink,mtd-eeprom = <&boardconfig 0x410>; + ralink,mtd-eeprom-swap; + mtd-mac-address = <&boardconfig 0x16>; + mtd-mac-address-increment = <1>; + }; +}; + ð0 { lan: interface@0 { compatible = "lantiq,xrx200-pdi"; diff --git a/target/linux/lantiq/dts/VGV7519.dtsi b/target/linux/lantiq/dts/VGV7519.dtsi index a2242bb54d..a7b421fff9 100644 --- a/target/linux/lantiq/dts/VGV7519.dtsi +++ b/target/linux/lantiq/dts/VGV7519.dtsi @@ -102,11 +102,6 @@ gpios = <&gpio 32 GPIO_ACTIVE_HIGH>; }; - pci@E105400 { - status = "okay"; - gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>; - }; - pcie@d900000 { status = "disabled"; }; @@ -119,11 +114,6 @@ phys = [ 00 01 ]; }; - ralink_eep { - compatible = "ralink,eeprom"; - ralink,eeprom = "RT2860.eeprom"; - }; - gpio-keys-polled { compatible = "gpio-keys-polled"; #address-cells = <1>; @@ -214,6 +204,20 @@ }; }; +&pci0 { + status = "okay"; + gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>; + + wifi@1814,3091 { + compatible = "pci1814,3091"; + reg = <0x7000 0 0 0 0>; + ralink,mtd-eeprom = <&boardconfig 0x410>; + ralink,mtd-eeprom-swap; + mtd-mac-address = <&boardconfig 0x16>; + mtd-mac-address-increment = <1>; + }; +}; + ð0 { lan: interface@0 { compatible = "lantiq,xrx200-pdi";