summaryrefslogtreecommitdiffstats
path: root/sys/arm/ti/am335x
Commit message (Collapse)AuthorAgeFilesLines
* Move hdmi_if.m to files.arm so other kernel configs can use it.andrew2015-11-211-1/+0
|
* Makeoption ARM_LITLE_ENDIAN does nothing. Remove it since it isn'timp2015-11-201-1/+0
| | | | | consistently used. It was a carry over from NetBSD that FreeBSD doesn't use.
* Stop setting {KERN,}PHYSADDR on armv6, it's unneeded.andrew2015-11-201-7/+0
| | | | Sponsored by: ABT Systems Ltd
* Somewhat improve HDMI event APIgonzo2015-11-142-3/+3
| | | | | - Pass device_t for HDMI framer as an argument for event hook - Use #define for event values, instead of opaque (and unused) 0
* hdmi_if.m will be reused by iMX6 IPU code so move it to arm/armgonzo2015-11-142-58/+1
|
* Move all HDMI-related stuff to hdmi_if.m, hdmi.h is not requiredgonzo2015-11-144-40/+7
|
* Consistently capitalize "TI" as an abbreviation for Texas Instruments.gavin2015-11-121-1/+1
|
* Fix parsing of I2C addresses properties in fdt data. I2C address isian2015-10-212-2/+2
| | | | | | | represented in 7-bits format in DT files, but system expect it in 8-bit format. Also, fix two drivers that locally hack around this bug. Submitted by: Michal Meloun <meloun@miracle.cz>
* Add a new PPS driver for AM335x (beaglebone) timer hardware. This can beian2015-08-132-0/+550
| | | | used as a module or compiled-in.
* Remove all dregs of the old PPS driver from this code, in preparation forian2015-08-122-435/+165
| | | | | | | | | | | | | | | | | | | | | redoing it as a separate driver. Now that each hardware timer is handled by a separate instance of the timer driver, it no longer makes sense to bundle the pps driver with the regular timecounter code. (When all 8 timers were handled by one driver there was no choice about this.) Split the hardware register definitions out to their own file, so that the new pps driver (coming in a separate commit later) can share them. With the PPS driver gone, the question of which hardware timer to use for what purpose becomes much easier (some instances can't do the PPS capture). Now we can just hardcore timer2 for eventtimer and timer3 for timecounter. This also now only instantiates devices for the 2 hardware timers actually used to implement eventtimer and timecounter. This is required so that other drivers can come along and attach to other hardware timers to provide other functionality. (In addition to PPS, this hardware can also do PWM stuff, general pulse width and frequency measurements, etc. Maybe some day we'll have drivers for those things.)
* Add a MODULE_VERSION(), because other things MODULE_DEPEND() on this.ian2015-08-121-0/+1
|
* Make this compile again when PPS_SYNC is defined. Also remove a coupleian2015-08-111-16/+1
| | | | comment blocks and constants that no longer apply.
* Fix color mapping for TDA19988. Values for VIP_CNTRL_1 and VIP_CNTRL_2gonzo2015-07-251-2/+2
| | | | registers were mixed up
* Synchronize PIN input/output modes with ↵gonzo2015-07-251-1/+2
| | | | | | gnu/dts/include/dt-bindings/pinctrl/am33xx.h gpio driver requires exact value to match SoC pin mode with GPIO pin direction
* If there is panel info in DTB do not wait for HDMI event and setupgonzo2015-07-251-2/+5
| | | | framebuffer immediately
* Add missing driver for TDA19988 HDMI framergonzo2015-06-181-0/+810
|
* Add HDMI support to Beaglebone Black:gonzo2015-06-185-174/+504
| | | | | | | | | | - 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.
* - Add clk_set_source_freq field to struct ti_clock_dev so clock devicegonzo2015-06-171-23/+65
| | | | | | | | | consumers can configure clock frequency - Add ti_prcm_clk_set_source_freq wrapper for clk_set_source_freq - Add am335x_clk_set_arm_disp_freq function to control pixel clock frequency for LCD and HDMI output. Both of them are sensitive to frequency skews and we need to get pixel clock matching requested frequency as close to possible
* "status_reg.acpwr ? 1 : 0" is now the same as just "status_reg.acpwr".sobomax2015-06-091-1/+1
|
* Fix a typo in a comment that has been carried over from am335x_pmic.c.sobomax2015-06-091-1/+1
|
* Use tab to do identation consistently.sobomax2015-06-091-1/+1
|
* Extend TPS65217 support to be able to pull and decode batterysobomax2015-06-092-41/+227
| | | | | | | | | | | | | | | | | | | | charger configuration and provide some basic control knobs to set charger voltage and dump config on boot. Two loader tunables have been added: o hw.am335x_pmic.bootverbose set to 1 to get more info on the boot; o hw.am335x_pmic.vo: set to charger voltage to be applied on kernel initialization time, supported values are "4.10V", "4.15V", "4.20V" and "4.25V". Cleanup code a bit in general, move TPS65217 register definitions into a separate header, convert bit-banging defines into bitmap structures. Also threat the case when power source is neither "AC" nor "USB" as "Battery", not "Unknown".
* Rename fdt_find_child to ofw_bus_find_child. There is nothing FDT-specificgonzo2015-05-241-2/+2
| | | | | | in this function. Suggested by: andrew@
* Switch TI platform support code from using FreeBSD's custom-baked DTSgonzo2015-05-2214-992/+1499
| | | | | | | | | | | | | | | | | | | | | | | 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
* Add support for the power button on BeagleBone Black.loos2015-05-131-6/+73
| | | | | | | Shutdown and turn off the board when the power button is pressed. Submitted by: Michal Meloun <meloun@miracle.cz> Relnotes: yes
* Stop using machine/fdt.h in the arm kernel code when we don't need it.andrew2015-04-042-2/+0
|
* Change the name of the dmtimer pps device from /dev/ppsN to /dev/dmtppsN.ian2015-03-091-1/+1
| | | | | | ntpd is hard-coded to use /dev/ppsN, and typically when multiple PPS sources are available the sysadmin will symlink the right one(s) to /dev/ppsN, so it's best to not usurp those names directly.
* Fix a number of -Wcast-qual warnings under sys/arm. No functionaldim2015-02-261-2/+2
| | | | | | | change. Submitted by: andrew MFC after: 3 days
* In sys/arm/ti/am335x/am335x_rtc.c, fix a clang 3.6.0 warning aboutdim2015-02-261-1/+1
| | | | | | | am33x_rtc_softc::sc_irq_res (which is an array) never being NULL. Submitted by: andrew MFC after: 3 days
* am335x_clk_pruss_activate(): use the L3F clock.rpaulo2015-02-021-7/+7
| | | | | | | | The DISP DPLL clock is slower and was making the PRU programs slower on FreeBSD than on Linux. Submitted by: Manuel Stuehn <freebsdnewbie at freenet.de> MFC after: 1 week
* Set LCDC clock frequency to 2*148500 KHzgonzo2015-01-291-3/+3
| | | | | | Minimum LCDC is 2 so clock freq shouild be 2*max_pixel_clock. Maximum pixel clock for HDMI is 148500 (1920x1080). But AM335x can not run in this mode due to bandwidth and clock limitations
* Add vt(4) support to AM335x LCDC drivergonzo2015-01-252-4/+49
|
* After interrupt read value from register to make sure it reached hardware. Thisgonzo2015-01-241-0/+4
| | | | | | should fix "Spurious inteerupt" message Suggested by ian@
* Write ACK for all kinds of LCDC interruptsgonzo2015-01-221-2/+3
|
* Properly clear IRQ status in order to fix "Spurious IRQ" message from AINT.gonzo2015-01-201-0/+3
| | | | This register is not documented in TRM but that's what linux driver does
* Fix programming timing parameters to LCDC. Actual value used for HBP, HFP, ↵gonzo2015-01-181-13/+27
| | | | | | HSW, VSW is register's programmed value + 1.
* Add support to turn off Beaglebone with poweroff(8) or shutdown(8) -p.loos2015-01-126-3/+360
| | | | | | | | | | | | | | | | | 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
* Add 64-bit DMA support in the XHCI controller driver.hselasky2015-01-051-0/+1
| | | | | | | - Fix some comments and whitespace while at it. MFC after: 1 month Submitted by: marius@
* Fix the musb initialization sequence on AM335x.loos2014-12-261-9/+18
| | | | | | | | | | | | | | | | | 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. Discussed with: ian, adrian MFC after: 2 weeks
* Rework the Ti GPIO code to allow for both the OMAP4 and AM335X attachmentsandrew2014-10-184-63/+203
| | | | | | | | | to be present. Thsi creates a new per-SoC driver that handles probe and setting/getting the gpio flags. Differential Revision: https://reviews.freebsd.org/D943 Reviewed by: loos, rpaulo MFC after: 1 week
* Make the ti_padstate_devmap arrays ststic, they are only used with theandrew2014-10-141-1/+1
| | | | file where they are defined.
* Move the sdhci option to files.ti, it's common to both SoCs.andrew2014-10-131-1/+0
|
* Remove ti_mmchs.c, it has been replaced by ti_sdhci.c.andrew2014-10-131-1/+0
|
* Remove the need for files.beaglebone and std.beaglebone by moving the oneandrew2014-10-133-7/+1
| | | | option they defined into files.am335x.
* Sort the files in the am355x directory.andrew2014-10-131-2/+4
|
* Remove extra semicolons.kevlo2014-06-061-1/+1
|
* Export two new settings for the AM335x PWM, the clock prescaler (clkdiv)loos2014-06-011-9/+121
| | | | | | | | | | | | | | | | | 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.
* Make ti_padconf_devmap static in both places it is defined.andrew2014-05-251-1/+1
|
* Allow the OMAP4 and AM335x prcm drivers to be compiled in the same kernelandrew2014-05-251-1/+1
| | | | by renaming the structures used.
* Adds the ADC driver for TI AM3xxx SoC family.loos2014-03-241-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. Reviewed by: rpaulo Approved by: adrian (mentor) Tested by: me, Brian J. McGovern, Sulev-Madis Silber (ketas)
OpenPOWER on IntegriCloud