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.

TMDSEVM572X: Disabling IPU subsystems

Guru 16800 points

Part Number: TMDSEVM572X

Hello,

My customers want to disable the Cortex-M4 IPU subsystems on TMDSEVM572X.
Could you tell me the way to do it?
I think device tree can disable the Cortex-M4 IPU subsystems; however, if there is more reasonable way or additional way, please let me know.

Best Regards,
Nomo

  • Hi Nomo,

    Do you use AM57x PSDK v4.03?

    Do you use TI board or custom board?

    How exactly you check/verify that Cortex-M4 IPU is enabled?

    Regards,
    Pavel
  • Hello Pavel-san,

    They use Processor SDK v04.03.00.05 and they use TMDSEVM572X (I filled out the Part Number).
    I don't know how they check/verify that Cortex-M4 IPU is enabled; however, they may want to reduce the power consumption by disabling the unused instances.

    Best Regards,
    Nomo
  • Nomo,

    You can disable IPU from file am57xx-beagle-x15-common.dtsi. In this file you can remove or change t o"disable" the below nodes:

    mbox_ipu1_ipc3x: mbox_ipu1_ipc3x {
    status = "okay";
    };
    mbox_ipu2_ipc3x: mbox_ipu2_ipc3x {
    status = "okay";
    };
    &mmu_ipu1 {
    status = "okay";
    };

    &mmu_ipu2 {
    status = "okay";
    };

    &ipu2 {
    status = "okay";
    memory-region = <&ipu2_cma_pool>;
    mboxes = <&mailbox6 &mbox_ipu2_ipc3x>;
    timers = <&timer3>;
    watchdog-timers = <&timer4>, <&timer9>;
    };

    &ipu1 {
    status = "okay";
    memory-region = <&ipu1_cma_pool>;
    mboxes = <&mailbox5 &mbox_ipu1_ipc3x>;
    timers = <&timer11>;
    watchdog-timers = <&timer7>, <&timer8>;
    };

    ipu2_cma_pool: ipu2_cma@95800000 {
    compatible = "shared-dma-pool";
    reg = <0x0 0x95800000 0x0 0x3800000>;
    reusable;
    status = "okay";
    };

    ipu1_cma_pool: ipu1_cma@9d000000 {
    compatible = "shared-dma-pool";
    reg = <0x0 0x9d000000 0x0 0x2000000>;
    reusable;
    status = "okay";
    };

    IPU power and clock can be monitored/check from the below PRCM registers:

    CM_IPU1_IPU1_CLKCTRL
    CM_IPU2_IPU2_CLKCTRL
    PM_IPU_PWRSTST


    Another approach is NOT to change DTS file, but to remove the IPU firmware at userspace. Refer to the below pointers for details:

    software-dl.ti.com/.../Foundational_Components.html - "Firmware Loading and Unloading" section

    software-dl.ti.com/.../Foundational_Components.html - "Power Management" section

    Regards,
    Pavel
  • Hello Pavel-san,

    Thank you for your gentle support.
    I'll try it.

    Best Regards,
    Nomo