Changeset 904b1bc in mainline for kernel/genarch/include/genarch/drivers/omap/irc.h
- Timestamp:
- 2018-05-22T10:36:58Z (6 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- a4eb3ba2
- Parents:
- 4f8772d4
- git-author:
- Jiri Svoboda <jiri@…> (2018-05-21 17:36:30)
- git-committer:
- Jiri Svoboda <jiri@…> (2018-05-22 10:36:58)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/genarch/include/genarch/drivers/omap/irc.h
r4f8772d4 r904b1bc 50 50 const uint8_t padd0[12]; 51 51 52 /* This register controls the various parameters 52 /* 53 * This register controls the various parameters 53 54 * of the OCP interface. 54 55 */ … … 78 79 #define OMAP_IRC_CONTROL_NEWFIQAGR_FLAG (1 << 1) 79 80 80 /* This register controls protection of the other registers. 81 /* 82 * This register controls protection of the other registers. 81 83 * This register can only be accessed in priviledged mode, regardless 82 84 * of the current value of the protection bit. … … 85 87 #define OMAP_IRC_PROTECTION_FLAG (1 << 0) 86 88 87 /* This register controls the clock auto-idle for the functional 89 /* 90 * This register controls the clock auto-idle for the functional 88 91 * clock and the input synchronizers. 89 92 */ … … 119 122 ioport32_t mir; 120 123 121 /* This register is used to clear the interrupt mask bits, 124 /* 125 * This register is used to clear the interrupt mask bits, 122 126 * Write 1 clears the mask bit to 0. 123 127 */ 124 128 ioport32_t mir_clear; 125 129 126 /* This register is used to set the interrupt mask bits, 130 /* 131 * This register is used to set the interrupt mask bits, 127 132 * Write 1 sets the mask bit to 1. 128 133 */ 129 134 ioport32_t mir_set; 130 135 131 /* This register is used to set the software interrupt bits, 136 /* 137 * This register is used to set the software interrupt bits, 132 138 * it is also used to read the current active software 133 139 * interrupts. … … 136 142 ioport32_t isr_set; 137 143 138 /* This register is used to clear the software interrups bits. 144 /* 145 * This register is used to clear the software interrups bits. 139 146 * Write 1 clears the software interrupt bits to 0. 140 147 */ … … 150 157 const uint32_t padd4[8 * OMAP_IRC_IRQ_GROUPS_PAD]; 151 158 152 /* These registers contain the priority for the interrups and 159 /* 160 * These registers contain the priority for the interrups and 153 161 * the FIQ/IRQ steering. 154 162 */ 155 163 ioport32_t ilr[OMAP_IRC_IRQ_COUNT]; 164 165 } omap_irc_regs_t; 166 156 167 /* 0 = Interrupt routed to IRQ, 1 = interrupt routed to FIQ */ 157 168 #define OMAP_IRC_ILR_FIQNIRQ_FLAG (1 << 0) … … 159 170 #define OMAP_IRC_ILR_PRIORITY_SHIFT 2 160 171 161 } omap_irc_regs_t;162 163 172 static inline void omap_irc_init(omap_irc_regs_t *regs) 164 173 { … … 167 176 /* Initialization sequence */ 168 177 169 /* 1 - Program the SYSCONFIG register: if necessary, enable the 178 /* 179 * 1 - Program the SYSCONFIG register: if necessary, enable the 170 180 * autogating by setting the AUTOIDLE bit. 171 181 */ 172 182 regs->sysconfig &= ~OMAP_IRC_SYSCONFIG_AUTOIDLE_FLAG; 173 183 174 /* 2 - Program the IDLE register: if necessary, disable functional 184 /* 185 * 2 - Program the IDLE register: if necessary, disable functional 175 186 * clock autogating or enable synchronizer autogating by setting 176 187 * the FUNCIDLE bit or the TURBO bit accordingly. … … 179 190 regs->idle &= ~OMAP_IRC_IDLE_TURBO_FLAG; 180 191 181 /* 3 - Program ILRm register for each interrupt line: Assign a 192 /* 193 * 3 - Program ILRm register for each interrupt line: Assign a 182 194 * priority level and set the FIQNIRQ bit for an FIQ interrupt 183 195 * (by default, interrupts are mapped to IRQ and … … 188 200 regs->ilr[i] = 0; 189 201 190 /* 4 - Program the MIRn register: Enable interrupts (by default, 202 /* 203 * 4 - Program the MIRn register: Enable interrupts (by default, 191 204 * all interrupt lines are masked). 192 205 */
Note:
See TracChangeset
for help on using the changeset viewer.