// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
/*
 * Tesla FSD board device tree source
 *
 * Copyright (c) 2017-2021 Samsung Electronics Co., Ltd.
 *		https://www.samsung.com
 * Copyright (c) 2017-2021 Tesla, Inc.
 *		https://www.tesla.com
 */

/dts-v1/;
#include "fsd.dtsi"
#include <dt-bindings/gpio/gpio.h>

/ {
	model = "Tesla Full Self-Driving (FSD) Evaluation board";
	compatible = "tesla,fsd-evb", "tesla,fsd";

	aliases {
		serial0 = &serial_0;
		serial1 = &serial_1;
	};

	chosen {
		stdout-path = &serial_0;
	};

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

	sound {
		compatible = "simple-audio-card";

		#address-cells = <1>;
		#size-cells = <0>;

		simple-audio-card,name = "FSD Audio Card";
		simple-audio-card,widgets = "Line", "Line Out",
					    "Line", "Line In";
		simple-audio-card,routing = "Line Out", "LLOUT",
					    "Line Out", "RLOUT",
					    "MIC2L", "Line In",
					    "MIC2R", "Line In";

		simple-audio-card,dai-link@0 {
			reg = <0>;
			format = "i2s";
			bitclock-master = <&tlv320aic3x>;
			frame-master = <&tlv320aic3x>;

			cpu-0 {
				sound-dai = <&i2s_0 0>;
			};
			cpu-1 {
				sound-dai = <&i2s_0 1>;
			};
			codec {
				sound-dai = <&tlv320aic3x>;
				system-clock-frequency = <33000000>;
			};
		};
	};
};

&fin_pll {
	clock-frequency = <24000000>;
};

&hsi2c_5 {
	status = "okay";

	tlv320aic3x: codec@18 {
		compatible = "ti,tlv320aic3104";
		reg = <0x18>;
		#sound-dai-cells = <0>;
		reset-gpios = <&gpg1 6 GPIO_ACTIVE_LOW>;
	};
};

&i2s_0 {
	status = "okay";
};

&i2s_1 {
	status = "okay";
};

&m_can0 {
	status = "okay";
};

&m_can1 {
	status = "okay";
};

&m_can2 {
	status = "okay";
};

&m_can3 {
	status = "okay";
};

&serial_0 {
	status = "okay";
};

&ufs {
	status = "okay";
};
