0001 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
0002 /*
0003 * Copyright (c) 2019 BayLibre, SAS
0004 * Author: Neil Armstrong <narmstrong@baylibre.com>
0005 * Copyright (c) 2019 Christian Hewitt <christianshewitt@gmail.com>
0006 */
0007
0008 /dts-v1/;
0009
0010 #include "meson-g12b-w400.dtsi"
0011 #include <dt-bindings/sound/meson-g12a-tohdmitx.h>
0012
0013 / {
0014 compatible = "azw,gtking", "amlogic,s922x", "amlogic,g12b";
0015 model = "Beelink GT-King";
0016
0017 aliases {
0018 rtc0 = &rtc;
0019 rtc1 = &vrtc;
0020 };
0021
0022 spdif_dit: audio-codec-1 {
0023 #sound-dai-cells = <0>;
0024 compatible = "linux,spdif-dit";
0025 status = "okay";
0026 sound-name-prefix = "DIT";
0027 };
0028
0029 sound {
0030 compatible = "amlogic,axg-sound-card";
0031 model = "GTKING";
0032 audio-aux-devs = <&tdmout_b>;
0033 audio-routing = "TDMOUT_B IN 0", "FRDDR_A OUT 1",
0034 "TDMOUT_B IN 1", "FRDDR_B OUT 1",
0035 "TDMOUT_B IN 2", "FRDDR_C OUT 1",
0036 "TDM_B Playback", "TDMOUT_B OUT",
0037 "SPDIFOUT IN 0", "FRDDR_A OUT 3",
0038 "SPDIFOUT IN 1", "FRDDR_B OUT 3",
0039 "SPDIFOUT IN 2", "FRDDR_C OUT 3";
0040
0041 assigned-clocks = <&clkc CLKID_MPLL2>,
0042 <&clkc CLKID_MPLL0>,
0043 <&clkc CLKID_MPLL1>;
0044 assigned-clock-parents = <0>, <0>, <0>;
0045 assigned-clock-rates = <294912000>,
0046 <270950400>,
0047 <393216000>;
0048 status = "okay";
0049
0050 dai-link-0 {
0051 sound-dai = <&frddr_a>;
0052 };
0053
0054 dai-link-1 {
0055 sound-dai = <&frddr_b>;
0056 };
0057
0058 dai-link-2 {
0059 sound-dai = <&frddr_c>;
0060 };
0061
0062 /* 8ch hdmi interface */
0063 dai-link-3 {
0064 sound-dai = <&tdmif_b>;
0065 dai-format = "i2s";
0066 dai-tdm-slot-tx-mask-0 = <1 1>;
0067 dai-tdm-slot-tx-mask-1 = <1 1>;
0068 dai-tdm-slot-tx-mask-2 = <1 1>;
0069 dai-tdm-slot-tx-mask-3 = <1 1>;
0070 mclk-fs = <256>;
0071
0072 codec {
0073 sound-dai = <&tohdmitx TOHDMITX_I2S_IN_B>;
0074 };
0075 };
0076
0077 /* spdif hdmi or toslink interface */
0078 dai-link-4 {
0079 sound-dai = <&spdifout>;
0080
0081 codec-0 {
0082 sound-dai = <&spdif_dit>;
0083 };
0084
0085 codec-1 {
0086 sound-dai = <&tohdmitx TOHDMITX_SPDIF_IN_A>;
0087 };
0088 };
0089
0090 /* spdif hdmi interface */
0091 dai-link-5 {
0092 sound-dai = <&spdifout_b>;
0093
0094 codec {
0095 sound-dai = <&tohdmitx TOHDMITX_SPDIF_IN_B>;
0096 };
0097 };
0098
0099 /* hdmi glue */
0100 dai-link-6 {
0101 sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>;
0102
0103 codec {
0104 sound-dai = <&hdmi_tx>;
0105 };
0106 };
0107 };
0108 };
0109
0110 &arb {
0111 status = "okay";
0112 };
0113
0114 &clkc_audio {
0115 status = "okay";
0116 };
0117
0118 &frddr_a {
0119 status = "okay";
0120 };
0121
0122 &frddr_b {
0123 status = "okay";
0124 };
0125
0126 &frddr_c {
0127 status = "okay";
0128 };
0129
0130
0131 &i2c3 {
0132 status = "okay";
0133 pinctrl-0 = <&i2c3_sda_a_pins>, <&i2c3_sck_a_pins>;
0134 pinctrl-names = "default";
0135
0136 rtc: rtc@51 {
0137 compatible = "nxp,pcf8563";
0138 reg = <0x51>;
0139 wakeup-source;
0140 };
0141 };
0142
0143 &spdifout {
0144 pinctrl-0 = <&spdif_out_h_pins>;
0145 pinctrl-names = "default";
0146 status = "okay";
0147 };
0148
0149 &spdifout_b {
0150 status = "okay";
0151 };
0152
0153 &tdmif_b {
0154 status = "okay";
0155 };
0156
0157 &tdmout_b {
0158 status = "okay";
0159 };
0160
0161 &tohdmitx {
0162 status = "okay";
0163 };