Changes in / [dd0c8a0:13be2583] in mainline


Ignore:
Files:
2 added
9 deleted
16 edited

Legend:

Unmodified
Added
Removed
  • HelenOS.config

    rdd0c8a0 r13be2583  
    6666@ "beagleboardxm" BeagleBoard-xM
    6767@ "beaglebone" BeagleBone
    68 @ "raspberrypi" Raspberry Pi
    6968! [PLATFORM=arm32] MACHINE (choice)
    7069
     
    10099! [PLATFORM=arm32&MACHINE=integratorcp] PROCESSOR (choice)
    101100
    102 % CPU type
    103 @ "arm1176" ARM1176
    104 ! [PLATFORM=arm32&MACHINE=raspberrypi] PROCESSOR (choice)
    105101
    106102# Add more ARMv4 CPUs
     
    113109@ "armv5" ARMv5
    114110! [PLATFORM=arm32&(PROCESSOR=arm926ej_s)] PROCESSOR_ARCH (choice)
    115 
    116 # Add more ARMv6 CPUs
    117 % CPU arch
    118 @ "armv6" ARMv6
    119 ! [PLATFORM=arm32&(PROCESSOR=arm1176)] PROCESSOR_ARCH (choice)
    120111
    121112# Add more ARMv7-A CPUs
     
    451442% Output device class
    452443@ "generic" Monitor or serial line
    453 ! [PLATFORM=arm32&(MACHINE=gta02|MACHINE=integratorcp|MACHINE=beagleboardxm|MACHINE=beaglebone|MACHINE=raspberrypi)] CONFIG_HID_OUT (choice)
     444! [PLATFORM=arm32&(MACHINE=gta02|MACHINE=integratorcp|MACHINE=beagleboardxm|MACHINE=beaglebone)] CONFIG_HID_OUT (choice)
    454445
    455446% Output device class
     
    482473! [(CONFIG_HID_IN=generic|CONFIG_HID_IN=serial)&PLATFORM=ia64&MACHINE=i460GX] CONFIG_NS16550 (y/n)
    483474
    484 % Support for PL011 UART
    485 ! [(CONFIG_HID_OUT=generic|CONFIG_HID_OUT=serial)&PLATFORM=arm32&(MACHINE=integratorcp|MACHINE=raspberrypi)] CONFIG_PL011_UART (y/n)
     475% Support for ARM926 on-chip UART
     476! [(CONFIG_HID_OUT=generic|CONFIG_HID_OUT=serial)&PLATFORM=arm32&MACHINE=integratorcp] CONFIG_ARM926_UART (y/n)
    486477
    487478% Support for Samsung S3C24XX on-chip UART
     
    497488! [(CONFIG_HID_OUT=generic|CONFIG_HID_OUT=serial)&PLATFORM=arm32&(MACHINE=beagleboardxm|MACHINE=beaglebone)] CONFIG_OMAP_UART (y/n)
    498489
    499 % Support for BCM2835 mailbox
    500 ! [PLATFORM=arm32&MACHINE=raspberrypi] CONFIG_BCM2835_MAILBOX (y/n)
    501 
    502490% Support for i8042 controller
    503491! [CONFIG_PC_KBD=y] CONFIG_I8042 (y)
     
    519507
    520508% Serial line input module
    521 ! [CONFIG_DSRLNIN=y|(PLATFORM=arm32&MACHINE=gta02)|(PLATFORM=arm32&MACHINE=integratorcp&CONFIG_PL011_UART=y)|(PLATFORM=arm32&MACHINE=beaglebone&CONFIG_OMAP_UART=y)|(PLATFORM=arm32&MACHINE=beagleboardxm&CONFIG_OMAP_UART=y)|(PLATFORM=ia64&MACHINE=i460GX&CONFIG_NS16550=y)|(PLATFORM=ia64&MACHINE=ski)|(PLATFORM=sparc64&PROCESSOR=sun4v)|(PLATFORM=arm32&MACHINE=raspberrypi&CONFIG_PL011_UART=y)] CONFIG_SRLN (y)
     509! [CONFIG_DSRLNIN=y|(PLATFORM=arm32&MACHINE=gta02)|(PLATFORM=arm32&MACHINE=integratorcp&CONFIG_ARM926_UART=y)|(PLATFORM=arm32&MACHINE=beaglebone&CONFIG_OMAP_UART=y)|(PLATFORM=arm32&MACHINE=beagleboardxm&CONFIG_OMAP_UART=y)|(PLATFORM=ia64&MACHINE=i460GX&CONFIG_NS16550=y)|(PLATFORM=ia64&MACHINE=ski)|(PLATFORM=sparc64&PROCESSOR=sun4v)] CONFIG_SRLN (y)
    522510
    523511% EGA support
  • boot/arch/arm32/Makefile.inc

    rdd0c8a0 r13be2583  
    4343endif
    4444
    45 ifeq ($(MACHINE), raspberrypi)
    46         BOOT_OUTPUT = image.boot
    47         POST_OUTPUT = $(ROOT_PATH)/uImage.bin   
    48         LADDR = 0x00008000
    49         SADDR = 0x00008000
    50         POSTBUILD = Makefile.uboot           
    51 endif
    52 
    5345BFD_NAME = elf32-littlearm
    5446BFD_OUTPUT = $(BFD_NAME)
  • boot/arch/arm32/include/arch.h

    rdd0c8a0 r13be2583  
    4646#elif defined MACHINE_beaglebone
    4747#define BOOT_BASE       0x80000000
    48 #elif defined MACHINE_raspberrypi
    49 #define BOOT_BASE       0x00008000
    5048#else
    5149#define BOOT_BASE       0x00000000
  • boot/arch/arm32/include/main.h

    rdd0c8a0 r13be2583  
    7575#define ICP_SCONS_ADDR          0x16000000
    7676
    77 /** Raspberry PI serial console registers */
    78 #define BCM2835_UART0_BASE      0x20201000
    79 #define BCM2835_UART0_DR        (BCM2835_UART0_BASE + 0x00)
    80 #define BCM2835_UART0_FR        (BCM2835_UART0_BASE + 0x18)
    81 #define BCM2835_UART0_ILPR      (BCM2835_UART0_BASE + 0x20)
    82 #define BCM2835_UART0_IBRD      (BCM2835_UART0_BASE + 0x24)
    83 #define BCM2835_UART0_FBRD      (BCM2835_UART0_BASE + 0x28)
    84 #define BCM2835_UART0_LCRH      (BCM2835_UART0_BASE + 0x2C)
    85 #define BCM2835_UART0_CR        (BCM2835_UART0_BASE + 0x30)
    86 #define BCM2835_UART0_ICR       (BCM2835_UART0_BASE + 0x44)
    87 
    88 #define BCM2835_UART0_FR_TXFF   (1 << 5)
    89 #define BCM2835_UART0_LCRH_FEN  (1 << 4)
    90 #define BCM2835_UART0_LCRH_WL8  ((1 << 5) | (1 << 6))
    91 #define BCM2835_UART0_CR_UARTEN (1 << 0)
    92 #define BCM2835_UART0_CR_TXE    (1 << 8)
    93 #define BCM2835_UART0_CR_RXE    (1 << 9)
    94 
    95 
    96 
    9777extern void bootstrap(void);
    9878
  • boot/arch/arm32/include/mm.h

    rdd0c8a0 r13be2583  
    6868#define AM335x_RAM_END     0xC0000000
    6969
    70 /** Start of ram memory on BCM2835 */
    71 #define BCM2835_RAM_START   0
    72 /** End of ram memory on BCM2835 */
    73 #define BCM2835_RAM_END     0x20000000
    7470
    7571/* Page table level 0 entry - "section" format is used
  • boot/arch/arm32/src/mm.c

    rdd0c8a0 r13be2583  
    116116        if (address >= AM335x_RAM_START && address < AM335x_RAM_END)
    117117                return 1;
    118 #elif defined MACHINE_raspberrypi
    119         if (address < BCM2835_RAM_END)
    120                 return 1;
    121118#endif
    122119        return address * 0;
  • boot/arch/arm32/src/putchar.c

    rdd0c8a0 r13be2583  
    122122#endif
    123123
    124 #ifdef MACHINE_raspberrypi
    125 
    126 static int raspi_init;
    127 
    128 static inline void write32(uint32_t addr, uint32_t data)
    129 {
    130         *(volatile uint32_t *)(addr) = data;
    131 }
    132 
    133 static inline uint32_t read32(uint32_t addr)
    134 {
    135         return *(volatile uint32_t *)(addr);
    136 }
    137 
    138 static void scons_init_raspi(void)
    139 {
    140         write32(BCM2835_UART0_CR, 0x0);         /* Disable UART */
    141         write32(BCM2835_UART0_ICR, 0x7f);       /* Clear interrupts */
    142         write32(BCM2835_UART0_IBRD, 1);         /* Set integer baud rate */
    143         write32(BCM2835_UART0_FBRD, 40);        /* Set fractional baud rate */
    144         write32(BCM2835_UART0_LCRH,
    145                 BCM2835_UART0_LCRH_FEN |        /* Enable FIFOs */
    146                 BCM2835_UART0_LCRH_WL8);        /* Word length: 8 */
    147         write32(BCM2835_UART0_CR,
    148                 BCM2835_UART0_CR_UARTEN |       /* Enable UART */
    149                 BCM2835_UART0_CR_TXE |          /* Enable TX */
    150                 BCM2835_UART0_CR_RXE);          /* Enable RX */
    151 }
    152 
    153 static void scons_sendb_raspi(uint8_t byte)
    154 {
    155         if (!raspi_init) {
    156                 scons_init_raspi();
    157                 raspi_init = 1;
    158         }
    159 
    160         while (read32(BCM2835_UART0_FR) & BCM2835_UART0_FR_TXFF);
    161 
    162         write32(BCM2835_UART0_DR, byte);
    163 }
    164 #endif
    165 
    166124/** Send a byte to the serial console.
    167125 *
     
    181139#ifdef MACHINE_integratorcp
    182140        scons_sendb_icp(byte);
    183 #endif
    184 #ifdef MACHINE_raspberrypi
    185         scons_sendb_raspi(byte);
    186141#endif
    187142}
  • kernel/arch/arm32/Makefile.inc

    rdd0c8a0 r13be2583  
    8989endif
    9090
    91 ifeq ($(MACHINE),raspberrypi)
    92         ARCH_SOURCES += arch/$(KARCH)/src/mach/raspberrypi/raspberrypi.c
    93 endif
    94 
    9591ifeq ($(CONFIG_PL050),y)
    9692        ARCH_SOURCES += genarch/src/drivers/pl050/pl050.c
  • kernel/arch/arm32/_link.ld.in

    rdd0c8a0 r13be2583  
    1313#elif defined MACHINE_beaglebone
    1414#define KERNEL_LOAD_ADDRESS 0x80a00000
    15 #elif defined MACHINE_raspberrypi
    16 #define KERNEL_LOAD_ADDRESS 0x80a08000
    1715#else
    1816#define KERNEL_LOAD_ADDRESS 0x80a00000
  • kernel/arch/arm32/include/arch/cp15.h

    rdd0c8a0 r13be2583  
    231231        SCTLR_FAST_IRQ_EN_FLAG       = 1 << 21, /* Disable impl. specific feat*/
    232232        SCTLR_UNALIGNED_EN_FLAG      = 1 << 22, /* Must be 1 on armv7 */
    233         SCTLR_EXTENDED_PT_EN_FLAG    = 1 << 23,
    234233        SCTLR_IRQ_VECTORS_EN_FLAG    = 1 << 24,
    235234        SCTLR_BIG_ENDIAN_EXC_FLAG    = 1 << 25,
  • kernel/arch/arm32/include/arch/mach/integratorcp/integratorcp.h

    rdd0c8a0 r13be2583  
    4646#define ICP_IRQC_MAX_IRQ  8
    4747#define ICP_KBD_IRQ       3
    48 #define ICP_TIMER_IRQ     6
    49 #define ICP_UART0_IRQ     1
     48#define ICP_TIMER_IRQ    6
    5049
    5150/** Timer frequency */
  • kernel/arch/arm32/include/arch/mm/frame.h

    rdd0c8a0 r13be2583  
    6363#define BOOT_PAGE_TABLE_ADDRESS  0x80008000
    6464
    65 #elif defined MACHINE_raspberrypi
    66 
    67 #define PHYSMEM_START_ADDR       0x00000000
    68 #define BOOT_PAGE_TABLE_ADDRESS  0x00010000
    69 
    7065#else
    7166
  • kernel/arch/arm32/src/mach/integratorcp/integratorcp.c

    rdd0c8a0 r13be2583  
    3737#include <ipc/irq.h>
    3838#include <console/chardev.h>
    39 #include <genarch/drivers/pl011/pl011.h>
    4039#include <genarch/drivers/pl050/pl050.h>
     40#include <genarch/drivers/arm926_uart/arm926_uart.h>
    4141#include <genarch/kbrd/kbrd.h>
    4242#include <genarch/srln/srln.h>
     
    6161        icp_hw_map_t hw_map;
    6262        irq_t timer_irq;
    63         pl011_uart_t uart;
     63        arm926_uart_t uart;
    6464} icp;
    6565
     
    314314                stdout_wire(fbdev);
    315315#endif
    316 #ifdef CONFIG_PL011_UART
    317         if (pl011_uart_init(&icp.uart, ICP_UART0_IRQ, ICP_UART))
     316#ifdef CONFIG_ARM926_UART
     317        if (arm926_uart_init(&icp.uart, ARM926_UART0_IRQ,
     318            ARM926_UART0_BASE_ADDRESS, sizeof(arm926_uart_regs_t)))
    318319                stdout_wire(&icp.uart.outdev);
    319320#endif
     
    349350            ICP_KBD);
    350351
    351 #ifdef CONFIG_PL011_UART
     352#ifdef CONFIG_ARM926_UART
    352353        srln_instance_t *srln_instance = srln_init();
    353354        if (srln_instance) {
    354355                indev_t *sink = stdin_wire();
    355356                indev_t *srln = srln_wire(srln_instance, sink);
    356                 pl011_uart_input_wire(&icp.uart, srln);
    357                 icp_irqc_unmask(ICP_UART0_IRQ);
     357                arm926_uart_input_wire(&icp.uart, srln);
     358                icp_irqc_unmask(ARM926_UART0_IRQ);
    358359        }
    359360#endif
  • kernel/arch/arm32/src/machine_func.c

    rdd0c8a0 r13be2583  
    4343#include <arch/mach/beagleboardxm/beagleboardxm.h>
    4444#include <arch/mach/beaglebone/beaglebone.h>
    45 #include <arch/mach/raspberrypi/raspberrypi.h>
    4645
    4746/** Pointer to machine_ops structure being used. */
     
    5958#elif defined(MACHINE_beaglebone)
    6059        machine_ops = &bbone_machine_ops;
    61 #elif defined(MACHINE_raspberrypi)
    62         machine_ops = &raspberrypi_machine_ops;
    6360#else
    6461#error Machine type not defined.
  • kernel/arch/arm32/src/mm/page.c

    rdd0c8a0 r13be2583  
    5555        page_mapping_operations = &pt_mapping_operations;
    5656
    57 #ifdef PROCESSOR_ARCH_armv6
    58         /* Select ARMv6 and ARMv7 memory model */
    59         SCTLR_write(SCTLR_read() | SCTLR_EXTENDED_PT_EN_FLAG);
    60 #endif
    6157        page_table_lock(AS_KERNEL, true);
    6258       
  • kernel/genarch/Makefile.inc

    rdd0c8a0 r13be2583  
    9090endif
    9191
    92 ifeq ($(CONFIG_PL011_UART),y)
     92ifeq ($(CONFIG_ARM926_UART),y)
    9393        GENARCH_SOURCES += \
    94                 genarch/src/drivers/pl011/pl011.c
     94                genarch/src/drivers/arm926_uart/arm926_uart.c
    9595endif
    9696
     
    113113        GENARCH_SOURCES += \
    114114                genarch/src/drivers/am335x/timer.c
    115 endif
    116 
    117 ifeq ($(CONFIG_BCM2835_MAILBOX),y)
    118         GENARCH_SOURCES += \
    119                 genarch/src/drivers/bcm2835/mbox.c
    120115endif
    121116
Note: See TracChangeset for help on using the changeset viewer.