summaryrefslogtreecommitdiffstats
path: root/sys/arm/ti/am335x
Commit message (Collapse)AuthorAgeFilesLines
* Always compile in PPS capture. Use the same device name used in 11-current.ian2015-08-231-18/+1
| | | | | | This is a direct commit to 10-stable because the corresponding changes in 11 are bound up with all the device-tree rework for beaglebone. This somewhat aligns the features between the two branches, from a user's perspective.
* MFC r279816, r279826:ian2015-05-231-1/+1
| | | | | | Attach the prcm clock driver early, so it can set the mpcore timer frequency. Change the name of the dmtimer pps device from /dev/ppsN to /dev/dmtppsN.
* MFC r279312:dim2015-03-011-2/+2
| | | | | | | Fix a number of -Wcast-qual warnings under sys/arm. No functional change. Submitted by: andrew
* MFC r279311:dim2015-03-011-1/+1
| | | | | | | In sys/arm/ti/am335x/am335x_rtc.c, fix a clang 3.6.0 warning about am33x_rtc_softc::sc_irq_res (which is an array) never being NULL. Submitted by: andrew
* MFC r277958, r278061:rpaulo2015-02-091-7/+7
| | | | | | ti_pruss: make sure the mmap'ed memory region is uncacheable. am335x_clk_pruss_activate(): use the L3F clock.
* MFC r266969 and r276717:hselasky2015-02-051-0/+1
| | | | | | Add 64-bit DMA support in the XHCI controller driver. - Fix some comments and whitespaces while at it. - Add support for PAE.
* MFC r277042:loos2015-02-026-3/+360
| | | | | | | | | | | | | | | 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.
* MFC r261459, r273045, r273047.loos2015-02-023-11/+7
| | | | | | | | | | | | r261459: Remove trailing tabs causing false grep positives. r273045: Sort the files in the am355x directory. r273047: Remove the need for files.beaglebone and std.beaglebone by moving the one option they defined into files.am335x.
* MFC r276249:loos2015-01-091-9/+18
| | | | | | | | | | | | | | | | Fix the musb initialization sequence on AM335x. According to http://e2e.ti.com/support/arm/sitara_arm/f/791/t/210729 the USB reset pulse has an undocumented duration of 200ns and during this period the module must not be acessed. We wait for 100us to take into account for some imprecision of the early DELAY() loop. This fixes the eventual 'External Non-Linefetch Abort (S)' that happens at boot while resetting the musb subsystem. While here, enable the USB subsystem clock before the first access.
* MFC r266937:loos2014-08-201-9/+121
| | | | | | | | | | | | | | | | | | Export two new settings for the AM335x PWM, the clock prescaler (clkdiv) and the actual PWM frequency. Enforce the maximum value for the period sysctl. The frequency systcl now allows the direct setting of the PWM frequency (it will try to find the better clkdiv and period for a given frequency, i.e. the ones that will give the better PWM resolution). This allows the use lower frequencies on the PWM. Without changing the clock prescaler the minimum PWM frequency was 1.52kHz. PWM frequencies checked with an osciloscope. PWM output tested with some R/C servos at 50Hz.
* Adds the ADC driver for TI AM3xxx SoC family.loos2014-05-171-0/+7
| | | | | | | | | | | | | | | 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.
* MFC r262534, r262548, r262549, r262552, r262568, r262581, r262583, r262584,ian2014-05-161-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | r262585, r262587, r262696, r262712 Replace many pasted identical definitions of cpu_initclocks() with a common implementation in arm/machdep.c. aicasm: Don't complain about missing prototypes to ease bootstrap issues. Vybrid: Add driver for Inter-Integrated Circuit (I2C). imx6: Initialize the Low Power Mode bits to keep the ARM cores running during WFI. All our current ARM multi-core systems have all cores in one package with a shared L2 cache, reflect that in the common cpu_topo() routine. mpcore timer: Supply a DELAY() implementation via weak linkage, so that SoC-specific code can supply a better implementation. imx6: Add some rudimentary voltage control. Add an armv7 implementation of cpu_sleep(). Add __used attribute so that the DELAY implementation doesn't get optimized away as unreferenced, causing linker errors when trying to resolve the weak reference to the missing function.
* MFC r261410ian2014-05-155-0/+18
| | | | | Follow r261352 by updating all drivers which are children of simplebus to check the status property in their probe routines.
* MFC r259125, r264019, r264083, r264153, r264197loos2014-05-151-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | r259125: Fix a few typos on the scm (control module) pin mux definitions. r264019: Fix some of the style(9) problems on ti_gpio. Remove redundant code and declarations. r264083: Move the GPIO bank initialization to a new function to make easier to detect errors. Reset the GPIO module during the initialization. This is guaranteed to be the same as a hardware reset. Tested on AM335x (BBB) and checked against the omap3 and omap4 TRM. Do a better job freeing resources when there are errors and on ti_gpio_detach(). r264153: - Fix the setup of interrupts for banks 2 and 3 on AM335x. On AM335x each one of the four GPIO banks has two physical interrupt lines, so we now allocate resources and setup our interrupt handler for all the (8) available interrupts. On OMAP3 and OMAP4 there is only one interrupt for each GPIO bank (6 banks, 6 interrupts), but there are two set of registers where the first one is used to setup the delivery of interrupts to the MPU and the second set, setup the delivery of interrupts to the DSP. On AM335x, each set of registers controls each one of the interrupt lines. - Remove nonexistent registers for OMAP4 and AM335x, replace their use with the correct ones for these SoCs. - Remove stray whitespace. r264197: Partially revert r264083. While it is the recommended initialization procedure, it hangs on the reset of the second GPIO module on pandaboard. Removes the module reset for now as more investigation is needed.
* MFC r261252, r261279, r261304, r261305, r261322, r261336, r261337, r261338,ian2014-05-151-2/+0
| | | | | | | | | | | | | | | | | r261353 Fix the name of the dts file for the HL201... When mapping an address, the bsh needs the same offset we do for other things. Add explicit depends on bus_if.h and device_if.h to avoid a chicken and egg problem in some compilation environments. Switch to using PAs rather than VAs for the addresses we map for devices. This is a nop, except for what's reported by atmelbus for the resources. Comment cleanups. Move things around for diff reduction against FDT work.
* MFC r259750, r260245: Add PPS support to the am335x timer driver.ian2014-05-121-54/+333
|
* MFC r259744, cleanups to move global vars into softc, use named values, etc.ian2014-05-121-107/+128
|
* MFC r259739, r259743: Shorten DMTIMER_->DMT_, #define all register constants.ian2014-05-121-37/+60
|
* MFC r259099: Fix a small error in calculating length of DELAY().ian2014-05-121-1/+1
|
* MFC r257199, r257200, r257217:ian2013-12-134-4/+0
| | | | | | | | | | | | | | | Remove all #include <machine/pmap.h> from arm code. It's already included by vm/pmap.h, which is a prerequisite for arm/machine/pmap.h so there's no reason to ever include it directly. Remove #include <machine/frame.h> from all the arm code that doesn't really need it. That would be almost everywhere it was included. Add it in a couple files that really do need it and were previously getting it by accident via another header. Remove the last dregs of trapframe_t. It turns out only arm was using this type, so remove it to make arm code more consistant with other platforms.
* Make the noop clock successfully do nothing, because doing nothing andian2013-08-211-1/+31
| | | | | returning an error status (which the NULL method pointers caused) isn't nearly as useful.
* Define the uart clocks so that they can be en/disabled at runtime.ian2013-08-211-0/+24
|
* Make the standard sdhci(4) driver work for the TI OMAP family SoCs.ian2013-08-201-1/+2
| | | | | | | | | | | | | | 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.
* Initialisation routines for the mailbox, spinlock and PRU-ICSS clocks.rpaulo2013-07-311-1/+71
|
* Add IDs for TPS65217C and TPS65217Dgonzo2013-07-081-0/+8
|
* - Add USBSS driver for AM335x SoC. Driver is a wrapper around Mentors Graphicgonzo2013-07-072-0/+482
| | | | USB OTG core.
* Add support for ePWM submodule of PWMSSgonzo2013-07-041-4/+145
| | | | | | | | | ePWM is controlled by sysctl nodes dev.am335x_pwm.N.period, dev.am335x_pwm.N.dutyA and dev.am335x_pwm.N.dutyB that controls PWM period and duty cycles for channels A and B respectively. Period and duty cycle are measured in clock ticks. Default clock frequency for AM335x PWM subsystem is 100MHz
* - Request non-cached memory for framebuffergonzo2013-06-271-2/+24
| | | | - Properly probe/initialize syscons
* AM335x LCD controller driver with syscons supportgonzo2013-05-274-0/+1518
| | | | | | Limitations: - Raster mode only - 24 and 32 bpp only
* Add PWM module driver for AM335x. Only eCAS subsystem is supportedgonzo2013-05-273-0/+319
| | | | | Export function to configure eCAS submodule from another drivers. It's used to control LCD panel backlight on AM335x EVM.
* Add SCM registers definitions for AM335x platformgonzo2013-05-271-0/+38
|
* Add clock definitions for LCD controller and PWM modulegonzo2013-05-271-3/+91
|
* MFcalloutng:mav2013-02-281-18/+10
| | | | | | | Switch eventtimers(9) from using struct bintime to sbintime_t. Even before this not a single driver really supported full dynamic range of struct bintime even in theory, not speaking about practical inexpediency. This change legitimates the status quo and cleans up the code.
* Fix case for some signal names.dmarion2013-01-281-51/+51
| | | | Submitted by: Emmanuel Vadot <elbarto@megadrive.org>
* Filled in missing pads for AM335x / Beaglebone.dmarion2013-01-281-130/+122
| | | | Submitted by: Emmanuel Vadot <elbarto@megadrive.org>
* Fix spelling.kientzle2012-11-251-1/+1
|
* remove duplicate semicolons where possible.eadler2012-10-221-1/+1
| | | | | Approved by: cperciva MFC after: 1 week
* Merging of projects/armv6, part 10gonzo2012-08-159-0/+1580
- Support for Texas Instruments SoCs: - AM335x - OMAP4 - Kernel configs, DTS for Beaglebone and Pandaboard Submitted by: Ben Gray, Damjan Marion
OpenPOWER on IntegriCloud