summaryrefslogtreecommitdiff
path: root/arch/arm64/boot/dts/tesla/fsd-evb.dts
blob: 8d77946429002a713ec46f20155e7d019a21a70d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
// 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";
};