xref: /linux/arch/mips/boot/dts/ingenic/cu1000-neo.dts (revision 4f2c0a4acffbec01079c28f839422e64ddeff004)
10cd2c6e5S周琰杰 (Zhou Yanjie)// SPDX-License-Identifier: GPL-2.0
20cd2c6e5S周琰杰 (Zhou Yanjie)/dts-v1/;
30cd2c6e5S周琰杰 (Zhou Yanjie)
40cd2c6e5S周琰杰 (Zhou Yanjie)#include "x1000.dtsi"
50cd2c6e5S周琰杰 (Zhou Yanjie)#include <dt-bindings/gpio/gpio.h>
6158c774dS周琰杰 (Zhou Yanjie)#include <dt-bindings/clock/ingenic,sysost.h>
70ba96b34S周琰杰 (Zhou Yanjie)#include <dt-bindings/interrupt-controller/irq.h>
80cd2c6e5S周琰杰 (Zhou Yanjie)
90cd2c6e5S周琰杰 (Zhou Yanjie)/ {
10233ed6f3S周琰杰 (Zhou Yanjie)	compatible = "yna,cu1000-neo", "ingenic,x1000e";
11233ed6f3S周琰杰 (Zhou Yanjie)	model = "YSH & ATIL General Board CU1000-Neo";
120cd2c6e5S周琰杰 (Zhou Yanjie)
130cd2c6e5S周琰杰 (Zhou Yanjie)	aliases {
140cd2c6e5S周琰杰 (Zhou Yanjie)		serial2 = &uart2;
150cd2c6e5S周琰杰 (Zhou Yanjie)	};
160cd2c6e5S周琰杰 (Zhou Yanjie)
170cd2c6e5S周琰杰 (Zhou Yanjie)	chosen {
180cd2c6e5S周琰杰 (Zhou Yanjie)		stdout-path = "serial2:115200n8";
190cd2c6e5S周琰杰 (Zhou Yanjie)	};
200cd2c6e5S周琰杰 (Zhou Yanjie)
210cd2c6e5S周琰杰 (Zhou Yanjie)	memory {
220cd2c6e5S周琰杰 (Zhou Yanjie)		device_type = "memory";
230cd2c6e5S周琰杰 (Zhou Yanjie)		reg = <0x0 0x04000000>;
240cd2c6e5S周琰杰 (Zhou Yanjie)	};
250ba96b34S周琰杰 (Zhou Yanjie)
26233ed6f3S周琰杰 (Zhou Yanjie)	leds {
27233ed6f3S周琰杰 (Zhou Yanjie)		compatible = "gpio-leds";
28233ed6f3S周琰杰 (Zhou Yanjie)		led-0 {
29233ed6f3S周琰杰 (Zhou Yanjie)			gpios = <&gpb 21 GPIO_ACTIVE_HIGH>;
30233ed6f3S周琰杰 (Zhou Yanjie)			linux,default-trigger = "mmc0";
31233ed6f3S周琰杰 (Zhou Yanjie)		};
32233ed6f3S周琰杰 (Zhou Yanjie)	};
33233ed6f3S周琰杰 (Zhou Yanjie)
340ba96b34S周琰杰 (Zhou Yanjie)	wlan_pwrseq: msc1-pwrseq {
350ba96b34S周琰杰 (Zhou Yanjie)		compatible = "mmc-pwrseq-simple";
360ba96b34S周琰杰 (Zhou Yanjie)
370ba96b34S周琰杰 (Zhou Yanjie)		reset-gpios = <&gpc 17 GPIO_ACTIVE_LOW>;
380ba96b34S周琰杰 (Zhou Yanjie)		post-power-on-delay-ms = <200>;
390ba96b34S周琰杰 (Zhou Yanjie)	};
400cd2c6e5S周琰杰 (Zhou Yanjie)};
410cd2c6e5S周琰杰 (Zhou Yanjie)
420cd2c6e5S周琰杰 (Zhou Yanjie)&exclk {
430cd2c6e5S周琰杰 (Zhou Yanjie)	clock-frequency = <24000000>;
440cd2c6e5S周琰杰 (Zhou Yanjie)};
450cd2c6e5S周琰杰 (Zhou Yanjie)
46158c774dS周琰杰 (Zhou Yanjie)&cgu {
47158c774dS周琰杰 (Zhou Yanjie)	/*
48158c774dS周琰杰 (Zhou Yanjie)	 * Use the 32.768 kHz oscillator as the parent of the RTC for a higher
49158c774dS周琰杰 (Zhou Yanjie)	 * precision.
50158c774dS周琰杰 (Zhou Yanjie)	 */
51158c774dS周琰杰 (Zhou Yanjie)	assigned-clocks = <&cgu X1000_CLK_RTC>;
52158c774dS周琰杰 (Zhou Yanjie)	assigned-clock-parents = <&cgu X1000_CLK_RTCLK>;
53158c774dS周琰杰 (Zhou Yanjie)};
540cd2c6e5S周琰杰 (Zhou Yanjie)
55158c774dS周琰杰 (Zhou Yanjie)&ost {
56158c774dS周琰杰 (Zhou Yanjie)	/* 1500 kHz for the system timer and clocksource */
57*562dc4c9S周琰杰 (Zhou Yanjie)	assigned-clocks = <&ost OST_CLK_EVENT_TIMER>, <&ost OST_CLK_GLOBAL_TIMER>;
58158c774dS周琰杰 (Zhou Yanjie)	assigned-clock-rates = <1500000>, <1500000>;
590cd2c6e5S周琰杰 (Zhou Yanjie)};
600cd2c6e5S周琰杰 (Zhou Yanjie)
61233ed6f3S周琰杰 (Zhou Yanjie)&uart2 {
62233ed6f3S周琰杰 (Zhou Yanjie)	status = "okay";
63233ed6f3S周琰杰 (Zhou Yanjie)
64233ed6f3S周琰杰 (Zhou Yanjie)	pinctrl-names = "default";
65233ed6f3S周琰杰 (Zhou Yanjie)	pinctrl-0 = <&pins_uart2>;
66233ed6f3S周琰杰 (Zhou Yanjie)};
67233ed6f3S周琰杰 (Zhou Yanjie)
68*562dc4c9S周琰杰 (Zhou Yanjie)&ssi {
69*562dc4c9S周琰杰 (Zhou Yanjie)	status = "okay";
70*562dc4c9S周琰杰 (Zhou Yanjie)
71*562dc4c9S周琰杰 (Zhou Yanjie)	num-cs = <2>;
72*562dc4c9S周琰杰 (Zhou Yanjie)	cs-gpios = <0>, <&gpc 20 GPIO_ACTIVE_LOW>;
73*562dc4c9S周琰杰 (Zhou Yanjie)
74*562dc4c9S周琰杰 (Zhou Yanjie)	pinctrl-names = "default";
75*562dc4c9S周琰杰 (Zhou Yanjie)	pinctrl-0 = <&pins_ssi>;
76*562dc4c9S周琰杰 (Zhou Yanjie)
77*562dc4c9S周琰杰 (Zhou Yanjie)	sc16is752: expander@0 {
78*562dc4c9S周琰杰 (Zhou Yanjie)		compatible = "nxp,sc16is752";
79*562dc4c9S周琰杰 (Zhou Yanjie)		reg = <0>; /* CE0 */
80*562dc4c9S周琰杰 (Zhou Yanjie)
81*562dc4c9S周琰杰 (Zhou Yanjie)		spi-rx-bus-width = <1>;
82*562dc4c9S周琰杰 (Zhou Yanjie)		spi-tx-bus-width = <1>;
83*562dc4c9S周琰杰 (Zhou Yanjie)		spi-max-frequency = <4000000>;
84*562dc4c9S周琰杰 (Zhou Yanjie)
85*562dc4c9S周琰杰 (Zhou Yanjie)		clocks = <&exclk_sc16is752>;
86*562dc4c9S周琰杰 (Zhou Yanjie)
87*562dc4c9S周琰杰 (Zhou Yanjie)		interrupt-parent = <&gpc>;
88*562dc4c9S周琰杰 (Zhou Yanjie)		interrupts = <6 IRQ_TYPE_EDGE_FALLING>;
89*562dc4c9S周琰杰 (Zhou Yanjie)
90*562dc4c9S周琰杰 (Zhou Yanjie)		gpio-controller;
91*562dc4c9S周琰杰 (Zhou Yanjie)		#gpio-cells = <2>;
92*562dc4c9S周琰杰 (Zhou Yanjie)
93*562dc4c9S周琰杰 (Zhou Yanjie)		exclk_sc16is752: sc16is752 {
94*562dc4c9S周琰杰 (Zhou Yanjie)			compatible = "fixed-clock";
95*562dc4c9S周琰杰 (Zhou Yanjie)			#clock-cells = <0>;
96*562dc4c9S周琰杰 (Zhou Yanjie)			clock-frequency = <48000000>;
97*562dc4c9S周琰杰 (Zhou Yanjie)		};
98*562dc4c9S周琰杰 (Zhou Yanjie)	};
99*562dc4c9S周琰杰 (Zhou Yanjie)};
100*562dc4c9S周琰杰 (Zhou Yanjie)
1010ba96b34S周琰杰 (Zhou Yanjie)&i2c0 {
1020ba96b34S周琰杰 (Zhou Yanjie)	status = "okay";
1030ba96b34S周琰杰 (Zhou Yanjie)
1040ba96b34S周琰杰 (Zhou Yanjie)	clock-frequency = <400000>;
1050ba96b34S周琰杰 (Zhou Yanjie)
1060ba96b34S周琰杰 (Zhou Yanjie)	pinctrl-names = "default";
1070ba96b34S周琰杰 (Zhou Yanjie)	pinctrl-0 = <&pins_i2c0>;
1080ba96b34S周琰杰 (Zhou Yanjie)
109233ed6f3S周琰杰 (Zhou Yanjie)	ads7830: adc@48 {
1100ba96b34S周琰杰 (Zhou Yanjie)		compatible = "ti,ads7830";
1110ba96b34S周琰杰 (Zhou Yanjie)		reg = <0x48>;
1120ba96b34S周琰杰 (Zhou Yanjie)	};
1130ba96b34S周琰杰 (Zhou Yanjie)};
1140ba96b34S周琰杰 (Zhou Yanjie)
1150cd2c6e5S周琰杰 (Zhou Yanjie)&msc0 {
116233ed6f3S周琰杰 (Zhou Yanjie)	status = "okay";
117233ed6f3S周琰杰 (Zhou Yanjie)
1180cd2c6e5S周琰杰 (Zhou Yanjie)	bus-width = <8>;
1190cd2c6e5S周琰杰 (Zhou Yanjie)	max-frequency = <50000000>;
1200cd2c6e5S周琰杰 (Zhou Yanjie)
1210cd2c6e5S周琰杰 (Zhou Yanjie)	pinctrl-names = "default";
1220cd2c6e5S周琰杰 (Zhou Yanjie)	pinctrl-0 = <&pins_msc0>;
1230cd2c6e5S周琰杰 (Zhou Yanjie)
1240cd2c6e5S周琰杰 (Zhou Yanjie)	non-removable;
1250cd2c6e5S周琰杰 (Zhou Yanjie)};
1260cd2c6e5S周琰杰 (Zhou Yanjie)
1270ba96b34S周琰杰 (Zhou Yanjie)&msc1 {
128233ed6f3S周琰杰 (Zhou Yanjie)	status = "okay";
129233ed6f3S周琰杰 (Zhou Yanjie)
130233ed6f3S周琰杰 (Zhou Yanjie)	#address-cells = <1>;
131233ed6f3S周琰杰 (Zhou Yanjie)	#size-cells = <0>;
1320ba96b34S周琰杰 (Zhou Yanjie)	bus-width = <4>;
1330ba96b34S周琰杰 (Zhou Yanjie)	max-frequency = <50000000>;
1340ba96b34S周琰杰 (Zhou Yanjie)
1350ba96b34S周琰杰 (Zhou Yanjie)	pinctrl-names = "default";
1360ba96b34S周琰杰 (Zhou Yanjie)	pinctrl-0 = <&pins_msc1>;
1370ba96b34S周琰杰 (Zhou Yanjie)
1380ba96b34S周琰杰 (Zhou Yanjie)	non-removable;
1390ba96b34S周琰杰 (Zhou Yanjie)
1400ba96b34S周琰杰 (Zhou Yanjie)	mmc-pwrseq = <&wlan_pwrseq>;
1410ba96b34S周琰杰 (Zhou Yanjie)
1420ba96b34S周琰杰 (Zhou Yanjie)	ap6212a: wifi@1 {
1430ba96b34S周琰杰 (Zhou Yanjie)		compatible = "brcm,bcm4329-fmac";
1440ba96b34S周琰杰 (Zhou Yanjie)		reg = <1>;
1450ba96b34S周琰杰 (Zhou Yanjie)
1460ba96b34S周琰杰 (Zhou Yanjie)		interrupt-parent = <&gpc>;
1470ba96b34S周琰杰 (Zhou Yanjie)		interrupts = <16 IRQ_TYPE_EDGE_FALLING>;
1480ba96b34S周琰杰 (Zhou Yanjie)		interrupt-names = "host-wake";
1490ba96b34S周琰杰 (Zhou Yanjie)
1500ba96b34S周琰杰 (Zhou Yanjie)		brcm,drive-strength = <10>;
1510ba96b34S周琰杰 (Zhou Yanjie)	};
1520ba96b34S周琰杰 (Zhou Yanjie)};
1530ba96b34S周琰杰 (Zhou Yanjie)
154233ed6f3S周琰杰 (Zhou Yanjie)&mac {
155233ed6f3S周琰杰 (Zhou Yanjie)	status = "okay";
156233ed6f3S周琰杰 (Zhou Yanjie)
157233ed6f3S周琰杰 (Zhou Yanjie)	phy-mode = "rmii";
158233ed6f3S周琰杰 (Zhou Yanjie)	phy-handle = <&lan8720a>;
159233ed6f3S周琰杰 (Zhou Yanjie)
160233ed6f3S周琰杰 (Zhou Yanjie)	pinctrl-names = "default";
161233ed6f3S周琰杰 (Zhou Yanjie)	pinctrl-0 = <&pins_mac>;
162233ed6f3S周琰杰 (Zhou Yanjie)
163233ed6f3S周琰杰 (Zhou Yanjie)	snps,reset-gpio = <&gpc 23 GPIO_ACTIVE_LOW>; /* PC23 */
164233ed6f3S周琰杰 (Zhou Yanjie)	snps,reset-active-low;
165233ed6f3S周琰杰 (Zhou Yanjie)	snps,reset-delays-us = <0 10000 30000>;
1660ba96b34S周琰杰 (Zhou Yanjie)};
1670ba96b34S周琰杰 (Zhou Yanjie)
168233ed6f3S周琰杰 (Zhou Yanjie)&mdio {
169233ed6f3S周琰杰 (Zhou Yanjie)	status = "okay";
170233ed6f3S周琰杰 (Zhou Yanjie)
171233ed6f3S周琰杰 (Zhou Yanjie)	lan8720a: ethernet-phy@0 {
172233ed6f3S周琰杰 (Zhou Yanjie)		compatible = "ethernet-phy-id0007.c0f0", "ethernet-phy-ieee802.3-c22";
173233ed6f3S周琰杰 (Zhou Yanjie)		reg = <0>;
174233ed6f3S周琰杰 (Zhou Yanjie)	};
175233ed6f3S周琰杰 (Zhou Yanjie)};
176233ed6f3S周琰杰 (Zhou Yanjie)
177158c774dS周琰杰 (Zhou Yanjie)&otg_phy {
178158c774dS周琰杰 (Zhou Yanjie)	status = "okay";
179158c774dS周琰杰 (Zhou Yanjie)};
180158c774dS周琰杰 (Zhou Yanjie)
181158c774dS周琰杰 (Zhou Yanjie)&otg {
182158c774dS周琰杰 (Zhou Yanjie)	status = "okay";
183158c774dS周琰杰 (Zhou Yanjie)};
184158c774dS周琰杰 (Zhou Yanjie)
185233ed6f3S周琰杰 (Zhou Yanjie)&pinctrl {
1860cd2c6e5S周琰杰 (Zhou Yanjie)	pins_uart2: uart2 {
1870cd2c6e5S周琰杰 (Zhou Yanjie)		function = "uart2";
1880cd2c6e5S周琰杰 (Zhou Yanjie)		groups = "uart2-data-d";
189233ed6f3S周琰杰 (Zhou Yanjie)		bias-pull-up;
1900cd2c6e5S周琰杰 (Zhou Yanjie)	};
1910cd2c6e5S周琰杰 (Zhou Yanjie)
192*562dc4c9S周琰杰 (Zhou Yanjie)	pins_ssi: ssi {
193*562dc4c9S周琰杰 (Zhou Yanjie)		function = "ssi";
194*562dc4c9S周琰杰 (Zhou Yanjie)		groups = "ssi-dt-d", "ssi-dr-d", "ssi-clk-d", "ssi-ce0-d";
195*562dc4c9S周琰杰 (Zhou Yanjie)		bias-disable;
196*562dc4c9S周琰杰 (Zhou Yanjie)	};
197*562dc4c9S周琰杰 (Zhou Yanjie)
198233ed6f3S周琰杰 (Zhou Yanjie)	pins_i2c0: i2c0 {
199233ed6f3S周琰杰 (Zhou Yanjie)		function = "i2c0";
200233ed6f3S周琰杰 (Zhou Yanjie)		groups = "i2c0-data";
201233ed6f3S周琰杰 (Zhou Yanjie)		bias-pull-up;
2020cd2c6e5S周琰杰 (Zhou Yanjie)	};
2030cd2c6e5S周琰杰 (Zhou Yanjie)
2040cd2c6e5S周琰杰 (Zhou Yanjie)	pins_msc0: msc0 {
2050cd2c6e5S周琰杰 (Zhou Yanjie)		function = "mmc0";
2060cd2c6e5S周琰杰 (Zhou Yanjie)		groups = "mmc0-1bit", "mmc0-4bit", "mmc0-8bit";
2070cd2c6e5S周琰杰 (Zhou Yanjie)		bias-disable;
2080cd2c6e5S周琰杰 (Zhou Yanjie)	};
2090ba96b34S周琰杰 (Zhou Yanjie)
2100ba96b34S周琰杰 (Zhou Yanjie)	pins_msc1: msc1 {
2110ba96b34S周琰杰 (Zhou Yanjie)		function = "mmc1";
2120ba96b34S周琰杰 (Zhou Yanjie)		groups = "mmc1-1bit", "mmc1-4bit";
2130ba96b34S周琰杰 (Zhou Yanjie)		bias-disable;
2140ba96b34S周琰杰 (Zhou Yanjie)	};
215233ed6f3S周琰杰 (Zhou Yanjie)
216233ed6f3S周琰杰 (Zhou Yanjie)	pins_mac: mac {
217233ed6f3S周琰杰 (Zhou Yanjie)		function = "mac";
218233ed6f3S周琰杰 (Zhou Yanjie)		groups = "mac";
219233ed6f3S周琰杰 (Zhou Yanjie)		bias-disable;
220233ed6f3S周琰杰 (Zhou Yanjie)	};
2210cd2c6e5S周琰杰 (Zhou Yanjie)};
222