mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-27 01:11:14 +00:00
302 lines
6.2 KiB
Diff
302 lines
6.2 KiB
Diff
|
From e977a103840c57d72b52cbc8c17f87f86ef9aa8d Mon Sep 17 00:00:00 2001
|
||
|
From: Pawel Dembicki <paweldembicki@gmail.com>
|
||
|
Date: Sat, 29 Oct 2022 22:57:38 +0200
|
||
|
Subject: [PATCH] ARM: dts: kirkwood: Add Zyxel NSA310S board
|
||
|
|
||
|
Zyxel NSA310S is a NAS based on Marvell kirkwood SoC.
|
||
|
|
||
|
Specification:
|
||
|
- Processor Marvell 88F6702 1 GHz
|
||
|
- 256MB RAM
|
||
|
- 128MB NAND
|
||
|
- 1x GBE LAN port (PHY: Marvell 88E1318)
|
||
|
- 2x USB 2.0
|
||
|
- 1x SATA
|
||
|
- 3x button
|
||
|
- 7x leds
|
||
|
- serial on J1 connector (115200 8N1) (GND-NOPIN-RX-TX-VCC)
|
||
|
|
||
|
Tested-by: Tony Dinh <mibodhi@gmail.com>
|
||
|
Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
|
||
|
Acked-by: Adam Baker <linux@baker-net.org.uk>
|
||
|
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
|
||
|
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
|
||
|
---
|
||
|
arch/arm/boot/dts/Makefile | 1 +
|
||
|
arch/arm/boot/dts/kirkwood-nsa310s.dts | 259 +++++++++++++++++++++++++
|
||
|
2 files changed, 260 insertions(+)
|
||
|
create mode 100644 arch/arm/boot/dts/kirkwood-nsa310s.dts
|
||
|
|
||
|
--- a/arch/arm/boot/dts/Makefile
|
||
|
+++ b/arch/arm/boot/dts/Makefile
|
||
|
@@ -320,6 +320,7 @@ dtb-$(CONFIG_MACH_KIRKWOOD) += \
|
||
|
kirkwood-ns2mini.dtb \
|
||
|
kirkwood-nsa310.dtb \
|
||
|
kirkwood-nsa310a.dtb \
|
||
|
+ kirkwood-nsa310s.dtb \
|
||
|
kirkwood-nsa320.dtb \
|
||
|
kirkwood-nsa325.dtb \
|
||
|
kirkwood-openblocks_a6.dtb \
|
||
|
--- /dev/null
|
||
|
+++ b/arch/arm/boot/dts/kirkwood-nsa310s.dts
|
||
|
@@ -0,0 +1,259 @@
|
||
|
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||
|
+/*
|
||
|
+ * ZyXEL NSA310S Board Description
|
||
|
+ * Copyright 2020-2022 Pawel Dembicki <paweldembicki@gmail.com>
|
||
|
+ * Copyright (c) 2015-2021, Tony Dinh <mibodhi@gmail.com>
|
||
|
+ * Copyright (c) 2014, Adam Baker <linux@baker-net.org.uk>
|
||
|
+ * Based upon the board setup file created by Peter Schildmann
|
||
|
+ */
|
||
|
+/dts-v1/;
|
||
|
+
|
||
|
+#include "kirkwood.dtsi"
|
||
|
+#include "kirkwood-6281.dtsi"
|
||
|
+#include <dt-bindings/leds/common.h>
|
||
|
+
|
||
|
+/ {
|
||
|
+ model = "ZyXEL NSA310S";
|
||
|
+ compatible = "zyxel,nsa310s", "marvell,kirkwood-88f6702", "marvell,kirkwood";
|
||
|
+
|
||
|
+ memory {
|
||
|
+ device_type = "memory";
|
||
|
+ reg = <0x00000000 0x10000000>;
|
||
|
+ };
|
||
|
+
|
||
|
+ chosen {
|
||
|
+ bootargs = "console=ttyS0,115200n8 earlyprintk";
|
||
|
+ stdout-path = &uart0;
|
||
|
+ };
|
||
|
+
|
||
|
+ gpio_poweroff {
|
||
|
+ compatible = "gpio-poweroff";
|
||
|
+ pinctrl-0 = <&pmx_pwr_off>;
|
||
|
+ pinctrl-names = "default";
|
||
|
+ gpios = <&gpio0 27 GPIO_ACTIVE_HIGH>;
|
||
|
+ };
|
||
|
+
|
||
|
+ keys {
|
||
|
+ compatible = "gpio-keys";
|
||
|
+ #address-cells = <1>;
|
||
|
+ #size-cells = <0>;
|
||
|
+ pinctrl-0 = <&pmx_buttons>;
|
||
|
+ pinctrl-names = "default";
|
||
|
+
|
||
|
+ power {
|
||
|
+ label = "Power Button";
|
||
|
+ linux,code = <KEY_POWER>;
|
||
|
+ gpios = <&gpio0 26 GPIO_ACTIVE_HIGH>;
|
||
|
+ };
|
||
|
+
|
||
|
+ copy {
|
||
|
+ label = "Copy Button";
|
||
|
+ linux,code = <KEY_COPY>;
|
||
|
+ gpios = <&gpio0 25 GPIO_ACTIVE_LOW>;
|
||
|
+ };
|
||
|
+
|
||
|
+ reset {
|
||
|
+ label = "Reset Button";
|
||
|
+ linux,code = <KEY_RESTART>;
|
||
|
+ gpios = <&gpio0 24 GPIO_ACTIVE_LOW>;
|
||
|
+ };
|
||
|
+ };
|
||
|
+
|
||
|
+ leds {
|
||
|
+ compatible = "gpio-leds";
|
||
|
+ pinctrl-0 = <&pmx_leds>;
|
||
|
+ pinctrl-names = "default";
|
||
|
+
|
||
|
+ led-1 {
|
||
|
+ function = LED_FUNCTION_DISK_ERR;
|
||
|
+ color = <LED_COLOR_ID_RED>;
|
||
|
+ gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>;
|
||
|
+ };
|
||
|
+
|
||
|
+ led-2 {
|
||
|
+ function = LED_FUNCTION_USB;
|
||
|
+ color = <LED_COLOR_ID_GREEN>;
|
||
|
+ gpios = <&gpio0 15 GPIO_ACTIVE_HIGH>;
|
||
|
+ linux,default-trigger = "usb-host";
|
||
|
+ };
|
||
|
+
|
||
|
+ led-3 {
|
||
|
+ function = LED_FUNCTION_DISK;
|
||
|
+ color = <LED_COLOR_ID_GREEN>;
|
||
|
+ gpios = <&gpio0 16 GPIO_ACTIVE_HIGH>;
|
||
|
+ linux,default-trigger = "ata1";
|
||
|
+ };
|
||
|
+
|
||
|
+ led-4 {
|
||
|
+ function = LED_FUNCTION_INDICATOR;
|
||
|
+ color = <LED_COLOR_ID_GREEN>;
|
||
|
+ gpios = <&gpio0 22 GPIO_ACTIVE_HIGH>;
|
||
|
+ };
|
||
|
+
|
||
|
+ led-5 {
|
||
|
+ function = LED_FUNCTION_INDICATOR;
|
||
|
+ color = <LED_COLOR_ID_RED>;
|
||
|
+ gpios = <&gpio0 23 GPIO_ACTIVE_HIGH>;
|
||
|
+ };
|
||
|
+
|
||
|
+ led-6 {
|
||
|
+ function = LED_FUNCTION_STATUS;
|
||
|
+ color = <LED_COLOR_ID_GREEN>;
|
||
|
+ gpios = <&gpio0 28 GPIO_ACTIVE_HIGH>;
|
||
|
+ linux,default-trigger = "default-on";
|
||
|
+ };
|
||
|
+
|
||
|
+ led-7 {
|
||
|
+ function = LED_FUNCTION_STATUS;
|
||
|
+ color = <LED_COLOR_ID_RED>;
|
||
|
+ gpios = <&gpio0 29 GPIO_ACTIVE_HIGH>;
|
||
|
+ };
|
||
|
+ };
|
||
|
+
|
||
|
+ usb0_power: regulator@1 {
|
||
|
+ compatible = "regulator-fixed";
|
||
|
+ regulator-name = "USB Power";
|
||
|
+
|
||
|
+ regulator-min-microvolt = <5000000>;
|
||
|
+ regulator-max-microvolt = <5000000>;
|
||
|
+ regulator-always-on;
|
||
|
+ regulator-boot-on;
|
||
|
+ gpio = <&gpio0 21 GPIO_ACTIVE_HIGH>;
|
||
|
+ };
|
||
|
+
|
||
|
+ sata1_power: regulator@2 {
|
||
|
+ compatible = "regulator-fixed";
|
||
|
+ regulator-name = "SATA1 Power";
|
||
|
+
|
||
|
+ regulator-min-microvolt = <5000000>;
|
||
|
+ regulator-max-microvolt = <5000000>;
|
||
|
+ regulator-always-on;
|
||
|
+ regulator-boot-on;
|
||
|
+ gpio = <&gpio1 1 GPIO_ACTIVE_HIGH>;
|
||
|
+ };
|
||
|
+
|
||
|
+ thermal-zones {
|
||
|
+ disk-thermal {
|
||
|
+ polling-delay = <20000>;
|
||
|
+ polling-delay-passive = <2000>;
|
||
|
+
|
||
|
+ thermal-sensors = <&hdd_temp>;
|
||
|
+
|
||
|
+ trips {
|
||
|
+ disk_alert: disk-alert {
|
||
|
+ temperature = <40000>;
|
||
|
+ hysteresis = <5000>;
|
||
|
+ type = "active";
|
||
|
+ };
|
||
|
+ disk_crit: disk-crit {
|
||
|
+ temperature = <60000>;
|
||
|
+ hysteresis = <2000>;
|
||
|
+ type = "critical";
|
||
|
+ };
|
||
|
+ };
|
||
|
+ };
|
||
|
+ };
|
||
|
+};
|
||
|
+
|
||
|
+
|
||
|
+ð0 {
|
||
|
+ status = "okay";
|
||
|
+
|
||
|
+ ethernet0-port@0 {
|
||
|
+ phy-handle = <ðphy0>;
|
||
|
+ };
|
||
|
+};
|
||
|
+
|
||
|
+&i2c0 {
|
||
|
+ status = "okay";
|
||
|
+
|
||
|
+ rtc@68 {
|
||
|
+ compatible = "htk,ht1382";
|
||
|
+ reg = <0x68>;
|
||
|
+ };
|
||
|
+};
|
||
|
+
|
||
|
+&mdio {
|
||
|
+ status = "okay";
|
||
|
+
|
||
|
+ ethphy0: ethernet-phy@1 {
|
||
|
+ reg = <1>;
|
||
|
+ phy-mode = "rgmii-id";
|
||
|
+ marvell,reg-init = <0x1 0x16 0x0 0x3>,
|
||
|
+ <0x1 0x10 0x0 0x1017>,
|
||
|
+ <0x1 0x11 0x0 0x4408>,
|
||
|
+ <0x1 0x16 0x0 0x0>;
|
||
|
+ };
|
||
|
+};
|
||
|
+
|
||
|
+&nand {
|
||
|
+ status = "okay";
|
||
|
+ chip-delay = <35>;
|
||
|
+
|
||
|
+ partition@0 {
|
||
|
+ label = "uboot";
|
||
|
+ reg = <0x0000000 0x00c0000>;
|
||
|
+ read-only;
|
||
|
+ };
|
||
|
+ partition@c0000 {
|
||
|
+ label = "uboot_env";
|
||
|
+ reg = <0x00c0000 0x0080000>;
|
||
|
+ };
|
||
|
+ partition@140000 {
|
||
|
+ label = "ubi";
|
||
|
+ reg = <0x0140000 0x7ec0000>;
|
||
|
+ };
|
||
|
+};
|
||
|
+
|
||
|
+&pciec {
|
||
|
+ status = "okay";
|
||
|
+};
|
||
|
+
|
||
|
+&pcie0 {
|
||
|
+ status = "okay";
|
||
|
+};
|
||
|
+
|
||
|
+&pinctrl {
|
||
|
+ pinctrl-names = "default";
|
||
|
+
|
||
|
+ pmx_buttons: pmx-buttons {
|
||
|
+ marvell,pins = "mpp24", "mpp25", "mpp26";
|
||
|
+ marvell,function = "gpio";
|
||
|
+ };
|
||
|
+
|
||
|
+ pmx_leds: pmx-leds {
|
||
|
+ marvell,pins = "mpp13", "mpp15", "mpp16", "mpp22", "mpp23",
|
||
|
+ "mpp28", "mpp29";
|
||
|
+ marvell,function = "gpio";
|
||
|
+ };
|
||
|
+
|
||
|
+ pmx_power: pmx-power {
|
||
|
+ marvell,pins = "mpp21", "mpp33";
|
||
|
+ marvell,function = "gpio";
|
||
|
+ };
|
||
|
+
|
||
|
+ pmx_pwr_off: pmx-pwr-off {
|
||
|
+ marvell,pins = "mpp27";
|
||
|
+ marvell,function = "gpio";
|
||
|
+ };
|
||
|
+};
|
||
|
+
|
||
|
+&rtc {
|
||
|
+ status = "disabled";
|
||
|
+};
|
||
|
+
|
||
|
+&sata {
|
||
|
+ status = "okay";
|
||
|
+ nr-ports = <1>;
|
||
|
+ #address-cells = <1>;
|
||
|
+ #size-cells = <0>;
|
||
|
+
|
||
|
+ hdd_temp: sata-port@0 {
|
||
|
+ reg = <0>;
|
||
|
+ #thermal-sensor-cells = <0>;
|
||
|
+ };
|
||
|
+};
|
||
|
+
|
||
|
+&uart0 {
|
||
|
+ status = "okay";
|
||
|
+};
|