summaryrefslogtreecommitdiffstats
path: root/sys/arm/broadcom
diff options
context:
space:
mode:
authorandrew <andrew@FreeBSD.org>2012-09-23 03:46:03 +0000
committerandrew <andrew@FreeBSD.org>2012-09-23 03:46:03 +0000
commitdd6a23c4f5fa55e20c9f42dccf0148a82c3210ac (patch)
tree104d5a982f719dbec7477f1544fda5ad02444006 /sys/arm/broadcom
parentd9ebf06192583d13a8f9b61c12451be1e98c3984 (diff)
downloadFreeBSD-src-dd6a23c4f5fa55e20c9f42dccf0148a82c3210ac.zip
FreeBSD-src-dd6a23c4f5fa55e20c9f42dccf0148a82c3210ac.tar.gz
Pull out the SoC specific parts of initarm into separate functions
Diffstat (limited to 'sys/arm/broadcom')
-rw-r--r--sys/arm/broadcom/bcm2835/bcm2835_machdep.c23
1 files changed, 22 insertions, 1 deletions
diff --git a/sys/arm/broadcom/bcm2835/bcm2835_machdep.c b/sys/arm/broadcom/bcm2835/bcm2835_machdep.c
index 0865dcc..6726265 100644
--- a/sys/arm/broadcom/bcm2835/bcm2835_machdep.c
+++ b/sys/arm/broadcom/bcm2835/bcm2835_machdep.c
@@ -344,7 +344,7 @@ initarm(struct arm_boot_params *abp)
while(1);
/* Platform-specific initialisation */
- pmap_bootstrap_lastaddr = DEVMAP_BOOTSTRAP_MAP_START - ARM_NOCACHE_KVA_SIZE;
+ pmap_bootstrap_lastaddr = initarm_lastaddr();
pcpu0_init();
@@ -484,6 +484,8 @@ initarm(struct arm_boot_params *abp)
*/
OF_interpret("perform-fixup", 0);
+ initarm_gpio_init();
+
cninit();
physmem = memsize / PAGE_SIZE;
@@ -495,6 +497,8 @@ initarm(struct arm_boot_params *abp)
print_kernel_section_addr();
print_kenv();
+ initarm_late_init();
+
/*
* Pages were allocated during the secondary bootstrap for the
* stacks for different CPU modes.
@@ -547,6 +551,23 @@ initarm(struct arm_boot_params *abp)
sizeof(struct pcb)));
}
+vm_offset_t
+initarm_lastaddr(void)
+{
+
+ return (DEVMAP_BOOTSTRAP_MAP_START - ARM_NOCACHE_KVA_SIZE);
+}
+
+void
+initarm_gpio_init(void)
+{
+}
+
+void
+initarm_late_init(void)
+{
+}
+
#define FDT_DEVMAP_MAX (2) // FIXME
static struct pmap_devmap fdt_devmap[FDT_DEVMAP_MAX] = {
{ 0, 0, 0, 0, 0, }
OpenPOWER on IntegriCloud