bcm2835_machdep.c (259365) | bcm2835_machdep.c (266084) |
---|---|
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: stable/10/sys/arm/broadcom/bcm2835/bcm2835_machdep.c 259365 2013-12-14 00:16:08Z ian $"); | 44__FBSDID("$FreeBSD: stable/10/sys/arm/broadcom/bcm2835/bcm2835_machdep.c 266084 2014-05-14 19:18:58Z ian $"); |
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 58#include <dev/fdt/fdt_common.h> 59 60#include <arm/broadcom/bcm2835/bcm2835_wdog.h> 61 | 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 58#include <dev/fdt/fdt_common.h> 59 60#include <arm/broadcom/bcm2835/bcm2835_wdog.h> 61 |
62/* Start of address space used for bootstrap map */ 63#define DEVMAP_BOOTSTRAP_MAP_START 0xE0000000 64 | |
65vm_offset_t 66initarm_lastaddr(void) 67{ 68 | 62vm_offset_t 63initarm_lastaddr(void) 64{ 65 |
69 return (DEVMAP_BOOTSTRAP_MAP_START); | 66 return (arm_devmap_lastaddr()); |
70} 71 72void 73initarm_early_init(void) 74{ 75 76} 77 --- 16 unchanged lines hidden (view full) --- 94 board_set_serial(fdt64_to_cpu(*((uint64_t *)cells))); 95 96 len = OF_getprop(system, "linux,revision", &cells, sizeof(cells)); 97 if (len > 0) 98 board_set_revision(fdt32_to_cpu(*((uint32_t *)cells))); 99 } 100} 101 | 67} 68 69void 70initarm_early_init(void) 71{ 72 73} 74 --- 16 unchanged lines hidden (view full) --- 91 board_set_serial(fdt64_to_cpu(*((uint64_t *)cells))); 92 93 len = OF_getprop(system, "linux,revision", &cells, sizeof(cells)); 94 if (len > 0) 95 board_set_revision(fdt32_to_cpu(*((uint32_t *)cells))); 96 } 97} 98 |
102#define FDT_DEVMAP_MAX (2) // FIXME 103static struct arm_devmap_entry fdt_devmap[FDT_DEVMAP_MAX] = { 104 { 0, 0, 0, 0, 0, } 105}; 106 107 | |
108/* | 99/* |
109 * Construct pmap_devmap[] with DT-derived config data. | 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. |
110 */ 111int 112initarm_devmap_init(void) 113{ | 103 */ 104int 105initarm_devmap_init(void) 106{ |
114 int i = 0; | |
115 | 107 |
116 fdt_devmap[i].pd_va = 0xf2000000; 117 fdt_devmap[i].pd_pa = 0x20000000; 118 fdt_devmap[i].pd_size = 0x01000000; /* 1 MB */ 119 fdt_devmap[i].pd_prot = VM_PROT_READ | VM_PROT_WRITE; 120 fdt_devmap[i].pd_cache = PTE_DEVICE; 121 i++; 122 123 arm_devmap_register_table(&fdt_devmap[0]); | 108 arm_devmap_add_entry(0x20000000, 0x01000000); |
124 return (0); 125} 126 127struct arm32_dma_range * 128bus_dma_get_range(void) 129{ 130 131 return (NULL); --- 16 unchanged lines hidden --- | 109 return (0); 110} 111 112struct arm32_dma_range * 113bus_dma_get_range(void) 114{ 115 116 return (NULL); --- 16 unchanged lines hidden --- |