Changes in kernel/arch/arm32/src/mach/beagleboardxm/beagleboardxm.c [3c9646b:a14f346] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/arm32/src/mach/beagleboardxm/beagleboardxm.c
r3c9646b ra14f346 35 35 #include <arch/exception.h> 36 36 #include <arch/mach/beagleboardxm/beagleboardxm.h> 37 #include <genarch/drivers/amdm37x /uart.h>38 #include <genarch/drivers/amdm37x /irc.h>39 #include <genarch/drivers/amdm37x /gpt.h>37 #include <genarch/drivers/amdm37x_irc/amdm37x_irc.h> 38 #include <genarch/drivers/amdm37x_uart/amdm37x_uart.h> 39 #include <genarch/drivers/amdm37x_gpt/amdm37x_gpt.h> 40 40 #include <genarch/fb/fb.h> 41 41 #include <genarch/srln/srln.h> … … 60 60 61 61 static struct beagleboard { 62 omap_irc_regs_t *irc_addr;63 omap_uart_t uart;62 amdm37x_irc_regs_t *irc_addr; 63 amdm37x_uart_t uart; 64 64 amdm37x_gpt_t timer; 65 65 } beagleboard; … … 85 85 static void bb_timer_irq_handler(irq_t *irq) 86 86 { 87 amdm37x_gpt_irq_ack(&beagleboard.timer);88 89 87 /* 90 88 * We are holding a lock which prevents preemption. 91 89 * Release the lock, call clock() and reacquire the lock again. 92 90 */ 91 amdm37x_gpt_irq_ack(&beagleboard.timer); 93 92 spinlock_unlock(&irq->lock); 94 93 clock(); … … 103 102 PAGE_NOT_CACHEABLE); 104 103 ASSERT(beagleboard.irc_addr); 105 omap_irc_init(beagleboard.irc_addr);104 amdm37x_irc_init(beagleboard.irc_addr); 106 105 107 106 /* Initialize timer. Use timer1, because it is in WKUP power domain … … 123 122 124 123 /* Enable timer interrupt */ 125 omap_irc_enable(beagleboard.irc_addr, AMDM37x_GPT1_IRQ);124 amdm37x_irc_enable(beagleboard.irc_addr, AMDM37x_GPT1_IRQ); 126 125 127 126 /* Start timer here */ … … 147 146 static void bbxm_irq_exception(unsigned int exc_no, istate_t *istate) 148 147 { 149 const unsigned inum = omap_irc_inum_get(beagleboard.irc_addr); 148 const unsigned inum = amdm37x_irc_inum_get(beagleboard.irc_addr); 149 amdm37x_irc_irq_ack(beagleboard.irc_addr); 150 150 151 151 irq_t *irq = irq_dispatch_and_lock(inum); … … 159 159 CPU->id, inum); 160 160 } 161 /** amdm37x manual ch. 12.5.2 (p. 2428) places irc ack at the end162 * of ISR. DO this to avoid strange behavior. */163 omap_irc_irq_ack(beagleboard.irc_addr);164 161 } 165 162 … … 170 167 static void bbxm_output_init(void) 171 168 { 172 #ifdef CONFIG_OMAP_UART173 169 /* UART3 is wired to external RS232 connector */ 174 const bool ok = omap_uart_init(&beagleboard.uart,170 const bool ok = amdm37x_uart_init(&beagleboard.uart, 175 171 AMDM37x_UART3_IRQ, AMDM37x_UART3_BASE_ADDRESS, AMDM37x_UART3_SIZE); 176 172 if (ok) { 177 173 stdout_wire(&beagleboard.uart.outdev); 178 174 } 179 #endif180 175 } 181 176 182 177 static void bbxm_input_init(void) 183 178 { 184 #ifdef CONFIG_OMAP_UART185 179 srln_instance_t *srln_instance = srln_init(); 186 180 if (srln_instance) { 187 181 indev_t *sink = stdin_wire(); 188 182 indev_t *srln = srln_wire(srln_instance, sink); 189 omap_uart_input_wire(&beagleboard.uart, srln);190 omap_irc_enable(beagleboard.irc_addr, AMDM37x_UART3_IRQ);183 amdm37x_uart_input_wire(&beagleboard.uart, srln); 184 amdm37x_irc_enable(beagleboard.irc_addr, AMDM37x_UART3_IRQ); 191 185 } 192 #endif193 186 } 194 187
Note:
See TracChangeset
for help on using the changeset viewer.