<?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 Enabling KBIP(Keyboard Interrupt pins) alternate functionality in MCF51JE256 in ColdFire/68K Microcontrollers and Processors</title>
    <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/Enabling-KBIP-Keyboard-Interrupt-pins-alternate-functionality-in/m-p/167016#M5861</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have a question on coldfire MCF51JE256 on configuring alternate function for GPIO pins.&lt;/P&gt;&lt;P&gt;MCF51JE256 Reference Manual does not describe on how to configure it.Does anyone has sample code for configuring alternate function as KBIP(Keyboard Interrupt)&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 07 Nov 2012 12:49:58 GMT</pubDate>
    <dc:creator>vani</dc:creator>
    <dc:date>2012-11-07T12:49:58Z</dc:date>
    <item>
      <title>Enabling KBIP(Keyboard Interrupt pins) alternate functionality in MCF51JE256</title>
      <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/Enabling-KBIP-Keyboard-Interrupt-pins-alternate-functionality-in/m-p/167016#M5861</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have a question on coldfire MCF51JE256 on configuring alternate function for GPIO pins.&lt;/P&gt;&lt;P&gt;MCF51JE256 Reference Manual does not describe on how to configure it.Does anyone has sample code for configuring alternate function as KBIP(Keyboard Interrupt)&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 07 Nov 2012 12:49:58 GMT</pubDate>
      <guid>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/Enabling-KBIP-Keyboard-Interrupt-pins-alternate-functionality-in/m-p/167016#M5861</guid>
      <dc:creator>vani</dc:creator>
      <dc:date>2012-11-07T12:49:58Z</dc:date>
    </item>
    <item>
      <title>Re: Enabling KBIP(Keyboard Interrupt pins) alternate functionality in MCF51JE256</title>
      <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/Enabling-KBIP-Keyboard-Interrupt-pins-alternate-functionality-in/m-p/167017#M5862</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'm pretty sure this question has been asked before in this forum, and I'm pretty sure I answered it. But I can't find that previous article, and is Forum's "Search" function keeps popping up red bars, so I can't find it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Other chips (MCF53xx and others) have explicit registers for selecting pin functions. I assume that's what you're looking for in this manual as that's what I'm looking for too.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Table 2.1 lists the Package Pin Assignments.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;At the top of that section it says:&lt;/P&gt;&lt;PRE&gt;MCF51JE256/128 uses the HCS08 style of pin muxing to be Flexis-compatible.
The pin defaults as GPIO and the alternate functions follow a priority
where ALT3 has the highest priority.
&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For anyone fully immersed in the history of the HCS08 would know exactly what that means. That's not me or you, so it is a "secret code" we have to crack in order to understand this part.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The "simple answer" is to read the entire Reference Manual, Data Sheet and all Errata from cover to cover and then read a selection of "prior history", meaning relevant older manuals. In this case you should read a few HCS08 and/or Flexis manuals to try and work out what the above code means.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But searching in this manual also finds ...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;2.6.12 General-Purpose I/O and Peripheral Ports
When a port pin is configured as a general-purpose output or a peripheral
uses the port pin ...
When an &lt;STRONG&gt;on-chip peripheral system is controlling a p&lt;/STRONG&gt;in, ...
For information about controlling these pins as general-purpose I/O pins,
see Chapter 6, “Parallel Input/Output Control.” ...
&lt;/PRE&gt;&lt;P&gt;So follow the link in the above to:&lt;/P&gt;&lt;PRE&gt;Chapter 6
Parallel Input/Output Control

Many port pins are shared with on-chip peripherals such as time systems,
communication&amp;nbsp; systems, or keyboard interrupts as shown in Figure 1-1.
The peripheral modules&amp;nbsp; have priority over the general-purpose I/O
functions so that&amp;nbsp; &lt;STRONG&gt;when a peripheral is enabled, the I/O functions&lt;/STRONG&gt;
&lt;STRONG&gt;associated with the shared pins may be disabled&lt;/STRONG&gt;. 
After reset, the shared peripheral functions are disabled and the pins are 
configured as inputs
&lt;/PRE&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;So it looks like you select an alternate function by enabling the relevant peripheral. If you turn all of them on then "the highest one wins".&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;I guess that's how the older (HCS08 and prior) parts worked as well. The designers were probably trying to save silicon and limit the number of control registers, so having this pin control be "automatic" did that and simplified the programming.&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;If you look at something like the ADC, there are three "APCTL" registers that define whether the GPIO pin is now only an ADC pin or whether the GPIO still works. &lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;To enable the KBIP functions you just set the interrupt enable bits. The pins probably keep working as GPIOs as well.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;Tom&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 29 Oct 2020 09:14:28 GMT</pubDate>
      <guid>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/Enabling-KBIP-Keyboard-Interrupt-pins-alternate-functionality-in/m-p/167017#M5862</guid>
      <dc:creator>TomE</dc:creator>
      <dc:date>2020-10-29T09:14:28Z</dc:date>
    </item>
  </channel>
</rss>

