blob: 0043e0040153c4aeacf129f75e6b9ce47a280519 [file] [log] [blame]
Thomas Petazzoni07f645d2012-11-16 16:39:46 +01001/*
2 * Copyright (C) 2012 Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
3 *
4 * This file is licensed under the terms of the GNU General Public
5 * License version 2. This program is licensed "as is" without any
6 * warranty of any kind, whether express or implied.
7 */
8
Thomas Petazzoni9c4d82e2014-04-22 23:26:36 +02009/*
10 * TODO: add Orion USB device port init when kernel.org support is added.
11 * TODO: add flash write support: see below.
12 * TODO: add power-off support.
13 * TODO: add I2C EEPROM support.
14 */
15
Thomas Petazzoni07f645d2012-11-16 16:39:46 +010016/dts-v1/;
Thomas Petazzoni48be9702014-04-22 23:26:15 +020017
Thomas Petazzoni2a934742014-04-22 23:26:16 +020018#include <dt-bindings/gpio/gpio.h>
19#include <dt-bindings/input/input.h>
Thomas Petazzoni39eabec2014-04-22 23:26:33 +020020#include <dt-bindings/interrupt-controller/irq.h>
Thomas Petazzoni5c697662014-04-22 23:26:17 +020021#include "orion5x-mv88f5182.dtsi"
Thomas Petazzoni07f645d2012-11-16 16:39:46 +010022
23/ {
24 model = "LaCie Ethernet Disk mini V2";
Thomas Petazzonib2d57222013-03-06 11:23:36 +010025 compatible = "lacie,ethernet-disk-mini-v2", "marvell,orion5x-88f5182", "marvell,orion5x";
Thomas Petazzoni07f645d2012-11-16 16:39:46 +010026
27 memory {
Rob Herringabe60a32019-01-09 10:26:14 -060028 device_type = "memory";
Thomas Petazzoni07f645d2012-11-16 16:39:46 +010029 reg = <0x00000000 0x4000000>; /* 64 MB */
30 };
31
32 chosen {
33 bootargs = "console=ttyS0,115200n8 earlyprintk";
Rob Herringdb543062018-02-28 16:41:15 -060034 stdout-path = &uart0;
Thomas Petazzoni07f645d2012-11-16 16:39:46 +010035 };
36
Thomas Petazzoni5c697662014-04-22 23:26:17 +020037 soc {
38 ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000>,
Thomas Petazzonia54cd732014-04-22 23:26:35 +020039 <MBUS_ID(0x09, 0x00) 0 0xf2200000 0x800>,
40 <MBUS_ID(0x01, 0x0f) 0 0xfff80000 0x80000>;
Thomas Petazzoni07f645d2012-11-16 16:39:46 +010041 };
42
Thomas Petazzoni7ca63532014-04-22 23:26:19 +020043 gpio-keys {
Thomas Petazzoni07f645d2012-11-16 16:39:46 +010044 compatible = "gpio-keys";
Thomas Petazzoni43be7e02014-04-22 23:26:32 +020045 pinctrl-0 = <&pmx_power_button>;
46 pinctrl-names = "default";
Thomas Petazzoni07f645d2012-11-16 16:39:46 +010047 #address-cells = <1>;
48 #size-cells = <0>;
49 button@1 {
50 label = "Power-on Switch";
Thomas Petazzoni2a934742014-04-22 23:26:16 +020051 linux,code = <KEY_POWER>;
52 gpios = <&gpio0 18 GPIO_ACTIVE_HIGH>;
Thomas Petazzoni07f645d2012-11-16 16:39:46 +010053 };
54 };
55
Thomas Petazzoni7ca63532014-04-22 23:26:19 +020056 gpio-leds {
Thomas Petazzoni07f645d2012-11-16 16:39:46 +010057 compatible = "gpio-leds";
Thomas Petazzoni43be7e02014-04-22 23:26:32 +020058 pinctrl-0 = <&pmx_power_led>;
59 pinctrl-names = "default";
Thomas Petazzoni07f645d2012-11-16 16:39:46 +010060
61 led@1 {
62 label = "power:blue";
Thomas Petazzoni2a934742014-04-22 23:26:16 +020063 gpios = <&gpio0 16 GPIO_ACTIVE_LOW>;
Thomas Petazzoni07f645d2012-11-16 16:39:46 +010064 };
65 };
66};
Sebastian Hesselbarth99d64552013-07-02 13:00:20 +020067
Thomas Petazzonia54cd732014-04-22 23:26:35 +020068&devbus_bootcs {
69 status = "okay";
70
71 /* Read parameters */
72 devbus,bus-width = <8>;
73 devbus,turn-off-ps = <90000>;
74 devbus,badr-skew-ps = <0>;
75 devbus,acc-first-ps = <186000>;
76 devbus,acc-next-ps = <186000>;
77
78 /* Write parameters */
79 devbus,wr-high-ps = <90000>;
80 devbus,wr-low-ps = <90000>;
81 devbus,ale-wr-ps = <90000>;
82
83 /*
84 * Currently the MTD code does not recognize the MX29LV400CBCT
85 * as a bottom-type device. This could cause risks of
86 * accidentally erasing critical flash sectors. We thus define
87 * a single, write-protected partition covering the whole
88 * flash. TODO: once the flash part TOP/BOTTOM detection
89 * issue is sorted out in the MTD code, break this into at
90 * least three partitions: 'u-boot code', 'u-boot environment'
91 * and 'whatever is left'.
92 */
93 flash@0 {
94 compatible = "cfi-flash";
95 reg = <0 0x80000>;
96 bank-width = <1>;
97 #address-cells = <1>;
98 #size-cells = <1>;
99
100 partition@0 {
101 label = "Full512Kb";
102 reg = <0 0x80000>;
103 read-only;
104 };
105 };
106};
107
Thomas Petazzonia665fce2014-04-22 23:26:34 +0200108&ehci0 {
109 status = "okay";
110};
111
Thomas Petazzoni7e0878f2014-04-22 23:26:21 +0200112&eth {
113 status = "okay";
114
115 ethernet-port@0 {
116 phy-handle = <&ethphy>;
117 };
118};
119
Thomas Petazzoni39eabec2014-04-22 23:26:33 +0200120&i2c {
121 status = "okay";
122 clock-frequency = <100000>;
123 #address-cells = <1>;
124
125 rtc@32 {
126 compatible = "ricoh,rs5c372a";
127 reg = <0x32>;
128 interrupt-parent = <&gpio0>;
129 interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
130 };
131};
132
Sebastian Hesselbarth99d64552013-07-02 13:00:20 +0200133&mdio {
134 status = "okay";
135
136 ethphy: ethernet-phy {
Sebastian Hesselbarth99d64552013-07-02 13:00:20 +0200137 reg = <8>;
138 };
139};
140
Thomas Petazzoni43be7e02014-04-22 23:26:32 +0200141&pinctrl {
142 pinctrl-0 = <&pmx_rtc &pmx_power_led_ctrl>;
143 pinctrl-names = "default";
144
145 pmx_power_button: pmx-power-button {
146 marvell,pins = "mpp18";
147 marvell,function = "gpio";
148 };
149
150 pmx_power_led: pmx-power-led {
151 marvell,pins = "mpp16";
152 marvell,function = "gpio";
153 };
154
155 pmx_power_led_ctrl: pmx-power-led-ctrl {
156 marvell,pins = "mpp17";
157 marvell,function = "gpio";
158 };
159
160 pmx_rtc: pmx-rtc {
161 marvell,pins = "mpp3";
162 marvell,function = "gpio";
163 };
164};
165
Thomas Petazzoni7e0878f2014-04-22 23:26:21 +0200166&sata {
Thomas Petazzoni43be7e02014-04-22 23:26:32 +0200167 pinctrl-0 = <&pmx_sata0 &pmx_sata1>;
168 pinctrl-names = "default";
Sebastian Hesselbarth99d64552013-07-02 13:00:20 +0200169 status = "okay";
Thomas Petazzoni7e0878f2014-04-22 23:26:21 +0200170 nr-ports = <2>;
171};
Sebastian Hesselbarth99d64552013-07-02 13:00:20 +0200172
Thomas Petazzoni7e0878f2014-04-22 23:26:21 +0200173&uart0 {
Thomas Petazzoni7e0878f2014-04-22 23:26:21 +0200174 status = "okay";
Sebastian Hesselbarth99d64552013-07-02 13:00:20 +0200175};