blob: 369c5cf889b6c88e8c33132b970e03f1c1bc89c8 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (c) 2019 BayLibre, SAS
4 * Author: Neil Armstrong <narmstrong@baylibre.com>
5 * Copyright (c) 2019 Christian Hewitt <christianshewitt@gmail.com>
6 */
7
8/dts-v1/;
9
10#include "meson-g12b-w400.dtsi"
11#include <dt-bindings/leds/common.h>
12#include <dt-bindings/sound/meson-g12a-tohdmitx.h>
13
14/ {
15 compatible = "azw,gsking-x", "amlogic,s922x", "amlogic,g12b";
16 model = "Beelink GS-King X";
17
18 aliases {
19 rtc0 = &rtc;
20 rtc1 = &vrtc;
21 };
22
23 gpio_fan: gpio-fan {
24 compatible = "gpio-fan";
25 gpios = <&gpio GPIOH_5 GPIO_ACTIVE_HIGH>;
26 /* Using Dummy Speed */
27 gpio-fan,speed-map = <0 0>, <1 1>;
28 #cooling-cells = <2>;
29 };
30
31 gpio-keys-polled {
32 compatible = "gpio-keys-polled";
33 poll-interval = <100>;
34
35 power-button {
36 label = "power";
37 linux,code = <KEY_POWER>;
38 gpios = <&gpio_ao GPIOAO_3 GPIO_ACTIVE_HIGH>;
39 };
40 };
41
42 sound {
43 compatible = "amlogic,axg-sound-card";
44 model = "GSKING-X";
45 audio-aux-devs = <&tdmout_a>;
46 audio-routing = "TDMOUT_A IN 0", "FRDDR_A OUT 1",
47 "TDMOUT_A IN 1", "FRDDR_B OUT 1",
48 "TDMOUT_A IN 2", "FRDDR_C OUT 1",
49 "TDM_A Playback", "TDMOUT_A OUT";
50
Tom Rini9c8af152024-12-24 12:03:04 -060051 clocks = <&clkc CLKID_MPLL2>,
52 <&clkc CLKID_MPLL0>,
53 <&clkc CLKID_MPLL1>;
54
Tom Rini53633a82024-02-29 12:33:36 -050055 assigned-clocks = <&clkc CLKID_MPLL2>,
56 <&clkc CLKID_MPLL0>,
57 <&clkc CLKID_MPLL1>;
58 assigned-clock-parents = <0>, <0>, <0>;
59 assigned-clock-rates = <294912000>,
60 <270950400>,
61 <393216000>;
62
63 dai-link-0 {
64 sound-dai = <&frddr_a>;
65 };
66
67 dai-link-1 {
68 sound-dai = <&frddr_b>;
69 };
70
71 dai-link-2 {
72 sound-dai = <&frddr_c>;
73 };
74
75 /* 8ch hdmi interface */
76 dai-link-3 {
77 sound-dai = <&tdmif_a>;
78 dai-format = "i2s";
79 dai-tdm-slot-tx-mask-0 = <1 1>;
80 dai-tdm-slot-tx-mask-1 = <1 1>;
81 dai-tdm-slot-tx-mask-2 = <1 1>;
82 dai-tdm-slot-tx-mask-3 = <1 1>;
83 mclk-fs = <256>;
84
85 codec {
86 sound-dai = <&tohdmitx TOHDMITX_I2S_IN_A>;
87 };
88 };
89
90 dai-link-4 {
91 sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>;
92
93 codec {
94 sound-dai = <&hdmi_tx>;
95 };
96 };
97 };
98};
99
100&arb {
101 status = "okay";
102};
103
104&clkc_audio {
105 status = "okay";
106};
107
108&cpu_thermal {
109 trips {
110 cpu_active: cpu-active {
111 temperature = <70000>; /* millicelsius */
112 hysteresis = <2000>; /* millicelsius */
113 type = "active";
114 };
115 };
116
117 cooling-maps {
118 map {
119 trip = <&cpu_active>;
120 cooling-device = <&gpio_fan THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
121 };
122 };
123};
124
125&frddr_a {
126 status = "okay";
127};
128
129&frddr_b {
130 status = "okay";
131};
132
133&frddr_c {
134 status = "okay";
135};
136
137&i2c3 {
138 status = "okay";
139 pinctrl-0 = <&i2c3_sda_a_pins>, <&i2c3_sck_a_pins>;
140 pinctrl-names = "default";
141
142 rtc: rtc@51 {
143 compatible = "nxp,pcf8563";
144 reg = <0x51>;
145 wakeup-source;
146 };
147};
148
149&tdmif_a {
150 status = "okay";
151};
152
153&tdmout_a {
154 status = "okay";
155};
156
157&tohdmitx {
158 status = "okay";
159};