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.

PROCESSOR-SDK-AM57X: AM571x AM570x

Part Number: PROCESSOR-SDK-AM57X
Other Parts Discussed in Thread: AM5718, TPS65916, AM5708, TDA2

Hi,

which processor / pmic combinations are currently / will be supported in processor sdk rtos for AM57x devices?

Digging through the power management code (pm driver) it seems that for example the TPS65916 / AM5708 / AM5718 combinations are currently not supported, although seen from the hardware side the TPS65916 is required for an AM5708.

I'm asking because the TPS65916 allows a higher junction temperature which might be a better pmic for an AM5718 or AM5708.

Can you comment on this please?

Best regards,

Flux.

  • For PMIC seleciton, please refer to the below appnote.

    https://www.ti.com/lit/pdf/sprack1

    SDK includes the PMIC driver for TPS65917 which has the same register set as TPS65916.

    It is not being built for AM57xx but you can use it for your project.

  • Hello Stanley,

    does that mean the SDK’s PM driver will directly recognize a TPS65916 as a valid regulator for AM5708 or AM5718 without any code changes to the PM65817-files?

    I’m asking because of all the OTP registers that might be differently configured like product id registers, etc.

    Best regards,

    Flux.

  • Hi Flux,

    Yes you are right. Though the register layouts are the same the regulators that feed the individual
    voltage domains will be different. If you are using Linux SDK it would mean that you might need to
    do some device tree changes.

    If you looks at: arch/arm/boot/dts/am57xx-idk-common.dtsi

     regulators {
                                    smps12_reg: smps12 {
                                            /* VDD_MPU */
                                            regulator-name = "smps12";
                                            regulator-min-microvolt = <850000>;
                                            regulator-max-microvolt = <1250000>;
                                            regulator-always-on;
                                            regulator-boot-on;
                                    };
                                    smps3_reg: smps3 {
                                            /* VDD_DDR EMIF1 EMIF2 */
                                            regulator-name = "smps3";
                                            regulator-min-microvolt = <1350000>;
                                            regulator-max-microvolt = <1350000>;
                                            regulator-always-on;
                                            regulator-boot-on;
                                    };
    
                                    smps45_reg: smps45 {
                                            /* VDD_DSPEVE on AM572 */
                                            /* VDD_IVA + VDD_DSP on AM571 */
                                            regulator-name = "smps45";
                                            regulator-min-microvolt = <850000>;
                                            regulator-max-microvolt = <1250000>;
                                            regulator-always-on;
                                            regulator-boot-on;
                                    };
    
                                    smps6_reg: smps6 {
                                            /* VDD_GPU */
                                            regulator-name = "smps6";
                                            regulator-min-microvolt = <850000>;
                                            regulator-max-microvolt = <1250000>;
                                            regulator-always-on;
                                            regulator-boot-on;
                                    };
    
                                    smps7_reg: smps7 {
                                            /* VDD_CORE */
                                            regulator-name = "smps7";
                                            regulator-min-microvolt = <850000>;
                                            regulator-max-microvolt = <1150000>;
                                            regulator-always-on;
                                            regulator-boot-on;
                                    };
    

    The mapping of smps to VDD will change and requires DTS changes.

    TPS65917/6 will have some layout like this: arch/arm/boot/dts/dra72-evm-tps65917.dtsi

                    tps65917_regulators: regulators {
                            smps1_reg: smps1 {
                                    /* VDD_MPU */
                                    regulator-name = "smps1";
                                    regulator-min-microvolt = <850000>;
                                    regulator-max-microvolt = <1250000>;
                                    regulator-always-on;
                                    regulator-boot-on;
                            };
    
                            smps2_reg: smps2 {
                                    /* VDD_CORE */
                                    regulator-name = "smps2";
                                    regulator-min-microvolt = <850000>;
                                    regulator-max-microvolt = <1150000>;
                                    regulator-boot-on;
                                    regulator-always-on;
                            };
    
                            smps3_reg: smps3 {
                                    /* VDD_GPU IVA DSPEVE */
                                    regulator-name = "smps3";
                                    regulator-min-microvolt = <850000>;
                                    regulator-max-microvolt = <1250000>;
                                    regulator-boot-on;
                                    regulator-always-on;
                            };
    
                            smps4_reg: smps4 {
                                    /* VDDS1V8 */
                                    regulator-name = "smps4";
                                    regulator-min-microvolt = <1800000>;
                                    regulator-max-microvolt = <1800000>;
                                    regulator-always-on;
                                    regulator-boot-on;
                            };
    
                            smps5_reg: smps5 {
                                    /* VDD_DDR */
                                    regulator-name = "smps5";
                                                                                        

    Hope this clarifies your question.

    Best Regards,
    Keerthy

  • Hello Keerthy,

     thanks for the feedback. But, actually we’re using RTOS.

     And to be honest, I’m a bit confused by all the different industrial and automotive versions of the PMICs and processors, which under the hood are all almost the same, but differently configured, qualified and labeled. It’s easy to miss a detail here.

     So, the question is: Is it possible to use an AM5718 and TPS659162 in combination with RTOS? Will that work out of the box using the TPS65917 RTOS driver?

     Best regards,

    Flux.

  • Hi,

    Unfortunately, in AM5718 SDK, TPS65917 PMIC driver is not used by default since it is not what is on AM57x EVM.

    We have not tested RTOS/baremetal TPS65917 PMIC driver in PDK on AM5718 with TPS65916.

    However, you should be able to reuse most of code if not all. Difference in OTP registers would not impact the driver implementation.

    Regards,
    Stanley

  • Hi Stanley,

    thank you. What processor / pmic combinations have been used to test the RTOS-TPS65917 driver ?

    As a reference that would be helpful to know.

    Best regards,

    Flux.

  • Hi

    The PMIC driver is used on TDA2 and DRA7 EVMs.

    Regards,
    Stanley