1*724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0+ 2*724ba675SRob Herring/* 3*724ba675SRob Herring * Device Tree file for NETGEAR ReadyNAS Duo v2 4*724ba675SRob Herring * 5*724ba675SRob Herring * Copyright (C) 2013, Arnaud EBALARD <arno@natisbad.org> 6*724ba675SRob Herring */ 7*724ba675SRob Herring 8*724ba675SRob Herring/dts-v1/; 9*724ba675SRob Herring 10*724ba675SRob Herring#include "kirkwood.dtsi" 11*724ba675SRob Herring#include "kirkwood-6282.dtsi" 12*724ba675SRob Herring 13*724ba675SRob Herring/ { 14*724ba675SRob Herring model = "NETGEAR ReadyNAS Duo v2"; 15*724ba675SRob Herring compatible = "netgear,readynas-duo-v2", "netgear,readynas", "marvell,kirkwood-88f6282", "marvell,kirkwood"; 16*724ba675SRob Herring 17*724ba675SRob Herring memory { /* 256 MB */ 18*724ba675SRob Herring device_type = "memory"; 19*724ba675SRob Herring reg = <0x00000000 0x10000000>; 20*724ba675SRob Herring }; 21*724ba675SRob Herring 22*724ba675SRob Herring chosen { 23*724ba675SRob Herring bootargs = "console=ttyS0,115200n8 earlyprintk"; 24*724ba675SRob Herring stdout-path = &uart0; 25*724ba675SRob Herring }; 26*724ba675SRob Herring 27*724ba675SRob Herring ocp@f1000000 { 28*724ba675SRob Herring pinctrl: pin-controller@10000 { 29*724ba675SRob Herring pmx_button_power: pmx-button-power { 30*724ba675SRob Herring marvell,pins = "mpp47"; 31*724ba675SRob Herring marvell,function = "gpio"; 32*724ba675SRob Herring }; 33*724ba675SRob Herring 34*724ba675SRob Herring pmx_button_backup: pmx-button-backup { 35*724ba675SRob Herring marvell,pins = "mpp45"; 36*724ba675SRob Herring marvell,function = "gpio"; 37*724ba675SRob Herring }; 38*724ba675SRob Herring 39*724ba675SRob Herring pmx_button_reset: pmx-button-reset { 40*724ba675SRob Herring marvell,pins = "mpp13"; 41*724ba675SRob Herring marvell,function = "gpio"; 42*724ba675SRob Herring }; 43*724ba675SRob Herring 44*724ba675SRob Herring pmx_led_blue_power: pmx-led-blue-power { 45*724ba675SRob Herring marvell,pins = "mpp31"; 46*724ba675SRob Herring marvell,function = "gpio"; 47*724ba675SRob Herring }; 48*724ba675SRob Herring 49*724ba675SRob Herring pmx_led_blue_activity: pmx-led-blue-activity { 50*724ba675SRob Herring marvell,pins = "mpp38"; 51*724ba675SRob Herring marvell,function = "gpio"; 52*724ba675SRob Herring }; 53*724ba675SRob Herring 54*724ba675SRob Herring pmx_led_blue_disk1: pmx-led-blue-disk1 { 55*724ba675SRob Herring marvell,pins = "mpp23"; 56*724ba675SRob Herring marvell,function = "gpio"; 57*724ba675SRob Herring }; 58*724ba675SRob Herring 59*724ba675SRob Herring pmx_led_blue_disk2: pmx-led-blue-disk2 { 60*724ba675SRob Herring marvell,pins = "mpp22"; 61*724ba675SRob Herring marvell,function = "gpio"; 62*724ba675SRob Herring }; 63*724ba675SRob Herring 64*724ba675SRob Herring pmx_led_blue_backup: pmx-led-blue-backup { 65*724ba675SRob Herring marvell,pins = "mpp29"; 66*724ba675SRob Herring marvell,function = "gpio"; 67*724ba675SRob Herring }; 68*724ba675SRob Herring 69*724ba675SRob Herring pmx_poweroff: pmx-poweroff { 70*724ba675SRob Herring marvell,pins = "mpp30"; 71*724ba675SRob Herring marvell,function = "gpio"; 72*724ba675SRob Herring }; 73*724ba675SRob Herring }; 74*724ba675SRob Herring 75*724ba675SRob Herring clocks { 76*724ba675SRob Herring g762_clk: g762-oscillator { 77*724ba675SRob Herring compatible = "fixed-clock"; 78*724ba675SRob Herring #clock-cells = <0>; 79*724ba675SRob Herring clock-frequency = <8192>; 80*724ba675SRob Herring }; 81*724ba675SRob Herring }; 82*724ba675SRob Herring 83*724ba675SRob Herring i2c@11000 { 84*724ba675SRob Herring status = "okay"; 85*724ba675SRob Herring 86*724ba675SRob Herring rs5c372a: rs5c372a@32 { 87*724ba675SRob Herring compatible = "ricoh,rs5c372a"; 88*724ba675SRob Herring reg = <0x32>; 89*724ba675SRob Herring }; 90*724ba675SRob Herring 91*724ba675SRob Herring g762: g762@3e { 92*724ba675SRob Herring compatible = "gmt,g762"; 93*724ba675SRob Herring reg = <0x3e>; 94*724ba675SRob Herring clocks = <&g762_clk>; /* input clock */ 95*724ba675SRob Herring fan_gear_mode = <0>; 96*724ba675SRob Herring fan_startv = <1>; 97*724ba675SRob Herring pwm_polarity = <0>; 98*724ba675SRob Herring }; 99*724ba675SRob Herring }; 100*724ba675SRob Herring 101*724ba675SRob Herring serial@12000 { 102*724ba675SRob Herring status = "okay"; 103*724ba675SRob Herring }; 104*724ba675SRob Herring 105*724ba675SRob Herring sata@80000 { 106*724ba675SRob Herring status = "okay"; 107*724ba675SRob Herring nr-ports = <2>; 108*724ba675SRob Herring }; 109*724ba675SRob Herring }; 110*724ba675SRob Herring 111*724ba675SRob Herring gpio-leds { 112*724ba675SRob Herring compatible = "gpio-leds"; 113*724ba675SRob Herring pinctrl-0 = < &pmx_led_blue_power &pmx_led_blue_activity 114*724ba675SRob Herring &pmx_led_blue_disk1 &pmx_led_blue_disk2 115*724ba675SRob Herring &pmx_led_blue_backup >; 116*724ba675SRob Herring pinctrl-names = "default"; 117*724ba675SRob Herring 118*724ba675SRob Herring power_led { 119*724ba675SRob Herring label = "status:blue:power_led"; 120*724ba675SRob Herring gpios = <&gpio0 31 GPIO_ACTIVE_LOW>; 121*724ba675SRob Herring default-state = "keep"; 122*724ba675SRob Herring }; 123*724ba675SRob Herring 124*724ba675SRob Herring activity_led { 125*724ba675SRob Herring label = "status:blue:activity_led"; 126*724ba675SRob Herring gpios = <&gpio1 6 GPIO_ACTIVE_LOW>; 127*724ba675SRob Herring }; 128*724ba675SRob Herring 129*724ba675SRob Herring disk1_led { 130*724ba675SRob Herring label = "status:blue:disk1_led"; 131*724ba675SRob Herring gpios = <&gpio0 23 GPIO_ACTIVE_LOW>; 132*724ba675SRob Herring }; 133*724ba675SRob Herring 134*724ba675SRob Herring disk2_led { 135*724ba675SRob Herring label = "status:blue:disk2_led"; 136*724ba675SRob Herring gpios = <&gpio0 22 GPIO_ACTIVE_LOW>; 137*724ba675SRob Herring }; 138*724ba675SRob Herring 139*724ba675SRob Herring backup_led { 140*724ba675SRob Herring label = "status:blue:backup_led"; 141*724ba675SRob Herring gpios = <&gpio0 29 GPIO_ACTIVE_LOW>; 142*724ba675SRob Herring }; 143*724ba675SRob Herring }; 144*724ba675SRob Herring 145*724ba675SRob Herring gpio-keys { 146*724ba675SRob Herring compatible = "gpio-keys"; 147*724ba675SRob Herring pinctrl-0 = <&pmx_button_power &pmx_button_backup 148*724ba675SRob Herring &pmx_button_reset>; 149*724ba675SRob Herring pinctrl-names = "default"; 150*724ba675SRob Herring 151*724ba675SRob Herring power-button { 152*724ba675SRob Herring label = "Power Button"; 153*724ba675SRob Herring linux,code = <KEY_POWER>; 154*724ba675SRob Herring gpios = <&gpio1 15 GPIO_ACTIVE_LOW>; 155*724ba675SRob Herring }; 156*724ba675SRob Herring 157*724ba675SRob Herring reset-button { 158*724ba675SRob Herring label = "Reset Button"; 159*724ba675SRob Herring linux,code = <KEY_RESTART>; 160*724ba675SRob Herring gpios = <&gpio0 13 GPIO_ACTIVE_LOW>; 161*724ba675SRob Herring }; 162*724ba675SRob Herring 163*724ba675SRob Herring backup-button { 164*724ba675SRob Herring label = "Backup Button"; 165*724ba675SRob Herring linux,code = <KEY_COPY>; 166*724ba675SRob Herring gpios = <&gpio1 13 GPIO_ACTIVE_LOW>; 167*724ba675SRob Herring }; 168*724ba675SRob Herring }; 169*724ba675SRob Herring 170*724ba675SRob Herring gpio-poweroff { 171*724ba675SRob Herring compatible = "gpio-poweroff"; 172*724ba675SRob Herring pinctrl-0 = <&pmx_poweroff>; 173*724ba675SRob Herring pinctrl-names = "default"; 174*724ba675SRob Herring gpios = <&gpio0 30 GPIO_ACTIVE_LOW>; 175*724ba675SRob Herring }; 176*724ba675SRob Herring 177*724ba675SRob Herring regulators { 178*724ba675SRob Herring compatible = "simple-bus"; 179*724ba675SRob Herring #address-cells = <1>; 180*724ba675SRob Herring #size-cells = <0>; 181*724ba675SRob Herring 182*724ba675SRob Herring usb3_regulator: usb3-regulator@1 { 183*724ba675SRob Herring compatible = "regulator-fixed"; 184*724ba675SRob Herring reg = <1>; 185*724ba675SRob Herring regulator-name = "USB 3.0 Power"; 186*724ba675SRob Herring regulator-min-microvolt = <5000000>; 187*724ba675SRob Herring regulator-max-microvolt = <5000000>; 188*724ba675SRob Herring enable-active-high; 189*724ba675SRob Herring regulator-always-on; 190*724ba675SRob Herring regulator-boot-on; 191*724ba675SRob Herring gpio = <&gpio1 14 GPIO_ACTIVE_HIGH>; 192*724ba675SRob Herring }; 193*724ba675SRob Herring }; 194*724ba675SRob Herring}; 195*724ba675SRob Herring 196*724ba675SRob Herring&nand { 197*724ba675SRob Herring status = "okay"; 198*724ba675SRob Herring 199*724ba675SRob Herring partition@0 { 200*724ba675SRob Herring label = "u-boot"; 201*724ba675SRob Herring reg = <0x0000000 0x180000>; 202*724ba675SRob Herring read-only; 203*724ba675SRob Herring }; 204*724ba675SRob Herring 205*724ba675SRob Herring partition@180000 { 206*724ba675SRob Herring label = "u-boot-env"; 207*724ba675SRob Herring reg = <0x180000 0x20000>; 208*724ba675SRob Herring }; 209*724ba675SRob Herring 210*724ba675SRob Herring partition@200000 { 211*724ba675SRob Herring label = "uImage"; 212*724ba675SRob Herring reg = <0x0200000 0x600000>; 213*724ba675SRob Herring }; 214*724ba675SRob Herring 215*724ba675SRob Herring partition@800000 { 216*724ba675SRob Herring label = "minirootfs"; 217*724ba675SRob Herring reg = <0x0800000 0x1000000>; 218*724ba675SRob Herring }; 219*724ba675SRob Herring 220*724ba675SRob Herring partition@1800000 { 221*724ba675SRob Herring label = "jffs2"; 222*724ba675SRob Herring reg = <0x1800000 0x6800000>; 223*724ba675SRob Herring }; 224*724ba675SRob Herring}; 225*724ba675SRob Herring 226*724ba675SRob Herring&mdio { 227*724ba675SRob Herring status = "okay"; 228*724ba675SRob Herring 229*724ba675SRob Herring ethphy0: ethernet-phy@0 { /* Marvell 88E1318 */ 230*724ba675SRob Herring reg = <0>; 231*724ba675SRob Herring }; 232*724ba675SRob Herring}; 233*724ba675SRob Herring 234*724ba675SRob Herringð0 { 235*724ba675SRob Herring status = "okay"; 236*724ba675SRob Herring ethernet0-port@0 { 237*724ba675SRob Herring phy-handle = <ðphy0>; 238*724ba675SRob Herring }; 239*724ba675SRob Herring}; 240*724ba675SRob Herring 241*724ba675SRob Herring&pciec { 242*724ba675SRob Herring status = "okay"; 243*724ba675SRob Herring}; 244*724ba675SRob Herring 245*724ba675SRob Herring&pcie0 { 246*724ba675SRob Herring status = "okay"; 247*724ba675SRob Herring}; 248