<?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>i.MX ProcessorsのトピックAndroid Buttons - IOMUX - safeMode</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/Android-Buttons-IOMUX-safeMode/m-p/240936#M19964</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello everybody,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am now working on the BD-SL-i.MX6.&lt;/P&gt;&lt;P&gt;I need to use the GPIO_19 PAD for another use than KEY_VOLUME_DOWN and that is why I changed the IOMUX config of this pad in the kernel (arch/arm/mach-mx6/pads-mx6_sabrelite.h).&lt;BR /&gt;Since then Android start on Safe Mode and I haven't since yet something useful in the logcat. Moreover, according to the Android Compatibility Definition for ICS/4.0.4, VOLUME DOWN key is not mandatory.&lt;BR /&gt;So I decided to move the VOLUME DOWN function to another GPIO on another PAD. I chose :&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;MX6PAD(EIM_A24__GPIO_5_4),&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt; /* GPIO5[4] - unused */&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;And in arch/arm/mach-mx6/board-mx6q_sabrelite.c I've done :&lt;/P&gt;&lt;P&gt;-#define MX6_SABRELITE_VOL_DOWN_KEY&amp;nbsp;&amp;nbsp;&amp;nbsp; IMX_GPIO_NR(4, 5)&lt;/P&gt;&lt;P&gt;+//#define MX6_SABRELITE_VOL_DOWN_KEY&amp;nbsp;&amp;nbsp;&amp;nbsp; IMX_GPIO_NR(4, 5)&lt;/P&gt;&lt;P&gt;+#define MX6_SABRELITE_VOL_DOWN_KEY&amp;nbsp;&amp;nbsp;&amp;nbsp; IMX_GPIO_NR(5, 4)&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;Eventually there is a need for PAD control in arch/arm/plat-mxc/include/mach/iomux-mx6q.h (although for the original GPIO_19 there is no control) :&lt;/P&gt;&lt;P&gt;+#define MX6Q_EIM_24_PAD_CTRL PAD_CTL_PUS_47K_UP&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt; #define&amp;nbsp; MX6Q_PAD_EIM_A24__GPIO_5_4&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt; \&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;-&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt; (_MX6Q_PAD_EIM_A24__GPIO_5_4 | MUX_PAD_CTRL(NO_PAD_CTRL))&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;+&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt; (_MX6Q_PAD_EIM_A24__GPIO_5_4 | MUX_PAD_CTRL(MX6Q_EIM_24_PAD_CTRL)&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Then Android STILL boot in Safe Mode.&lt;/P&gt;&lt;P&gt;I wonder how Android can be aware that the VOLUME_DOWN is linked on another PADS...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I looked into U-boot configuration and I changed&amp;nbsp; : board/boundary/nitrogen6x/nitrogen6x.c&lt;/P&gt;&lt;P&gt;@@ -228,7 +228,8 @@ static iomux_v3_cfg_t const button_pads[] = {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Home */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MX6_PAD_NANDF_D4__GPIO_2_4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | MUX_PAD_CTRL(BUTTON_PAD_CTRL),&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Volume Down */&lt;BR /&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MX6_PAD_GPIO_19__GPIO_4_5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | MUX_PAD_CTRL(BUTTON_PAD_CTRL),&lt;BR /&gt;+//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MX6_PAD_GPIO_19__GPIO_4_5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | MUX_PAD_CTRL(BUTTON_PAD_CTRL),&lt;BR /&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MX6_PAD_EIM_A24__GPIO_5_4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | MUX_PAD_CTRL(BUTTON_PAD_CTRL),&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But still Safe Mode.&lt;/P&gt;&lt;P&gt;So I looked up in /proc/cmdline but U-boot give nothing to the kernel about GPIO-keys&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am quite lost about in which case Android boot into safeMode by itself and how Android "knows" that I changed the IOMUX-ing.m &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I hope I was enough clear about the problem I am encountering,&lt;BR /&gt;Thanks&lt;BR /&gt;Jerome Olivier&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 26 Jun 2013 15:36:35 GMT</pubDate>
    <dc:creator>jeromeolivier</dc:creator>
    <dc:date>2013-06-26T15:36:35Z</dc:date>
    <item>
      <title>Android Buttons - IOMUX - safeMode</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Android-Buttons-IOMUX-safeMode/m-p/240936#M19964</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello everybody,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am now working on the BD-SL-i.MX6.&lt;/P&gt;&lt;P&gt;I need to use the GPIO_19 PAD for another use than KEY_VOLUME_DOWN and that is why I changed the IOMUX config of this pad in the kernel (arch/arm/mach-mx6/pads-mx6_sabrelite.h).&lt;BR /&gt;Since then Android start on Safe Mode and I haven't since yet something useful in the logcat. Moreover, according to the Android Compatibility Definition for ICS/4.0.4, VOLUME DOWN key is not mandatory.&lt;BR /&gt;So I decided to move the VOLUME DOWN function to another GPIO on another PAD. I chose :&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;MX6PAD(EIM_A24__GPIO_5_4),&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt; /* GPIO5[4] - unused */&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;And in arch/arm/mach-mx6/board-mx6q_sabrelite.c I've done :&lt;/P&gt;&lt;P&gt;-#define MX6_SABRELITE_VOL_DOWN_KEY&amp;nbsp;&amp;nbsp;&amp;nbsp; IMX_GPIO_NR(4, 5)&lt;/P&gt;&lt;P&gt;+//#define MX6_SABRELITE_VOL_DOWN_KEY&amp;nbsp;&amp;nbsp;&amp;nbsp; IMX_GPIO_NR(4, 5)&lt;/P&gt;&lt;P&gt;+#define MX6_SABRELITE_VOL_DOWN_KEY&amp;nbsp;&amp;nbsp;&amp;nbsp; IMX_GPIO_NR(5, 4)&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;Eventually there is a need for PAD control in arch/arm/plat-mxc/include/mach/iomux-mx6q.h (although for the original GPIO_19 there is no control) :&lt;/P&gt;&lt;P&gt;+#define MX6Q_EIM_24_PAD_CTRL PAD_CTL_PUS_47K_UP&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt; #define&amp;nbsp; MX6Q_PAD_EIM_A24__GPIO_5_4&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt; \&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;-&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt; (_MX6Q_PAD_EIM_A24__GPIO_5_4 | MUX_PAD_CTRL(NO_PAD_CTRL))&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;+&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt; (_MX6Q_PAD_EIM_A24__GPIO_5_4 | MUX_PAD_CTRL(MX6Q_EIM_24_PAD_CTRL)&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Then Android STILL boot in Safe Mode.&lt;/P&gt;&lt;P&gt;I wonder how Android can be aware that the VOLUME_DOWN is linked on another PADS...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I looked into U-boot configuration and I changed&amp;nbsp; : board/boundary/nitrogen6x/nitrogen6x.c&lt;/P&gt;&lt;P&gt;@@ -228,7 +228,8 @@ static iomux_v3_cfg_t const button_pads[] = {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Home */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MX6_PAD_NANDF_D4__GPIO_2_4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | MUX_PAD_CTRL(BUTTON_PAD_CTRL),&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Volume Down */&lt;BR /&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MX6_PAD_GPIO_19__GPIO_4_5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | MUX_PAD_CTRL(BUTTON_PAD_CTRL),&lt;BR /&gt;+//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MX6_PAD_GPIO_19__GPIO_4_5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | MUX_PAD_CTRL(BUTTON_PAD_CTRL),&lt;BR /&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MX6_PAD_EIM_A24__GPIO_5_4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | MUX_PAD_CTRL(BUTTON_PAD_CTRL),&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But still Safe Mode.&lt;/P&gt;&lt;P&gt;So I looked up in /proc/cmdline but U-boot give nothing to the kernel about GPIO-keys&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am quite lost about in which case Android boot into safeMode by itself and how Android "knows" that I changed the IOMUX-ing.m &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I hope I was enough clear about the problem I am encountering,&lt;BR /&gt;Thanks&lt;BR /&gt;Jerome Olivier&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 26 Jun 2013 15:36:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Android-Buttons-IOMUX-safeMode/m-p/240936#M19964</guid>
      <dc:creator>jeromeolivier</dc:creator>
      <dc:date>2013-06-26T15:36:35Z</dc:date>
    </item>
  </channel>
</rss>

