// SPDX-License-Identifier: GPL-2.0+ /* Device tree file for the Zyxel NSA 325 NAS box. * * Copyright (c) 2015, Hans Ulli Kroll * * * Based upon the board setup file created by Peter Schildmann */ /dts-v1/; #include "kirkwood-nsa3x0-common.dtsi" / { model = "ZyXEL NSA325"; compatible = "zyxel,nsa325", "marvell,kirkwood-88f6282", "marvell,kirkwood"; memory { device_type = "memory"; reg = <0x00000000 0x20000000>; }; chosen { bootargs = "console=ttyS0,115200"; stdout-path = &uart0; }; ocp@f1000000 { pinctrl: pin-controller@10000 { pinctrl-names = "default"; pmx_led_hdd2_green: pmx-led-hdd2-green { marvell,pins = "mpp12"; marvell,function = "gpio"; }; pmx_led_hdd2_red: pmx-led-hdd2-red { marvell,pins = "mpp13"; marvell,function = "gpio"; }; pmx_mcu_data: pmx-mcu-data { marvell,pins = "mpp14"; marvell,function = "gpio"; }; pmx_led_usb_green: pmx-led-usb-green { marvell,pins = "mpp15"; marvell,function = "gpio"; }; pmx_mcu_clk: pmx-mcu-clk { marvell,pins = "mpp16"; marvell,function = "gpio"; }; pmx_mcu_act: pmx-mcu-act { marvell,pins = "mpp17"; marvell,function = "gpio"; }; pmx_led_sys_green: pmx-led-sys-green { marvell,pins = "mpp28"; marvell,function = "gpio"; }; pmx_led_sys_orange: pmx-led-sys-orange { marvell,pins = "mpp29"; marvell,function = "gpio"; }; pmx_led_hdd1_green: pmx-led-hdd1-green { marvell,pins = "mpp41"; marvell,function = "gpio"; }; pmx_led_hdd1_red: pmx-led-hdd1-red { marvell,pins = "mpp42"; marvell,function = "gpio"; }; pmx_htp: pmx-htp { marvell,pins = "mpp43"; marvell,function = "gpio"; }; /* * Buzzer needs to be switched at around 1kHz so is * not compatible with the gpio-beeper driver. */ pmx_buzzer: pmx-buzzer { marvell,pins = "mpp44"; marvell,function = "gpio"; }; pmx_vid_b1: pmx-vid-b1 { marvell,pins = "mpp45"; marvell,function = "gpio"; }; pmx_power_resume_data: pmx-power-resume-data { marvell,pins = "mpp47"; marvell,function = "gpio"; }; pmx_power_resume_clk: pmx-power-resume-clk { marvell,pins = "mpp49"; marvell,function = "gpio"; }; pmx_pwr_sata1: pmx-pwr-sata1 { marvell,pins = "mpp47"; marvell,function = "gpio"; }; }; /* This board uses the pcf8563 RTC instead of the SoC RTC */ rtc@10300 { status = "disabled"; }; i2c@11000 { status = "okay"; pcf8563: pcf8563@51 { compatible = "nxp,pcf8563"; reg = <0x51>; }; }; }; regulators { compatible = "simple-bus"; #address-cells = <1>; #size-cells = <0>; pinctrl-0 = <&pmx_pwr_sata1>; pinctrl-names = "default"; usb0_power: regulator@1 { enable-active-high; }; sata1_power: regulator@2 { compatible = "regulator-fixed"; reg = <2>; regulator-name = "SATA1 Power"; regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; regulator-always-on; regulator-boot-on; enable-active-high; gpio = <&gpio1 15 GPIO_ACTIVE_HIGH>; }; }; gpio-leds { compatible = "gpio-leds"; pinctrl-0 = <&pmx_led_hdd2_green &pmx_led_hdd2_red &pmx_led_usb_green &pmx_led_sys_green &pmx_led_sys_orange &pmx_led_copy_green &pmx_led_copy_red &pmx_led_hdd1_green &pmx_led_hdd1_red>; pinctrl-names = "default"; green-sys { label = "nsa325:green:sys"; gpios = <&gpio0 28 GPIO_ACTIVE_HIGH>; }; orange-sys { label = "nsa325:orange:sys"; gpios = <&gpio0 29 GPIO_ACTIVE_HIGH>; }; green-hdd1 { label = "nsa325:green:hdd1"; gpios = <&gpio1 9 GPIO_ACTIVE_HIGH>; }; red-hdd1 { label = "nsa325:red:hdd1"; gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>; }; green-hdd2 { label = "nsa325:green:hdd2"; gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>; }; red-hdd2 { label = "nsa325:red:hdd2"; gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>; }; green-usb { label = "nsa325:green:usb"; gpios = <&gpio0 15 GPIO_ACTIVE_HIGH>; }; green-copy { label = "nsa325:green:copy"; gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>; }; red-copy { label = "nsa325:red:copy"; gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>; }; /* The following pins are currently not assigned to a driver, some of them should be configured as inputs. pinctrl-0 = <&pmx_mcu_data &pmx_mcu_clk &pmx_mcu_act &pmx_htp &pmx_vid_b1 &pmx_power_resume_data &pmx_power_resume_clk>; */ }; }; &mdio { status = "okay"; ethphy0: ethernet-phy@1 { reg = <1>; }; }; ð0 { status = "okay"; ethernet0-port@0 { phy-handle = <ðphy0>; }; }; &pciec { status = "okay"; }; &pcie0 { status = "okay"; };