xref: /linux/arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-sl28-var3-ads2.dts (revision c532de5a67a70f8533d495f8f2aaa9a0491c3ad0)
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-var3.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	reg_3p3v: regulator-3p3v {
30		compatible = "regulator-fixed";
31		regulator-name = "3P3V";
32		regulator-min-microvolt = <3300000>;
33		regulator-max-microvolt = <3300000>;
34	};
35
36	sound {
37		#address-cells = <1>;
38		#size-cells = <0>;
39		compatible = "simple-audio-card";
40		simple-audio-card,widgets =
41			"Headphone", "Headphone Jack",
42			"Line", "Line Out Jack",
43			"Microphone", "Microphone Jack",
44			"Line", "Line In Jack";
45		simple-audio-card,routing =
46			"Line Out Jack", "LINEOUTR",
47			"Line Out Jack", "LINEOUTL",
48			"Headphone Jack", "HPOUTR",
49			"Headphone Jack", "HPOUTL",
50			"IN1L", "Line In Jack",
51			"IN1R", "Line In Jack",
52			"Microphone Jack", "MICBIAS",
53			"IN2L", "Microphone Jack",
54			"IN2R", "Microphone Jack";
55		simple-audio-card,mclk-fs = <256>;
56
57		simple-audio-card,dai-link@0 {
58			reg = <0>;
59			bitclock-master = <&dailink0_master>;
60			frame-master = <&dailink0_master>;
61			format = "i2s";
62
63			cpu {
64				sound-dai = <&sai6>;
65			};
66
67			dailink0_master: codec {
68				sound-dai = <&wm8904>;
69			};
70		};
71
72		simple-audio-card,dai-link@1 {
73			reg = <1>;
74			bitclock-master = <&dailink1_master>;
75			frame-master = <&dailink1_master>;
76			format = "i2s";
77
78			cpu {
79				sound-dai = <&sai5>;
80			};
81
82			dailink1_master: codec {
83				sound-dai = <&wm8904>;
84			};
85		};
86	};
87};
88
89&dspi2 {
90	flash@0 {
91		compatible = "jedec,spi-nor";
92		m25p,fast-read;
93		spi-max-frequency = <100000000>;
94		reg = <0>;
95	};
96};
97
98&i2c3 {
99	eeprom@57 {
100		compatible = "atmel,24c64";
101		reg = <0x57>;
102		pagesize = <32>;
103	};
104};
105
106&i2c4 {
107	status = "okay";
108
109	wm8904: audio-codec@1a {
110		#sound-dai-cells = <0>;
111		compatible = "wlf,wm8904";
112		reg = <0x1a>;
113		clocks = <&mclk>;
114		clock-names = "mclk";
115		assigned-clocks = <&mclk>;
116		assigned-clock-rates = <1250000>;
117		AVDD-supply = <&reg_3p3v>;
118		CPVDD-supply = <&reg_3p3v>;
119		DBVDD-supply = <&reg_3p3v>;
120		DCVDD-supply = <&reg_3p3v>;
121		MICVDD-supply = <&reg_3p3v>;
122	};
123};
124
125&sai5 {
126	status = "okay";
127};
128
129&sai6 {
130	status = "okay";
131};
132
133&soc {
134	mclk: clock-mclk@f130080 {
135		compatible = "fsl,vf610-sai-clock";
136		reg = <0x0 0xf130080 0x0 0x80>;
137		clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
138				    QORIQ_CLK_PLL_DIV(2)>;
139		#clock-cells = <0>;
140	};
141};
142