ARM: kirkwood: Add device-tree for dns325
authorChris Packham <judge.packham@gmail.com>
Tue, 8 May 2018 10:34:11 +0000 (22:34 +1200)
committerStefan Roese <sr@denx.de>
Thu, 17 May 2018 15:35:25 +0000 (17:35 +0200)
Import the dts files from Linux 4.17 and enable CONFIG_OF_CONTROL.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
Signed-off-by: Stefan Roese <sr@denx.de>
arch/arm/dts/kirkwood-dns325.dts [new file with mode: 0644]
arch/arm/dts/kirkwood-dnskw.dtsi [new file with mode: 0644]
configs/dns325_defconfig

diff --git a/arch/arm/dts/kirkwood-dns325.dts b/arch/arm/dts/kirkwood-dns325.dts
new file mode 100644 (file)
index 0000000..94d9c06
--- /dev/null
@@ -0,0 +1,63 @@
+// SPDX-License-Identifier: GPL-2.0
+/dts-v1/;
+
+#include "kirkwood-dnskw.dtsi"
+
+/ {
+       model = "D-Link DNS-325 NAS (Rev A1)";
+       compatible = "dlink,dns-325-a1", "dlink,dns-325", "dlink,dns-kirkwood", "marvell,kirkwood-88f6281", "marvell,kirkwood";
+
+       memory {
+               device_type = "memory";
+               reg = <0x00000000 0x10000000>;
+       };
+
+       chosen {
+               bootargs = "console=ttyS0,115200n8 earlyprintk";
+               stdout-path = &uart0;
+       };
+
+       gpio-leds {
+               compatible = "gpio-leds";
+               pinctrl-0 = <&pmx_led_power &pmx_led_red_usb_325
+                            &pmx_led_red_left_hdd &pmx_led_red_right_hdd
+                            &pmx_led_white_usb>;
+               pinctrl-names = "default";
+
+               white-power {
+                       label = "dns325:white:power";
+                       gpios = <&gpio0 26 GPIO_ACTIVE_LOW>;
+                       default-state = "keep";
+               };
+               white-usb {
+                       label = "dns325:white:usb";
+                       gpios = <&gpio1 11 GPIO_ACTIVE_LOW>; /* GPIO 43 */
+               };
+               red-l_hdd {
+                       label = "dns325:red:l_hdd";
+                       gpios = <&gpio0 28 GPIO_ACTIVE_LOW>;
+               };
+               red-r_hdd {
+                       label = "dns325:red:r_hdd";
+                       gpios = <&gpio0 27 GPIO_ACTIVE_LOW>;
+               };
+               red-usb {
+                       label = "dns325:red:usb";
+                       gpios = <&gpio0 29 GPIO_ACTIVE_LOW>;
+               };
+       };
+
+       ocp@f1000000 {
+               i2c@11000 {
+                       status = "okay";
+
+                       lm75: lm75@48 {
+                               compatible = "national,lm75";
+                               reg = <0x48>;
+                       };
+               };
+               serial@12000 {
+                       status = "okay";
+               };
+       };
+};
diff --git a/arch/arm/dts/kirkwood-dnskw.dtsi b/arch/arm/dts/kirkwood-dnskw.dtsi
new file mode 100644 (file)
index 0000000..cbaf06f
--- /dev/null
@@ -0,0 +1,235 @@
+// SPDX-License-Identifier: GPL-2.0
+#include "kirkwood.dtsi"
+#include "kirkwood-6281.dtsi"
+
+/ {
+       model = "D-Link DNS NASes (kirkwood-based)";
+       compatible = "dlink,dns-kirkwood", "marvell,kirkwood-88f6281", "marvell,kirkwood";
+
+       gpio_keys {
+               compatible = "gpio-keys";
+               #address-cells = <1>;
+               #size-cells = <0>;
+               pinctrl-0 = <&pmx_button_power &pmx_button_unmount
+                            &pmx_button_reset>;
+               pinctrl-names = "default";
+
+               power {
+                       label = "Power button";
+                       linux,code = <KEY_POWER>;
+                       gpios = <&gpio1 2 GPIO_ACTIVE_LOW>;
+               };
+               eject {
+                       label = "USB unmount button";
+                       linux,code = <KEY_EJECTCD>;
+                       gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
+               };
+               reset {
+                       label = "Reset button";
+                       linux,code = <KEY_RESTART>;
+                       gpios = <&gpio1 16 GPIO_ACTIVE_LOW>;
+               };
+       };
+
+       gpio_fan {
+               /* Fan: ADDA AD045HB-G73 40mm 6000rpm@5v */
+               compatible = "gpio-fan";
+               pinctrl-0 = <&pmx_fan_high_speed &pmx_fan_low_speed>;
+               pinctrl-names = "default";
+               gpios = <&gpio1 14 GPIO_ACTIVE_LOW
+                        &gpio1 13 GPIO_ACTIVE_LOW>;
+               gpio-fan,speed-map = <0    0
+                                     3000 1
+                                     6000 2>;
+       };
+
+       gpio_poweroff {
+               compatible = "gpio-poweroff";
+               pinctrl-0 = <&pmx_power_off>;
+               pinctrl-names = "default";
+               gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>;
+       };
+
+       ocp@f1000000 {
+               pinctrl: pin-controller@10000 {
+
+                       pinctrl-0 = <&pmx_power_back_on &pmx_present_sata0
+                                    &pmx_present_sata1 &pmx_fan_tacho
+                                    &pmx_temp_alarm>;
+                       pinctrl-names = "default";
+
+                       pmx_sata0: pmx-sata0 {
+                               marvell,pins = "mpp20";
+                               marvell,function = "sata1";
+                       };
+                       pmx_sata1: pmx-sata1 {
+                               marvell,pins = "mpp21";
+                               marvell,function = "sata0";
+                       };
+                       pmx_led_power: pmx-led-power {
+                               marvell,pins = "mpp26";
+                               marvell,function = "gpio";
+                       };
+                       pmx_led_red_right_hdd: pmx-led-red-right-hdd {
+                               marvell,pins = "mpp27";
+                               marvell,function = "gpio";
+                       };
+                       pmx_led_red_left_hdd: pmx-led-red-left-hdd {
+                               marvell,pins = "mpp28";
+                               marvell,function = "gpio";
+                       };
+                       pmx_led_red_usb_325: pmx-led-red-usb-325 {
+                               marvell,pins = "mpp29";
+                               marvell,function = "gpio";
+                       };
+                       pmx_button_power: pmx-button-power {
+                               marvell,pins = "mpp34";
+                               marvell,function = "gpio";
+                       };
+                       pmx_led_red_usb_320: pmx-led-red-usb-320 {
+                               marvell,pins = "mpp35";
+                               marvell,function = "gpio";
+                       };
+                       pmx_power_off: pmx-power-off {
+                               marvell,pins = "mpp36";
+                               marvell,function = "gpio";
+                       };
+                       pmx_power_back_on: pmx-power-back-on {
+                               marvell,pins = "mpp37";
+                               marvell,function = "gpio";
+                       };
+                       pmx_power_sata0: pmx-power-sata0 {
+                               marvell,pins = "mpp39";
+                               marvell,function = "gpio";
+                       };
+                       pmx_power_sata1: pmx-power-sata1 {
+                               marvell,pins = "mpp40";
+                               marvell,function = "gpio";
+                       };
+                       pmx_present_sata0: pmx-present-sata0 {
+                               marvell,pins = "mpp41";
+                               marvell,function = "gpio";
+                       };
+                       pmx_present_sata1: pmx-present-sata1 {
+                               marvell,pins = "mpp42";
+                               marvell,function = "gpio";
+                       };
+                       pmx_led_white_usb: pmx-led-white-usb {
+                               marvell,pins = "mpp43";
+                               marvell,function = "gpio";
+                       };
+                       pmx_fan_tacho: pmx-fan-tacho {
+                               marvell,pins = "mpp44";
+                               marvell,function = "gpio";
+                       };
+                       pmx_fan_high_speed: pmx-fan-high-speed {
+                               marvell,pins = "mpp45";
+                               marvell,function = "gpio";
+                       };
+                       pmx_fan_low_speed: pmx-fan-low-speed {
+                               marvell,pins = "mpp46";
+                               marvell,function = "gpio";
+                       };
+                       pmx_button_unmount: pmx-button-unmount {
+                               marvell,pins = "mpp47";
+                               marvell,function = "gpio";
+                       };
+                       pmx_button_reset: pmx-button-reset {
+                               marvell,pins = "mpp48";
+                               marvell,function = "gpio";
+                       };
+                       pmx_temp_alarm: pmx-temp-alarm {
+                               marvell,pins = "mpp49";
+                               marvell,function = "gpio";
+                       };
+               };
+               sata@80000 {
+                       pinctrl-0 = <&pmx_sata0 &pmx_sata1>;
+                       pinctrl-names = "default";
+                       status = "okay";
+                       nr-ports = <2>;
+               };
+       };
+
+       regulators {
+               compatible = "simple-bus";
+               #address-cells = <1>;
+               #size-cells = <0>;
+               pinctrl-0 = <&pmx_power_sata0 &pmx_power_sata1>;
+               pinctrl-names = "default";
+
+               sata0_power: regulator@1 {
+                       compatible = "regulator-fixed";
+                       reg = <1>;
+                       regulator-name = "SATA0 Power";
+                       regulator-min-microvolt = <5000000>;
+                       regulator-max-microvolt = <5000000>;
+                       enable-active-high;
+                       regulator-always-on;
+                       regulator-boot-on;
+                       gpio = <&gpio1 7 0>;
+               };
+               sata1_power: regulator@2 {
+                       compatible = "regulator-fixed";
+                       reg = <2>;
+                       regulator-name = "SATA1 Power";
+                       regulator-min-microvolt = <5000000>;
+                       regulator-max-microvolt = <5000000>;
+                       enable-active-high;
+                       regulator-always-on;
+                       regulator-boot-on;
+                       gpio = <&gpio1 8 0>;
+               };
+       };
+};
+
+&nand {
+       status = "okay";
+       chip-delay = <35>;
+
+       partition@0 {
+               label = "u-boot";
+               reg = <0x0000000 0x100000>;
+               read-only;
+       };
+
+       partition@100000 {
+               label = "uImage";
+               reg = <0x0100000 0x500000>;
+       };
+
+       partition@600000 {
+               label = "ramdisk";
+               reg = <0x0600000 0x500000>;
+       };
+
+       partition@b00000 {
+               label = "image";
+               reg = <0x0b00000 0x6600000>;
+       };
+
+       partition@7100000 {
+               label = "mini firmware";
+               reg = <0x7100000 0xa00000>;
+       };
+
+       partition@7b00000 {
+               label = "config";
+               reg = <0x7b00000 0x500000>;
+       };
+};
+
+&mdio {
+       status = "okay";
+
+       ethphy0: ethernet-phy@8 {
+               reg = <8>;
+       };
+};
+
+&eth0 {
+       status = "okay";
+       ethernet0-port@0 {
+               phy-handle = <&ethphy0>;
+       };
+};
index f64038d..f0ed209 100644 (file)
@@ -3,6 +3,7 @@ CONFIG_KIRKWOOD=y
 CONFIG_SYS_TEXT_BASE=0x600000
 CONFIG_TARGET_DNS325=y
 CONFIG_IDENT_STRING="\nD-Link DNS-325"
+CONFIG_DEFAULT_DEVICE_TREE="kirkwood-dns325"
 CONFIG_BOOTDELAY=3
 CONFIG_CONSOLE_MUX=y
 # CONFIG_DISPLAY_BOARDINFO is not set
@@ -23,6 +24,7 @@ CONFIG_MTDIDS_DEFAULT="nand0=orion_nand"
 CONFIG_MTDPARTS_DEFAULT="mtdparts=orion_nand:896k(u-boot),128k(u-boot-env),5m(kernel),-(rootfs)"
 CONFIG_CMD_UBI=y
 CONFIG_ISO_PARTITION=y
+CONFIG_OF_CONTROL=y
 CONFIG_ENV_IS_IN_NAND=y
 CONFIG_MVSATA_IDE=y
 # CONFIG_MMC is not set
@@ -32,4 +34,3 @@ CONFIG_SYS_NS16550=y
 CONFIG_USB=y
 CONFIG_USB_EHCI_HCD=y
 CONFIG_USB_STORAGE=y
-CONFIG_OF_LIBFDT=y