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