| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
Fix a number of -Wcast-qual warnings under sys/arm. No functional
change.
Submitted by: andrew
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
ti_pruss: make sure the mmap'ed memory region is uncacheable.
am335x_clk_pruss_activate(): use the L3F clock.
|
|
|
|
|
|
| |
Add 64-bit DMA support in the XHCI controller driver.
- Fix some comments and whitespaces while at it.
- Add support for PAE.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Follow r261352 by updating all drivers which are children of simplebus
to check the status property in their probe routines.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
returning an error status (which the NULL method pointers caused) isn't
nearly as useful.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
| |
USB OTG core.
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
- Properly probe/initialize syscons
|
|
|
|
|
|
| |
Limitations:
- Raster mode only
- 24 and 32 bpp only
|
|
|
|
|
| |
Export function to configure eCAS submodule from another drivers.
It's used to control LCD panel backlight on AM335x EVM.
|
| |
|
| |
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Submitted by: Emmanuel Vadot <elbarto@megadrive.org>
|
|
|
|
| |
Submitted by: Emmanuel Vadot <elbarto@megadrive.org>
|
| |
|
|
|
|
|
| |
Approved by: cperciva
MFC after: 1 week
|
|
- Support for Texas Instruments SoCs:
- AM335x
- OMAP4
- Kernel configs, DTS for Beaglebone and Pandaboard
Submitted by: Ben Gray, Damjan Marion
|