ti_machdep.c (257669) | ti_machdep.c (260292) |
---|---|
1/*- 2 * Copyright (c) 1994-1998 Mark Brinicombe. 3 * Copyright (c) 1994 Brini. 4 * All rights reserved. 5 * 6 * This code is derived from software written for Brini by Mark Brinicombe 7 * 8 * Redistribution and use in source and binary forms, with or without --- 24 unchanged lines hidden (view full) --- 33 * SUCH DAMAGE. 34 * 35 * from: FreeBSD: //depot/projects/arm/src/sys/arm/at91/kb920x_machdep.c, rev 45 36 */ 37 38#include "opt_platform.h" 39 40#include <sys/cdefs.h> | 1/*- 2 * Copyright (c) 1994-1998 Mark Brinicombe. 3 * Copyright (c) 1994 Brini. 4 * All rights reserved. 5 * 6 * This code is derived from software written for Brini by Mark Brinicombe 7 * 8 * Redistribution and use in source and binary forms, with or without --- 24 unchanged lines hidden (view full) --- 33 * SUCH DAMAGE. 34 * 35 * from: FreeBSD: //depot/projects/arm/src/sys/arm/at91/kb920x_machdep.c, rev 45 36 */ 37 38#include "opt_platform.h" 39 40#include <sys/cdefs.h> |
41__FBSDID("$FreeBSD: head/sys/arm/ti/ti_machdep.c 257669 2013-11-05 02:57:34Z ian $"); | 41__FBSDID("$FreeBSD: head/sys/arm/ti/ti_machdep.c 260292 2014-01-04 22:09:53Z ian $"); |
42 43#define _ARM32_BUS_DMA_PRIVATE 44#include <sys/param.h> 45#include <sys/systm.h> 46#include <sys/bus.h> 47 48#include <vm/vm.h> 49#include <vm/pmap.h> 50 51#include <machine/bus.h> 52#include <machine/devmap.h> 53#include <machine/machdep.h> 54 55#include <arm/ti/omap4/omap4_reg.h> 56 | 42 43#define _ARM32_BUS_DMA_PRIVATE 44#include <sys/param.h> 45#include <sys/systm.h> 46#include <sys/bus.h> 47 48#include <vm/vm.h> 49#include <vm/pmap.h> 50 51#include <machine/bus.h> 52#include <machine/devmap.h> 53#include <machine/machdep.h> 54 55#include <arm/ti/omap4/omap4_reg.h> 56 |
57/* Start of address space used for bootstrap map */ 58#define DEVMAP_BOOTSTRAP_MAP_START 0xF0000000 | 57void (*ti_cpu_reset)(void) = NULL; |
59 | 58 |
60void (*ti_cpu_reset)(void); 61 | |
62vm_offset_t 63initarm_lastaddr(void) 64{ 65 | 59vm_offset_t 60initarm_lastaddr(void) 61{ 62 |
66 return (DEVMAP_BOOTSTRAP_MAP_START); | 63 return (arm_devmap_lastaddr()); |
67} 68 69void 70initarm_early_init(void) 71{ | 64} 65 66void 67initarm_early_init(void) 68{ |
72 73 ti_cpu_reset = NULL; | |
74} 75 76void 77initarm_gpio_init(void) 78{ 79} 80 81void 82initarm_late_init(void) 83{ 84} 85 | 69} 70 71void 72initarm_gpio_init(void) 73{ 74} 75 76void 77initarm_late_init(void) 78{ 79} 80 |
86#define FDT_DEVMAP_MAX (2) // FIXME 87static struct arm_devmap_entry fdt_devmap[FDT_DEVMAP_MAX] = { 88 { 0, 0, 0, 0, 0, } 89}; 90 91 | |
92/* | 81/* |
93 * Construct pmap_devmap[] with DT-derived config data. | 82 * Construct static devmap entries to map out the most frequently used 83 * peripherals using 1mb section mappings. |
94 */ 95int 96initarm_devmap_init(void) 97{ | 84 */ 85int 86initarm_devmap_init(void) 87{ |
98 int i = 0; | |
99#if defined(SOC_OMAP4) | 88#if defined(SOC_OMAP4) |
100 fdt_devmap[i].pd_va = 0xF8000000; 101 fdt_devmap[i].pd_pa = 0x48000000; 102 fdt_devmap[i].pd_size = 0x1000000; 103 fdt_devmap[i].pd_prot = VM_PROT_READ | VM_PROT_WRITE; 104 fdt_devmap[i].pd_cache = PTE_DEVICE; 105 i++; | 89 arm_devmap_add_entry(0x48000000, 0x01000000); // 16mb L4_PER devices 90 arm_devmap_add_entry(0x4A000000, 0x01000000); // 16mb L4_CFG devices |
106#elif defined(SOC_TI_AM335X) | 91#elif defined(SOC_TI_AM335X) |
107 fdt_devmap[i].pd_va = 0xF4C00000; 108 fdt_devmap[i].pd_pa = 0x44C00000; /* L4_WKUP */ 109 fdt_devmap[i].pd_size = 0x400000; /* 4 MB */ 110 fdt_devmap[i].pd_prot = VM_PROT_READ | VM_PROT_WRITE; 111 fdt_devmap[i].pd_cache = PTE_DEVICE; 112 i++; | 92 arm_devmap_add_entry(0x44C00000, 0x00400000); // 4mb L4_WKUP devices 93 arm_devmap_add_entry(0x47400000, 0x00100000); // 1mb USB 94 arm_devmap_add_entry(0x47800000, 0x00100000); // 1mb mmchs2 95 arm_devmap_add_entry(0x48000000, 0x01000000); // 16mb L4_PER devices 96 arm_devmap_add_entry(0x49000000, 0x00100000); // 1mb edma3 97 arm_devmap_add_entry(0x49800000, 0x00300000); // 3mb edma3 98 arm_devmap_add_entry(0x4A000000, 0x01000000); // 16mb L4_FAST devices |
113#else 114#error "Unknown SoC" 115#endif | 99#else 100#error "Unknown SoC" 101#endif |
116 117 arm_devmap_register_table(&fdt_devmap[0]); | |
118 return (0); 119} 120 121struct arm32_dma_range * 122bus_dma_get_range(void) 123{ 124 125 return (NULL); --- 19 unchanged lines hidden --- | 102 return (0); 103} 104 105struct arm32_dma_range * 106bus_dma_get_range(void) 107{ 108 109 return (NULL); --- 19 unchanged lines hidden --- |