<?xml version="1.0" encoding="UTF-8"?>

<package schemaVersion="1.4" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="PACK.xsd">
  <name>iMXRT1052_DevelopersKit_BSP</name>
  <vendor>EmbeddedArtists</vendor>
  <description>Embedded Artists iMX RT1052 Developers Kit Board Support Pack</description>
  <url>http://imx.embeddedartists.com/keil/pack/</url>
  <license>Licenses.txt</license>

  <releases>
    <release version="1.0.4" date="2021-08-27">Updated Pack descriptor</release>
    <release version="1.0.3" date="2020-05-14">Changed project paths for ARM DS. Fixed clock_config.c</release>
    <release version="1.0.2" date="2020-01-22">Updated to match NXP SDK 2.7.0</release>
    <release version="1.0.1" date="2018-10-05">Updated product images. No software changed</release>
    <release version="1.0.0" date="2018-09-04">Initial Release of iMXRT1052 Developers Kit Board Support Pack. Based on MCUXpresso SDK 2.4.2</release>
  </releases>

  <keywords>
    <!-- keywords for indexing -->
    <keyword>NXP</keyword>
    <keyword>Embedded Artists</keyword>
    <keyword>Board Support</keyword>
    <keyword>Board Support Pack</keyword>
    <keyword>iMXRT1052</keyword>
  </keywords>

  <requirements>
    <packages>
      <package vendor="ARM"  name="CMSIS"                  version="5.1.0:5.99.0"/>
      <package vendor="Keil" name="ARM_Compiler"           version="1.3.0:1.99.0"/>
      <package vendor="NXP"  name="MIMXRT1052_DFP"/>
    </packages>
    <languages>
      <language name="C" version="99"/>
    </languages>
  </requirements>

  <boards>
    <board vendor="Embedded Artists" name="EA iMX RT1052 Developers Kit" revision="Ver 1.0" salesContact="http://www.embeddedartists.com/contact" orderForm="https://www.embeddedartists.com/products/imx-rt1052-developers-kit/">
      <description>Embedded Artists iMX RT1052 Developer's Kit</description>
      <image small="http://imx.embeddedartists.com/keil/pack/kit_imxrt1052_small.png"
             large="http://imx.embeddedartists.com/keil/pack/kit_imxrt1052_large.png"/>
      <book category="overview"  name="https://www.embeddedartists.com/products/imx-rt1052-developers-kit/" title="iMX RT1052 Developer's Kit Web Page"/>
      <!--book category="manual" name="Documents/IMXRT1052_OEM_Board_Datasheet.pdf"   title="Data Sheet"/-->
      <!--book category="manual" name="Documents/IMXRT1052_OEM_Board_Users_Guide.pdf" title="User Manual"/-->
      <mountedDevice    deviceIndex="0" Dvendor="NXP:11" Dname="MIMXRT1052CVL5B"/>
      <compatibleDevice deviceIndex="0" Dvendor="NXP:11" Dname="MIMXRT1052????B"/>
      <compatibleDevice deviceIndex="0" Dvendor="NXP:11" DsubFamily="i.MX RT1050"/>
      <feature type="XTAL"            n="24000000"/>
      <feature type="PWR"             n="5"              name="5V DC supply voltage, either via micro-AB USB connector or 2.1mm power jack connector"/>
      <feature type="MemCard"         n="1"              name="SD memory card connector"/>
      <feature type="USB"             n="1"              name="USB OTG interface with ESD protection"/>
      <feature type="USB"             n="1"              name="USB Host interface with ESD protection"/>
      <feature type="CAN"             n="1"              name="CAN transceiver with ESD protection and termination"/>
      <feature type="RS232"           n="1"              name="UART-to-USB FTDI bridge for UART interface with ESD protection"/>
      <feature type="ETH"             n="1"              name="10/100 Mbps Ethernet RJ45 connector"/>
      <feature type="GLCD"            n="1"  m="480.272" name="4.3 inch 480x272px LCD"/>
      <feature type="Button"          n="4"              name="Push-Buttons: Reset, Wakeup, On/Off, ISP enable"/>
      <feature type="LED"             n="2"              name="Power, User"/>
      <debugInterface adapter="JTAG/SW" connector="20 pin JTAG (0.1 inch connector)"/>
      <debugInterface adapter="JTAG/SW" connector="10 pin Cortex debug (0.05 inch connector)"/>
    </board>
  </boards>
  <conditions>
    <condition id="project_template.imxrt1052devkit">
      <accept Dname="MIMXRT1052xxxxB" Dvariant="MIMXRT1052CVL5B" Dvendor="NXP:11"/>
      <accept Dname="MIMXRT1052CVL5B" Dvendor="NXP:11"/>
      <accept Dname="MIMXRT1052xxxxB" Dvariant="MIMXRT1052CVJ5B" Dvendor="NXP:11"/>
      <accept Dname="MIMXRT1052CVJ5B" Dvendor="NXP:11"/>
      <accept Dname="MIMXRT1052xxxxB" Dvariant="MIMXRT1052DVL6B" Dvendor="NXP:11"/>
      <accept Dname="MIMXRT1052DVL6B" Dvendor="NXP:11"/>
      <accept Dname="MIMXRT1052xxxxB" Dvariant="MIMXRT1052DVJ6B" Dvendor="NXP:11"/>
      <accept Dname="MIMXRT1052DVJ6B" Dvendor="NXP:11"/>
      <require Cclass="Device" Cgroup="SDK Utilities" Csub="debug_console"/>
      <require Cclass="Device" Cgroup="SDK Utilities" Csub="serial_manager"/>
      <require Cclass="Device" Cgroup="Startup" Csub="MIMXRT1052_startup"/>
      <require Cclass="Device" Cgroup="SDK Drivers" Csub="common"/>
      <require Cclass="Device" Cgroup="SDK Drivers" Csub="clock"/>
      <require Cclass="Device" Cgroup="SDK Drivers" Csub="gpio"/>
      <require Cclass="Device" Cgroup="SDK Drivers" Csub="iomuxc"/>
<!--      <require Cclass="Device" Cgroup="SDK Drivers" Csub="xip_device"/>-->
<!--      <require Cclass="Device" Cgroup="SDK Drivers" Csub="xip_board"/>-->
<!--      <require Cclass="Device" Cgroup="SDK Drivers" Csub="xip_board_dcd"/>-->
      <require Cclass="Device" Cgroup="SDK Drivers" Csub="lpuart"/>
      <require Cclass="Device" Cgroup="SDK Drivers" Csub="lpuart_adapter"/>
    </condition>
  </conditions>

  <examples>
    <example name="Hello World" folder="examples/hello_world" doc="readme.txt">
      <description>The Hello World demo application provides a sanity check for the new SDK build environments and board bring up. The HelloWorld demo prints the "Hello World" string to the terminal using the SDK UART drivers. The purpose of this demo is toshow how to use the UART, and to provide a simple project for debugging and further development.</description>
      <board name="EA iMX RT1052 Developers Kit" vendor="Embedded Artists"/>
      <project>
        <environment name="uv" load="hello_world.uvprojx"/>
      </project>
      <attributes>
        <category>Getting Started</category>
        <category>examples/hello world</category>
      </attributes>
    </example>

    <example name="ELCDIF LUT" doc="readme.txt" folder="examples/elcdif_lut">
      <description>eLCDIF LUT example</description>
      <board name="EA iMX RT1052 Developers Kit" vendor="Embedded Artists"/>
      <project>
        <environment name="uv" load="elcdif_lut.uvprojx"/>
      </project>
      <attributes>
        <component Cclass="CMSIS" Cgroup="CORE"/>
        <component Cclass="Device" Cgroup="Startup"/>
        <component Cclass="Device" Cgroup="SDK Drivers"/>
        <category>Getting Started</category>
        <category>SDK Drivers</category>
        <category>examples/lpuart_interrupt_transfer</category>
      </attributes>
    </example>

    <example name="ELCDIF RGB" doc="readme.txt" folder="examples/elcdif_rgb">
      <description>eLCDIF RGB example</description>
      <board name="EA iMX RT1052 Developers Kit" vendor="Embedded Artists"/>
      <project>
        <environment name="uv" load="elcdif_rgb.uvprojx"/>
      </project>
      <attributes>
        <component Cclass="CMSIS" Cgroup="CORE"/>
        <component Cclass="Device" Cgroup="Startup"/>
        <component Cclass="Device" Cgroup="SDK Drivers"/>
        <category>Getting Started</category>
        <category>SDK Drivers</category>
        <category>examples/lpuart_interrupt_transfer</category>
      </attributes>
    </example>

    <example name="GPIO input interrupt" doc="readme.txt" folder="examples/gpio_input_interrupt">
      <description>GPIO input interrupt example</description>
      <board name="EA iMX RT1052 Developers Kit" vendor="Embedded Artists"/>
      <project>
        <environment name="uv" load="gpio_input_interrupt.uvprojx"/>
      </project>
      <attributes>
        <component Cclass="CMSIS" Cgroup="CORE"/>
        <component Cclass="Device" Cgroup="Startup"/>
        <component Cclass="Device" Cgroup="SDK Drivers"/>
        <category>Getting Started</category>
        <category>SDK Drivers</category>
        <category>examples/lpuart_interrupt_transfer</category>
      </attributes>
    </example>

    <example name="GPIO LED output" doc="readme.txt" folder="examples/gpio_led_output">
      <description>GPIO LED output example</description>
      <board name="EA iMX RT1052 Developers Kit" vendor="Embedded Artists"/>
      <project>
        <environment name="uv" load="gpio_led_output.uvprojx"/>
      </project>
      <attributes>
        <component Cclass="CMSIS" Cgroup="CORE"/>
        <component Cclass="Device" Cgroup="Startup"/>
        <component Cclass="Device" Cgroup="SDK Drivers"/>
        <category>Getting Started</category>
        <category>SDK Drivers</category>
        <category>examples/lpuart_interrupt_transfer</category>
      </attributes>
    </example>

    <example name="QTMR timer" doc="readme.txt" folder="examples/qtmr">
      <description>QTMR timer example</description>
      <board name="EA iMX RT1052 Developers Kit" vendor="Embedded Artists"/>
      <project>
        <environment name="uv" load="qtmr.uvprojx"/>
      </project>
      <attributes>
        <component Cclass="CMSIS" Cgroup="CORE"/>
        <component Cclass="Device" Cgroup="Startup"/>
        <component Cclass="Device" Cgroup="SDK Drivers"/>
        <category>Getting Started</category>
        <category>SDK Drivers</category>
        <category>examples/lpuart_interrupt_transfer</category>
      </attributes>
    </example>

    <example name="WDOG" doc="readme.txt" folder="examples/wdog">
      <description>WDOG example</description>
      <board name="EA iMX RT1052 Developers Kit" vendor="Embedded Artists"/>
      <project>
        <environment name="uv" load="wdog.uvprojx"/>
      </project>
      <attributes>
        <component Cclass="CMSIS" Cgroup="CORE"/>
        <component Cclass="Device" Cgroup="Startup"/>
        <component Cclass="Device" Cgroup="SDK Drivers"/>
        <category>Getting Started</category>
        <category>SDK Drivers</category>
        <category>examples/lpuart_interrupt_transfer</category>
      </attributes>
    </example>
  </examples>

  <components>
    <bundle Cbundle="Embedded Artists developer's kit" Cclass="Board Support" Cversion="1.0.2">
      <description>This is the bundle for the EA iMX RT1052 Developer's Kit.</description>
      <doc></doc>
      <component Cgroup="Drivers" Csub="Adesto EcoXiP flash (ATXP032)" condition="project_template.imxrt1052devkit">
        <description>Adesto EcoXiP flash (ATXP032)</description>
        <RTE_Components_h>
//#define XIP_EXTERNAL_FLASH 1
//#define XIP_BOOT_HEADER_ENABLE 1
        </RTE_Components_h>
        <files>
          <file name="xip/imxrt1052_flexspi_nor_config.c" category="sourceC"/>
          <file name="xip/imxrt1052_flexspi_nor_config.h" category="header"/>
          <file name="xip/evkbimxrt1050_sdram_ini_dcd.c" category="sourceC"/>
          <file name="xip/evkbimxrt1050_sdram_ini_dcd.h" category="header"/>
          <file name="xip/fsl_flexspi_nor_boot.c" category="sourceC"/>
          <file name="xip/fsl_flexspi_nor_boot.h" category="header"/>
        </files>
      </component>

      <component Cgroup="Drivers" Csub="wdog" condition="project_template.imxrt1052devkit">
        <description>Watchdog Driver</description>
        <files>
          <file name="patched_drivers/fsl_wdog.c" category="sourceC"/>
          <file name="patched_drivers/fsl_wdog.h" category="header"/>
        </files>
      </component>

      <component Cgroup="Project Template" Csub="project_template" condition="project_template.imxrt1052devkit">
        <description/>
        <files>
          <file category="sourceC" attr="config" name="project_template/board.c" version="1.0.0"/>
          <file category="header" attr="config" name="project_template/board.h" version="1.0.0"/>
          <file category="sourceC" attr="config" name="project_template/clock_config.c" version="1.0.0"/>
          <file category="header" attr="config" name="project_template/clock_config.h" version="1.0.0"/>
          <file category="sourceC" attr="config" name="project_template/peripherals.c" version="1.0.0"/>
          <file category="header" attr="config" name="project_template/peripherals.h" version="1.0.0"/>
          <file category="sourceC" attr="config" name="project_template/pin_mux.c" version="1.0.0"/>
          <file category="header" attr="config" name="project_template/pin_mux.h" version="1.0.0"/>
        </files>
      </component>
    </bundle>
  </components>
</package>
