18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0+ OR MIT
28c2ecf20Sopenharmony_ci//
38c2ecf20Sopenharmony_ci// Device Tree Source for Akebi96 Development Board
48c2ecf20Sopenharmony_ci//
58c2ecf20Sopenharmony_ci// Derived from uniphier-ld20-global.dts.
68c2ecf20Sopenharmony_ci//
78c2ecf20Sopenharmony_ci// Copyright (C) 2015-2017 Socionext Inc.
88c2ecf20Sopenharmony_ci// Copyright (C) 2019-2020 Linaro Ltd.
98c2ecf20Sopenharmony_ci
108c2ecf20Sopenharmony_ci/dts-v1/;
118c2ecf20Sopenharmony_ci#include <dt-bindings/gpio/uniphier-gpio.h>
128c2ecf20Sopenharmony_ci#include "uniphier-ld20.dtsi"
138c2ecf20Sopenharmony_ci
148c2ecf20Sopenharmony_ci/ {
158c2ecf20Sopenharmony_ci	model = "Akebi96";
168c2ecf20Sopenharmony_ci	compatible = "socionext,uniphier-ld20-akebi96",
178c2ecf20Sopenharmony_ci		     "socionext,uniphier-ld20";
188c2ecf20Sopenharmony_ci
198c2ecf20Sopenharmony_ci	chosen {
208c2ecf20Sopenharmony_ci		stdout-path = "serial0:115200n8";
218c2ecf20Sopenharmony_ci	};
228c2ecf20Sopenharmony_ci
238c2ecf20Sopenharmony_ci	aliases {
248c2ecf20Sopenharmony_ci		serial0 = &serial0;
258c2ecf20Sopenharmony_ci		serial1 = &serial1;
268c2ecf20Sopenharmony_ci		serial2 = &serial2;
278c2ecf20Sopenharmony_ci		serial3 = &serial3;
288c2ecf20Sopenharmony_ci		i2c0 = &i2c0;
298c2ecf20Sopenharmony_ci		i2c1 = &i2c1;
308c2ecf20Sopenharmony_ci		i2c2 = &i2c2;
318c2ecf20Sopenharmony_ci		i2c3 = &i2c3;
328c2ecf20Sopenharmony_ci		i2c4 = &i2c4;
338c2ecf20Sopenharmony_ci		i2c5 = &i2c5;
348c2ecf20Sopenharmony_ci		spi0 = &spi0;
358c2ecf20Sopenharmony_ci		spi1 = &spi1;
368c2ecf20Sopenharmony_ci		spi2 = &spi2;
378c2ecf20Sopenharmony_ci		spi3 = &spi3;
388c2ecf20Sopenharmony_ci		ethernet0 = &eth;
398c2ecf20Sopenharmony_ci	};
408c2ecf20Sopenharmony_ci
418c2ecf20Sopenharmony_ci	memory@80000000 {
428c2ecf20Sopenharmony_ci		device_type = "memory";
438c2ecf20Sopenharmony_ci		reg = <0 0x80000000 0 0xc0000000>;
448c2ecf20Sopenharmony_ci	};
458c2ecf20Sopenharmony_ci
468c2ecf20Sopenharmony_ci	framebuffer@c0000000 {
478c2ecf20Sopenharmony_ci		compatible = "simple-framebuffer";
488c2ecf20Sopenharmony_ci		reg = <0 0xc0000000 0 0x02000000>;
498c2ecf20Sopenharmony_ci		width = <1920>;
508c2ecf20Sopenharmony_ci		height = <1080>;
518c2ecf20Sopenharmony_ci		stride = <7680>;
528c2ecf20Sopenharmony_ci		format = "a8r8g8b8";
538c2ecf20Sopenharmony_ci	};
548c2ecf20Sopenharmony_ci
558c2ecf20Sopenharmony_ci	reserved-memory {
568c2ecf20Sopenharmony_ci		#address-cells = <2>;
578c2ecf20Sopenharmony_ci		#size-cells = <2>;
588c2ecf20Sopenharmony_ci		ranges;
598c2ecf20Sopenharmony_ci
608c2ecf20Sopenharmony_ci		memory@c0000000 {
618c2ecf20Sopenharmony_ci			reg = <0 0xc0000000 0 0x02000000>;
628c2ecf20Sopenharmony_ci			no-map;
638c2ecf20Sopenharmony_ci		};
648c2ecf20Sopenharmony_ci	};
658c2ecf20Sopenharmony_ci
668c2ecf20Sopenharmony_ci	sound {
678c2ecf20Sopenharmony_ci		compatible = "audio-graph-card";
688c2ecf20Sopenharmony_ci		label = "UniPhier LD20";
698c2ecf20Sopenharmony_ci		dais = <&spdif_port0
708c2ecf20Sopenharmony_ci			&comp_spdif_port0>;
718c2ecf20Sopenharmony_ci	};
728c2ecf20Sopenharmony_ci
738c2ecf20Sopenharmony_ci	spdif-out {
748c2ecf20Sopenharmony_ci		compatible = "linux,spdif-dit";
758c2ecf20Sopenharmony_ci		#sound-dai-cells = <0>;
768c2ecf20Sopenharmony_ci
778c2ecf20Sopenharmony_ci		port@0 {
788c2ecf20Sopenharmony_ci			spdif_tx: endpoint {
798c2ecf20Sopenharmony_ci				remote-endpoint = <&spdif_hiecout1>;
808c2ecf20Sopenharmony_ci			};
818c2ecf20Sopenharmony_ci		};
828c2ecf20Sopenharmony_ci	};
838c2ecf20Sopenharmony_ci
848c2ecf20Sopenharmony_ci	comp-spdif-out {
858c2ecf20Sopenharmony_ci		compatible = "linux,spdif-dit";
868c2ecf20Sopenharmony_ci		#sound-dai-cells = <0>;
878c2ecf20Sopenharmony_ci
888c2ecf20Sopenharmony_ci		port@0 {
898c2ecf20Sopenharmony_ci			comp_spdif_tx: endpoint {
908c2ecf20Sopenharmony_ci				remote-endpoint = <&comp_spdif_hiecout1>;
918c2ecf20Sopenharmony_ci			};
928c2ecf20Sopenharmony_ci		};
938c2ecf20Sopenharmony_ci	};
948c2ecf20Sopenharmony_ci
958c2ecf20Sopenharmony_ci	firmware {
968c2ecf20Sopenharmony_ci		optee {
978c2ecf20Sopenharmony_ci			compatible = "linaro,optee-tz";
988c2ecf20Sopenharmony_ci			method = "smc";
998c2ecf20Sopenharmony_ci		};
1008c2ecf20Sopenharmony_ci	};
1018c2ecf20Sopenharmony_ci};
1028c2ecf20Sopenharmony_ci
1038c2ecf20Sopenharmony_ci&spi3 {
1048c2ecf20Sopenharmony_ci	status = "okay";
1058c2ecf20Sopenharmony_ci	#address-cells = <1>;
1068c2ecf20Sopenharmony_ci	#size-cells = <0>;
1078c2ecf20Sopenharmony_ci	usb-over-spi@0 {
1088c2ecf20Sopenharmony_ci		compatible = "maxim,max3421-udc";
1098c2ecf20Sopenharmony_ci		reg = <0>;
1108c2ecf20Sopenharmony_ci		spi-max-frequency = <12500000>;
1118c2ecf20Sopenharmony_ci		interrupt-parent = <&gpio>;
1128c2ecf20Sopenharmony_ci		interrupt-names = "udc";
1138c2ecf20Sopenharmony_ci		interrupts = <0 2>;
1148c2ecf20Sopenharmony_ci	};
1158c2ecf20Sopenharmony_ci};
1168c2ecf20Sopenharmony_ci
1178c2ecf20Sopenharmony_ci&serial0 {
1188c2ecf20Sopenharmony_ci	/* Onboard USB-UART */
1198c2ecf20Sopenharmony_ci	status = "okay";
1208c2ecf20Sopenharmony_ci};
1218c2ecf20Sopenharmony_ci
1228c2ecf20Sopenharmony_ci&serial2 {
1238c2ecf20Sopenharmony_ci	/* LS connector UART1 */
1248c2ecf20Sopenharmony_ci	status = "okay";
1258c2ecf20Sopenharmony_ci};
1268c2ecf20Sopenharmony_ci
1278c2ecf20Sopenharmony_ci&serial3 {
1288c2ecf20Sopenharmony_ci	/* LS connector UART0 */
1298c2ecf20Sopenharmony_ci	status = "okay";
1308c2ecf20Sopenharmony_ci};
1318c2ecf20Sopenharmony_ci
1328c2ecf20Sopenharmony_ci&spdif_hiecout1 {
1338c2ecf20Sopenharmony_ci	remote-endpoint = <&spdif_tx>;
1348c2ecf20Sopenharmony_ci};
1358c2ecf20Sopenharmony_ci
1368c2ecf20Sopenharmony_ci&comp_spdif_hiecout1 {
1378c2ecf20Sopenharmony_ci	remote-endpoint = <&comp_spdif_tx>;
1388c2ecf20Sopenharmony_ci};
1398c2ecf20Sopenharmony_ci
1408c2ecf20Sopenharmony_ci&i2c0 {
1418c2ecf20Sopenharmony_ci	/* LS connector I2C0 */
1428c2ecf20Sopenharmony_ci	status = "okay";
1438c2ecf20Sopenharmony_ci};
1448c2ecf20Sopenharmony_ci
1458c2ecf20Sopenharmony_ci&i2c1 {
1468c2ecf20Sopenharmony_ci	/* LS connector I2C1 */
1478c2ecf20Sopenharmony_ci	status = "okay";
1488c2ecf20Sopenharmony_ci};
1498c2ecf20Sopenharmony_ci
1508c2ecf20Sopenharmony_ci&eth {
1518c2ecf20Sopenharmony_ci	status = "okay";
1528c2ecf20Sopenharmony_ci	phy-handle = <&ethphy>;
1538c2ecf20Sopenharmony_ci};
1548c2ecf20Sopenharmony_ci
1558c2ecf20Sopenharmony_ci&mdio {
1568c2ecf20Sopenharmony_ci	ethphy: ethernet-phy@0 {
1578c2ecf20Sopenharmony_ci		reg = <0>;
1588c2ecf20Sopenharmony_ci	};
1598c2ecf20Sopenharmony_ci};
1608c2ecf20Sopenharmony_ci
1618c2ecf20Sopenharmony_ci&usb {
1628c2ecf20Sopenharmony_ci	status = "okay";
1638c2ecf20Sopenharmony_ci};
1648c2ecf20Sopenharmony_ci
1658c2ecf20Sopenharmony_ci&pcie {
1668c2ecf20Sopenharmony_ci	status = "okay";
1678c2ecf20Sopenharmony_ci};
1688c2ecf20Sopenharmony_ci
1698c2ecf20Sopenharmony_ci&gpio {
1708c2ecf20Sopenharmony_ci	/* IRQs for Max3421 */
1718c2ecf20Sopenharmony_ci	xirq0 {
1728c2ecf20Sopenharmony_ci		gpio-hog;
1738c2ecf20Sopenharmony_ci		gpios = <UNIPHIER_GPIO_IRQ(0) 1>;
1748c2ecf20Sopenharmony_ci		input;
1758c2ecf20Sopenharmony_ci	};
1768c2ecf20Sopenharmony_ci	xirq10 {
1778c2ecf20Sopenharmony_ci		gpio-hog;
1788c2ecf20Sopenharmony_ci		gpios = <UNIPHIER_GPIO_IRQ(10) 1>;
1798c2ecf20Sopenharmony_ci		input;
1808c2ecf20Sopenharmony_ci	};
1818c2ecf20Sopenharmony_ci};
1828c2ecf20Sopenharmony_ci
1838c2ecf20Sopenharmony_ci&pinctrl_aout1 {
1848c2ecf20Sopenharmony_ci	groups = "aout1b";
1858c2ecf20Sopenharmony_ci};
1868c2ecf20Sopenharmony_ci
1878c2ecf20Sopenharmony_ci&pinctrl_uart3 {
1888c2ecf20Sopenharmony_ci	groups = "uart3", "uart3_ctsrts";
1898c2ecf20Sopenharmony_ci};
190