<?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 access SCU_GPIO0_00 from core A35 (u-boot or Linux)? in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/How-to-access-SCU-GPIO0-00-from-core-A35-u-boot-or-Linux/m-p/1424616#M187951</link>
    <description>&lt;P&gt;Solved!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;It seems that pmic must be initialized before call&amp;nbsp;&lt;SPAN&gt;init_scu_gpio_pins() to work properly. &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;I do not why, but calling de gpio&amp;nbsp;init function afterwards pmic_init() I can read values from scu_gpios.&lt;/P&gt;</description>
    <pubDate>Tue, 08 Mar 2022 14:00:16 GMT</pubDate>
    <dc:creator>Juanma1</dc:creator>
    <dc:date>2022-03-08T14:00:16Z</dc:date>
    <item>
      <title>How to access SCU_GPIO0_00 from core A35 (u-boot or Linux)?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/How-to-access-SCU-GPIO0-00-from-core-A35-u-boot-or-Linux/m-p/1423541#M187842</link>
      <description>&lt;P&gt;Hello&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm working with a custom board based on iMX8DXL and I need to access to SCU_GPIO0_00 and SCU_GPIO0_01 from the core A35 (u-boot or linux).&lt;/P&gt;&lt;P&gt;In scfw I have changed the mux from defaul scu_uart to scu_gpio, select as digital input and changed the owner partition.&lt;/P&gt;&lt;P&gt;I did this:&lt;/P&gt;&lt;P&gt;void init_scu_gpio_pins(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp; rgpio_pin_config_t config;&lt;BR /&gt;&amp;nbsp; config.pinDirection = kRGPIO_DigitalInput;&lt;/P&gt;&lt;P&gt;&amp;nbsp; rm_set_pad_movable(SC_PT, SC_P_SCU_GPIO0_00, SC_P_SCU_GPIO0_01, SC_TRUE);&lt;/P&gt;&lt;P&gt;&amp;nbsp; pad_set_all(SC_PT, SC_P_SCU_GPIO0_00, 4U, SC_PAD_CONFIG_NORMAL, SC_PAD_ISO_OFF, 0x60, SC_PAD_WAKEUP_OFF);&lt;/P&gt;&lt;P&gt;&amp;nbsp; pad_set_all(SC_PT, SC_P_SCU_GPIO0_01, 4U, SC_PAD_CONFIG_NORMAL, SC_PAD_ISO_OFF, 0x60, SC_PAD_WAKEUP_OFF);&lt;/P&gt;&lt;P&gt;&amp;nbsp; RGPIO_PinInit(RGPIOA, 0U, &amp;amp;config);&lt;BR /&gt;&amp;nbsp; RGPIO_PinInit(RGPIOA, 1U, &amp;amp;config);&lt;/P&gt;&lt;P&gt;&amp;nbsp; rm_assign_pad (SC_PT, BOOT_PT, SC_P_SCU_GPIO0_00);&lt;/P&gt;&lt;P&gt;&amp;nbsp; rm_assign_pad (SC_PT, BOOT_PT, SC_P_SCU_GPIO0_01);&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I don't know if I missed something to do here or there are something wrong.&lt;/P&gt;&lt;P&gt;If it is correct, how can I access these pins (SCU pins) from linux or u-boot?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks for your help!&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;</description>
      <pubDate>Sun, 06 Mar 2022 20:18:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/How-to-access-SCU-GPIO0-00-from-core-A35-u-boot-or-Linux/m-p/1423541#M187842</guid>
      <dc:creator>Juanma1</dc:creator>
      <dc:date>2022-03-06T20:18:59Z</dc:date>
    </item>
    <item>
      <title>Re: How to access SCU_GPIO0_00 from core A35 (u-boot or Linux)?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/How-to-access-SCU-GPIO0-00-from-core-A35-u-boot-or-Linux/m-p/1423944#M187893</link>
      <description>&lt;P&gt;Hello again,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I've seen that these pins are only accesible from SCU, and I have to add/modify ioctl api to get "access" from A35, i.e. to read their values.&lt;/P&gt;&lt;P&gt;My problem now is that I only get 0's from that pins&amp;nbsp;even though I have an '1' put on them.&lt;/P&gt;&lt;P&gt;I used that code in scfw board.c:&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;/*----------------------------&lt;/SPAN&gt;&lt;SPAN&gt;------------------------------&lt;/SPAN&gt;&lt;SPAN&gt;----------------*/&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;/* Init SCU pins &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;*/&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;/*----------------------------&lt;/SPAN&gt;&lt;SPAN&gt;------------------------------&lt;/SPAN&gt;&lt;SPAN&gt;----------------*/&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;static void init_scu_gpio_pins(void)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{ &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;sc_err_t err;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; rgpio_pin_config_t config;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; config.pinDirection = kRGPIO_DigitalInput;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;/* To disable uart-scu default gpios mux and set pins as normal gpios */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; err=pad_set_all(SC_PT, SC_P_SCU_GPIO0_00, 4U, SC_PAD_CONFIG_NORMAL, SC_PAD_ISO_OFF, 0x60, SC_PAD_WAKEUP_OFF);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; err=pad_set_all(SC_PT, SC_P_SCU_GPIO0_01, 4U, SC_PAD_CONFIG_NORMAL, SC_PAD_ISO_OFF, 0x60, SC_PAD_WAKEUP_OFF);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; /* Init SCU_GPIO0_00 and SCU_GPIO0_01 as digital input */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; RGPIO_PinInit(RGPIOA, 0U, &amp;amp;config);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; RGPIO_PinInit(RGPIOA, 1U, &amp;amp;config);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;static uint32_t ReadSCUPins (void)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; uint32_t retval = 0U;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; uint32_t gpio0_val = 0U, gpio1_val = 0U;&amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; gpio0_val = RGPIO_PinRead(RGPIOA, 0U);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; gpio1_val = RGPIO_PinRead(RGPIOA, 1U);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; retval = (gpio0_val &amp;amp; 0x01) | ((gpio1_val &amp;amp; 0x01) &amp;lt;&amp;lt;1);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; board_print(1, "SCU_GPIO0_00: %u, SCU_GPIO0_01: %u, retval: %u\n", gpio0_val, gpio1_val, retval);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; return retval;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 07 Mar 2022 13:21:34 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/How-to-access-SCU-GPIO0-00-from-core-A35-u-boot-or-Linux/m-p/1423944#M187893</guid>
      <dc:creator>Juanma1</dc:creator>
      <dc:date>2022-03-07T13:21:34Z</dc:date>
    </item>
    <item>
      <title>Re: How to access SCU_GPIO0_00 from core A35 (u-boot or Linux)?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/How-to-access-SCU-GPIO0-00-from-core-A35-u-boot-or-Linux/m-p/1424616#M187951</link>
      <description>&lt;P&gt;Solved!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;It seems that pmic must be initialized before call&amp;nbsp;&lt;SPAN&gt;init_scu_gpio_pins() to work properly. &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;I do not why, but calling de gpio&amp;nbsp;init function afterwards pmic_init() I can read values from scu_gpios.&lt;/P&gt;</description>
      <pubDate>Tue, 08 Mar 2022 14:00:16 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/How-to-access-SCU-GPIO0-00-from-core-A35-u-boot-or-Linux/m-p/1424616#M187951</guid>
      <dc:creator>Juanma1</dc:creator>
      <dc:date>2022-03-08T14:00:16Z</dc:date>
    </item>
    <item>
      <title>Re: How to access SCU_GPIO0_00 from core A35 (u-boot or Linux)?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/How-to-access-SCU-GPIO0-00-from-core-A35-u-boot-or-Linux/m-p/1424626#M187954</link>
      <description>&lt;P&gt;good , where did u put&amp;nbsp;&amp;nbsp;&lt;SPAN&gt;pmic_init()&amp;nbsp;?&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 08 Mar 2022 14:27:06 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/How-to-access-SCU-GPIO0-00-from-core-A35-u-boot-or-Linux/m-p/1424626#M187954</guid>
      <dc:creator>josephzhou1</dc:creator>
      <dc:date>2022-03-08T14:27:06Z</dc:date>
    </item>
    <item>
      <title>Re: How to access SCU_GPIO0_00 from core A35 (u-boot or Linux)?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/How-to-access-SCU-GPIO0-00-from-core-A35-u-boot-or-Linux/m-p/1424632#M187955</link>
      <description>&lt;P&gt;pmic_init() is in its default place: in&amp;nbsp;board_init() when&amp;nbsp;phase == BOOT_PHASE_FINAL_INIT&lt;/P&gt;</description>
      <pubDate>Tue, 08 Mar 2022 14:42:28 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/How-to-access-SCU-GPIO0-00-from-core-A35-u-boot-or-Linux/m-p/1424632#M187955</guid>
      <dc:creator>Juanma1</dc:creator>
      <dc:date>2022-03-08T14:42:28Z</dc:date>
    </item>
  </channel>
</rss>

