Changeset a71c158 in mainline for kernel/arch/arm32/src/mach/integratorcp/integratorcp.c
- Timestamp:
- 2009-08-21T14:12:45Z (15 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 0e6dce8, b50b5af2, e5792d1
- Parents:
- 90c8b8d
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/arm32/src/mach/integratorcp/integratorcp.c
r90c8b8d ra71c158 57 57 static irq_t icp_timer_irq; 58 58 struct arm_machine_ops machine_ops = { 59 MACHINE_GENFUNC,60 MACHINE_GENFUNC,61 59 icp_init, 62 60 icp_timer_irq_start, 63 61 icp_cpu_halt, 64 62 icp_get_memory_size, 65 icp_fb_init,66 63 icp_irq_exception, 67 icp_get_fb_address,68 64 icp_frame_init, 69 65 icp_output_init, … … 128 124 } 129 125 130 /** Initializes the icp frame buffer */131 void icp_fb_init(void)132 {133 fb_properties_t prop = {134 .addr = 0,135 .offset = 0,136 .x = 640,137 .y = 480,138 .scan = 2560,139 .visual = VISUAL_BGR_0_8_8_8,140 };141 prop.addr = icp_get_fb_address();142 fb_init(&prop);143 fb_parea.pbase = ICP_FB;144 fb_parea.frames = 300;145 ddi_parea_register(&fb_parea);146 }147 148 126 /** Initializes icp_hw_map. */ 149 127 void icp_init(void) … … 172 150 } 173 151 174 175 /** Acquire console back for kernel. */176 void icp_grab_console(void)177 {178 }179 180 /** Return console to userspace. */181 void icp_release_console(void)182 {183 }184 185 152 /** Starts icp Real Time Clock device, which asserts regular interrupts. 186 * 153 * 187 154 * @param frequency Interrupts frequency (0 disables RTC). 188 155 */ … … 296 263 } 297 264 298 /** Returns address of framebuffer device. 299 * 300 * @return Address of framebuffer device. 301 */ 302 uintptr_t icp_get_fb_address(void) 303 { 265 /* 266 * Integrator specific frame initialization 267 */ 268 void 269 icp_frame_init(void) 270 { 271 frame_mark_unavailable(ICP_FB_FRAME, ICP_FB_NUM_FRAME); 272 frame_mark_unavailable(0, 256); 273 } 274 275 void icp_output_init(void) 276 { 277 #ifdef CONFIG_FB 304 278 if (!vga_init) { 305 279 icp_vga_init(); 306 280 vga_init = true; 307 281 } 308 return (uintptr_t) ICP_FB; 309 } 310 311 /* 312 * Integrator specific frame initialization 313 */ 314 void 315 icp_frame_init(void) 316 { 317 frame_mark_unavailable(ICP_FB_FRAME, ICP_FB_NUM_FRAME); 318 frame_mark_unavailable(0, 256); 319 } 320 321 void icp_output_init(void) 322 { 282 283 fb_properties_t prop = { 284 .addr = ICP_FB, 285 .offset = 0, 286 .x = 640, 287 .y = 480, 288 .scan = 2560, 289 .visual = VISUAL_BGR_0_8_8_8, 290 }; 291 292 outdev_t *fbdev = fb_init(&prop); 293 if (fbdev) { 294 stdout_wire(fbdev); 295 fb_parea.pbase = ICP_FB; 296 fb_parea.frames = 300; 297 ddi_parea_register(&fb_parea); 298 } 299 #endif 323 300 } 324 301
Note:
See TracChangeset
for help on using the changeset viewer.