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