Merge branch 'topic/nhlt' into for-next
[linux-2.6-microblaze.git] / arch / arm / boot / dts / pxa300-raumfeld-tuneable-clock.dtsi
1 // SPDX-License-Identifier: GPL-2.0
2
3 #include <dt-bindings/clock/maxim,max9485.h>
4
5 / {
6         xo_27mhz: oscillator-27mhz {
7                 compatible = "fixed-clock";
8                 #clock-cells = <0>;
9                 clock-frequency = <27000000>;
10                 clock-accuracy = <100>;
11         };
12
13         sound {
14                 compatible = "simple-audio-card";
15                 simple-audio-card,name = "Raumfeld Speaker";
16                 #address-cells = <1>;
17                 #size-cells = <0>;
18
19                 simple-audio-card,dai-link@0 {
20                         reg = <0>;
21                         format = "i2s";
22                         bitclock-master = <&dailink_master_analog>;
23                         frame-master = <&dailink_master_analog>;
24                         mclk-fs = <256>;
25
26                         dailink_master_analog: cpu {
27                                 sound-dai = <&ssp_dai0>;
28                         };
29
30                         codec {
31                                 sound-dai = <&cs4270>;
32                         };
33                 };
34         };
35 };
36
37 &ssp_dai0 {
38         clocks = <&max9485 MAX9485_CLKOUT1>;
39 };
40
41 &ssp_dai1 {
42         clocks = <&max9485 MAX9485_CLKOUT1>;
43 };
44
45 &pxai2c1 {
46         cs4270: codec@48 {
47                 compatible = "cirrus,cs4270";
48                 pinctrl-names = "default";
49                 pinctrl-0 = <&cs4270_pins>;
50                 reg = <0x48>;
51                 va-supply = <&reg_va_5v0>;
52                 vd-supply = <&reg_3v3>;
53                 vlc-supply = <&reg_3v3>;
54                 reset-gpios = <&gpio 120 GPIO_ACTIVE_HIGH>;
55                 #sound-dai-cells = <0>;
56         };
57
58         max9485: clock-generator@63 {
59                 compatible = "maxim,max9485";
60                 pinctrl-names = "default";
61                 pinctrl-0 = <&max9485_pins>;
62                 reg = <0x63>;
63                 vdd-supply = <&reg_3v3>;
64                 clock-names = "xclk";
65                 clocks = <&xo_27mhz>;
66                 reset-gpios = <&gpio 111 GPIO_ACTIVE_HIGH>;
67                 #clock-cells = <1>;
68         };
69 };
70
71 &pinctrl {
72         cs4270_pins: cs4270-pins {
73                 pinctrl-single,pins = <
74                         MFP_PIN_PXA300(120) MFP_AF0     /* RESET */
75                 >;
76                 pinctrl-single,low-power-mode = MFP_LPM(MFP_LPM_PULL_LOW);
77         };
78
79         max9485_pins: max9485-pins {
80                 pinctrl-single,pins = <
81                         MFP_PIN_PXA300(111) MFP_AF0     /* RESET */
82                 >;
83                 pinctrl-single,low-power-mode = MFP_LPM(MFP_LPM_PULL_LOW);
84         };
85 };