1724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0-only 2724ba675SRob Herring/* 3724ba675SRob Herring * Copyright (C) 2014 Thomas Petazzoni <thomas.petazzoni@free-electrons.com> 4724ba675SRob Herring * Copyright (C) 2009 Simon Guinot <sguinot@lacie.com> 5724ba675SRob Herring */ 6724ba675SRob Herring 7724ba675SRob Herring/dts-v1/; 8724ba675SRob Herring 9724ba675SRob Herring#include <dt-bindings/gpio/gpio.h> 10724ba675SRob Herring#include <dt-bindings/input/input.h> 11724ba675SRob Herring#include <dt-bindings/interrupt-controller/irq.h> 12724ba675SRob Herring#include "orion5x-mv88f5182.dtsi" 13724ba675SRob Herring 14724ba675SRob Herring/ { 15724ba675SRob Herring model = "LaCie d2 Network"; 16724ba675SRob Herring compatible = "lacie,d2-network", "marvell,orion5x-88f5182", "marvell,orion5x"; 17724ba675SRob Herring 18724ba675SRob Herring memory { 19724ba675SRob Herring device_type = "memory"; 20724ba675SRob Herring reg = <0x00000000 0x4000000>; /* 64 MB */ 21724ba675SRob Herring }; 22724ba675SRob Herring 23724ba675SRob Herring chosen { 24724ba675SRob Herring bootargs = "console=ttyS0,115200n8 earlyprintk"; 25724ba675SRob Herring stdout-path = &uart0; 26724ba675SRob Herring }; 27724ba675SRob Herring 28724ba675SRob Herring soc { 29724ba675SRob Herring ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000>, 30724ba675SRob Herring <MBUS_ID(0x09, 0x00) 0 0xf2200000 0x800>, 31724ba675SRob Herring <MBUS_ID(0x01, 0x0f) 0 0xfff80000 0x80000>; 32724ba675SRob Herring }; 33724ba675SRob Herring 34724ba675SRob Herring gpio-keys { 35724ba675SRob Herring compatible = "gpio-keys"; 36724ba675SRob Herring pinctrl-0 = <&pmx_buttons>; 37724ba675SRob Herring pinctrl-names = "default"; 38*85860863SKrzysztof Kozlowski 39*85860863SKrzysztof Kozlowski button-front { 40724ba675SRob Herring label = "Front Push Button"; 41724ba675SRob Herring linux,code = <KEY_POWER>; 42724ba675SRob Herring gpios = <&gpio0 18 GPIO_ACTIVE_HIGH>; 43724ba675SRob Herring }; 44724ba675SRob Herring 45*85860863SKrzysztof Kozlowski switch-power-rocker-sw-on { 46724ba675SRob Herring label = "Power rocker switch (on|auto)"; 47724ba675SRob Herring linux,input-type = <5>; /* EV_SW */ 48724ba675SRob Herring linux,code = <1>; /* D2NET_SWITCH_POWER_ON */ 49724ba675SRob Herring gpios = <&gpio0 8 GPIO_ACTIVE_HIGH>; 50724ba675SRob Herring }; 51724ba675SRob Herring 52*85860863SKrzysztof Kozlowski switch-power-rocker-sw-off { 53724ba675SRob Herring label = "Power rocker switch (auto|off)"; 54724ba675SRob Herring linux,input-type = <5>; /* EV_SW */ 55724ba675SRob Herring linux,code = <2>; /* D2NET_SWITCH_POWER_OFF */ 56724ba675SRob Herring gpios = <&gpio0 9 GPIO_ACTIVE_HIGH>; 57724ba675SRob Herring }; 58724ba675SRob Herring }; 59724ba675SRob Herring 60724ba675SRob Herring regulators { 61724ba675SRob Herring compatible = "simple-bus"; 62724ba675SRob Herring #address-cells = <1>; 63724ba675SRob Herring #size-cells = <0>; 64724ba675SRob Herring pinctrl-0 = <&pmx_sata0_power &pmx_sata1_power>; 65724ba675SRob Herring pinctrl-names = "default"; 66724ba675SRob Herring 67724ba675SRob Herring sata0_power: regulator@0 { 68724ba675SRob Herring compatible = "regulator-fixed"; 69724ba675SRob Herring reg = <0>; 70724ba675SRob Herring regulator-name = "SATA0 Power"; 71724ba675SRob Herring regulator-min-microvolt = <5000000>; 72724ba675SRob Herring regulator-max-microvolt = <5000000>; 73724ba675SRob Herring enable-active-high; 74724ba675SRob Herring regulator-always-on; 75724ba675SRob Herring regulator-boot-on; 76724ba675SRob Herring gpio = <&gpio0 3 GPIO_ACTIVE_HIGH>; 77724ba675SRob Herring }; 78724ba675SRob Herring 79724ba675SRob Herring sata1_power: regulator@1 { 80724ba675SRob Herring compatible = "regulator-fixed"; 81724ba675SRob Herring reg = <1>; 82724ba675SRob Herring regulator-name = "SATA1 Power"; 83724ba675SRob Herring regulator-min-microvolt = <5000000>; 84724ba675SRob Herring regulator-max-microvolt = <5000000>; 85724ba675SRob Herring enable-active-high; 86724ba675SRob Herring regulator-always-on; 87724ba675SRob Herring regulator-boot-on; 88724ba675SRob Herring gpio = <&gpio0 12 GPIO_ACTIVE_HIGH>; 89724ba675SRob Herring }; 90724ba675SRob Herring }; 91724ba675SRob Herring}; 92724ba675SRob Herring 93724ba675SRob Herring&devbus_bootcs { 94724ba675SRob Herring status = "okay"; 95724ba675SRob Herring 96724ba675SRob Herring devbus,keep-config; 97724ba675SRob Herring 98724ba675SRob Herring /* 99724ba675SRob Herring * Currently the MTD code does not recognize the MX29LV400CBCT 100724ba675SRob Herring * as a bottom-type device. This could cause risks of 101724ba675SRob Herring * accidentally erasing critical flash sectors. We thus define 102724ba675SRob Herring * a single, write-protected partition covering the whole 103724ba675SRob Herring * flash. TODO: once the flash part TOP/BOTTOM detection 104724ba675SRob Herring * issue is sorted out in the MTD code, break this into at 105724ba675SRob Herring * least three partitions: 'u-boot code', 'u-boot environment' 106724ba675SRob Herring * and 'whatever is left'. 107724ba675SRob Herring */ 108724ba675SRob Herring flash@0 { 109724ba675SRob Herring compatible = "cfi-flash"; 110724ba675SRob Herring reg = <0 0x80000>; 111724ba675SRob Herring bank-width = <1>; 112724ba675SRob Herring #address-cells = <1>; 113724ba675SRob Herring #size-cells = <1>; 114724ba675SRob Herring 115724ba675SRob Herring partition@0 { 116724ba675SRob Herring label = "Full512Kb"; 117724ba675SRob Herring reg = <0 0x80000>; 118724ba675SRob Herring read-only; 119724ba675SRob Herring }; 120724ba675SRob Herring }; 121724ba675SRob Herring}; 122724ba675SRob Herring 123724ba675SRob Herring&mdio { 124724ba675SRob Herring status = "okay"; 125724ba675SRob Herring 126724ba675SRob Herring ethphy: ethernet-phy { 127724ba675SRob Herring reg = <8>; 128724ba675SRob Herring }; 129724ba675SRob Herring}; 130724ba675SRob Herring 131724ba675SRob Herring&ehci0 { 132724ba675SRob Herring status = "okay"; 133724ba675SRob Herring}; 134724ba675SRob Herring 135724ba675SRob Herringð { 136724ba675SRob Herring status = "okay"; 137724ba675SRob Herring 138724ba675SRob Herring ethernet-port@0 { 139724ba675SRob Herring phy-handle = <ðphy>; 140724ba675SRob Herring }; 141724ba675SRob Herring}; 142724ba675SRob Herring 143724ba675SRob Herring&i2c { 144724ba675SRob Herring status = "okay"; 145724ba675SRob Herring clock-frequency = <100000>; 146724ba675SRob Herring #address-cells = <1>; 147724ba675SRob Herring 148724ba675SRob Herring rtc@32 { 149724ba675SRob Herring compatible = "ricoh,rs5c372b"; 150724ba675SRob Herring reg = <0x32>; 151724ba675SRob Herring }; 152724ba675SRob Herring 153724ba675SRob Herring fan@3e { 154724ba675SRob Herring compatible = "gmt,g762"; 155724ba675SRob Herring reg = <0x3e>; 156724ba675SRob Herring 157724ba675SRob Herring /* Not enough HW info */ 158724ba675SRob Herring status = "disabled"; 159724ba675SRob Herring }; 160724ba675SRob Herring 161724ba675SRob Herring eeprom@50 { 162724ba675SRob Herring compatible = "atmel,24c08"; 163724ba675SRob Herring reg = <0x50>; 164724ba675SRob Herring }; 165724ba675SRob Herring}; 166724ba675SRob Herring 167724ba675SRob Herring&pinctrl { 168724ba675SRob Herring pinctrl-0 = <&pmx_leds &pmx_board_id &pmx_fan_fail>; 169724ba675SRob Herring pinctrl-names = "default"; 170724ba675SRob Herring 171724ba675SRob Herring pmx_board_id: pmx-board-id { 172724ba675SRob Herring marvell,pins = "mpp0", "mpp1", "mpp2"; 173724ba675SRob Herring marvell,function = "gpio"; 174724ba675SRob Herring }; 175724ba675SRob Herring 176724ba675SRob Herring pmx_buttons: pmx-buttons { 177724ba675SRob Herring marvell,pins = "mpp8", "mpp9", "mpp18"; 178724ba675SRob Herring marvell,function = "gpio"; 179724ba675SRob Herring }; 180724ba675SRob Herring 181724ba675SRob Herring pmx_fan_fail: pmx-fan-fail { 182724ba675SRob Herring marvell,pins = "mpp5"; 183724ba675SRob Herring marvell,function = "gpio"; 184724ba675SRob Herring }; 185724ba675SRob Herring 186724ba675SRob Herring /* 187724ba675SRob Herring * MPP6: Red front LED 188724ba675SRob Herring * MPP16: Blue front LED blink control 189724ba675SRob Herring */ 190724ba675SRob Herring pmx_leds: pmx-leds { 191724ba675SRob Herring marvell,pins = "mpp6", "mpp16"; 192724ba675SRob Herring marvell,function = "gpio"; 193724ba675SRob Herring }; 194724ba675SRob Herring 195724ba675SRob Herring pmx_sata0_led_active: pmx-sata0-led-active { 196724ba675SRob Herring marvell,pins = "mpp14"; 197724ba675SRob Herring marvell,function = "sata0"; 198724ba675SRob Herring }; 199724ba675SRob Herring 200724ba675SRob Herring pmx_sata0_power: pmx-sata0-power { 201724ba675SRob Herring marvell,pins = "mpp3"; 202724ba675SRob Herring marvell,function = "gpio"; 203724ba675SRob Herring }; 204724ba675SRob Herring 205724ba675SRob Herring pmx_sata1_led_active: pmx-sata1-led-active { 206724ba675SRob Herring marvell,pins = "mpp15"; 207724ba675SRob Herring marvell,function = "sata1"; 208724ba675SRob Herring }; 209724ba675SRob Herring 210724ba675SRob Herring pmx_sata1_power: pmx-sata1-power { 211724ba675SRob Herring marvell,pins = "mpp12"; 212724ba675SRob Herring marvell,function = "gpio"; 213724ba675SRob Herring }; 214724ba675SRob Herring 215724ba675SRob Herring /* 216724ba675SRob Herring * Non MPP GPIOs: 217724ba675SRob Herring * GPIO 22: USB port 1 fuse (0 = Fail, 1 = Ok) 218724ba675SRob Herring * GPIO 23: Blue front LED off 219724ba675SRob Herring * GPIO 24: Inhibit board power off (0 = Disabled, 1 = Enabled) 220724ba675SRob Herring */ 221724ba675SRob Herring}; 222724ba675SRob Herring 223724ba675SRob Herring&sata { 224724ba675SRob Herring pinctrl-0 = <&pmx_sata0_led_active 225724ba675SRob Herring &pmx_sata1_led_active>; 226724ba675SRob Herring pinctrl-names = "default"; 227724ba675SRob Herring status = "okay"; 228724ba675SRob Herring nr-ports = <2>; 229724ba675SRob Herring}; 230724ba675SRob Herring 231724ba675SRob Herring&uart0 { 232724ba675SRob Herring status = "okay"; 233724ba675SRob Herring}; 234