History log of /freebsd-11.0-release/sys/boot/fdt/
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
303975 11-Aug-2016 gjb

Copy stable/11@r303970 to releng/11.0 as part of the 11.0-RELEASE
cycle.

Prune svn:mergeinfo from the new branch, and rename it to RC1.

Update __FreeBSD_version.

Use the quarterly branch for the default FreeBSD.conf pkg(8) repo and
the dvd1.iso packages population.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation

303839 08-Aug-2016 gonzo

MFC r303726

Fix EHCI driver by excluding first 512K from available memory

On Zynq 256K-512K memory region is not accessible by all bus masters.
EHCI driver fails when trying to use it for DMA transfers. Patching
memory node does not help because ubldr overrides values there with
the ones obtained from u-boot. So as a workaround we just mark first
512K as reserved.

PR: 211484
Submitted by: Thomas Skibo <thoma555-bsd@yahoo.com>
Approved by: re (gjb)


302408 08-Jul-2016 gjb

Copy head@r302406 to stable/11 as part of the 11.0-RELEASE cycle.
Prune svn:mergeinfo from the new branch, as nothing has been merged
here.

Additional commits post-branch will follow.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation


302312 01-Jul-2016 nwhitehorn

Clean up some FDT-related code in the PowerPC bootloader, improving error
checking and robustness. Prevents errors and crashes in FDT commands on
PowerMac G5 systems.

Approved by: re (gjb)


301747 09-Jun-2016 manu

Add PCDuino3b dts. It uses the pcduino3 dts from upstream and adds the hdmi node, axp gpio and changes the phy mode to rgmii.

Approved by: andrew (mentor)
Differential Revision: https://reviews.freebsd.org/D6775


301225 02-Jun-2016 zbb

Add support for CESA on Armada38x

Changes:
- added new SoC ID in CESA attach
- allowed crypto driver IDs other than 0
- added CESA nodes to Armada38x .dts files
- enabled required devices in kernconf

Submitted by: Michal Stanek <mst@semihalf.com>
Obtained from: Semihalf
Sponsored by: Stormshield
Differential revision: https://reviews.freebsd.org/D6220


301222 02-Jun-2016 zbb

Split CESA memory resource into TDMA and CESA regs

TDMA and CESA registers are placed in different ranges of memory. Split
memory resource in DTS to reflect that. This change is needed to support
multiple CESA nodes as otherwise the ranges of different nodes would
overlap.

In consequence, CESA_WRITE and CESA_READ macros have been split depending
on which range of registers is accessed. Offsets for CESA registers have
been modified as the base address has changed.

Submitted by: Michal Stanek <mst@semihalf.com>
Obtained from: Semihalf
Sponsored by: Stormshield
Differential revision: https://reviews.freebsd.org/D6217


301218 02-Jun-2016 zbb

Revert part of r294418 ("Correct ranges...")

Commit was temporary fix due to rman_res_t defined as 32-bit u_long.
After redefining it as 64-bit variable workaround is not needed and
was removed.

Submitted by: Bartosz Szczepanek <bsz@semihalf.com>
Obtained from: Semihalf
Sponsored by: Stormshield
Differential revision: https://reviews.freebsd.org/D6214


300777 26-May-2016 manu

Add support for interrupts, sensors and GPIO for AXP209 PMIC.
Pressing the PEK (power enable key) will shutdown the board.
Some events are reported to devd via system "PMU" and subsystem
"Battery", "AC" and "USB" such as connected/disconnected.
Some sensors values (power source voltage/current) are reported via
sysctl (dev.axp209_pmu.X.)
It also expose a gpioc node usable in kernel and userland. Only 3 of
the 4 GPIO are exposed (The GPIO3 is different and mostly unused on
boards). Most popular boards uses GPIO1 as a sense pin for OTG power.
Add a dtsi file that adds gpio-controller capability to the device as
upstream doesn't defined it and include it in our custom DTS.

Reviewed by: jmcneill
Approved by: cognet (mentor)
Differential Revision: https://reviews.freebsd.org/D6135


300230 19-May-2016 gonzo

Fixed memory leak in FDT overlay handling code

Free both overlay and new fdt before returning after fdt_open_into error
PR: 209634
Submitted by: David Binderman


300117 18-May-2016 imp

Fix several instances where the boot loader ignored pager_output
return value when it could return 1 (indicating we should stop).
Fix a few instances of pager_open() / pager_close() not being called.
Actually use these routines for the environment variable printing code
I just committed.


300014 17-May-2016 sgalabov

Add proper PCIe init for MT7628/MT7688 SoCs

PCIe PHY needs different initialization on MT7628/MT7688 SoCs than it does
on MT7620.
However, LEDE (and OpenWRT) dts files have the PCIe node for MT7628/MT7688
as compatible with mt7620-pci.
We already can handle this properly in our driver, so we just need to add
compat strings to fbsd-mt7628an.dtsi and the PCIe driver.

Approved by: adrian (mentor)
Sponsored by: Smartcom - Bulgaria AD
Differential Revision: https://reviews.freebsd.org/D6395


300013 17-May-2016 sgalabov

Import LEDE dts files for Ralink/Mediatek

This is an import of the reworked LEDE dts files. Besides other things
they make it easier for us to reuse.

The only diffs left are for the following SoCs:
MT7620A (fbsd-mt7620a.dtsi)
MT7621 (fbsd-mt7621.dtsi)
MT7628 (fbsd-mt7628an.dtsi)
RT3883 (fbsd-rt3883.dtsi)

So we include the fbsd-*.dtsi files at the end of the original LEDE dtsi
files, using '#include "fbsd-xxxx.dtsi"'.
For example, for MT7621, the LEDE dtsi file is mt7621.dtsi. At the end of
it we add:
#include "fbsd-mt7621.dtsi"

Approved by: adrian (mentor)
Obtained from: LEDE project
Sponsored by: Smartcom - Bulgaria AD
Differential Revision: https://reviews.freebsd.org/D6394


299871 15-May-2016 jmcneill

Add Allwinner A83T thermal sensor controller support.

The A83T thermal sensor controller has three sensors. Sensor 0 corresponds
to CPU cluster 0, sensor 1 to CPU cluster 1, and sensor 2 to the GPU. This
driver exports the temperature sensor readings via sysctl.

Calibration data is obtained from SRAM found in the Secure ID module.

Reviewed by: manu
Differential Revision: https://reviews.freebsd.org/D6378


299863 15-May-2016 jmcneill

Enable SATA power regulator at boot on Sinovoip BananaPi BPI-M3.


299861 15-May-2016 jmcneill

Add gpio-leds for Sinovoip BananaPi BPI-M3.

The green LED on the board is wired to AXP813 GPIO0 and the blue
LED is wired to AXP813 GPIO1.


299789 14-May-2016 jmcneill

Add pmic (AXP813) child node to r_rsb for Sinovoip BananaPi BPI-M3.


299779 14-May-2016 jmcneill

Add node for A83T NMI interrupt controller.


299748 14-May-2016 jmcneill

Add DTS files for the Allwinner A83T SoC and the Sinovoip BananaPi BPI-M3
development board.


298826 30-Apr-2016 pfg

sys/boot: spelling fixes in comments.

No functional change.


298821 29-Apr-2016 gonzo

Add FDT overlays support to ubldr

FDT overlays is de-facto standard for describing expansion boards like
Beaglebone capes or Raspberry Pi shields. The ides is to have basic
DTB for base board and overlays DTB for shields/capes and to construct
final DTB either using human-readable configuration or some
self-discovery mechanism. I believe this approach can also be expanded
to support dynamically loadable FPGA bitstreams on systems like
Zedboard/Zybo.

Overlaying process is simmilar to executable link process for
binaries: each DTB has "exported" symbols and "undefined" symbols, the
latter are resolved using information for the former obtained from
base DTB or one of the overlays applied earlier (more rare case).

This symbols information is not generated by standard dtc that FreeBSD
has in base system, patched[1] version required to produces
overlay-compatible blobs. So although DTB files generated by
buildkernel do not support overlays there are enough
vendor/community-provided DTB blobs ciruclating around to justify
committing this change to ubldr.

This commit introduces handler for "fdt_overlays" variable that can be
defined either as a loader env variable or U-Boot env variable.
fdt_overlays is comma-separated list of .dtbo files located in
/boot/dtb/ directory along with base .dtb. ubldr loads files and
applies them one-by-one to base .dtb and then passes result blob to
the kernel.

[1] https://github.com/RobertCNelson/dtc/commit/dd6a0533e846e8d5e690a618fa35cc15a6103efb

Differential Revision: https://reviews.freebsd.org/D3180


298674 26-Apr-2016 gonzo

Refactor DTS files for Zynq-based SoCs

- Factor out common part to zynq-7000.dtsi
- Fix problem with Zynq interrupts by using interrupt "triples"
in .dtsi file to differentiate between edge-triggered and
level-triggered interrupts
- cgem driver now recognizes "status" property

Submitted by: Thomas Skibo <thomasskibo@yahoo.com>
Differential Revision: https://reviews.freebsd.org/D6095


298638 26-Apr-2016 br

o Add device tree files and kernel configuration files
for RISC-V cpus synthesized on FPGA hardware.
o Include new files to the build.


298500 23-Apr-2016 sgalabov

Reduce the FreeBSD specific DTS files for Mediatek/Ralink

The introduction of palmbus and previous work allows us to cut the
differences between FreeBSD and OpenWRT DTS files a bit further.

Approved by: adrian (mentor)
Sponsored by: Smartcom - Bulgaria AD
Differential Revision: https://reviews.freebsd.org/D6043


298422 21-Apr-2016 jmcneill

Replace the A20 kernel config with a generic ALLWINNER kernel config that
supports A20, A31, and A31S. Adds support for the BananaPi M2 (A31S) board.

Submitted by: Emmanuel Vadot <manu@bidouilliste.com>
Reviewed by: jmcneill
Differential Revision: https://reviews.freebsd.org/D5580


298346 20-Apr-2016 sgalabov

Include resets and clocks properties for PCI in FreeBSD RT3883 dtsi file

This change is required so that RT3662/RT3883 PCI can function correctly

Approved by: adrian (mentor)
Sponsored by: Smartcom - Bulgaria AD
Differential Revision: https://reviews.freebsd.org/D6028


298062 15-Apr-2016 sgalabov

Import Mediatek/Ralink dtsi patches against OpenWRT dtsi files

This revision suggests dtsi patches to be used with the original OpenWRT
dtsi files so we can re-use what has already been done in OpenWRT for the
Mediatek/Ralink SoCs.

The only thing that is required after importing this revision should be
the following:
1. Import OpenWRT dts/dtsi files into sys/gnu/dts/mips
2. Run the following script in sys/gnu/dts/mips:
for f in `ls [mr]t*.dtsi`; do
printf "\n#include <fbsd-$f>\n" > $f
done

This will apply our dtsi patches to OpenWRT's dtsi files and will allow us
to re-use dts/dtsi files for ~170 Mediatek/Ralink boards.

Currently our drivers are not 100% compatible with OpenWRT's dts files, but
they're compatible enough.
We can add more functionality in the future that would better leverage the
OpenWRT work as well.

Approved by: adrian (mentor)
Sponsored by: Smartcom - Bulgaria AD
Differential Revision: https://reviews.freebsd.org/D5965


297627 06-Apr-2016 jmcneill

Convert Allwinner port to extres clk/hwreset/regulator APIs.

Reviewed by: andrew, gonzo, Emmanuel Vadot <manu@bidouilliste.com>
Approved by: gonzo (mentor)
Differential Revision: https://reviews.freebsd.org/D5752


297582 05-Apr-2016 skra

Rework BCM283x gpio interrupt controller for INTRNG. It's used on RPI-B
and RPI2 where INTRNG is already enabled by default.

Differential Revision: https://reviews.freebsd.org/D5810


297545 04-Apr-2016 skra

Define local-intc for BCM2836 platform (RPI2) and make BCM2835 intc
a child of it. This is done in conformity with Linux dts files and
as preparation for rework of BCM2836 interrupt controller for INTRNG.

Reviewed by: gonzo
Differential Revision: https://reviews.freebsd.org/D5807


297426 30-Mar-2016 loos

Enable SPI1 on Beaglebone Black.

SPI1 was chosen because SPI0 shares the gpio pins with I2C1.

Sponsored by: Rubicon Communications (Netgate)


297425 30-Mar-2016 loos

Use the AM33XX_IOPAD() MACRO which is easier to read (uses the same offset
of TRM).

While here remove i2c2_pins, it is already defined in
am335x-bone-common.dtsi.

Sponsored by: Rubicon Communications (Netgate)


296936 16-Mar-2016 mmel

Import basic support for Nvidia Jetson TK1 board and tegra124 SoC.
The following pheripherals are supported: UART, MMC, AHCI, EHCI, PCIe, I2C,
PMIC, GPIO, CPU temperature and clock.

Note: The PCIe driver is pure mash at this moment. It will be reworked
immediately when both D5237 and D2579 enter the current tree.


296825 14-Mar-2016 wma

Make MPIC compatible with ARM_INTRNG

After ARM_INTRNG introduction, MPIC code needed several modifications:
- IRQ resource and its handler added
- several DEVMETHODs of INTRNG interface implemented
- defines enhanced to ensure code compiles as well for AXP as for A38X
- added dummy MSI_IRQ, ERR_IRQ defines for Armada38x
- MPIC driver was added to files.armada38x, ARM_INTRNG option enabled in
kernconf file and regs of MPIC corrected in dts file.

Instead of modifying Armada38X DTS, offsets to CPU registers defined in
driver were changed. That required restoring 'reg' property of mpic node
in ArmadaXP to state compliant with Linux DTS.

Additionally, required ARM_INTRNG definitions were added to mv_common.c.

Submitted by: Bartosz Szczepanek <bsz@semihalf.com>
Obtained from: Semihalf
Sponsored by: Stormshield
Reviewed by: adrian, andrew, ian, skra
Approved by: cognet (mentor)
Differential Revision: https://reviews.freebsd.org/D5030


296790 13-Mar-2016 jmcneill

Add HDMI device nodes to Banana Pi dts.

PR: 207912
Approved by: gonzo (mentor)


296182 29-Feb-2016 sgalabov

These changes attempt to put things in order before the introduction of MIPS
ubldr.

The changes are mostly dealing with removing unnecessary casts from the U-Boot
API (we're passing only pointers, no obvious reason to cast them to uint32_t),
cleaning up some compiler warnings and using the proper printf format
specifiers in order to be able to compile cleanly for both 32-bit and 64-bit
MIPS targets.

Reviewed by: imp
Approved by: adrian (mentor)
Sponsored by: Smartcom - Bulgaria AD
Differential Revision: https://reviews.freebsd.org/D5312


296080 26-Feb-2016 sgalabov

So far bsd.stand.mk wasn't included in the following files:
sys/boot/fdt/Makefile
sys/boot/uboot/fdt/Makefile
sys/boot/uboot/lib/Makefile

This causes compilation issues on MIPS due to trying to link PIC with non-PIC
code. This revision includes bsd.stand.mk in the above files.

Reviewed by: imp
Approved by: adrian (mentor)
Sponsored by: Smartcom - Bulgaria AD
Differential Revision: https://reviews.freebsd.org/D5311


296064 25-Feb-2016 jmcneill

Add Allwinner A20 HDMI support.

The HDMI driver will attach a framebuffer device when a display is
connected. If the EDID can be read and contains a preferred mode, it
will be used. Otherwise the framebuffer will default to 800x600.

In addition, if the EDID contains a CEA-861 extension block and the
"basic audio" flag is set, audio playback at 48kHz 16-bit stereo is
enabled on the controller.

Reviewed by: andrew
Approved by: gonzo (mentor)
Differential Revision: https://reviews.freebsd.org/D5383


295972 24-Feb-2016 br

Add support for symmetric multiprocessing (SMP).

Tested on Spike simulator with 2 and 16 cores (tlb enabled),
so set MAXCPU to 16 at this time.

This uses FDT data to get information about CPUs
(code based on arm64 mp_machdep).

Invalidate entire TLB cache as it is the only way yet.

Sponsored by: DARPA, AFRL
Sponsored by: HEIF5


295921 23-Feb-2016 br

o Grab physical memory regions information from the device tree.
o Increase memory size.


295711 17-Feb-2016 andrew

Move the Allwinner kernels to use fdt_pinctrl. This will read the pin
configuration from the FDT data, then set the pins into the requested
state. As part of this the gpio controller now reports the correct number
of pins instead of returning the number of bank * 32.

To allow for a future consolidated kernel we add the SOC_ALLWINNER_A10 and
SOC_ALLWINNER_A20 kernel options. These need to be set as appropriate for
the SoC the kernel will boot on.

Submitted by: Emmanuel Vadot <manu@bidouilliste.com>
Differential Revision: https://reviews.freebsd.org/D5177


295657 16-Feb-2016 andrew

Add an analog audio driver for the audio codec found on the Allwinner
A10/A20 SoC. Based loosely on the submitters NetBSD driver, tested on
Cubieboard 2. Playback and capture are supported.

Submitted by: Jared McNeill <jmcneill@invisible.ca>
Differential Revision: https://reviews.freebsd.org/D5202


295655 16-Feb-2016 skra

Temporary overwrite bad definition of elm interrupt property in Linux
dts files. It may be removed once it will be fixed upstream.

This is done just to supresses a warning during dtb evaluation as
there is no elm driver in tree at present.


295635 15-Feb-2016 andrew

Add support for the Allwinner DMA controller. This will be used by the at
least the audio codec driver currently in review.

Submitted by: Jared McNeill <jmcneill@invisible.ca>
Differential Revision: https://reviews.freebsd.org/D5050


295521 11-Feb-2016 br

o Move non-generic kernel configuration out from GENERIC.
o Add kernel configuration for QEMU.

Both SPIKE and QEMU kernel configs are temporary (until
we will be able to obtain DTB from loader).

Sponsored by: DARPA, AFRL
Sponsored by: HEIF5


295464 10-Feb-2016 andrew

Update of the Allwinner drivers to:
* Use the Linux compat string
* Use EARLY_DRIVER_MODULE to attach at the right time
* Add a generic A10 kernel config file
* A20 now use generic_timer
* Add two new dts files for Olimex boards
* Update our custom DTS file for A10 and A20 to use the same compatible
property names as the vendor ones.

Submitted by: Emmanuel Vadot <manu@bidouilliste.com>
Differential Revision: https://reviews.freebsd.org/D4792


295041 29-Jan-2016 br

Welcome the RISC-V 64-bit kernel.

This is the final step required allowing to compile and to run RISC-V
kernel and userland from HEAD.

RISC-V is a completely open ISA that is freely available to academia
and industry.

Thanks to all the people involved! Special thanks to Andrew Turner,
David Chisnall, Ed Maste, Konstantin Belousov, John Baldwin and
Arun Thomas for their help.
Thanks to Robert Watson for organizing this project.

This project sponsored by UK Higher Education Innovation Fund (HEIF5) and
DARPA CTSRD project at the University of Cambridge Computer Laboratory.

FreeBSD/RISC-V project home: https://wiki.freebsd.org/riscv

Reviewed by: andrew, emaste, kib
Relnotes: Yes
Sponsored by: DARPA, AFRL
Sponsored by: HEIF5
Differential Revision: https://reviews.freebsd.org/D4982


294432 20-Jan-2016 zbb

Change DTS entry of PCIe controller for Armada38x

Invalid (in FreeBSD) definition of PCI controller was
replaced with another one, working in FreeBSD environment.

PCI controller's entry had to move from its parent node
so as to be recognized properly by FBSD.

PCI was enabled in kernel configuration file.

Obtained from: Semihalf
Sponsored by: Stormshield
Submitted by: Bartosz Szczepanek <bsz@semihalf.com>
Differential revision: https://reviews.freebsd.org/D4379


294424 20-Jan-2016 zbb

Fix busy-detect when using DesignWare UART

uart_dev_ns8250 now relies on compatible property instead of additional
'busy-detect' cell. All drivers with compatible = "snps,dw-apb-uart" have
busy detection turned on. DTS files of devices affected by the change
were modified and 'busy-detect' property was removed.

Reviewed by: andrew, ian, imp
Obtained from: Semihalf
Sponsored by: Stormshield
Submitted by: Bartosz Szczepanek <bsz@semihalf.com>
Differential revision: https://reviews.freebsd.org/D4218


294420 20-Jan-2016 zbb

Add global mpcore timer node to Armada 38x DTS

Changes:
- global mpcore timer dts node added
- required by driver 'clock-frequency' property added

Reviewed by: ian
Obtained from: Semihalf
Sponsored by: Stormshield
Submitted by: Bartosz Szczepanek <bsz@semihalf.com>
Differential revision: https://reviews.freebsd.org/D4213


294418 20-Jan-2016 zbb

Correct ranges in Armada38x dts

Ranges property of 'soc' node used two-cell addresses which resulted in
casting errors as simplebus resource allocation works with 32-bit u_long
variables. FDT ranges were simplified.

Reviewed by: imp
Obtained from: Semihalf
Sponsored by: Stormshield
Submitted by: Michal Stanek <mst@semihalf.com>
Differential revision: https://reviews.freebsd.org/D4212


294416 20-Jan-2016 zbb

Introduce initial support for Marvell Armada38x

This commit introduces initial support for Marvell Armada38x platform.
Changes:
- Add common DTS files for Armada38x SoCs and DTS file for A388-GP
- Add ARMADA38X kernel configuration
- Add option SOC_MV_ARMADA38X and set MV_PCI_PORTS
- Add list of files to compile
- Implement get_tclk(), get_sar_value(), cpu_reset() functions
- Add CPU ID and SoC numbers
- Correct ifdefs in arm/mv/timer.c

Reviewed by: ian, imp
Obtained from: Semihalf
Sponsored by: Stormshield
Submitted by: Michal Stanek <mst@semihalf.com>
Differential revision: https://reviews.freebsd.org/D4210


294041 14-Jan-2016 smh

Remove unused reg param from fdt_fixup_memory

MFC after: 2 weeks
X-MFC-With: r293268
Sponsored by: Multiplay


291683 03-Dec-2015 ganbold

Add glue driver for Amlogic Meson Gigabit Ethernet Controller
and enable it for Odroid C1 board.
Together with r291676 change, dwc(4) can receive packets now.


291563 01-Dec-2015 bdrewery

META MODE: Update dependencies with 'the-lot' and add missing directories.

This is not properly respecting WITHOUT or ARCH dependencies in target/.
Doing so requires a massive effort to rework targets/ to do so. A
better approach will be to either include the SUBDIR Makefiles directly
and map to DIRDEPS or just dynamically lookup the SUBDIR. These lose
the benefit of having a userland/lib, userland/libexec, etc, though and
results in a massive package. The current implementation of targets/ is
very unmaintainable.

Currently rescue/rescue and sys/modules are still not connected.

Sponsored by: EMC / Isilon Storage Division


290769 13-Nov-2015 imp

Add support for the Zybo and similar boards to ZEDBOARD kernel.
Zybo needs its own DTB and has a different PHY, so add it to
the base kernel. Details on building bootable SD images at
http://www.thomasskibo.com/zedbsd/

Submitted By: Thomas Skibo


290321 03-Nov-2015 gonzo

Raspberry Pi firmware passes cache line size as a DTB parameter

- Add cache-line-size paramter to vchiq node
- Add cache_line_size DTB parameter referencing to
.../vchiq/cache-line-size property


288311 27-Sep-2015 loos

Set the #address-cells and #size-cells for the I2C controllers in RPi2.

This allows the use of I2C addresses in 'reg' property.


288056 21-Sep-2015 loos

Enable if_dwc for Allwinner A20 based boards.

This enables the gigabit ethernet on cubieboard2 and banana pi.

A special thanks to Netgate who gently provided me with a banana pi almost
a year ago.


287419 03-Sep-2015 gonzo

Enable both i2c1 and i2c2. These devices are disabled in TI's DTS
so they were disabled during DTS transition. Though there are
no standard devices/drivers on them people might use iic(4) userland
interface to access these buses.


287316 30-Aug-2015 loos

Add the LED definitions from vendor's DTS.

Add gpioled support to A20 kernel.

While here rename the gpio phandle to match the one used in the vendor's
DTS.


287307 30-Aug-2015 loos

Reduce the difference to vendor DTS by using the vendor compat strings (at
some point we have to use the complete vendor DTS files, but we're not
there yet).


285250 07-Jul-2015 loos

Add the Banana Pi DTS.

The Banana Pi support is in progress and this is intended to help the early
adopters.


285245 07-Jul-2015 loos

Add the GMAC entries to sun7i (A20) DTS.

While here make EMAC disabled unless explicitly enabled.


285095 03-Jul-2015 br

o Add a description for virtio block device implemented
in PISM (Bluespec C-interface device)
o Add a kernel config

Sponsored by: HEIF5


285090 03-Jul-2015 loos

Add AHCI attachment code for Allwinner A10/A20 SoCs.

The Allwinner SoC has an AHCI device on its internal main bus rather
than the PCI bus. This SoC is somewhat underdocumented, and its SATA
controller is no exception. The methods to support this chip were
harvested from the Linux Allwinner SDK, and then constants invented to
describe what's going on based on low-level constants contained in the
SATA standard and guess work.

This SoC requires a specific AHCI channel setup in order to start the
operations on the channel properly.

Clock setup and AHCI channel setup idea came from NetBSD.

Tested on Cubieboard 2 and Banana pi (and attachment on Cubieboard by
Pratik Singhal).

Differential Revision: https://reviews.freebsd.org/D737
Submitted by: imp
Reviewed by: imp, ganbold, mav, andrew


284534 18-Jun-2015 gonzo

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.


283794 30-May-2015 loos

Remove the broken-txfifo setting for Allwinnner SoCs.

This fixes the eventual missing characters when you type too fast or paste
some text on console.


283361 24-May-2015 ganbold

Add kernel config and dts files for an aml8726-m3
based device.
Following u-boot commands allow FreeBSD boot on
Yiyate Android TV Box (aml8726-m3):

tv open 480p
mmc rescan 0
fatload mmc 0 0x80100000 kernel.bin
go 0x80100000

The current FreeBSD driver doesn't program the video
clocks so the u-boot tv command is necessary in order
for the frame buffer to be useful (otherwise it can
be skipped).

The SD card for the Yiyate Android TV Box doesn't need
anything special beyond creating a FAT16 and a UFS
filesystem.

Differential Revision: https://reviews.freebsd.org/D2636
Submitted by: John Wehle


283352 24-May-2015 ganbold

Enable leds for VSATV102 in dts.

Differential Revision: https://reviews.freebsd.org/D2614
Submitted by: John Wehle


283276 22-May-2015 gonzo

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


283253 21-May-2015 loos

Add the MMC/SD driver for Allwinner SoCs.

This is based on the patch sent by Alexander Fedorov with the following
fixes/improvements:

- Better error handling;
- Clock is derived from PLL6 (obtained from netbsd);
- No more unnecessary busy loops on interrupt handler;
- style(9) fixes and code cleanup.

I also want to thanks Martin Galvan who has sent an alternative
implementation with some interesting fixes.

Tested on CubieBoard2, Banana-Pi (thanks to netgate!) and Cubieboard1
(Pratik Singhal).

This is intended to pave the way for the upcoming GSoC work (and make
easier the build of images for the supported boards).

PR: 196081
Submitted by: Alexander Fedorov <alexander.fedorov@rtlservice.com>


283181 21-May-2015 ganbold

The RTC initialization values are based on the SoC which can be
determined at runtime so there's no need to set the values in
each DTS.
Tested on YYHD18 (aml8726-m3), VSATV102 (aml8726-m6), and
ODROIDC1 (aml8726-m8b).

Differential Revision: https://reviews.freebsd.org/D2588
Submitted by: John Wehle


282985 15-May-2015 zbb

Introduce support for the Alpine PoC from Annapurna Labs

The Alpine Platform-On-Chip offers multicore processing
(quad ARM Cortex-A15), 1/10Gb Ethernet, SATA 3, PCI-E 3,
DMA engines, Virtualization, Advanced Power Management and other.

This code drop involves basic platform support including:
SMP, IRQs, SerDes, SATA. As of now it is missing the PCIe support.
Part of the functionality is provided by the low-level code (HAL)
delivered by the chip vendor (Annapurna Labs) and is a subject to
change in the future (is planned to be moved to sys/contrib directory).

The review log for this commit is available here:
https://reviews.freebsd.org/D2340

Reviewed by: andrew, ian, imp
Obtained from: Semihalf
Sponsored by: Annapurna Labs


282827 13-May-2015 loos

Add support for the power button on BeagleBone Black.

Shutdown and turn off the board when the power button is pressed.

Submitted by: Michal Meloun <meloun@miracle.cz>
Relnotes: yes


282619 08-May-2015 ganbold

The interrupt-parent is set globally so it's unnecessary to also set it at each node.

Differential Revision: https://reviews.freebsd.org/D2471
Submitted by: John Wehle


282610 07-May-2015 loos

Add the SMP support for Raspberry Pi 2 (BCM2836).

Tested with the build of some ports and a buildworld.

Submitted by: Daisuke Aoyama <aoyama@peach.ne.jp>


281899 23-Apr-2015 loos

Fix the gpio-leds node to match the LEDs on RPI2.

The 'pwr' LED is connected to GPIO pin 35 (active high) and the 'act' LED
is connected to GPIO pin 47 (active high).

Remove the GPIO pin 47 from reserved pins list, previously it was used to
signaling the SD Card presence and now it is used by act LED.


281890 23-Apr-2015 loos

Enable the watchdog on RPI2.

The watchdog is used to reset the SoC on cpu_reset().

Without this, RPI2 will not reboot when asked to.


281859 22-Apr-2015 loos

Fix the SDHCI clock frequency for RPI2, the default clock (for the newer
firmware versions) is 250MHz.


281415 11-Apr-2015 ganbold

This modifies the FreeBSD Amlogic DTS files to use the GNU files
as the base.

Submitted by: John Wehle
Reviewed by: imp


281413 11-Apr-2015 ganbold

The GNU files don't include a DTS for the aml8726-m8b (which has
cortex-a5 cores unlike the aml8726-m8 which has cortex-a9 cores).

Submitted by: John Wehle
Reviewed by: imp


280906 31-Mar-2015 ganbold

Add device tree files for Hardkernel Odroid-C1 and Visson ATV-102 devices.

Submitted by: John Wehle
Approved by: stas (mentor)


280520 25-Mar-2015 andrew

Add the Raspberry Pi 2 dtb, based on the existing rpi.dts, but with a
different base address for the devces.

MFC after: 1 week


279345 27-Feb-2015 jchandra

Move PCI bus below simplebus for Broadcom XLP

This will enable us to do common allocation code for memory and
interrupts for SoC devices as well as PCI devices.


279306 26-Feb-2015 jchandra

Remove run-time allocation of XLP IRQs

Follow the same static IRQ to Interrupt Table Entry mapping as the other
OS supported on XLP.


279305 26-Feb-2015 jchandra

Add netlogic,xlp-pic as interrupt controller for XLP

Add an empty driver for netlogic,xlp-pic to ensure that the device tree
is correct and has an interrupt controller.


279275 25-Feb-2015 mav

Fix potential NULL dereference.

Submitted by: Dmitry Luhtionov <dmitryluhtionov@gmail.com>
MFC after: 2 weeks


278915 17-Feb-2015 loos

Set the #address-cells and #size-cells properties on I2C controllers of
Raspberry-pi.

This fixes the issues of dtc(1) while compiling I2C addresses set in "reg"
property.

MFC after: 2 weeks


278032 01-Feb-2015 ian

Do not skip setting the memory 'reg' property if the fdt data already
contains one. Published dts source often includes a minimal default
memory definition and expects it to be overridden by the bootloader after
determining the actual physical memory in the system.


277745 26-Jan-2015 br

Add a generic way for hooking PMC interrupt.


277644 24-Jan-2015 br

Add support for audio transmitting, include drivers for:
o Digital Audio Multiplexer (AUDMUX)
o Smart Direct Memory Access Controller (SDMA)
o Synchronous Serial Interface (SSI)

Disable by default as it depends on SDMA firmware.

Sponsored by: Machdep, Inc.


277413 20-Jan-2015 ganbold

Enable Synopsys DesignWare Mobile Storage Host Controller
driver on Rockchip boards. It currently supports PIO mode
and dma mode needs external dma controller to be used.

Submitted by: jmcneill
Approved by: stas (mentor)


277215 15-Jan-2015 royger

loader: implement multiboot support for Xen Dom0

Implement a subset of the multiboot specification in order to boot Xen
and a FreeBSD Dom0 from the FreeBSD bootloader. This multiboot
implementation is tailored to boot Xen and FreeBSD Dom0, and it will
most surely fail to boot any other multiboot compilant kernel.

In order to detect and boot the Xen microkernel, two new file formats
are added to the bootloader, multiboot and multiboot_obj. Multiboot
support must be tested before regular ELF support, since Xen is a
multiboot kernel that also uses ELF. After a multiboot kernel is
detected, all the other loaded kernels/modules are parsed by the
multiboot_obj format.

The layout of the loaded objects in memory is the following; first the
Xen kernel is loaded as a 32bit ELF into memory (Xen will switch to
long mode by itself), after that the FreeBSD kernel is loaded as a RAW
file (Xen will parse and load it using it's internal ELF loader), and
finally the metadata and the modules are loaded using the native
FreeBSD way. After everything is loaded we jump into Xen's entry point
using a small trampoline. The order of the multiboot modules passed to
Xen is the following, the first module is the RAW FreeBSD kernel, and
the second module is the metadata and the FreeBSD modules.

Since Xen will relocate the memory position of the second
multiboot module (the one that contains the metadata and native
FreeBSD modules), we need to stash the original modulep address inside
of the metadata itself in order to recalculate its position once
booted. This also means the metadata must come before the loaded
modules, so after loading the FreeBSD kernel a portion of memory is
reserved in order to place the metadata before booting.

In order to tell the loader to boot Xen and then the FreeBSD kernel the
following has to be added to the /boot/loader.conf file:

xen_cmdline="dom0_mem=1024M dom0_max_vcpus=2 dom0pvh=1 console=com1,vga"
xen_kernel="/boot/xen"

The first argument contains the command line that will be passed to the Xen
kernel, while the second argument is the path to the Xen kernel itself. This
can also be done manually from the loader command line, by for example
typing the following set of commands:

OK unload
OK load /boot/xen dom0_mem=1024M dom0_max_vcpus=2 dom0pvh=1 console=com1,vga
OK load kernel
OK load zfs
OK load if_tap
OK load ...
OK boot

Sponsored by: Citrix Systems R&D
Reviewed by: jhb
Differential Revision: https://reviews.freebsd.org/D517

For the Forth bits:
Submitted by: Julien Grall <julien.grall AT citrix.com>


277208 15-Jan-2015 loos

Fix the PMIC node name to match the PMIC i2c address.

Remove an extra blank line.

No functional changes.

MFC after: 3 days


277042 12-Jan-2015 loos

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


276711 05-Jan-2015 nwhitehorn

Missed change in r276688. Apologies for build breakage.


276533 02-Jan-2015 br

Add driver for general-purpose I/O (GPIO).

Sponsored by: DARPA, AFRL


276207 25-Dec-2014 loos

Add interrupt support for GPIO pins on OMAP4 and AM335x.

This enables the use of GPIO pins as interrupt sources for kernel devices
directly attached to gpiobus (userland notification will be added soon).

The use of gpio interrupts for other kernel devices will be possible when
intrng is complete.

All GPIO pins can be set to trigger on:

- active-low;
- active-high;
- rising edge;
- falling edge.

Tested on: Beaglebone-black


276161 24-Dec-2014 ian

Revert r276101, it didn't fix the problem and causes a compile error
(nested comment blocks).


276101 23-Dec-2014 rpaulo

Temporarily disable the cpus directive until I figure out what's wrong.


275963 20-Dec-2014 rpaulo

Driver for CPU frequency/voltage control on the Raspberry Pi.

Differential Revision: https://reviews.freebsd.org/D1025
Submitted by: Daisuke Aoyama aoyama@peach.ne.jp
Reviewed by: ian (earlier version), rpaulo
MFC after: 1 month
Relnotes: yes


275861 17-Dec-2014 br

Add configuration files for BERI soft-core synthesized on
Terasic SoCKit board (Altera FPGA).

Use virtio block as root filesystem device.

Sponsored by: DARPA, AFRL


275860 17-Dec-2014 br

Move memory node to the root, so fdt_get_mem_regions() can find it.


275859 17-Dec-2014 br

o Add PIO[2,3] devices information
o Enable Virtio Block


275647 09-Dec-2014 br

o Add BERI Virtio Networking Frontend (if_vtbe)
o Move similar block/networking methods to common file
o Follow r275640 and correct MMIO registers width
o Pass value to MMIO platform_note method.

Sponsored by: DARPA, AFRL


275049 25-Nov-2014 br

o Add PIO and vtblk mmio device info to the tree
o Add FPGA memory window to static dev mappings
o Fix whitespace


274823 21-Nov-2014 brooks

Merge from CheriBSD:

commit 6d3c4c09226ad6bdd662e3e52489ef294a6ce298
Add terasic_mtl vt(4) framebuffer driver

terasic_mtl can be built with syscons(4) and vt(4) attachments, selected
at compile time.

commit 33240259b47a7c990a5a88a19f133a5600432a4c
Clear terasic_mtl text buffer on attach

commit d188c2d2412953f949624aa35cd07082830943c9
Update terasic vt(4) driver for FreeBSD r269783

commit d1cc54eee852fa4fc9d359d5bb2171d24ec73369
Safety belt to ensure vt(4) fb parameters are correct

commit 76e6d468ef45711d7952786095fc4791289ebb4b
Improve terasic_mtl_vt fdt parsing

- Use OF_getencprop to avoid need for explicit endian handling
(submitted by ray@freebsd.org)
- Check for expected length and correct pointer type

commit 3e2524b8995ab66e8a9295e4c87cbc7126eeddf4
Correct device_printf usage

commit 9e53e3c8e0766414e25662c95b09cc51c92443b0
Switch framebuffer to match host endianness

Xorg and xf86-video-scfb work much better with a native-endian
framebuffer.

commit 0f49259d596321ed85288ac0e1fb4ee1c966df48
Switch DE4 to vt(4) and enable kbdmux

commit 5bc96ebc89db7d134ad478335090c8477c1677c7
Add missing \n in device_printf calls

Submitted by: emaste
Sponsored by: DARPA, AFRL


274818 21-Nov-2014 brooks

Merge from CheriBSD (3422ebe71b6c06fe78b1be73623b240c219e08e3):

Rename beripic to beripic0.

MFC after: 1 week
Sponsored by: DARPA, AFRL


273934 01-Nov-2014 andrew

Start to allow platforms other than U-Boot to use the FDT code in loader by
moving U-Boot specific code from libfdt.a to a new libuboot_fdt.a. This
needs to be a new library for linking to work correctly.

Differential Revision: https://reviews.freebsd.org/D1054
Reviewed by: ian, rpaulo (earlier version)
MFC after: 1 week


273927 01-Nov-2014 andrew

Move the definitions of the fdt functions from a uboot header to a new fdt
header. There is nothing in the fdt spec that ties it to U-Boot.

While here sort and fix the signature of fdt_setup_fdtp.

MFC after: 1 week


273914 31-Oct-2014 andrew

The command name is a constant, use the correct type.

MFC after: 1 week


273913 31-Oct-2014 andrew

Clean up the types of a few strings to make them const when they are never
written to.


273469 22-Oct-2014 br

Provide a character device allowing us to access BERI memory regions.

Sponsored by: DARPA, AFRL


273380 21-Oct-2014 br

Add driver for Micrel KSZ9021 Gigabit Ethernet Transceiver (PHY).

Sponsored by: DARPA, AFRL


273298 20-Oct-2014 ian

The U-Boot README says fdt_addr_r is the right env var for fdt data
loaded into ram, but vendors also use fdtaddr and fdt_addr. Check the
recommended variable first and fall back to the others.


273278 19-Oct-2014 br

Add driver for BERI soft processor 'ring buffer' device.
Ring device provides a way for communicate to BERI
peripherals such as BERI debug unit and console.

Sponsored by: DARPA, AFRL


273256 18-Oct-2014 rpaulo

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

Submitted by: andrew
MFC after: 1 week


273248 18-Oct-2014 rpaulo

AM335x FDT: add an entry for the watchdog.

MFC after: 1 week


272896 10-Oct-2014 br

o Add machine-dependent SMP part
o Enable SMP

Sponsored by: DARPA, AFRL


272712 07-Oct-2014 br

Add driver for Synopsys DesignWare Mobile Storage Host Controller.

Sponsored by: DARPA, AFRL


272120 25-Sep-2014 br

Add driver for Synopsys DesignWare 3504-0 Universal 10/100/1000
Ethernet MAC.

Sponsored by: DARPA, AFRL


271431 11-Sep-2014 br

Add Reset Manager driver. This driver provides generic way to reset
and provides sysctl tunables for enable/disable FPGA<->HPS bridges.

Sponsored by: DARPA, AFRL


271186 06-Sep-2014 br

Add FPGA Manager driver. This driver allows to program FPGA core
from FreeBSD userspace running on ARM core.

Sponsored by: DARPA, AFRL


271124 04-Sep-2014 ian

Stop setting the iomux device status to disabled, now that we have a driver.


271093 04-Sep-2014 br

Add initial support for Altera SOCFPGA (heterogeneous ARM/FPGA) SoC family.
Include board configuration for Terasic SoCKit (Altera Cyclone V).

Sponsored by: DARPA, AFRL


270971 02-Sep-2014 imp

The proper compatibility string for the AHCI device is
allwinner,sun4i-ahci, so use that instead of the older string which
had become FreeBSD specific.


270161 19-Aug-2014 imp

New DTS files to suppport the SAM9260EK eval board. Derived, in part,
from the SAM9G20EK dts files (so that file is GPL'd).


269385 01-Aug-2014 br

Rename files: keep codename only to make it shorter.


269369 01-Aug-2014 br

Add support for Chromebook2 -- next-generation 8-core
(4 in operation), 4GB ram (3.5 usable) ARM machine.

Support covers device drivers for:
- Serial Peripheral Interface (SPI)
- Chrome Embedded Controller (EC) - SPI-based version
- XHCI and USB 3.0 dual-role device PHY

Also:
- Add support for Exynos5420 in Pad module
- Move power-related functions to separate driver --
Power Management Unit (PMU)
- Enable XHCI for Chromebook1

Special thanks to grehan@ for hardware, and to
hselasky@ for r269139.


268977 22-Jul-2014 br

Enable Freescale i.MX I2C driver for i.MX6.


268838 18-Jul-2014 br

Add support for Toradex Apalis i.MX6 development board.

Sponsored by: Toradex AG


268836 18-Jul-2014 br

Fix typo.


268834 18-Jul-2014 br

o Enable GPIO device driver for i.MX6.
It was originally written for i.MX5 and compatible with newer chip.
o Extend device tree information
o style(9) fixes

Discussed with: ian


268633 14-Jul-2014 ian

Fix the Zedboard/Zynq ethernet driver to handle media speed changes so
that it can connect to switches at speeds other than 1gb.

This requires changing the reference clock speed. Since we still don't
have a general clock API that lets a SoC-independant driver manipulate its
own clocks, this change includes a weak reference to a routine named
cgem_set_ref_clk(). The default implementation is a no-op; SoC-specific
code can provide an implementation that actually changes the speed.

Submitted by: Thomas Skibo <ThomasSkibo@sbcglobal.net>


267202 07-Jun-2014 rpaulo

Mov p2041rdb.dts, p3041ds.dts, and p5020ds.dts to the powerpc directory.


267199 07-Jun-2014 rpaulo

Fix the script to run make_dtb.sh instead of just dtc.


267197 07-Jun-2014 rpaulo

Add Makefiles to automatically test all the DTS files.

There are several broken DTS files right now in the arm directory.


267021 03-Jun-2014 loos

FreeBSD, historically, has always used 8-bit addresses for i2c devices
(7-bit device address << 1), always leaving the room for the read/write bit.

This commit convert ti_i2c and revert r259127 on bcm2835_bsc to make them
compatible with 8-bit addresses. Previous to this commit an i2c device
would have different addresses depending on the controller it was attached
to (by example, when compared to any iicbb(4) based i2c controller), which
was a pretty annoying behavior.

Also, update the PMIC i2c address on beaglebone* DTS files to match the new
address scheme.

Now the userland utilities need to do the correct slave address shifting
(but it is going to work with any i2c controller on the system).

Discussed with: ian
MFC after: 2 weeks


266943 01-Jun-2014 br

Add support for Exynos 5420 Octa - 8-core
heterogeneous (big.LITTLE) ARM machine
(4 x Cortex-A15 @ 1.8Ghz, 4 x Cortex-A7 @ 1Ghz)

Add configuration for Arndale Octa development board


266875 30-May-2014 br

Reset HSIC hub during EHCI initialization. This makes devices connected
to external USB ports available to the system.

Submitted by: Maxim Ignatenko <gelraen.ua@gmail.com>


266872 30-May-2014 br

o Make keyboard-related properties to be compatible with vendor standard
o Allow setting keymap in FDT, use hardcoded one by default
o Represent fallback keymap as a list rather than directly usable M*N array

Submitted by: Maxim Ignatenko <gelraen.ua@gmail.com>


266871 30-May-2014 ganbold

Add common kernel config file for Rockchip RK3188 systems by splitting
current RADXA config. Radxa Rock (RR) boards have few types such as
RR (full version), RR Lite and some variants of RR engineering samples.
Add kernel config and FDT file for RR Lite board.

Approved by: stas (mentor)


266832 29-May-2014 hselasky

Hook the ISP/SAF1761 driver into MIPS kernel builds.
- Update FDT file for BERI DE4 boards.
- Add needed kernel configuration keywords.
- Rename module to saf1761otg so that the device unit number does not
interfere with the hardware ID in dmesg.

Sponsored by: DARPA, AFRL


266785 28-May-2014 br

Describe I2C arbitrator device in DTS and use it for Chromebook Snow only.

Submitted by: Maxim Ignatenko <gelraen.ua@gmail.com>


266783 28-May-2014 br

o Add kernel configuration for HP Chromebook 11
o Use machine codename in filenames
o Add GEOM_PART_GPT kernel option

Submitted by: Maxim Ignatenko <gelraen.ua@gmail.com>


266515 21-May-2014 hselasky

"%p" formatting already includes "0x" prefix in printout.


266318 17-May-2014 andrew

Mark the i.MX51 and i.MX53 boards as compatible with the i.MX51 and i.MX53
respectively.

MFC after: 1 week


265766 09-May-2014 bz

Adjust the register layout to allow for 64bit registers in the
future for nf10bmac(4). Also, add support for and enable RX interrupts.

MFC after: 2 weeks


265624 08-May-2014 ganbold

Silence no interrupt-parent found message during boot.

Approved by: stas (mentor)


265208 02-May-2014 ian

Honor the max-frequency property if it appears in the fdt data.
Adjust the exynos and zedboard dts files to use max-frequency (the
documented standard property) instead of clock-frequency.

Submitted by: Thomas Skibo <ThomasSkibo@sbcglobal.net>


265038 28-Apr-2014 ganbold

Move common device tree informations to separate dtsi files for A10 and A20 SoC.
Change cubieboard1 and cubieboard2 dts files accordingly.

Approved by: stas (mentor)


265013 27-Apr-2014 loos

Revert r258678. Make the led gpio-specifier match again the #gpio-cells
settings from the GPIO controller, which i had broken in r258678. Restore
the active-low flag.


264601 17-Apr-2014 bz

Add the initial version of if_nf10bmac(4), a driver to support an
NetFPGA-10G Embedded CPU Ethernet Core.

The current version operates on a simple PIO based interface connected
to a NetFPGA-10G port.

To avoid confusion: this driver operates on a CPU running on the FPGA,
e.g. BERI/mips, and is not suited for the PCI host interface.

MFC after: 1 week
Relnotes: yes
Sponsored by: DARPA/AFRL


264428 13-Apr-2014 rpaulo

Improve the i.MX53 / Digi DTS:

* Fix the IPU address.
* Fix the PATA definition.
* Add another I2C.
* Add more UARTs.
* Add SATA.


264251 08-Apr-2014 rpaulo

Updates to i.MX53:

* Define support for the SDHCI driver, although it doesn't work yet
* Fix the memory mappings for IPU [1]

Reviewed by: ray [1]


264230 07-Apr-2014 imp

These were bogusly placed in the arm directory. Move them to their
proper location in powerpc directory.


264206 06-Apr-2014 rpaulo

Fix the memory region. This board has two memory regions.


264204 06-Apr-2014 ian

Define the full 1024M of ram on the imx53 QSB board.


264096 04-Apr-2014 ian

Various fixes to the ti_sdhci driver, mostly to make it work on Pandaboard.

- Don't allow high-speed mode on OMAP4 due to hardware erratum.
- Check the proper bit in the status register when waiting for the
controller to come out of reset.
- Add handling for the "non-removable" fdt property by always returning
"card is present" status.
- Add the non-removable property for the MMC card on a Beaglebone Black.
- Add the non-removable property for Pandaboard as a workaround.

For Pandaboard the card detect pin is handled by the twl6030 fpga device
which gets an interrupt on pin change and then has to query the fpga
for the actual status. We don't have code to do that yet.

Submitted by: Svatopluk Kraus <onwahe@gmail.com>


264065 03-Apr-2014 br

- Setup both secure and non-secure timer IRQs.
We don't know our ARM security state, so one of them will operate.
- Don't set frequency, since it's unpossible in non-secure state.
Only rely on DTS clock-frequency value or get clock from timer.

Discussed with: ian, cognet


264056 02-Apr-2014 ian

Switch imx6 to using the mpcore per-cpu event timers, but continue to use
the GPT timer, which is fixed-frequency, as a timecounter.


263936 30-Mar-2014 br

Add support for keyboard used in Samsung Chromebook (ARM machine)

Support covers device drivers for:
- Interrupt Combiner
- gpio/pad, External Interrupts Controller (pad)
- I2C Interface
- Chrome Embedded Controller
- Chrome Keyboard

Also:
- Use new gpio dev class in EHCI driver
- Expand device tree information


263711 25-Mar-2014 ganbold

Switch to my freebsd.org emal address in copyright.

Approved by: stas (mentor)


263693 24-Mar-2014 loos

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)


263675 23-Mar-2014 bz

For the moment also disable interrupts on the altera-jtag-uart imitation
and force polling mode.


263632 22-Mar-2014 bz

For BERI on NetFPGA assume HZ=100 by default.

Remove the uart support in favour of a "jtag-uart" interface imitation
providing a much simpler interface, directly exported to the host,
allowing the toolchain to be shared with BERI on Altera. [1]

Submitted by: Jong Hun HAN (jong.han cl.cam.ac.uk) [1]
MFC after: 2 weeks


263427 20-Mar-2014 br

Add support for Samsung Chromebook (ARM Cortex A15 machine).


263425 20-Mar-2014 br

- Add display-related and clk devices to the tree
- Prevent resources intersection with EHCI driver


262918 08-Mar-2014 imp

Initial cut for DTS on the hl201 board.


262891 07-Mar-2014 br

- Export panel info to DTS
- Reset all the layers before setup first one
- Enable display


262885 07-Mar-2014 br

Add driver for Port control and interrupts (PORT).

PORT is responsible for external interrupts management,
so move IRQ lines from GPIO driver.


262736 04-Mar-2014 ian

Use an empty ranges statement for the bus, because all the children on the
bus have their register properties declared as full physical addresses,
not offsets from a base range for the bus.


262725 04-Mar-2014 imp

Fix syntax errors and warnings emitted by the GPL dtc.


262714 03-Mar-2014 ian

Add a missing semicolong, noticed by the gnu dt compiler.


262711 03-Mar-2014 ganbold

Add EMAC and SRAM controller entries to FDT.
Add EMAC device to kernel config files and
enable EMAC, SRAM drivers for build.

Approved by: stas (mentor)


262682 02-Mar-2014 gonzo

- Fix BBB's dts compilation with GNU dtc


262664 01-Mar-2014 ian

Prevent fdt data loaded from a file from overwriting the kernel environment,
by having uboot_autoload() do the fdt setup (which may load a file) rather
than waiting until we're actually in the process of launching the kernel.

As part of making this happen...
- Define LOADER_FDT_SUPPORT on the uboot/lib compile command line when
MK_FDT is set.
- Make fdt_setup_fdtb() public.
- Declare public fdt_whatever() functions in a header instead of using
scattered extern decls in .c files.


262627 28-Feb-2014 imp

Fix syntax errors (missing ;) that bsdl dtc was tolerant of, but gpl
dtc isn't.


262614 28-Feb-2014 imp

Integrate device-tree upstream files into the build process:
(1) Invoke cpp to bring in files via #include (although the old
/include/ stuff is supported still).
(2) bring in files from either vendor tree or freebsd-custom files
when building.
(3) move all dts* files from sys/boot/fdt/dts to
sys/boot/fdt/dts/${MACHINE} as appropriate.
(4) encode all the magic to do the build in sys/tools/fdt/make_dtb.sh
so that the different places in the tree use the exact same logic.
(5) switch back to gpl dtc by default. the bsdl one in the tree has
significant issues not easily addressed by those unfamiliar with
the code.


262483 25-Feb-2014 br

- Pin configuration is a complete iomux register now and includes
drive strength, pull mode, mux mode, speed, etc.
- Add i2c devices to the tree
- Add IPG clock


262456 24-Feb-2014 br

Add support for Quartz Module.

Quartz is a tiny module utilized Freescale VF6xx
system-on-chip and development kit produced by
Device Solutions.

Quartz is available in a form of LGA (38x38x2mm)
or as a module with high-density connectors.

Sponsored by: Device Solutions


262440 24-Feb-2014 loos

Enable the second and the third I2C controllers on Beaglebone-black.

The first I2C controller is only used to manage the on-board devices (PMIC
and HDMI framer) and its bus is not exposed on the expasion headers.

With this change the following pins on the P9 expansion headers are now
reserved as I2C pins:

Pin 17 - I2C1 SCL
Pin 18 - I2C1 SDA
Pin 19 - I2C2 SCL
Pin 20 - I2C2 SDA

The I2C2 is the bus that should be used to read the contents of cape
eeproms.

Approved by: adrian (mentor, implicit)


262404 23-Feb-2014 rwatson

When building FDT on MIPS, use softfloat.

MFC after: 3 weeks
Sponsored by: DARPA, AFRL


262347 22-Feb-2014 ian

Add a feature for automatically finding and loading a dtb file by name.
The name is taken from the u-boot env vars fdtfile or fdt_file. If the
name isn't fully-qualified a search is done in module_path locations.

The search order for a usable dtb in fdt_setup_fdtp() is now

- A dtb loaded with an explicit "load -t dtb" command.
- A dtb already loaded into memory somehow[*] and pointed to by fdt_to_load.
- A dtb in the memory pointed to by the u-boot env vars fdtaddr or fdt_addr.
- A file named by the u-boot env vars fdtfile or fdt_file.
- A static dtb compiled into the kernel.

* Presumably by some arch-specific command or code.


262340 22-Feb-2014 ian

Change fdt_setup_fdtp() from "guess then fail" to more probe-like behavior.

The old code basically said it was going to use some particular blob
without knowing whether it could successfully do so, then it would invoke
the function to do that and return its status. If it failed, you were
done, even if other blobs might be available. Now the code attempts to use
some particular blob and if that succeeds it says so and returns success,
otherwise it moves on to try another potential blob.

One specific problem this solves is when u-boot sets an fdtaddr variable
to point to some memory address, then doesn't actually load a blob at
that address. Now the header check will fail, and the code will move
on to the fallback dtb compiled into the kernel (if any).


262327 22-Feb-2014 ian

Look for both fdtaddr and fdt_addr env var names. Grepping the u-boot
source shows that board vendors seem to be about evenly split on this.

This commit is a trivial change to note that while the previous change
was supposed to be whitespace only, this functional change also crept in.
The added lines were:

/* Board vendors use both fdtaddr and fdt_addr names. Grrrr. */

if (s == NULL)
s = ub_env_get("fdt_addr");


262326 22-Feb-2014 ian

Fix the strange 2-space indentation that appears only in this one function.


262280 21-Feb-2014 ian

Add basic cpu frequency control and temperature monitoring to imx6_anatop.

The temperature monitor device is enabled to sample the die temperature at
16hz. The temperature is published via sysctl. A callout routine at 10hz
monitors the temperature and throttles back the cpu if the temperature
goes over a user-settable throttle point (by default 10C less than the
critical high-point temperature for the chip). The hardware is supposed
to be able to deliver an interrupt when the temperature exceeds a settable
limit, but the interrupt never arrives so for now a callout does the job.

At attach time we read the maximum cpu frequency the chip is allowed to run
at and the cpu is set to run at that speed. It's reported at attach time.
A sysctl variable reports the current speed when queried.

New sysctl values:

dev.imx6_anatop.0.cpu_mhz: 984
dev.imx6_anatop.0.temperature: 37.9C
dev.imx6_anatop.0.throttle_temperature: 95.0C

Steven Lawrance did the initial heavy lifting on this, but I changed
enough stuff that I'm the one to blame if anything breaks.

Submitted by: Steven Lawrance <stl@koffein.net>


262242 20-Feb-2014 loos

Fix the boot on FDT-enabled systems after r261819.

While here, don't overwrite the error message on interactive use and add
the missing '\n' at end of error message for the non interactive use.

Tested by: ian, myself
Approved by: adrian (mentor, implicit)


261982 16-Feb-2014 br

Add driver for Synchronous Audio Interface (SAI).

SAI supports full-duplex serial interfaces with frame
synchronization such as I2S, AC97, TDM, and codec/DSP
interfaces.


261938 15-Feb-2014 ian

Add a driver to provide access to imx6 on-chip one-time-programmble data.

Submitted by: Steven Lawrance <stl@koffein.net>


261846 13-Feb-2014 loos

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)


261819 13-Feb-2014 ian

Validate the header of a new dtb before using it. Remove the comment
that says that should be done.


261818 13-Feb-2014 ian

Enable both sdcard slots, but not the sdio-based wifi that we don't yet
have a driver for.


261816 13-Feb-2014 ian

Add standard non-removable and cd-gpios properties to the usdhc devices.
That generates references to gpio devices, so uncomment them even though
there isn't a gpio driver to do anything with them yet.


261639 08-Feb-2014 br

Add drivers for:
- Enhanced Direct Memory Access Controller (eDMA)
- Direct Memory Access Multiplexer (DMAMUX)


261516 05-Feb-2014 loos

Add the missing ')' at end of sentence. Reword it to use a more common
idiom.

Reviewed by: imp (on freebsd-embedded@)
Approved by: adrian (mentor, implicit)


261411 02-Feb-2014 br

Add support for Colibri VF50 Evaluation Board.

Colibri VF50 is a SODIMM200 Vybrid Family core module
and development board produced by Toradex AG.

Sponsored by: Machdep, Inc.


261406 02-Feb-2014 br

o Expand device tree information
o Export iomuxc (pins) configuration to DTS
o Allow devices to assign clocks in DTS


260447 08-Jan-2014 ganbold

Update dts files of Cubieboard1,2 to use 1GB memory.
Whilst there, fix cpu config register address for Cubieboard2.

Approved by: stas (mentor)


260333 05-Jan-2014 ian

Enable the cesa security/crypto device by providing the required property
in the dts source, and adding the right devices to the kernel config. Also
generally bring the kernel config into line with what we have for other
Marvell/Kirkwood systems (add lots of useful devices and options).

One particularly notable addition amongst the kernel config changes is
USB_HOST_ALIGN=32, which may help eliminate data corruption on USB drives.

PR: kern/181975 arm/162159


260235 03-Jan-2014 ian

Update the dockstar DTS to reflect just NAND flash (no SPI NOR flash, and
the LED specification was just misplaced). The rather odd memory mappings
that were in place used an undocumented attribute value (0x0f) that caused
problems with the system.

Submitted by: Markus Pfeiffer <markus.pfeiffer@morphism.de>


259267 12-Dec-2013 bz

Add an FDT DTS and MDROOT kernel configuration for BERI on NetFPGA.

At this point we only support one CPU, the PIC, and a UART console.

Reviewed by: brooks
Sponsored by: DARPA, AFRL
MFC after: 5 days


259122 09-Dec-2013 ganbold

Add gpio config for usb1 in dts.
That way it gives power to other usb hub via gpio at boot time.

Reviewed by: stas@


258678 27-Nov-2013 loos

Fix the led 'gpios' definition to match the description on
sys/boot/fdt/dts/bindings-gpio.txt. Make the led pin an output, add the
missing flag field. No functional change (gpioled(4) isn’t supported on
FDT systems yet).

Approved by: adrian (mentor)


258547 25-Nov-2013 ganbold

Add clock frequency for rk3188 watchdog.
Whilst here, replace "clocks" to "clock-frequency".

Approved by: ray@


258057 12-Nov-2013 br

Add support for Freescale Vybrid Family VF600 heterogeneous
ARM Cortex-A5/M4 SoC (M4 core is not used in this work).

Support includes device drivers for:
- NAND Flash Controller (NFC)
- USB Enhanced Host Controller Interface (EHCI)
- General-Purpose Input/Output (GPIO)
- Universal Asynchronous Receiver/Transmitter (UART)

Also supported:
- Generic Interrupt Controller (GIC)
- MPCore timer
- ffec ethernet driver

Reviewed by: ray
Approved by: cognet (mentor)


257518 01-Nov-2013 ian

TI sdhci driver improvements, mostly related to fdt data...

Use the published compatible strings (our own invention, "ti,mmchs" is
still accepted as well, for now).

Don't blindly turn on 8-bit bus mode, because even though the conroller
supports it, the board has to be wired appropriately as well. Use the
published property (bus-width=<n>) and honor all the valid values (1,4,8).

The eMMC device on a Beaglebone Black is wired for 8-bit, update the dts.

The mmchs controller can inherently do both 1.8v and 3.0v on the first
device and 1.8v only on other devices, unless an external transceiver is
used. Set the voltage automatically for the first device and honor
the published fdt property (ti,dualvolt) for other devices.

Thanks go to Ilya Bakulin for figuring out the voltage compatibility stuff.


257486 01-Nov-2013 ian

Add dts source for imx6 SoCs and for Wandboard boards.

The imx6.dtsi is incomplete, but has enough to support devices that work
right now. Eventually it will need to be split into several files that
account for the differences between SoCs in the imx6 family.

The board config for Wandboard Dual is untested. Solo and Quad work, but
one one core is turned on for the quad right now (baby steps).


257393 30-Oct-2013 ian

Rework the imx ehci driver so that it's four separate ehci units rather
than one unit with four busses attached to it. This allows us to use
existing fdt data which describes separate devices with separate resources.
It also allows any combination of the units to be en/disabled in the
board dts files.

Adjust our dts code to match what's used by linux and u-boot now that
we're structured to do so.

Document lots of interesting stuff learned whiling doing this with a big
comment block in the driver, so I don't have to re-learn it for the next
round of changes.


257299 29-Oct-2013 rpaulo

Digi-CCWMX53: enable ffec and uart.


257172 26-Oct-2013 zbb

Enable SATA interface on Armada XP

- Add appropriate entry to DTS
- Allow for MV78460 SATA probe and configuration

Tested by: kevlo
Approved by: cognet (mentor)


257171 26-Oct-2013 zbb

Enable UART busy detection handling for Armada XP - based board

All Armada XP chips should be affected. It is necessary to handle
busy interrupt/indication by enabling busy-detect property in DTS.

Tested by: kevlo
Approved by: cognet (mentor)


257062 24-Oct-2013 loos

Add the Raspberry Pi SPI controller driver.

Reviewed by: rpaulo
Approved by: adrian (mentor)


256959 23-Oct-2013 loos

Add the Raspberry Pi BSC (I2C compliant) controller driver.

Reviewed by: rpaulo
Approved by: adrian (mentor)


256948 23-Oct-2013 ganbold

Add FDT for Radxa Rock board and Rockchip RK3188 SoC.

Reviewed by: ray@


256912 22-Oct-2013 brooks

Sync BERI kernel configs with P4:

Switch the majority of device configuration to FDT from hints.

Add BERI_*_BASE configs to reduce duplication in the MDROOT and SDROOT
kernels.

Add NFS and GSSAPI support by default.

MFC after: 3 days
Sponsored by: DARPA/AFRL


256809 20-Oct-2013 ian

Add configuration for the Freescale i.MX53 Quick Start Board.


256804 20-Oct-2013 ian

Switch to using the standard uart console driver instead of the special
driver for early boot debugging.


255130 01-Sep-2013 rpaulo

Initial support for the Digi ConnectCore(c) i.MX53 / Wi-i.MX53 boards.

There are many drivers missing, but we can reach single user mode now.

Hardware graciously donated by Douglas Beattie.


254598 21-Aug-2013 ian

Add support for uarts other than the serial console in TI OMAP SoCs.

The TI uart hardware is ns16550-compatible, except that before it can
be used the clocks and power have to be enabled and a non-standard
mode control register has to be set to put the device in uart mode
(as opposed to irDa or other serial protocols). This adds the extra
code in an extension to the standard ns8250 probe routine, and the
rest of the driver is just the standard ns8250 code.


254559 20-Aug-2013 ian

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.


254056 07-Aug-2013 ganbold

Bring initial support for Allwinner A20 SoC (Cubieboard2).
Add support for A20 timer.
Correct interrupt offset depending from chip.
Add basic code for CPU configuration module.
For now, add kernel config and dts file
(only FDT blob related problem needs to be solved later in
order to have one kernel for both cubieboard1 and 2).

Approved by: ray@


253971 05-Aug-2013 cognet

Let the platform calculate the timer frequency at runtime, and use that for
the omap4, instead of relying on the (wrong) value provided in the dts.


253832 31-Jul-2013 rpaulo

Add definitions for the Mailbox, Spinlock and PRU-ICSS devices.


253024 08-Jul-2013 gonzo

- MMC1 (internal eMMC) pins should be configured as input-pullup, except
for reset pin


252914 07-Jul-2013 gonzo

- Add musb node to shared dtsi and proper pin configuratin for every
AM553x-based device


252719 04-Jul-2013 gonzo

Add nodes for PWMSS1 and PWMSS2


252439 01-Jul-2013 rpaulo

Split bcm2835-rpi-b.dts into bcm2835.dtsi and rpi.dts. This DTS actually works
on all R-Pi models because VideoCore binary patches it during boot.

Reviewed by: gonzo


252371 29-Jun-2013 ray

Add FDT for Arndale board and Samsung Exynos5250 SoC.

Submitted by: Ruslan Bukin <br@bsdpad.com>


251020 27-May-2013 gonzo

Add DTS for AM335x EVM with properly muxed PWM and LCD pins, and
LCD panel description


251019 27-May-2013 gonzo

Add PWM and LCDC nodes to base DTS for AM335x-based devices


250769 18-May-2013 kientzle

Correct the spelling of "okay".
Add pinmux setting for the Reset GPIO pin for MMC1.


250435 10-May-2013 kientzle

Move 'compatible' line out of the common am335x.dtsi and into
the beaglebone-specific .dts file.

Add a new .dts for the BeagleBone Black with more memory,
slightly different pinmux initialization, and with mmchs1
configured (though the latter doesn't quite work yet).


250291 06-May-2013 gber

Move initialization of CESA decoding windows from common section
to driver specific files.

- window initialization is done during device attach
- CESA TDMA decoding windows values are set based on DTS,
not copied from CPU registers
- remove unnecessary virtual mapping
- update dts file

Obtained from: Semihalf


249997 27-Apr-2013 wkoszek

Add Xilinx Zynq ARM/FPGA SoC support to FreeBSD/arm port.

Submitted by: Thomas Skibo <ThomasSkibo (at) sbcglobal.net>
Reviewed by: wkoszek, freebsd-arm@ (no objections raised)


249946 26-Apr-2013 gonzo

Move pinmux configuration to board-specific config. It will vary
from board to board.


249774 22-Apr-2013 gonzo

Split BeagleBone DTS to generic AM335x part and Beagle-bone specific


248934 30-Mar-2013 kientzle

Initialize sym_count to 0.

This fixes a compiler warning introduced in r248121.


248557 20-Mar-2013 ray

Integrate Efika MX project back to home.

Sponsored by: The FreeBSD Foundation


248121 10-Mar-2013 ian

Attach the elf section headers to the loaded kernel as metadata, so
they can easily be used by later post-processing. When searching for
a compiled-in fdt blob, use the section headers to get the size and
location of the .dynsym section to do a symbol search.

This fixes a problem where the search could overshoot the symbol
table and wander into the string table. Sometimes that was harmless
and sometimes it lead to spurious panic messages about an offset
bigger than the module size.


247520 01-Mar-2013 ganbold

Enable uart driver for A10.

Approved by: gonzo@


247250 25-Feb-2013 kientzle

Fix the bug I introduced in r247045.
After digging through more carefully, it looks like there's
no real need to have the DTB in the module directory.
So we can simplify a lot: Just copy DTB into local heap
for "fdt addr" and U-Boot integration, drop all the extra
COPYIN() calls.

I've left one final COPYIN() to update the in-kernel DTB
for consistency with how this code used to work, but I'm
no longer convinced it's appropriate here.

I've also remove the mem_load_raw() utility that I added
to boot/common/module.c with r247045 since it's no longer
necessary.


247208 23-Feb-2013 gonzo

- Move dma, sdhci and mbox nodes down in dts in order to get them
initialized after FPIO controller since they might rely on GPIO
functionality

- Update interrupts property of dma node to contain all allocated
interrupts


247201 23-Feb-2013 kientzle

"fdt addr" gets run from loader.rc before the kernel is loaded.
This was broken by r247045 which tried to copy the FDT into the
module directory immediately.
Instead, store the address and arrange for the FDT to get
copied into the module directory later when the usual
FDT initialization runs.


247045 20-Feb-2013 kientzle

Fix "fdt addr" to accept literal addresses rather than va offsets.
When initializing the fdt, query U-Boot as well.

With this change, it is now feasible to have U-Boot load
the FDT, ubldr will pull it from U-Boot and hand it to the
kernel.


246851 15-Feb-2013 gonzo

Enable USB1 (which is EHCI0) for Allwinner A10

Tested by: ganbold@


246660 11-Feb-2013 gonzo

Add watchdog driver for Allwinner A10


246647 11-Feb-2013 kientzle

Provide verbose help for fdt commands on platforms that use it.


246342 05-Feb-2013 ganbold

Add gpio driver and update dts and kernel config accordingly.

Approved by: gonzo@


246057 29-Jan-2013 ganbold

Add simple clock driver and ehci glue code for a10
Update dts and kernel config

Approved by: gonzo@


246026 28-Jan-2013 dmarion

Configure all GPIO pins as described in Beaglebone SRM.

Submitted by: Emmanuel Vadot <elbarto@megadrive.org>


245955 27-Jan-2013 ian

Add support for the GlobalScale Technologies DreamPlug computer.

This adds support for version 10, revision 01, but it should also work
without changes for the 0901 model, at least until we get drivers for the
two different wifi chips involved.

Many users contributed to and tested the various patchsets floating around
for the past year that have eventually evolved into this checkin, most notably
Richard Neese who provided the bulk of the kernel config file.

Approved by: cognet (mentor)


245900 25-Jan-2013 ganbold

Fix method of naming compatible string to follow
"<manufacturer>,<model>" as described in
http://www.devicetree.org/Device_Tree_Usage

Reviewed by: andrew@
Approved by: gonzo@


245703 21-Jan-2013 kientzle

Use correct size for AM335x CPSW memory window.


245673 19-Jan-2013 kientzle

Use correct GPIO interrupt lines.


245450 15-Jan-2013 ganbold

Initial support for Allwinner A10 SoC (Cubieboard)
Add simple console driver
Add interrupt handling and timer codes
Add kernel config file
Add dts file
Approved by: gonzo


244916 31-Dec-2012 gonzo

Add interrupt for PL310 controller


244197 13-Dec-2012 gonzo

Add support for QEMU's version of Versatile Platform Board


243694 30-Nov-2012 gonzo

Add vchiq node


243693 30-Nov-2012 gonzo

- Implement "fdt mres" sub-command that prints reserved memory regions
- Add "fdt addr" subcommand that lets you specify preloaded blob address
- Do not pre-initialize blob for "fdt addr"
- Do not try to load dtb every time fdt subcommand is issued,
do it only once
- Change the way DTB is passed to kernel. With introduction of "fdt addr"
actual blob address can be not virtual but physical or reside in
area higher then 64Mb. ubldr should create copy of it in kernel area
and pass pointer to this newly allocated buffer which is guaranteed to work
in kernel after switching on MMU.
- Convert memreserv FDT info to "memreserv" property of root node
FDT uses /memreserve/ data to notify OS about reserved memory areas.
Technically it's not real property, it's just data blob, sequence
of <start, size> pairs where both start and size are 64-bit integers.
It doesn't fit nicely with OF API we use in kernel, so in order to unify
thing ubldr converts this data to "memreserve" property using the same
format for addresses and sizes as /memory node.


243420 23-Nov-2012 gonzo

Make FDT blob compatible with Raspberry Pi firmware.

Rasperry Pi firmware has a set of hardcoded pathes it uses to fill
FDT with system-specific information like display resolution, memory
size, UART and SDHCI clocks, ethernet MAC address. Handle two of them:

- Add placeholder for ethernet MAC address
- Move display node out of "axi" node


240594 17-Sep-2012 andrew

Add the Tegra2 DTS files. Now our dtc supports including other files use
this support to pull out the SoC specific parts of the dts file.


240492 14-Sep-2012 gber

Add support for MSI in interrupt controlller.

MSI are implemented via software interrupt. PCIe cards will write
into software interrupt register which will cause inbound shared
interrupt which will be interpreted as a MSI.

Obtained from: Marvell, Semihalf


240488 14-Sep-2012 gber

Add support for Armada XP A0.

- Add functions to calculate clocks instead using hardcoded values
- Update reset and timers functions
- Update number of interrupts
- Change name of platform from db88f78100 to db78460
- Correct DRAM size and PCI IRQ routing in dts file.

Obtained from: Semihalf


239922 30-Aug-2012 gonzo

Add barebone Raspberry Pi port. Supported parts:
- Interrupts controller
- Watchdog
- System timer
- Framebuffer (hardcoded resolution/bpp)


239487 21-Aug-2012 jchandra

Add correct range parameter in XLP DTS

r239274 added support for ranges. Update XLP DTS to provide the correct
range parameter for the XLP SoC bus. Also fix bus_space_map method
for XLP bus space.

Submitted by: Sreekanth M. <sreekanth.molagavalli@broadcom.com>


239281 15-Aug-2012 gonzo

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


239280 15-Aug-2012 gonzo

Merging of projects/armv6, part 9

Very basic support for Nvidia Tegra2: timer, interrupts, UART.

Submitted by: Damjan Marion <dmarion@freebsd.org>


239278 15-Aug-2012 gonzo

Merging of projects/armv6, part 8

r235162:

Initial LPC32x0 support. Includes DTS file for Embedded Artists EA3250
board.

Peripherals currently supported:
- Serial ports
- Interrupt controller
- Timers
- Ethernet
- USB host
- Framebuffer (in conjunction with SSD1289 LCD controller)
- RTC
- SPI
- GPIO

Submitted by: Jakub Wojciech Klama <jceel@freebsd.org>


239277 15-Aug-2012 gonzo

Merging of projects/armv6, part 7

Add Marvell ARMADA XP support

Obtained from: Marvell, Semihalf


236024 25-May-2012 raj

Import DTS files for the upcoming DPAA QorIQ (PowerPC) support.

- P2041RDB
- P3041DS
- P5020DS

Obtained from: Freescale


235779 22-May-2012 gber

Divide nand flash for DB6281 into two partitions. One for u-boot
and second one for general use.

Obtained from: Semihalf
Supported by: FreeBSD Foundation, Juniper Networks


235778 22-May-2012 gber

Add a new geom class which allows to divide NAND Flash chip
into partitions.

Partitions are created based on data in dts file which are
extracted and interpreted by slicer.

Obtained from: Semihalf
Supported by: FreeBSD Foundation, Juniper Networks


235609 18-May-2012 gber

Add architecture dependent code to support NAND Framework on Marvell SoCs.

Obtained from: Semihalf
Supported by: FreeBSD Foundation, Juniper Networks


235529 17-May-2012 kientzle

Access the device tree blob via copyin/copyout.

The code previously assumed that copyin/copyout did no
address translation and that the device tree blob could
be manipulated in-place (with only a few adjustments for
the ELF loader offset). This isn't possible on all platforms,
so the revised code uses copyout() to copy the device tree
blob into a heap-allocated buffer and then updates the
device tree with copyout(). This isn't ideal, since it
bloats the loader memory usage, but seems the only feasible
approach (short of rewriting all of the fdt manipulation
routines).


235261 11-May-2012 kientzle

Don't hang if there is no /cpus node in the device tree.


233323 22-Mar-2012 raj

Improve FDT handling in loader(8) and make it more robust.

o Fix buffer overflows when using a long property body in node paths.
o Fix loop end condition when iterating through the symbol table.
o Better error handling during node modification, better problem reporting.
o Eliminate build time warnings.

Submitted by: Lukasz Wojcik
Obtained from: Semihalf
MFC after: 1 week


233230 20-Mar-2012 raj

Improve device tree blob (DTB) handling in loader(8).

Enable using the statically embedded blob from the kernel, if present. The KLD
loaded DTB takes precedence, but they are both recognized and handled in the
same way.

Submitted by: Lukasz Wojcik
Obtained from: Semihalf
MFC after: 1 week


232518 04-Mar-2012 raj

Respect phy-handle property in Ethernet nodes of the device tree.

This lets specify whereabouts of the parent PHY for a given MAC node
(and get rid of ugly kludges in mge(4) and tsec(4)).

Obtained from: Semihalf
MFC after: 1 week


227730 19-Nov-2011 raj

Initial version of cesa(4) driver for Marvell crypto engine and security
accelerator.

The following algorithms and schemes are supported:
- 3DES, AES, DES
- MD5, SHA1

Obtained from: Semihalf
Written by: Piotr Ziecik


227613 17-Nov-2011 raj

Add DTS for the Freescale P2020DS.

Obtained from: Freescale


227508 14-Nov-2011 marcel

Add DTS for the Freescale P1020RDB.


227506 14-Nov-2011 marcel

Add DTS for the Freescale P3041DS.


226501 18-Oct-2011 jchandra

Support for booting XLP using FDT.

- update xlp_machdep.c to read arguments from FDT if FDT support is
compiled in.
- define rmi_uart_bus_space, and use it as fdtbus_bs_tag
- update conf files for FDT support
- add default dts file xlp-basic.dts


220653 15-Apr-2011 philip

Add basic support for the Marvell Orion TS-7800.

Submitted by: Kristof Provost <kristof -at- freebsd.org>


218246 04-Feb-2011 marcel

Add PEX0 and select the first serial port as console.


215122 11-Nov-2010 raj

Correct RAM size of the MPC8555CDS board.


212332 08-Sep-2010 emax

Add custom kernel configuration and device tree source files for
Seagate FreeAgent DockStar(tm) device. It seems to be a dumb down
version of Marvell SheevaPlug. Device tree source file could use
more tweaking, but at least it wll network boot and run FreeBSD/arm.


209920 12-Jul-2010 nwhitehorn

Provide support in loader for booting 64-bit PowerPC kernels. Like amd64,
64-bit PowerPC kernels are loaded by a 32-bit loader, since nearly all
powerpc64 firmwares execute in 32-bit mode.


209903 11-Jul-2010 raj

Provide a missing interrupt-parent for the CPM / QUICC node in the DTS.


208561 26-May-2010 raj

Initial device tree source (DTS) files for Marvell ARM systems:

o DB-88F5182
o DB-88F5281
o DB-88F6281
o DB-78100
o SheevaPlug

This also includes device tree bindings definitions for some newly introduced
nodes (mpp, gpio).

Reviewed by: imp
Sponsored by: The FreeBSD Foundation


208560 26-May-2010 raj

Import device tree source (DTS) files for PowerPC MPC8555CDS and MPC8572DS
development systems.

Special thanks to Phil Brownfield for help with BSD-style relicensing of
these files.

Obtained from: Freescale


208538 25-May-2010 raj

Initial loader(8) support for Flattened Device Tree.

o This is disabled by default for now, and can be enabled using WITH_FDT at
build time.

o Tested with ARM and PowerPC.

Reviewed by: imp
Sponsored by: The FreeBSD Foundation