bcm2835_machdep.c (260371) | bcm2835_machdep.c (266301) |
---|---|
1/*- 2 * Copyright (c) 2012 Oleksandr Tymoshenko. 3 * Copyright (c) 1994-1998 Mark Brinicombe. 4 * Copyright (c) 1994 Brini. 5 * All rights reserved. 6 * 7 * This code is derived from software written for Brini by Mark Brinicombe 8 * --- 27 unchanged lines hidden (view full) --- 36 * from: FreeBSD: //depot/projects/arm/src/sys/arm/at91/kb920x_machdep.c, rev 45 37 */ 38 39#include "opt_ddb.h" 40#include "opt_platform.h" 41#include "opt_global.h" 42 43#include <sys/cdefs.h> | 1/*- 2 * Copyright (c) 2012 Oleksandr Tymoshenko. 3 * Copyright (c) 1994-1998 Mark Brinicombe. 4 * Copyright (c) 1994 Brini. 5 * All rights reserved. 6 * 7 * This code is derived from software written for Brini by Mark Brinicombe 8 * --- 27 unchanged lines hidden (view full) --- 36 * from: FreeBSD: //depot/projects/arm/src/sys/arm/at91/kb920x_machdep.c, rev 45 37 */ 38 39#include "opt_ddb.h" 40#include "opt_platform.h" 41#include "opt_global.h" 42 43#include <sys/cdefs.h> |
44__FBSDID("$FreeBSD: head/sys/arm/broadcom/bcm2835/bcm2835_machdep.c 260371 2014-01-06 15:48:16Z ian $"); | 44__FBSDID("$FreeBSD: head/sys/arm/broadcom/bcm2835/bcm2835_machdep.c 266301 2014-05-17 11:27:36Z andrew $"); |
45 46#define _ARM32_BUS_DMA_PRIVATE 47#include <sys/param.h> 48#include <sys/systm.h> 49#include <sys/bus.h> 50 51#include <vm/vm.h> 52#include <vm/pmap.h> 53 54#include <machine/bus.h> 55#include <machine/devmap.h> 56#include <machine/machdep.h> | 45 46#define _ARM32_BUS_DMA_PRIVATE 47#include <sys/param.h> 48#include <sys/systm.h> 49#include <sys/bus.h> 50 51#include <vm/vm.h> 52#include <vm/pmap.h> 53 54#include <machine/bus.h> 55#include <machine/devmap.h> 56#include <machine/machdep.h> |
57#include <machine/platform.h> 58#include <machine/platformvar.h> |
|
57 58#include <dev/fdt/fdt_common.h> 59 60#include <arm/broadcom/bcm2835/bcm2835_wdog.h> 61 | 59 60#include <dev/fdt/fdt_common.h> 61 62#include <arm/broadcom/bcm2835/bcm2835_wdog.h> 63 |
62vm_offset_t 63initarm_lastaddr(void) | 64#include "platform_if.h" 65 66static vm_offset_t 67bcm2835_lastaddr(platform_t plat) |
64{ 65 66 return (arm_devmap_lastaddr()); 67} 68 | 68{ 69 70 return (arm_devmap_lastaddr()); 71} 72 |
69void 70initarm_early_init(void) | 73static void 74bcm2835_late_init(platform_t plat) |
71{ | 75{ |
72 73} 74 75void 76initarm_gpio_init(void) 77{ 78} 79 80void 81initarm_late_init(void) 82{ | |
83 phandle_t system; 84 pcell_t cells[2]; 85 int len; 86 87 system = OF_finddevice("/system"); 88 if (system != 0) { 89 len = OF_getprop(system, "linux,serial", &cells, sizeof(cells)); 90 if (len > 0) --- 5 unchanged lines hidden (view full) --- 96 } 97} 98 99/* 100 * Set up static device mappings. 101 * All on-chip peripherals exist in a 16MB range starting at 0x20000000. 102 * Map the entire range using 1MB section mappings. 103 */ | 76 phandle_t system; 77 pcell_t cells[2]; 78 int len; 79 80 system = OF_finddevice("/system"); 81 if (system != 0) { 82 len = OF_getprop(system, "linux,serial", &cells, sizeof(cells)); 83 if (len > 0) --- 5 unchanged lines hidden (view full) --- 89 } 90} 91 92/* 93 * Set up static device mappings. 94 * All on-chip peripherals exist in a 16MB range starting at 0x20000000. 95 * Map the entire range using 1MB section mappings. 96 */ |
104int 105initarm_devmap_init(void) | 97static int 98bcm2835_devmap_init(platform_t plat) |
106{ 107 108 arm_devmap_add_entry(0x20000000, 0x01000000); 109 return (0); 110} 111 112struct arm32_dma_range * 113bus_dma_get_range(void) --- 10 unchanged lines hidden (view full) --- 124} 125 126void 127cpu_reset() 128{ 129 bcmwd_watchdog_reset(); 130 while (1); 131} | 99{ 100 101 arm_devmap_add_entry(0x20000000, 0x01000000); 102 return (0); 103} 104 105struct arm32_dma_range * 106bus_dma_get_range(void) --- 10 unchanged lines hidden (view full) --- 117} 118 119void 120cpu_reset() 121{ 122 bcmwd_watchdog_reset(); 123 while (1); 124} |
125static platform_method_t bcm2835_methods[] = { 126 PLATFORMMETHOD(platform_devmap_init, bcm2835_devmap_init), 127 PLATFORMMETHOD(platform_lastaddr, bcm2835_lastaddr), 128 PLATFORMMETHOD(platform_late_init, bcm2835_late_init), |
|
132 | 129 |
130 PLATFORMMETHOD_END, 131}; 132 133FDT_PLATFORM_DEF(bcm2835, "bcm2835", 0, "raspberrypi,model-b"); 134 |
|