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