This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Linux/BEAGLEBK: Configure aic3106 in devicetree fails, warning "using dummy regulator"?

Part Number: BEAGLEBK
Other Parts Discussed in Thread: TPS65910, TPS65217, TLV320AIC3106

Tool/software: Linux

We use make a develop board, based on BeagleBone Black's hardware. We add a aic3106. We have problem on configure aic3106 node in devicetree.

Our aic3106 node configuration is similiar to am335x evm:

&i2c1{
    pinctrl-names = "default";
    pinctrl-0 = <&myi2c1_pins_default>;
    status = "okay";

    clock-frequency = <100000>;

    tlv320aic3106: tlv320aic3106@1b {
            #sound-dai-cells = <0>;
            compatible = "ti,tlv320aic3106";
            reg = <0x1b>;
            status = "okay";
    };
};

But at linux startup, it print these:

[   22.325608] 1-001b supply IOVDD not found, using dummy regulator
[   22.325700] 1-001b supply DVDD not found, using dummy regulator
[   22.325767] 1-001b supply AVDD not found, using dummy regulator
[   22.325829] 1-001b supply DRVDD not found, using dummy regulator
[   22.684430] tda998x 0-0070: found TDA19988
[   22.694103] tilcdc 4830e000.lcdc: bound 0-0070 (ops tda998x_ops [tda998x])
[   22.694551] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[   22.694566] [drm] No driver support for vblank timestamp query.
[   22.695065] tilcdc 4830e000.lcdc: No connectors reported connected with modes
[   22.695095] [drm] Cannot find any crtc or sizes - going 1024x768
[   22.910334] Console: switching to colour frame buffer device 128x48
[   23.050278] tilcdc 4830e000.lcdc: fb0:  frame buffer device
[   23.050327] [drm] Initialized tilcdc 1.0.0 20121205 on minor 0
[   23.063003] omap_rng 48310000.rng: OMAP Random Number Generator ver. 20
[   24.736640] omap-sham 53100000.sham: hw accel on OMAP rev 4.3
[   24.872303] omap-aes 53500000.aes: OMAP AES hw accel rev: 3.2
[   25.599729] asoc-simple-card sound: tlv320aic3x-hifi <-> 4803c000.mcasp mapping ok

As it shows, linux didnot get the right configuration of these :

IOVDD
DVDD
AVDD
DRVDD

Because I didnot know how to configure these.As in am335x evm's devicetree, it configure like these:

tlv320aic3106: tlv320aic3106@1b {
    #sound-dai-cells = <0>;
    compatible = "ti,tlv320aic3106";
    reg = <0x1b>;
    status = "okay";

    /* Regulators */
    AVDD-supply = <&vaux2_reg>;
    IOVDD-supply = <&vaux2_reg>;
    DRVDD-supply = <&vaux2_reg>;
    DVDD-supply = <&vbat>;
};
vaux2_reg: regulator@10 {
    regulator-always-on;
};

vbat: fixedregulator0 {
    compatible = "regulator-fixed";
    regulator-name = "vbat";
    regulator-min-microvolt = <5000000>;
    regulator-max-microvolt = <5000000>;
    regulator-boot-on;
};

 I've idea about regulator configuration in beaglebone with aic3106, How to configure regulators in devicetree?

Thanks.

  • Hi Hao,

    Do you use AM335x TI PSDK Linux v6 (kernel v4.14.79)?

    For DTS file guide, you can refer to the below txt file:

    linux-kernel/Documentation/devicetree/bindings/sound/tlv320aic3x.txt

    linux-kernel/Documentation/devicetree/bindings/mfd/tps65910.txt



    You can refer to the below DTS files for examples:

    linux-kernel/arch/arm/boot/dts/am335x-wega.dtsi

    linux-kernel/arch/arm/boot/dts/am335x-pepper.dts

    linux-kernel/arch/arm/boot/dts/am437x-gp-evm.dts

    linux-kernel/arch/arm/boot/dts/am437x-sk-evm.dts

    Regards,
    Pavel

  • Thanks for your advise. I'm working on rt sdk 05.03

    I have some questions on regulators. Does regulators configuration in devicetree has relationship with hardware?And what's there function ?

    What does  IOVDD , DVDD ,AVDD ,DRVDD used for ?And how does these looks like in PCB ?

    And aic3106 node in am335x-pepper.dts didnot configure IOVDD , DVDD ,AVDD ,DRVDD,while others have configured, what's the different?

  • Hao,

    This code is specific for AM335x EVM/SK board, which use TPS65910 PMIC.

    TPS65910 PMIC VAUX2 regulator is power source for AM335x VDDSHV6 power rail, 3.3V. AM335x VDDSHV6 power rail is the power supply for AM335x McASP pins, which are connected to AIC3106 codec (IOVDD).

    am335x pepper board is using TPS65217 ldo3 regulator (3.3V) to power supply AIC3106 IOVDD, while am335x evm/sk boards are using TPS65910 VAUX2 regulator (3.3V).

    audio_codec: tlv320aic3106@1b {
            compatible = "ti,tlv320aic3106";
            reg = <0x1b>;
            ai3x-micbias-vg = <0x2>;
        };

    /* Audio */
    &audio_codec {
        status = "okay";

        gpio-reset = <&gpio1 16 GPIO_ACTIVE_LOW>;
        AVDD-supply = <&ldo3_reg>;
        IOVDD-supply = <&ldo3_reg>;
        DRVDD-supply = <&ldo3_reg>;
        DVDD-supply = <&dcdc1_reg>;
    };

    /include/ "tps65217.dtsi"

    &tps {

    regulators {

    ldo3_reg: regulator@5 {
                /* VDD_3V3A 3.3V rail */
                regulator-name = "vdd_3v3a";
                regulator-min-microvolt = <3300000>;
                regulator-max-microvolt = <3300000>;
            };

  • Got it.

    And I've another question. Our VADD_DAC comes from Vdd_3v3, and vdd_3v3 comes from a TL5209R, and vdd_3v3aux(it's VLDO2) is the income of TL5209R. Should I directly set AVDD-supply to vldo2?

    AVDD-supply = <&ldo2_reg>;

  • Hao,

    In this forum (Processors forum) we can help for questions related to Sitara AM335x device (HW and SW). While your latest questions seems to be related to Audio codec and/or PMIC. Thus I would suggest you:

     - for questions specific to TI audio codecs, you can ask/post in the Audio forum:

    - for question related to TI PMIC chips, you can ask/post in the Power management forum:

    If you have any questions related to Sitara AM335x device, please let me know.

    Regards,
    Pavel