193db2ce0SChristian Hewitt// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
293db2ce0SChristian Hewitt/*
393db2ce0SChristian Hewitt * Copyright (c) 2019 BayLibre, SAS
493db2ce0SChristian Hewitt * Author: Neil Armstrong <narmstrong@baylibre.com>
593db2ce0SChristian Hewitt * Copyright (c) 2019 Christian Hewitt <christianshewitt@gmail.com>
693db2ce0SChristian Hewitt */
793db2ce0SChristian Hewitt
893db2ce0SChristian Hewitt/dts-v1/;
993db2ce0SChristian Hewitt
1093db2ce0SChristian Hewitt#include "meson-g12b-w400.dtsi"
1193db2ce0SChristian Hewitt#include <dt-bindings/leds/common.h>
1293db2ce0SChristian Hewitt#include <dt-bindings/sound/meson-g12a-tohdmitx.h>
1393db2ce0SChristian Hewitt
1493db2ce0SChristian Hewitt/ {
15*d9421d6cSKevin Hilman	compatible = "azw,gsking-x", "amlogic,s922x", "amlogic,g12b";
1693db2ce0SChristian Hewitt	model = "Beelink GS-King X";
1793db2ce0SChristian Hewitt
1893db2ce0SChristian Hewitt	aliases {
1993db2ce0SChristian Hewitt		rtc0 = &rtc;
2093db2ce0SChristian Hewitt		rtc1 = &vrtc;
2193db2ce0SChristian Hewitt	};
2293db2ce0SChristian Hewitt
2393db2ce0SChristian Hewitt	gpio-keys-polled {
2493db2ce0SChristian Hewitt		compatible = "gpio-keys-polled";
2593db2ce0SChristian Hewitt		#address-cells = <1>;
2693db2ce0SChristian Hewitt		#size-cells = <0>;
2793db2ce0SChristian Hewitt		poll-interval = <100>;
2893db2ce0SChristian Hewitt
2993db2ce0SChristian Hewitt		power-button {
3093db2ce0SChristian Hewitt			label = "power";
3193db2ce0SChristian Hewitt			linux,code = <KEY_POWER>;
3293db2ce0SChristian Hewitt			gpios = <&gpio_ao GPIOAO_3 GPIO_ACTIVE_HIGH>;
3393db2ce0SChristian Hewitt		};
3493db2ce0SChristian Hewitt	};
3593db2ce0SChristian Hewitt
3693db2ce0SChristian Hewitt	sound {
3793db2ce0SChristian Hewitt		compatible = "amlogic,axg-sound-card";
3893db2ce0SChristian Hewitt		model = "GSKING-X";
3993db2ce0SChristian Hewitt		audio-aux-devs = <&tdmout_a>;
4093db2ce0SChristian Hewitt		audio-routing = "TDMOUT_A IN 0", "FRDDR_A OUT 1",
4193db2ce0SChristian Hewitt				"TDMOUT_A IN 1", "FRDDR_B OUT 1",
4293db2ce0SChristian Hewitt				"TDMOUT_A IN 2", "FRDDR_C OUT 1",
4393db2ce0SChristian Hewitt				"TDM_A Playback", "TDMOUT_A OUT";
4493db2ce0SChristian Hewitt
4593db2ce0SChristian Hewitt		assigned-clocks = <&clkc CLKID_MPLL2>,
4693db2ce0SChristian Hewitt				  <&clkc CLKID_MPLL0>,
4793db2ce0SChristian Hewitt				  <&clkc CLKID_MPLL1>;
4893db2ce0SChristian Hewitt		assigned-clock-parents = <0>, <0>, <0>;
4993db2ce0SChristian Hewitt		assigned-clock-rates = <294912000>,
5093db2ce0SChristian Hewitt				       <270950400>,
5193db2ce0SChristian Hewitt				       <393216000>;
5293db2ce0SChristian Hewitt		status = "okay";
5393db2ce0SChristian Hewitt
5493db2ce0SChristian Hewitt		dai-link-0 {
5593db2ce0SChristian Hewitt			sound-dai = <&frddr_a>;
5693db2ce0SChristian Hewitt		};
5793db2ce0SChristian Hewitt
5893db2ce0SChristian Hewitt		dai-link-1 {
5993db2ce0SChristian Hewitt			sound-dai = <&frddr_b>;
6093db2ce0SChristian Hewitt		};
6193db2ce0SChristian Hewitt
6293db2ce0SChristian Hewitt		dai-link-2 {
6393db2ce0SChristian Hewitt			sound-dai = <&frddr_c>;
6493db2ce0SChristian Hewitt		};
6593db2ce0SChristian Hewitt
6693db2ce0SChristian Hewitt		/* 8ch hdmi interface */
6793db2ce0SChristian Hewitt		dai-link-3 {
6893db2ce0SChristian Hewitt			sound-dai = <&tdmif_a>;
6993db2ce0SChristian Hewitt			dai-format = "i2s";
7093db2ce0SChristian Hewitt			dai-tdm-slot-tx-mask-0 = <1 1>;
7193db2ce0SChristian Hewitt			dai-tdm-slot-tx-mask-1 = <1 1>;
7293db2ce0SChristian Hewitt			dai-tdm-slot-tx-mask-2 = <1 1>;
7393db2ce0SChristian Hewitt			dai-tdm-slot-tx-mask-3 = <1 1>;
7493db2ce0SChristian Hewitt			mclk-fs = <256>;
7593db2ce0SChristian Hewitt
7693db2ce0SChristian Hewitt			codec {
7793db2ce0SChristian Hewitt				sound-dai = <&tohdmitx TOHDMITX_I2S_IN_A>;
7893db2ce0SChristian Hewitt			};
7993db2ce0SChristian Hewitt		};
8093db2ce0SChristian Hewitt
8193db2ce0SChristian Hewitt		dai-link-4 {
8293db2ce0SChristian Hewitt			sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>;
8393db2ce0SChristian Hewitt
8493db2ce0SChristian Hewitt			codec {
8593db2ce0SChristian Hewitt				sound-dai = <&hdmi_tx>;
8693db2ce0SChristian Hewitt			};
8793db2ce0SChristian Hewitt		};
8893db2ce0SChristian Hewitt	};
8993db2ce0SChristian Hewitt};
9093db2ce0SChristian Hewitt
9193db2ce0SChristian Hewitt&arb {
9293db2ce0SChristian Hewitt	status = "okay";
9393db2ce0SChristian Hewitt};
9493db2ce0SChristian Hewitt
9593db2ce0SChristian Hewitt&clkc_audio {
9693db2ce0SChristian Hewitt	status = "okay";
9793db2ce0SChristian Hewitt};
9893db2ce0SChristian Hewitt
9993db2ce0SChristian Hewitt&frddr_a {
10093db2ce0SChristian Hewitt	status = "okay";
10193db2ce0SChristian Hewitt};
10293db2ce0SChristian Hewitt
10393db2ce0SChristian Hewitt&frddr_b {
10493db2ce0SChristian Hewitt	status = "okay";
10593db2ce0SChristian Hewitt};
10693db2ce0SChristian Hewitt
10793db2ce0SChristian Hewitt&frddr_c {
10893db2ce0SChristian Hewitt	status = "okay";
10993db2ce0SChristian Hewitt};
11093db2ce0SChristian Hewitt
11193db2ce0SChristian Hewitt&i2c3 {
11293db2ce0SChristian Hewitt	status = "okay";
11393db2ce0SChristian Hewitt	pinctrl-0 = <&i2c3_sda_a_pins>, <&i2c3_sck_a_pins>;
11493db2ce0SChristian Hewitt	pinctrl-names = "default";
11593db2ce0SChristian Hewitt
11693db2ce0SChristian Hewitt	rtc: rtc@51 {
11793db2ce0SChristian Hewitt		compatible = "nxp,pcf8563";
11893db2ce0SChristian Hewitt		reg = <0x51>;
11993db2ce0SChristian Hewitt		wakeup-source;
12093db2ce0SChristian Hewitt	};
12193db2ce0SChristian Hewitt};
12293db2ce0SChristian Hewitt
12393db2ce0SChristian Hewitt&tdmif_a {
12493db2ce0SChristian Hewitt	status = "okay";
12593db2ce0SChristian Hewitt};
12693db2ce0SChristian Hewitt
12793db2ce0SChristian Hewitt&tdmout_a {
12893db2ce0SChristian Hewitt	status = "okay";
12993db2ce0SChristian Hewitt};
13093db2ce0SChristian Hewitt
13193db2ce0SChristian Hewitt&tohdmitx {
13293db2ce0SChristian Hewitt	status = "okay";
13393db2ce0SChristian Hewitt};
134