GPIO Mux Disconnect

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

GPIO Mux Disconnect

442 Views
petertwiss
Contributor III

Hello,

I currently disconnect a GPIO from my system (KL15) by turning it into an input, but this is sort of fake. I wish to disconnect an GPIO completely but Processor Expert (PE) does not give you this capability.

pastedImage_0.png

The pins shown are what I am using. The 'Pin Disable' which is likely Default (doesn't really match but likely what they mean). a disconnect unless the pin is used for analog, which in my case it is. However ALT2, ALT5, ALT6, and ALT7 are unused. Does this mean if I set the PinMux to these nodes I will be officially disconnected? This is my first question.

2nd question is the picture below. PE does not have a control for this functionality, and why not? If I dig deep enough in the driver I can see the code, but is there a different/easier/more elegant way than editing or developing my own code?

pastedImage_1.png

Also, I'd like to politely ask the support people to please carefully read my question and answer exactly what I ask for. It seems the evening teams (US late evening responses) will reply and throw information that is similar in nature, but never actually addresses the exact question asked. If you do not understand or do not have an exact answer, please do not reply as this adds confusion to others who will read this post in the future.

Thanks for understanding, and thanks for the support,

-Peter

0 Kudos
1 Reply

337 Views
Jorge_Gonzalez
NXP Employee
NXP Employee

Hello Peter Twiss:

Thank you for posting this discussion. See below my answers:

1) The empty MUX options should not be used and as shown in your first picture this could have an undefined behavior:

pastedImage_0.png

2) You are right, unfortunately PEx does not have any API to disable pins or return to their analog function. But it is probably not required, this can be done with a simple call to one of the PDD layer macros, like next:

/* Disabling pin PTE20 */

PORT_PDD_SetPinMuxControl(PORTE_BASE_PTR, 20, PORT_PDD_MUX_CONTROL_DISABLE);

I hope this helps.


Best Regards!
Jorge Gonzalez

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos