xref: /OK3568_Linux_fs/kernel/arch/mips/boot/dts/ingenic/cu1000-neo.dts (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun// SPDX-License-Identifier: GPL-2.0
2*4882a593Smuzhiyun/dts-v1/;
3*4882a593Smuzhiyun
4*4882a593Smuzhiyun#include "x1000.dtsi"
5*4882a593Smuzhiyun#include <dt-bindings/gpio/gpio.h>
6*4882a593Smuzhiyun#include <dt-bindings/clock/ingenic,tcu.h>
7*4882a593Smuzhiyun#include <dt-bindings/interrupt-controller/irq.h>
8*4882a593Smuzhiyun
9*4882a593Smuzhiyun/ {
10*4882a593Smuzhiyun	compatible = "yna,cu1000-neo", "ingenic,x1000e";
11*4882a593Smuzhiyun	model = "YSH & ATIL General Board CU1000-Neo";
12*4882a593Smuzhiyun
13*4882a593Smuzhiyun	aliases {
14*4882a593Smuzhiyun		serial2 = &uart2;
15*4882a593Smuzhiyun	};
16*4882a593Smuzhiyun
17*4882a593Smuzhiyun	chosen {
18*4882a593Smuzhiyun		stdout-path = "serial2:115200n8";
19*4882a593Smuzhiyun	};
20*4882a593Smuzhiyun
21*4882a593Smuzhiyun	memory {
22*4882a593Smuzhiyun		device_type = "memory";
23*4882a593Smuzhiyun		reg = <0x0 0x04000000>;
24*4882a593Smuzhiyun	};
25*4882a593Smuzhiyun
26*4882a593Smuzhiyun	leds {
27*4882a593Smuzhiyun		compatible = "gpio-leds";
28*4882a593Smuzhiyun		led-0 {
29*4882a593Smuzhiyun			gpios = <&gpb 21 GPIO_ACTIVE_HIGH>;
30*4882a593Smuzhiyun			linux,default-trigger = "mmc0";
31*4882a593Smuzhiyun		};
32*4882a593Smuzhiyun	};
33*4882a593Smuzhiyun
34*4882a593Smuzhiyun	wlan_pwrseq: msc1-pwrseq {
35*4882a593Smuzhiyun		compatible = "mmc-pwrseq-simple";
36*4882a593Smuzhiyun
37*4882a593Smuzhiyun		reset-gpios = <&gpc 17 GPIO_ACTIVE_LOW>;
38*4882a593Smuzhiyun		post-power-on-delay-ms = <200>;
39*4882a593Smuzhiyun	};
40*4882a593Smuzhiyun};
41*4882a593Smuzhiyun
42*4882a593Smuzhiyun&exclk {
43*4882a593Smuzhiyun	clock-frequency = <24000000>;
44*4882a593Smuzhiyun};
45*4882a593Smuzhiyun
46*4882a593Smuzhiyun&tcu {
47*4882a593Smuzhiyun	/* 1500 kHz for the system timer and clocksource */
48*4882a593Smuzhiyun	assigned-clocks = <&tcu TCU_CLK_TIMER0>, <&tcu TCU_CLK_TIMER2>;
49*4882a593Smuzhiyun	assigned-clock-rates = <1500000>, <1500000>;
50*4882a593Smuzhiyun
51*4882a593Smuzhiyun	/* Use channel #0 for the system timer channel #2 for the clocksource */
52*4882a593Smuzhiyun	ingenic,pwm-channels-mask = <0xfa>;
53*4882a593Smuzhiyun};
54*4882a593Smuzhiyun
55*4882a593Smuzhiyun&uart2 {
56*4882a593Smuzhiyun	status = "okay";
57*4882a593Smuzhiyun
58*4882a593Smuzhiyun	pinctrl-names = "default";
59*4882a593Smuzhiyun	pinctrl-0 = <&pins_uart2>;
60*4882a593Smuzhiyun};
61*4882a593Smuzhiyun
62*4882a593Smuzhiyun&i2c0 {
63*4882a593Smuzhiyun	status = "okay";
64*4882a593Smuzhiyun
65*4882a593Smuzhiyun	clock-frequency = <400000>;
66*4882a593Smuzhiyun
67*4882a593Smuzhiyun	pinctrl-names = "default";
68*4882a593Smuzhiyun	pinctrl-0 = <&pins_i2c0>;
69*4882a593Smuzhiyun
70*4882a593Smuzhiyun	ads7830: adc@48 {
71*4882a593Smuzhiyun		compatible = "ti,ads7830";
72*4882a593Smuzhiyun		reg = <0x48>;
73*4882a593Smuzhiyun	};
74*4882a593Smuzhiyun};
75*4882a593Smuzhiyun
76*4882a593Smuzhiyun&msc0 {
77*4882a593Smuzhiyun	status = "okay";
78*4882a593Smuzhiyun
79*4882a593Smuzhiyun	bus-width = <8>;
80*4882a593Smuzhiyun	max-frequency = <50000000>;
81*4882a593Smuzhiyun
82*4882a593Smuzhiyun	pinctrl-names = "default";
83*4882a593Smuzhiyun	pinctrl-0 = <&pins_msc0>;
84*4882a593Smuzhiyun
85*4882a593Smuzhiyun	non-removable;
86*4882a593Smuzhiyun};
87*4882a593Smuzhiyun
88*4882a593Smuzhiyun&msc1 {
89*4882a593Smuzhiyun	status = "okay";
90*4882a593Smuzhiyun
91*4882a593Smuzhiyun	#address-cells = <1>;
92*4882a593Smuzhiyun	#size-cells = <0>;
93*4882a593Smuzhiyun	bus-width = <4>;
94*4882a593Smuzhiyun	max-frequency = <50000000>;
95*4882a593Smuzhiyun
96*4882a593Smuzhiyun	pinctrl-names = "default";
97*4882a593Smuzhiyun	pinctrl-0 = <&pins_msc1>;
98*4882a593Smuzhiyun
99*4882a593Smuzhiyun	non-removable;
100*4882a593Smuzhiyun
101*4882a593Smuzhiyun	mmc-pwrseq = <&wlan_pwrseq>;
102*4882a593Smuzhiyun
103*4882a593Smuzhiyun	ap6212a: wifi@1 {
104*4882a593Smuzhiyun		compatible = "brcm,bcm4329-fmac";
105*4882a593Smuzhiyun		reg = <1>;
106*4882a593Smuzhiyun
107*4882a593Smuzhiyun		interrupt-parent = <&gpc>;
108*4882a593Smuzhiyun		interrupts = <16 IRQ_TYPE_EDGE_FALLING>;
109*4882a593Smuzhiyun		interrupt-names = "host-wake";
110*4882a593Smuzhiyun
111*4882a593Smuzhiyun		brcm,drive-strength = <10>;
112*4882a593Smuzhiyun	};
113*4882a593Smuzhiyun};
114*4882a593Smuzhiyun
115*4882a593Smuzhiyun&mac {
116*4882a593Smuzhiyun	status = "okay";
117*4882a593Smuzhiyun
118*4882a593Smuzhiyun	phy-mode = "rmii";
119*4882a593Smuzhiyun	phy-handle = <&lan8720a>;
120*4882a593Smuzhiyun
121*4882a593Smuzhiyun	pinctrl-names = "default";
122*4882a593Smuzhiyun	pinctrl-0 = <&pins_mac>;
123*4882a593Smuzhiyun
124*4882a593Smuzhiyun	snps,reset-gpio = <&gpc 23 GPIO_ACTIVE_LOW>; /* PC23 */
125*4882a593Smuzhiyun	snps,reset-active-low;
126*4882a593Smuzhiyun	snps,reset-delays-us = <0 10000 30000>;
127*4882a593Smuzhiyun};
128*4882a593Smuzhiyun
129*4882a593Smuzhiyun&mdio {
130*4882a593Smuzhiyun	status = "okay";
131*4882a593Smuzhiyun
132*4882a593Smuzhiyun	lan8720a: ethernet-phy@0 {
133*4882a593Smuzhiyun		compatible = "ethernet-phy-id0007.c0f0", "ethernet-phy-ieee802.3-c22";
134*4882a593Smuzhiyun		reg = <0>;
135*4882a593Smuzhiyun	};
136*4882a593Smuzhiyun};
137*4882a593Smuzhiyun
138*4882a593Smuzhiyun&pinctrl {
139*4882a593Smuzhiyun	pins_uart2: uart2 {
140*4882a593Smuzhiyun		function = "uart2";
141*4882a593Smuzhiyun		groups = "uart2-data-d";
142*4882a593Smuzhiyun		bias-pull-up;
143*4882a593Smuzhiyun	};
144*4882a593Smuzhiyun
145*4882a593Smuzhiyun	pins_i2c0: i2c0 {
146*4882a593Smuzhiyun		function = "i2c0";
147*4882a593Smuzhiyun		groups = "i2c0-data";
148*4882a593Smuzhiyun		bias-pull-up;
149*4882a593Smuzhiyun	};
150*4882a593Smuzhiyun
151*4882a593Smuzhiyun	pins_msc0: msc0 {
152*4882a593Smuzhiyun		function = "mmc0";
153*4882a593Smuzhiyun		groups = "mmc0-1bit", "mmc0-4bit", "mmc0-8bit";
154*4882a593Smuzhiyun		bias-disable;
155*4882a593Smuzhiyun	};
156*4882a593Smuzhiyun
157*4882a593Smuzhiyun	pins_msc1: msc1 {
158*4882a593Smuzhiyun		function = "mmc1";
159*4882a593Smuzhiyun		groups = "mmc1-1bit", "mmc1-4bit";
160*4882a593Smuzhiyun		bias-disable;
161*4882a593Smuzhiyun	};
162*4882a593Smuzhiyun
163*4882a593Smuzhiyun	pins_mac: mac {
164*4882a593Smuzhiyun		function = "mac";
165*4882a593Smuzhiyun		groups = "mac";
166*4882a593Smuzhiyun		bias-disable;
167*4882a593Smuzhiyun	};
168*4882a593Smuzhiyun};
169