xref: /linux/arch/arm/boot/dts/marvell/orion5x-lacie-ethernet-disk-mini-v2.dts (revision c532de5a67a70f8533d495f8f2aaa9a0491c3ad0)
1// SPDX-License-Identifier: GPL-2.0-only
2// Copyright (C) 2012 Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
3
4/*
5 * TODO: add Orion USB device port init when kernel.org support is added.
6 * TODO: add flash write support: see below.
7 * TODO: add power-off support.
8 * TODO: add I2C EEPROM support.
9 */
10
11/dts-v1/;
12
13#include <dt-bindings/gpio/gpio.h>
14#include <dt-bindings/input/input.h>
15#include <dt-bindings/interrupt-controller/irq.h>
16#include "orion5x-mv88f5182.dtsi"
17
18/ {
19	model = "LaCie Ethernet Disk mini V2";
20	compatible = "lacie,ethernet-disk-mini-v2", "marvell,orion5x-88f5182", "marvell,orion5x";
21
22	memory {
23		device_type = "memory";
24		reg = <0x00000000 0x4000000>; /* 64 MB */
25	};
26
27	chosen {
28		bootargs = "console=ttyS0,115200n8 earlyprintk";
29		stdout-path = &uart0;
30	};
31
32	soc {
33		ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000>,
34			 <MBUS_ID(0x09, 0x00) 0 0xf2200000 0x800>,
35			 <MBUS_ID(0x01, 0x0f) 0 0xfff80000 0x80000>;
36	};
37
38	gpio-keys {
39		compatible = "gpio-keys";
40		pinctrl-0 = <&pmx_power_button>;
41		pinctrl-names = "default";
42
43		button-1 {
44			label = "Power-on Switch";
45			linux,code = <KEY_POWER>;
46			gpios = <&gpio0 18 GPIO_ACTIVE_HIGH>;
47		};
48	};
49
50	gpio-leds {
51		compatible = "gpio-leds";
52		pinctrl-0 = <&pmx_power_led>;
53		pinctrl-names = "default";
54
55		led-1 {
56			label = "power:blue";
57			gpios = <&gpio0 16 GPIO_ACTIVE_LOW>;
58		};
59	};
60};
61
62&devbus_bootcs {
63	status = "okay";
64
65	/* Read parameters */
66	devbus,bus-width    = <8>;
67	devbus,turn-off-ps  = <90000>;
68	devbus,badr-skew-ps = <0>;
69	devbus,acc-first-ps = <186000>;
70	devbus,acc-next-ps  = <186000>;
71
72	/* Write parameters */
73	devbus,wr-high-ps  = <90000>;
74	devbus,wr-low-ps   = <90000>;
75	devbus,ale-wr-ps   = <90000>;
76
77	/*
78	 * Currently the MTD code does not recognize the MX29LV400CBCT
79	 * as a bottom-type device. This could cause risks of
80	 * accidentally erasing critical flash sectors. We thus define
81	 * a single, write-protected partition covering the whole
82	 * flash.  TODO: once the flash part TOP/BOTTOM detection
83	 * issue is sorted out in the MTD code, break this into at
84	 * least three partitions: 'u-boot code', 'u-boot environment'
85	 * and 'whatever is left'.
86	 */
87	flash@0 {
88		compatible = "cfi-flash";
89		reg = <0 0x80000>;
90		bank-width = <1>;
91		#address-cells = <1>;
92		#size-cells = <1>;
93
94		partition@0 {
95			label = "Full512Kb";
96			reg = <0 0x80000>;
97			read-only;
98		};
99	};
100};
101
102&ehci0 {
103	status = "okay";
104};
105
106&eth {
107	status = "okay";
108
109	ethernet-port@0 {
110		phy-handle = <&ethphy>;
111	};
112};
113
114&i2c {
115	status = "okay";
116	clock-frequency = <100000>;
117	#address-cells = <1>;
118
119	rtc@32 {
120		compatible = "ricoh,rs5c372a";
121		reg = <0x32>;
122		interrupt-parent = <&gpio0>;
123		interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
124	};
125};
126
127&mdio {
128	status = "okay";
129
130	ethphy: ethernet-phy {
131		reg = <8>;
132	};
133};
134
135&pinctrl {
136	pinctrl-0 = <&pmx_rtc &pmx_power_led_ctrl>;
137	pinctrl-names = "default";
138
139	pmx_power_button: pmx-power-button {
140		marvell,pins = "mpp18";
141		marvell,function = "gpio";
142	};
143
144	pmx_power_led: pmx-power-led {
145		marvell,pins = "mpp16";
146		marvell,function = "gpio";
147	};
148
149	pmx_power_led_ctrl: pmx-power-led-ctrl {
150		marvell,pins = "mpp17";
151		marvell,function = "gpio";
152	};
153
154	pmx_rtc: pmx-rtc {
155		marvell,pins = "mpp3";
156		marvell,function = "gpio";
157	};
158};
159
160&sata {
161	pinctrl-0 = <&pmx_sata0 &pmx_sata1>;
162	pinctrl-names = "default";
163	status = "okay";
164	nr-ports = <2>;
165};
166
167&uart0 {
168	status = "okay";
169};
170