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		status = "okay";
5993db2ce0SChristian Hewitt
6093db2ce0SChristian Hewitt		dai-link-0 {
6193db2ce0SChristian Hewitt			sound-dai = <&frddr_a>;
6293db2ce0SChristian Hewitt		};
6393db2ce0SChristian Hewitt
6493db2ce0SChristian Hewitt		dai-link-1 {
6593db2ce0SChristian Hewitt			sound-dai = <&frddr_b>;
6693db2ce0SChristian Hewitt		};
6793db2ce0SChristian Hewitt
6893db2ce0SChristian Hewitt		dai-link-2 {
6993db2ce0SChristian Hewitt			sound-dai = <&frddr_c>;
7093db2ce0SChristian Hewitt		};
7193db2ce0SChristian Hewitt
7293db2ce0SChristian Hewitt		/* 8ch hdmi interface */
7393db2ce0SChristian Hewitt		dai-link-3 {
7493db2ce0SChristian Hewitt			sound-dai = <&tdmif_a>;
7593db2ce0SChristian Hewitt			dai-format = "i2s";
7693db2ce0SChristian Hewitt			dai-tdm-slot-tx-mask-0 = <1 1>;
7793db2ce0SChristian Hewitt			dai-tdm-slot-tx-mask-1 = <1 1>;
7893db2ce0SChristian Hewitt			dai-tdm-slot-tx-mask-2 = <1 1>;
7993db2ce0SChristian Hewitt			dai-tdm-slot-tx-mask-3 = <1 1>;
8093db2ce0SChristian Hewitt			mclk-fs = <256>;
8193db2ce0SChristian Hewitt
8293db2ce0SChristian Hewitt			codec {
8393db2ce0SChristian Hewitt				sound-dai = <&tohdmitx TOHDMITX_I2S_IN_A>;
8493db2ce0SChristian Hewitt			};
8593db2ce0SChristian Hewitt		};
8693db2ce0SChristian Hewitt
8793db2ce0SChristian Hewitt		dai-link-4 {
8893db2ce0SChristian Hewitt			sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>;
8993db2ce0SChristian Hewitt
9093db2ce0SChristian Hewitt			codec {
9193db2ce0SChristian Hewitt				sound-dai = <&hdmi_tx>;
9293db2ce0SChristian Hewitt			};
9393db2ce0SChristian Hewitt		};
9493db2ce0SChristian Hewitt	};
9593db2ce0SChristian Hewitt};
9693db2ce0SChristian Hewitt
9793db2ce0SChristian Hewitt&arb {
9893db2ce0SChristian Hewitt	status = "okay";
9993db2ce0SChristian Hewitt};
10093db2ce0SChristian Hewitt
10193db2ce0SChristian Hewitt&clkc_audio {
10293db2ce0SChristian Hewitt	status = "okay";
10393db2ce0SChristian Hewitt};
10493db2ce0SChristian Hewitt
105*b7bfbbbfSFurkan Kardame&cpu_thermal {
106*b7bfbbbfSFurkan Kardame	trips {
107*b7bfbbbfSFurkan Kardame		cpu_active: cpu-active {
108*b7bfbbbfSFurkan Kardame			temperature = <70000>; /* millicelsius */
109*b7bfbbbfSFurkan Kardame			hysteresis = <2000>; /* millicelsius */
110*b7bfbbbfSFurkan Kardame			type = "active";
111*b7bfbbbfSFurkan Kardame		};
112*b7bfbbbfSFurkan Kardame	};
113*b7bfbbbfSFurkan Kardame
114*b7bfbbbfSFurkan Kardame	cooling-maps {
115*b7bfbbbfSFurkan Kardame		map {
116*b7bfbbbfSFurkan Kardame			trip = <&cpu_active>;
117*b7bfbbbfSFurkan Kardame			cooling-device = <&gpio_fan THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
118*b7bfbbbfSFurkan Kardame		};
119*b7bfbbbfSFurkan Kardame	};
120*b7bfbbbfSFurkan Kardame};
121*b7bfbbbfSFurkan Kardame
12293db2ce0SChristian Hewitt&frddr_a {
12393db2ce0SChristian Hewitt	status = "okay";
12493db2ce0SChristian Hewitt};
12593db2ce0SChristian Hewitt
12693db2ce0SChristian Hewitt&frddr_b {
12793db2ce0SChristian Hewitt	status = "okay";
12893db2ce0SChristian Hewitt};
12993db2ce0SChristian Hewitt
13093db2ce0SChristian Hewitt&frddr_c {
13193db2ce0SChristian Hewitt	status = "okay";
13293db2ce0SChristian Hewitt};
13393db2ce0SChristian Hewitt
13493db2ce0SChristian Hewitt&i2c3 {
13593db2ce0SChristian Hewitt	status = "okay";
13693db2ce0SChristian Hewitt	pinctrl-0 = <&i2c3_sda_a_pins>, <&i2c3_sck_a_pins>;
13793db2ce0SChristian Hewitt	pinctrl-names = "default";
13893db2ce0SChristian Hewitt
13993db2ce0SChristian Hewitt	rtc: rtc@51 {
14093db2ce0SChristian Hewitt		compatible = "nxp,pcf8563";
14193db2ce0SChristian Hewitt		reg = <0x51>;
14293db2ce0SChristian Hewitt		wakeup-source;
14393db2ce0SChristian Hewitt	};
14493db2ce0SChristian Hewitt};
14593db2ce0SChristian Hewitt
14693db2ce0SChristian Hewitt&tdmif_a {
14793db2ce0SChristian Hewitt	status = "okay";
14893db2ce0SChristian Hewitt};
14993db2ce0SChristian Hewitt
15093db2ce0SChristian Hewitt&tdmout_a {
15193db2ce0SChristian Hewitt	status = "okay";
15293db2ce0SChristian Hewitt};
15393db2ce0SChristian Hewitt
15493db2ce0SChristian Hewitt&tohdmitx {
15593db2ce0SChristian Hewitt	status = "okay";
15693db2ce0SChristian Hewitt};
157