1// SPDX-License-Identifier: GPL-2.0+
2/*
3 * Device Tree file for the Kontron SMARC-sAL28 board on a SMARC Eval 2.0
4 * carrier (ADS2).
5 *
6 * Copyright (C) 2019 Michael Walle <michael@walle.cc>
7 *
8 */
9
10/dts-v1/;
11
12#include <dt-bindings/clock/fsl,qoriq-clockgen.h>
13#include "fsl-ls1028a-kontron-sl28.dts"
14
15/ {
16	model = "Kontron SMARC-sAL28 (Single PHY) on SMARC Eval 2.0 carrier";
17	compatible = "kontron,sl28-var3-ads2", "kontron,sl28-var3",
18		     "kontron,sl28", "fsl,ls1028a";
19
20	pwm-fan {
21		compatible = "pwm-fan";
22		cooling-min-state = <0>;
23		cooling-max-state = <3>;
24		#cooling-cells = <2>;
25		pwms = <&sl28cpld_pwm0 0 4000000>;
26		cooling-levels = <1 128 192 255>;
27	};
28
29	sound {
30		#address-cells = <1>;
31		#size-cells = <0>;
32		compatible = "simple-audio-card";
33		simple-audio-card,widgets =
34			"Headphone", "Headphone Jack",
35			"Line", "Line Out Jack",
36			"Microphone", "Microphone Jack",
37			"Line", "Line In Jack";
38		simple-audio-card,routing =
39			"Line Out Jack", "LINEOUTR",
40			"Line Out Jack", "LINEOUTL",
41			"Headphone Jack", "HPOUTR",
42			"Headphone Jack", "HPOUTL",
43			"IN1L", "Line In Jack",
44			"IN1R", "Line In Jack",
45			"Microphone Jack", "MICBIAS",
46			"IN2L", "Microphone Jack",
47			"IN2R", "Microphone Jack";
48		simple-audio-card,mclk-fs = <256>;
49
50		simple-audio-card,dai-link@0 {
51			reg = <0>;
52			bitclock-master = <&dailink0_master>;
53			frame-master = <&dailink0_master>;
54			format = "i2s";
55
56			cpu {
57				sound-dai = <&sai6>;
58			};
59
60			dailink0_master: codec {
61				sound-dai = <&wm8904>;
62			};
63		};
64
65		simple-audio-card,dai-link@1 {
66			reg = <1>;
67			bitclock-master = <&dailink1_master>;
68			frame-master = <&dailink1_master>;
69			format = "i2s";
70
71			cpu {
72				sound-dai = <&sai5>;
73			};
74
75			dailink1_master: codec {
76				sound-dai = <&wm8904>;
77			};
78		};
79	};
80};
81
82&dspi2 {
83	flash@0 {
84		compatible = "jedec,spi-nor";
85		m25p,fast-read;
86		spi-max-frequency = <100000000>;
87		reg = <0>;
88	};
89};
90
91&i2c3 {
92	eeprom@57 {
93		compatible = "atmel,24c64";
94		reg = <0x57>;
95		pagesize = <32>;
96	};
97};
98
99&i2c4 {
100	status = "okay";
101
102	wm8904: audio-codec@1a {
103		#sound-dai-cells = <0>;
104		compatible = "wlf,wm8904";
105		reg = <0x1a>;
106		clocks = <&mclk>;
107		clock-names = "mclk";
108		assigned-clocks = <&mclk>;
109		assigned-clock-rates = <1250000>;
110	};
111};
112
113&sai5 {
114	status = "okay";
115};
116
117&sai6 {
118	status = "okay";
119};
120
121&soc {
122	mclk: clock-mclk@f130080 {
123		compatible = "fsl,vf610-sai-clock";
124		reg = <0x0 0xf130080 0x0 0x80>;
125		clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
126				    QORIQ_CLK_PLL_DIV(2)>;
127		#clock-cells = <0>;
128	};
129};
130