18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0
28c2ecf20Sopenharmony_ci/dts-v1/;
38c2ecf20Sopenharmony_ci
48c2ecf20Sopenharmony_ci#include "x1000.dtsi"
58c2ecf20Sopenharmony_ci#include <dt-bindings/gpio/gpio.h>
68c2ecf20Sopenharmony_ci#include <dt-bindings/clock/ingenic,tcu.h>
78c2ecf20Sopenharmony_ci#include <dt-bindings/interrupt-controller/irq.h>
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_ci/ {
108c2ecf20Sopenharmony_ci	compatible = "yna,cu1000-neo", "ingenic,x1000e";
118c2ecf20Sopenharmony_ci	model = "YSH & ATIL General Board CU1000-Neo";
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_ci	aliases {
148c2ecf20Sopenharmony_ci		serial2 = &uart2;
158c2ecf20Sopenharmony_ci	};
168c2ecf20Sopenharmony_ci
178c2ecf20Sopenharmony_ci	chosen {
188c2ecf20Sopenharmony_ci		stdout-path = "serial2:115200n8";
198c2ecf20Sopenharmony_ci	};
208c2ecf20Sopenharmony_ci
218c2ecf20Sopenharmony_ci	memory {
228c2ecf20Sopenharmony_ci		device_type = "memory";
238c2ecf20Sopenharmony_ci		reg = <0x0 0x04000000>;
248c2ecf20Sopenharmony_ci	};
258c2ecf20Sopenharmony_ci
268c2ecf20Sopenharmony_ci	leds {
278c2ecf20Sopenharmony_ci		compatible = "gpio-leds";
288c2ecf20Sopenharmony_ci		led-0 {
298c2ecf20Sopenharmony_ci			gpios = <&gpb 21 GPIO_ACTIVE_HIGH>;
308c2ecf20Sopenharmony_ci			linux,default-trigger = "mmc0";
318c2ecf20Sopenharmony_ci		};
328c2ecf20Sopenharmony_ci	};
338c2ecf20Sopenharmony_ci
348c2ecf20Sopenharmony_ci	wlan_pwrseq: msc1-pwrseq {
358c2ecf20Sopenharmony_ci		compatible = "mmc-pwrseq-simple";
368c2ecf20Sopenharmony_ci
378c2ecf20Sopenharmony_ci		reset-gpios = <&gpc 17 GPIO_ACTIVE_LOW>;
388c2ecf20Sopenharmony_ci		post-power-on-delay-ms = <200>;
398c2ecf20Sopenharmony_ci	};
408c2ecf20Sopenharmony_ci};
418c2ecf20Sopenharmony_ci
428c2ecf20Sopenharmony_ci&exclk {
438c2ecf20Sopenharmony_ci	clock-frequency = <24000000>;
448c2ecf20Sopenharmony_ci};
458c2ecf20Sopenharmony_ci
468c2ecf20Sopenharmony_ci&tcu {
478c2ecf20Sopenharmony_ci	/* 1500 kHz for the system timer and clocksource */
488c2ecf20Sopenharmony_ci	assigned-clocks = <&tcu TCU_CLK_TIMER0>, <&tcu TCU_CLK_TIMER2>;
498c2ecf20Sopenharmony_ci	assigned-clock-rates = <1500000>, <1500000>;
508c2ecf20Sopenharmony_ci
518c2ecf20Sopenharmony_ci	/* Use channel #0 for the system timer channel #2 for the clocksource */
528c2ecf20Sopenharmony_ci	ingenic,pwm-channels-mask = <0xfa>;
538c2ecf20Sopenharmony_ci};
548c2ecf20Sopenharmony_ci
558c2ecf20Sopenharmony_ci&uart2 {
568c2ecf20Sopenharmony_ci	status = "okay";
578c2ecf20Sopenharmony_ci
588c2ecf20Sopenharmony_ci	pinctrl-names = "default";
598c2ecf20Sopenharmony_ci	pinctrl-0 = <&pins_uart2>;
608c2ecf20Sopenharmony_ci};
618c2ecf20Sopenharmony_ci
628c2ecf20Sopenharmony_ci&i2c0 {
638c2ecf20Sopenharmony_ci	status = "okay";
648c2ecf20Sopenharmony_ci
658c2ecf20Sopenharmony_ci	clock-frequency = <400000>;
668c2ecf20Sopenharmony_ci
678c2ecf20Sopenharmony_ci	pinctrl-names = "default";
688c2ecf20Sopenharmony_ci	pinctrl-0 = <&pins_i2c0>;
698c2ecf20Sopenharmony_ci
708c2ecf20Sopenharmony_ci	ads7830: adc@48 {
718c2ecf20Sopenharmony_ci		compatible = "ti,ads7830";
728c2ecf20Sopenharmony_ci		reg = <0x48>;
738c2ecf20Sopenharmony_ci	};
748c2ecf20Sopenharmony_ci};
758c2ecf20Sopenharmony_ci
768c2ecf20Sopenharmony_ci&msc0 {
778c2ecf20Sopenharmony_ci	status = "okay";
788c2ecf20Sopenharmony_ci
798c2ecf20Sopenharmony_ci	bus-width = <8>;
808c2ecf20Sopenharmony_ci	max-frequency = <50000000>;
818c2ecf20Sopenharmony_ci
828c2ecf20Sopenharmony_ci	pinctrl-names = "default";
838c2ecf20Sopenharmony_ci	pinctrl-0 = <&pins_msc0>;
848c2ecf20Sopenharmony_ci
858c2ecf20Sopenharmony_ci	non-removable;
868c2ecf20Sopenharmony_ci};
878c2ecf20Sopenharmony_ci
888c2ecf20Sopenharmony_ci&msc1 {
898c2ecf20Sopenharmony_ci	status = "okay";
908c2ecf20Sopenharmony_ci
918c2ecf20Sopenharmony_ci	#address-cells = <1>;
928c2ecf20Sopenharmony_ci	#size-cells = <0>;
938c2ecf20Sopenharmony_ci	bus-width = <4>;
948c2ecf20Sopenharmony_ci	max-frequency = <50000000>;
958c2ecf20Sopenharmony_ci
968c2ecf20Sopenharmony_ci	pinctrl-names = "default";
978c2ecf20Sopenharmony_ci	pinctrl-0 = <&pins_msc1>;
988c2ecf20Sopenharmony_ci
998c2ecf20Sopenharmony_ci	non-removable;
1008c2ecf20Sopenharmony_ci
1018c2ecf20Sopenharmony_ci	mmc-pwrseq = <&wlan_pwrseq>;
1028c2ecf20Sopenharmony_ci
1038c2ecf20Sopenharmony_ci	ap6212a: wifi@1 {
1048c2ecf20Sopenharmony_ci		compatible = "brcm,bcm4329-fmac";
1058c2ecf20Sopenharmony_ci		reg = <1>;
1068c2ecf20Sopenharmony_ci
1078c2ecf20Sopenharmony_ci		interrupt-parent = <&gpc>;
1088c2ecf20Sopenharmony_ci		interrupts = <16 IRQ_TYPE_EDGE_FALLING>;
1098c2ecf20Sopenharmony_ci		interrupt-names = "host-wake";
1108c2ecf20Sopenharmony_ci
1118c2ecf20Sopenharmony_ci		brcm,drive-strength = <10>;
1128c2ecf20Sopenharmony_ci	};
1138c2ecf20Sopenharmony_ci};
1148c2ecf20Sopenharmony_ci
1158c2ecf20Sopenharmony_ci&mac {
1168c2ecf20Sopenharmony_ci	status = "okay";
1178c2ecf20Sopenharmony_ci
1188c2ecf20Sopenharmony_ci	phy-mode = "rmii";
1198c2ecf20Sopenharmony_ci	phy-handle = <&lan8720a>;
1208c2ecf20Sopenharmony_ci
1218c2ecf20Sopenharmony_ci	pinctrl-names = "default";
1228c2ecf20Sopenharmony_ci	pinctrl-0 = <&pins_mac>;
1238c2ecf20Sopenharmony_ci
1248c2ecf20Sopenharmony_ci	snps,reset-gpio = <&gpc 23 GPIO_ACTIVE_LOW>; /* PC23 */
1258c2ecf20Sopenharmony_ci	snps,reset-active-low;
1268c2ecf20Sopenharmony_ci	snps,reset-delays-us = <0 10000 30000>;
1278c2ecf20Sopenharmony_ci};
1288c2ecf20Sopenharmony_ci
1298c2ecf20Sopenharmony_ci&mdio {
1308c2ecf20Sopenharmony_ci	status = "okay";
1318c2ecf20Sopenharmony_ci
1328c2ecf20Sopenharmony_ci	lan8720a: ethernet-phy@0 {
1338c2ecf20Sopenharmony_ci		compatible = "ethernet-phy-id0007.c0f0", "ethernet-phy-ieee802.3-c22";
1348c2ecf20Sopenharmony_ci		reg = <0>;
1358c2ecf20Sopenharmony_ci	};
1368c2ecf20Sopenharmony_ci};
1378c2ecf20Sopenharmony_ci
1388c2ecf20Sopenharmony_ci&pinctrl {
1398c2ecf20Sopenharmony_ci	pins_uart2: uart2 {
1408c2ecf20Sopenharmony_ci		function = "uart2";
1418c2ecf20Sopenharmony_ci		groups = "uart2-data-d";
1428c2ecf20Sopenharmony_ci		bias-pull-up;
1438c2ecf20Sopenharmony_ci	};
1448c2ecf20Sopenharmony_ci
1458c2ecf20Sopenharmony_ci	pins_i2c0: i2c0 {
1468c2ecf20Sopenharmony_ci		function = "i2c0";
1478c2ecf20Sopenharmony_ci		groups = "i2c0-data";
1488c2ecf20Sopenharmony_ci		bias-pull-up;
1498c2ecf20Sopenharmony_ci	};
1508c2ecf20Sopenharmony_ci
1518c2ecf20Sopenharmony_ci	pins_msc0: msc0 {
1528c2ecf20Sopenharmony_ci		function = "mmc0";
1538c2ecf20Sopenharmony_ci		groups = "mmc0-1bit", "mmc0-4bit", "mmc0-8bit";
1548c2ecf20Sopenharmony_ci		bias-disable;
1558c2ecf20Sopenharmony_ci	};
1568c2ecf20Sopenharmony_ci
1578c2ecf20Sopenharmony_ci	pins_msc1: msc1 {
1588c2ecf20Sopenharmony_ci		function = "mmc1";
1598c2ecf20Sopenharmony_ci		groups = "mmc1-1bit", "mmc1-4bit";
1608c2ecf20Sopenharmony_ci		bias-disable;
1618c2ecf20Sopenharmony_ci	};
1628c2ecf20Sopenharmony_ci
1638c2ecf20Sopenharmony_ci	pins_mac: mac {
1648c2ecf20Sopenharmony_ci		function = "mac";
1658c2ecf20Sopenharmony_ci		groups = "mac";
1668c2ecf20Sopenharmony_ci		bias-disable;
1678c2ecf20Sopenharmony_ci	};
1688c2ecf20Sopenharmony_ci};
169