Changes in / [4aa2a27:fd07e57b] in mainline


Ignore:
Files:
2 added
9 deleted
16 edited

Legend:

Unmodified
Added
Removed
  • HelenOS.config

    r4aa2a27 rfd07e57b  
    7171@ "beagleboardxm" BeagleBoard-xM
    7272@ "beaglebone" BeagleBone
    73 @ "raspberrypi" Raspberry Pi
    7473! [PLATFORM=arm32] MACHINE (choice)
    7574
     
    109108! [PLATFORM=arm32&MACHINE=integratorcp] PROCESSOR (choice)
    110109
    111 % CPU type
    112 @ "arm1176" ARM1176
    113 ! [PLATFORM=arm32&MACHINE=raspberrypi] PROCESSOR (choice)
    114110
    115111# Add more ARMv4 CPUs
     
    122118@ "armv5" ARMv5
    123119! [PLATFORM=arm32&(PROCESSOR=arm926ej_s)] PROCESSOR_ARCH (choice)
    124 
    125 # Add more ARMv6 CPUs
    126 % CPU arch
    127 @ "armv6" ARMv6
    128 ! [PLATFORM=arm32&(PROCESSOR=arm1176)] PROCESSOR_ARCH (choice)
    129120
    130121# Add more ARMv7-A CPUs
     
    476467% Output device class
    477468@ "generic" Monitor or serial line
    478 ! [PLATFORM=arm32&(MACHINE=gta02|MACHINE=integratorcp|MACHINE=beagleboardxm|MACHINE=beaglebone|MACHINE=raspberrypi)] CONFIG_HID_OUT (choice)
     469! [PLATFORM=arm32&(MACHINE=gta02|MACHINE=integratorcp|MACHINE=beagleboardxm|MACHINE=beaglebone)] CONFIG_HID_OUT (choice)
    479470
    480471% Output device class
     
    507498! [(CONFIG_HID_IN=generic|CONFIG_HID_IN=serial)&PLATFORM=ia64&MACHINE=i460GX] CONFIG_NS16550 (y/n)
    508499
    509 % Support for PL011 UART
    510 ! [(CONFIG_HID_OUT=generic|CONFIG_HID_OUT=serial)&PLATFORM=arm32&(MACHINE=integratorcp|MACHINE=raspberrypi)] CONFIG_PL011_UART (y/n)
     500% Support for ARM926 on-chip UART
     501! [(CONFIG_HID_OUT=generic|CONFIG_HID_OUT=serial)&PLATFORM=arm32&MACHINE=integratorcp] CONFIG_ARM926_UART (y/n)
    511502
    512503% Support for Samsung S3C24XX on-chip UART
     
    528519! [PLATFORM=sparc32&MACHINE=leon3] CONFIG_GRLIB_IRQMP (y)
    529520
    530 % Support for BCM2835 mailbox
    531 ! [PLATFORM=arm32&MACHINE=raspberrypi] CONFIG_BCM2835_MAILBOX (y/n)
    532 
    533521% Support for i8042 controller
    534522! [CONFIG_PC_KBD=y] CONFIG_I8042 (y)
     
    550538
    551539% Serial line input module
    552 ! [CONFIG_DSRLNIN=y|(PLATFORM=sparc32)|(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)
     540! [CONFIG_DSRLNIN=y|(PLATFORM=sparc32)|(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)
    553541
    554542% EGA support
  • boot/arch/arm32/Makefile.inc

    r4aa2a27 rfd07e57b  
    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

    r4aa2a27 rfd07e57b  
    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

    r4aa2a27 rfd07e57b  
    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

    r4aa2a27 rfd07e57b  
    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

    r4aa2a27 rfd07e57b  
    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

    r4aa2a27 rfd07e57b  
    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

    r4aa2a27 rfd07e57b  
    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

    r4aa2a27 rfd07e57b  
    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

    r4aa2a27 rfd07e57b  
    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

    r4aa2a27 rfd07e57b  
    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

    r4aa2a27 rfd07e57b  
    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/include/arch/mm/page_armv6.h

    r4aa2a27 rfd07e57b  
    278278        }
    279279       
    280 #if defined(PROCESSOR_ARCH_armv6)
    281         /* FIXME: this disables caches */
    282         p->shareable = 1;
    283 #else
    284280        /* Shareable is ignored for devices (non-cacheable),
    285281         * turn it off for normal memory. */
    286282        p->shareable = 0;
    287 #endif
    288283       
    289284        p->non_global = !(flags & PAGE_GLOBAL);
  • kernel/arch/arm32/src/mach/integratorcp/integratorcp.c

    r4aa2a27 rfd07e57b  
    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
     
    315315                stdout_wire(fbdev);
    316316#endif
    317 #ifdef CONFIG_PL011_UART
    318         if (pl011_uart_init(&icp.uart, ICP_UART0_IRQ, ICP_UART))
     317#ifdef CONFIG_ARM926_UART
     318        if (arm926_uart_init(&icp.uart, ARM926_UART0_IRQ,
     319            ARM926_UART0_BASE_ADDRESS, sizeof(arm926_uart_regs_t)))
    319320                stdout_wire(&icp.uart.outdev);
    320321#endif
     
    350351            ICP_KBD);
    351352
    352 #ifdef CONFIG_PL011_UART
     353#ifdef CONFIG_ARM926_UART
    353354        srln_instance_t *srln_instance = srln_init();
    354355        if (srln_instance) {
    355356                indev_t *sink = stdin_wire();
    356357                indev_t *srln = srln_wire(srln_instance, sink);
    357                 pl011_uart_input_wire(&icp.uart, srln);
    358                 icp_irqc_unmask(ICP_UART0_IRQ);
     358                arm926_uart_input_wire(&icp.uart, srln);
     359                icp_irqc_unmask(ARM926_UART0_IRQ);
    359360        }
    360361#endif
  • kernel/arch/arm32/src/machine_func.c

    r4aa2a27 rfd07e57b  
    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/genarch/Makefile.inc

    r4aa2a27 rfd07e57b  
    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
     
    123123        GENARCH_SOURCES += \
    124124                genarch/src/drivers/am335x/timer.c
    125 endif
    126 
    127 ifeq ($(CONFIG_BCM2835_MAILBOX),y)
    128         GENARCH_SOURCES += \
    129                 genarch/src/drivers/bcm2835/mbox.c
    130125endif
    131126
Note: See TracChangeset for help on using the changeset viewer.