openwrt/target/linux/lantiq/dts/DGN3500.dtsi
Daniel Gimpelevich 34fdfbf328 lantiq: Slow down SPI flash on the DGN3500
The bootloader uses 30 MHz as the SPI frequency for flash on the Germany and
North America models, and 50 MHz for it on the worldwide model, but the Lantiq
SPI driver in OpenWrt and LEDE may access the flash differently such that
writes are capped at 20 MHz, leading to read errors reported on the worldwide
model at 30 MHz.

Signed-off-by: Daniel Gimpelevich <daniel@gimpelevich.san-francisco.ca.us>
Acked-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
2016-06-22 19:32:06 +02:00

203 lines
3.4 KiB
Plaintext

/include/ "ar9.dtsi"
/ {
chosen {
bootargs = "root= console=ttyLTQ0,115200";
leds {
boot = &power_green;
failsafe = &power_red;
running = &power_green;
dsl = &dsl;
internet = &internet;
usb = &usb;
wifi = &wifi;
};
};
memory@0 {
reg = <0x0 0x4000000>;
};
fpi@10000000 {
gpio: pinmux@E100B10 {
pinctrl-names = "default";
pinctrl-0 = <&state_default>;
state_default: pinmux {
exin {
lantiq,groups = "exin1";
lantiq,function = "exin";
};
pci {
lantiq,groups = "gnt1", "req1";
lantiq,function = "pci";
};
pci-in {
lantiq,groups = "req1";
lantiq,output = <0>;
lantiq,open-drain = <1>;
lantiq,pull = <2>;
};
pci-out {
lantiq,groups = "gnt1";
lantiq,output = <1>;
lantiq,pull = <0>;
};
};
pins_spi_default: pins_spi_default {
spi_in {
lantiq,groups = "spi_di";
lantiq,function = "spi";
};
spi_out {
lantiq,groups = "spi_do", "spi_clk",
"spi_cs4";
lantiq,function = "spi";
lantiq,output = <1>;
};
};
};
etop@E180000 {
phy-mode = "mii";
mac-address = [ 00 11 22 33 44 55 ];
};
ifxhcd@E101000 {
status = "okay";
};
pci@E105400 {
status = "okay";
lantiq,bus-clock = <33333333>;
interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
interrupt-map = <0x7000 0 0 1 &icu0 30 1>;
gpio-reset = <&gpio 21 0>;
req-mask = <0x1>; /* GNT1 */
};
};
ath9k_eep {
compatible = "ath9k,eeprom";
ath,eep-flash = <&ath9k_cal 0xf000>;
ath,pci-slot = <14>;
ath,eep-endian;
ath,eep-swap;
};
rtl8366rb {
compatible = "rtl8366rb";
gpio-sda = <&gpio 35 0>;
gpio-sck = <&gpio 37 0>;
};
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
#size-cells = <0>;
poll-interval = <100>;
rfkill {
label = "rfkill";
gpios = <&gpio 36 1>;
linux,code = <0xf7>;
};
wps {
label = "wps";
gpios = <&gpio 54 1>;
linux,code = <0x211>;
};
reset {
label = "reset";
gpios = <&gpio 53 1>;
linux,code = <0x198>;
};
};
gpio-leds {
compatible = "gpio-leds";
internet: internet {
label = "dgn3500:green:internet";
gpios = <&gpio 2 1>;
};
/*
internet red is missing
*/
dsl: dsl {
label = "dgn3500:green:dsl";
gpios = <&gpio 4 1>;
};
usb: usb {
label = "dgn3500:green:usb";
gpios = <&gpio 22 1>;
};
power_green: power {
label = "dgn3500:green:power";
gpios = <&gpio 34 1>;
default-state = "keep";
};
power_red: power2 {
label = "dgn3500:red:power";
gpios = <&gpio 39 1>;
};
/*
power amber is missing
*/
wifi: wifi {
label = "dgn3500:blue:wireless";
gpios = <&gpio 51 1>;
};
wps {
label = "dgn3500:green:wps";
gpios = <&gpio 52 1>;
};
};
};
&spi {
pinctrl-names = "default";
pinctrl-0 = <&pins_spi_default>;
status = "ok";
m25p80@4 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "jedec,spi-nor";
reg = <4 0>;
spi-max-frequency = <20000000>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
reg = <0x0 0x10000>;
label = "uboot";
read-only;
};
partition@10000 {
reg = <0x10000 0x10000>;
label = "uboot-env";
read-only;
};
ath9k_cal: partition@20000 {
reg = <0x20000 0x10000>;
label = "calibration";
read-only;
};
partition@50000 {
reg = <0x50000 0xfa0000>;
label = "firmware";
};
};
};
};