Changes in / [b933ec2:d216142] in mainline
- Files:
-
- 6 added
- 13 deleted
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
HelenOS.config
rb933ec2 rd216142 420 420 % Output device class 421 421 @ "generic" Monitor or serial line 422 ! [PLATFORM=arm32&(MACHINE=gta02|MACHINE=integratorcp|MACHINE=beagleboardxm |MACHINE=beaglebone)] CONFIG_HID_OUT (choice)422 ! [PLATFORM=arm32&(MACHINE=gta02|MACHINE=integratorcp|MACHINE=beagleboardxm)] CONFIG_HID_OUT (choice) 423 423 424 424 % Output device class … … 480 480 ! [PLATFORM=arm32&MACHINE=gta02] CONFIG_S3C24XX_IRQC (y) 481 481 482 % Support for TI AM335x on-chip UART 483 ! [(CONFIG_HID_OUT=generic|CONFIG_HID_OUT=serial)&PLATFORM=arm32&MACHINE=beaglebone] CONFIG_AM335X_UART (y/n) 484 485 % Support for TI AM335x timers support 486 ! [PLATFORM=arm32&MACHINE=beaglebone] CONFIG_AM335X_TIMERS (y) 487 488 % Support for TI AMDM37x on-chip UART 482 % Support for TI AMDM37X on-chip UART 489 483 ! [(CONFIG_HID_OUT=generic|CONFIG_HID_OUT=serial)&PLATFORM=arm32&MACHINE=beagleboardxm] CONFIG_AMDM37X_UART (y/n) 490 484 … … 508 502 509 503 % Serial line input module 510 ! [CONFIG_DSRLNIN=y|(PLATFORM=arm32&MACHINE=gta02)|(PLATFORM=arm32&MACHINE=integratorcp&CONFIG_ARM926_UART=y)|(PLATFORM=arm32&MACHINE=beaglebo ne&CONFIG_AM335X_UART=y)|(PLATFORM=arm32&MACHINE=beagleboardxm&CONFIG_AMDM37X_UART=y)|(PLATFORM=ia64&MACHINE=i460GX&CONFIG_NS16550=y)|(PLATFORM=ia64&MACHINE=ski)|(PLATFORM=sparc64&PROCESSOR=sun4v)] CONFIG_SRLN (y)504 ! [CONFIG_DSRLNIN=y|(PLATFORM=arm32&MACHINE=gta02)|(PLATFORM=arm32&MACHINE=integratorcp&CONFIG_ARM926_UART=y)|(PLATFORM=arm32&MACHINE=beagleboardxm&CONFIG_AMDM37X_UART=y)|(PLATFORM=ia64&MACHINE=i460GX&CONFIG_NS16550=y)|(PLATFORM=ia64&MACHINE=ski)|(PLATFORM=sparc64&PROCESSOR=sun4v)] CONFIG_SRLN (y) 511 505 512 506 % EGA support -
kernel/arch/arm32/src/mach/beagleboardxm/beagleboardxm.c
rb933ec2 rd216142 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>40 #include <genarch/drivers/amdm37x /dispc.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 #include <genarch/drivers/amdm37x_dispc/amdm37x_dispc.h> 41 41 #include <genarch/fb/fb.h> 42 42 #include <genarch/srln/srln.h> -
kernel/arch/arm32/src/mach/beaglebone/beaglebone.c
rb933ec2 rd216142 35 35 #include <arch/exception.h> 36 36 #include <arch/mach/beaglebone/beaglebone.h> 37 #include <genarch/drivers/am335x/irc.h> 38 #include <genarch/drivers/am335x/uart.h> 39 #include <genarch/drivers/am335x/timer.h> 40 #include <genarch/srln/srln.h> 37 #include <genarch/drivers/am335x_irc/am335x_irc.h> 41 38 #include <interrupt.h> 42 39 #include <ddi/ddi.h> … … 57 54 static struct beaglebone { 58 55 am335x_irc_regs_t *irc_addr; 59 am335x_timer_t timer;60 am335x_uart_t uart;61 56 } bbone; 62 57 63 58 struct arm_machine_ops bbone_machine_ops = { 64 .machine_init =bbone_init,65 .machine_timer_irq_start =bbone_timer_irq_start,66 .machine_cpu_halt =bbone_cpu_halt,67 .machine_get_memory_extents =bbone_get_memory_extents,68 .machine_irq_exception =bbone_irq_exception,69 .machine_frame_init =bbone_frame_init,70 .machine_output_init =bbone_output_init,71 .machine_input_init =bbone_input_init,72 .machine_get_irq_count =bbone_get_irq_count,73 .machine_get_platform_name = bbone_get_platform_name,59 bbone_init, 60 bbone_timer_irq_start, 61 bbone_cpu_halt, 62 bbone_get_memory_extents, 63 bbone_irq_exception, 64 bbone_frame_init, 65 bbone_output_init, 66 bbone_input_init, 67 bbone_get_irq_count, 68 bbone_get_platform_name 74 69 }; 75 70 … … 83 78 } 84 79 85 static irq_ownership_t bbone_timer_irq_claim(irq_t *irq)86 {87 return IRQ_ACCEPT;88 }89 90 static void bbone_timer_irq_handler(irq_t *irq)91 {92 am335x_timer_intr_ack(&bbone.timer);93 spinlock_unlock(&irq->lock);94 clock();95 spinlock_lock(&irq->lock);96 }97 98 80 static void bbone_timer_irq_start(void) 99 81 { 100 /* Initialize the IRQ */101 static irq_t timer_irq;102 irq_initialize(&timer_irq);103 timer_irq.devno = device_assign_devno();104 timer_irq.inr = AM335x_DMTIMER0_IRQ;105 timer_irq.claim = bbone_timer_irq_claim;106 timer_irq.handler = bbone_timer_irq_handler;107 irq_register(&timer_irq);108 109 /* Initialize the DMTIMER0 */110 am335x_timer_init(&bbone.timer, DMTIMER0, HZ);111 /* Enable the interrupt */112 am335x_irc_enable(bbone.irc_addr, AM335x_DMTIMER0_IRQ);113 /* Start the timer */114 am335x_timer_start(&bbone.timer);115 82 } 116 83 117 84 static void bbone_cpu_halt(void) 118 85 { 119 while (1);120 86 } 121 87 … … 139 105 static void bbone_output_init(void) 140 106 { 141 const bool ok = am335x_uart_init(&bbone.uart,142 AM335x_UART0_IRQ, AM335x_UART0_BASE_ADDRESS,143 AM335x_UART0_SIZE);144 145 if (ok)146 stdout_wire(&bbone.uart.outdev);147 107 } 148 108 149 109 static void bbone_input_init(void) 150 110 { 151 srln_instance_t *srln_instance = srln_init();152 if (srln_instance) {153 indev_t *sink = stdin_wire();154 indev_t *srln = srln_wire(srln_instance, sink);155 am335x_uart_input_wire(&bbone.uart, srln);156 am335x_irc_enable(bbone.irc_addr, AM335x_UART0_IRQ);157 }158 111 } 159 112 160 113 size_t bbone_get_irq_count(void) 161 114 { 162 return AM335x_IRC_IRQ_COUNT;115 return 0; 163 116 } 164 117 -
kernel/genarch/Makefile.inc
rb933ec2 rd216142 106 106 endif 107 107 108 ifeq ($(CONFIG_AM335X_UART),y)109 GENARCH_SOURCES += \110 genarch/src/drivers/am335x/uart.c111 endif112 113 ifeq ($(CONFIG_AM335X_TIMERS),y)114 GENARCH_SOURCES += \115 genarch/src/drivers/am335x/timer.c116 endif117 118 108 ifeq ($(CONFIG_AMDM37X_UART),y) 119 109 GENARCH_SOURCES += \ 120 genarch/src/drivers/amdm37x /uart.c110 genarch/src/drivers/amdm37x_uart/amdm37x_uart.c 121 111 endif 122 112
Note:
See TracChangeset
for help on using the changeset viewer.