Skip to content

Commit

Permalink
ARM: Kirkwood: Add support for DLink DIR665
Browse files Browse the repository at this point in the history
Add a device tree description of the DLINK DIR665 wireless access
point. The support for the 88E6171 switch will be added in a later
patch.

Signed-off-by: Claudio Leite <leitec@staticky.com>
Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Link: https://lkml.kernel.org/r/1414793613-11798-2-git-send-email-andrew@lunn.ch
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
  • Loading branch information
Claudio Leite authored and Jason Cooper committed Nov 1, 2014
1 parent ab3172e commit 8c0ff7a
Show file tree
Hide file tree
Showing 2 changed files with 234 additions and 0 deletions.
1 change: 1 addition & 0 deletions arch/arm/boot/dts/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,7 @@ dtb-$(CONFIG_MACH_KIRKWOOD) += kirkwood-b3.dtb \
kirkwood-d2net.dtb \
kirkwood-db-88f6281.dtb \
kirkwood-db-88f6282.dtb \
kirkwood-dir665.dtb \
kirkwood-dns320.dtb \
kirkwood-dns325.dtb \
kirkwood-dockstar.dtb \
Expand Down
233 changes: 233 additions & 0 deletions arch/arm/boot/dts/kirkwood-dir665.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,233 @@
/*
* Copyright (C) 2014 Claudio Leite <leitec@staticky.com>
*
* This file is licensed under the terms of the GNU General Public
* License version 2. This program is licensed "as is" without any
* warranty of any kind, whether express or implied.
*/

/dts-v1/;

#include "kirkwood.dtsi"
#include "kirkwood-6281.dtsi"

/ {
model = "D-Link DIR-665";
compatible = "dlink,dir-665", "marvell,kirkwood-88f6281", "marvell,kirkwood";

memory {
device_type = "memory";
reg = <0x00000000 0x8000000>; /* 128 MB */
};

chosen {
bootargs = "console=ttyS0,115200n8 earlyprintk";
stdout-path = &uart0;
};

mbus {
pcie-controller {
status = "okay";

pcie@1,0 {
status = "okay";
};
};
};

ocp@f1000000 {
pinctrl: pin-controller@10000 {
pinctrl-0 =< &pmx_led_usb
&pmx_led_internet_blue
&pmx_led_internet_amber
&pmx_led_5g &pmx_led_status_blue
&pmx_led_wps &pmx_led_status_amber
&pmx_led_24g
&pmx_btn_restart &pmx_btn_wps>;
pinctrl-names = "default";

pmx_led_usb: pmx-led-usb {
marvell,pins = "mpp12";
marvell,function = "gpio";
};
pmx_led_internet_blue: pmx-led-internet-blue {
marvell,pins = "mpp42";
marvell,function = "gpio";
};
pmx_led_internet_amber: pmx-led-internet-amber {
marvell,pins = "mpp43";
marvell,function = "gpio";
};
pmx_led_5g: pmx-led-5g {
marvell,pins = "mpp44";
marvell,function = "gpio";
};
pmx_led_status_blue: pmx-led-status-blue {
marvell,pins = "mpp45";
marvell,function = "gpio";
};
pmx_led_wps: pmx-led-wps {
marvell,pins = "mpp47";
marvell,function = "gpio";
};
pmx_led_status_amber: pmx-led-status-amber {
marvell,pins = "mpp48";
marvell,function = "gpio";
};
pmx_led_24g: pmx-led-24g {
marvell,pins = "mpp49";
marvell,function = "gpio";
};
pmx_btn_restart: pmx-btn-restart {
marvell,pins = "mpp28";
marvell,function = "gpio";
};
pmx_btn_wps: pmx-btn-wps {
marvell,pins = "mpp46";
marvell,function = "gpio";
};
};

spi@10600 {
status = "okay";
m25p80@0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "mxicy,mx25l12805d";
spi-max-frequency = <50000000>;
reg = <0>;

partition@0 {
label = "uboot";
reg = <0x0 0x30000>;
read-only;
};

partition@30000 {
label = "nvram";
reg = <0x30000 0x10000>;
read-only;
};

partition@40000 {
label = "kernel";
reg = <0x40000 0x180000>;
};

partition@1c0000 {
label = "rootfs";
reg = <0x1c0000 0xe00000>;
};

cal_data: partition@fc0000 {
label = "cal_data";
reg = <0xfc0000 0x10000>;
read-only;
};

partition@fd0000 {
label = "lang_pack";
reg = <0xfd0000 0x30000>;
read-only;
};
};
};

serial@12000 {
status = "okay";
};

i2c@11000 {
status = "okay";
};

ehci@50000 {
status = "okay";
};
};

gpio-leds {
compatible = "gpio-leds";

blue-usb {
label = "dir665:blue:usb";
gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>;
};
blue-internet {
/* Can only be turned on if the Internet
* Ethernet port has Link
*/
label = "dir665:blue:internet";
gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
};
amber-internet {
label = "dir665:amber:internet";
gpios = <&gpio1 11 GPIO_ACTIVE_HIGH>;
};
blue-wifi5g {
label = "dir665:blue:5g";
gpios = <&gpio1 12 GPIO_ACTIVE_LOW>;
};
blue-status {
label = "dir665:blue:status";
gpios = <&gpio1 13 GPIO_ACTIVE_HIGH>;
};
blue-wps {
label = "dir665:blue:wps";
gpios = <&gpio1 15 GPIO_ACTIVE_HIGH>;
};
amber-status {
label = "dir665:amber:status";
gpios = <&gpio1 16 GPIO_ACTIVE_HIGH>;
};
blue-24g {
label = "dir665:blue:24g";
gpios = <&gpio1 17 GPIO_ACTIVE_LOW>;
};
};

gpio-keys {
compatible = "gpio-keys";
#address-cells = <1>;
#size-cells = <0>;

reset {
label = "reset";
linux,code = <KEY_RESTART>;
gpios = <&gpio0 28 GPIO_ACTIVE_LOW>;
};
wps {
label = "wps";
linux,code = <KEY_WPS_BUTTON>;
gpios = <&gpio1 14 GPIO_ACTIVE_LOW>;
};
};
};

&mdio {
status = "okay";
};

/* eth0 is connected to a Marvell 88E6171 switch, without a PHY. So set
* fixed speed and duplex. */
&eth0 {
status = "okay";

ethernet0-port@0 {
speed = <1000>;
duplex = <1>;
};
};

/* eth1 is connected to the switch as well. However DSA only supports a
* single CPU port. So leave this port disabled to avoid confusion. */

&eth1 {
status = "disabled";
};

/* There is no battery on the boards, so the RTC does not keep time
* when there is no power, making it useless. */
&rtc {
status = "disabled";
};

0 comments on commit 8c0ff7a

Please sign in to comment.