1// SPDX-License-Identifier: GPL-2.0 2/* 3 * Google Veyron (and derivatives) fragment for the max98090 audio 4 * codec and analog headphone jack. 5 * 6 * Copyright 2016 Google, Inc 7 */ 8 9/ { 10 sound { 11 compatible = "rockchip,rockchip-audio-max98090"; 12 pinctrl-names = "default"; 13 pinctrl-0 = <&mic_det>, <&hp_det>; 14 rockchip,model = "VEYRON-I2S"; 15 rockchip,i2s-controller = <&i2s>; 16 rockchip,audio-codec = <&max98090>; 17 rockchip,hp-det-gpios = <&gpio6 RK_PA5 GPIO_ACTIVE_HIGH>; 18 rockchip,mic-det-gpios = <&gpio6 RK_PB3 GPIO_ACTIVE_LOW>; 19 rockchip,headset-codec = <&headsetcodec>; 20 }; 21}; 22 23&i2c2 { 24 max98090: max98090@10 { 25 compatible = "maxim,max98090"; 26 reg = <0x10>; 27 interrupt-parent = <&gpio6>; 28 interrupts = <RK_PA7 IRQ_TYPE_EDGE_FALLING>; 29 clock-names = "mclk"; 30 clocks = <&cru SCLK_I2S0_OUT>; 31 pinctrl-names = "default"; 32 pinctrl-0 = <&int_codec>; 33 }; 34}; 35 36&i2c4 { 37 headsetcodec: ts3a227e@3b { 38 compatible = "ti,ts3a227e"; 39 reg = <0x3b>; 40 interrupt-parent = <&gpio0>; 41 interrupts = <RK_PA3 IRQ_TYPE_LEVEL_LOW>; 42 pinctrl-names = "default"; 43 pinctrl-0 = <&ts3a227e_int_l>; 44 ti,micbias = <7>; /* MICBIAS = 2.8V */ 45 }; 46}; 47 48&i2s { 49 status = "okay"; 50}; 51 52&io_domains { 53 audio-supply = <&vcc18_codec>; 54}; 55 56&rk808 { 57 vcc10-supply = <&vcc33_sys>; 58 59 regulators { 60 vcc18_codec: LDO_REG6 { 61 regulator-name = "vcc18_codec"; 62 regulator-always-on; 63 regulator-boot-on; 64 regulator-min-microvolt = <1800000>; 65 regulator-max-microvolt = <1800000>; 66 regulator-state-mem { 67 regulator-off-in-suspend; 68 }; 69 }; 70 }; 71}; 72 73&pinctrl { 74 codec { 75 hp_det: hp-det { 76 rockchip,pins = <6 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>; 77 }; 78 79 /* 80 * HACK: We're going to _pull down_ this _active low_ interrupt 81 * so that it never fires. We don't need this interrupt because 82 * we've got a ts3a227e chip but the driver requires it. 83 */ 84 int_codec: int-codec { 85 rockchip,pins = <6 RK_PA7 RK_FUNC_GPIO &pcfg_pull_down>; 86 }; 87 88 mic_det: mic-det { 89 rockchip,pins = <6 RK_PB3 RK_FUNC_GPIO &pcfg_pull_up>; 90 }; 91 }; 92 93 headset { 94 ts3a227e_int_l: ts3a227e-int-l { 95 rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>; 96 }; 97 }; 98}; 99