xref: /linux/arch/arm64/boot/dts/amlogic/meson-gxbb-kii-pro.dts (revision c532de5a67a70f8533d495f8f2aaa9a0491c3ad0)
1// 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";
21		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";
48		clocks = <&clkc CLKID_MPLL0>,
49			 <&clkc CLKID_MPLL1>,
50			 <&clkc CLKID_MPLL2>;
51
52		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};
144