openwrt/target/linux/ramips/dts/mt7620a_dlink_dir-810l.dts

160 lines
2.6 KiB
Plaintext
Raw Normal View History

/dts-v1/;
#include "mt7620a.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "dlink,dir-810l", "ralink,mt7620a-soc";
model = "D-Link DIR-810L";
aliases {
led-boot = &led_power_green;
led-failsafe = &led_power_green;
led-running = &led_power_green;
led-upgrade = &led_power_green;
label-mac-device = &ethernet;
};
keys {
compatible = "gpio-keys";
reset {
label = "reset";
gpios = <&gpio0 1 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
wps {
label = "wps";
gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WPS_BUTTON>;
};
};
leds {
compatible = "gpio-leds";
led_power_green: power_green {
label = "dir-810l:green:power";
gpios = <&gpio0 9 GPIO_ACTIVE_HIGH>;
};
wan {
label = "dir-810l:orange:wan";
gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>;
};
power_orange {
label = "dir-810l:orange:power";
gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>;
};
};
};
&spi0 {
status = "okay";
flash@0 {
compatible = "jedec,spi-nor";
reg = <0>;
ramips: increase spi-max-frequency to 50 MHz for D-Link DIR-810L Read times drop when increasing frequency to 25 MHz and 50 MHz, but not in between or for further increase. So, use 50 MHz as the lowest frequency with the fastest speed. Test results (thanks to Roger): The device reports a mx25l6405d flash chip. I tried all the maximum values in the devices' datasheet (Table 10. AC CHARACTERISTICS). All of them worked with and without "m25p,fast-read": > 10 MHz root@OpenWrt:~# time cat /dev/mtd* > /dev/null real 1m 33.00s user 0m 0.01s sys 1m 7.56s > 25 MHz root@OpenWrt:~# time cat /dev/mtd* > /dev/null real 0m 34.42s user 0m 0.02s sys 0m 23.58s > 25 MHz, fast read root@OpenWrt:~# time cat /dev/mtd* > /dev/null real 0m 34.45s user 0m 0.02s sys 0m 23.59s > 33 MHz root@OpenWrt:~# time cat /dev/mtd* > /dev/null real 0m 34.39s user 0m 0.00s sys 0m 23.60s > 33 MHz, fast read root@OpenWrt:~# time cat /dev/mtd* > /dev/null real 0m 34.46s user 0m 0.01s sys 0m 23.62s > 50 MHz root@OpenWrt:~# time cat /dev/mtd* > /dev/null real 0m 26.81s user 0m 0.01s sys 0m 18.25s > 50 MHz, fast read root@OpenWrt:~# time cat /dev/mtd* > /dev/null real 0m 26.84s user 0m 0.00s sys 0m 18.25s > 66 MHz root@OpenWrt:~# time cat /dev/mtd* > /dev/null real 0m 26.80s user 0m 0.01s sys 0m 18.23s > 66 MHz, fast read root@OpenWrt:~# time cat /dev/mtd* > /dev/null real 0m 26.80s user 0m 0.02s sys 0m 18.23s > 86 MHz root@OpenWrt:~# time cat /dev/mtd* > /dev/null real 0m 26.84s user 0m 0.01s sys 0m 18.24s > 86 MHz, fast read root@OpenWrt:~# time cat /dev/mtd* > /dev/null real 0m 26.80s user 0m 0.02s sys 0m 18.23s Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Tested-by: Roger Pueyo Centelles <roger.pueyo@guifi.net>
2020-03-05 11:41:51 +00:00
spi-max-frequency = <50000000>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "u-boot";
reg = <0x0 0x30000>;
read-only;
};
partition@30000 {
label = "u-boot-env";
reg = <0x30000 0x10000>;
read-only;
};
factory: partition@40000 {
label = "factory";
reg = <0x40000 0x10000>;
read-only;
};
factory5g: partition@50000 {
label = "factory5g";
reg = <0x50000 0x10000>;
read-only;
};
partition@60000 {
label = "Wolf_Config";
reg = <0x60000 0x10000>;
read-only;
};
partition@70000 {
label = "MyDlink";
reg = <0x70000 0x80000>;
read-only;
};
partition@f0000 {
label = "Jffs2";
reg = <0xf0000 0x80000>;
read-only;
};
partition@170000 {
compatible = "denx,uimage";
label = "firmware";
reg = <0x170000 0x690000>;
};
};
};
};
&state_default {
gpio {
groups = "i2c", "uartf";
function = "gpio";
};
};
&ethernet {
mtd-mac-address = <&factory 0x28>;
mediatek,portmap = "llllw";
};
&gsw {
pinctrl-names = "default";
pinctrl-0 = <&ephy_pins>;
mediatek,port4 = "ephy";
};
&pcie {
status = "okay";
};
&wmac {
pinctrl-names = "default";
pinctrl-0 = <&pa_pins>;
ralink,mtd-eeprom = <&factory 0x0>;
mtd-mac-address = <&factory 0x28>;
};
&pcie0 {
wifi@0,0 {
reg = <0x0000 0 0 0 0>;
mediatek,mtd-eeprom = <&factory 0x8000>;
ieee80211-freq-limit = <5000000 6000000>;
mtd-mac-address = <&factory 0x28>;
mtd-mac-address-increment = <2>;
};
};