Linux Audio

Check our new training course

Embedded Linux Audio

Check our new training course
with Creative Commons CC-BY-SA
lecture materials

Bootlin logo

Elixir Cross Referencer

Loading...
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
 * Copyright (c) 2016 BayLibre, Inc.
 * Author: Neil Armstrong <narmstrong@baylibre.com>
 */

/dts-v1/;

#include "meson-gxbb-wetek.dtsi"
#include <dt-bindings/input/input.h>
#include <dt-bindings/sound/meson-aiu.h>

/ {
	compatible = "wetek,play2", "amlogic,meson-gxbb";
	model = "WeTek Play 2";

	spdif_dit: audio-codec-0 {
		#sound-dai-cells = <0>;
		compatible = "linux,spdif-dit";
		status = "okay";
		sound-name-prefix = "DIT";
	};

	leds {
		led-wifi {
			label = "wetek-play:wifi-status";
			gpios = <&gpio GPIODV_26 GPIO_ACTIVE_HIGH>;
			default-state = "off";
		};

		led-ethernet {
			label = "wetek-play:ethernet-status";
			gpios = <&gpio GPIODV_27 GPIO_ACTIVE_HIGH>;
			default-state = "off";
		};
	};

	gpio-keys-polled {
		compatible = "gpio-keys-polled";
		poll-interval = <100>;

		button {
			label = "reset";
			linux,code = <KEY_RESTART>;
			gpios = <&gpio_ao GPIOAO_3 GPIO_ACTIVE_LOW>;
		};
	};

	sound {
		compatible = "amlogic,gx-sound-card";
		model = "WETEK-PLAY2";
		assigned-clocks = <&clkc CLKID_MPLL0>,
				  <&clkc CLKID_MPLL1>,
				  <&clkc CLKID_MPLL2>;
		assigned-clock-parents = <0>, <0>, <0>;
		assigned-clock-rates = <294912000>,
				       <270950400>,
				       <393216000>;
		status = "okay";

		dai-link-0 {
			sound-dai = <&aiu AIU_CPU CPU_I2S_FIFO>;
		};

		dai-link-1 {
			sound-dai = <&aiu AIU_CPU CPU_SPDIF_FIFO>;
		};

		dai-link-2 {
			sound-dai = <&aiu AIU_CPU CPU_I2S_ENCODER>;
			dai-format = "i2s";
			mclk-fs = <256>;

			codec-0 {
				sound-dai = <&aiu AIU_HDMI CTRL_I2S>;
			};
		};

		dai-link-3 {
			sound-dai = <&aiu AIU_CPU CPU_SPDIF_ENCODER>;

			codec-0 {
				sound-dai = <&spdif_dit>;
			};
		};

		dai-link-4 {
			sound-dai = <&aiu AIU_HDMI CTRL_OUT>;

			codec-0 {
				sound-dai = <&hdmi_tx>;
			};
		};
	};
};

&aiu {
	status = "okay";
	pinctrl-0 = <&spdif_out_y_pins>;
	pinctrl-names = "default";
};

&i2c_A {
	status = "okay";
	pinctrl-0 = <&i2c_a_pins>;
	pinctrl-names = "default";
};

&usb1_phy {
	status = "okay";
};

&usb1 {
	status = "okay";
};

&ir {
	linux,rc-map-name = "rc-wetek-play2";
};