kmi.hh (11174:5a9019db4a08) | kmi.hh (11895:ff66da931b6d) |
---|---|
1/* | 1/* |
2 * Copyright (c) 2010 ARM Limited | 2 * Copyright (c) 2010, 2017 ARM Limited |
3 * All rights reserved 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software 9 * licensed hereunder. You may use the software subject to the license 10 * terms below provided that you ensure that this notice is replicated --- 85 unchanged lines hidden (view full) --- 96 */ 97 uint8_t clkdiv; 98 99 BitUnion8(InterruptReg) 100 Bitfield<0> rx; 101 Bitfield<1> tx; 102 EndBitUnion(InterruptReg) 103 | 3 * All rights reserved 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software 9 * licensed hereunder. You may use the software subject to the license 10 * terms below provided that you ensure that this notice is replicated --- 85 unchanged lines hidden (view full) --- 96 */ 97 uint8_t clkdiv; 98 99 BitUnion8(InterruptReg) 100 Bitfield<0> rx; 101 Bitfield<1> tx; 102 EndBitUnion(InterruptReg) 103 |
104 /** interrupt status register. */ 105 InterruptReg interrupts; 106 | |
107 /** raw interrupt register (unmasked) */ 108 InterruptReg rawInterrupts; 109 110 /** If the controller should ignore the next data byte and acknowledge it. 111 * The driver is attempting to setup some feature we don't care about 112 */ 113 int ackNext; 114 --- 9 unchanged lines hidden (view full) --- 124 125 /** Update the status of the interrupt registers and schedule an interrupt 126 * if required */ 127 void updateIntStatus(); 128 129 /** Function to generate interrupt */ 130 void generateInterrupt(); 131 | 104 /** raw interrupt register (unmasked) */ 105 InterruptReg rawInterrupts; 106 107 /** If the controller should ignore the next data byte and acknowledge it. 108 * The driver is attempting to setup some feature we don't care about 109 */ 110 int ackNext; 111 --- 9 unchanged lines hidden (view full) --- 121 122 /** Update the status of the interrupt registers and schedule an interrupt 123 * if required */ 124 void updateIntStatus(); 125 126 /** Function to generate interrupt */ 127 void generateInterrupt(); 128 |
129 /** Get interrupt value */ 130 InterruptReg getInterrupt() const { 131 InterruptReg tmp_interrupt(0); 132 tmp_interrupt.tx = rawInterrupts.tx & control.txint_enable; 133 tmp_interrupt.rx = rawInterrupts.rx & control.rxint_enable; 134 return tmp_interrupt; 135 } |
|
132 /** Wrapper to create an event out of the thing */ 133 EventWrapper<Pl050, &Pl050::generateInterrupt> intEvent; 134 135 /** Receive queue. This list contains all the pending commands that 136 * need to be sent to the driver 137 */ 138 std::list<uint8_t> rxQueue; 139 --- 25 unchanged lines hidden --- | 136 /** Wrapper to create an event out of the thing */ 137 EventWrapper<Pl050, &Pl050::generateInterrupt> intEvent; 138 139 /** Receive queue. This list contains all the pending commands that 140 * need to be sent to the driver 141 */ 142 std::list<uint8_t> rxQueue; 143 --- 25 unchanged lines hidden --- |