Commit Graph

50 Commits

Author SHA1 Message Date
andrew
b72ace02b4 Rename ARM_INTRNG and MIPS_INTRNG to INTRNG. This will help with machine
independent code that needs to know about INTRNG such as PCI drivers.

Obtained from:	ABT Systems Ltd
Sponsored by:	The FreeBSD Foundation
2016-04-15 16:05:41 +00:00
skra
6c51f4fbb8 Rework am33xx interrupt controller for INTRNG and enable it
on BEAGLEBONE by default.

Reviewed by:	gonzo
Differential Revision:	https://reviews.freebsd.org/D5805
2016-04-04 09:23:21 +00:00
loos
3d51f58d4c Enable SPI1 on Beaglebone Black.
SPI1 was chosen because SPI0 shares the gpio pins with I2C1.

Sponsored by:	Rubicon Communications (Netgate)
2016-03-30 17:32:14 +00:00
bz
200e80141f Now that the PMU implementation is independent of HWPMC
as of r288992 use it to manage the CCNT.

Use the CNNT for get_cyclecount() instead of binuptime() when device pmu
is compiled in; if it fails to attach, fall back to the former method.

Enable by default for the BeagleBoneBlack configuration.

Optained from:		Cambridge/L41
Sponsored by:		DARPA/AFRL
Reviewed by:		andrew
Differential Revision:	https://reviews.freebsd.org/D3837
2015-11-09 17:57:32 +00:00
gonzo
aa6bcff20c Enable gpiobacklight in BEAGLEBONE config to support LCD capes by
4DSYSTEMS out of box
2015-10-18 23:58:05 +00:00
andrew
c62c4d76f3 Enable KDTRACE_HOOKS by default on all armv6 kernels to get more testing. 2015-08-23 21:10:20 +00:00
ian
69d8a7bbb6 Add a new PPS driver for AM335x (beaglebone) timer hardware. This can be
used as a module or compiled-in.
2015-08-13 15:19:30 +00:00
rpaulo
d6d829914b BEAGLEBONE: remove dtrace from MODULES_EXTRA.
This config is already building all modules, so we don't need the
MODULES_EXTRA definition.  It was also causing problems to users who
rely on MODULES_OVERRIDE to do the right thing.

Discussed with:	ian
2015-08-04 19:04:02 +00:00
markj
fb4cb70b7d Implement the lockstat provider using SDT(9) instead of the custom provider
in lockstat.ko. This means that lockstat probes now have typed arguments and
will utilize SDT probe hot-patching support when it arrives.

Reviewed by:	gnn
Differential Revision:	https://reviews.freebsd.org/D2993
2015-07-19 22:14:09 +00:00
gonzo
884104c90b Add HDMI support to Beaglebone Black:
- Add driver for TDA19988 HDMI framer
- Add simple interface to communicate with HDMI sink: read EDID and set videomode
- Add event-based API to notify LCD controller when HDMI sink is available
- Add HDMI framer node and add refernce to it to lcdc node. This part of
    DTS tree is custom and does not match Linux DTS because Linux uses
    combination of pseudo-node in DTS and hardcoded driver information
    that does not map to our model.
2015-06-18 00:57:52 +00:00
ian
c166b02443 Ensure that all arm kernel configs contain ALT_BREAK_TO_DEBUGGER and not
BREAK_TO_DEBUGGER if they have a serial console (most do).  A burst of
serial line noise (such as unplugging a usb serial adapter) can look like
a break and drop a working system into the debugger.  The alt break sequence
(<CR>~^B) works fine on both serial and non-serial consoles.
2015-05-25 23:27:13 +00:00
gonzo
ef6ca4337d Switch TI platform support code from using FreeBSD's custom-baked DTS
files to vendor-provided ones. It should make easier to adopt platform
code to new revisions of hardware and to use DTS overlays for various
Beaglebone extensions (shields/capes).

Original dts filenames were not changed, they're now wrappers over dts
files provided by TI. So make sure you update .dtb files on your
devices as part of kernel update

GPIO addressing was changed: instead of one global /dev/gpioc0 there
are per-bank instances of /dev/gpiocX. Each bank has 32 pins so for
instance pin 121 on /dev/gpioc0 in old addressing scheme is now pin 25
on /dev/gpioc3

On Pandaboard serial console devices was changed from /dev/ttyu0 to
/dev/ttyu2 so you'll have to update /etc/ttys to get login prompt
on serial port in multiuser mode. Single user mode serial console
should work as-is

Differential Revision:	https://reviews.freebsd.org/D2146
Reviewed by:	rpaulo, ian, Michal Meloun, Svatopluk Kraus
2015-05-22 03:16:18 +00:00
andrew
b87b82a356 Clean up the ARM kernel configs to use 'include<space><tab>"file"'. 2015-05-07 12:38:23 +00:00
andrew
155af3223a Move the first batch of common armv6 options to std.armv6. 2015-05-05 17:59:02 +00:00
ian
aba3d65bdf Create std.arm and std.armv6 config files and include the right one from
each of the existing kernel configs.  This gives a place to put config
that applies to the entire arch.

Add the ARM_NEW_PMAP option to std.armv6.  This is working well in early
testing and it's time for wide exposure, but it's still nice to be able
to fall back to the old implementation for testing when a problem comes
along.  Eventually the option and the old implementation will go away.

The opportunity now exists to move a whole lot of boilerplate from all the
arm kernel config files into std.arm*, but that's a commit for another day.
2015-05-05 16:09:25 +00:00
loos
1e7130f8be In preparation for the next cycle of official ARM images, add ARM_NEW_PMAP
to supported kernels.

This is a temporary solution and should be reverted when ARM_NEW_PMAP is
enabled by default.
2015-05-04 20:59:23 +00:00
ian
77d80283cc Remove the static DTB config and instead build modules/dtb/am335x.
Also, remove WITHOUT_MODULES="ahc" which was added long ago to work around
build problems that have long since been fixed correctly.

PR:		198460
2015-03-09 21:54:27 +00:00
imp
e65afb8f7c Add the DTrace modules to the build, rather than only build the dtrace
modules.
2015-03-09 15:43:33 +00:00
br
66f825e513 Fix style. 2015-03-06 16:23:30 +00:00
gnn
b9be305241 Initial version of DTrace on ARM32.
Submitted by:	Howard Su based on work by Oleksandr Tymoshenko
Reviewed by:	ian, andrew, rpaulo, markj
2015-02-10 19:41:30 +00:00
loos
8e5fb35624 Add support to turn off Beaglebone with poweroff(8) or shutdown(8) -p.
To cut off the power we need to start the shutdown sequence by writing
the OFF bit on PMIC.

Once the PMIC is programmed the SoC needs to toggle the PMIC_PWR_ENABLE
pin when it is ready for the PMIC to cut off the power.  This is done by
triggering the ALARM2 interrupt on SoC RTC.

The RTC driver only works in power management mode which means it won't
provide any kind of time keeping functionality.  It only implements a way
to trigger the ALARM2 interrupt when requested.

Differential Revision:	https://reviews.freebsd.org/D1489
Reviewed by:	rpaulo
MFC after:	2 weeks
2015-01-12 03:23:16 +00:00
jhb
c3d1954342 Remove "New" label from NFSCL/NFSD now that they are the only NFS
client/server.  While here, remove duplicate NFSCL from sys/conf/NOTES.

Approved by:	rmacklem
2015-01-06 16:15:57 +00:00
andrew
811e82813c Fix the indentation to simplify comparing the ARM config files. 2014-12-21 11:55:40 +00:00
andrew
1a9a1211e3 tart to clean up the armv6 kernel configs by reducing the diff between
them in the first sections and the later FDT support.

Differential Revision:	https://reviews.freebsd.org/D1346
Reviewed by:	rpaulo (earlier version)
2014-12-21 11:37:00 +00:00
rpaulo
12cfd5c5b7 Make the ti_mbox and ti_pruss drivers optional.
MFC after:	1 week
2014-10-18 17:00:55 +00:00
rpaulo
dd5b16912c Add a driver for the TI watchdog.
The TI watchdog timer is present on BeagleBone's.  Since 2014, U-Boot
has been booting the BeagleBone with the watchdog enabled.  We need to
disable it on boot to avoid a spurious reset.
The timer isn't exactly precise, but it will do as a watchdog.  This
is also a reflection of the watchdog(9) API.

In the future, we could handle interrupts, but the watchdog(9) API
needs to be a bit smarter before that can happen.

Differential Revision:	https://reviews.freebsd.org/D965
Reviewed by:	andrew
MFC after:	1 week
Relnotes:	yes
2014-10-18 16:59:21 +00:00
andrew
a590cc4501 Remove the need for files.beaglebone and std.beaglebone by moving the one
option they defined into files.am335x.
2014-10-13 16:16:32 +00:00
imp
bb7334d257 Resync comments about scbus and pass for life after AHCI joined CAM.
Sponsored by: Netflix
2014-09-01 03:49:21 +00:00
andrew
2adb4b058b Reduce the diff between the PandaBoard and BeableBone kernel configs to
help with the creation of a more generic Ti kernel config.
2014-05-25 10:17:26 +00:00
andrew
46a8bf5e1c Move the Ti SoCs to use the ARM platform. This should help allowing a
single kernel to work on both PandaBoard and BeagleBone.
2014-05-17 18:35:22 +00:00
loos
3af2305e23 Adds the ADC driver for TI AM3xxx SoC family.
The ADC has a 12bit resolution and its raw output can be read via sysctl(8)
interface.

The driver allows the setup of ADC clock, samples average and open delay
(the number of clock cycles to wait before start the conversion).

The TSC_ADC module is set in the general purpose mode (no touchscreen
support).

Tested on Beaglebone-black.

Written based on AM335x TRM.

Reviewed by:	rpaulo
Approved by:	adrian (mentor)
Tested by:	me, Brian J. McGovern, Sulev-Madis Silber (ketas)
2014-03-24 20:06:27 +00:00
imp
ea27b8b541 In kernel config files, it is supposed to be 'options<space><tab>' not
'options<tab><tab>', per long standing (but recently not so strictly
enforced) convention.
2014-03-18 14:41:18 +00:00
imp
d6e2956cb9 Make all the comments '# ' and align to same column. This fixes the
rampently incosnsitent usage which made cut and paste from one file
to another look ugly.
2014-03-16 15:22:46 +00:00
ian
c2f6af040c Strip arm/conf/DEFAULTS down to just items that are mandatory for running
the architecture.  Move the other contents into each of the individual
config files.

Requested by:	imp
2014-03-07 21:36:49 +00:00
ian
6908862999 Add option TMPFS to arm/conf/DEFAULTS, remove it from the few configs
that have it individually.  Concensus on freebsd-arm@ is that it should
be included in all ARM kernels.
2014-03-07 00:25:23 +00:00
loos
ab3f62ff43 Make the gpioled(4) work out of the box on BBB.
Add gpioled(4) to BEAGLEBONE kernel and add the description of the four
on-board leds of beaglebone-black to its DTS file.

Approved by:	adrian (mentor, implicit)
2014-02-13 18:51:37 +00:00
ian
b588e1a7e3 Add USB_HOST_ALIGN=64; the cache line size on the am335x is 64 bytes. 2013-11-20 16:42:01 +00:00
ian
d8b6d1ce61 Make the standard sdhci(4) driver work for the TI OMAP family SoCs.
The MMCHS hardware is pretty much a standard SDHCI v2.0 controller with a
couple quirks, which are now supported by sdhci(4) as of r254507.

This should work for all TI SoCs that use the MMCHS hardware, but it has
only been tested on AM335x right now, so this enables it on those platforms
but leaves the existing ti_mmchs driver in place for other OMAP variants
until they can be tested.

This initial incarnation lacks DMA support (coming soon).  Even without it
this improves performance pretty noticibly over the ti_mmchs driver,
primarily because it now does multiblock IO.
2013-08-20 12:33:35 +00:00
ian
85c6da6a6e Enable VFP support for BeagleBone. 2013-08-17 19:29:51 +00:00
obrien
7999076e3e Back out r253779 & r253786. 2013-07-31 17:21:18 +00:00
obrien
721ce839c7 Decouple yarrow from random(4) device.
* Make Yarrow an optional kernel component -- enabled by "YARROW_RNG" option.
  The files sha2.c, hash.c, randomdev_soft.c and yarrow.c comprise yarrow.

* random(4) device doesn't really depend on rijndael-*.  Yarrow, however, does.

* Add random_adaptors.[ch] which is basically a store of random_adaptor's.
  random_adaptor is basically an adapter that plugs in to random(4).
  random_adaptor can only be plugged in to random(4) very early in bootup.
  Unplugging random_adaptor from random(4) is not supported, and is probably a
  bad idea anyway, due to potential loss of entropy pools.
  We currently have 3 random_adaptors:
  + yarrow
  + rdrand (ivy.c)
  + nehemeiah

* Remove platform dependent logic from probe.c, and move it into
  corresponding registration routines of each random_adaptor provider.
  probe.c doesn't do anything other than picking a specific random_adaptor
  from a list of registered ones.

* If the kernel doesn't have any random_adaptor adapters present then the
  creation of /dev/random is postponed until next random_adaptor is kldload'ed.

* Fix randomdev_soft.c to refer to its own random_adaptor, instead of a
  system wide one.

Submitted by: arthurmesh@gmail.com, obrien
Obtained from: Juniper Networks
Reviewed by: obrien
2013-07-29 20:26:27 +00:00
rpaulo
9149b14da1 Revert ROOTDEVNAME change from previous commit. 2013-07-25 03:44:12 +00:00
rpaulo
d1b019eee7 Enable modules for the BeagleBone and for the Raspberry Pi. 2013-07-25 03:31:27 +00:00
gonzo
f0b30c046f - Add USFS driver as an example of device mode for AM335x-based devices 2013-07-07 04:24:38 +00:00
rpaulo
9a8c4fb8c4 Revert r250692. We'll use 1 kernel config file for the BeagleBone models. 2013-05-17 15:20:45 +00:00
kientzle
55db66532b Tweaks to standard BEAGLEBONE config, as recently discussed
on FreeBSD-ARM.
2013-02-02 06:01:57 +00:00
kientzle
5ec4d94d6a Prefer the new NFS modules 2013-01-05 20:30:10 +00:00
kientzle
d749d2ede4 Support kernel options from ubldr. 2012-10-01 14:56:48 +00:00
jmg
ec63ab20c6 fix the kernel files to match our standard "option<space><tab>" format
such that when commenting/uncommentting lines, horizontal spacing is
maintained...

Also fix some minor comment formatting to line things up, etc...

Reviewed by:	gnn, imp
MFC after:	1 week
2012-09-16 19:48:48 +00:00
gonzo
8ebd91847c Merging of projects/armv6, part 10
- Support for Texas Instruments SoCs:
	- AM335x
	- OMAP4

- Kernel configs, DTS for Beaglebone and Pandaboard

Submitted by:	Ben Gray, Damjan Marion
2012-08-15 06:31:32 +00:00