18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-only
28c2ecf20Sopenharmony_ci/*
38c2ecf20Sopenharmony_ci * Support for peripherals on the AXS10x mainboard (VDK version)
48c2ecf20Sopenharmony_ci *
58c2ecf20Sopenharmony_ci * Copyright (C) 2013-15 Synopsys, Inc. (www.synopsys.com)
68c2ecf20Sopenharmony_ci */
78c2ecf20Sopenharmony_ci
88c2ecf20Sopenharmony_ci/ {
98c2ecf20Sopenharmony_ci	axs10x_mb_vdk {
108c2ecf20Sopenharmony_ci		compatible = "simple-bus";
118c2ecf20Sopenharmony_ci		#address-cells = <1>;
128c2ecf20Sopenharmony_ci		#size-cells = <1>;
138c2ecf20Sopenharmony_ci		ranges = <0x00000000 0xe0000000 0x10000000>;
148c2ecf20Sopenharmony_ci		interrupt-parent = <&mb_intc>;
158c2ecf20Sopenharmony_ci
168c2ecf20Sopenharmony_ci		clocks {
178c2ecf20Sopenharmony_ci			apbclk: apbclk {
188c2ecf20Sopenharmony_ci				compatible = "fixed-clock";
198c2ecf20Sopenharmony_ci				clock-frequency = <50000000>;
208c2ecf20Sopenharmony_ci				#clock-cells = <0>;
218c2ecf20Sopenharmony_ci			};
228c2ecf20Sopenharmony_ci
238c2ecf20Sopenharmony_ci			mmcclk: mmcclk {
248c2ecf20Sopenharmony_ci				compatible = "fixed-clock";
258c2ecf20Sopenharmony_ci				clock-frequency = <50000000>;
268c2ecf20Sopenharmony_ci				#clock-cells = <0>;
278c2ecf20Sopenharmony_ci			};
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_ci			pguclk: pguclk {
308c2ecf20Sopenharmony_ci				#clock-cells = <0>;
318c2ecf20Sopenharmony_ci				compatible = "fixed-clock";
328c2ecf20Sopenharmony_ci				clock-frequency = <25175000>;
338c2ecf20Sopenharmony_ci			};
348c2ecf20Sopenharmony_ci		};
358c2ecf20Sopenharmony_ci
368c2ecf20Sopenharmony_ci		ethernet@18000 {
378c2ecf20Sopenharmony_ci			#interrupt-cells = <1>;
388c2ecf20Sopenharmony_ci			compatible = "snps,dwmac";
398c2ecf20Sopenharmony_ci			reg = < 0x18000 0x2000 >;
408c2ecf20Sopenharmony_ci			interrupts = < 4 >;
418c2ecf20Sopenharmony_ci			interrupt-names = "macirq";
428c2ecf20Sopenharmony_ci			phy-mode = "rgmii";
438c2ecf20Sopenharmony_ci			snps,phy-addr = < 0 >;  // VDK model phy address is 0
448c2ecf20Sopenharmony_ci			snps,pbl = < 32 >;
458c2ecf20Sopenharmony_ci			clocks = <&apbclk>;
468c2ecf20Sopenharmony_ci			clock-names = "stmmaceth";
478c2ecf20Sopenharmony_ci		};
488c2ecf20Sopenharmony_ci
498c2ecf20Sopenharmony_ci		ehci@40000 {
508c2ecf20Sopenharmony_ci			compatible = "generic-ehci";
518c2ecf20Sopenharmony_ci			reg = < 0x40000 0x100 >;
528c2ecf20Sopenharmony_ci			interrupts = < 8 >;
538c2ecf20Sopenharmony_ci		};
548c2ecf20Sopenharmony_ci
558c2ecf20Sopenharmony_ci		uart@20000 {
568c2ecf20Sopenharmony_ci			compatible = "snps,dw-apb-uart";
578c2ecf20Sopenharmony_ci			reg = <0x20000 0x100>;
588c2ecf20Sopenharmony_ci			clock-frequency = <2403200>;
598c2ecf20Sopenharmony_ci			interrupts = <17>;
608c2ecf20Sopenharmony_ci			baud = <115200>;
618c2ecf20Sopenharmony_ci			reg-shift = <2>;
628c2ecf20Sopenharmony_ci			reg-io-width = <4>;
638c2ecf20Sopenharmony_ci		};
648c2ecf20Sopenharmony_ci
658c2ecf20Sopenharmony_ci		uart@21000 {
668c2ecf20Sopenharmony_ci			compatible = "snps,dw-apb-uart";
678c2ecf20Sopenharmony_ci			reg = <0x21000 0x100>;
688c2ecf20Sopenharmony_ci			clock-frequency = <2403200>;
698c2ecf20Sopenharmony_ci			interrupts = <18>;
708c2ecf20Sopenharmony_ci			baud = <115200>;
718c2ecf20Sopenharmony_ci			reg-shift = <2>;
728c2ecf20Sopenharmony_ci			reg-io-width = <4>;
738c2ecf20Sopenharmony_ci		};
748c2ecf20Sopenharmony_ci
758c2ecf20Sopenharmony_ci		uart@22000 {
768c2ecf20Sopenharmony_ci			compatible = "snps,dw-apb-uart";
778c2ecf20Sopenharmony_ci			reg = <0x22000 0x100>;
788c2ecf20Sopenharmony_ci			clock-frequency = <2403200>;
798c2ecf20Sopenharmony_ci			interrupts = <19>;
808c2ecf20Sopenharmony_ci			baud = <115200>;
818c2ecf20Sopenharmony_ci			reg-shift = <2>;
828c2ecf20Sopenharmony_ci			reg-io-width = <4>;
838c2ecf20Sopenharmony_ci		};
848c2ecf20Sopenharmony_ci
858c2ecf20Sopenharmony_ci/* PGU output directly sent to virtual LCD screen; hdmi controller not modelled */
868c2ecf20Sopenharmony_ci		pgu@17000 {
878c2ecf20Sopenharmony_ci			compatible = "snps,arcpgu";
888c2ecf20Sopenharmony_ci			reg = <0x17000 0x400>;
898c2ecf20Sopenharmony_ci			clocks = <&pguclk>;
908c2ecf20Sopenharmony_ci			clock-names = "pxlclk";
918c2ecf20Sopenharmony_ci		};
928c2ecf20Sopenharmony_ci
938c2ecf20Sopenharmony_ci/* VDK has additional ps2 keyboard/mouse interface integrated in LCD screen model */
948c2ecf20Sopenharmony_ci		ps2: ps2@e0017400 {
958c2ecf20Sopenharmony_ci			compatible = "snps,arc_ps2";
968c2ecf20Sopenharmony_ci			reg = <0x17400 0x14>;
978c2ecf20Sopenharmony_ci			interrupts = <5>;
988c2ecf20Sopenharmony_ci			interrupt-names = "arc_ps2_irq";
998c2ecf20Sopenharmony_ci		};
1008c2ecf20Sopenharmony_ci
1018c2ecf20Sopenharmony_ci		mmc@15000 {
1028c2ecf20Sopenharmony_ci			compatible = "snps,dw-mshc";
1038c2ecf20Sopenharmony_ci			reg = <0x15000 0x400>;
1048c2ecf20Sopenharmony_ci			fifo-depth = <1024>;
1058c2ecf20Sopenharmony_ci			card-detect-delay = <200>;
1068c2ecf20Sopenharmony_ci			clocks = <&apbclk>, <&mmcclk>;
1078c2ecf20Sopenharmony_ci			clock-names = "biu", "ciu";
1088c2ecf20Sopenharmony_ci			interrupts = <7>;
1098c2ecf20Sopenharmony_ci			bus-width = <4>;
1108c2ecf20Sopenharmony_ci		};
1118c2ecf20Sopenharmony_ci	};
1128c2ecf20Sopenharmony_ci
1138c2ecf20Sopenharmony_ci	/*
1148c2ecf20Sopenharmony_ci	 * Embedded Vision subsystem UIO mappings; only relevant for EV VDK
1158c2ecf20Sopenharmony_ci	 *
1168c2ecf20Sopenharmony_ci	 * This node is intentionally put outside of MB above becase
1178c2ecf20Sopenharmony_ci	 * it maps areas outside of MB's 0xez-0xfz.
1188c2ecf20Sopenharmony_ci	 */
1198c2ecf20Sopenharmony_ci	uio_ev: uio@d0000000 {
1208c2ecf20Sopenharmony_ci		compatible = "generic-uio";
1218c2ecf20Sopenharmony_ci		reg = <0xd0000000 0x2000 0xd1000000 0x2000 0x90000000 0x10000000 0xc0000000 0x10000000>;
1228c2ecf20Sopenharmony_ci		reg-names = "ev_gsa", "ev_ctrl", "ev_shared_mem", "ev_code_mem";
1238c2ecf20Sopenharmony_ci		interrupt-parent = <&mb_intc>;
1248c2ecf20Sopenharmony_ci		interrupts = <23>;
1258c2ecf20Sopenharmony_ci	};
1268c2ecf20Sopenharmony_ci};
127