3 Replies Latest reply on Apr 13, 2018 7:28 AM by DanMadill

    Incorrect CPU GPIO mapping

    DanMadill

      On the 94 (References) Sensors GPIOs LEDs CAN bus · intel-aero/meta-intel-aero Wiki · GitHub  page, the CPU GPIO mapping is listed as:

       

      Processor GPIO NameKernel GPIO #
      CPU_GPIO_01GPIO-350
      CPU_GPIO_02GPIO-481
      CPU_GPIO_03GPIO-485
      CPU_GPIO_04GPIO-348
      CPU_GPIO_05GPIO-487
      CPU_GPIO_06Power Off
      CPU_GPIO_07GPIO-319

      In the Intel® Aero Compute Board Hardware Features and Usage Rev 1.0 manual, they are listed as:

       

      Processor GPIO NameKernel GPIO #
      CPU_GPIO_01GPIO-486
      CPU_GPIO_02GPIO-350
      CPU_GPIO_03GPIO-481
      CPU_GPIO_04GPIO-487
      CPU_GPIO_05GPIO-348
      CPU_GPIO_06GPIO-319

       

      The two are inconsistent, and neither one seems to be completely correct.

       

      We have tried to use all six CPU GPIO on the 80-pin expansion connector, which map to the following 80-pin connector pins, according to the Hardware Features and Usage Manual cited above:

       

      Processor GPIO Name80-Pin Connector Pin #
      CPU_GPIO_0125
      CPU_GPIO_0231
      CPU_GPIO_0339
      CPU_GPIO_0441
      CPU_GPIO_0545
      CPU_GPIO_0647

       

      From our experiments, these 80-pin connector pins map to kernel GPIO as follows:

       

      Processor GPIO Name80-Pin Connector Pin #Kernel GPIO #
      CPU_GPIO_0125487
      CPU_GPIO_0231350
      CPU_GPIO_0339481
      CPU_GPIO_0441485
      CPU_GPIO_0545348
      CPU_GPIO_0647319

       

      Notice that these processor to kernel GPIO mappings do not match any of the tables supplied in the documentation.

       

      Note that we are using the following software on the Intel Aero Compute board:

       

      BIOS_VERSION = Aero-01.00.16

      OS_VERSION = Poky Aero (Intel Aero Linux Distro) 1.6.0 (pyro)"

       

      We updated the BIOS because the latest update was supposed to allow access to some of the CPU GPIO.

       

      Regards,

      Dan

        • 1. Re: Incorrect CPU GPIO mapping
          Intel Corporation
          This message was posted on behalf of Intel Corporation

          Hello Dan,

          Thank you for bringing this to our attention, I will work with the appropriate team to fix the documentation.

          With the Aero compute board, you can access CPU_GPIO_01, CPU_GPIO_03, and CPU_GPIO_04 from the "J1" Power board port on the 80-pin accessories connector. The CPU_GPIOs can be set by exporting the gpio486, gpio481, gpio487 on the Linux consoles with the following commands:

          echo 481 > /sys/class/gpio/export
          echo out > /sys/class/gpio/gpio481 /direction
          echo 1 > /sys/class/gpio/gpio481 /value
          echo 0 > /sys/class/gpio/gpio481 /value

          Hope this helps.

          Regards,
          Octavian

          • 2. Re: Incorrect CPU GPIO mapping
            Intel Corporation
            This message was posted on behalf of Intel Corporation

            Hello Dan,

            Do you require any more assistance with this issue?

            Regards,
            Octavian

            • 3. Re: Incorrect CPU GPIO mapping
              DanMadill

              No, thank you. I just thought Intel should know that their documentation doesn't appear to match the hardware. BTW, we also noticed that after updating the BIOS using a soft reboot, the aero-get-version.py utility reports the new BIOS version, but the BIOS doesn't really seem to take effect until the next power cycle of the board (i.e., the CPU GPIO fixed by the 01.00.16 BIOS update don't become available until after a hard reboot).

               

              Thanks again.

               

              Regards,

              Dan