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