summaryrefslogtreecommitdiffstats
path: root/sys/arm
Commit message (Collapse)AuthorAgeFilesLines
* Remove the "Unable to unwind further" message from DDB.rpaulo2014-10-161-4/+3
| | | | | The ARM version of DDB is supposedly reliable enough making this message benign.
* Uncomment general options from the Pandaboard config. These are in otherandrew2014-10-141-3/+3
| | | | configs and there is no reason for them not to be here.
* Make the ti_padstate_devmap arrays ststic, they are only used with theandrew2014-10-142-2/+2
| | | | file where they are defined.
* Move the sdhci option to files.ti, it's common to both SoCs.andrew2014-10-133-2/+1
|
* Use a switch on ti_chip() to find which SoC we are on. This allow us tandrew2014-10-131-3/+11
| | | | only enable support for the SoCs we are built for.
* Remove ti_mmchs.c, it has been replaced by ti_sdhci.c.andrew2014-10-134-2019/+0
|
* Remove the need for files.beaglebone and std.beaglebone by moving the oneandrew2014-10-134-8/+2
| | | | option they defined into files.am335x.
* Sort the files in the am355x directory.andrew2014-10-131-2/+4
|
* Start removing the omap3 support. In base it was only ever a header and aandrew2014-10-137-906/+5
| | | | | | | | | | | few changes to drivers, no kernel config was added. As the SoCs are quite old and the code is unmaintained start the process of removing support by deleting the header file and code that depends on it along with the macro SOC_OMAP3. Other Ti SoCs shouldn't be affected, other than for us to have less code to maintain. Differential Revision: https://reviews.freebsd.org/D936 Reviewed by: rpaulo, loos
* o Add machine-dependent SMP partbr2014-10-104-1/+185
| | | | | | o Enable SMP Sponsored by: DARPA, AFRL
* Pass up the error status of minidumpsys() to its callers.markj2014-10-083-7/+6
| | | | | | PR: 193761 Submitted by: Conrad Meyer <conrad.meyer@isilon.com> Sponsored by: EMC / Isilon Storage Division
* Add driver for Synopsys DesignWare Mobile Storage Host Controller.br2014-10-076-3/+10
| | | | Sponsored by: DARPA, AFRL
* Allow timer0 to run at full 24MHz not at 24MHz/16 by setting prescale to 1.ganbold2014-10-021-1/+1
| | | | Approved by: stas (mentor)
* Split you the syscall handling to a separate file.andrew2014-10-012-131/+200
|
* When building the lists of available memory, actually honor the exclusionian2014-09-301-0/+6
| | | | | | | flags, like the comment says it does. Pointy hat: ian Submitted by: Svatopluk Kraus <onwahe@gmail.com>
* Make sure __ARM_ARCH is defined in sysreg.h by including acle-compat.handrew2014-09-301-0/+2
|
* Fix the definitioin of AT91SAM9G45_IRQ_PIOE and rename it tokevlo2014-09-271-5/+4
| | | | | | | AT91SAM9G45_IRQ_PIODE. According to the data sheet, both PIOD and PIOE use the same IRQ. While here remove duplicate definitions.
* Add machine/sysreg.h to simplify accessing the system control coprocessorandrew2014-09-272-33/+265
| | | | | | | | | | | | | | registers and use it in the ARMv7 CPU functions. The sysreg.h file has been checked by hand, however it may contain errors with the comments on when a register was first introduced. The ARMv7 cpu functions have been checked by compiling both the previous and this version and comparing the md5 of the object files. Submitted by: Svatopluk Kraus <onwahe at gmail.com> Submitted by: Michal Meloun <meloun at miracle.cz> Reviewed by: ian, rpaulo Differential Revision: https://reviews.freebsd.org/D795
* Remove a bogus AIC.kevlo2014-09-271-2/+1
| | | | Reviewed by: imp
* Fix the size of AT91SAM9260_PIT_SIZE.kevlo2014-09-261-1/+1
|
* Fix typos.kevlo2014-09-265-11/+11
|
* Add driver for Synopsys DesignWare 3504-0 Universal 10/100/1000br2014-09-252-0/+3
| | | | | | Ethernet MAC. Sponsored by: DARPA, AFRL
* Move the ARM Samsung s3c2xx0 support files into the samsung directory, togavin2014-09-2524-41/+41
| | | | | | match other platforms. Discussed with: andrew
* ddb: allow specifying the exact address of the symtab and strtabroyger2014-09-251-5/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the FreeBSD kernel is loaded from Xen the symtab and strtab are not loaded the same way as the native boot loader. This patch adds three new global variables to ddb that can be used to specify the exact position and size of those tables, so they can be directly used as parameters to db_add_symbol_table. A new helper is introduced, so callers that used to set ksym_start and ksym_end can use this helper to set the new variables. It also adds support for loading them from the Xen PVH port, that was previously missing those tables. Sponsored by: Citrix Systems R&D Reviewed by: kib ddb/db_main.c: - Add three new global variables: ksymtab, kstrtab, ksymtab_size that can be used to specify the position and size of the symtab and strtab. - Use those new variables in db_init in order to call db_add_symbol_table. - Move the logic in db_init to db_fetch_symtab in order to set ksymtab, kstrtab, ksymtab_size from ksym_start and ksym_end. ddb/ddb.h: - Add prototype for db_fetch_ksymtab. - Declate the extern variables ksymtab, kstrtab and ksymtab_size. x86/xen/pv.c: - Add support for finding the symtab and strtab when booted as a Xen PVH guest. Since Xen loads the symtab and strtab as NetBSD expects to find them we have to adapt and use the same method. amd64/amd64/machdep.c: arm/arm/machdep.c: i386/i386/machdep.c: mips/mips/machdep.c: pc98/pc98/machdep.c: powerpc/aim/machdep.c: powerpc/booke/machdep.c: sparc64/sparc64/machdep.c: - Use the newly introduced db_fetch_ksymtab in order to set ksymtab, kstrtab and ksymtab_size.
* Make the ARM MPCore Timer driver work with published standard FDT bindings.ian2014-09-201-106/+183
| | | | | | | | | | | | | | | | | | | | | | | We've always considered the mpcore timers to be a single monolithic device and we defined our own fdt binding for it with our own compat string. The published bindings treat the timers as two separate devices, a global timer and a "timer-watchdog" device for the per-cpu private timers. Thus our binding has two tuples in the regs property, one set of registers for the global timer and one for the private timers. The published bindings have two separate devices, each with a single set of registers. (Note that we don't use the optional watchdog feature of the hardware.) These changes add the compat strings for the published bindings. If our own compat string appears, we expect to get two sets of memory resources. For the published bindings, there's only one set of memory resources, and only the private timers have an associated interrupt. The other major change is that there can no longer be a single global var for the softc pointer because now there may be multiple devices at runtime. Since the global timer is used only as a timecounter and the private timers only as eventtimers, and there will only be one of each, those are now the pointers which are global, and the priv fields of those structures backlink to the device softc.
* Fix typo in comment.ganbold2014-09-201-1/+2
| | | | | | Disable AHB clock gate for ehci0. Approved by: stas (mentor)
* Mechanically convert to if_inc_counter().glebius2014-09-197-49/+47
|
* The private peripheral interrupts start at offset 16, not 0. Also, useian2014-09-151-3/+7
| | | | | | names rather than inline mystery constants for these offsets. Pointed out by: andrew
* Use gic_decode_fdt() rather than a local routine to parse fdt interruptian2014-09-142-1/+13
| | | | | properties. Move fdt_pic_table and fdt_fixup_table into imx6_machdep.c, which means imx6 doesn't need imx_common.c anymore.
* Add a common routine for parsing FDT data describing an ARM GIC interrupt.ian2014-09-142-0/+47
| | | | | | | | | | | | | | In the fdt data we've written for ourselves, the interrupt properties for GIC interrupts have just been a bare interrupt number. In standard data that conforms to the published bindings, GIC interrupt properties contain 3-tuples that describe the interrupt as shared vs private, the interrupt number within the shared/private address space, and configuration info such as level vs edge triggered. The new gic_decode_fdt() function parses both types of data, based on the #interrupt-cells property. Previously, each platform implemented a decode routine and put a pointer to it into fdt_pic_table. Now they can just list this function in their table instead if they use arm/gic.c.
* Add compat strings for all the flavors of GIC this driver should support.ian2014-09-141-1/+14
| | | | | Also allow the driver to attach to ofwbus as well as simplebus, some FDT data puts the root interrupt controller on the root bus.
* Fix an undefined variable that was accidentally not causing an error.ian2014-09-141-3/+3
| | | | | | | | | | | The code had references to both intr_offset and intr_parent variable names as referring to the parent interrupt node. The intr_parent variable wasn't actually defined anywhere, but the only references to it were as an argument to a macro that didn't use that argument in expansion, so the undefined variable accidentally didn't cause an error. The intr_parent name makes more sense in context, so change all occurrances of intr_offset to intr_parent.
* Add a comment giving an overview of the driver. Remove leftover debugging.ian2014-09-141-7/+23
|
* Replace the imx5 and imx6 iomux drivers with a single common driver thatian2014-09-1311-2036/+275
| | | | uses the new fdt_pinctrl interface.
* Convert the at91_pinctrl driver to use the new fdt_pinctrl interface.ian2014-09-132-79/+58
|
* - Don't let rman_reserve_resource() activate the resource injhb2014-09-122-5/+26
| | | | | | | | | | nexus_alloc_resource() and don't set a bushandle. nexus_activate_resource() will set a proper bushandle. - Implement a proper nexus_release_resource(). - Fix ixppcib_activate_resource() to call rman_activate_resource() before creating a mapping for the resource. Tested by: jmg
* Add Reset Manager driver. This driver provides generic way to resetbr2014-09-115-6/+377
| | | | | | and provides sysctl tunables for enable/disable FPGA<->HPS bridges. Sponsored by: DARPA, AFRL
* Rename pmap_kenter_temp to pmap_kenter_temporary to be consistent with theandrew2014-09-114-5/+5
| | | | | | | other architectures with this function. Submitted by: Svatopluk Kraus <onwahe at gmail.com> Submitted by: Michal Meloun <meloun at miracle.cz>
* Unify interrupts bit definition and usage. While here remove PSR_C_bit.andrew2014-09-1027-76/+83
| | | | | | Submitted by: Svatopluk Kraus <onwahe at gmail.com>, Michal Meloun <meloun at miracle.cz> Differential Revision: https://reviews.freebsd.org/D754
* Add more register values to armreg.h and remove CPU_CONTROL_32BP_ENABLEandrew2014-09-102-11/+34
| | | | | | from asm.h as they were already defined in armreg.h. Submitted by: Michal Meloun <meloun at miracle.cz>
* Move if_smc_fdt.c to live in sys/dev/smc. It's not specific to the ARMandrew2014-09-102-136/+0
| | | | Versatile hardware.
* Rename new to newval in inline asm code, to avoid clashes with C++ new.ian2014-09-091-5/+5
| | | | | Also rename cmp to cmpval just to keep the asm variable names similar to the C variable names.
* When entering the kernel with the MMU off assume we are running from aandrew2014-09-071-5/+2
| | | | | | | | va == pa map. I'm not sure the code would work if we are not running from the identity map as the ARM core may attempt to read the next instruction from an invalid memory location.
* Remove Lvirtaddr and Lphysaddr, these don't appear to be used.andrew2014-09-071-4/+0
|
* Generalise the va to pa code and use it when starting secondary coresandrew2014-09-071-23/+43
| | | | | Reviewed by: ian@, rpaulo@ Differential Revision: https://reviews.freebsd.org/D736
* Create a common i.MX53 config and use it with the two existing i.MX53andrew2014-09-073-297/+179
| | | | | | | | | | boards. This is just intended to split the common config entries out, further cleanup is expected. Reviewed by: ian@, rpaulo@ (earlier version) Differential Revision: https://reviews.freebsd.org/D731
* o Remove __unused attribute on variables which actually usedbr2014-09-062-33/+24
| | | | | | | | | o Unmagic 'configuration done' bit o Move probe() to place before attach() for better navigation o Use bus_read_n instead of bus_space_read_n functions Pointed out by: andrew Sponsored by: DARPA, AFRL
* Fixthe spelling of ehciandrew2014-09-061-1/+1
|
* Allow us to use the virtual timer. It is currently disabled, but shouldandrew2014-09-061-52/+60
| | | | | | | | | be usable as the default timer in place of the physical timer. We are guaranteed to have access to the virtual timer, but when running under a hypervisor may not have access to the physical. Differential Revision: https://reviews.freebsd.org/D588
* Add FPGA Manager driver. This driver allows to program FPGA corebr2014-09-063-0/+481
| | | | | | from FreeBSD userspace running on ARM core. Sponsored by: DARPA, AFRL
OpenPOWER on IntegriCloud