<?xml version="1.0" encoding="UTF-8"?>
<!--************************************************************************-->
<!--* Copyright (C) 2007 Nicolas Hadacek <hadacek@kde.org>                 *-->
<!--*                                                                      *-->
<!--* This program is free software; you can redistribute it and/or modify *-->
<!--* it under the terms of the GNU General Public License as published by *-->
<!--* the Free Software Foundation; either version 2 of the License, or    *-->
<!--* (at your option) any later version.                                  *-->
<!--************************************************************************-->
<device name="24HJ128GP510" document="024688" status="IP" memory_technology="FLASH" architecture="24H" id="0x0063" >

<!--* Operating characteristics ********************************************-->
  <frequency_range name="industrial" >
    <frequency start="0"  end="40" vdd_min="3.0" vdd_max="3.6" />
  </frequency_range>

  <voltages name="vpp" min="3.0" max="3.6" nominal="3.3" />
  <voltages name="vdd_prog" min="3.0" max="3.6" nominal="3.3" />

<!--* Memory ***************************************************************-->
  <memory name="code"           start="0x000200" end="0x0157FF" />
  <memory name="device_id"         start="0xFF0000" end="0xFF0004" />
  <memory name="config"            start="0xF80000" end="0xF8000F" />
  <memory name="user_ids"          start="0xF80010" end="0xF80018" rmask="0xFF" />
  <memory name="debug_vector"      start="0x800000" end="0x800007" />
  <memory name="program_executive" start="0x800000" end="0x800FFF" />

<!--* Configuration bits ***************************************************-->
  <config offset="0x0" name="FBS" wmask="0xFF" bvalue="0xCF" >
    <mask name="WRTBS" value="0x01" >
      <value value="0x00" name="All"  />
      <value value="0x01" name="Off" />
    </mask>
    <mask name="BSSIZ"  value="0x06" >
      <value value="0x00" name="8192" />
      <value value="0x02" name="4096" />
      <value value="0x04" name="1024" />
      <value value="0x06" name="0"  />
    </mask>
    <mask name="BSSEC" value="0x08" >
      <value value="0x00" name="High Security"     />
      <value value="0x08" name="Standard Security" />
    </mask>
    <mask name="RBSSIZ" value="0xC0" >
      <value value="0x00" name="1024" />
      <value value="0x40" name="256"  />
      <value value="0x80" name="128"  />
      <value value="0xC0" name="0"    />
    </mask>
  </config>

  <config offset="0x2" name="FSS" wmask="0xFF" bvalue="0xCF" >
    <mask name="WRTSS"  value="0x01" >
      <value value="0x00" name="All"  />
      <value value="0x01" name="Off" />
    </mask>
    <mask name="SSSIZ"  value="0x06" >
      <value value="0x00" name="32768" />
      <value value="0x02" name="16384"  />
      <value value="0x04" name="8192"  />
      <value value="0x06" name="0"   />
    </mask>
    <mask name="SSSEC" value="0x08" >
      <value value="0x00" name="High Security"     />
      <value value="0x08" name="Standard Security" />
    </mask>
    <mask name="RSSSIZ" value="0xC0" >
      <value value="0x00" name="4096" />
      <value value="0x40" name="2048" />
      <value value="0x80" name="256"  />
      <value value="0xC0" name="0"    />
    </mask>
  </config>

  <config offset="0x4" name="FGS" wmask="0xFF" bvalue="0x07" >
    <mask name="WRTGS"  value="0x01" >
      <value value="0x00" name="All"  />
      <value value="0x01" name="Off" />
    </mask>
    <mask name="GSSEC" value="0x06" >
      <value value="0x00" name="High Security" />
      <value value="0x02" name="High Security" />
      <value value="0x04" name="Standard Security" />
      <value value="0x06" name="Off" />
    </mask>
  </config>

  <config offset="0x6" name="FOSCSEL" wmask="0xFF" bvalue="0xA7" >
    <mask name="FNOSC" value="0x07" >
      <value value="0x00" name="EXTRC_F" />
      <value value="0x01" name="INTRC_F_PLL" />
      <value value="0x02" name="PRIM" />
      <value value="0x03" name="PRIM_PLL" />
      <value value="0x04" name="SECOND" />
      <value value="0x05" name="EXTRC_LP" />
      <value value="0x06" name="invalid" />
      <value value="0x07" name="INTRC_F_POST" />
    </mask>
    <mask name="TEMP" value="0x20" >
      <value value="0x00" name="On" />
      <value value="0x20" name="Off" />
    </mask>
    <mask name="IESO" value="0x80" >
      <value value="0x00" name="Off" />
      <value value="0x80" name="On" />
    </mask>
  </config>

  <config offset="0x8" name="FOSC" wmask="0xFF" bvalue="0xC7" >
    <mask name="POSCMD" value="0x03" >
      <value value="0x00" name="EC" />
      <value value="0x01" name="XT" />
      <value value="0x02" name="HS" />
      <value value="0x03" name="Off" />
    </mask>
    <mask name="OSCIOFNC" value="0x04" >
      <value value="0x00" name="IO" />
      <value value="0x04" name="Clock" />
    </mask>
    <mask name="FCKSM" value="0xC0" >
      <value value="0x00" name="Switching on, monitor on" />
      <value value="0x40" name="Switching on, monitor off" />
      <value value="0x80" name="Switching off, monitor off" />
      <value value="0xC0" name="Switching off, monitor off" />
    </mask>
  </config>

  <config offset="0xA" name="FWDT" wmask="0xFF" bvalue="0xDF">
    <mask name="WDTPOST" value="0x0F" >
      <value value="0x00" name="1:1" />
      <value value="0x01" name="1:2" />
      <value value="0x02" name="1:4" />
      <value value="0x03" name="1:8" />
      <value value="0x04" name="1:16" />
      <value value="0x05" name="1:32" />
      <value value="0x06" name="1:64" />
      <value value="0x07" name="1:128" />
      <value value="0x08" name="1:256" />
      <value value="0x09" name="1:512" />
      <value value="0x0A" name="1:1024" />
      <value value="0x0B" name="1:2048" />
      <value value="0x0C" name="1:4096" />
      <value value="0x0D" name="1:8192" />
      <value value="0x0E" name="1:16384" />
      <value value="0x0F" name="1:32768" />
    </mask>
    <mask name="WDTPRE" value="0x10" >
      <value value="0x00" name="1:32" />
      <value value="0x10" name="1:128" />
    </mask>
    <mask name="WINDIS" value="0x40" >
      <value value="0x00" name="On" />
      <value value="0x40" name="Off" />
    </mask>
    <mask name="FWDTEN" value="0x80" >
      <value value="0x00" name="Software" />
      <value value="0x80" name="On" />
    </mask>
  </config>

  <config offset="0xC" name="FPOR" wmask="0xFF" bvalue="0x07" >
    <mask name="FPWRT" value="0x07" >
      <value value="0x00" name="0" />
      <value value="0x01" name="2" />
      <value value="0x02" name="4" />
      <value value="0x03" name="8" />
      <value value="0x04" name="16" />
      <value value="0x05" name="32" />
      <value value="0x06" name="64" />
      <value value="0x07" name="128" />
    </mask>
  </config>

  <config offset="0xE" name="FICD" wmask="0xFF" bvalue="0xE3" >
    <mask name="ICS" value="0x03" >
      <value value="0x00" name="EMUC3, EMUD3" />
      <value value="0x01" name="EMUC2, EMUD2" />
      <value value="0x02" name="EMUC1, EMUD1" />
      <value value="0x03" name="PGC/EMUC, PGD/EMUD" />
    </mask>
    <mask name="JTAGEN" value="0x20" >
      <value value="0x00" name="Off" />
      <value value="0x20" name="On" />
    </mask>
    <mask name="COE" value="0x40" >
      <value value="0x00" name="On" />
      <value value="0x40" name="Off" />
    </mask>
    <mask name="DEBUG" value="0x80" >
      <value value="0x00" name="On" />
      <value value="0x80" name="Off" />
    </mask>
  </config>

<!--* Packages *************************************************************-->
  <package types="tqfp" nb_pins="100" >
  </package>

</device>