blob: 073b47ce8c3c4f5eccd04cf265aa830add20ee53 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (c) 2019 Mohammad Rasim <mohammad.rasim96@gmail.com>
4 */
5
6/dts-v1/;
7
8#include "meson-gxbb-p20x.dtsi"
9#include <dt-bindings/gpio/gpio.h>
10#include <dt-bindings/input/input.h>
11#include <dt-bindings/leds/common.h>
12#include <dt-bindings/sound/meson-aiu.h>
13
14/ {
15 compatible = "videostrong,kii-pro", "amlogic,meson-gxbb";
16 model = "Videostrong KII Pro";
17
18 spdif_dit: audio-codec-0 {
19 #sound-dai-cells = <0>;
20 compatible = "linux,spdif-dit";
Tom Rini53633a82024-02-29 12:33:36 -050021 sound-name-prefix = "DIT";
22 };
23
24 leds {
25 compatible = "gpio-leds";
26 led {
27 gpios = <&gpio_ao GPIOAO_13 GPIO_ACTIVE_LOW>;
28 color = <LED_COLOR_ID_RED>;
29 function = LED_FUNCTION_STATUS;
30 default-state = "off";
31 };
32 };
33
34 gpio-keys-polled {
35 compatible = "gpio-keys-polled";
36 poll-interval = <20>;
37
38 button-reset {
39 label = "reset";
40 linux,code = <KEY_POWER>;
41 gpios = <&gpio_ao GPIOAO_3 GPIO_ACTIVE_HIGH>;
42 };
43 };
44
45 sound {
46 compatible = "amlogic,gx-sound-card";
47 model = "KII-PRO";
Tom Rini9c8af152024-12-24 12:03:04 -060048 clocks = <&clkc CLKID_MPLL0>,
49 <&clkc CLKID_MPLL1>,
50 <&clkc CLKID_MPLL2>;
51
Tom Rini53633a82024-02-29 12:33:36 -050052 assigned-clocks = <&clkc CLKID_MPLL0>,
53 <&clkc CLKID_MPLL1>,
54 <&clkc CLKID_MPLL2>;
55 assigned-clock-parents = <0>, <0>, <0>;
56 assigned-clock-rates = <294912000>,
57 <270950400>,
58 <393216000>;
59
60 dai-link-0 {
61 sound-dai = <&aiu AIU_CPU CPU_I2S_FIFO>;
62 };
63
64 dai-link-1 {
65 sound-dai = <&aiu AIU_CPU CPU_SPDIF_FIFO>;
66 };
67
68 dai-link-2 {
69 sound-dai = <&aiu AIU_CPU CPU_I2S_ENCODER>;
70 dai-format = "i2s";
71 mclk-fs = <256>;
72
73 codec-0 {
74 sound-dai = <&aiu AIU_HDMI CTRL_I2S>;
75 };
76 };
77
78 dai-link-3 {
79 sound-dai = <&aiu AIU_CPU CPU_SPDIF_ENCODER>;
80
81 codec-0 {
82 sound-dai = <&spdif_dit>;
83 };
84 };
85
86 dai-link-4 {
87 sound-dai = <&aiu AIU_HDMI CTRL_OUT>;
88
89 codec-0 {
90 sound-dai = <&hdmi_tx>;
91 };
92 };
93 };
94};
95
96&aiu {
97 status = "okay";
98 pinctrl-0 = <&spdif_out_y_pins>;
99 pinctrl-names = "default";
100};
101
102&ethmac {
103 status = "okay";
104 pinctrl-0 = <&eth_rmii_pins>;
105 pinctrl-names = "default";
106
107 phy-handle = <&eth_phy0>;
108 phy-mode = "rmii";
109
110 mdio {
111 compatible = "snps,dwmac-mdio";
112 #address-cells = <1>;
113 #size-cells = <0>;
114
115 eth_phy0: ethernet-phy@0 {
116 /* IC Plus IP101GR (0x02430c54) */
117 reg = <0>;
118 reset-assert-us = <10000>;
119 reset-deassert-us = <10000>;
120 reset-gpios = <&gpio GPIOZ_14 GPIO_ACTIVE_LOW>;
121 };
122 };
123};
124
125&ir {
126 linux,rc-map-name = "rc-videostrong-kii-pro";
127};
128
129&uart_A {
130 status = "okay";
131 pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>;
132 pinctrl-names = "default";
133 uart-has-rtscts;
134
135 bluetooth {
136 compatible = "brcm,bcm4335a0";
137 shutdown-gpios = <&gpio GPIOX_20 GPIO_ACTIVE_HIGH>;
138 host-wakeup-gpios = <&gpio GPIOX_21 GPIO_ACTIVE_HIGH>;
139 max-speed = <2000000>;
140 clocks = <&wifi32k>;
141 clock-names = "lpo";
142 };
143};