<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: How to properly change input capture configuration from TPM2_CH0 to TPM3_CH2 in i.MX93 SDK examp in MCX Microcontrollers</title>
    <link>https://community.nxp.com/t5/MCX-Microcontrollers/How-to-properly-change-input-capture-configuration-from-TPM2-CH0/m-p/2133485#M3545</link>
    <description>&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/203368"&gt;@Manuel_Salas&lt;/a&gt;&lt;BR /&gt;Thank you for your response &lt;LI-EMOJI id="lia_thumbs-up" title=":thumbs_up:"&gt;&lt;/LI-EMOJI&gt;&lt;LI-EMOJI id="lia_smiling-face-with-smiling-eyes" title=":smiling_face_with_smiling_eyes:"&gt;&lt;/LI-EMOJI&gt;</description>
    <pubDate>Mon, 14 Jul 2025 17:53:58 GMT</pubDate>
    <dc:creator>Manjunathb</dc:creator>
    <dc:date>2025-07-14T17:53:58Z</dc:date>
    <item>
      <title>How to properly change input capture configuration from TPM2_CH0 to TPM3_CH2 in i.MX93 SDK example?</title>
      <link>https://community.nxp.com/t5/MCX-Microcontrollers/How-to-properly-change-input-capture-configuration-from-TPM2-CH0/m-p/2133361#M3543</link>
      <description>&lt;P&gt;Hello NXP Community,&lt;/P&gt;&lt;P&gt;I'm working on the &lt;STRONG&gt;input capture demo example&lt;/STRONG&gt; from the MCUXpresso SDK for &lt;STRONG&gt;i.MX93&lt;/STRONG&gt;. By default, the example uses &lt;STRONG&gt;TPM2 Channel 0 (TPM2_CH0)&lt;/STRONG&gt; for input capture. I would like to switch this to use &lt;STRONG&gt;TPM3 Channel 2 (TPM3_CH2)&lt;/STRONG&gt; instead.&lt;/P&gt;&lt;P&gt;Could you please clarify what all changes need to be made in the SDK code and configuration files to successfully switch the input capture source from TPM2_CH0 to TPM3_CH2?&lt;/P&gt;&lt;P&gt;Here’s what I’ve identified so far:&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;Update DEMO_TPM_BASEADDR&lt;/STRONG&gt; from TPM2 to TPM3.&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;Update BOARD_TPM_INPUT_CAPTURE_CHANNEL&lt;/STRONG&gt; from kTPM_Chnl_0 to kTPM_Chnl_2.&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;Change the IRQ handler&lt;/STRONG&gt; from TPM2_IRQHandler to TPM3_IRQHandler.&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;Update TPM_INTERRUPT_NUMBER&lt;/STRONG&gt; accordingly.&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;Pin Muxing&lt;/STRONG&gt;: I believe the pin for TPM3_CH2 needs to be correctly muxed via IOMUXC. What pin should I use on the i.MX93 EVK or custom board for TPM3_CH2 input?&lt;/P&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;Are there any &lt;STRONG&gt;additional steps&lt;/STRONG&gt;, especially related to:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;P&gt;Clock source setup for TPM3?&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;Enabling TPM3 module in RDC or CCM?&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;Input signal routing (XBAR or SAI to TPM)?&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;Anything specific to i.MX93 SoC or SDK behavior?&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;Any guidance, especially with respect to clock trees and signal routing for TPM3_CH2, would be highly appreciated.&lt;/P&gt;&lt;P&gt;Thank you!&lt;/P&gt;&lt;P&gt;&lt;LI-PRODUCT title="i.MX93EVK" id="i.MX93EVK"&gt;&lt;/LI-PRODUCT&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 14 Jul 2025 13:40:33 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCX-Microcontrollers/How-to-properly-change-input-capture-configuration-from-TPM2-CH0/m-p/2133361#M3543</guid>
      <dc:creator>Manjunathb</dc:creator>
      <dc:date>2025-07-14T13:40:33Z</dc:date>
    </item>
    <item>
      <title>Re: How to properly change input capture configuration from TPM2_CH0 to TPM3_CH2 in i.MX93 SDK examp</title>
      <link>https://community.nxp.com/t5/MCX-Microcontrollers/How-to-properly-change-input-capture-configuration-from-TPM2-CH0/m-p/2133480#M3544</link>
      <description>&lt;P&gt;Hello&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/252048"&gt;@Manjunathb&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I hope you are doing very well.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I am not sure what SDK version are you using. I tested with the&amp;nbsp;SDK_25_03_00_MCIMX93-EVK.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The changes are:&lt;/P&gt;
&lt;P&gt;app.h&lt;/P&gt;
&lt;LI-CODE lang="c"&gt;/*
 * Copyright 2022 NXP
 *
 * SPDX-License-Identifier: BSD-3-Clause
 */
#ifndef _APP_H_
#define _APP_H_

/*******************************************************************************
 * Definitions
 ******************************************************************************/
/*${macro:start}*/
/* define instance */
#define DEMO_TPM_BASEADDR TPM3

/* Interrupt to enable and flag to read; depends on the TPM channel used */
#define BOARD_TPM_INPUT_CAPTURE_CHANNEL kTPM_Chnl_2

/* Interrupt to enable and flag to read; depends on the TPM channel used */
#define TPM_CHANNEL_INTERRUPT_ENABLE kTPM_Chnl2InterruptEnable
#define TPM_CHANNEL_FLAG             kTPM_Chnl2Flag

/* Interrupt number and interrupt handler for the TPM instance used */
#define TPM_INTERRUPT_NUMBER      TPM3_IRQn
#define TPM_INPUT_CAPTURE_HANDLER TPM3_IRQHandler

/* Get source clock for TPM driver */
#define LPTPM_CLOCK_ROOT kCLOCK_Root_Tpm3
#define LPTPM_CLOCK_GATE kCLOCK_Tpm3
#define TPM_SOURCE_CLOCK CLOCK_GetIpFreq(LPTPM_CLOCK_ROOT)
/*${macro:end}*/


//#define WAKEUP kCLOCK_Root_BusWakeup

/*******************************************************************************
 * Prototypes
 ******************************************************************************/
/*${prototype:start}*/
void BOARD_InitHardware(void);
/*${prototype:end}*/

#endif /* _APP_H_ */
&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;pin_mux.c&lt;/P&gt;
&lt;LI-CODE lang="c"&gt;void BOARD_InitPins(void) {                                /*!&amp;lt; Function assigned for the core: undefined[cm33] */
    IOMUXC_SetPinMux(IOMUXC_PAD_GPIO_IO12__TPM3_CH2, 0U);
    IOMUXC_SetPinMux(IOMUXC_PAD_UART2_RXD__LPUART2_RX, 0U);
    IOMUXC_SetPinMux(IOMUXC_PAD_UART2_TXD__LPUART2_TX, 0U);

    IOMUXC_SetPinConfig(IOMUXC_PAD_GPIO_IO12__TPM3_CH2, 
                        IOMUXC_PAD_DSE(15U));
    IOMUXC_SetPinConfig(IOMUXC_PAD_UART2_RXD__LPUART2_RX, 
                        IOMUXC_PAD_PD_MASK);
    IOMUXC_SetPinConfig(IOMUXC_PAD_UART2_TXD__LPUART2_TX, 
                        IOMUXC_PAD_DSE(15U));
}&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;According to the reference manual, the Pad that you must set to use as TPM3_CH2 is&amp;nbsp;GPIO_IO12:&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Manuel_Salas_0-1752515169161.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/347460i13B90BAC2556BD16/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Manuel_Salas_0-1752515169161.png" alt="Manuel_Salas_0-1752515169161.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;That pad is exposed in the J1001 in EVK:&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Manuel_Salas_1-1752515241066.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/347461i9A82E77F3C710846/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Manuel_Salas_1-1752515241066.png" alt="Manuel_Salas_1-1752515241066.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best regards,&lt;/P&gt;
&lt;P&gt;Salas.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 14 Jul 2025 17:48:16 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCX-Microcontrollers/How-to-properly-change-input-capture-configuration-from-TPM2-CH0/m-p/2133480#M3544</guid>
      <dc:creator>Manuel_Salas</dc:creator>
      <dc:date>2025-07-14T17:48:16Z</dc:date>
    </item>
    <item>
      <title>Re: How to properly change input capture configuration from TPM2_CH0 to TPM3_CH2 in i.MX93 SDK examp</title>
      <link>https://community.nxp.com/t5/MCX-Microcontrollers/How-to-properly-change-input-capture-configuration-from-TPM2-CH0/m-p/2133485#M3545</link>
      <description>&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/203368"&gt;@Manuel_Salas&lt;/a&gt;&lt;BR /&gt;Thank you for your response &lt;LI-EMOJI id="lia_thumbs-up" title=":thumbs_up:"&gt;&lt;/LI-EMOJI&gt;&lt;LI-EMOJI id="lia_smiling-face-with-smiling-eyes" title=":smiling_face_with_smiling_eyes:"&gt;&lt;/LI-EMOJI&gt;</description>
      <pubDate>Mon, 14 Jul 2025 17:53:58 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCX-Microcontrollers/How-to-properly-change-input-capture-configuration-from-TPM2-CH0/m-p/2133485#M3545</guid>
      <dc:creator>Manjunathb</dc:creator>
      <dc:date>2025-07-14T17:53:58Z</dc:date>
    </item>
  </channel>
</rss>

