xref: /freebsd/sys/contrib/device-tree/src/arm/marvell/kirkwood-openrd.dtsi (revision f126890ac5386406dadf7c4cfa9566cbb56537c5)
1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0
2*f126890aSEmmanuel Vadot/*
3*f126890aSEmmanuel Vadot * Marvell OpenRD (Base|Client|Ultimate) Board Description
4*f126890aSEmmanuel Vadot *
5*f126890aSEmmanuel Vadot * Andrew Lunn <andrew@lunn.ch>
6*f126890aSEmmanuel Vadot *
7*f126890aSEmmanuel Vadot * This file contains the definitions that are common between the three
8*f126890aSEmmanuel Vadot * variants of the Marvell Kirkwood Development Board.
9*f126890aSEmmanuel Vadot */
10*f126890aSEmmanuel Vadot
11*f126890aSEmmanuel Vadot#include "kirkwood.dtsi"
12*f126890aSEmmanuel Vadot#include "kirkwood-6281.dtsi"
13*f126890aSEmmanuel Vadot
14*f126890aSEmmanuel Vadot/ {
15*f126890aSEmmanuel Vadot	memory {
16*f126890aSEmmanuel Vadot		device_type = "memory";
17*f126890aSEmmanuel Vadot		reg = <0x00000000 0x20000000>;
18*f126890aSEmmanuel Vadot	};
19*f126890aSEmmanuel Vadot
20*f126890aSEmmanuel Vadot	chosen {
21*f126890aSEmmanuel Vadot		bootargs = "console=ttyS0,115200n8";
22*f126890aSEmmanuel Vadot		stdout-path = &uart0;
23*f126890aSEmmanuel Vadot	};
24*f126890aSEmmanuel Vadot
25*f126890aSEmmanuel Vadot	ocp@f1000000 {
26*f126890aSEmmanuel Vadot		pinctrl: pin-controller@10000 {
27*f126890aSEmmanuel Vadot			pinctrl-0 = <&pmx_select28 &pmx_sdio_cd &pmx_select34>;
28*f126890aSEmmanuel Vadot			pinctrl-names = "default";
29*f126890aSEmmanuel Vadot
30*f126890aSEmmanuel Vadot			pmx_select28: pmx-select-rs232-rs485 {
31*f126890aSEmmanuel Vadot				marvell,pins = "mpp28";
32*f126890aSEmmanuel Vadot				marvell,function = "gpio";
33*f126890aSEmmanuel Vadot			};
34*f126890aSEmmanuel Vadot			pmx_sdio_cd: pmx-sdio-cd {
35*f126890aSEmmanuel Vadot				marvell,pins = "mpp29";
36*f126890aSEmmanuel Vadot				marvell,function = "gpio";
37*f126890aSEmmanuel Vadot			};
38*f126890aSEmmanuel Vadot			pmx_select34: pmx-select-uart-sd {
39*f126890aSEmmanuel Vadot				marvell,pins = "mpp34";
40*f126890aSEmmanuel Vadot				marvell,function = "gpio";
41*f126890aSEmmanuel Vadot			};
42*f126890aSEmmanuel Vadot		};
43*f126890aSEmmanuel Vadot		serial@12000 {
44*f126890aSEmmanuel Vadot			status = "okay";
45*f126890aSEmmanuel Vadot
46*f126890aSEmmanuel Vadot		};
47*f126890aSEmmanuel Vadot		sata@80000 {
48*f126890aSEmmanuel Vadot			status = "okay";
49*f126890aSEmmanuel Vadot			nr-ports = <2>;
50*f126890aSEmmanuel Vadot		};
51*f126890aSEmmanuel Vadot		mvsdio@90000 {
52*f126890aSEmmanuel Vadot			status = "okay";
53*f126890aSEmmanuel Vadot			cd-gpios = <&gpio0 29 9>;
54*f126890aSEmmanuel Vadot		};
55*f126890aSEmmanuel Vadot		gpio@10100 {
56*f126890aSEmmanuel Vadot			p28 {
57*f126890aSEmmanuel Vadot				gpio-hog;
58*f126890aSEmmanuel Vadot				gpios = <28 GPIO_ACTIVE_HIGH>;
59*f126890aSEmmanuel Vadot				/*
60*f126890aSEmmanuel Vadot				 * SelRS232or485 selects between RS-232 or RS-485
61*f126890aSEmmanuel Vadot				 * mode for the second UART.
62*f126890aSEmmanuel Vadot				 *
63*f126890aSEmmanuel Vadot				 * Low: RS-232
64*f126890aSEmmanuel Vadot				 * High: RS-485
65*f126890aSEmmanuel Vadot				 *
66*f126890aSEmmanuel Vadot				 * To use the second UART, you need to change also
67*f126890aSEmmanuel Vadot				 * the SelUARTorSD.
68*f126890aSEmmanuel Vadot				 */
69*f126890aSEmmanuel Vadot				output-low;
70*f126890aSEmmanuel Vadot				line-name = "SelRS232or485";
71*f126890aSEmmanuel Vadot			};
72*f126890aSEmmanuel Vadot		};
73*f126890aSEmmanuel Vadot		gpio@10140 {
74*f126890aSEmmanuel Vadot			p2 {
75*f126890aSEmmanuel Vadot				gpio-hog;
76*f126890aSEmmanuel Vadot				gpios = <2 GPIO_ACTIVE_HIGH>;
77*f126890aSEmmanuel Vadot				/*
78*f126890aSEmmanuel Vadot				 * SelUARTorSD selects between the second UART
79*f126890aSEmmanuel Vadot				 * (serial@12100) and SD (mvsdio@90000).
80*f126890aSEmmanuel Vadot				 *
81*f126890aSEmmanuel Vadot				 * Low: UART
82*f126890aSEmmanuel Vadot				 * High: SD
83*f126890aSEmmanuel Vadot				 *
84*f126890aSEmmanuel Vadot				 * When changing this line make sure the newly
85*f126890aSEmmanuel Vadot				 * selected device node is enabled and the
86*f126890aSEmmanuel Vadot				 * previously selected device node is disabled.
87*f126890aSEmmanuel Vadot				 */
88*f126890aSEmmanuel Vadot				output-high; /* Select SD by default */
89*f126890aSEmmanuel Vadot				line-name = "SelUARTorSD";
90*f126890aSEmmanuel Vadot			};
91*f126890aSEmmanuel Vadot		};
92*f126890aSEmmanuel Vadot	};
93*f126890aSEmmanuel Vadot};
94*f126890aSEmmanuel Vadot
95*f126890aSEmmanuel Vadot&nand {
96*f126890aSEmmanuel Vadot	status = "okay";
97*f126890aSEmmanuel Vadot	pinctrl-0 = <&pmx_nand>;
98*f126890aSEmmanuel Vadot	pinctrl-names = "default";
99*f126890aSEmmanuel Vadot
100*f126890aSEmmanuel Vadot	partition@0 {
101*f126890aSEmmanuel Vadot		label = "u-boot";
102*f126890aSEmmanuel Vadot		reg = <0x0000000 0x100000>;
103*f126890aSEmmanuel Vadot	};
104*f126890aSEmmanuel Vadot
105*f126890aSEmmanuel Vadot	partition@100000 {
106*f126890aSEmmanuel Vadot		label = "uImage";
107*f126890aSEmmanuel Vadot		reg = <0x0100000 0x400000>;
108*f126890aSEmmanuel Vadot	};
109*f126890aSEmmanuel Vadot
110*f126890aSEmmanuel Vadot	partition@600000 {
111*f126890aSEmmanuel Vadot		label = "root";
112*f126890aSEmmanuel Vadot		reg = <0x0600000 0x1FA00000>;
113*f126890aSEmmanuel Vadot	};
114*f126890aSEmmanuel Vadot};
115*f126890aSEmmanuel Vadot
116*f126890aSEmmanuel Vadot&pciec {
117*f126890aSEmmanuel Vadot	status = "okay";
118*f126890aSEmmanuel Vadot};
119*f126890aSEmmanuel Vadot
120*f126890aSEmmanuel Vadot&pcie0 {
121*f126890aSEmmanuel Vadot	status = "okay";
122*f126890aSEmmanuel Vadot};
123