1 | //! Trace Port Interface Unit; |
2 | //! |
3 | //! *NOTE* Not available on Armv6-M. |
4 | |
5 | use volatile_register::{RO, RW, WO}; |
6 | |
7 | /// Register block |
8 | #[repr (C)] |
9 | pub struct RegisterBlock { |
10 | /// Supported Parallel Port Sizes |
11 | pub sspsr: RO<u32>, |
12 | /// Current Parallel Port Size |
13 | pub cspsr: RW<u32>, |
14 | reserved0: [u32; 2], |
15 | /// Asynchronous Clock Prescaler |
16 | pub acpr: RW<u32>, |
17 | reserved1: [u32; 55], |
18 | /// Selected Pin Control |
19 | pub sppr: RW<u32>, |
20 | reserved2: [u32; 132], |
21 | /// Formatter and Flush Control |
22 | pub ffcr: RW<u32>, |
23 | reserved3: [u32; 810], |
24 | /// Lock Access |
25 | pub lar: WO<u32>, |
26 | /// Lock Status |
27 | pub lsr: RO<u32>, |
28 | reserved4: [u32; 4], |
29 | /// TPIU Type |
30 | pub _type: RO<u32>, |
31 | } |
32 | |