Commit Graph

108 Commits

Author SHA1 Message Date
Ian Lepore
f5658746ab Fix the strange 2-space indentation that appears only in this one function. 2014-02-22 03:29:53 +00:00
Ian Lepore
86a5575402 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>
2014-02-21 06:00:06 +00:00
Luiz Otavio O Souza
69728ec82d 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)
2014-02-20 13:09:08 +00:00
Ruslan Bukin
586a16c431 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.
2014-02-16 16:49:54 +00:00
Ian Lepore
844a97cdc2 Add a driver to provide access to imx6 on-chip one-time-programmble data.
Submitted by:	Steven Lawrance <stl@koffein.net>
2014-02-15 17:19:55 +00:00
Luiz Otavio O Souza
62564a0858 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 Lepore
1332dc8827 Validate the header of a new dtb before using it. Remove the comment
that says that should be done.
2014-02-13 04:13:50 +00:00
Ian Lepore
50618a328f Enable both sdcard slots, but not the sdio-based wifi that we don't yet
have a driver for.
2014-02-13 04:10:27 +00:00
Ian Lepore
e4366cae40 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.
2014-02-13 03:41:00 +00:00
Ruslan Bukin
f3a72e40b5 Add drivers for:
- Enhanced Direct Memory Access Controller (eDMA)
- Direct Memory Access Multiplexer (DMAMUX)
2014-02-08 19:47:59 +00:00
Luiz Otavio O Souza
1b3fd4ca03 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)
2014-02-05 17:08:55 +00:00
Ruslan Bukin
b318fc466d 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.
2014-02-02 19:35:10 +00:00
Ruslan Bukin
bf636ac469 o Expand device tree information
o Export iomuxc (pins) configuration to DTS
o Allow devices to assign clocks in DTS
2014-02-02 17:48:06 +00:00
Ganbold Tsagaankhuu
8a0a7e75c1 Update dts files of Cubieboard1,2 to use 1GB memory.
Whilst there, fix cpu config register address for Cubieboard2.

Approved by: stas (mentor)
2014-01-08 09:33:16 +00:00
Ian Lepore
8f4fa88900 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
2014-01-05 20:44:10 +00:00
Ian Lepore
9fa0eb8b8f 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>
2014-01-03 18:36:19 +00:00
Bjoern A. Zeeb
8b8807f515 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
2013-12-12 18:08:31 +00:00
Ganbold Tsagaankhuu
fba7d5d18a Add gpio config for usb1 in dts.
That way it gives power to other usb hub via gpio at boot time.

Reviewed by: stas@
2013-12-09 07:15:46 +00:00
Luiz Otavio O Souza
c1bc07dada 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)
2013-11-27 12:12:37 +00:00
Ganbold Tsagaankhuu
a8e50123f0 Add clock frequency for rk3188 watchdog.
Whilst here, replace "clocks" to "clock-frequency".

Approved by: ray@
2013-11-25 11:02:11 +00:00
Ruslan Bukin
5c263f43ef 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)
2013-11-12 18:02:56 +00:00
Ian Lepore
4a98e46950 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.
2013-11-01 19:22:06 +00:00
Ian Lepore
36aed22abd 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).
2013-11-01 00:45:08 +00:00
Ian Lepore
f26c810514 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.
2013-10-30 18:26:18 +00:00
Rui Paulo
4219857759 Digi-CCWMX53: enable ffec and uart. 2013-10-29 03:42:43 +00:00
Zbigniew Bodek
ad9bd4683a 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)
2013-10-26 17:29:50 +00:00
Zbigniew Bodek
b462915513 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)
2013-10-26 17:27:32 +00:00
Luiz Otavio O Souza
07897970fb Add the Raspberry Pi SPI controller driver.
Reviewed by:	rpaulo
Approved by:	adrian (mentor)
2013-10-24 16:27:33 +00:00
Luiz Otavio O Souza
be9ddf4313 Add the Raspberry Pi BSC (I2C compliant) controller driver.
Reviewed by:	rpaulo
Approved by:	adrian (mentor)
2013-10-23 12:29:39 +00:00
Ganbold Tsagaankhuu
ac022df310 Add FDT for Radxa Rock board and Rockchip RK3188 SoC.
Reviewed by: ray@
2013-10-23 00:35:58 +00:00
Brooks Davis
cb7de87666 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
2013-10-22 15:45:31 +00:00
Ian Lepore
7a2ed7a8f4 Add configuration for the Freescale i.MX53 Quick Start Board. 2013-10-20 21:21:07 +00:00
Ian Lepore
62e8bfb82a Switch to using the standard uart console driver instead of the special
driver for early boot debugging.
2013-10-20 21:03:15 +00:00
Rui Paulo
530031a8f1 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.
2013-09-01 20:15:35 +00:00
Ian Lepore
aef60d8c4a 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.
2013-08-21 14:33:02 +00:00
Ian Lepore
59769a581f 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
Ganbold Tsagaankhuu
696ec285aa 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@
2013-08-07 11:07:56 +00:00
Olivier Houchard
7497e6267c 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.
2013-08-05 20:14:56 +00:00
Rui Paulo
caa18d0c6c Add definitions for the Mailbox, Spinlock and PRU-ICSS devices. 2013-07-31 06:23:10 +00:00
Oleksandr Tymoshenko
4bab064ca8 - MMC1 (internal eMMC) pins should be configured as input-pullup, except
for reset pin
2013-07-08 04:30:12 +00:00
Oleksandr Tymoshenko
36b2854b79 - Add musb node to shared dtsi and proper pin configuratin for every
AM553x-based device
2013-07-07 04:23:29 +00:00
Oleksandr Tymoshenko
ef2f66be5b Add nodes for PWMSS1 and PWMSS2 2013-07-04 20:08:42 +00:00
Rui Paulo
236bc8374d 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
2013-07-01 05:01:01 +00:00
Aleksandr Rybalko
83bee1a9ba Add FDT for Arndale board and Samsung Exynos5250 SoC.
Submitted by:	Ruslan Bukin <br@bsdpad.com>
2013-06-29 12:24:11 +00:00
Oleksandr Tymoshenko
b0dcf6c59c Add DTS for AM335x EVM with properly muxed PWM and LCD pins, and
LCD panel description
2013-05-27 00:26:29 +00:00
Oleksandr Tymoshenko
2389b66f69 Add PWM and LCDC nodes to base DTS for AM335x-based devices 2013-05-27 00:23:59 +00:00
Tim Kientzle
3f15ba3d2c Correct the spelling of "okay".
Add pinmux setting for the Reset GPIO pin for MMC1.
2013-05-18 12:54:37 +00:00
Tim Kientzle
2628555d5f 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).
2013-05-10 05:34:08 +00:00
Grzegorz Bernacki
99eef68204 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
2013-05-06 13:34:36 +00:00
Wojciech A. Koszek
a9caca6a75 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)
2013-04-27 22:38:29 +00:00