AM335X FDT: use the oma3-wdt string for compatibility with Linux.

Submitted by:	andrew
MFC after:	1 week
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
Make the ti_mbox and ti_pruss drivers optional.

MFC after:	1 week
Make VPD 80h (Serial Number) transfer length match serial number length.

MFC after:	1 week
Use IPFW_RULE_CNTR_SIZE macro instead of non-relevant ip_fw_cntr structure.

Found by:	luigi
Remove an unused mutex.

MFC after:	1 week
Rework the Ti GPIO code to allow for both the OMAP4 and AM335X attachments
to be present. Thsi creates a new per-SoC driver that handles probe and
setting/getting the gpio flags.

Differential Revision:	https://reviews.freebsd.org/D943
Reviewed by:	loos, rpaulo
MFC after:	1 week
Fix the chan address for mtx_sleep() on bus wait.  Without this fix the
threads waiting for the bus would never wake.

X-MFC-With: r270230
Add a workaround needed to fix a bug of Arasan Host Controller where it may
lose the contents of consecutive writes (that happens within two SD card
clock cycles).

This fixes the causes of instability during the SD card detection and
identification on Raspberry Pi (which happens at 400 kHz and so was much
more vulnerable to this issue).

Remove the previous workaround which clearly can't provide the same effect.

MFC after:	1 week
Relnotes:	yes
PIE : appliance in more binaries.
Merge branch 'hardened/current/pie' of https://github.com/hardenedbsd/hardenedbsd into hardened/current/pie
Update the ULE scheduler + thread and kinfo structs to use int for cpuid
rather than u_char.

To try and play nice with the ABI, the u_char CPU ID values are clamped
at 254.  The new fields now contain the full CPU ID, or -1 for no cpu.

Differential Revision:	D955
Reviewed by:	jhb, kib
Sponsored by:	Norse Corp, Inc.
Merge remote-tracking branch 'freebsd/master' into hardened/current/master
Merge remote-tracking branch 'origin/hardened/current/master' into hardened/current/hardening
Merge remote-tracking branch 'origin/hardened/current/master' into hardened/current/ptrace
Merge remote-tracking branch 'origin/hardened/current/master' into hardened/current/log
Merge remote-tracking branch 'origin/hardened/current/master' into hardened/current/userlandenhanced
Merge remote-tracking branch 'origin/hardened/current/master' into hardened/current/chacha
Merge remote-tracking branch 'origin/hardened/current/master' into hardened/current/pie
Merge remote-tracking branch 'origin/hardened/current/master' into hardened/current/unstable