<per:ispPeripheral xmlns:per="http://crownking/per" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" per:id="USART" xsi:schemaLocation="http://crownking/per per/ispPeripheral.xsd">
  <per:feature per:id="ENABLE_CONTROL"/>
  <per:feature per:id="TRANSMITTER_ENABLE"/>
  <per:feature per:id="BAUD_RATE">
    <per:featureVariant per:id="TWO_8BIT_REGISTERS">
      <per:vreg per:id="BAUD_RATE_LOW"/>
      <per:vreg per:id="BAUD_RATE_HIGH"/>
    </per:featureVariant>
    <per:featureVariant per:id="SINGLE_16BIT_REGISTER">
      <per:vreg per:id="BAUD_RATE"/>
    </per:featureVariant>
  </per:feature>
  <per:feature per:id="RECEIVER_ADDRESS_DETECT_ENABLE"/>
  <per:feature per:id="AUTO_BAUD"/>
  <per:feature per:id="TRANSMITTER_BUFFER">
    <per:featureVariant per:id="9TH_BIT_IN_CONTROL">
      <per:vreg per:id="TRANSMITTER_BUFFER_MOST"/>
      <per:vreg per:id="TRANSMITTER_9THBIT"/>
    </per:featureVariant>
    <per:featureVariant per:id="9TH_BIT_IN_DATA">
      <per:vreg per:id="TRANSMITTER_BUFFER"/>
    </per:featureVariant>
  </per:feature>
  <per:feature per:id="RECEIVER_BUFFER">
    <per:featureVariant per:id="9TH_BIT_IN_CONTROL">
      <per:vreg per:id="RECEIVER_BUFFER_MOST"/>
      <per:vreg per:id="RECEIVER_9THBIT"/>
    </per:featureVariant>
    <per:featureVariant per:id="9TH_BIT_IN_DATA">
      <per:vreg per:id="RECEIVER_BUFFER"/>
    </per:featureVariant>
  </per:feature>
  <per:feature per:id="TRANSMITTER_BREAK_SEND"/>
  <per:feature per:id="RECEIVER_DATA_AVAILABLE_STATUS"/>
  <per:feature per:id="TRANSMITTER_BUFFER_FULL_STATUS"/>
  <per:feature per:id="TRANSMITTER_EMPTY_STATUS"/>
  <per:feature per:id="RECEIVER_FRAMING_ERROR"/>
  <per:feature per:id="RECEIVER_PARITY_ERROR"/>
  <per:feature per:id="RECEIVER_OVERRUN_ERROR"/>
  <per:feature per:id="RECEIVER_IDLE_STATUS"/>
  <per:feature per:id="RECEIVER_ENABLE"/>
  <per:feature per:id="TRANSMITTER_POLARITY"/>
  <per:feature per:id="RECEIVER_POLARITY"/>
  <per:feature per:id="HIGH_BAUD_RATE"/>
  <per:feature per:id="TRANSMITTER_FIFO_LEVEL"/>
  <per:feature per:id="RECEIVER_FIFO_LEVEL"/>
  <per:feature per:id="LINE_CONTROL_MODE"/>
  <per:feature per:id="RECEIVER_AUTO_ADDRESS_DETECT_ENABLE"/>
  <per:feature per:id="IRDA_ENABLE"/>
  <per:feature per:id="LOOPBACK_ENABLE"/>
  <per:feature per:id="OPERATION_MODE_CONTROL"/>
  <per:feature per:id="STOP_IN_IDLE_ENABLE"/>
  <per:feature per:id="WAKE_ON_START_ENABLE"/>
  <per:feature per:id="TRANSMITTER_IDLE_STATUS"/>
  <per:feature per:id="SYNC_MODE_SELECT"/>
  <per:feature per:id="TRANSMITTER_9BIT_MODE_ENABLE"/>
  <per:feature per:id="RECEIVER_9BIT_MODE_ENABLE"/>
  <per:feature per:id="RECEIVER_SINGLE_RECEIVE_MODE_ENABLE"/>
  <per:feature per:id="RECEIVER_CONTINUOUS_RECEIVE_MODE_ENABLE"/>
  <per:feature per:id="CLOCK_POLARITY"/>
  <per:feature per:id="CLOCK_SOURCE_SELECT"/>
  <per:feature per:id="AUTO_BAUD_OVERFLOW"/>
  <per:feature per:id="BRG_BIT_MODE_SELECT"/>
  <per:interface per:id="AUSART">
    <per:sfr per:id="TXSTA" per:expr="TXSTA1">
      <per:field per:id="CSRC" per:expr="CSRC">
        <per:vreg_ref per:idref="CLOCK_SOURCE_SELECT"/>
      </per:field>
      <per:field per:id="TX9" per:expr="TX">
        <per:vreg_ref per:idref="TRANSMITTER_9BIT_MODE_ENABLE"/>
      </per:field>
      <per:field per:id="TXEN" per:expr="TXEN">
        <per:vreg_ref per:idref="TRANSMITTER_ENABLE"/>
      </per:field>
      <per:field per:id="SYNC" per:expr="SYNC">
        <per:vreg_ref per:idref="SYNC_MODE_SELECT"/>
      </per:field>
      <per:field per:id="BRGH" per:expr="BRGH">
        <per:vreg_ref per:idref="HIGH_BAUD_RATE"/>
      </per:field>
      <per:field per:id="TRMT" per:expr="TRMT">
        <per:vreg_ref per:idref="TRANSMITTER_BUFFER_FULL_STATUS"/>
      </per:field>
      <per:field per:id="TX9D" per:expr="TX9D">
        <per:vreg_ref per:idref="TRANSMITTER_9THBIT"/>
      </per:field>
    </per:sfr>
    <per:sfr per:id="RCSTA" per:expr="RCSTA1">
      <per:field per:id="SPEN" per:expr="SPEN">
        <per:vreg_ref per:idref="ENABLE_CONTROL"/>
      </per:field>
      <per:field per:id="RX9" per:expr="RX9">
        <per:vreg_ref per:idref="RECEIVER_9BIT_MODE_ENABLE"/>
      </per:field>
      <per:field per:id="SREN" per:expr="SREN">
        <per:vreg_ref per:idref="RECEIVER_SINGLE_RECEIVE_MODE_ENABLE"/>
      </per:field>
      <per:field per:id="CREN" per:expr="CREN">
        <per:vreg_ref per:idref="RECEIVER_ENABLE"/>
        <per:vreg_ref per:idref="RECEIVER_CONTINUOUS_RECEIVE_MODE_ENABLE"/>
      </per:field>
      <per:field per:id="ADDEN" per:expr="ADDEN">
        <per:vreg_ref per:idref="RECEIVER_ADDRESS_DETECT_ENABLE"/>
      </per:field>
      <per:field per:id="FERR" per:expr="FERR">
        <per:vreg_ref per:idref="RECEIVER_FRAMING_ERROR"/>
      </per:field>
      <per:field per:id="OERR" per:expr="OERR">
        <per:vreg_ref per:idref="RECEIVER_OVERRUN_ERROR"/>
      </per:field>
    </per:sfr>
    <per:sfr per:id="TXDATA" per:expr="TXREG1">
      <per:vreg_ref per:idref="TRANSMITTER_BUFFER"/>
    </per:sfr>
    <per:sfr per:id="RXDATA" per:expr="RCREG1">
      <per:vreg_ref per:idref="RECEIVER_BUFFER"/>
    </per:sfr>
    <per:sfr per:id="BRG" per:expr="SPBRG1">
      <per:field per:id="SPBRG" per:expr="SPBRG">
        <per:vreg_ref per:idref="BAUD_RATE"/>
      </per:field>
    </per:sfr>
  </per:interface>
  <per:interface per:id="EUSART">
    <per:extendsInterface per:idref="AUSART"/>
    <per:sfr per:id="BAUDCON" per:expr="BAUDCON1">
      <per:field per:id="ABDOVF" per:expr="ABDOVF"/>
      <per:field per:id="RCIDL" per:expr="RCIDL"/>
      <per:field per:id="DTRXP" per:expr="DTRXP"/>
      <per:field per:id="CKTXP" per:expr="CKTXP"/>
      <per:field per:id="BRG16" per:expr="BRG16"/>
      <per:field per:id="WUE" per:expr="WUE"/>
      <per:field per:id="ABDEN" per:expr="ABDEN"/>
    </per:sfr>
    <per:sfr per:id="BRGH" per:expr="SPBRGH1"/>
  </per:interface>
  <per:interface per:id="UART">
    <per:sfr per:id="UMODE" per:expr="U(\d)MODE">
      <per:field per:id="UARTEN" per:expr="UARTEN"/>
      <per:field per:id="USIDL" per:expr="USIDL"/>
      <per:field per:id="IREN" per:expr="IREN"/>
      <per:field per:id="RTSMD" per:expr="RTSMD"/>
      <per:field per:id="UEN" per:expr="UEN"/>
      <per:field per:id="WAKE" per:expr="WAKE"/>
      <per:field per:id="LPBACK" per:expr="LPBACK"/>
      <per:field per:id="ABAUD" per:expr="ABAUD"/>
      <per:field per:id="RXINV" per:expr="RXINV"/>
      <per:field per:id="BRGH" per:expr="BRGH"/>
      <per:field per:id="PDSEL" per:expr="PDSEL"/>
      <per:field per:id="STSEL" per:expr="STSEL"/>
    </per:sfr>
    <per:sfr per:id="USTA" per:expr="U(\d)STA">
      <per:field per:id="UTXISEL" per:expr="UTXISEL"/>
      <per:field per:id="UTXINV" per:expr="UTXINV"/>
      <per:field per:id="UTXBRK" per:expr="UTXBRK"/>
      <per:field per:id="UTXEN" per:expr="UTXEN"/>
      <per:field per:id="UTXBF" per:expr="UTXBF"/>
      <per:field per:id="TRMT" per:expr="TRMT"/>
      <per:field per:id="URXISEL" per:expr="URXISEL"/>
      <per:field per:id="ADDEN" per:expr="ADDEN"/>
      <per:field per:id="RIDL" per:expr="RIDL"/>
      <per:field per:id="PERR" per:expr="PERR"/>
      <per:field per:id="FERR" per:expr="FERR"/>
      <per:field per:id="OERR" per:expr="OERR"/>
      <per:field per:id="URXDA" per:expr="URXDA"/>
    </per:sfr>
    <per:sfr per:id="TXDATA" per:expr="U(\d)TXREG"/>
    <per:sfr per:id="RXDATA" per:expr="U(\d)RXREG"/>
    <per:sfr per:id="BRG" per:expr="U(\d)BRG"/>
  </per:interface>
  <per:interface per:id="UART32">
    <per:extendsInterface per:idref="UART"/>
    <per:sfr per:id="UMODE" per:expr="U1MODE">
      <per:field per:id="FRZ" per:expr="FRZ"/>
    </per:sfr>
    <per:sfr per:id="USTA" per:expr="U1STA">
      <per:field per:id="ADM_EN" per:expr="ADM_EN"/>
      <per:field per:id="ADDR" per:expr="ADDR"/>
      <per:field per:id="URXEN" per:expr="URXEN"/>
    </per:sfr>
  </per:interface>
</per:ispPeripheral>
