openwrt/target/linux/lantiq/dts/ARV4510PW.dts
Luka Perkov eddc327c7c lantiq: fix PCI problems on ARV4510PW
Some ARV4510PW units seem to have unstable PCI due to missing pull-up
resistors. This patch makes sure that the GPIO lines are driven properly.

Signed-off-by: Matti Laakso <malaakso@elisanet.fi>

SVN-Revision: 39587
2014-02-15 22:54:32 +00:00

212 lines
3.4 KiB
Plaintext

/dts-v1/;
/include/ "danube.dtsi"
/ {
model = "ARV4510PW - Wippies, Elisa";
chosen {
bootargs = "console=ttyLTQ0,115200 init=/etc/preinit";
};
memory@0 {
reg = <0x0 0x2000000>;
};
sram@1F000000 {
vmmc@107000 {
status = "okay";
};
};
fpi@10000000 {
localbus@0 {
nor-boot@0 {
compatible = "lantiq,nor";
bank-width = <2>;
reg = <0 0x0 0x1000000>;
#address-cells = <1>;
#size-cells = <1>;
lantiq,noxip;
partition@0 {
label = "uboot";
reg = <0x00000 0x40000>;
read-only;
};
partition@40000 {
label = "uboot_env";
reg = <0x40000 0x20000>;
read-only;
};
partition@60000 {
label = "firmware";
reg = <0x60000 0xfa0000>;
};
};
};
gpio: pinmux@E100B10 {
pinctrl-names = "default";
pinctrl-0 = <&state_default>;
state_default: pinmux {
ebu {
lantiq,groups = "ebu a23";
lantiq,function = "ebu";
lantiq,open-drain = <0>;
lantiq,output = <1>;
};
stp {
lantiq,groups = "stp";
lantiq,function = "stp";
lantiq,open-drain = <0>;
lantiq,output = <1>;
};
exin {
lantiq,groups = "exin1", "exin2";
lantiq,function = "exin";
lantiq,output = <0>;
};
pci_in {
lantiq,groups = "req1", "req2";
lantiq,function = "pci";
lantiq,output = <0>;
};
pci_out {
lantiq,groups = "gnt1", "gnt2";
lantiq,function = "pci";
lantiq,open-drain = <0>;
lantiq,pull = <0>;
lantiq,output = <1>;
};
pci_rst {
lantiq,pins = "io21";
lantiq,open-drain = <0>;
lantiq,output = <1>;
};
buttons {
lantiq,pins = "io3", "io14";
lantiq,pull = <2>;
lantiq,output = <0>;
};
};
};
gpios: stp@E100BB0 {
status = "okay";
lantiq,groups = <0x7>;
};
etop@E180000 {
phy-mode = "rmii";
};
pci@E105400 {
status = "okay";
lantiq,external-clock;
interrupt-map = <
0x6000 0 0 1 &icu0 135
0x7800 0 0 1 &icu0 66
0x7800 0 0 2 &icu0 66
0x7800 0 0 3 &icu0 66
>;
gpio-reset = <&gpio 21 0>;
req-mask = <0x7>;
};
};
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
#size-cells = <0>;
poll-interval = <100>;
wps {
label = "wps";
gpios = <&gpio 14 1>;
linux,code = <0x211>;
};
reset {
label = "reset";
gpios = <&gpio 3 1>;
linux,code = <0x198>;
};
};
gpio-leds {
compatible = "gpio-leds";
power {
label = "power";
gpios = <&gpios 21 0>;
};
power2 {
label = "power2";
gpios = <&gpios 20 0>;
};
lan1 {
label = "lan1";
gpios = <&gpios 19 0>;
};
lan2 {
label = "lan2";
gpios = <&gpios 18 0>;
};
lan3 {
label = "lan3";
gpios = <&gpios 17 0>;
};
lan4 {
label = "lan4";
gpios = <&gpios 16 0>;
};
wifi {
label = "wifi";
gpios = <&gpios 15 0>;
};
adsl {
label = "adsl";
gpios = <&gpios 14 0>;
};
internet {
label = "internet";
gpios = <&gpios 13 0>;
};
internet2 {
label = "internet2";
gpios = <&gpios 12 0>;
};
voip {
label = "voip";
gpios = <&gpios 11 0>;
};
phone {
label = "phone";
gpios = <&gpios 10 0>;
};
phone2 {
label = "phone2";
gpios = <&gpios 9 0>;
};
usb {
label = "usb";
gpios = <&gpios 8 0>;
};
usb2 {
label = "usb2";
gpios = <&gpios 7 0>;
};
usb3 {
label = "usb3";
gpios = <&gpios 6 0>;
};
unlabeled {
label = "unlabeled";
gpios = <&gpios 5 0>;
};
};
};