1*07076ac5SChris Packham// SPDX-License-Identifier: GPL-2.0 2*07076ac5SChris Packham#include "kirkwood.dtsi" 3*07076ac5SChris Packham#include "kirkwood-6281.dtsi" 4*07076ac5SChris Packham 5*07076ac5SChris Packham/ { 6*07076ac5SChris Packham model = "D-Link DNS NASes (kirkwood-based)"; 7*07076ac5SChris Packham compatible = "dlink,dns-kirkwood", "marvell,kirkwood-88f6281", "marvell,kirkwood"; 8*07076ac5SChris Packham 9*07076ac5SChris Packham gpio_keys { 10*07076ac5SChris Packham compatible = "gpio-keys"; 11*07076ac5SChris Packham #address-cells = <1>; 12*07076ac5SChris Packham #size-cells = <0>; 13*07076ac5SChris Packham pinctrl-0 = <&pmx_button_power &pmx_button_unmount 14*07076ac5SChris Packham &pmx_button_reset>; 15*07076ac5SChris Packham pinctrl-names = "default"; 16*07076ac5SChris Packham 17*07076ac5SChris Packham power { 18*07076ac5SChris Packham label = "Power button"; 19*07076ac5SChris Packham linux,code = <KEY_POWER>; 20*07076ac5SChris Packham gpios = <&gpio1 2 GPIO_ACTIVE_LOW>; 21*07076ac5SChris Packham }; 22*07076ac5SChris Packham eject { 23*07076ac5SChris Packham label = "USB unmount button"; 24*07076ac5SChris Packham linux,code = <KEY_EJECTCD>; 25*07076ac5SChris Packham gpios = <&gpio1 15 GPIO_ACTIVE_LOW>; 26*07076ac5SChris Packham }; 27*07076ac5SChris Packham reset { 28*07076ac5SChris Packham label = "Reset button"; 29*07076ac5SChris Packham linux,code = <KEY_RESTART>; 30*07076ac5SChris Packham gpios = <&gpio1 16 GPIO_ACTIVE_LOW>; 31*07076ac5SChris Packham }; 32*07076ac5SChris Packham }; 33*07076ac5SChris Packham 34*07076ac5SChris Packham gpio_fan { 35*07076ac5SChris Packham /* Fan: ADDA AD045HB-G73 40mm 6000rpm@5v */ 36*07076ac5SChris Packham compatible = "gpio-fan"; 37*07076ac5SChris Packham pinctrl-0 = <&pmx_fan_high_speed &pmx_fan_low_speed>; 38*07076ac5SChris Packham pinctrl-names = "default"; 39*07076ac5SChris Packham gpios = <&gpio1 14 GPIO_ACTIVE_LOW 40*07076ac5SChris Packham &gpio1 13 GPIO_ACTIVE_LOW>; 41*07076ac5SChris Packham gpio-fan,speed-map = <0 0 42*07076ac5SChris Packham 3000 1 43*07076ac5SChris Packham 6000 2>; 44*07076ac5SChris Packham }; 45*07076ac5SChris Packham 46*07076ac5SChris Packham gpio_poweroff { 47*07076ac5SChris Packham compatible = "gpio-poweroff"; 48*07076ac5SChris Packham pinctrl-0 = <&pmx_power_off>; 49*07076ac5SChris Packham pinctrl-names = "default"; 50*07076ac5SChris Packham gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>; 51*07076ac5SChris Packham }; 52*07076ac5SChris Packham 53*07076ac5SChris Packham ocp@f1000000 { 54*07076ac5SChris Packham pinctrl: pin-controller@10000 { 55*07076ac5SChris Packham 56*07076ac5SChris Packham pinctrl-0 = <&pmx_power_back_on &pmx_present_sata0 57*07076ac5SChris Packham &pmx_present_sata1 &pmx_fan_tacho 58*07076ac5SChris Packham &pmx_temp_alarm>; 59*07076ac5SChris Packham pinctrl-names = "default"; 60*07076ac5SChris Packham 61*07076ac5SChris Packham pmx_sata0: pmx-sata0 { 62*07076ac5SChris Packham marvell,pins = "mpp20"; 63*07076ac5SChris Packham marvell,function = "sata1"; 64*07076ac5SChris Packham }; 65*07076ac5SChris Packham pmx_sata1: pmx-sata1 { 66*07076ac5SChris Packham marvell,pins = "mpp21"; 67*07076ac5SChris Packham marvell,function = "sata0"; 68*07076ac5SChris Packham }; 69*07076ac5SChris Packham pmx_led_power: pmx-led-power { 70*07076ac5SChris Packham marvell,pins = "mpp26"; 71*07076ac5SChris Packham marvell,function = "gpio"; 72*07076ac5SChris Packham }; 73*07076ac5SChris Packham pmx_led_red_right_hdd: pmx-led-red-right-hdd { 74*07076ac5SChris Packham marvell,pins = "mpp27"; 75*07076ac5SChris Packham marvell,function = "gpio"; 76*07076ac5SChris Packham }; 77*07076ac5SChris Packham pmx_led_red_left_hdd: pmx-led-red-left-hdd { 78*07076ac5SChris Packham marvell,pins = "mpp28"; 79*07076ac5SChris Packham marvell,function = "gpio"; 80*07076ac5SChris Packham }; 81*07076ac5SChris Packham pmx_led_red_usb_325: pmx-led-red-usb-325 { 82*07076ac5SChris Packham marvell,pins = "mpp29"; 83*07076ac5SChris Packham marvell,function = "gpio"; 84*07076ac5SChris Packham }; 85*07076ac5SChris Packham pmx_button_power: pmx-button-power { 86*07076ac5SChris Packham marvell,pins = "mpp34"; 87*07076ac5SChris Packham marvell,function = "gpio"; 88*07076ac5SChris Packham }; 89*07076ac5SChris Packham pmx_led_red_usb_320: pmx-led-red-usb-320 { 90*07076ac5SChris Packham marvell,pins = "mpp35"; 91*07076ac5SChris Packham marvell,function = "gpio"; 92*07076ac5SChris Packham }; 93*07076ac5SChris Packham pmx_power_off: pmx-power-off { 94*07076ac5SChris Packham marvell,pins = "mpp36"; 95*07076ac5SChris Packham marvell,function = "gpio"; 96*07076ac5SChris Packham }; 97*07076ac5SChris Packham pmx_power_back_on: pmx-power-back-on { 98*07076ac5SChris Packham marvell,pins = "mpp37"; 99*07076ac5SChris Packham marvell,function = "gpio"; 100*07076ac5SChris Packham }; 101*07076ac5SChris Packham pmx_power_sata0: pmx-power-sata0 { 102*07076ac5SChris Packham marvell,pins = "mpp39"; 103*07076ac5SChris Packham marvell,function = "gpio"; 104*07076ac5SChris Packham }; 105*07076ac5SChris Packham pmx_power_sata1: pmx-power-sata1 { 106*07076ac5SChris Packham marvell,pins = "mpp40"; 107*07076ac5SChris Packham marvell,function = "gpio"; 108*07076ac5SChris Packham }; 109*07076ac5SChris Packham pmx_present_sata0: pmx-present-sata0 { 110*07076ac5SChris Packham marvell,pins = "mpp41"; 111*07076ac5SChris Packham marvell,function = "gpio"; 112*07076ac5SChris Packham }; 113*07076ac5SChris Packham pmx_present_sata1: pmx-present-sata1 { 114*07076ac5SChris Packham marvell,pins = "mpp42"; 115*07076ac5SChris Packham marvell,function = "gpio"; 116*07076ac5SChris Packham }; 117*07076ac5SChris Packham pmx_led_white_usb: pmx-led-white-usb { 118*07076ac5SChris Packham marvell,pins = "mpp43"; 119*07076ac5SChris Packham marvell,function = "gpio"; 120*07076ac5SChris Packham }; 121*07076ac5SChris Packham pmx_fan_tacho: pmx-fan-tacho { 122*07076ac5SChris Packham marvell,pins = "mpp44"; 123*07076ac5SChris Packham marvell,function = "gpio"; 124*07076ac5SChris Packham }; 125*07076ac5SChris Packham pmx_fan_high_speed: pmx-fan-high-speed { 126*07076ac5SChris Packham marvell,pins = "mpp45"; 127*07076ac5SChris Packham marvell,function = "gpio"; 128*07076ac5SChris Packham }; 129*07076ac5SChris Packham pmx_fan_low_speed: pmx-fan-low-speed { 130*07076ac5SChris Packham marvell,pins = "mpp46"; 131*07076ac5SChris Packham marvell,function = "gpio"; 132*07076ac5SChris Packham }; 133*07076ac5SChris Packham pmx_button_unmount: pmx-button-unmount { 134*07076ac5SChris Packham marvell,pins = "mpp47"; 135*07076ac5SChris Packham marvell,function = "gpio"; 136*07076ac5SChris Packham }; 137*07076ac5SChris Packham pmx_button_reset: pmx-button-reset { 138*07076ac5SChris Packham marvell,pins = "mpp48"; 139*07076ac5SChris Packham marvell,function = "gpio"; 140*07076ac5SChris Packham }; 141*07076ac5SChris Packham pmx_temp_alarm: pmx-temp-alarm { 142*07076ac5SChris Packham marvell,pins = "mpp49"; 143*07076ac5SChris Packham marvell,function = "gpio"; 144*07076ac5SChris Packham }; 145*07076ac5SChris Packham }; 146*07076ac5SChris Packham sata@80000 { 147*07076ac5SChris Packham pinctrl-0 = <&pmx_sata0 &pmx_sata1>; 148*07076ac5SChris Packham pinctrl-names = "default"; 149*07076ac5SChris Packham status = "okay"; 150*07076ac5SChris Packham nr-ports = <2>; 151*07076ac5SChris Packham }; 152*07076ac5SChris Packham }; 153*07076ac5SChris Packham 154*07076ac5SChris Packham regulators { 155*07076ac5SChris Packham compatible = "simple-bus"; 156*07076ac5SChris Packham #address-cells = <1>; 157*07076ac5SChris Packham #size-cells = <0>; 158*07076ac5SChris Packham pinctrl-0 = <&pmx_power_sata0 &pmx_power_sata1>; 159*07076ac5SChris Packham pinctrl-names = "default"; 160*07076ac5SChris Packham 161*07076ac5SChris Packham sata0_power: regulator@1 { 162*07076ac5SChris Packham compatible = "regulator-fixed"; 163*07076ac5SChris Packham reg = <1>; 164*07076ac5SChris Packham regulator-name = "SATA0 Power"; 165*07076ac5SChris Packham regulator-min-microvolt = <5000000>; 166*07076ac5SChris Packham regulator-max-microvolt = <5000000>; 167*07076ac5SChris Packham enable-active-high; 168*07076ac5SChris Packham regulator-always-on; 169*07076ac5SChris Packham regulator-boot-on; 170*07076ac5SChris Packham gpio = <&gpio1 7 0>; 171*07076ac5SChris Packham }; 172*07076ac5SChris Packham sata1_power: regulator@2 { 173*07076ac5SChris Packham compatible = "regulator-fixed"; 174*07076ac5SChris Packham reg = <2>; 175*07076ac5SChris Packham regulator-name = "SATA1 Power"; 176*07076ac5SChris Packham regulator-min-microvolt = <5000000>; 177*07076ac5SChris Packham regulator-max-microvolt = <5000000>; 178*07076ac5SChris Packham enable-active-high; 179*07076ac5SChris Packham regulator-always-on; 180*07076ac5SChris Packham regulator-boot-on; 181*07076ac5SChris Packham gpio = <&gpio1 8 0>; 182*07076ac5SChris Packham }; 183*07076ac5SChris Packham }; 184*07076ac5SChris Packham}; 185*07076ac5SChris Packham 186*07076ac5SChris Packham&nand { 187*07076ac5SChris Packham status = "okay"; 188*07076ac5SChris Packham chip-delay = <35>; 189*07076ac5SChris Packham 190*07076ac5SChris Packham partition@0 { 191*07076ac5SChris Packham label = "u-boot"; 192*07076ac5SChris Packham reg = <0x0000000 0x100000>; 193*07076ac5SChris Packham read-only; 194*07076ac5SChris Packham }; 195*07076ac5SChris Packham 196*07076ac5SChris Packham partition@100000 { 197*07076ac5SChris Packham label = "uImage"; 198*07076ac5SChris Packham reg = <0x0100000 0x500000>; 199*07076ac5SChris Packham }; 200*07076ac5SChris Packham 201*07076ac5SChris Packham partition@600000 { 202*07076ac5SChris Packham label = "ramdisk"; 203*07076ac5SChris Packham reg = <0x0600000 0x500000>; 204*07076ac5SChris Packham }; 205*07076ac5SChris Packham 206*07076ac5SChris Packham partition@b00000 { 207*07076ac5SChris Packham label = "image"; 208*07076ac5SChris Packham reg = <0x0b00000 0x6600000>; 209*07076ac5SChris Packham }; 210*07076ac5SChris Packham 211*07076ac5SChris Packham partition@7100000 { 212*07076ac5SChris Packham label = "mini firmware"; 213*07076ac5SChris Packham reg = <0x7100000 0xa00000>; 214*07076ac5SChris Packham }; 215*07076ac5SChris Packham 216*07076ac5SChris Packham partition@7b00000 { 217*07076ac5SChris Packham label = "config"; 218*07076ac5SChris Packham reg = <0x7b00000 0x500000>; 219*07076ac5SChris Packham }; 220*07076ac5SChris Packham}; 221*07076ac5SChris Packham 222*07076ac5SChris Packham&mdio { 223*07076ac5SChris Packham status = "okay"; 224*07076ac5SChris Packham 225*07076ac5SChris Packham ethphy0: ethernet-phy@8 { 226*07076ac5SChris Packham reg = <8>; 227*07076ac5SChris Packham }; 228*07076ac5SChris Packham}; 229*07076ac5SChris Packham 230*07076ac5SChris Packhamð0 { 231*07076ac5SChris Packham status = "okay"; 232*07076ac5SChris Packham ethernet0-port@0 { 233*07076ac5SChris Packham phy-handle = <ðphy0>; 234*07076ac5SChris Packham }; 235*07076ac5SChris Packham}; 236