diff options
Diffstat (limited to 'dts/upstream/src/arm64/tesla/fsd-evb.dts')
-rw-r--r-- | dts/upstream/src/arm64/tesla/fsd-evb.dts | 112 |
1 files changed, 112 insertions, 0 deletions
diff --git a/dts/upstream/src/arm64/tesla/fsd-evb.dts b/dts/upstream/src/arm64/tesla/fsd-evb.dts new file mode 100644 index 00000000000..8d779464290 --- /dev/null +++ b/dts/upstream/src/arm64/tesla/fsd-evb.dts @@ -0,0 +1,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"; +}; |