xref: /freebsd/sys/contrib/device-tree/src/arm64/tesla/fsd-evb.dts (revision cb7aa33ac6cd46a5434798e50363136e64f3ae98)
1c9ccf3a3SEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2c9ccf3a3SEmmanuel Vadot/*
3c9ccf3a3SEmmanuel Vadot * Tesla FSD board device tree source
4c9ccf3a3SEmmanuel Vadot *
5c9ccf3a3SEmmanuel Vadot * Copyright (c) 2017-2021 Samsung Electronics Co., Ltd.
6c9ccf3a3SEmmanuel Vadot *		https://www.samsung.com
7c9ccf3a3SEmmanuel Vadot * Copyright (c) 2017-2021 Tesla, Inc.
8c9ccf3a3SEmmanuel Vadot *		https://www.tesla.com
9c9ccf3a3SEmmanuel Vadot */
10c9ccf3a3SEmmanuel Vadot
11c9ccf3a3SEmmanuel Vadot/dts-v1/;
12c9ccf3a3SEmmanuel Vadot#include "fsd.dtsi"
13*cb7aa33aSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
14c9ccf3a3SEmmanuel Vadot
15c9ccf3a3SEmmanuel Vadot/ {
16c9ccf3a3SEmmanuel Vadot	model = "Tesla Full Self-Driving (FSD) Evaluation board";
17c9ccf3a3SEmmanuel Vadot	compatible = "tesla,fsd-evb", "tesla,fsd";
18c9ccf3a3SEmmanuel Vadot
19c9ccf3a3SEmmanuel Vadot	aliases {
20c9ccf3a3SEmmanuel Vadot		serial0 = &serial_0;
21c9ccf3a3SEmmanuel Vadot		serial1 = &serial_1;
22c9ccf3a3SEmmanuel Vadot	};
23c9ccf3a3SEmmanuel Vadot
24c9ccf3a3SEmmanuel Vadot	chosen {
25c9ccf3a3SEmmanuel Vadot		stdout-path = &serial_0;
26c9ccf3a3SEmmanuel Vadot	};
27c9ccf3a3SEmmanuel Vadot
28c9ccf3a3SEmmanuel Vadot	memory@80000000 {
29c9ccf3a3SEmmanuel Vadot		device_type = "memory";
30c9ccf3a3SEmmanuel Vadot		reg = <0x0 0x80000000 0x2 0x00000000>;
31c9ccf3a3SEmmanuel Vadot	};
32*cb7aa33aSEmmanuel Vadot
33*cb7aa33aSEmmanuel Vadot	sound {
34*cb7aa33aSEmmanuel Vadot		compatible = "simple-audio-card";
35*cb7aa33aSEmmanuel Vadot
36*cb7aa33aSEmmanuel Vadot		#address-cells = <1>;
37*cb7aa33aSEmmanuel Vadot		#size-cells = <0>;
38*cb7aa33aSEmmanuel Vadot
39*cb7aa33aSEmmanuel Vadot		simple-audio-card,name = "FSD Audio Card";
40*cb7aa33aSEmmanuel Vadot		simple-audio-card,widgets = "Line", "Line Out",
41*cb7aa33aSEmmanuel Vadot					    "Line", "Line In";
42*cb7aa33aSEmmanuel Vadot		simple-audio-card,routing = "Line Out", "LLOUT",
43*cb7aa33aSEmmanuel Vadot					    "Line Out", "RLOUT",
44*cb7aa33aSEmmanuel Vadot					    "MIC2L", "Line In",
45*cb7aa33aSEmmanuel Vadot					    "MIC2R", "Line In";
46*cb7aa33aSEmmanuel Vadot
47*cb7aa33aSEmmanuel Vadot		simple-audio-card,dai-link@0 {
48*cb7aa33aSEmmanuel Vadot			reg = <0>;
49*cb7aa33aSEmmanuel Vadot			format = "i2s";
50*cb7aa33aSEmmanuel Vadot			bitclock-master = <&tlv320aic3x>;
51*cb7aa33aSEmmanuel Vadot			frame-master = <&tlv320aic3x>;
52*cb7aa33aSEmmanuel Vadot
53*cb7aa33aSEmmanuel Vadot			cpu-0 {
54*cb7aa33aSEmmanuel Vadot				sound-dai = <&i2s_0 0>;
55*cb7aa33aSEmmanuel Vadot			};
56*cb7aa33aSEmmanuel Vadot			cpu-1 {
57*cb7aa33aSEmmanuel Vadot				sound-dai = <&i2s_0 1>;
58*cb7aa33aSEmmanuel Vadot			};
59*cb7aa33aSEmmanuel Vadot			codec {
60*cb7aa33aSEmmanuel Vadot				sound-dai = <&tlv320aic3x>;
61*cb7aa33aSEmmanuel Vadot				system-clock-frequency = <33000000>;
62*cb7aa33aSEmmanuel Vadot			};
63*cb7aa33aSEmmanuel Vadot		};
64*cb7aa33aSEmmanuel Vadot	};
65c9ccf3a3SEmmanuel Vadot};
66c9ccf3a3SEmmanuel Vadot
67c9ccf3a3SEmmanuel Vadot&fin_pll {
68c9ccf3a3SEmmanuel Vadot	clock-frequency = <24000000>;
69c9ccf3a3SEmmanuel Vadot};
70c9ccf3a3SEmmanuel Vadot
71*cb7aa33aSEmmanuel Vadot&hsi2c_5 {
72*cb7aa33aSEmmanuel Vadot	status = "okay";
73*cb7aa33aSEmmanuel Vadot
74*cb7aa33aSEmmanuel Vadot	tlv320aic3x: codec@18 {
75*cb7aa33aSEmmanuel Vadot		compatible = "ti,tlv320aic3104";
76*cb7aa33aSEmmanuel Vadot		reg = <0x18>;
77*cb7aa33aSEmmanuel Vadot		#sound-dai-cells = <0>;
78*cb7aa33aSEmmanuel Vadot		reset-gpios = <&gpg1 6 GPIO_ACTIVE_LOW>;
79*cb7aa33aSEmmanuel Vadot	};
80*cb7aa33aSEmmanuel Vadot};
81*cb7aa33aSEmmanuel Vadot
82*cb7aa33aSEmmanuel Vadot&i2s_0 {
83*cb7aa33aSEmmanuel Vadot	status = "okay";
84*cb7aa33aSEmmanuel Vadot};
85*cb7aa33aSEmmanuel Vadot
86*cb7aa33aSEmmanuel Vadot&i2s_1 {
87*cb7aa33aSEmmanuel Vadot	status = "okay";
88*cb7aa33aSEmmanuel Vadot};
89*cb7aa33aSEmmanuel Vadot
90*cb7aa33aSEmmanuel Vadot&m_can0 {
91*cb7aa33aSEmmanuel Vadot	status = "okay";
92*cb7aa33aSEmmanuel Vadot};
93*cb7aa33aSEmmanuel Vadot
94*cb7aa33aSEmmanuel Vadot&m_can1 {
95*cb7aa33aSEmmanuel Vadot	status = "okay";
96*cb7aa33aSEmmanuel Vadot};
97*cb7aa33aSEmmanuel Vadot
98*cb7aa33aSEmmanuel Vadot&m_can2 {
99*cb7aa33aSEmmanuel Vadot	status = "okay";
100*cb7aa33aSEmmanuel Vadot};
101*cb7aa33aSEmmanuel Vadot
102*cb7aa33aSEmmanuel Vadot&m_can3 {
103*cb7aa33aSEmmanuel Vadot	status = "okay";
104*cb7aa33aSEmmanuel Vadot};
105*cb7aa33aSEmmanuel Vadot
106c9ccf3a3SEmmanuel Vadot&serial_0 {
107c9ccf3a3SEmmanuel Vadot	status = "okay";
108c9ccf3a3SEmmanuel Vadot};
109b97ee269SEmmanuel Vadot
110b97ee269SEmmanuel Vadot&ufs {
111b97ee269SEmmanuel Vadot	status = "okay";
112b97ee269SEmmanuel Vadot};
113