0001 // SPDX-License-Identifier: GPL-2.0
0002
0003 #include <dt-bindings/clock/maxim,max9485.h>
0004
0005 / {
0006 xo_27mhz: oscillator-27mhz {
0007 compatible = "fixed-clock";
0008 #clock-cells = <0>;
0009 clock-frequency = <27000000>;
0010 clock-accuracy = <100>;
0011 };
0012
0013 sound {
0014 compatible = "simple-audio-card";
0015 simple-audio-card,name = "Raumfeld Speaker";
0016 #address-cells = <1>;
0017 #size-cells = <0>;
0018
0019 simple-audio-card,dai-link@0 {
0020 reg = <0>;
0021 format = "i2s";
0022 bitclock-master = <&dailink_master_analog>;
0023 frame-master = <&dailink_master_analog>;
0024 mclk-fs = <256>;
0025
0026 dailink_master_analog: cpu {
0027 sound-dai = <&ssp_dai0>;
0028 };
0029
0030 codec {
0031 sound-dai = <&cs4270>;
0032 };
0033 };
0034 };
0035 };
0036
0037 &ssp_dai0 {
0038 clocks = <&max9485 MAX9485_CLKOUT1>;
0039 };
0040
0041 &ssp_dai1 {
0042 clocks = <&max9485 MAX9485_CLKOUT1>;
0043 };
0044
0045 &pxai2c1 {
0046 cs4270: codec@48 {
0047 compatible = "cirrus,cs4270";
0048 pinctrl-names = "default";
0049 pinctrl-0 = <&cs4270_pins>;
0050 reg = <0x48>;
0051 va-supply = <®_va_5v0>;
0052 vd-supply = <®_3v3>;
0053 vlc-supply = <®_3v3>;
0054 reset-gpios = <&gpio 120 GPIO_ACTIVE_HIGH>;
0055 #sound-dai-cells = <0>;
0056 };
0057
0058 max9485: clock-generator@63 {
0059 compatible = "maxim,max9485";
0060 pinctrl-names = "default";
0061 pinctrl-0 = <&max9485_pins>;
0062 reg = <0x63>;
0063 vdd-supply = <®_3v3>;
0064 clock-names = "xclk";
0065 clocks = <&xo_27mhz>;
0066 reset-gpios = <&gpio 111 GPIO_ACTIVE_HIGH>;
0067 #clock-cells = <1>;
0068 };
0069 };
0070
0071 &pinctrl {
0072 cs4270_pins: cs4270-pins {
0073 pinctrl-single,pins = <
0074 MFP_PIN_PXA300(120) MFP_AF0 /* RESET */
0075 >;
0076 pinctrl-single,low-power-mode = MFP_LPM(MFP_LPM_PULL_LOW);
0077 };
0078
0079 max9485_pins: max9485-pins {
0080 pinctrl-single,pins = <
0081 MFP_PIN_PXA300(111) MFP_AF0 /* RESET */
0082 >;
0083 pinctrl-single,low-power-mode = MFP_LPM(MFP_LPM_PULL_LOW);
0084 };
0085 };