Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0
0002 
0003 /dts-v1/;
0004 
0005 #include "pxa300-raumfeld-common.dtsi"
0006 
0007 / {
0008         model = "Raumfeld Speaker One (PXA3xx)";
0009         compatible = "raumfeld,raumfeld-speaker-one-pxa303", "marvell,pxa300";
0010 
0011         wm8782: wm8782 {
0012                 compatible = "wm8782";
0013                 #sound-dai-cells = <0>;
0014                 Vdd-supply = <&reg_3v3>;
0015                 Vdda-supply = <&reg_va_5v0>;
0016         };
0017 
0018         xo_11mhz: oscillator-11mhz {
0019                 compatible = "fixed-clock";
0020                 #clock-cells = <0>;
0021                 clock-frequency = <11289600>;
0022                 clock-accuracy = <100>;
0023         };
0024 
0025         xo_audio: clock-gate {
0026                 compatible = "gpio-gate-clock";
0027                 pinctrlnames = "default";
0028                 pinctrl-0 = <&xo_audio_pins>;
0029                 clocks = <&xo_11mhz>;
0030                 #clock-cells = <0>;
0031                 enable-gpios = <&gpio 111 GPIO_ACTIVE_HIGH>;
0032         };
0033 
0034         reg_va_30v0: regulator-va-30v0 {
0035                 compatible = "regulator-fixed";
0036                 regulator-name = "va-30v0-fixed-supply";
0037                 regulator-min-microvolt = <30000000>;
0038                 regulator-max-microvolt = <30000000>;
0039         };
0040 
0041         sound {
0042                 compatible = "simple-audio-card";
0043                 simple-audio-card,name = "Raumfeld Speaker";
0044                 #address-cells = <1>;
0045                 #size-cells = <0>;
0046 
0047                 simple-audio-card,dai-link@0 {
0048                         reg = <0>;
0049                         format = "i2s";
0050                         bitclock-master = <&dailink_master_analog_out>;
0051                         frame-master = <&dailink_master_analog_out>;
0052                         mclk-fs = <256>;
0053 
0054                         dailink_master_analog_out: cpu {
0055                                 sound-dai = <&ssp_dai0>;
0056                         };
0057 
0058                         codec {
0059                                 sound-dai = <&sta320>;
0060                         };
0061                 };
0062 
0063                 simple-audio-card,dai-link@1 {
0064                         reg = <1>;
0065                         format = "i2s";
0066                         bitclock-master = <&dailink_master_analog_in>;
0067                         frame-master = <&dailink_master_analog_in>;
0068                         mclk-fs = <256>;
0069 
0070                         dailink_master_analog_in: cpu {
0071                                 sound-dai = <&ssp_dai0>;
0072                         };
0073 
0074                         codec {
0075                                 sound-dai = <&wm8782>;
0076                         };
0077                 };
0078         };
0079 };
0080 
0081 &ssp_dai0 {
0082         clocks = <&xo_audio>;
0083 };
0084 
0085 &spi {
0086         dac@2 {
0087                 compatible = "ti,dac7512";
0088                 reg = <2>;
0089                 spi-max-frequency = <1000000>;
0090                 vcc-supply = <&reg_3v3>;
0091         };
0092 };
0093 
0094 &rotary {
0095         status = "okay";
0096 };
0097 
0098 &pxai2c1 {
0099         sta320: codec@1a {
0100                 compatible = "st,sta32x";
0101                 reg = <0x1a>;
0102                 pinctrl-names = "default";
0103                 pinctrl-0 = <&sta320_pins>;
0104                 clocks = <&xo_audio>;
0105                 clock-names = "xti";
0106                 reset-gpios = <&gpio 120 GPIO_ACTIVE_HIGH>;
0107                 Vdda-supply = <&reg_3v3>;
0108                 Vdd3-supply = <&reg_3v3>;
0109                 Vcc-supply = <&reg_va_30v0>;
0110                 #sound-dai-cells = <0>;
0111                 st,thermal-warning-adjustment;
0112                 st,thermal-warning-recovery;
0113                 st,fault-detect-recovery;
0114                 st,drop-compensation-ns = <80>;
0115                 st,max-power-use-mpcc;
0116                 st,invalid-input-detect-mute;
0117                 /* 2 (half-bridge) and 1 (full-bridge) on-board power */
0118                 st,output-conf = /bits/ 8 <0x1>;
0119                 st,ch1-output-mapping = /bits/ 8 <0>;
0120                 st,ch2-output-mapping = /bits/ 8 <1>;
0121                 st,ch3-output-mapping = /bits/ 8 <2>;
0122                 st,needs_esd_watchdog;
0123         };
0124 };
0125 
0126 &pinctrl {
0127         xo_audio_pins: xo-audio-pins {
0128                 pinctrl-single,pins = <
0129                         MFP_PIN_PXA300(111) MFP_AF0     /* ENABLE */
0130                 >;
0131                 pinctrl-single,low-power-mode = MFP_LPM(MFP_LPM_PULL_LOW);
0132         };
0133 
0134         sta320_pins: sta320-pins {
0135                 pinctrl-single,pins = <
0136                         MFP_PIN_PXA300(120) MFP_AF0     /* CODEC_RESET  */
0137                 >;
0138                 pinctrl-single,low-power-mode = MFP_LPM(MFP_LPM_FLOAT);
0139         };
0140 };