Remove the incomplete Tegra 2 code, nobody was maintaining it. The AC100

never booted to single user mode.

It can be brought back if someone is willing to get it into a stable state
and maintain it.
This commit is contained in:
Andrew Turner 2014-06-22 15:15:52 +00:00
parent 811985398d
commit 8b04766b28
5 changed files with 0 additions and 360 deletions

View File

@ -1,98 +0,0 @@
#
# Custom kernel for Toshiba AC100
#
# $FreeBSD$
#
ident AC100
include "../tegra/std.tegra2"
makeoptions MODULES_OVERRIDE=""
makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols
makeoptions WERROR="-Werror"
#options SCHED_ULE # ULE scheduler
options SCHED_4BSD # 4BSD scheduler
options INET # InterNETworking
#options INET6 # IPv6 communications protocols
options FFS # Berkeley Fast Filesystem
#options NFSCL # Network Filesystem Client
#options NFSLOCKD # Network Lock Manager
#options NFS_ROOT # NFS usable as /, requires NFSCLIENT
#options BOOTP
#options BOOTP_NFSROOT
#options BOOTP_NFSV3
#options BOOTP_WIRED_TO=mge0
options TMPFS # Efficient memory filesystem
options GEOM_PART_BSD # BSD partition scheme
options GEOM_PART_MBR # MBR partition scheme
options GEOM_PART_GPT
options ROOTDEVNAME=\"ufs:/dev/da0p1\"
options SYSVSHM # SYSV-style shared memory
options SYSVMSG # SYSV-style message queues
options SYSVSEM # SYSV-style semaphores
options _KPOSIX_PRIORITY_SCHEDULING # Posix P1003_1B real-time extensions
options MUTEX_NOINLINE
options RWLOCK_NOINLINE
options NO_FFS_SNAPSHOT
options NO_SWAPPING
#options SMP
# Debugging
options VERBOSE_SYSINIT
#options ALT_BREAK_TO_DEBUGGER
options DDB
options GDB
options DIAGNOSTIC
options INVARIANTS # Enable calls of extra sanity checking
options INVARIANT_SUPPORT # Extra sanity checks of internal structures, required by INVARIANTS
options KDB
options KDB_TRACE
#options KTR
#options KTR_VERBOSE=0
#options KTR_ENTRIES=16384
#options KTR_MASK=(KTR_SPARE2)
#options KTR_COMPILE=KTR_ALL
options WITNESS # Enable checks to detect deadlocks and cycles
options WITNESS_SKIPSPIN # Don't run witness on spinlocks for speed
#options WITNESS_KDB
options MUTEX_DEBUG
# Pseudo devices
device random
device pty
device loop
device md
# USB
#options USB_DEBUG # enable debug msgs
#device usb
#device ehci
#device umass
#device scbus
#device pass
#device da
# SATA
#device ata
#device mvs
# Serial ports
device uart
# I2C (TWSI)
#device iic
#device iicbus
#Network
device ether
#FDT
options FDT
options FDT_DTB_STATIC
makeoptions FDT_DTS_FILE=tegra20-paz00.dts

View File

@ -1,18 +0,0 @@
# $FreeBSD$
arm/arm/bus_space_asm_generic.S standard
arm/arm/bus_space_generic.c standard
arm/arm/bus_space-v6.c standard
arm/arm/cpufunc_asm_armv5.S standard
arm/arm/cpufunc_asm_arm11.S standard
arm/arm/cpufunc_asm_armv7.S standard
arm/arm/gic.c standard
arm/arm/mpcore_timer.c standard
arm/tegra/tegra2_common.c standard
arm/tegra/tegra2_machdep.c standard
kern/kern_clocksource.c standard
dev/uart/uart_dev_ns8250.c optional uart

View File

@ -1,14 +0,0 @@
# nVidia Tegra 2 common options
#$FreeBSD$
cpu CPU_CORTEXA
machine arm armv6
options PHYSADDR=0x00000000
makeoptions KERNPHYSADDR=0x00200000
options KERNPHYSADDR=0x00200000
makeoptions KERNVIRTADDR=0xc0200000
options KERNVIRTADDR=0xc0200000
files "../tegra/files.tegra2"

View File

@ -1,80 +0,0 @@
/*-
* Copyright (c) 2011 The FreeBSD Foundation
* All rights reserved.
*
* Developed by Damjan Marion <damjan.marion@gmail.com>
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#include <sys/cdefs.h>
__FBSDID("$FreeBSD$");
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/bus.h>
#include <sys/kernel.h>
#include <dev/fdt/fdt_common.h>
#include <dev/ofw/openfirm.h>
#include <machine/bus.h>
#include <machine/fdt.h>
/* FIXME move to header file */
#define TEGRA2_CLK_RST_PA_BASE 0x60006000
void
cpu_reset(void)
{
bus_space_handle_t bsh;
printf("Resetting...\n");
bus_space_map(fdtbus_bs_tag,TEGRA2_CLK_RST_PA_BASE, 0x1000, 0, &bsh);
bus_space_write_4(fdtbus_bs_tag, bsh, 4, 4);
while(1);
}
struct fdt_fixup_entry fdt_fixup_table[] = {
{ NULL, NULL }
};
static int
fdt_pic_decode_ic(phandle_t node, pcell_t *intr, int *interrupt, int *trig,
int *pol)
{
if (!fdt_is_compatible(node, "arm,gic"))
return (ENXIO);
*interrupt = fdt32_to_cpu(intr[0]);
*trig = INTR_TRIGGER_CONFORM;
*pol = INTR_POLARITY_CONFORM;
return (0);
}
fdt_pic_decode_t fdt_pic_table[] = {
&fdt_pic_decode_ic,
NULL
};

View File

@ -1,150 +0,0 @@
/*-
* Copyright (c) 2011 Damjan Marion.
* Copyright (c) 1994-1998 Mark Brinicombe.
* Copyright (c) 1994 Brini.
* All rights reserved.
*
* This code is derived from software written for Brini by Mark Brinicombe
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* from: FreeBSD: //depot/projects/arm/src/sys/arm/mv/mv_machdep.c
*/
#include "opt_ddb.h"
#include "opt_platform.h"
#include <sys/cdefs.h>
__FBSDID("$FreeBSD$");
#define _ARM32_BUS_DMA_PRIVATE
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/bus.h>
#include <vm/vm.h>
#include <vm/pmap.h>
#include <machine/bus.h>
#include <machine/devmap.h>
#include <machine/machdep.h>
#include <machine/platform.h>
#include <dev/fdt/fdt_common.h>
#define TEGRA2_CLK_RST_PA_BASE 0x60006000
#define TEGRA2_CLK_RST_OSC_FREQ_DET_REG 0x58
#define TEGRA2_CLK_RST_OSC_FREQ_DET_STAT_REG 0x5C
#define OSC_FREQ_DET_TRIG (1U<<31)
#define OSC_FREQ_DET_BUSY (1U<<31)
#if 0
static int
tegra2_osc_freq_detect(void)
{
bus_space_handle_t bsh;
uint32_t c;
uint32_t r=0;
int i=0;
struct {
uint32_t val;
uint32_t freq;
} freq_det_cnts[] = {
{ 732, 12000000 },
{ 794, 13000000 },
{1172, 19200000 },
{1587, 26000000 },
{ -1, 0 },
};
printf("Measuring...\n");
bus_space_map(fdtbus_bs_tag,TEGRA2_CLK_RST_PA_BASE, 0x1000, 0, &bsh);
bus_space_write_4(fdtbus_bs_tag, bsh, TEGRA2_CLK_RST_OSC_FREQ_DET_REG,
OSC_FREQ_DET_TRIG | 1 );
do {} while (bus_space_read_4(fdtbus_bs_tag, bsh,
TEGRA2_CLK_RST_OSC_FREQ_DET_STAT_REG) & OSC_FREQ_DET_BUSY);
c = bus_space_read_4(fdtbus_bs_tag, bsh, TEGRA2_CLK_RST_OSC_FREQ_DET_STAT_REG);
while (freq_det_cnts[i].val > 0) {
if (((freq_det_cnts[i].val - 3) < c) && (c < (freq_det_cnts[i].val + 3)))
r = freq_det_cnts[i].freq;
i++;
}
printf("c=%u r=%u\n",c,r );
bus_space_free(fdtbus_bs_tag, bsh, 0x1000);
return r;
}
#endif
vm_offset_t
platform_lastaddr(void)
{
return (arm_devmap_lastaddr());
}
void
platform_probe_and_attach(void)
{
}
void
platform_gpio_init(void)
{
}
void
platform_late_init(void)
{
}
/*
* Add a static mapping for the register range that includes the debug uart.
* It's not clear this is needed, but the original code established this mapping
* before conversion to the newer arm_devmap_add_entry() routine.
*/
int
platform_devmap_init(void)
{
arm_devmap_add_entry(0x70000000, 0x00100000);
return (0);
}
struct arm32_dma_range *
bus_dma_get_range(void)
{
return (NULL);
}
int
bus_dma_get_range_nb(void)
{
return (0);
}