summaryrefslogtreecommitdiff
path: root/arch/mips/boot/dts/ingenic/gcw0.dts
blob: f58d239c20586cba391327d0d5a3a77629a8e438 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
// SPDX-License-Identifier: GPL-2.0
/dts-v1/;

#include "jz4770.dtsi"
#include <dt-bindings/clock/ingenic,tcu.h>

/ {
	compatible = "gcw,zero", "ingenic,jz4770";
	model = "GCW Zero";

	aliases {
		serial0 = &uart0;
		serial1 = &uart1;
		serial2 = &uart2;
		serial3 = &uart3;
	};

	chosen {
		stdout-path = "serial2:57600n8";
	};

	board {
		compatible = "simple-bus";
		#address-cells = <1>;
		#size-cells = <1>;
		ranges;

		otg_phy: otg-phy {
			compatible = "usb-nop-xceiv";
			clocks = <&cgu JZ4770_CLK_OTG_PHY>;
			clock-names = "main_clk";
		};
	};
};

&ext {
	clock-frequency = <12000000>;
};

&uart2 {
	status = "okay";
};

&cgu {
	/* Put high-speed peripherals under PLL1, such that we can change the
	 * PLL0 frequency on demand without having to suspend peripherals.
	 * We use a rate of 432 MHz, which is the least common multiple of
	 * 27 MHz (required by TV encoder) and 48 MHz (required by USB host).
	 */
	assigned-clocks =
		<&cgu JZ4770_CLK_PLL1>,
		<&cgu JZ4770_CLK_UHC>;
	assigned-clock-parents =
		<0>,
		<&cgu JZ4770_CLK_PLL1>;
	assigned-clock-rates =
		<432000000>;
};

&uhc {
	/* The WiFi module is connected to the UHC. */
	status = "okay";
};

&tcu {
	/* 750 kHz for the system timer and clocksource */
	assigned-clocks = <&tcu TCU_CLK_TIMER0>, <&tcu TCU_CLK_TIMER2>;
	assigned-clock-rates = <750000>, <750000>;

	/* PWM1 is in use, so reserve channel #2 for the clocksource */
	ingenic,pwm-channels-mask = <0xfa>;
};