forked from torvalds/linux
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ARM: dts: orion5x: Add D-Link DNS-323 Device Tree
Add a device tree for D-Link DNS-323. The device has three different variants; A1, B1 and C1. Common parts are included in a .dtsi file and each hardware variant has its own .dts file. Signed-off-by: Mauri Sandberg <maukka@ext.kapsi.fi>
- Loading branch information
1 parent
c5adc93
commit 0f6a5f2
Showing
5 changed files
with
382 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,215 @@ | ||
// SPDX-License-Identifier: GPL-2.0-only | ||
/* | ||
* Copyright (C) 2022 Mauri Sandberg <maukka@ext.kapsi.fi> | ||
* | ||
*/ | ||
|
||
/ { | ||
model = "D-Link DNS-323"; | ||
compatible = "dlink,dns323", "marvell,orion5x"; | ||
|
||
aliases { | ||
serial0 = &uart0; | ||
}; | ||
|
||
memory { | ||
device_type = "memory"; | ||
reg = <0x00000000 0x4000000>; /* 64 MB */ | ||
}; | ||
|
||
chosen { | ||
stdout-path = "serial0:115200n8"; | ||
bootargs = "console=ttyS0,115200n8 earlyprintk"; | ||
}; | ||
|
||
soc { | ||
ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000>, /* on-chip peripheral registers */ | ||
<MBUS_ID(0x09, 0x00) 0 0xf2200000 0x800>, /* SRAM for crypto */ | ||
<MBUS_ID(0x01, 0x0f) 0 0xf4000000 0x800000>; /* device bus mapping (boot) */ | ||
}; | ||
|
||
gpio-keys { | ||
compatible = "gpio-keys"; | ||
pinctrl-0 = <&pmx_gpio_keys>; | ||
pinctrl-names = "default"; | ||
|
||
key-0 { | ||
label = "Power button"; | ||
linux,code = <KEY_POWER>; | ||
gpios = <&gpio0 9 GPIO_ACTIVE_LOW>; | ||
}; | ||
|
||
key-1 { | ||
label = "Reset button"; | ||
linux,code = <KEY_RESTART>; | ||
gpios = <&gpio0 10 GPIO_ACTIVE_LOW>; | ||
}; | ||
}; | ||
|
||
gpio-leds { | ||
compatible = "gpio-leds"; | ||
pinctrl-0 = <&pmx_gpio_leds>; | ||
pinctrl-names = "default"; | ||
|
||
led-0 { | ||
label = "amber:right"; | ||
gpios = <&gpio0 1 GPIO_ACTIVE_LOW>; | ||
}; | ||
|
||
led-1 { | ||
label = "amber:left"; | ||
gpios = <&gpio0 2 GPIO_ACTIVE_LOW>; | ||
}; | ||
|
||
led-2 { | ||
label = "blue:power"; | ||
gpios = <&gpio0 5 GPIO_ACTIVE_LOW>; | ||
default-state = "on"; | ||
}; | ||
}; | ||
|
||
gpio-poweroff { | ||
compatible = "gpio-poweroff"; | ||
pinctrl-0 = <&pmx_power_off>; | ||
pinctrl-names = "default"; | ||
|
||
gpios = <&gpio0 8 GPIO_ACTIVE_HIGH>; | ||
timeout-ms = <3000>; | ||
}; | ||
}; | ||
|
||
&devbus_bootcs { | ||
status = "okay"; | ||
devbus,keep-config; | ||
|
||
flash@0 { | ||
compatible = "cfi-flash"; | ||
reg = <0 0x800000>; | ||
bank-width = <1>; | ||
|
||
partitions { | ||
compatible = "fixed-partitions"; | ||
#address-cells = <1>; | ||
#size-cells = <1>; | ||
|
||
partition@0 { | ||
label = "MTD1"; | ||
reg = <0x000000 0x010000>; | ||
read-only; | ||
}; | ||
|
||
partition@10000 { | ||
label = "MTD2"; | ||
reg = <0x010000 0x010000>; | ||
read-only; | ||
}; | ||
|
||
partition@20000 { | ||
label = "Linux Kernel"; | ||
reg = <0x020000 0x180000>; | ||
}; | ||
|
||
partition@1a0000 { | ||
label = "File System"; | ||
reg = <0x1a0000 0x630000>; | ||
}; | ||
|
||
uboot: partition@7d0000 { | ||
label = "U-boot"; | ||
reg = <0x7d0000 0x030000>; | ||
read-only; | ||
}; | ||
}; | ||
}; | ||
}; | ||
|
||
&ehci0 { | ||
status = "okay"; | ||
}; | ||
|
||
&i2c { | ||
status = "okay"; | ||
clock-frequency = <100000>; | ||
|
||
/* fan speed PWM */ | ||
fan@3e { | ||
compatible = "g760a"; | ||
reg = <0x3e>; | ||
}; | ||
|
||
/* temp sensor and thermal watchdog */ | ||
temperature-sensor@48 { | ||
compatible = "gmt,g751"; | ||
reg = <0x48>; | ||
}; | ||
|
||
/* RTC w/ alarm */ | ||
rtc@68 { | ||
compatible = "st,m41t80"; | ||
reg = <0x68>; | ||
}; | ||
}; | ||
|
||
&mdio { | ||
status = "okay"; | ||
|
||
ethphy: ethernet-phy { | ||
reg = <8>; | ||
}; | ||
}; | ||
|
||
ð { | ||
status = "okay"; | ||
pinctrl-0 = <&pmx_ge>; | ||
pinctrl-names = "default"; | ||
clocks = <&core_clk 0>; | ||
}; | ||
|
||
ðport { | ||
phy-handle = <ðphy>; | ||
}; | ||
|
||
&uart0 { | ||
status = "okay"; | ||
}; | ||
|
||
&pinctrl { | ||
pmx_gpio_leds: pmx-gpio-leds { | ||
marvell,pins = "mpp1", "mpp2", "mpp5"; | ||
marvell,function = "gpio"; | ||
}; | ||
|
||
pmx_gpio_misc: pmx-gpio-misc { | ||
/* set marvell,pins in board file */ | ||
marvell,function = "gpio"; | ||
}; | ||
|
||
pmx_power_off: pmx-power-off { | ||
marvell,pins = "mpp8"; | ||
marvell,function = "gpio"; | ||
}; | ||
|
||
pmx_gpio_keys: pmx-gpio-keys { | ||
marvell,pins = "mpp9", "mpp10"; | ||
marvell,function = "gpio"; | ||
}; | ||
|
||
pmx_ge: pmx-ge { | ||
marvell,function = "ge"; | ||
}; | ||
}; | ||
|
||
&sata { | ||
pinctrl-0 = <&pmx_sata0 &pmx_sata1>; | ||
pinctrl-names = "default"; | ||
status = "okay"; | ||
nr-ports = <2>; | ||
}; | ||
|
||
&pciec { | ||
status = "okay"; | ||
}; | ||
|
||
&pcie0 { | ||
status = "okay"; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
// SPDX-License-Identifier: GPL-2.0-only | ||
/* | ||
* Copyright (C) 2022 Mauri Sandberg <maukka@ext.kapsi.fi> | ||
* | ||
*/ | ||
|
||
/dts-v1/; | ||
|
||
#include <dt-bindings/gpio/gpio.h> | ||
#include <dt-bindings/input/input.h> | ||
#include <dt-bindings/leds/common.h> | ||
#include <dt-bindings/interrupt-controller/irq.h> | ||
#include "orion5x-mv88f5181.dtsi" | ||
#include "orion5x-dlink-dns323.dtsi" | ||
|
||
/ { | ||
model = "D-Link DNS-323 rev A1"; | ||
compatible = "dlink,dns323a1", "dlink,dns323", "marvell,orion5x-88f5181", | ||
"marvell,orion5x"; | ||
}; | ||
|
||
/delete-node/ &sata; | ||
|
||
&gpio0 { | ||
pinctrl-0 = <&pmx_gpio_misc>; | ||
pinctrl-names = "default"; | ||
|
||
/* The DNS323 rev A1 power LED requires GPIO 4 to be low. */ | ||
pin_gpio0_4 { | ||
gpio-hog; | ||
gpios = <4 GPIO_ACTIVE_LOW>; | ||
output-high; | ||
line-name = "Power led enable"; | ||
}; | ||
}; | ||
|
||
&pmx_gpio_misc { | ||
marvell,pins = "mpp4"; | ||
}; | ||
|
||
&pmx_ge { | ||
marvell,pins = "mpp11", "mpp12", "mpp13", "mpp14", "mpp15", | ||
"mpp16", "mpp17", "mpp18", "mpp19"; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
// SPDX-License-Identifier: GPL-2.0-only | ||
/* | ||
* Copyright (C) 2022 Mauri Sandberg <maukka@ext.kapsi.fi> | ||
* | ||
*/ | ||
|
||
/dts-v1/; | ||
|
||
#include <dt-bindings/gpio/gpio.h> | ||
#include <dt-bindings/input/input.h> | ||
#include <dt-bindings/leds/common.h> | ||
#include "orion5x-mv88f5182.dtsi" | ||
#include "orion5x-dlink-dns323.dtsi" | ||
|
||
/ { | ||
model = "D-Link DNS-323 rev B1"; | ||
compatible = "dlink,dns323b1", "dlink,dns323", "marvell,orion5x-88f5182", | ||
"marvell,orion5x"; | ||
}; | ||
|
||
&gpio0 { | ||
pinctrl-0 = <&pmx_gpio_misc>; | ||
pinctrl-names = "default"; | ||
|
||
/* The rev B1 has a flag to indicate the system is up. | ||
* Without this flag set, power LED will flash and cannot be | ||
* controlled via gpio-leds. | ||
*/ | ||
pin_gpio0_3 { | ||
gpio-hog; | ||
gpios = <3 GPIO_ACTIVE_LOW>; | ||
output-high; | ||
line-name = "System up"; | ||
}; | ||
}; | ||
|
||
&pmx_gpio_misc { | ||
marvell,pins = "mpp3"; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,81 @@ | ||
// SPDX-License-Identifier: GPL-2.0-only | ||
/* | ||
* Copyright (C) 2022 Mauri Sandberg <maukka@ext.kapsi.fi> | ||
* | ||
*/ | ||
|
||
/dts-v1/; | ||
|
||
#include <dt-bindings/gpio/gpio.h> | ||
#include <dt-bindings/input/input.h> | ||
#include <dt-bindings/leds/common.h> | ||
#include "orion5x-mv88f5182.dtsi" | ||
#include "orion5x-dlink-dns323.dtsi" | ||
|
||
/ { | ||
model = "D-Link DNS-323 rev C1"; | ||
compatible = "dlink,dns323c1", "dlink,dns323", "marvell,orion5x-88f5182", | ||
"marvell,orion5x"; | ||
|
||
fan { | ||
compatible = "gpio-fan"; | ||
pinctrl-0 = <&pmx_gpio_fan>; | ||
pinctrl-names = "default"; | ||
|
||
gpios = <&gpio0 19 GPIO_ACTIVE_LOW | ||
&gpio0 18 GPIO_ACTIVE_LOW>; | ||
|
||
gpio-fan,speed-map = <0 0 | ||
1000 1 | ||
2000 2>; | ||
alarm-gpios = <&gpio0 10 GPIO_ACTIVE_HIGH>; | ||
}; | ||
|
||
gpio-keys { | ||
/delete-node/ key-1; | ||
|
||
key-0 { | ||
gpios = <&gpio0 1 GPIO_ACTIVE_HIGH>; | ||
}; | ||
}; | ||
|
||
gpio-leds { | ||
led-0 { | ||
gpios = <&gpio0 8 GPIO_ACTIVE_LOW>; | ||
}; | ||
|
||
led-1 { | ||
gpios = <&gpio0 9 GPIO_ACTIVE_LOW>; | ||
}; | ||
|
||
led-2 { | ||
gpios = <&gpio0 17 GPIO_ACTIVE_LOW>; | ||
}; | ||
}; | ||
|
||
}; | ||
|
||
&i2c { | ||
/delete-node/ fan@3e; | ||
}; | ||
|
||
&pinctrl { | ||
/delete-node/ pmx-gpio-misc; | ||
|
||
pmx_gpio_fan: pmx-gpio-fan { | ||
marvell,pins = "mpp10", "mpp18", "mpp19"; | ||
marvell,function = "gpio"; | ||
}; | ||
}; | ||
|
||
&pmx_gpio_leds { | ||
marvell,pins = "mpp8", "mpp9", "mpp17"; | ||
}; | ||
|
||
&pmx_power_off { | ||
marvell,pins = "mpp2"; | ||
}; | ||
|
||
&pmx_gpio_keys { | ||
marvell,pins = "mpp1"; | ||
}; |