mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-05 01:54:09 +08:00
7a25d39657
Commit6c42db30d8
introduced audio support based on alsa ucm profiles taken from the ChromeOS userspace. Both in the kernel as well as alsa they were named (and matched against) ROCKCHIP-I2S. Audio profiles are very much board-specific and hogging the ROCKCHIP-I2S name would make it harder for future boards and also is misleading. For Veyron boards the audio setup is similar over all variants, so VEYRON-I2S is a more suitable name. This rename also was merged into the alsa ucm profile so both userspace and kernel match and the old naming was never released in any alsa or kernel release. Fixes:6c42db30d8
("ARM: dts: rockchip: Add shared file for audio on rk3288-veyron boards") Signed-off-by: Heiko Stuebner <heiko@sntech.de>
102 lines
2.2 KiB
Plaintext
102 lines
2.2 KiB
Plaintext
/*
|
|
* Google Veyron (and derivatives) fragment for the max98090 audio
|
|
* codec and analog headphone jack.
|
|
*
|
|
* Copyright 2016 Google, Inc
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License version 2 as
|
|
* published by the Free Software Foundation.
|
|
*/
|
|
|
|
/ {
|
|
sound {
|
|
compatible = "rockchip,rockchip-audio-max98090";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&mic_det>, <&hp_det>;
|
|
rockchip,model = "VEYRON-I2S";
|
|
rockchip,i2s-controller = <&i2s>;
|
|
rockchip,audio-codec = <&max98090>;
|
|
rockchip,hp-det-gpios = <&gpio6 5 GPIO_ACTIVE_HIGH>;
|
|
rockchip,mic-det-gpios = <&gpio6 11 GPIO_ACTIVE_LOW>;
|
|
rockchip,headset-codec = <&headsetcodec>;
|
|
};
|
|
};
|
|
|
|
&i2c2 {
|
|
max98090: max98090@10 {
|
|
compatible = "maxim,max98090";
|
|
reg = <0x10>;
|
|
interrupt-parent = <&gpio6>;
|
|
interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
|
|
clock-names = "mclk";
|
|
clocks = <&cru SCLK_I2S0_OUT>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&int_codec>;
|
|
};
|
|
};
|
|
|
|
&i2c4 {
|
|
headsetcodec: ts3a227e@3b {
|
|
compatible = "ti,ts3a227e";
|
|
reg = <0x3b>;
|
|
interrupt-parent = <&gpio0>;
|
|
interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&ts3a227e_int_l>;
|
|
ti,micbias = <7>; /* MICBIAS = 2.8V */
|
|
};
|
|
};
|
|
|
|
&i2s {
|
|
status = "okay";
|
|
};
|
|
|
|
&io_domains {
|
|
audio-supply = <&vcc18_codec>;
|
|
};
|
|
|
|
&rk808 {
|
|
vcc10-supply = <&vcc33_sys>;
|
|
|
|
regulators {
|
|
vcc18_codec: LDO_REG6 {
|
|
regulator-name = "vcc18_codec";
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-state-mem {
|
|
regulator-off-in-suspend;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
&pinctrl {
|
|
codec {
|
|
hp_det: hp-det {
|
|
rockchip,pins = <6 5 RK_FUNC_GPIO &pcfg_pull_up>;
|
|
};
|
|
|
|
/*
|
|
* HACK: We're going to _pull down_ this _active low_ interrupt
|
|
* so that it never fires. We don't need this interrupt because
|
|
* we've got a ts3a227e chip but the driver requires it.
|
|
*/
|
|
int_codec: int-codec {
|
|
rockchip,pins = <6 7 RK_FUNC_GPIO &pcfg_pull_down>;
|
|
};
|
|
|
|
mic_det: mic-det {
|
|
rockchip,pins = <6 11 RK_FUNC_GPIO &pcfg_pull_up>;
|
|
};
|
|
};
|
|
|
|
headset {
|
|
ts3a227e_int_l: ts3a227e-int-l {
|
|
rockchip,pins = <0 3 RK_FUNC_GPIO &pcfg_pull_up>;
|
|
};
|
|
};
|
|
};
|