162306a36Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Tesla FSD board device tree source
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * Copyright (c) 2017-2021 Samsung Electronics Co., Ltd.
662306a36Sopenharmony_ci *		https://www.samsung.com
762306a36Sopenharmony_ci * Copyright (c) 2017-2021 Tesla, Inc.
862306a36Sopenharmony_ci *		https://www.tesla.com
962306a36Sopenharmony_ci */
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ci/dts-v1/;
1262306a36Sopenharmony_ci#include "fsd.dtsi"
1362306a36Sopenharmony_ci#include <dt-bindings/gpio/gpio.h>
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ci/ {
1662306a36Sopenharmony_ci	model = "Tesla Full Self-Driving (FSD) Evaluation board";
1762306a36Sopenharmony_ci	compatible = "tesla,fsd-evb", "tesla,fsd";
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ci	aliases {
2062306a36Sopenharmony_ci		serial0 = &serial_0;
2162306a36Sopenharmony_ci		serial1 = &serial_1;
2262306a36Sopenharmony_ci	};
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_ci	chosen {
2562306a36Sopenharmony_ci		stdout-path = &serial_0;
2662306a36Sopenharmony_ci	};
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ci	memory@80000000 {
2962306a36Sopenharmony_ci		device_type = "memory";
3062306a36Sopenharmony_ci		reg = <0x0 0x80000000 0x2 0x00000000>;
3162306a36Sopenharmony_ci	};
3262306a36Sopenharmony_ci
3362306a36Sopenharmony_ci	sound {
3462306a36Sopenharmony_ci		compatible = "simple-audio-card";
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_ci		#address-cells = <1>;
3762306a36Sopenharmony_ci		#size-cells = <0>;
3862306a36Sopenharmony_ci
3962306a36Sopenharmony_ci		simple-audio-card,name = "FSD Audio Card";
4062306a36Sopenharmony_ci		simple-audio-card,widgets = "Line", "Line Out",
4162306a36Sopenharmony_ci					    "Line", "Line In";
4262306a36Sopenharmony_ci		simple-audio-card,routing = "Line Out", "LLOUT",
4362306a36Sopenharmony_ci					    "Line Out", "RLOUT",
4462306a36Sopenharmony_ci					    "MIC2L", "Line In",
4562306a36Sopenharmony_ci					    "MIC2R", "Line In";
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_ci		simple-audio-card,dai-link@0 {
4862306a36Sopenharmony_ci			reg = <0>;
4962306a36Sopenharmony_ci			format = "i2s";
5062306a36Sopenharmony_ci			bitclock-master = <&tlv320aic3x>;
5162306a36Sopenharmony_ci			frame-master = <&tlv320aic3x>;
5262306a36Sopenharmony_ci
5362306a36Sopenharmony_ci			cpu-0 {
5462306a36Sopenharmony_ci				sound-dai = <&i2s_0 0>;
5562306a36Sopenharmony_ci			};
5662306a36Sopenharmony_ci			cpu-1 {
5762306a36Sopenharmony_ci				sound-dai = <&i2s_0 1>;
5862306a36Sopenharmony_ci			};
5962306a36Sopenharmony_ci			codec {
6062306a36Sopenharmony_ci				sound-dai = <&tlv320aic3x>;
6162306a36Sopenharmony_ci				system-clock-frequency = <33000000>;
6262306a36Sopenharmony_ci			};
6362306a36Sopenharmony_ci		};
6462306a36Sopenharmony_ci	};
6562306a36Sopenharmony_ci};
6662306a36Sopenharmony_ci
6762306a36Sopenharmony_ci&fin_pll {
6862306a36Sopenharmony_ci	clock-frequency = <24000000>;
6962306a36Sopenharmony_ci};
7062306a36Sopenharmony_ci
7162306a36Sopenharmony_ci&hsi2c_5 {
7262306a36Sopenharmony_ci	status = "okay";
7362306a36Sopenharmony_ci
7462306a36Sopenharmony_ci	tlv320aic3x: codec@18 {
7562306a36Sopenharmony_ci		compatible = "ti,tlv320aic3104";
7662306a36Sopenharmony_ci		reg = <0x18>;
7762306a36Sopenharmony_ci		#sound-dai-cells = <0>;
7862306a36Sopenharmony_ci		reset-gpios = <&gpg1 6 GPIO_ACTIVE_LOW>;
7962306a36Sopenharmony_ci	};
8062306a36Sopenharmony_ci};
8162306a36Sopenharmony_ci
8262306a36Sopenharmony_ci&i2s_0 {
8362306a36Sopenharmony_ci	status = "okay";
8462306a36Sopenharmony_ci};
8562306a36Sopenharmony_ci
8662306a36Sopenharmony_ci&i2s_1 {
8762306a36Sopenharmony_ci	status = "okay";
8862306a36Sopenharmony_ci};
8962306a36Sopenharmony_ci
9062306a36Sopenharmony_ci&m_can0 {
9162306a36Sopenharmony_ci	status = "okay";
9262306a36Sopenharmony_ci};
9362306a36Sopenharmony_ci
9462306a36Sopenharmony_ci&m_can1 {
9562306a36Sopenharmony_ci	status = "okay";
9662306a36Sopenharmony_ci};
9762306a36Sopenharmony_ci
9862306a36Sopenharmony_ci&m_can2 {
9962306a36Sopenharmony_ci	status = "okay";
10062306a36Sopenharmony_ci};
10162306a36Sopenharmony_ci
10262306a36Sopenharmony_ci&m_can3 {
10362306a36Sopenharmony_ci	status = "okay";
10462306a36Sopenharmony_ci};
10562306a36Sopenharmony_ci
10662306a36Sopenharmony_ci&serial_0 {
10762306a36Sopenharmony_ci	status = "okay";
10862306a36Sopenharmony_ci};
10962306a36Sopenharmony_ci
11062306a36Sopenharmony_ci&ufs {
11162306a36Sopenharmony_ci	status = "okay";
11262306a36Sopenharmony_ci};
113