blob: a6207043ac3c7f80f1def8b4fb2025f0dd1a05ca [file] [log] [blame]
Oder Chiou0e826e82014-05-26 20:32:33 +08001/*
2 * linux/sound/rt5677.h -- Platform data for RT5677
3 *
4 * Copyright 2013 Realtek Semiconductor Corp.
5 * Author: Oder Chiou <oder_chiou@realtek.com>
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License version 2 as
9 * published by the Free Software Foundation.
10 */
11
12#ifndef __LINUX_SND_RT5677_H
13#define __LINUX_SND_RT5677_H
14
Bard Liao2d15d972014-08-27 19:50:34 +080015enum rt5677_dmic2_clk {
16 RT5677_DMIC_CLK1 = 0,
17 RT5677_DMIC_CLK2 = 1,
18};
19
20
Oder Chiou0e826e82014-05-26 20:32:33 +080021struct rt5677_platform_data {
Anatol Pomozov6f67c382014-09-26 09:57:27 -070022 /* IN1/IN2/LOUT1/LOUT2/LOUT3 can optionally be differential */
Oder Chiou0e826e82014-05-26 20:32:33 +080023 bool in1_diff;
24 bool in2_diff;
Anatol Pomozov6f67c382014-09-26 09:57:27 -070025 bool lout1_diff;
26 bool lout2_diff;
27 bool lout3_diff;
Bard Liao2d15d972014-08-27 19:50:34 +080028 /* DMIC2 clock source selection */
29 enum rt5677_dmic2_clk dmic2_clk_pin;
Anatol Pomozov40eb90a2014-10-10 20:46:36 -070030
31 /* configures GPIO, 0 - floating, 1 - pulldown, 2 - pullup */
32 u8 gpio_config[6];
Oder Chiou5e3363a2014-10-16 11:24:26 -070033
34 /* jd1 can select 0 ~ 3 as OFF, GPIO1, GPIO2 and GPIO3 respectively */
35 unsigned int jd1_gpio;
36 /* jd2 and jd3 can select 0 ~ 3 as
37 OFF, GPIO4, GPIO5 and GPIO6 respectively */
38 unsigned int jd2_gpio;
39 unsigned int jd3_gpio;
Oder Chiou277880a2015-01-08 10:31:06 +080040
41 /* Set MICBIAS1 VDD 1v8 or 3v3 */
42 bool micbias1_vdd_3v3;
Oder Chiou0e826e82014-05-26 20:32:33 +080043};
44
45#endif