1// SPDX-License-Identifier: GPL-2.0
2/dts-v1/;
3
4#include "dove.dtsi"
5
6/ {
7	model = "SolidRun CuBox";
8	compatible = "solidrun,cubox", "marvell,dove";
9
10	memory {
11		device_type = "memory";
12		reg = <0x00000000 0x40000000>;
13	};
14
15	chosen {
16		bootargs = "console=ttyS0,115200n8 earlyprintk";
17	};
18
19	leds {
20		compatible = "gpio-leds";
21		pinctrl-0 = <&pmx_gpio_18>;
22		pinctrl-names = "default";
23
24		led-power {
25			label = "Power";
26			gpios = <&gpio0 18 1>;
27			default-state = "keep";
28		};
29	};
30
31	regulators {
32		compatible = "simple-bus";
33		#address-cells = <1>;
34		#size-cells = <0>;
35
36		usb_power: regulator@1 {
37			compatible = "regulator-fixed";
38			reg = <1>;
39			regulator-name = "USB Power";
40			regulator-min-microvolt = <5000000>;
41			regulator-max-microvolt = <5000000>;
42			enable-active-high;
43			regulator-always-on;
44			regulator-boot-on;
45			gpio = <&gpio0 1 0>;
46			pinctrl-0 = <&pmx_gpio_1>;
47			pinctrl-names = "default";
48		};
49	};
50
51	clocks {
52		/* 25MHz reference crystal */
53		ref25: oscillator {
54			compatible = "fixed-clock";
55			#clock-cells = <0>;
56			clock-frequency = <25000000>;
57		};
58	};
59
60	ir_recv: ir-receiver {
61		compatible = "gpio-ir-receiver";
62		gpios = <&gpio0 19 1>;
63		pinctrl-0 = <&pmx_gpio_19>;
64		pinctrl-names = "default";
65	};
66
67	gpu-subsystem {
68		status = "okay";
69	};
70};
71
72&uart0 { status = "okay"; };
73&sata0 { status = "okay"; };
74&mdio { status = "okay"; };
75&eth {
76	status = "okay";
77	ethernet-port@0 {
78		phy-handle = <&ethphy>;
79	};
80};
81
82&mdio {
83	ethphy: ethernet-phy@1 {
84		compatible = "marvell,88e1310";
85		reg = <1>;
86	};
87};
88
89&gpu {
90	status = "okay";
91};
92
93&i2c0 {
94	status = "okay";
95	clock-frequency = <100000>;
96
97	si5351: clock-generator@60 {
98		compatible = "silabs,si5351a-msop";
99		reg = <0x60>;
100		#address-cells = <1>;
101		#size-cells = <0>;
102		#clock-cells = <1>;
103
104		/* connect xtal input to 25MHz reference */
105		clocks = <&ref25>;
106		clock-names = "xtal";
107
108		/* connect xtal input as source of pll0 and pll1 */
109		silabs,pll-source = <0 0>, <1 0>;
110
111		clkout0 {
112			reg = <0>;
113			silabs,drive-strength = <8>;
114			silabs,multisynth-source = <0>;
115			silabs,clock-source = <0>;
116			silabs,pll-master;
117		};
118
119		clkout2 {
120			reg = <2>;
121			silabs,drive-strength = <8>;
122			silabs,multisynth-source = <1>;
123			silabs,clock-source = <0>;
124			silabs,pll-master;
125		};
126	};
127};
128
129&sdio0 {
130	status = "okay";
131};
132
133&spi0 {
134	status = "okay";
135
136	/* spi0.0: 4M Flash Winbond W25Q32BV */
137	flash@0 {
138		compatible = "st,w25q32";
139		spi-max-frequency = <20000000>;
140		reg = <0>;
141	};
142};
143
144&audio1 {
145	status = "okay";
146	clocks = <&gate_clk 13>, <&si5351 2>;
147	clock-names = "internal", "extclk";
148	pinctrl-0 = <&pmx_audio1_i2s1_spdifo &pmx_audio1_extclk>;
149	pinctrl-names = "default";
150};
151