]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
ARM: dts: rockchip: Add support for ES8388 to the Radxa Rock 2
authorRomain Perier <romain.perier@collabora.com>
Fri, 3 Feb 2017 14:38:00 +0000 (15:38 +0100)
committerHeiko Stuebner <heiko@sntech.de>
Mon, 6 Mar 2017 03:45:23 +0000 (04:45 +0100)
This commit adds the DT definition of the es8388 i2c device
found at address 0x10. It also adds the definition for connecting
the Rockchip I2S to the es8388 analog output.

This commit is based on the initial work that was done by Sjoerd Simons
<sjoerd.simons@collabora.com> with some improvements.

Signed-off-by: Romain Perier <romain.perier@collabora.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
arch/arm/boot/dts/rk3288-rock2-som.dtsi
arch/arm/boot/dts/rk3288-rock2-square.dts

index 1c0bbc9b928b1e11b779e2c721967c8ec847bd9b..f0778a46bca9b6edd16fc905a442cb53f651d8e3 100644 (file)
                                regulator-always-on;
                        };
 
-                       vcc_io: REG2 {
+                       vcc_io: vccio_codec: REG2 {
                                regulator-name = "VCC_IO";
                                regulator-min-microvolt = <3300000>;
                                regulator-max-microvolt = <3300000>;
index 96a2e745bb9322a33af765265e4f5554f9d22d2b..fbf11d410c42550704278ec9698edc01b097be77 100644 (file)
                #sound-dai-cells = <0>;
        };
 
+       sound-i2s {
+               compatible = "rockchip,rk3288-hdmi-analog";
+               pinctrl-names = "default";
+               pinctrl-0 = <&phone_ctl>, <&hp_det>;
+               rockchip,audio-codec = <&es8388>;
+               rockchip,hp-det-gpios = <&gpio7 7 GPIO_ACTIVE_HIGH>;
+               rockchip,hp-en-gpios = <&gpio8 0 GPIO_ACTIVE_HIGH>;
+               rockchip,i2s-controller = <&i2s>;
+               rockchip,model = "I2S";
+               rockchip,routing = "Analog", "LOUT2",
+                                  "Analog", "ROUT2";
+       };
+
        sdio_pwrseq: sdio-pwrseq {
                compatible = "mmc-pwrseq-simple";
                clocks = <&hym8563>;
        };
 };
 
+&i2c2 {
+       status = "okay";
+
+       es8388: es8388@10 {
+               compatible = "everest,es8388", "everest,es8328";
+               reg = <0x10>;
+               AVDD-supply = <&vccio_codec>;
+               DVDD-supply = <&vccio_codec>;
+               HPVDD-supply = <&vccio_codec>;
+               PVDD-supply = <&vccio_codec>;
+               clocks = <&cru SCLK_I2S0_OUT>;
+       };
+};
+
 &i2c5 {
        status = "okay";
 };
 
+&i2s {
+       status = "okay";
+};
+
 &pinctrl {
        ir {
                ir_int: ir-int {
                };
        };
 
+       headphone {
+               hp_det: hp-det {
+                       rockchip,pins = <7 7 RK_FUNC_GPIO &pcfg_pull_none>;
+               };
+
+               phone_ctl: phone-ctl {
+                       rockchip,pins = <8 0 RK_FUNC_GPIO &pcfg_pull_up>;
+               };
+       };
+
        usb {
                host_vbus_drv: host-vbus-drv {
                        rockchip,pins = <0 14 RK_FUNC_GPIO &pcfg_pull_none>;