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