/*
 * Copyright (C) 2017 Sanechips Technology Co., Ltd.
 * Copyright 2017 Linaro Ltd.
 *
 * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
 */

/dts-v1/;
#include "zx296718.dtsi"
#include <dt-bindings/pwm/pwm.h>

/ {
	model = "ZTE ZX296718 PCBOX Board";
	compatible = "zte,zx296718-pcbox", "zte,zx296718";

	chosen {
		stdout-path = "serial0:115200n8";
	};

	memory@80000000 {
		device_type = "memory";
		reg = <0x80000000 0x80000000>;
	};

	a53_vdd0v9: regulator-a53 {
		compatible = "pwm-regulator";
		pwms = <&pwm 3 1250 PWM_POLARITY_INVERTED>;
		regulator-name = "A53_VDD0V9";
		regulator-min-microvolt = <855000>;
		regulator-max-microvolt = <1183000>;
		pwm-dutycycle-unit = <100>;
		pwm-dutycycle-range = <0 100>;
		regulator-always-on;
		regulator-boot-on;
	};

	sound-spdif0 {
		compatible = "audio-graph-card";
		dais = <&spdif0_port>;
	};

	sound-i2s0 {
		compatible = "audio-graph-card";
		dais = <&i2s0_port>;
	};
};

&aud96p22 {
	port {
		aud96p22_endpoint: endpoint {
			remote-endpoint = <&i2s0_endpoint>;
		};
	};
};

&cpu0 {
	cpu-supply = <&a53_vdd0v9>;
};

&emmc {
	status = "okay";
};

&hdmi {
	status = "disabled";

	port {
		hdmi_endpoint: endpoint {
			remote-endpoint = <&spdif0_endpoint>;
		};
	};
};

&i2c0 {
	status = "okay";
};

&i2s0 {
	status = "okay";

	i2s0_port: port {
		i2s0_endpoint: endpoint {
			remote-endpoint = <&aud96p22_endpoint>;
			dai-format = "i2s";
			frame-master;
			bitclock-master;
		};
	};
};

&irdec {
	status = "okay";
};

&pmm {
	pwm3_pins: pwm3 {
		pins = "KEY_ROW2";
		function = "PWM";
	};

	vga_pins: vga {
		pins = "KEY_COL1", "KEY_COL2", "VGA_HS", "VGA_VS";
		function = "VGA";
	};
};

&pwm {
	pinctrl-names = "default";
	pinctrl-0 = <&pwm3_pins>;
	status = "okay";
};

&sd0 {
	status = "okay";
};

&sd1 {
	status = "okay";
};

&spdif0 {
	status = "okay";

	spdif0_port: port {
		spdif0_endpoint: endpoint {
			remote-endpoint = <&hdmi_endpoint>;
		};
	};
};

&tvenc {
	status = "disabled";
};

&uart0 {
	status = "okay";
};

&vga {
	pinctrl-names = "default";
	pinctrl-0 = <&vga_pins>;
	status = "okay";
};
