Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/arm32/src/mach/beagleboardxm/beagleboardxm.c

    r3c9646b ra14f346  
    3535#include <arch/exception.h>
    3636#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>
    4040#include <genarch/fb/fb.h>
    4141#include <genarch/srln/srln.h>
     
    6060
    6161static 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;
    6464        amdm37x_gpt_t timer;
    6565} beagleboard;
     
    8585static void bb_timer_irq_handler(irq_t *irq)
    8686{
    87         amdm37x_gpt_irq_ack(&beagleboard.timer);
    88 
    8987        /*
    9088         * We are holding a lock which prevents preemption.
    9189         * Release the lock, call clock() and reacquire the lock again.
    9290         */
     91        amdm37x_gpt_irq_ack(&beagleboard.timer);
    9392        spinlock_unlock(&irq->lock);
    9493        clock();
     
    103102            PAGE_NOT_CACHEABLE);
    104103        ASSERT(beagleboard.irc_addr);
    105         omap_irc_init(beagleboard.irc_addr);
     104        amdm37x_irc_init(beagleboard.irc_addr);
    106105
    107106        /* Initialize timer. Use timer1, because it is in WKUP power domain
     
    123122
    124123        /* Enable timer interrupt */
    125         omap_irc_enable(beagleboard.irc_addr, AMDM37x_GPT1_IRQ);
     124        amdm37x_irc_enable(beagleboard.irc_addr, AMDM37x_GPT1_IRQ);
    126125
    127126        /* Start timer here */
     
    147146static void bbxm_irq_exception(unsigned int exc_no, istate_t *istate)
    148147{
    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);
    150150
    151151        irq_t *irq = irq_dispatch_and_lock(inum);
     
    159159                    CPU->id, inum);
    160160        }
    161         /** amdm37x manual ch. 12.5.2 (p. 2428) places irc ack at the end
    162          * of ISR. DO this to avoid strange behavior. */
    163         omap_irc_irq_ack(beagleboard.irc_addr);
    164161}
    165162
     
    170167static void bbxm_output_init(void)
    171168{
    172 #ifdef CONFIG_OMAP_UART
    173169        /* 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,
    175171            AMDM37x_UART3_IRQ, AMDM37x_UART3_BASE_ADDRESS, AMDM37x_UART3_SIZE);
    176172        if (ok) {
    177173                stdout_wire(&beagleboard.uart.outdev);
    178174        }
    179 #endif
    180175}
    181176
    182177static void bbxm_input_init(void)
    183178{
    184 #ifdef CONFIG_OMAP_UART
    185179        srln_instance_t *srln_instance = srln_init();
    186180        if (srln_instance) {
    187181                indev_t *sink = stdin_wire();
    188182                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);
    191185        }
    192 #endif
    193186}
    194187
Note: See TracChangeset for help on using the changeset viewer.