Changeset 19b3cc6 in mainline for kernel/genarch


Ignore:
Timestamp:
2014-01-17T23:12:10Z (12 years ago)
Author:
Jan Vesely <jano.vesely@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
e26a9d95
Parents:
fddffb2 (diff), facc34d (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge libdrv-cleanup branch (includes mainline changes)

Location:
kernel/genarch
Files:
5 added
1 deleted
4 edited
1 moved

Legend:

Unmodified
Added
Removed
  • kernel/genarch/Makefile.inc

    rfddffb2 r19b3cc6  
    9090endif
    9191
    92 ifeq ($(CONFIG_ARM926_UART),y)
     92ifeq ($(CONFIG_PL011_UART),y)
    9393        GENARCH_SOURCES += \
    94                 genarch/src/drivers/arm926_uart/arm926_uart.c
     94                genarch/src/drivers/pl011/pl011.c
    9595endif
    9696
     
    123123        GENARCH_SOURCES += \
    124124                genarch/src/drivers/am335x/timer.c
     125endif
     126
     127ifeq ($(CONFIG_BCM2835_MAILBOX),y)
     128        GENARCH_SOURCES += \
     129                genarch/src/drivers/bcm2835/mbox.c
    125130endif
    126131
  • kernel/genarch/src/acpi/acpi.c

    rfddffb2 r19b3cc6  
    4141#include <mm/page.h>
    4242#include <mm/km.h>
    43 #include <print.h>
     43#include <log.h>
    4444
    4545#define RSDP_SIGNATURE      "RSD PTR "
     
    211211       
    212212        if ((acpi_rsdt) && (!acpi_sdt_check((uint8_t *) acpi_rsdt))) {
    213                 printf("RSDT: bad checksum\n");
     213                log(LF_ARCH, LVL_ERROR, "RSDT: bad checksum");
    214214                return;
    215215        }
    216216       
    217217        if ((acpi_xsdt) && (!acpi_sdt_check((uint8_t *) acpi_xsdt))) {
    218                 printf("XSDT: bad checksum\n");
     218                log(LF_ARCH, LVL_ERROR, "XSDT: bad checksum");
    219219                return;
    220220        }
  • kernel/genarch/src/acpi/madt.c

    rfddffb2 r19b3cc6  
    4343#include <debug.h>
    4444#include <config.h>
    45 #include <print.h>
     45#include <log.h>
    4646#include <mm/slab.h>
    4747#include <memstr.h>
     
    236236                case MADT_L_SAPIC:
    237237                case MADT_PLATFORM_INTR_SRC:
    238                         printf("MADT: Skipping %s entry (type=%" PRIu8 ")\n",
     238                        log(LF_ARCH, LVL_WARN,
     239                            "MADT: Skipping %s entry (type=%" PRIu8 ")",
    239240                            entry[hdr->type], hdr->type);
    240241                        break;
     
    242243                        if ((hdr->type >= MADT_RESERVED_SKIP_BEGIN)
    243244                            && (hdr->type <= MADT_RESERVED_SKIP_END))
    244                                 printf("MADT: Skipping reserved entry (type=%" PRIu8 ")\n",
     245                                log(LF_ARCH, LVL_NOTE,
     246                                    "MADT: Skipping reserved entry (type=%" PRIu8 ")",
    245247                                    hdr->type);
    246248                               
    247249                        if (hdr->type >= MADT_RESERVED_OEM_BEGIN)
    248                                 printf("MADT: Skipping OEM entry (type=%" PRIu8 ")\n",
     250                                log(LF_ARCH, LVL_NOTE,
     251                                    "MADT: Skipping OEM entry (type=%" PRIu8 ")",
    249252                                    hdr->type);
    250253                       
  • kernel/genarch/src/drivers/pl011/pl011.c

    rfddffb2 r19b3cc6  
    3232/**
    3333 * @file
    34  * @brief ARM926 on-chip UART (PrimeCell UART, PL011) driver.
     34 * @brief ARM PrimeCell PL011 UART driver.
    3535 */
    3636
    37 #include <genarch/drivers/arm926_uart/arm926_uart.h>
     37#include <genarch/drivers/pl011/pl011.h>
    3838#include <console/chardev.h>
    3939#include <console/console.h>
     
    4646#include <str.h>
    4747
    48 static void arm926_uart_sendb(arm926_uart_t *uart, uint8_t byte)
     48static void pl011_uart_sendb(pl011_uart_t *uart, uint8_t byte)
    4949{
    5050        /* Wait for space becoming available in Tx FIFO. */
    5151        // TODO make pio_read accept consts pointers and remove the cast
    52         while ((pio_read_32((ioport32_t*)&uart->regs->flag) & ARM926_UART_FLAG_TXFF_FLAG) != 0)
     52        while ((pio_read_32((ioport32_t*)&uart->regs->flag) & PL011_UART_FLAG_TXFF_FLAG) != 0)
    5353                ;
    5454
     
    5656}
    5757
    58 static void arm926_uart_putchar(outdev_t *dev, wchar_t ch)
     58static void pl011_uart_putchar(outdev_t *dev, wchar_t ch)
    5959{
    60         arm926_uart_t *uart = dev->data;
     60        pl011_uart_t *uart = dev->data;
    6161
    6262        if (!ascii_check(ch)) {
    63                 arm926_uart_sendb(uart, U_SPECIAL);
     63                pl011_uart_sendb(uart, U_SPECIAL);
    6464        } else {
    6565                if (ch == '\n')
    66                         arm926_uart_sendb(uart, (uint8_t) '\r');
    67                 arm926_uart_sendb(uart, (uint8_t) ch);
     66                        pl011_uart_sendb(uart, (uint8_t) '\r');
     67                pl011_uart_sendb(uart, (uint8_t) ch);
    6868        }
    6969}
    7070
    71 static outdev_operations_t arm926_uart_ops = {
    72         .write = arm926_uart_putchar,
     71static outdev_operations_t pl011_uart_ops = {
     72        .write = pl011_uart_putchar,
    7373        .redraw = NULL,
    7474};
    7575
    76 static irq_ownership_t arm926_uart_claim(irq_t *irq)
     76static irq_ownership_t pl011_uart_claim(irq_t *irq)
    7777{
    7878        return IRQ_ACCEPT;
    7979}
    8080
    81 static void arm926_uart_irq_handler(irq_t *irq)
     81static void pl011_uart_irq_handler(irq_t *irq)
    8282{
    83         arm926_uart_t *uart = irq->instance;
     83        pl011_uart_t *uart = irq->instance;
    8484
    8585        // TODO make pio_read accept const pointers and remove the cast
    86         while ((pio_read_32((ioport32_t*)&uart->regs->flag) & ARM926_UART_FLAG_RXFE_FLAG) == 0) {
     86        while ((pio_read_32((ioport32_t*)&uart->regs->flag) & PL011_UART_FLAG_RXFE_FLAG) == 0) {
    8787                /* We ignore all error flags here */
    8888                const uint8_t data = pio_read_32(&uart->regs->data);
     
    9191        }
    9292        /* Ack interrupts */
    93         pio_write_32(&uart->regs->interrupt_clear, ARM926_UART_INTERRUPT_ALL);
     93        pio_write_32(&uart->regs->interrupt_clear, PL011_UART_INTERRUPT_ALL);
    9494}
    9595
    96 bool arm926_uart_init(
    97     arm926_uart_t *uart, inr_t interrupt, uintptr_t addr, size_t size)
     96bool pl011_uart_init(pl011_uart_t *uart, inr_t interrupt, uintptr_t addr)
    9897{
    9998        ASSERT(uart);
    100         uart->regs = (void*)km_map(addr, size, PAGE_NOT_CACHEABLE);
    101 
     99        uart->regs = (void*)km_map(addr, sizeof(pl011_uart_regs_t),
     100                                   PAGE_NOT_CACHEABLE);
    102101        ASSERT(uart->regs);
    103102
     103        /* Disable UART */
     104        uart->regs->control &= ~ PL011_UART_CONTROL_UARTEN_FLAG;
     105
    104106        /* Enable hw flow control */
    105         uart->regs->control = 0 |
    106             ARM926_UART_CONTROL_UARTEN_FLAG |
    107             ARM926_UART_CONTROL_RTSE_FLAG |
    108             ARM926_UART_CONTROL_CTSE_FLAG;
     107        uart->regs->control |=
     108                PL011_UART_CONTROL_RTSE_FLAG |
     109                PL011_UART_CONTROL_CTSE_FLAG;
    109110
    110111        /* Mask all interrupts */
    111112        uart->regs->interrupt_mask = 0;
     113        /* Clear interrupts */
     114        uart->regs->interrupt_clear = PL011_UART_INTERRUPT_ALL;
     115        /* Enable UART, TX and RX */
     116        uart->regs->control |=
     117                PL011_UART_CONTROL_UARTEN_FLAG |
     118                PL011_UART_CONTROL_TXE_FLAG |
     119                PL011_UART_CONTROL_RXE_FLAG;
    112120
    113         outdev_initialize("arm926_uart_dev", &uart->outdev, &arm926_uart_ops);
     121        outdev_initialize("pl011_uart_dev", &uart->outdev, &pl011_uart_ops);
    114122        uart->outdev.data = uart;
    115123
    116124        /* Initialize IRQ */
    117125        irq_initialize(&uart->irq);
    118         uart->irq.devno = device_assign_devno();
    119         uart->irq.inr = interrupt;
    120         uart->irq.claim = arm926_uart_claim;
    121         uart->irq.handler = arm926_uart_irq_handler;
    122         uart->irq.instance = uart;
     126        uart->irq.devno = device_assign_devno();
     127        uart->irq.inr = interrupt;
     128        uart->irq.claim = pl011_uart_claim;
     129        uart->irq.handler = pl011_uart_irq_handler;
     130        uart->irq.instance = uart;
    123131
    124132        return true;
    125133}
    126134
    127 void arm926_uart_input_wire(arm926_uart_t *uart, indev_t *indev)
     135void pl011_uart_input_wire(pl011_uart_t *uart, indev_t *indev)
    128136{
    129137        ASSERT(uart);
     
    132140        uart->indev = indev;
    133141        irq_register(&uart->irq);
    134         /* Enable receive interrupt */
    135         uart->regs->interrupt_mask |= ARM926_UART_INTERRUPT_RX_FLAG;
     142        /* Enable receive interrupts */
     143        uart->regs->interrupt_mask |=
     144                PL011_UART_INTERRUPT_RX_FLAG |
     145                PL011_UART_INTERRUPT_RT_FLAG;
    136146}
    137147
  • kernel/genarch/src/drivers/via-cuda/cuda.c

    rfddffb2 r19b3cc6  
    118118}
    119119
    120 #include <print.h>
     120#include <log.h>
    121121void cuda_wire(cuda_instance_t *instance, indev_t *kbrdin)
    122122{
     
    197197
    198198        if ((b & TREQ) != 0) {
    199                 printf("cuda_irq_listen: no TREQ?!\n");
     199                log(LF_OTHER, LVL_ERROR, "cuda_irq_listen: no TREQ?!");
    200200                return;
    201201        }
Note: See TracChangeset for help on using the changeset viewer.