| // SPDX-License-Identifier: (GPL-2.0+ OR MIT) | 
 | /* | 
 |  * Copyright (c) 2019 BayLibre, SAS | 
 |  * Author: Neil Armstrong <narmstrong@baylibre.com> | 
 |  * Copyright (c) 2019 Christian Hewitt <christianshewitt@gmail.com> | 
 |  */ | 
 |  | 
 | /dts-v1/; | 
 |  | 
 | #include "meson-g12b-w400.dtsi" | 
 | #include <dt-bindings/leds/common.h> | 
 | #include <dt-bindings/sound/meson-g12a-tohdmitx.h> | 
 |  | 
 | / { | 
 | 	compatible = "azw,gsking-x", "amlogic,s922x", "amlogic,g12b"; | 
 | 	model = "Beelink GS-King X"; | 
 |  | 
 | 	aliases { | 
 | 		rtc0 = &rtc; | 
 | 		rtc1 = &vrtc; | 
 | 	}; | 
 |  | 
 | 	gpio_fan: gpio-fan { | 
 | 		compatible = "gpio-fan"; | 
 | 		gpios = <&gpio GPIOH_5 GPIO_ACTIVE_HIGH>; | 
 | 		/* Using Dummy Speed */ | 
 | 		gpio-fan,speed-map = <0 0>, <1 1>; | 
 | 		#cooling-cells = <2>; | 
 | 	}; | 
 |  | 
 | 	gpio-keys-polled { | 
 | 		compatible = "gpio-keys-polled"; | 
 | 		poll-interval = <100>; | 
 |  | 
 | 		power-button { | 
 | 			label = "power"; | 
 | 			linux,code = <KEY_POWER>; | 
 | 			gpios = <&gpio_ao GPIOAO_3 GPIO_ACTIVE_HIGH>; | 
 | 		}; | 
 | 	}; | 
 |  | 
 | 	sound { | 
 | 		compatible = "amlogic,axg-sound-card"; | 
 | 		model = "GSKING-X"; | 
 | 		audio-aux-devs = <&tdmout_a>; | 
 | 		audio-routing = "TDMOUT_A IN 0", "FRDDR_A OUT 1", | 
 | 				"TDMOUT_A IN 1", "FRDDR_B OUT 1", | 
 | 				"TDMOUT_A IN 2", "FRDDR_C OUT 1", | 
 | 				"TDM_A Playback", "TDMOUT_A OUT"; | 
 |  | 
 | 		clocks = <&clkc CLKID_MPLL2>, | 
 | 			 <&clkc CLKID_MPLL0>, | 
 | 			 <&clkc CLKID_MPLL1>; | 
 |  | 
 | 		assigned-clocks = <&clkc CLKID_MPLL2>, | 
 | 				  <&clkc CLKID_MPLL0>, | 
 | 				  <&clkc CLKID_MPLL1>; | 
 | 		assigned-clock-parents = <0>, <0>, <0>; | 
 | 		assigned-clock-rates = <294912000>, | 
 | 				       <270950400>, | 
 | 				       <393216000>; | 
 |  | 
 | 		dai-link-0 { | 
 | 			sound-dai = <&frddr_a>; | 
 | 		}; | 
 |  | 
 | 		dai-link-1 { | 
 | 			sound-dai = <&frddr_b>; | 
 | 		}; | 
 |  | 
 | 		dai-link-2 { | 
 | 			sound-dai = <&frddr_c>; | 
 | 		}; | 
 |  | 
 | 		/* 8ch hdmi interface */ | 
 | 		dai-link-3 { | 
 | 			sound-dai = <&tdmif_a>; | 
 | 			dai-format = "i2s"; | 
 | 			dai-tdm-slot-tx-mask-0 = <1 1>; | 
 | 			dai-tdm-slot-tx-mask-1 = <1 1>; | 
 | 			dai-tdm-slot-tx-mask-2 = <1 1>; | 
 | 			dai-tdm-slot-tx-mask-3 = <1 1>; | 
 | 			mclk-fs = <256>; | 
 |  | 
 | 			codec { | 
 | 				sound-dai = <&tohdmitx TOHDMITX_I2S_IN_A>; | 
 | 			}; | 
 | 		}; | 
 |  | 
 | 		dai-link-4 { | 
 | 			sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>; | 
 |  | 
 | 			codec { | 
 | 				sound-dai = <&hdmi_tx>; | 
 | 			}; | 
 | 		}; | 
 | 	}; | 
 | }; | 
 |  | 
 | &arb { | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | &clkc_audio { | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | &cpu_thermal { | 
 | 	trips { | 
 | 		cpu_active: cpu-active { | 
 | 			temperature = <70000>; /* millicelsius */ | 
 | 			hysteresis = <2000>; /* millicelsius */ | 
 | 			type = "active"; | 
 | 		}; | 
 | 	}; | 
 |  | 
 | 	cooling-maps { | 
 | 		map { | 
 | 			trip = <&cpu_active>; | 
 | 			cooling-device = <&gpio_fan THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; | 
 | 		}; | 
 | 	}; | 
 | }; | 
 |  | 
 | &frddr_a { | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | &frddr_b { | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | &frddr_c { | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | &i2c3 { | 
 | 	status = "okay"; | 
 | 	pinctrl-0 = <&i2c3_sda_a_pins>, <&i2c3_sck_a_pins>; | 
 | 	pinctrl-names = "default"; | 
 |  | 
 | 	rtc: rtc@51 { | 
 | 		compatible = "nxp,pcf8563"; | 
 | 		reg = <0x51>; | 
 | 		wakeup-source; | 
 | 	}; | 
 | }; | 
 |  | 
 | &tdmif_a { | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | &tdmout_a { | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | &tohdmitx { | 
 | 	status = "okay"; | 
 | }; |