162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Hardkernel Odroid XU3 audio subsystem device tree source
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * Copyright (c) 2015 Krzysztof Kozlowski
662306a36Sopenharmony_ci * Copyright (c) 2014 Collabora Ltd.
762306a36Sopenharmony_ci * Copyright (c) 2013 Samsung Electronics Co., Ltd.
862306a36Sopenharmony_ci *		http://www.samsung.com
962306a36Sopenharmony_ci */
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ci#include <dt-bindings/sound/samsung-i2s.h>
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ci/ {
1462306a36Sopenharmony_ci	sound: sound {
1562306a36Sopenharmony_ci		compatible = "samsung,odroid-xu3-audio";
1662306a36Sopenharmony_ci		model = "Odroid-XU3";
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ci		samsung,audio-widgets =
1962306a36Sopenharmony_ci			"Headphone", "Headphone Jack",
2062306a36Sopenharmony_ci			"Speakers", "Speakers";
2162306a36Sopenharmony_ci		samsung,audio-routing =
2262306a36Sopenharmony_ci			"Headphone Jack", "HPL",
2362306a36Sopenharmony_ci			"Headphone Jack", "HPR",
2462306a36Sopenharmony_ci			"Headphone Jack", "MICBIAS",
2562306a36Sopenharmony_ci			"IN12", "Headphone Jack",
2662306a36Sopenharmony_ci			"Speakers", "SPKL",
2762306a36Sopenharmony_ci			"Speakers", "SPKR",
2862306a36Sopenharmony_ci			"I2S Playback", "Mixer DAI TX",
2962306a36Sopenharmony_ci			"HiFi Playback", "Mixer DAI TX",
3062306a36Sopenharmony_ci			"Mixer DAI RX", "HiFi Capture";
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ci		cpu {
3362306a36Sopenharmony_ci			sound-dai = <&i2s0 0>, <&i2s0 1>;
3462306a36Sopenharmony_ci		};
3562306a36Sopenharmony_ci		codec {
3662306a36Sopenharmony_ci			sound-dai = <&hdmi>, <&max98090>;
3762306a36Sopenharmony_ci		};
3862306a36Sopenharmony_ci	};
3962306a36Sopenharmony_ci};
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_ci&hsi2c_5 {
4262306a36Sopenharmony_ci	status = "okay";
4362306a36Sopenharmony_ci	max98090: audio-codec@10 {
4462306a36Sopenharmony_ci		compatible = "maxim,max98090";
4562306a36Sopenharmony_ci		reg = <0x10>;
4662306a36Sopenharmony_ci		interrupt-parent = <&gpx3>;
4762306a36Sopenharmony_ci		interrupts = <2 IRQ_TYPE_NONE>;
4862306a36Sopenharmony_ci		clocks = <&i2s0 CLK_I2S_CDCLK>;
4962306a36Sopenharmony_ci		clock-names = "mclk";
5062306a36Sopenharmony_ci		#sound-dai-cells = <0>;
5162306a36Sopenharmony_ci	};
5262306a36Sopenharmony_ci};
5362306a36Sopenharmony_ci
5462306a36Sopenharmony_ci&i2s0 {
5562306a36Sopenharmony_ci	status = "okay";
5662306a36Sopenharmony_ci	assigned-clocks = <&clock CLK_MOUT_EPLL>,
5762306a36Sopenharmony_ci			<&clock CLK_MOUT_MAU_EPLL>,
5862306a36Sopenharmony_ci			<&clock CLK_MOUT_USER_MAU_EPLL>,
5962306a36Sopenharmony_ci			<&clock_audss EXYNOS_MOUT_AUDSS>,
6062306a36Sopenharmony_ci			<&clock_audss EXYNOS_MOUT_I2S>,
6162306a36Sopenharmony_ci			<&i2s0 CLK_I2S_RCLK_SRC>,
6262306a36Sopenharmony_ci			<&clock_audss EXYNOS_DOUT_SRP>,
6362306a36Sopenharmony_ci			<&clock_audss EXYNOS_DOUT_AUD_BUS>,
6462306a36Sopenharmony_ci			<&clock_audss EXYNOS_DOUT_I2S>;
6562306a36Sopenharmony_ci
6662306a36Sopenharmony_ci	assigned-clock-parents = <&clock CLK_FOUT_EPLL>,
6762306a36Sopenharmony_ci			<&clock CLK_MOUT_EPLL>,
6862306a36Sopenharmony_ci			<&clock CLK_MOUT_MAU_EPLL>,
6962306a36Sopenharmony_ci			<&clock CLK_MAU_EPLL>,
7062306a36Sopenharmony_ci			<&clock_audss EXYNOS_MOUT_AUDSS>,
7162306a36Sopenharmony_ci			<&clock_audss EXYNOS_SCLK_I2S>;
7262306a36Sopenharmony_ci
7362306a36Sopenharmony_ci	assigned-clock-rates = <0>,
7462306a36Sopenharmony_ci			<0>,
7562306a36Sopenharmony_ci			<0>,
7662306a36Sopenharmony_ci			<0>,
7762306a36Sopenharmony_ci			<0>,
7862306a36Sopenharmony_ci			<0>,
7962306a36Sopenharmony_ci			<196608001>,
8062306a36Sopenharmony_ci			<(196608002 / 2)>,
8162306a36Sopenharmony_ci			<196608000>;
8262306a36Sopenharmony_ci
8362306a36Sopenharmony_ci};
84