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/ {
15d9421d6cSKevin 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
23*b7bfbbbfSFurkan Kardame	gpio_fan: gpio-fan {
24*b7bfbbbfSFurkan Kardame		compatible = "gpio-fan";
25*b7bfbbbfSFurkan Kardame		gpios = <&gpio GPIOH_5 GPIO_ACTIVE_HIGH>;
26*b7bfbbbfSFurkan Kardame		/* Using Dummy Speed */
27*b7bfbbbfSFurkan Kardame		gpio-fan,speed-map = <0 0>, <1 1>;
28*b7bfbbbfSFurkan Kardame		#cooling-cells = <2>;
29*b7bfbbbfSFurkan Kardame	};
30*b7bfbbbfSFurkan Kardame
3193db2ce0SChristian Hewitt	gpio-keys-polled {
3293db2ce0SChristian Hewitt		compatible = "gpio-keys-polled";
3393db2ce0SChristian Hewitt		poll-interval = <100>;
3493db2ce0SChristian Hewitt
3593db2ce0SChristian Hewitt		power-button {
3693db2ce0SChristian Hewitt			label = "power";
3793db2ce0SChristian Hewitt			linux,code = <KEY_POWER>;
3893db2ce0SChristian Hewitt			gpios = <&gpio_ao GPIOAO_3 GPIO_ACTIVE_HIGH>;
3993db2ce0SChristian Hewitt		};
4093db2ce0SChristian Hewitt	};
4193db2ce0SChristian Hewitt
4293db2ce0SChristian Hewitt	sound {
4393db2ce0SChristian Hewitt		compatible = "amlogic,axg-sound-card";
4493db2ce0SChristian Hewitt		model = "GSKING-X";
4593db2ce0SChristian Hewitt		audio-aux-devs = <&tdmout_a>;
4693db2ce0SChristian Hewitt		audio-routing = "TDMOUT_A IN 0", "FRDDR_A OUT 1",
4793db2ce0SChristian Hewitt				"TDMOUT_A IN 1", "FRDDR_B OUT 1",
4893db2ce0SChristian Hewitt				"TDMOUT_A IN 2", "FRDDR_C OUT 1",
4993db2ce0SChristian Hewitt				"TDM_A Playback", "TDMOUT_A OUT";
5093db2ce0SChristian Hewitt
5193db2ce0SChristian Hewitt		assigned-clocks = <&clkc CLKID_MPLL2>,
5293db2ce0SChristian Hewitt				  <&clkc CLKID_MPLL0>,
5393db2ce0SChristian Hewitt				  <&clkc CLKID_MPLL1>;
5493db2ce0SChristian Hewitt		assigned-clock-parents = <0>, <0>, <0>;
5593db2ce0SChristian Hewitt		assigned-clock-rates = <294912000>,
5693db2ce0SChristian Hewitt				       <270950400>,
5793db2ce0SChristian Hewitt				       <393216000>;
5893db2ce0SChristian Hewitt
5993db2ce0SChristian Hewitt		dai-link-0 {
6093db2ce0SChristian Hewitt			sound-dai = <&frddr_a>;
6193db2ce0SChristian Hewitt		};
6293db2ce0SChristian Hewitt
6393db2ce0SChristian Hewitt		dai-link-1 {
6493db2ce0SChristian Hewitt			sound-dai = <&frddr_b>;
6593db2ce0SChristian Hewitt		};
6693db2ce0SChristian Hewitt
6793db2ce0SChristian Hewitt		dai-link-2 {
6893db2ce0SChristian Hewitt			sound-dai = <&frddr_c>;
6993db2ce0SChristian Hewitt		};
7093db2ce0SChristian Hewitt
7193db2ce0SChristian Hewitt		/* 8ch hdmi interface */
7293db2ce0SChristian Hewitt		dai-link-3 {
7393db2ce0SChristian Hewitt			sound-dai = <&tdmif_a>;
7493db2ce0SChristian Hewitt			dai-format = "i2s";
7593db2ce0SChristian Hewitt			dai-tdm-slot-tx-mask-0 = <1 1>;
7693db2ce0SChristian Hewitt			dai-tdm-slot-tx-mask-1 = <1 1>;
7793db2ce0SChristian Hewitt			dai-tdm-slot-tx-mask-2 = <1 1>;
7893db2ce0SChristian Hewitt			dai-tdm-slot-tx-mask-3 = <1 1>;
7993db2ce0SChristian Hewitt			mclk-fs = <256>;
8093db2ce0SChristian Hewitt
8193db2ce0SChristian Hewitt			codec {
8293db2ce0SChristian Hewitt				sound-dai = <&tohdmitx TOHDMITX_I2S_IN_A>;
8393db2ce0SChristian Hewitt			};
8493db2ce0SChristian Hewitt		};
8593db2ce0SChristian Hewitt
8693db2ce0SChristian Hewitt		dai-link-4 {
8793db2ce0SChristian Hewitt			sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>;
8893db2ce0SChristian Hewitt
8993db2ce0SChristian Hewitt			codec {
9093db2ce0SChristian Hewitt				sound-dai = <&hdmi_tx>;
9193db2ce0SChristian Hewitt			};
9293db2ce0SChristian Hewitt		};
9393db2ce0SChristian Hewitt	};
9493db2ce0SChristian Hewitt};
9593db2ce0SChristian Hewitt
9693db2ce0SChristian Hewitt&arb {
9793db2ce0SChristian Hewitt	status = "okay";
9893db2ce0SChristian Hewitt};
9993db2ce0SChristian Hewitt
10093db2ce0SChristian Hewitt&clkc_audio {
10193db2ce0SChristian Hewitt	status = "okay";
10293db2ce0SChristian Hewitt};
10393db2ce0SChristian Hewitt
104*b7bfbbbfSFurkan Kardame&cpu_thermal {
105*b7bfbbbfSFurkan Kardame	trips {
106*b7bfbbbfSFurkan Kardame		cpu_active: cpu-active {
107*b7bfbbbfSFurkan Kardame			temperature = <70000>; /* millicelsius */
108*b7bfbbbfSFurkan Kardame			hysteresis = <2000>; /* millicelsius */
109*b7bfbbbfSFurkan Kardame			type = "active";
110*b7bfbbbfSFurkan Kardame		};
111*b7bfbbbfSFurkan Kardame	};
112*b7bfbbbfSFurkan Kardame
113*b7bfbbbfSFurkan Kardame	cooling-maps {
114*b7bfbbbfSFurkan Kardame		map {
115*b7bfbbbfSFurkan Kardame			trip = <&cpu_active>;
116*b7bfbbbfSFurkan Kardame			cooling-device = <&gpio_fan THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
117*b7bfbbbfSFurkan Kardame		};
118*b7bfbbbfSFurkan Kardame	};
119*b7bfbbbfSFurkan Kardame};
120*b7bfbbbfSFurkan Kardame
12193db2ce0SChristian Hewitt&frddr_a {
12293db2ce0SChristian Hewitt	status = "okay";
12393db2ce0SChristian Hewitt};
12493db2ce0SChristian Hewitt
12593db2ce0SChristian Hewitt&frddr_b {
12693db2ce0SChristian Hewitt	status = "okay";
12793db2ce0SChristian Hewitt};
12893db2ce0SChristian Hewitt
12993db2ce0SChristian Hewitt&frddr_c {
13093db2ce0SChristian Hewitt	status = "okay";
13193db2ce0SChristian Hewitt};
13293db2ce0SChristian Hewitt
13393db2ce0SChristian Hewitt&i2c3 {
13493db2ce0SChristian Hewitt	status = "okay";
13593db2ce0SChristian Hewitt	pinctrl-0 = <&i2c3_sda_a_pins>, <&i2c3_sck_a_pins>;
13693db2ce0SChristian Hewitt	pinctrl-names = "default";
13793db2ce0SChristian Hewitt
13893db2ce0SChristian Hewitt	rtc: rtc@51 {
13993db2ce0SChristian Hewitt		compatible = "nxp,pcf8563";
14093db2ce0SChristian Hewitt		reg = <0x51>;
14193db2ce0SChristian Hewitt		wakeup-source;
14293db2ce0SChristian Hewitt	};
14393db2ce0SChristian Hewitt};
14493db2ce0SChristian Hewitt
14593db2ce0SChristian Hewitt&tdmif_a {
14693db2ce0SChristian Hewitt	status = "okay";
14793db2ce0SChristian Hewitt};
14893db2ce0SChristian Hewitt
14993db2ce0SChristian Hewitt&tdmout_a {
15093db2ce0SChristian Hewitt	status = "okay";
15193db2ce0SChristian Hewitt};
15293db2ce0SChristian Hewitt
15393db2ce0SChristian Hewitt&tohdmitx {
15493db2ce0SChristian Hewitt	status = "okay";
15593db2ce0SChristian Hewitt};
156