1*4882a593Smuzhiyun// SPDX-License-Identifier: GPL-2.0 2*4882a593Smuzhiyun 3*4882a593Smuzhiyun/dts-v1/; 4*4882a593Smuzhiyun 5*4882a593Smuzhiyun#include "pxa300-raumfeld-common.dtsi" 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun/ { 8*4882a593Smuzhiyun model = "Raumfeld Speaker One (PXA3xx)"; 9*4882a593Smuzhiyun compatible = "raumfeld,raumfeld-speaker-one-pxa303", "marvell,pxa300"; 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun wm8782: wm8782 { 12*4882a593Smuzhiyun compatible = "wm8782"; 13*4882a593Smuzhiyun #sound-dai-cells = <0>; 14*4882a593Smuzhiyun Vdd-supply = <®_3v3>; 15*4882a593Smuzhiyun Vdda-supply = <®_va_5v0>; 16*4882a593Smuzhiyun }; 17*4882a593Smuzhiyun 18*4882a593Smuzhiyun xo_11mhz: oscillator-11mhz { 19*4882a593Smuzhiyun compatible = "fixed-clock"; 20*4882a593Smuzhiyun #clock-cells = <0>; 21*4882a593Smuzhiyun clock-frequency = <11289600>; 22*4882a593Smuzhiyun clock-accuracy = <100>; 23*4882a593Smuzhiyun }; 24*4882a593Smuzhiyun 25*4882a593Smuzhiyun xo_audio: clock-gate { 26*4882a593Smuzhiyun compatible = "gpio-gate-clock"; 27*4882a593Smuzhiyun pinctrlnames = "default"; 28*4882a593Smuzhiyun pinctrl-0 = <&xo_audio_pins>; 29*4882a593Smuzhiyun clocks = <&xo_11mhz>; 30*4882a593Smuzhiyun #clock-cells = <0>; 31*4882a593Smuzhiyun enable-gpios = <&gpio 111 GPIO_ACTIVE_HIGH>; 32*4882a593Smuzhiyun }; 33*4882a593Smuzhiyun 34*4882a593Smuzhiyun reg_va_30v0: regulator-va-30v0 { 35*4882a593Smuzhiyun compatible = "regulator-fixed"; 36*4882a593Smuzhiyun regulator-name = "va-30v0-fixed-supply"; 37*4882a593Smuzhiyun regulator-min-microvolt = <30000000>; 38*4882a593Smuzhiyun regulator-max-microvolt = <30000000>; 39*4882a593Smuzhiyun }; 40*4882a593Smuzhiyun 41*4882a593Smuzhiyun sound { 42*4882a593Smuzhiyun compatible = "simple-audio-card"; 43*4882a593Smuzhiyun simple-audio-card,name = "Raumfeld Speaker"; 44*4882a593Smuzhiyun #address-cells = <1>; 45*4882a593Smuzhiyun #size-cells = <0>; 46*4882a593Smuzhiyun 47*4882a593Smuzhiyun simple-audio-card,dai-link@0 { 48*4882a593Smuzhiyun reg = <0>; 49*4882a593Smuzhiyun format = "i2s"; 50*4882a593Smuzhiyun bitclock-master = <&dailink_master_analog_out>; 51*4882a593Smuzhiyun frame-master = <&dailink_master_analog_out>; 52*4882a593Smuzhiyun mclk-fs = <256>; 53*4882a593Smuzhiyun 54*4882a593Smuzhiyun dailink_master_analog_out: cpu { 55*4882a593Smuzhiyun sound-dai = <&ssp_dai0>; 56*4882a593Smuzhiyun }; 57*4882a593Smuzhiyun 58*4882a593Smuzhiyun codec { 59*4882a593Smuzhiyun sound-dai = <&sta320>; 60*4882a593Smuzhiyun }; 61*4882a593Smuzhiyun }; 62*4882a593Smuzhiyun 63*4882a593Smuzhiyun simple-audio-card,dai-link@1 { 64*4882a593Smuzhiyun reg = <1>; 65*4882a593Smuzhiyun format = "i2s"; 66*4882a593Smuzhiyun bitclock-master = <&dailink_master_analog_in>; 67*4882a593Smuzhiyun frame-master = <&dailink_master_analog_in>; 68*4882a593Smuzhiyun mclk-fs = <256>; 69*4882a593Smuzhiyun 70*4882a593Smuzhiyun dailink_master_analog_in: cpu { 71*4882a593Smuzhiyun sound-dai = <&ssp_dai0>; 72*4882a593Smuzhiyun }; 73*4882a593Smuzhiyun 74*4882a593Smuzhiyun codec { 75*4882a593Smuzhiyun sound-dai = <&wm8782>; 76*4882a593Smuzhiyun }; 77*4882a593Smuzhiyun }; 78*4882a593Smuzhiyun }; 79*4882a593Smuzhiyun}; 80*4882a593Smuzhiyun 81*4882a593Smuzhiyun&ssp_dai0 { 82*4882a593Smuzhiyun clocks = <&xo_audio>; 83*4882a593Smuzhiyun}; 84*4882a593Smuzhiyun 85*4882a593Smuzhiyun&spi { 86*4882a593Smuzhiyun dac@2 { 87*4882a593Smuzhiyun compatible = "ti,dac7512"; 88*4882a593Smuzhiyun reg = <2>; 89*4882a593Smuzhiyun spi-max-frequency = <1000000>; 90*4882a593Smuzhiyun vcc-supply = <®_3v3>; 91*4882a593Smuzhiyun }; 92*4882a593Smuzhiyun}; 93*4882a593Smuzhiyun 94*4882a593Smuzhiyun&rotary { 95*4882a593Smuzhiyun status = "okay"; 96*4882a593Smuzhiyun}; 97*4882a593Smuzhiyun 98*4882a593Smuzhiyun&pxai2c1 { 99*4882a593Smuzhiyun sta320: codec@1a { 100*4882a593Smuzhiyun compatible = "st,sta32x"; 101*4882a593Smuzhiyun reg = <0x1a>; 102*4882a593Smuzhiyun pinctrl-names = "default"; 103*4882a593Smuzhiyun pinctrl-0 = <&sta320_pins>; 104*4882a593Smuzhiyun clocks = <&xo_audio>; 105*4882a593Smuzhiyun clock-names = "xti"; 106*4882a593Smuzhiyun reset-gpios = <&gpio 120 GPIO_ACTIVE_HIGH>; 107*4882a593Smuzhiyun Vdda-supply = <®_3v3>; 108*4882a593Smuzhiyun Vdd3-supply = <®_3v3>; 109*4882a593Smuzhiyun Vcc-supply = <®_va_30v0>; 110*4882a593Smuzhiyun #sound-dai-cells = <0>; 111*4882a593Smuzhiyun st,thermal-warning-adjustment; 112*4882a593Smuzhiyun st,thermal-warning-recovery; 113*4882a593Smuzhiyun st,fault-detect-recovery; 114*4882a593Smuzhiyun st,drop-compensation-ns = <80>; 115*4882a593Smuzhiyun st,max-power-use-mpcc; 116*4882a593Smuzhiyun st,invalid-input-detect-mute; 117*4882a593Smuzhiyun /* 2 (half-bridge) and 1 (full-bridge) on-board power */ 118*4882a593Smuzhiyun st,output-conf = /bits/ 8 <0x1>; 119*4882a593Smuzhiyun st,ch1-output-mapping = /bits/ 8 <0>; 120*4882a593Smuzhiyun st,ch2-output-mapping = /bits/ 8 <1>; 121*4882a593Smuzhiyun st,ch3-output-mapping = /bits/ 8 <2>; 122*4882a593Smuzhiyun st,needs_esd_watchdog; 123*4882a593Smuzhiyun }; 124*4882a593Smuzhiyun}; 125*4882a593Smuzhiyun 126*4882a593Smuzhiyun&pinctrl { 127*4882a593Smuzhiyun xo_audio_pins: xo-audio-pins { 128*4882a593Smuzhiyun pinctrl-single,pins = < 129*4882a593Smuzhiyun MFP_PIN_PXA300(111) MFP_AF0 /* ENABLE */ 130*4882a593Smuzhiyun >; 131*4882a593Smuzhiyun pinctrl-single,low-power-mode = MFP_LPM(MFP_LPM_PULL_LOW); 132*4882a593Smuzhiyun }; 133*4882a593Smuzhiyun 134*4882a593Smuzhiyun sta320_pins: sta320-pins { 135*4882a593Smuzhiyun pinctrl-single,pins = < 136*4882a593Smuzhiyun MFP_PIN_PXA300(120) MFP_AF0 /* CODEC_RESET */ 137*4882a593Smuzhiyun >; 138*4882a593Smuzhiyun pinctrl-single,low-power-mode = MFP_LPM(MFP_LPM_FLOAT); 139*4882a593Smuzhiyun }; 140*4882a593Smuzhiyun}; 141