// SPDX-License-Identifier: GPL-2.0 #include <dt-bindings/clock/maxim,max9485.h> / { xo_27mhz: oscillator-27mhz { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <27000000>; clock-accuracy = <100>; }; sound { compatible = "simple-audio-card"; simple-audio-card,name = "Raumfeld Speaker"; #address-cells = <1>; #size-cells = <0>; simple-audio-card,dai-link@0 { reg = <0>; format = "i2s"; bitclock-master = <&dailink_master_analog>; frame-master = <&dailink_master_analog>; mclk-fs = <256>; dailink_master_analog: cpu { sound-dai = <&ssp_dai0>; }; codec { sound-dai = <&cs4270>; }; }; }; }; &ssp_dai0 { clocks = <&max9485 MAX9485_CLKOUT1>; }; &ssp_dai1 { clocks = <&max9485 MAX9485_CLKOUT1>; }; &pxai2c1 { cs4270: codec@48 { compatible = "cirrus,cs4270"; pinctrl-names = "default"; pinctrl-0 = <&cs4270_pins>; reg = <0x48>; va-supply = <®_va_5v0>; vd-supply = <®_3v3>; vlc-supply = <®_3v3>; reset-gpios = <&gpio 120 GPIO_ACTIVE_HIGH>; #sound-dai-cells = <0>; }; max9485: clock-generator@63 { compatible = "maxim,max9485"; pinctrl-names = "default"; pinctrl-0 = <&max9485_pins>; reg = <0x63>; vdd-supply = <®_3v3>; clock-names = "xclk"; clocks = <&xo_27mhz>; reset-gpios = <&gpio 111 GPIO_ACTIVE_HIGH>; #clock-cells = <1>; }; }; &pinctrl { cs4270_pins: cs4270-pins { pinctrl-single,pins = < MFP_PIN_PXA300(120) MFP_AF0 /* RESET */ >; pinctrl-single,low-power-mode = MFP_LPM(MFP_LPM_PULL_LOW); }; max9485_pins: max9485-pins { pinctrl-single,pins = < MFP_PIN_PXA300(111) MFP_AF0 /* RESET */ >; pinctrl-single,low-power-mode = MFP_LPM(MFP_LPM_PULL_LOW); }; };