void setup()
{
while(!Serial && millis() < 4000);
delay(2000);
CCM_CCGR2 |= CCM_CCGR2_XBAR1(CCM_CCGR_ON); //turn clock on for xbara1
CORE_PIN2_CONFIG = 0x03; //Select mux mode: ALT3 mux port
CORE_PIN3_CONFIG = 0x03; //0x03=Input Path is determined by functionality,
//0x13 for 1 enabled
CORE_PIN2_PADCONFIG = 0x10B0; //pin pad configuration
CORE_PIN2_PADCONFIG = 0x10B0;
//set as input
IOMUXC_XBAR1_IN04_SELECT_INPUT = 0x01; //set both pins as input
IOMUXC_XBAR1_IN05_SELECT_INPUT = 0x01;
//==========================================================================
/* XBARA_SetSignalsConnection(XBARA1, kXBARA1_InputIomuxXbarIn21, kXBARA1_OutputEnc1PhaseAInput);
* XBARA_SetSignalsConnection(XBARA1, kXBARA1_InputIomuxXbarIn22, kXBARA1_OutputEnc1PhaseBInput);
* XBARA_SetSignalsConnection(XBARA1, kXBARA1_InputIomuxXbarIn23, kXBARA1_OutputEnc1Index);
* These are the SDK settings
* kXBARA1_OutputEnc1PhaseAInput = 66|0x100U, // XBARA1_OUT66 output assigned to ENC1_PHASE_A_INPUT
* kXBARA1_OutputEnc1PhaseBInput = 67|0x100U, // XBARA1_OUT67 output assigned to ENC1_PHASE_B_INPUT
* kXBARA1_OutputEnc1Index = 68|0x100U, // XBARA1_OUT68 output assigned to ENC1_INDEX
* kXBARA1_OutputEnc1Home = 69|0x100U, // XBARA1_OUT69 output assigned to ENC1_HOME
* kXBARA1_OutputEnc1Trigger = 70|0x100U, // XBARA1_OUT70 output assigned to ENC1_TRIGGER
*
* kXBARA1_InputIomuxXbarInout06 = 6|0x100U, // IOMUX_XBAR_INOUT06 output assigned to XBARA1_IN6 input.
* kXBARA1_InputIomuxXbarInout07 = 7|0x100U, // IOMUX_XBAR_INOUT07 output assigned to XBARA1_IN7 input.
* kXBARA1_InputIomuxXbarInout08 = 8|0x100U, // IOMUX_XBAR_INOUT08 output assigned to XBARA1_IN8 input.
*/
xbar_connect(6, 66);
xbar_connect(7, 67);
//========================================================================
//Phase A => pin2
//Phase B => pin3
/* Initialize the ENC module. */
ENC_GetDefaultConfig(&mEncConfigStruct);
ENC_Init(&mEncConfigStruct);
ENC_DoSoftwareLoadInitialPositionValue(); /* Update the position counter with initial value. */
}