Skip to content

Instantly share code, notes, and snippets.

@jamesmunns
Created February 27, 2018 14:41
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jamesmunns/c4e53fe5bd74dca81fdbff6bb1798ddd to your computer and use it in GitHub Desktop.
Save jamesmunns/c4e53fe5bd74dca81fdbff6bb1798ddd to your computer and use it in GitHub Desktop.
<peripheral>
<name>FICR</name>
<description>Factory Information Configuration Registers</description>
<groupName>FICR</groupName>
<baseAddress>0x10000000</baseAddress>
<size>32</size>
<addressBlock>
<offset>0</offset>
<size>0x1000</size>
<usage>registers</usage>
</addressBlock>
<registers>
<register>
<name>CODEPAGESIZE</name>
<description>Code memory page size</description>
<addressOffset>0x010</addressOffset>
<access>read-only</access>
<resetValue>0xFFFFFFFF</resetValue>
<fields>
<field>
<name>CODEPAGESIZE</name>
<description>Code memory page size</description>
<lsb>0</lsb>
<msb>31</msb>
</field>
</fields>
</register>
<register>
<name>CODESIZE</name>
<description>Code memory size</description>
<addressOffset>0x014</addressOffset>
<access>read-only</access>
<resetValue>0xFFFFFFFF</resetValue>
<fields>
<field>
<name>CODESIZE</name>
<description>Code memory size in number of pages</description>
<lsb>0</lsb>
<msb>31</msb>
</field>
</fields>
</register>
<register>
<dim>2</dim>
<dimIncrement>4</dimIncrement>
<name>DEVICEID[%s]</name>
<description>Description collection[0]: Device identifier</description>
<addressOffset>0x060</addressOffset>
<access>read-only</access>
<resetValue>0xFFFFFFFF</resetValue>
<fields>
<field>
<name>DEVICEID</name>
<description>64 bit unique device identifier</description>
<lsb>0</lsb>
<msb>31</msb>
</field>
</fields>
</register>
<register>
<dim>4</dim>
<dimIncrement>4</dimIncrement>
<name>ER[%s]</name>
<description>Description collection[0]: Encryption Root, word 0</description>
<addressOffset>0x080</addressOffset>
<access>read-only</access>
<resetValue>0xFFFFFFFF</resetValue>
<fields>
<field>
<name>ER</name>
<description>Encryption Root, word n</description>
<lsb>0</lsb>
<msb>31</msb>
</field>
</fields>
</register>
<register>
<dim>4</dim>
<dimIncrement>4</dimIncrement>
<name>IR[%s]</name>
<description>Description collection[0]: Identity Root, word 0</description>
<addressOffset>0x090</addressOffset>
<access>read-only</access>
<resetValue>0xFFFFFFFF</resetValue>
<fields>
<field>
<name>IR</name>
<description>Identity Root, word n</description>
<lsb>0</lsb>
<msb>31</msb>
</field>
</fields>
</register>
<register>
<name>DEVICEADDRTYPE</name>
<description>Device address type</description>
<addressOffset>0x0A0</addressOffset>
<access>read-only</access>
<resetValue>0xFFFFFFFF</resetValue>
<fields>
<field>
<name>DEVICEADDRTYPE</name>
<description>Device address type</description>
<lsb>0</lsb>
<msb>0</msb>
<enumeratedValues>
<enumeratedValue>
<name>Public</name>
<description>Public address</description>
<value>0</value>
</enumeratedValue>
<enumeratedValue>
<name>Random</name>
<description>Random address</description>
<value>1</value>
</enumeratedValue>
</enumeratedValues>
</field>
</fields>
</register>
<register>
<dim>2</dim>
<dimIncrement>4</dimIncrement>
<name>DEVICEADDR[%s]</name>
<description>Description collection[0]: Device address 0</description>
<addressOffset>0x0A4</addressOffset>
<access>read-only</access>
<resetValue>0xFFFFFFFF</resetValue>
<fields>
<field>
<name>DEVICEADDR</name>
<description>48 bit device address</description>
<lsb>0</lsb>
<msb>31</msb>
</field>
</fields>
</register>
<cluster>
<name>INFO</name>
<description>Device info</description>
<addressOffset>0x100</addressOffset>
<register>
<name>PART</name>
<description>Part code</description>
<addressOffset>0x000</addressOffset>
<access>read-only</access>
<resetValue>0x00052832</resetValue>
<fields>
<field>
<name>PART</name>
<description>Part code</description>
<lsb>0</lsb>
<msb>31</msb>
<enumeratedValues>
<enumeratedValue>
<name>N52832</name>
<description>nRF52832</description>
<value>0x52832</value>
</enumeratedValue>
<enumeratedValue>
<name>Unspecified</name>
<description>Unspecified</description>
<value>0xFFFFFFFF</value>
</enumeratedValue>
</enumeratedValues>
</field>
</fields>
</register>
<register>
<name>VARIANT</name>
<description>Part Variant, Hardware version and Production configuration</description>
<addressOffset>0x004</addressOffset>
<access>read-only</access>
<resetValue>0x41414142</resetValue>
<fields>
<field>
<name>VARIANT</name>
<description>Part Variant, Hardware version and Production configuration, encoded as ASCII</description>
<lsb>0</lsb>
<msb>31</msb>
<enumeratedValues>
<enumeratedValue>
<name>AAAA</name>
<description>AAAA</description>
<value>0x41414141</value>
</enumeratedValue>
<enumeratedValue>
<name>AAAB</name>
<description>AAAB</description>
<value>0x41414142</value>
</enumeratedValue>
<enumeratedValue>
<name>AABA</name>
<description>AABA</description>
<value>0x41414241</value>
</enumeratedValue>
<enumeratedValue>
<name>AABB</name>
<description>AABB</description>
<value>0x41414242</value>
</enumeratedValue>
<enumeratedValue>
<name>AAB0</name>
<description>AAB0</description>
<value>0x41414230</value>
</enumeratedValue>
<enumeratedValue>
<name>SPA0</name>
<description>SPA0</description>
<value>0x53504130</value>
</enumeratedValue>
<enumeratedValue>
<name>Unspecified</name>
<description>Unspecified</description>
<value>0xFFFFFFFF</value>
</enumeratedValue>
</enumeratedValues>
</field>
</fields>
</register>
<register>
<name>PACKAGE</name>
<description>Package option</description>
<addressOffset>0x008</addressOffset>
<access>read-only</access>
<resetValue>0x00002000</resetValue>
<fields>
<field>
<name>PACKAGE</name>
<description>Package option</description>
<lsb>0</lsb>
<msb>31</msb>
<enumeratedValues>
<enumeratedValue>
<name>QF</name>
<description>QFxx - 48-pin QFN</description>
<value>0x2000</value>
</enumeratedValue>
<enumeratedValue>
<name>CH</name>
<description>CHxx - 7x8 WLCSP 56 balls</description>
<value>0x2001</value>
</enumeratedValue>
<enumeratedValue>
<name>CI</name>
<description>CIxx - 7x8 WLCSP 56 balls</description>
<value>0x2002</value>
</enumeratedValue>
<enumeratedValue>
<name>Unspecified</name>
<description>Unspecified</description>
<value>0xFFFFFFFF</value>
</enumeratedValue>
</enumeratedValues>
</field>
</fields>
</register>
<register>
<name>RAM</name>
<description>RAM variant</description>
<addressOffset>0x00C</addressOffset>
<access>read-only</access>
<resetValue>0x00000040</resetValue>
<fields>
<field>
<name>RAM</name>
<description>RAM variant</description>
<lsb>0</lsb>
<msb>31</msb>
<enumeratedValues>
<enumeratedValue>
<name>K16</name>
<description>16 kByte RAM</description>
<value>0x10</value>
</enumeratedValue>
<enumeratedValue>
<name>K32</name>
<description>32 kByte RAM</description>
<value>0x20</value>
</enumeratedValue>
<enumeratedValue>
<name>K64</name>
<description>64 kByte RAM</description>
<value>0x40</value>
</enumeratedValue>
<enumeratedValue>
<name>Unspecified</name>
<description>Unspecified</description>
<value>0xFFFFFFFF</value>
</enumeratedValue>
</enumeratedValues>
</field>
</fields>
</register>
<register>
<name>FLASH</name>
<description>Flash variant</description>
<addressOffset>0x010</addressOffset>
<access>read-only</access>
<resetValue>0x00000200</resetValue>
<fields>
<field>
<name>FLASH</name>
<description>Flash variant</description>
<lsb>0</lsb>
<msb>31</msb>
<enumeratedValues>
<enumeratedValue>
<name>K128</name>
<description>128 kByte FLASH</description>
<value>0x80</value>
</enumeratedValue>
<enumeratedValue>
<name>K256</name>
<description>256 kByte FLASH</description>
<value>0x100</value>
</enumeratedValue>
<enumeratedValue>
<name>K512</name>
<description>512 kByte FLASH</description>
<value>0x200</value>
</enumeratedValue>
<enumeratedValue>
<name>Unspecified</name>
<description>Unspecified</description>
<value>0xFFFFFFFF</value>
</enumeratedValue>
</enumeratedValues>
</field>
</fields>
</register>
<register>
<dim>3</dim>
<dimIncrement>4</dimIncrement>
<name>UNUSED0[%s]</name>
<description>Description collection[0]: Unspecified</description>
<addressOffset>0x014</addressOffset>
<access>read-write</access>
</register>
</cluster>
<cluster>
<name>TEMP</name>
<description>Registers storing factory TEMP module linearization coefficients</description>
<addressOffset>0x404</addressOffset>
<register>
<name>A0</name>
<description>Slope definition A0.</description>
<addressOffset>0x000</addressOffset>
<access>read-only</access>
<resetValue>0x00000320</resetValue>
<fields>
<field>
<name>A</name>
<description>A (slope definition) register.</description>
<lsb>0</lsb>
<msb>11</msb>
</field>
</fields>
</register>
<register>
<name>A1</name>
<description>Slope definition A1.</description>
<addressOffset>0x004</addressOffset>
<access>read-only</access>
<resetValue>0x00000343</resetValue>
<fields>
<field>
<name>A</name>
<description>A (slope definition) register.</description>
<lsb>0</lsb>
<msb>11</msb>
</field>
</fields>
</register>
<register>
<name>A2</name>
<description>Slope definition A2.</description>
<addressOffset>0x008</addressOffset>
<access>read-only</access>
<resetValue>0x0000035D</resetValue>
<fields>
<field>
<name>A</name>
<description>A (slope definition) register.</description>
<lsb>0</lsb>
<msb>11</msb>
</field>
</fields>
</register>
<register>
<name>A3</name>
<description>Slope definition A3.</description>
<addressOffset>0x00C</addressOffset>
<access>read-only</access>
<resetValue>0x00000400</resetValue>
<fields>
<field>
<name>A</name>
<description>A (slope definition) register.</description>
<lsb>0</lsb>
<msb>11</msb>
</field>
</fields>
</register>
<register>
<name>A4</name>
<description>Slope definition A4.</description>
<addressOffset>0x010</addressOffset>
<access>read-only</access>
<resetValue>0x00000452</resetValue>
<fields>
<field>
<name>A</name>
<description>A (slope definition) register.</description>
<lsb>0</lsb>
<msb>11</msb>
</field>
</fields>
</register>
<register>
<name>A5</name>
<description>Slope definition A5.</description>
<addressOffset>0x014</addressOffset>
<access>read-only</access>
<resetValue>0x0000037B</resetValue>
<fields>
<field>
<name>A</name>
<description>A (slope definition) register.</description>
<lsb>0</lsb>
<msb>11</msb>
</field>
</fields>
</register>
<register>
<name>B0</name>
<description>y-intercept B0.</description>
<addressOffset>0x018</addressOffset>
<access>read-only</access>
<resetValue>0x00003FCC</resetValue>
<fields>
<field>
<name>B</name>
<description>B (y-intercept)</description>
<lsb>0</lsb>
<msb>13</msb>
</field>
</fields>
</register>
<register>
<name>B1</name>
<description>y-intercept B1.</description>
<addressOffset>0x01C</addressOffset>
<access>read-only</access>
<resetValue>0x00003F98</resetValue>
<fields>
<field>
<name>B</name>
<description>B (y-intercept)</description>
<lsb>0</lsb>
<msb>13</msb>
</field>
</fields>
</register>
<register>
<name>B2</name>
<description>y-intercept B2.</description>
<addressOffset>0x020</addressOffset>
<access>read-only</access>
<resetValue>0x00003F98</resetValue>
<fields>
<field>
<name>B</name>
<description>B (y-intercept)</description>
<lsb>0</lsb>
<msb>13</msb>
</field>
</fields>
</register>
<register>
<name>B3</name>
<description>y-intercept B3.</description>
<addressOffset>0x024</addressOffset>
<access>read-only</access>
<resetValue>0x00000012</resetValue>
<fields>
<field>
<name>B</name>
<description>B (y-intercept)</description>
<lsb>0</lsb>
<msb>13</msb>
</field>
</fields>
</register>
<register>
<name>B4</name>
<description>y-intercept B4.</description>
<addressOffset>0x028</addressOffset>
<access>read-only</access>
<resetValue>0x0000004D</resetValue>
<fields>
<field>
<name>B</name>
<description>B (y-intercept)</description>
<lsb>0</lsb>
<msb>13</msb>
</field>
</fields>
</register>
<register>
<name>B5</name>
<description>y-intercept B5.</description>
<addressOffset>0x02C</addressOffset>
<access>read-only</access>
<resetValue>0x00003E10</resetValue>
<fields>
<field>
<name>B</name>
<description>B (y-intercept)</description>
<lsb>0</lsb>
<msb>13</msb>
</field>
</fields>
</register>
<register>
<name>T0</name>
<description>Segment end T0.</description>
<addressOffset>0x030</addressOffset>
<access>read-only</access>
<resetValue>0x000000E2</resetValue>
<fields>
<field>
<name>T</name>
<description>T (segment end)register.</description>
<lsb>0</lsb>
<msb>7</msb>
</field>
</fields>
</register>
<register>
<name>T1</name>
<description>Segment end T1.</description>
<addressOffset>0x034</addressOffset>
<access>read-only</access>
<resetValue>0x00000000</resetValue>
<fields>
<field>
<name>T</name>
<description>T (segment end)register.</description>
<lsb>0</lsb>
<msb>7</msb>
</field>
</fields>
</register>
<register>
<name>T2</name>
<description>Segment end T2.</description>
<addressOffset>0x038</addressOffset>
<access>read-only</access>
<resetValue>0x00000014</resetValue>
<fields>
<field>
<name>T</name>
<description>T (segment end)register.</description>
<lsb>0</lsb>
<msb>7</msb>
</field>
</fields>
</register>
<register>
<name>T3</name>
<description>Segment end T3.</description>
<addressOffset>0x03C</addressOffset>
<access>read-only</access>
<resetValue>0x00000019</resetValue>
<fields>
<field>
<name>T</name>
<description>T (segment end)register.</description>
<lsb>0</lsb>
<msb>7</msb>
</field>
</fields>
</register>
<register>
<name>T4</name>
<description>Segment end T4.</description>
<addressOffset>0x040</addressOffset>
<access>read-only</access>
<resetValue>0x00000050</resetValue>
<fields>
<field>
<name>T</name>
<description>T (segment end)register.</description>
<lsb>0</lsb>
<msb>7</msb>
</field>
</fields>
</register>
</cluster>
<cluster>
<name>NFC</name>
<description>Unspecified</description>
<addressOffset>0x450</addressOffset>
<register>
<name>TAGHEADER0</name>
<description>Default header for NFC Tag. Software can read these values to populate NFCID1_3RD_LAST, NFCID1_2ND_LAST and NFCID1_LAST.</description>
<addressOffset>0x000</addressOffset>
<access>read-only</access>
<resetValue>0xFFFFFF5F</resetValue>
<fields>
<field>
<name>MFGID</name>
<description>Default Manufacturer ID: Nordic Semiconductor ASA has ICM 0x5F</description>
<lsb>0</lsb>
<msb>7</msb>
</field>
<field>
<name>UD1</name>
<description>Unique identifier byte 1</description>
<lsb>8</lsb>
<msb>15</msb>
</field>
<field>
<name>UD2</name>
<description>Unique identifier byte 2</description>
<lsb>16</lsb>
<msb>23</msb>
</field>
<field>
<name>UD3</name>
<description>Unique identifier byte 3</description>
<lsb>24</lsb>
<msb>31</msb>
</field>
</fields>
</register>
<register>
<name>TAGHEADER1</name>
<description>Default header for NFC Tag. Software can read these values to populate NFCID1_3RD_LAST, NFCID1_2ND_LAST and NFCID1_LAST.</description>
<addressOffset>0x004</addressOffset>
<access>read-only</access>
<resetValue>0xFFFFFFFF</resetValue>
<fields>
<field>
<name>UD4</name>
<description>Unique identifier byte 4</description>
<lsb>0</lsb>
<msb>7</msb>
</field>
<field>
<name>UD5</name>
<description>Unique identifier byte 5</description>
<lsb>8</lsb>
<msb>15</msb>
</field>
<field>
<name>UD6</name>
<description>Unique identifier byte 6</description>
<lsb>16</lsb>
<msb>23</msb>
</field>
<field>
<name>UD7</name>
<description>Unique identifier byte 7</description>
<lsb>24</lsb>
<msb>31</msb>
</field>
</fields>
</register>
<register>
<name>TAGHEADER2</name>
<description>Default header for NFC Tag. Software can read these values to populate NFCID1_3RD_LAST, NFCID1_2ND_LAST and NFCID1_LAST.</description>
<addressOffset>0x008</addressOffset>
<access>read-only</access>
<resetValue>0xFFFFFFFF</resetValue>
<fields>
<field>
<name>UD8</name>
<description>Unique identifier byte 8</description>
<lsb>0</lsb>
<msb>7</msb>
</field>
<field>
<name>UD9</name>
<description>Unique identifier byte 9</description>
<lsb>8</lsb>
<msb>15</msb>
</field>
<field>
<name>UD10</name>
<description>Unique identifier byte 10</description>
<lsb>16</lsb>
<msb>23</msb>
</field>
<field>
<name>UD11</name>
<description>Unique identifier byte 11</description>
<lsb>24</lsb>
<msb>31</msb>
</field>
</fields>
</register>
<register>
<name>TAGHEADER3</name>
<description>Default header for NFC Tag. Software can read these values to populate NFCID1_3RD_LAST, NFCID1_2ND_LAST and NFCID1_LAST.</description>
<addressOffset>0x00C</addressOffset>
<access>read-only</access>
<resetValue>0xFFFFFFFF</resetValue>
<fields>
<field>
<name>UD12</name>
<description>Unique identifier byte 12</description>
<lsb>0</lsb>
<msb>7</msb>
</field>
<field>
<name>UD13</name>
<description>Unique identifier byte 13</description>
<lsb>8</lsb>
<msb>15</msb>
</field>
<field>
<name>UD14</name>
<description>Unique identifier byte 14</description>
<lsb>16</lsb>
<msb>23</msb>
</field>
<field>
<name>UD15</name>
<description>Unique identifier byte 15</description>
<lsb>24</lsb>
<msb>31</msb>
</field>
</fields>
</register>
</cluster>
</registers>
</peripheral>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment