1724ba675SRob Herring// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2724ba675SRob Herring/* 3724ba675SRob Herring * ZyXEL NSA310S Board Description 4724ba675SRob Herring * Copyright 2020-2022 Pawel Dembicki <paweldembicki@gmail.com> 5724ba675SRob Herring * Copyright (c) 2015-2021, Tony Dinh <mibodhi@gmail.com> 6724ba675SRob Herring * Copyright (c) 2014, Adam Baker <linux@baker-net.org.uk> 7724ba675SRob Herring * Based upon the board setup file created by Peter Schildmann 8724ba675SRob Herring */ 9724ba675SRob Herring/dts-v1/; 10724ba675SRob Herring 11724ba675SRob Herring#include "kirkwood.dtsi" 12724ba675SRob Herring#include "kirkwood-6281.dtsi" 13724ba675SRob Herring#include <dt-bindings/leds/common.h> 14724ba675SRob Herring 15724ba675SRob Herring/ { 16724ba675SRob Herring model = "ZyXEL NSA310S"; 17724ba675SRob Herring compatible = "zyxel,nsa310s", "marvell,kirkwood-88f6702", "marvell,kirkwood"; 18724ba675SRob Herring 19724ba675SRob Herring memory { 20724ba675SRob Herring device_type = "memory"; 21724ba675SRob Herring reg = <0x00000000 0x10000000>; 22724ba675SRob Herring }; 23724ba675SRob Herring 24724ba675SRob Herring chosen { 25724ba675SRob Herring bootargs = "console=ttyS0,115200n8 earlyprintk"; 26724ba675SRob Herring stdout-path = &uart0; 27724ba675SRob Herring }; 28724ba675SRob Herring 29724ba675SRob Herring gpio_poweroff { 30724ba675SRob Herring compatible = "gpio-poweroff"; 31724ba675SRob Herring pinctrl-0 = <&pmx_pwr_off>; 32724ba675SRob Herring pinctrl-names = "default"; 33724ba675SRob Herring gpios = <&gpio0 27 GPIO_ACTIVE_HIGH>; 34724ba675SRob Herring }; 35724ba675SRob Herring 36724ba675SRob Herring keys { 37724ba675SRob Herring compatible = "gpio-keys"; 38724ba675SRob Herring pinctrl-0 = <&pmx_buttons>; 39724ba675SRob Herring pinctrl-names = "default"; 40724ba675SRob Herring 41*b98a9191SKrzysztof Kozlowski button-power { 42724ba675SRob Herring label = "Power Button"; 43724ba675SRob Herring linux,code = <KEY_POWER>; 44724ba675SRob Herring gpios = <&gpio0 26 GPIO_ACTIVE_HIGH>; 45724ba675SRob Herring }; 46724ba675SRob Herring 47*b98a9191SKrzysztof Kozlowski button-copy { 48724ba675SRob Herring label = "Copy Button"; 49724ba675SRob Herring linux,code = <KEY_COPY>; 50724ba675SRob Herring gpios = <&gpio0 25 GPIO_ACTIVE_LOW>; 51724ba675SRob Herring }; 52724ba675SRob Herring 53*b98a9191SKrzysztof Kozlowski button-reset { 54724ba675SRob Herring label = "Reset Button"; 55724ba675SRob Herring linux,code = <KEY_RESTART>; 56724ba675SRob Herring gpios = <&gpio0 24 GPIO_ACTIVE_LOW>; 57724ba675SRob Herring }; 58724ba675SRob Herring }; 59724ba675SRob Herring 60724ba675SRob Herring leds { 61724ba675SRob Herring compatible = "gpio-leds"; 62724ba675SRob Herring pinctrl-0 = <&pmx_leds>; 63724ba675SRob Herring pinctrl-names = "default"; 64724ba675SRob Herring 65724ba675SRob Herring led-1 { 66724ba675SRob Herring function = LED_FUNCTION_DISK_ERR; 67724ba675SRob Herring color = <LED_COLOR_ID_RED>; 68724ba675SRob Herring gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>; 69724ba675SRob Herring }; 70724ba675SRob Herring 71724ba675SRob Herring led-2 { 72724ba675SRob Herring function = LED_FUNCTION_USB; 73724ba675SRob Herring color = <LED_COLOR_ID_GREEN>; 74724ba675SRob Herring gpios = <&gpio0 15 GPIO_ACTIVE_HIGH>; 75724ba675SRob Herring linux,default-trigger = "usb-host"; 76724ba675SRob Herring }; 77724ba675SRob Herring 78724ba675SRob Herring led-3 { 79724ba675SRob Herring function = LED_FUNCTION_DISK; 80724ba675SRob Herring color = <LED_COLOR_ID_GREEN>; 81724ba675SRob Herring gpios = <&gpio0 16 GPIO_ACTIVE_HIGH>; 82724ba675SRob Herring linux,default-trigger = "ata1"; 83724ba675SRob Herring }; 84724ba675SRob Herring 85724ba675SRob Herring led-4 { 86724ba675SRob Herring function = LED_FUNCTION_INDICATOR; 87724ba675SRob Herring color = <LED_COLOR_ID_GREEN>; 88724ba675SRob Herring gpios = <&gpio0 22 GPIO_ACTIVE_HIGH>; 89724ba675SRob Herring }; 90724ba675SRob Herring 91724ba675SRob Herring led-5 { 92724ba675SRob Herring function = LED_FUNCTION_INDICATOR; 93724ba675SRob Herring color = <LED_COLOR_ID_RED>; 94724ba675SRob Herring gpios = <&gpio0 23 GPIO_ACTIVE_HIGH>; 95724ba675SRob Herring }; 96724ba675SRob Herring 97724ba675SRob Herring led-6 { 98724ba675SRob Herring function = LED_FUNCTION_STATUS; 99724ba675SRob Herring color = <LED_COLOR_ID_GREEN>; 100724ba675SRob Herring gpios = <&gpio0 28 GPIO_ACTIVE_HIGH>; 101724ba675SRob Herring linux,default-trigger = "default-on"; 102724ba675SRob Herring }; 103724ba675SRob Herring 104724ba675SRob Herring led-7 { 105724ba675SRob Herring function = LED_FUNCTION_STATUS; 106724ba675SRob Herring color = <LED_COLOR_ID_RED>; 107724ba675SRob Herring gpios = <&gpio0 29 GPIO_ACTIVE_HIGH>; 108724ba675SRob Herring }; 109724ba675SRob Herring }; 110724ba675SRob Herring 111724ba675SRob Herring usb0_power: regulator@1 { 112724ba675SRob Herring compatible = "regulator-fixed"; 113724ba675SRob Herring regulator-name = "USB Power"; 114724ba675SRob Herring 115724ba675SRob Herring regulator-min-microvolt = <5000000>; 116724ba675SRob Herring regulator-max-microvolt = <5000000>; 117724ba675SRob Herring regulator-always-on; 118724ba675SRob Herring regulator-boot-on; 119724ba675SRob Herring gpio = <&gpio0 21 GPIO_ACTIVE_HIGH>; 120724ba675SRob Herring }; 121724ba675SRob Herring 122724ba675SRob Herring sata1_power: regulator@2 { 123724ba675SRob Herring compatible = "regulator-fixed"; 124724ba675SRob Herring regulator-name = "SATA1 Power"; 125724ba675SRob Herring 126724ba675SRob Herring regulator-min-microvolt = <5000000>; 127724ba675SRob Herring regulator-max-microvolt = <5000000>; 128724ba675SRob Herring regulator-always-on; 129724ba675SRob Herring regulator-boot-on; 130724ba675SRob Herring gpio = <&gpio1 1 GPIO_ACTIVE_HIGH>; 131724ba675SRob Herring }; 132724ba675SRob Herring 133724ba675SRob Herring thermal-zones { 134724ba675SRob Herring disk-thermal { 135724ba675SRob Herring polling-delay = <20000>; 136724ba675SRob Herring polling-delay-passive = <2000>; 137724ba675SRob Herring 138724ba675SRob Herring thermal-sensors = <&hdd_temp>; 139724ba675SRob Herring 140724ba675SRob Herring trips { 141724ba675SRob Herring disk_alert: disk-alert { 142724ba675SRob Herring temperature = <40000>; 143724ba675SRob Herring hysteresis = <5000>; 144724ba675SRob Herring type = "active"; 145724ba675SRob Herring }; 146724ba675SRob Herring disk_crit: disk-crit { 147724ba675SRob Herring temperature = <60000>; 148724ba675SRob Herring hysteresis = <2000>; 149724ba675SRob Herring type = "critical"; 150724ba675SRob Herring }; 151724ba675SRob Herring }; 152724ba675SRob Herring }; 153724ba675SRob Herring }; 154724ba675SRob Herring}; 155724ba675SRob Herring 156724ba675SRob Herring 157724ba675SRob Herringð0 { 158724ba675SRob Herring status = "okay"; 159724ba675SRob Herring 160724ba675SRob Herring ethernet0-port@0 { 161724ba675SRob Herring phy-handle = <ðphy0>; 162724ba675SRob Herring }; 163724ba675SRob Herring}; 164724ba675SRob Herring 165724ba675SRob Herring&i2c0 { 166724ba675SRob Herring status = "okay"; 167724ba675SRob Herring 168724ba675SRob Herring rtc@68 { 169724ba675SRob Herring compatible = "htk,ht1382"; 170724ba675SRob Herring reg = <0x68>; 171724ba675SRob Herring }; 172724ba675SRob Herring}; 173724ba675SRob Herring 174724ba675SRob Herring&mdio { 175724ba675SRob Herring status = "okay"; 176724ba675SRob Herring 177724ba675SRob Herring ethphy0: ethernet-phy@1 { 178724ba675SRob Herring reg = <1>; 179724ba675SRob Herring phy-mode = "rgmii-id"; 180724ba675SRob Herring marvell,reg-init = <0x1 0x16 0x0 0x3>, 181724ba675SRob Herring <0x1 0x10 0x0 0x1017>, 182724ba675SRob Herring <0x1 0x11 0x0 0x4408>, 183724ba675SRob Herring <0x1 0x16 0x0 0x0>; 184724ba675SRob Herring }; 185724ba675SRob Herring}; 186724ba675SRob Herring 187724ba675SRob Herring&nand { 188724ba675SRob Herring status = "okay"; 189724ba675SRob Herring chip-delay = <35>; 190724ba675SRob Herring 191724ba675SRob Herring partition@0 { 192724ba675SRob Herring label = "uboot"; 193724ba675SRob Herring reg = <0x0000000 0x00c0000>; 194724ba675SRob Herring read-only; 195724ba675SRob Herring }; 196724ba675SRob Herring partition@c0000 { 197724ba675SRob Herring label = "uboot_env"; 198724ba675SRob Herring reg = <0x00c0000 0x0080000>; 199724ba675SRob Herring }; 200724ba675SRob Herring partition@140000 { 201724ba675SRob Herring label = "ubi"; 202724ba675SRob Herring reg = <0x0140000 0x7ec0000>; 203724ba675SRob Herring }; 204724ba675SRob Herring}; 205724ba675SRob Herring 206724ba675SRob Herring&pciec { 207724ba675SRob Herring status = "okay"; 208724ba675SRob Herring}; 209724ba675SRob Herring 210724ba675SRob Herring&pcie0 { 211724ba675SRob Herring status = "okay"; 212724ba675SRob Herring}; 213724ba675SRob Herring 214724ba675SRob Herring&pinctrl { 215724ba675SRob Herring pinctrl-names = "default"; 216724ba675SRob Herring 217724ba675SRob Herring pmx_buttons: pmx-buttons { 218724ba675SRob Herring marvell,pins = "mpp24", "mpp25", "mpp26"; 219724ba675SRob Herring marvell,function = "gpio"; 220724ba675SRob Herring }; 221724ba675SRob Herring 222724ba675SRob Herring pmx_leds: pmx-leds { 223724ba675SRob Herring marvell,pins = "mpp13", "mpp15", "mpp16", "mpp22", "mpp23", 224724ba675SRob Herring "mpp28", "mpp29"; 225724ba675SRob Herring marvell,function = "gpio"; 226724ba675SRob Herring }; 227724ba675SRob Herring 228724ba675SRob Herring pmx_power: pmx-power { 229724ba675SRob Herring marvell,pins = "mpp21", "mpp33"; 230724ba675SRob Herring marvell,function = "gpio"; 231724ba675SRob Herring }; 232724ba675SRob Herring 233724ba675SRob Herring pmx_pwr_off: pmx-pwr-off { 234724ba675SRob Herring marvell,pins = "mpp27"; 235724ba675SRob Herring marvell,function = "gpio"; 236724ba675SRob Herring }; 237724ba675SRob Herring}; 238724ba675SRob Herring 239724ba675SRob Herring&rtc { 240724ba675SRob Herring status = "disabled"; 241724ba675SRob Herring}; 242724ba675SRob Herring 243724ba675SRob Herring&sata { 244724ba675SRob Herring status = "okay"; 245724ba675SRob Herring nr-ports = <1>; 246724ba675SRob Herring #address-cells = <1>; 247724ba675SRob Herring #size-cells = <0>; 248724ba675SRob Herring 249724ba675SRob Herring hdd_temp: sata-port@0 { 250724ba675SRob Herring reg = <0>; 251724ba675SRob Herring #thermal-sensor-cells = <0>; 252724ba675SRob Herring }; 253724ba675SRob Herring}; 254724ba675SRob Herring 255724ba675SRob Herring&uart0 { 256724ba675SRob Herring status = "okay"; 257724ba675SRob Herring}; 258