xref: /freebsd-src/sys/contrib/device-tree/src/arm64/amlogic/meson-sm1-bananapi-m2-pro.dts (revision b2d2a78ad80ec68d4a17f5aef97d21686cb1e29b)
1cb7aa33aSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2cb7aa33aSEmmanuel Vadot/*
3cb7aa33aSEmmanuel Vadot * Copyright (c) 2021 BayLibre SAS
4cb7aa33aSEmmanuel Vadot * Author: Neil Armstrong <narmstrong@baylibre.com>
5cb7aa33aSEmmanuel Vadot */
6cb7aa33aSEmmanuel Vadot
7cb7aa33aSEmmanuel Vadot/dts-v1/;
8cb7aa33aSEmmanuel Vadot
9cb7aa33aSEmmanuel Vadot#include "meson-sm1-bananapi.dtsi"
10cb7aa33aSEmmanuel Vadot#include <dt-bindings/sound/meson-g12a-tohdmitx.h>
11cb7aa33aSEmmanuel Vadot
12cb7aa33aSEmmanuel Vadot/ {
13cb7aa33aSEmmanuel Vadot	compatible = "bananapi,bpi-m2-pro", "amlogic,sm1";
14cb7aa33aSEmmanuel Vadot	model = "Banana Pi BPI-M2-PRO";
15cb7aa33aSEmmanuel Vadot
16cb7aa33aSEmmanuel Vadot	sound {
17cb7aa33aSEmmanuel Vadot		compatible = "amlogic,axg-sound-card";
18cb7aa33aSEmmanuel Vadot		model = "BPI-M2-PRO";
19cb7aa33aSEmmanuel Vadot		audio-aux-devs = <&tdmout_b>;
20cb7aa33aSEmmanuel Vadot		audio-routing = "TDMOUT_B IN 0", "FRDDR_A OUT 1",
21cb7aa33aSEmmanuel Vadot				"TDMOUT_B IN 1", "FRDDR_B OUT 1",
22cb7aa33aSEmmanuel Vadot				"TDMOUT_B IN 2", "FRDDR_C OUT 1",
23cb7aa33aSEmmanuel Vadot				"TDM_B Playback", "TDMOUT_B OUT";
24cb7aa33aSEmmanuel Vadot
25*b2d2a78aSEmmanuel Vadot		clocks = <&clkc CLKID_MPLL2>,
26*b2d2a78aSEmmanuel Vadot			 <&clkc CLKID_MPLL0>,
27*b2d2a78aSEmmanuel Vadot			 <&clkc CLKID_MPLL1>;
28*b2d2a78aSEmmanuel Vadot
29cb7aa33aSEmmanuel Vadot		assigned-clocks = <&clkc CLKID_MPLL2>,
30cb7aa33aSEmmanuel Vadot				  <&clkc CLKID_MPLL0>,
31cb7aa33aSEmmanuel Vadot				  <&clkc CLKID_MPLL1>;
32cb7aa33aSEmmanuel Vadot		assigned-clock-parents = <0>, <0>, <0>;
33cb7aa33aSEmmanuel Vadot		assigned-clock-rates = <294912000>,
34cb7aa33aSEmmanuel Vadot				       <270950400>,
35cb7aa33aSEmmanuel Vadot				       <393216000>;
36cb7aa33aSEmmanuel Vadot
37cb7aa33aSEmmanuel Vadot		dai-link-0 {
38cb7aa33aSEmmanuel Vadot			sound-dai = <&frddr_a>;
39cb7aa33aSEmmanuel Vadot		};
40cb7aa33aSEmmanuel Vadot
41cb7aa33aSEmmanuel Vadot		dai-link-1 {
42cb7aa33aSEmmanuel Vadot			sound-dai = <&frddr_b>;
43cb7aa33aSEmmanuel Vadot		};
44cb7aa33aSEmmanuel Vadot
45cb7aa33aSEmmanuel Vadot		dai-link-2 {
46cb7aa33aSEmmanuel Vadot			sound-dai = <&frddr_c>;
47cb7aa33aSEmmanuel Vadot		};
48cb7aa33aSEmmanuel Vadot
49cb7aa33aSEmmanuel Vadot		/* 8ch hdmi interface */
50cb7aa33aSEmmanuel Vadot		dai-link-3 {
51cb7aa33aSEmmanuel Vadot			sound-dai = <&tdmif_b>;
52cb7aa33aSEmmanuel Vadot			dai-format = "i2s";
53cb7aa33aSEmmanuel Vadot			dai-tdm-slot-tx-mask-0 = <1 1>;
54cb7aa33aSEmmanuel Vadot			dai-tdm-slot-tx-mask-1 = <1 1>;
55cb7aa33aSEmmanuel Vadot			dai-tdm-slot-tx-mask-2 = <1 1>;
56cb7aa33aSEmmanuel Vadot			dai-tdm-slot-tx-mask-3 = <1 1>;
57cb7aa33aSEmmanuel Vadot			mclk-fs = <256>;
58cb7aa33aSEmmanuel Vadot
59cb7aa33aSEmmanuel Vadot			codec {
60cb7aa33aSEmmanuel Vadot				sound-dai = <&tohdmitx TOHDMITX_I2S_IN_B>;
61cb7aa33aSEmmanuel Vadot			};
62cb7aa33aSEmmanuel Vadot		};
63cb7aa33aSEmmanuel Vadot
64cb7aa33aSEmmanuel Vadot		/* hdmi glue */
65cb7aa33aSEmmanuel Vadot		dai-link-4 {
66cb7aa33aSEmmanuel Vadot			sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>;
67cb7aa33aSEmmanuel Vadot
68cb7aa33aSEmmanuel Vadot			codec {
69cb7aa33aSEmmanuel Vadot				sound-dai = <&hdmi_tx>;
70cb7aa33aSEmmanuel Vadot			};
71cb7aa33aSEmmanuel Vadot		};
72cb7aa33aSEmmanuel Vadot	};
73cb7aa33aSEmmanuel Vadot};
74cb7aa33aSEmmanuel Vadot
75cb7aa33aSEmmanuel Vadot&clkc_audio {
76cb7aa33aSEmmanuel Vadot	status = "okay";
77cb7aa33aSEmmanuel Vadot};
78cb7aa33aSEmmanuel Vadot
79cb7aa33aSEmmanuel Vadot&frddr_a {
80cb7aa33aSEmmanuel Vadot	status = "okay";
81cb7aa33aSEmmanuel Vadot};
82cb7aa33aSEmmanuel Vadot
83cb7aa33aSEmmanuel Vadot&frddr_b {
84cb7aa33aSEmmanuel Vadot	status = "okay";
85cb7aa33aSEmmanuel Vadot};
86cb7aa33aSEmmanuel Vadot
87cb7aa33aSEmmanuel Vadot&frddr_c {
88cb7aa33aSEmmanuel Vadot	status = "okay";
89cb7aa33aSEmmanuel Vadot};
90cb7aa33aSEmmanuel Vadot
91cb7aa33aSEmmanuel Vadot&tdmif_b {
92cb7aa33aSEmmanuel Vadot	status = "okay";
93cb7aa33aSEmmanuel Vadot};
94cb7aa33aSEmmanuel Vadot
95cb7aa33aSEmmanuel Vadot&tdmout_b {
96cb7aa33aSEmmanuel Vadot	status = "okay";
97cb7aa33aSEmmanuel Vadot};
98cb7aa33aSEmmanuel Vadot
99cb7aa33aSEmmanuel Vadot&tohdmitx {
100cb7aa33aSEmmanuel Vadot	status = "okay";
101cb7aa33aSEmmanuel Vadot};
102