0001 // SPDX-License-Identifier: GPL-2.0+
0002 /*
0003 * Device Tree file for NETGEAR ReadyNAS NV+ v2
0004 *
0005 * Copyright (C) 2013, Arnaud EBALARD <arno@natisbad.org>
0006 */
0007
0008 /dts-v1/;
0009
0010 #include "kirkwood.dtsi"
0011 #include "kirkwood-6282.dtsi"
0012
0013 / {
0014 model = "NETGEAR ReadyNAS NV+ v2";
0015 compatible = "netgear,readynas-nv+-v2", "netgear,readynas", "marvell,kirkwood-88f6282", "marvell,kirkwood";
0016
0017 memory { /* 256 MB */
0018 device_type = "memory";
0019 reg = <0x00000000 0x10000000>;
0020 };
0021
0022 chosen {
0023 bootargs = "console=ttyS0,115200n8 earlyprintk";
0024 stdout-path = &uart0;
0025 };
0026
0027 ocp@f1000000 {
0028 pinctrl: pin-controller@10000 {
0029 pmx_button_power: pmx-button-power {
0030 marvell,pins = "mpp47";
0031 marvell,function = "gpio";
0032 };
0033
0034 pmx_button_backup: pmx-button-backup {
0035 marvell,pins = "mpp45";
0036 marvell,function = "gpio";
0037 };
0038
0039 pmx_button_reset: pmx-button-reset {
0040 marvell,pins = "mpp13";
0041 marvell,function = "gpio";
0042 };
0043
0044 pmx_led_blue_power: pmx-led-blue-power {
0045 marvell,pins = "mpp31";
0046 marvell,function = "gpio";
0047 };
0048
0049 pmx_led_blue_backup: pmx-led-blue-backup {
0050 marvell,pins = "mpp22";
0051 marvell,function = "gpio";
0052 };
0053
0054 pmx_led_blue_disk1: pmx-led-blue-disk1 {
0055 marvell,pins = "mpp20";
0056 marvell,function = "gpio";
0057 };
0058
0059 pmx_led_blue_disk2: pmx-led-blue-disk2 {
0060 marvell,pins = "mpp23";
0061 marvell,function = "gpio";
0062 };
0063
0064 pmx_led_blue_disk3: pmx-led-blue-disk3 {
0065 marvell,pins = "mpp24";
0066 marvell,function = "gpio";
0067 };
0068
0069 pmx_led_blue_disk4: pmx-led-blue-disk4 {
0070 marvell,pins = "mpp29";
0071 marvell,function = "gpio";
0072 };
0073
0074 pmx_poweroff: pmx-poweroff {
0075 marvell,pins = "mpp30";
0076 marvell,function = "gpio";
0077 };
0078 };
0079
0080 clocks {
0081 g762_clk: g762-oscillator {
0082 compatible = "fixed-clock";
0083 #clock-cells = <0>;
0084 clock-frequency = <8192>;
0085 };
0086 };
0087
0088 i2c@11000 {
0089 status = "okay";
0090
0091 rs5c372a: rs5c372a@32 {
0092 compatible = "ricoh,rs5c372a";
0093 reg = <0x32>;
0094 };
0095
0096 g762: g762@3e {
0097 compatible = "gmt,g762";
0098 reg = <0x3e>;
0099 clocks = <&g762_clk>; /* input clock */
0100 fan_gear_mode = <0>;
0101 fan_startv = <1>;
0102 pwm_polarity = <0>;
0103 };
0104 };
0105
0106 serial@12000 {
0107 status = "okay";
0108 };
0109
0110 sata@80000 { /* Connected to Marvell 88SM4140 SATA port multiplier */
0111 status = "okay";
0112 nr-ports = <1>;
0113 };
0114 };
0115
0116 auxdisplay {
0117 compatible = "hit,hd44780";
0118 data-gpios = <&gpio0 17 GPIO_ACTIVE_HIGH>,
0119 <&gpio1 1 GPIO_ACTIVE_HIGH>,
0120 <&gpio1 3 GPIO_ACTIVE_HIGH>,
0121 <&gpio1 17 GPIO_ACTIVE_HIGH>;
0122 enable-gpios = <&gpio0 16 GPIO_ACTIVE_HIGH>;
0123 rs-gpios = <&gpio0 14 GPIO_ACTIVE_HIGH>;
0124 rw-gpios = <&gpio0 15 GPIO_ACTIVE_HIGH>;
0125 backlight-gpios = <&gpio0 12 GPIO_ACTIVE_LOW>;
0126 display-height-chars = <2>;
0127 display-width-chars = <16>;
0128 };
0129
0130 gpio-leds {
0131 compatible = "gpio-leds";
0132 pinctrl-0 = < &pmx_led_blue_power &pmx_led_blue_backup
0133 &pmx_led_blue_disk1 &pmx_led_blue_disk2
0134 &pmx_led_blue_disk3 &pmx_led_blue_disk3 >;
0135 pinctrl-names = "default";
0136
0137 power_led {
0138 label = "status:blue:power_led";
0139 gpios = <&gpio0 31 GPIO_ACTIVE_LOW>;
0140 linux,default-trigger = "default-on";
0141 };
0142
0143 backup_led {
0144 label = "status:blue:backup_led";
0145 gpios = <&gpio0 22 GPIO_ACTIVE_LOW>;
0146 };
0147
0148 disk1_led {
0149 label = "status:blue:disk1_led";
0150 gpios = <&gpio0 20 GPIO_ACTIVE_LOW>;
0151 };
0152
0153 disk2_led {
0154 label = "status:blue:disk2_led";
0155 gpios = <&gpio0 23 GPIO_ACTIVE_LOW>;
0156 };
0157
0158 disk3_led {
0159 label = "status:blue:disk3_led";
0160 gpios = <&gpio0 24 GPIO_ACTIVE_LOW>;
0161 };
0162
0163 disk4_led {
0164 label = "status:blue:disk4_led";
0165 gpios = <&gpio0 29 GPIO_ACTIVE_LOW>;
0166 };
0167 };
0168
0169 gpio-keys {
0170 compatible = "gpio-keys";
0171 pinctrl-0 = <&pmx_button_power &pmx_button_backup
0172 &pmx_button_reset>;
0173 pinctrl-names = "default";
0174
0175 power-button {
0176 label = "Power Button";
0177 linux,code = <KEY_POWER>;
0178 gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
0179 };
0180
0181 reset-button {
0182 label = "Reset Button";
0183 linux,code = <KEY_RESTART>;
0184 gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
0185 };
0186
0187 backup-button {
0188 label = "Backup Button";
0189 linux,code = <KEY_COPY>;
0190 gpios = <&gpio1 13 GPIO_ACTIVE_LOW>;
0191 };
0192 };
0193
0194 gpio-poweroff {
0195 compatible = "gpio-poweroff";
0196 pinctrl-0 = <&pmx_poweroff>;
0197 pinctrl-names = "default";
0198 gpios = <&gpio0 30 GPIO_ACTIVE_LOW>;
0199 };
0200
0201 regulators {
0202 compatible = "simple-bus";
0203 #address-cells = <1>;
0204 #size-cells = <0>;
0205
0206 usb3_regulator: usb3-regulator@1 {
0207 compatible = "regulator-fixed";
0208 reg = <1>;
0209 regulator-name = "USB 3.0 Power";
0210 regulator-min-microvolt = <5000000>;
0211 regulator-max-microvolt = <5000000>;
0212 enable-active-high;
0213 regulator-always-on;
0214 regulator-boot-on;
0215 gpio = <&gpio1 14 GPIO_ACTIVE_HIGH>;
0216 };
0217 };
0218 };
0219
0220 &nand {
0221 status = "okay";
0222
0223 partition@0 {
0224 label = "u-boot";
0225 reg = <0x0000000 0x180000>;
0226 read-only;
0227 };
0228
0229 partition@180000 {
0230 label = "u-boot-env";
0231 reg = <0x180000 0x20000>;
0232 };
0233
0234 partition@200000 {
0235 label = "uImage";
0236 reg = <0x0200000 0x600000>;
0237 };
0238
0239 partition@800000 {
0240 label = "minirootfs";
0241 reg = <0x0800000 0x1000000>;
0242 };
0243
0244 partition@1800000 {
0245 label = "jffs2";
0246 reg = <0x1800000 0x6800000>;
0247 };
0248 };
0249
0250 &mdio {
0251 status = "okay";
0252
0253 ethphy0: ethernet-phy@0 { /* Marvell 88E1318 */
0254 device_type = "ethernet-phy";
0255 reg = <0>;
0256 };
0257 };
0258
0259 ð0 {
0260 status = "okay";
0261
0262 ethernet0-port@0 {
0263 phy-handle = <ðphy0>;
0264 };
0265 };
0266
0267 /* Connected to NEC uPD720200 USB 3.0 controller */
0268 &pciec {
0269 status = "okay";
0270 };
0271
0272 &pcie0 {
0273 status = "okay";
0274 };