18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
28c2ecf20Sopenharmony_ci/*
38c2ecf20Sopenharmony_ci * Copyright (c) 2019 BayLibre, SAS
48c2ecf20Sopenharmony_ci * Author: Neil Armstrong <narmstrong@baylibre.com>
58c2ecf20Sopenharmony_ci * Copyright (c) 2019 Christian Hewitt <christianshewitt@gmail.com>
68c2ecf20Sopenharmony_ci */
78c2ecf20Sopenharmony_ci
88c2ecf20Sopenharmony_ci/dts-v1/;
98c2ecf20Sopenharmony_ci
108c2ecf20Sopenharmony_ci#include "meson-g12b-w400.dtsi"
118c2ecf20Sopenharmony_ci#include <dt-bindings/sound/meson-g12a-tohdmitx.h>
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_ci/ {
148c2ecf20Sopenharmony_ci	compatible = "azw,gtking", "amlogic,g12b";
158c2ecf20Sopenharmony_ci	model = "Beelink GT-King Pro";
168c2ecf20Sopenharmony_ci
178c2ecf20Sopenharmony_ci	gpio-keys-polled {
188c2ecf20Sopenharmony_ci		compatible = "gpio-keys-polled";
198c2ecf20Sopenharmony_ci		#address-cells = <1>;
208c2ecf20Sopenharmony_ci		#size-cells = <0>;
218c2ecf20Sopenharmony_ci		poll-interval = <100>;
228c2ecf20Sopenharmony_ci
238c2ecf20Sopenharmony_ci		power-button {
248c2ecf20Sopenharmony_ci			label = "power";
258c2ecf20Sopenharmony_ci			linux,code = <KEY_POWER>;
268c2ecf20Sopenharmony_ci			gpios = <&gpio_ao GPIOAO_3 GPIO_ACTIVE_HIGH>;
278c2ecf20Sopenharmony_ci		};
288c2ecf20Sopenharmony_ci	};
298c2ecf20Sopenharmony_ci
308c2ecf20Sopenharmony_ci	leds {
318c2ecf20Sopenharmony_ci		compatible = "gpio-leds";
328c2ecf20Sopenharmony_ci
338c2ecf20Sopenharmony_ci		white {
348c2ecf20Sopenharmony_ci			label = "power:white";
358c2ecf20Sopenharmony_ci			gpios = <&gpio_ao GPIOAO_11 GPIO_ACTIVE_HIGH>;
368c2ecf20Sopenharmony_ci			default-state = "on";
378c2ecf20Sopenharmony_ci		};
388c2ecf20Sopenharmony_ci	};
398c2ecf20Sopenharmony_ci
408c2ecf20Sopenharmony_ci	sound {
418c2ecf20Sopenharmony_ci		compatible = "amlogic,axg-sound-card";
428c2ecf20Sopenharmony_ci		model = "G12B-GTKING-PRO";
438c2ecf20Sopenharmony_ci		audio-aux-devs = <&tdmout_b>;
448c2ecf20Sopenharmony_ci		audio-routing = "TDMOUT_B IN 0", "FRDDR_A OUT 1",
458c2ecf20Sopenharmony_ci				"TDMOUT_B IN 1", "FRDDR_B OUT 1",
468c2ecf20Sopenharmony_ci				"TDMOUT_B IN 2", "FRDDR_C OUT 1",
478c2ecf20Sopenharmony_ci				"TDM_B Playback", "TDMOUT_B OUT";
488c2ecf20Sopenharmony_ci
498c2ecf20Sopenharmony_ci		assigned-clocks = <&clkc CLKID_MPLL2>,
508c2ecf20Sopenharmony_ci				  <&clkc CLKID_MPLL0>,
518c2ecf20Sopenharmony_ci				  <&clkc CLKID_MPLL1>;
528c2ecf20Sopenharmony_ci		assigned-clock-parents = <0>, <0>, <0>;
538c2ecf20Sopenharmony_ci		assigned-clock-rates = <294912000>,
548c2ecf20Sopenharmony_ci				       <270950400>,
558c2ecf20Sopenharmony_ci				       <393216000>;
568c2ecf20Sopenharmony_ci		status = "okay";
578c2ecf20Sopenharmony_ci
588c2ecf20Sopenharmony_ci		dai-link-0 {
598c2ecf20Sopenharmony_ci			sound-dai = <&frddr_a>;
608c2ecf20Sopenharmony_ci		};
618c2ecf20Sopenharmony_ci
628c2ecf20Sopenharmony_ci		dai-link-1 {
638c2ecf20Sopenharmony_ci			sound-dai = <&frddr_b>;
648c2ecf20Sopenharmony_ci		};
658c2ecf20Sopenharmony_ci
668c2ecf20Sopenharmony_ci		dai-link-2 {
678c2ecf20Sopenharmony_ci			sound-dai = <&frddr_c>;
688c2ecf20Sopenharmony_ci		};
698c2ecf20Sopenharmony_ci
708c2ecf20Sopenharmony_ci		/* 8ch hdmi interface */
718c2ecf20Sopenharmony_ci		dai-link-3 {
728c2ecf20Sopenharmony_ci			sound-dai = <&tdmif_b>;
738c2ecf20Sopenharmony_ci			dai-format = "i2s";
748c2ecf20Sopenharmony_ci			dai-tdm-slot-tx-mask-0 = <1 1>;
758c2ecf20Sopenharmony_ci			dai-tdm-slot-tx-mask-1 = <1 1>;
768c2ecf20Sopenharmony_ci			dai-tdm-slot-tx-mask-2 = <1 1>;
778c2ecf20Sopenharmony_ci			dai-tdm-slot-tx-mask-3 = <1 1>;
788c2ecf20Sopenharmony_ci			mclk-fs = <256>;
798c2ecf20Sopenharmony_ci
808c2ecf20Sopenharmony_ci			codec {
818c2ecf20Sopenharmony_ci				sound-dai = <&tohdmitx TOHDMITX_I2S_IN_B>;
828c2ecf20Sopenharmony_ci			};
838c2ecf20Sopenharmony_ci		};
848c2ecf20Sopenharmony_ci
858c2ecf20Sopenharmony_ci		dai-link-4 {
868c2ecf20Sopenharmony_ci			sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>;
878c2ecf20Sopenharmony_ci
888c2ecf20Sopenharmony_ci			codec {
898c2ecf20Sopenharmony_ci				sound-dai = <&hdmi_tx>;
908c2ecf20Sopenharmony_ci			};
918c2ecf20Sopenharmony_ci		};
928c2ecf20Sopenharmony_ci	};
938c2ecf20Sopenharmony_ci};
948c2ecf20Sopenharmony_ci
958c2ecf20Sopenharmony_ci&arb {
968c2ecf20Sopenharmony_ci	status = "okay";
978c2ecf20Sopenharmony_ci};
988c2ecf20Sopenharmony_ci
998c2ecf20Sopenharmony_ci&clkc_audio {
1008c2ecf20Sopenharmony_ci	status = "okay";
1018c2ecf20Sopenharmony_ci};
1028c2ecf20Sopenharmony_ci
1038c2ecf20Sopenharmony_ci&frddr_a {
1048c2ecf20Sopenharmony_ci	status = "okay";
1058c2ecf20Sopenharmony_ci};
1068c2ecf20Sopenharmony_ci
1078c2ecf20Sopenharmony_ci&frddr_b {
1088c2ecf20Sopenharmony_ci	status = "okay";
1098c2ecf20Sopenharmony_ci};
1108c2ecf20Sopenharmony_ci
1118c2ecf20Sopenharmony_ci&frddr_c {
1128c2ecf20Sopenharmony_ci	status = "okay";
1138c2ecf20Sopenharmony_ci};
1148c2ecf20Sopenharmony_ci
1158c2ecf20Sopenharmony_ci&tdmif_b {
1168c2ecf20Sopenharmony_ci	status = "okay";
1178c2ecf20Sopenharmony_ci};
1188c2ecf20Sopenharmony_ci
1198c2ecf20Sopenharmony_ci&tdmout_b {
1208c2ecf20Sopenharmony_ci	status = "okay";
1218c2ecf20Sopenharmony_ci};
1228c2ecf20Sopenharmony_ci
1238c2ecf20Sopenharmony_ci&tohdmitx {
1248c2ecf20Sopenharmony_ci	status = "okay";
1258c2ecf20Sopenharmony_ci};
126