blob: 0c61f71a92dcc327adb2003bca9bc84b6801af45 [file] [log] [blame]
zhaochen12063042019-07-15 11:22:04 +08001/*
2 * Copyright (c) 2019, The Linux Foundation. All rights reserved.
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 and
6 * only version 2 as published by the Free Software Foundation.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 */
13
14&int_codec {
15 compatible = "qcom,msm8952-dig-asoc-snd";
16 status = "okay";
17 qcom,model = "sdm429-qrd-snd-card";
18 qcom,msm-ext-pa = "quaternary";
19 /delete-property/ qcom,split-a2dp;
20 asoc-wsa-codec-names;
21 asoc-wsa-codec-prefixes;
22 ext_pa_aw8896;
23 qcom,audio-routing =
24 "CDC_CONN", "MCLK",
25 "QUAT_MI2S_RX", "DIGITAL_REGULATOR",
26 "TX_I2S_CLK", "DIGITAL_REGULATOR",
27 "DMIC1", "Digital Mic1",
28 "DMIC2", "Digital Mic2";
29 qcom,cdc-dmic-gpios = <&cdc_dmic_gpios>;
30 qcom,quat-mi2s-gpios = <&cdc_quat_mi2s_gpios>;
31 qcom,msm-gpios =
32 "quat_i2s",
33 "dmic";
34 qcom,pinctrl-names =
35 "all_off",
36 "quat_i2s_act",
37 "dmic_act",
38 "quat_i2s_dmic_act";
39 pinctrl-names =
40 "all_off",
41 "quat_i2s_act",
42 "dmic_act",
43 "quat_i2s_dmic_act";
44 pinctrl-0 = <&quat_mi2s_sleep &quat_mi2s_din_sleep
45 &cdc_dmic0_clk_sus &cdc_dmic0_data_sus>;
46 pinctrl-1 = <&quat_mi2s_active &quat_mi2s_din_active
47 &cdc_dmic0_clk_sus &cdc_dmic0_data_sus>;
48 pinctrl-2 = <&quat_mi2s_sleep &quat_mi2s_din_sleep
49 &cdc_dmic0_clk_act &cdc_dmic0_data_act>;
50 pinctrl-3 = <&quat_mi2s_active &quat_mi2s_din_active
51 &cdc_dmic0_clk_act &cdc_dmic0_data_act>;
52 /delete-property/qcom,cdc-us-euro-gpios;
53 /delete-property/qcom,pri-mi2s-gpios;
54 /delete-property/qcom,cdc-us-eu-gpios;
55
56 asoc-codec = <&stub_codec>, <&msm_dig_codec>, <&ext_smart_pa>;
57 asoc-codec-names = "msm-stub-codec.1", "msm-dig-codec", "ext-smart-pa";
58};
59
60&soc {
61 msm_dig_codec: msm_dig_codec {
62 compatible = "qcom,msm-digital-codec";
63 reg = <0xc0f0000 0x0>;
64 qcom,no-analog-codec;
65 cdc-vdd-digital-supply = <&pm660_l9>;
66 qcom,cdc-vdd-digital-voltage = <1800000 1800000>;
67 qcom,cdc-vdd-digital-current = <10000>;
68 qcom,cdc-on-demand-supplies = "cdc-vdd-digital";
69 };
70
71 cdc_dmic_gpios: cdc_dmic_pinctrl {
72 compatible = "qcom,msm-cdc-pinctrl";
73 pinctrl-names = "aud_active", "aud_sleep";
74 pinctrl-0 = <&cdc_dmic0_clk_act &cdc_dmic0_data_act>;
75 pinctrl-1 = <&cdc_dmic0_clk_sus &cdc_dmic0_data_sus>;
76 };
77
78 cdc_quat_mi2s_gpios: msm_cdc_pinctrl_quat {
79 compatible = "qcom,msm-cdc-pinctrl";
80 pinctrl-names = "aud_active", "aud_sleep";
81 pinctrl-0 = <&quat_mi2s_active &quat_mi2s_din_active>;
82 pinctrl-1 = <&quat_mi2s_sleep &quat_mi2s_din_sleep>;
83 };
84};
85
86&tlmm {
87 smart_pa_int {
88 pa_int_default: pa_int_default {
89 mux {
90 pins = "gpio73", "gpio73";
91 function = "gpio";
92 };
93
94 config {
95 pins = "gpio73", "gpio73";
96 drive-strength = <4>;
97 bias-disable;
98 };
99 };
100 };
101
102 smart_pa_rst {
103 pa_rst_default: pa_rst_default {
104 mux {
105 pins = "gpio68", "gpio68";
106 function = "gpio";
107 };
108
109 config {
110 pins = "gpio68", "gpio68";
111 drive-strength = <4>;
112 bias-disable;
113 };
114 };
115 };
116};
117
118&wsa881x_i2c_f {
119 status = "disabled";
120};
121
122&wsa881x_i2c_45 {
123 status = "disabled";
124};
125
126&wsa881x_analog_vi_gpio {
127 status = "disabled";
128};
129
130&wsa881x_analog_clk_gpio {
131 status = "disabled";
132};
133
134&wsa881x_analog_reset_gpio {
135 status = "disabled";
136};
137
138&cdc_us_euro_sw {
139 status = "disabled";
140};
141
142&cdc_pri_mi2s_gpios {
143 status = "disabled";
144};
145
146&cdc_quin_mi2s_gpios {
147 status = "disabled";
148};
149
150&i2c_2 {
151 ext_smart_pa: aw8896_smartpa@34 {
152 status = "okay";
153 compatible = "awinic,aw8896_smartpa";
154 reg = <0x34>;
155 reset-gpio = <&tlmm 68 0>;
156 irq-gpio = <&tlmm 73 0>;
157 pinctrl-names = "default";
158 pinctrl-0 = <&pa_int_default &pa_rst_default>;
159 dvdd-supply = <&pm660_l9>;
160 dvdd-voltage = <1800000 1800000>;
161 dvdd-current = <15000>;
162 };
163};