Firefly Open Source Community

Title: Power management issues with Yocto on Firefly-RK3288 Reload [Print This Page]

Author: kiwor    Time: 7/20/2017 20:57
Title: Power management issues with Yocto on Firefly-RK3288 Reload
Last edited by kiwor In 7/20/2017 21:00 Editor

Hi !

I have built a tiny linux with Yocto (kernel rockhip_linux v4.4) and added a node for the codec es8388 and another for the rockhip_hdmi_analog driver in rk3288-firefly.dtsi. But during the boot, communications with the codec on the I2C2 end with a timeout 'rk3x-i2c ff660000.i2c: timeout, ipd: 0x00, state: 1'.  
Then I measured the voltage on the codec's pins and it appeared that it is not powered.
I didn't change anything in the dtsi concerning the PMU...

Here are the changes I made in the dtsi file :

.
.
.
sound0: sound@0 {
                compatible = "simple-audio-card";
                simple-audio-card,name = "SPDIF";
                simple-audio-card,dai-link@1 {
                        cpu { sound-dai = <&spdif>; };
                        codec { sound-dai = <&spdif_out>; };
                };
        };

sound1: sound@1 {
                compatible = "rockchip,rk3288-hdmi-analog";
                rockchip,model = "Analog audio output";
                rockchip,i2s-controller = <&i2s>;
                rockchip,audio-codec = <&codec>;
                rockchip,routing = "Analog", "LOUT2",
                                   "Analog", "ROUT2";
                rockchip,hp-det-gpios = <&gpio7 15 GPIO_ACTIVE_HIGH>;
                rockchip,hp-en-gpios = <&gpio0 10 GPIO_ACTIVE_HIGH>;
                pinctrl-names = "default";
                pinctrl-0 = <&phone_ctl>, <&hp_det>;
        };

spdif_out: spdif-out {
                compatible = "linux,spdif-dit";
                #sound-dai-cells = <0>;
        };
.
.
.

&i2c2 {
    status = "okay";

    codec: es8328@10 {
        compatible = "everest,es8328";
        DVDD-supply = <&vcca_33>;
        AVDD-supply = <&vcca_33>;
        PVDD-supply = <&vcca_33>;
        HPVDD-supply = <&vcca_33>;
        clocks = <&cru HCLK_I2S0>, <&cru SCLK_I2S0>;
        clock-names = "i2s_hclk", "i2s_clk";
        reg = <0x10>;
    };
/*
    codec: es8323@10 {
        compatible = "everest,es8323";
        reg = <0x10>;
        spk-con-gpio = <&gpio0 RK_PB2 GPIO_ACTIVE_HIGH>;
        hp-det-gpio = <&gpio7 RK_PB7 GPIO_ACTIVE_HIGH>;
        hp-mic-only = <1>;
        clocks = <&cru HCLK_I2S0>, <&cru SCLK_I2S0>;
        clock-names = "i2s_hclk", "i2s_clk";
        pinctrl-names = "default";
    };
*/

};
What did I do wrong ? Did someone manage to have audio working with yocto on this board ?

Any help would be appreciated !

Author: isle    Time: 7/21/2017 09:21
es8388 on reload board?
Author: kiwor    Time: 7/21/2017 20:35
Yes, I thought it was an es8323 but there is "ES8388" written on the chip.
Author: kiwor    Time: 7/21/2017 23:06
I found that the node for the ACT8846 in the DTSI did not match the datasheet of the reload core board. So I changed it to :

     act8846: act8846@5a {
                compatible = "active-semi,act8846";
                reg = <0x5a>;
                pinctrl-names = "default";
                pinctrl-0 = <&pmic_vsel>, <&pwr_hold>;
                system-power-controller;

                vp1-supply = <&vcc_sys>;
                vp2-supply = <&vcc_sys>;
                vp3-supply = <&vcc_sys>;
                vp4-supply = <&vcc_sys>;
                inl1-supply = <&vcc_sys>;
                inl2-supply = <&vcc_sys>;
                inl3-supply = <&vcc_20>;

                regulators {
                        vcc_ddr: REG1 {
                                regulator-name = "vcc_ddr";
                                regulator-min-microvolt = <1200000>;
                                regulator-max-microvolt = <1200000>;
                                regulator-always-on;
                        };

                        vcc_io: REG2 {
                                regulator-name = "vcc_io";
                                regulator-min-microvolt = <3300000>;
                                regulator-max-microvolt = <3300000>;
                                regulator-always-on;
                        };

                        vdd_log: REG3 {
                                regulator-name = "vdd_log";
                                regulator-min-microvolt = <1100000>;
                                regulator-max-microvolt = <1100000>;
                                regulator-always-on;
                        };

                        vcc_20: REG4 {
                                regulator-name = "vcc_20";
                                regulator-min-microvolt = <2000000>;
                                regulator-max-microvolt = <2000000>;
                                regulator-always-on;
                        };

                        vccio_sd: REG5 {
                                regulator-name = "vccio_sd";
                                regulator-min-microvolt = <3300000>;
                                regulator-max-microvolt = <3300000>;
                                regulator-always-on;
                        };

                        vdd10_lcd: REG6 {
                                regulator-name = "vdd10_lcd";
                                regulator-min-microvolt = <1000000>;
                                regulator-max-microvolt = <1000000>;
                                regulator-always-on;
                        };

                        vcca_33: REG7 {
                                regulator-name = "vcca_33";
                                regulator-min-microvolt = <3300000>;
                                regulator-max-microvolt = <3300000>;
                                regulator-always-on;
                        };

                        vcc_lan: REG8 {
                                regulator-name = "vcc_lan";
                                regulator-min-microvolt = <3300000>;
                                regulator-max-microvolt = <3300000>;
                                regulator-always-on;
                        };

                        vccio_pmu: REG9 {
                                regulator-name = "vcca_18";
                                regulator-min-microvolt = <1800000>;
                                regulator-max-microvolt = <1800000>;
                        };


                        vdd_10: REG10 {
                                regulator-name = "vdd_10";
                                regulator-min-microvolt = <1000000>;
                                regulator-max-microvolt = <1000000>;
                                regulator-always-on;
                        };

                        vccio_wl: vcc_18: REG11 {
                                regulator-name = "vcc_18";
                                regulator-min-microvolt = <1800000>;
                                regulator-max-microvolt = <1800000>;
                                regulator-always-on;
                        };

                        vcc18_lcd: REG12 {
                                regulator-name = "vcc18_lcd";
                                regulator-min-microvolt = <1800000>;
                                regulator-max-microvolt = <1800000>;
                                regulator-always-on;
                        };
                };
        };

Now, I have the correct voltage on the codec's pins... but still no audio
Author: isle    Time: 7/22/2017 09:36
Hi, I have checked with my workmate, Yes,  the es8323 and es8388  can both  work fine with the same software. you need modify nothing.
does it have the audio when flash the android image.

Author: kiwor    Time: 7/24/2017 14:50
I do have audio with the android image.
Does it means that I have to use original drivers : compatible es8323 for the codec, and compatible rk3368-hdmi-analog for the hdmi/audio codec driver  ?
Author: jamesha539    Time: 1/12/2026 01:59
我們的NewDumps是一個為多種IT認證考試的人提供準確的考試材料的專業網站。我們的NewDumps是一個可以為很多IT人士提升自己的職業目標。我們的IT精英團隊的力量會讓你難以置信。你可以先嘗試我們NewDumps為你們提供的免費下載關於WGU Managing-Cloud-Security認證考試的部分考題及答案來測我們的可靠性。
Author: ianreed882    Time: 1/18/2026 14:55
That article was incredibly enriching and thoughtful. With this QSSA2021 new study guide ebook, I earned my promotion and salary boost. It’s free for everyone now. Wishing you all success in your career advancement!
Author: seantho119    Time: 1/20/2026 02:29
Your article had such an impact on me, thank you for sharing it. The 250-587 valid test prep exam questions are crucial for promotion and salary growth—get them for free!
Author: graceha921    Time: 1/21/2026 16:17
I’m absolutely sold on this content, liking it now. Sending positive vibes for the Latest C_THR70_2505 exam topics pdf exam – wish me luck!
Author: scottry488    Time: 2/1/2026 04:09
Thank you for sharing such an insightful and uplifting article! The New SC-900 exam camp pdf helped me secure a promotion and raise. Now it’s free to everyone. Wishing you all a bright future in your careers!




Welcome Firefly Open Source Community (https://bbs.t-firefly.com/) Powered by Discuz! X3.1