Age | Commit message (Collapse) | Author |
|
sgtl5000 microphone gain only has 2 bits of resolution, so maximum value is 3.
From Eric Nelson:
"We also found that for the microphones we have here (commodity PC boom mics) a
default value of 2 for the gain gives the best results."
So change the default microphone gain as well.
Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
|
LINE_IN also needs VAG_POWER on or we may hear noise when directly
route LINE_IN to Headphone Mux.
Tested on imx28evk.
Signed-off-by: Dong Aisheng <dong.aisheng@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
|
Correct SGTL5000_CHIP_CLK_CTRL to SGTL5000_CHIP_REF_CTRL in
sgtl5000_restore_regs(), and add comment to explain the
restore order.
Reported-by: Julia Lawall <julia.lawall@lip6.fr>
Signed-off-by: Zeng Zhaoming <zengzm.kernel@gmail.com>
Acked-by: Dong Aisheng <dong.aisheng@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
|
As manual described, VAG is an internal voltage reference of DAC/ADC,
So enabled it before DAC/ADC up.
One more thing should care about is VAG fully ramped down requires 400ms,
wait it to avoid pop.
Signed-off-by: Zeng Zhaoming <zengzm.kernel@gmail.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
|
Give the correct number of entries to TLV_DB_RANGE_HEAD to prevent
reading more data than actually is in the array.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
|
|
Ensure all mask bits are clear before setting new value.
Signed-off-by: Axel Lin <axel.lin@gmail.com>
Acked-by: Dong Aisheng <b29396@freescale.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
|
We have defined SGTL5000_LINREG_VDDD_MASK in sgtl5000.h,
use it instead of hardcoded (0x1 << 4) - 1 for the mask.
Signed-off-by: Axel Lin <axel.lin@gmail.com>
Acked-by: Wolfram Sang <w.sang@pengutronix.de>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
|
Otherwise calling ldo_regulator_remove() does not unregister regulator
and free memories.
Signed-off-by: Axel Lin <axel.lin@gmail.com>
Acked-by: Wolfram Sang <w.sang@pengutronix.de>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
|
According to the datasheet:
CHIP_MIC_CTRL 0x002A
BITS[9:8] BIAS_RESISTOR
0x0 = Powerd off
0x1 = 2.0 kohm
0x2 = 4.0 kohm
0x3 = 8.0 kohm
To set mic bias resistor, we need to update bits[9:8] of
SGTL5000_CHIP_MIC_CTRL register.
Signed-off-by: Axel Lin <axel.lin@gmail.com>
Acked-by: Wolfram Sang <w.sang@pengutronix.de>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
|
According to the datasheet:
CHIP_MIC_CTRL 0x002A
BITS[9:8] BIAS_RESISTOR
0x0 = Powerd off
0x1 = 2.0 kohm
0x2 = 4.0 kohm
0x3 = 8.0 kohm
Thus SGTL5000_BIAS_R_MASK should be defined as 0x0300 instead of 0x0200.
Signed-off-by: Axel Lin <axel.lin@gmail.com>
Acked-by: Wolfram Sang <w.sang@pengutronix.de>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
|
The module device table for of_device_id should use "of" type.
Signed-off-by: Axel Lin <axel.lin@gmail.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
|
version.
Conflicts:
sound/soc/codecs/sgtl5000.c
|
|
set DD pins to push/pull if not used for I2C in open drain mode
|
|
|
|
3.3V consumers
|
|
PLLE: now supplied by LDO6 - Put the limits of the supplied circuit as constraints - Moved derived rails from 1.8V to 3.3V where applicable
|
|
|
|
Looks like we mixed up the low-active buffer enable GPIOs. This fixes
GMI_WR_N on SODIMM pin 93 RDnWR curtsey Tord Andersson from Endian
Technologies AB.
|
|
After having registered the following proper machine type migrate to
actually using it.
http://www.arm.linux.org.uk/developer/machines/list.php?id=4493
|
|
Well commit bfd8d6dc27ccf00bf89b0a7bb3d359bab2142376 got rid of the w1
include a little prematurely.
|
|
Add one-wire platform data. Still requires explicitly enabling the
following two kernel configuration options:
CONFIG_W1
CONFIG_W1_MASTER_TEGRA
|
|
Make PWM B, C, D accessible from userspace. e.g as
/sys/class/leds/pwm_b.
|
|
Can be initiated both by LXDE Logout - Suspend or manually doing
'echo mem > /sys/power/state'. Uses GPIO key power (SODIMM pin 45,
Iris X16-20) as wake-up source. If woken-up LXDE session does not
automatically activate desktop again try manually doing a 'chvt 7'.
|
|
Implement the following GPIO keys:
- find (SODIMM pin 77)
- home (SODIMM pin 127)
- back (SODIMM pin 133, Iris X16-14)
- volume up (SODIMM pin 22)
- volume down (SODIMM pin 24)
- power (SODIMM pin 45, Iris X16-20)
- menu (SODIMM pin 135)
|
|
Now simply enabling CONFIG_TEGRA_CAMERA resp. not explicitly disabling
it will make L4T's nv_omx_vip Gstreamer plug-in work with analogue video
decoders like the ADV7180 or MAX9526.
|
|
Booting with a bare USB hub (e.g. EvalBoard V3.1A) and later plugging
in a USB device completely hang the system. This fixes it.
|
|
Shorten GPL license header.
Get rid of obsolete includes.
Get rid of spurious comments.
Fix indentation.
Add some clarifying comments.
|
|
Now simply enabling CONFIG_TEGRA_CAMERA resp. not explicitly disabling
it will make L4T's nv_omx_vip Gstreamer plug-in work with analogue video
decoders like the ADV7180 or MAX9526.
|
|
Commit 39ca35e4610f1307247815ec5268b5072172d24a mixed up the SCL/SDA
GPIOs. This fixes it again.
|
|
Shorten GPL license header.
Get rid of obsolete includes.
Get rid of spurious comments.
Fix indentation.
Add some clarifying comments.
Rename board level init_machine and reserve functions.
|
|
As our hardware only allows triggering an interrupt on over-temperature
shutdown we setup a workqueue to catch leaving it again.
For Tegra 3 NVIDIA relies on the regular Linux thermal subsystem.
As follows some output during a thermal throttling run:
root@colibri-t30:~# cat /sys/bus/i2c/devices/4-004c/temp2_os
45000
RAM 400/980MB (lfb 135x4MB) IRAM 0/255kB(lfb 255kB)
cpu [12%,2%,3%,6%]@475 EMC 533 AVP 81 VDE 400 EDP limit 1300000
Temperatures CPU 42.4 Board 36.4
root@colibri-t30:~# cat /sys/bus/i2c/devices/4-004c/temp2_os
60000
RAM 400/980MB (lfb 135x4MB) IRAM 0/255kB(lfb 255kB)
cpu [14%,5%,4%,4%]@1300 EMC 533 AVP 81 VDE 400 EDP limit 1300000
Temperatures CPU 54.2 Board 47.8
RAM 400/980MB (lfb 135x4MB) IRAM 0/255kB(lfb 255kB)
cpu [100%,100%,100%,100%]@1200 EMC 533 AVP 81 VDE 400 EDP limit 1200000
Temperatures CPU 70.4 Board 56.6
root@colibri-t30:~# cat /sys/bus/i2c/devices/4-004c/temp2_os
75000
RAM 400/980MB (lfb 135x4MB) IRAM 0/255kB(lfb 255kB)
cpu [54%,49%,48%,48%]@1200 EMC 533 AVP 81 VDE 400 EDP limit 1200000
Temperatures CPU 70.9 Board 57.1
RAM 400/980MB (lfb 135x4MB) IRAM 0/255kB(lfb 255kB)
cpu [100%,100%,100%,100%]@1100 EMC 533 AVP 81 VDE 400 EDP limit 1100000
Temperatures CPU 75.3 Board 60.5
root@colibri-t30:~# cat /sys/bus/i2c/devices/4-004c/temp2_os
85000
RAM 401/980MB (lfb 135x4MB) IRAM 0/255kB(lfb 255kB)
cpu [65%,61%,61%,61%]@1100 EMC 533 AVP 81 VDE 400 EDP limit 1100000
Temperatures CPU 75.2 Board 61.0
RAM 401/980MB (lfb 135x4MB) IRAM 0/255kB(lfb 255kB)
cpu [100%,100%,100%,100%]@1000 EMC 533 AVP 81 VDE 400 EDP limit 1100000
Temperatures CPU 85.1 Board 69.8
RAM 401/980MB (lfb 135x4MB) IRAM 0/255kB(lfb 255kB)
cpu [100%,100%,100%,100%]@760 EMC 533 AVP 81 VDE 400 EDP limit 1100000
Temperatures CPU 85.1 Board 69.9
root@colibri-t30:~# cat /sys/class/thermal/cooling_device0/cur_state
0
root@colibri-t30:~# cat /sys/class/thermal/cooling_device0/max_state
10
root@colibri-t30:~# cat /sys/class/thermal/cooling_device0/type
balanced
root@colibri-t30:~# cat /sys/class/thermal/thermal_zone0/cdev0_trip_point
0
root@colibri-t30:~# cat /sys/class/thermal/thermal_zone0/temp
84531
root@colibri-t30:~# cat /sys/class/thermal/thermal_zone0/trip_point_0_temp
85000
root@colibri-t30:~# cat /sys/class/thermal/thermal_zone0/trip_point_0_type
passive
root@colibri-t30:~# cat /sys/class/thermal/thermal_zone0/type
lm95245_remote
|
|
Adjust thermal throttling to latest lm95245 evolution and wait with the
interrupt registration until we get the LM95245 drivers probe callback.
While at it add some clarifying comments and wrap RTC stuff with a
define.
|
|
In order to allow tighter integration with external thermal throttling
code add local temperature and remote critical shutdown temperature
hooks. Rename the existing hooks for clarity.
|
|
Our platform data erroneously used the forth (bus number 3) rather than
the first (bus number 0) controller instance.
|
|
Get rid of obsolete NAND aka Colibri T30 v1.0a prototype handling.
|
|
Add BERR counter functionality to MCP251x driver.
Signed-off-by: Mitja Spes <mitja@lxnav.com>
|
|
As our hardware only allows triggering an interrupt on over-temperature
shutdown we first use it to catch entering throttle limit and only then
set it up to catch an actual over-temperature shutdown.
While throttling we setup a workqueue to catch leaving it again.
We support the same sysfs interface as on NVIDIA Ventana:
root@colibri-t20:~# cat /sys/kernel/debug/thermal/shutdown
115000
root@colibri-t20:~# cat /sys/kernel/debug/thermal/throttle
90000
As follows some output of before and during a throttling run:
root@colibri-t20:~# tegrastats
RAM 159/345MB (lfb 36x4MB) Carveout 11/128MB (lfb 116MB) GART 0/32MB
(lfb 32MB) IRAM 4/255kB(lfb 248kB) cpu [51%,23%]@216 EMC 666 AVP 72 VDE
240 EDP limit -1 Temperatures CPU 48.7 Board 43.2
root@colibri-t20:~# cat /sys/devices/system/cpu/cpu0/cpufreq/throttle
0
root@colibri-t20:~# cat /sys/bus/i2c/devices/4-004c/temp2_os
90000
root@colibri-t20:~# cat /sys/kernel/debug/thermal/shutdown
115000
root@colibri-t20:~# cat /sys/kernel/debug/thermal/throttle
90000
root@colibri-t20:~# tegrastats
RAM 66/345MB (lfb 5x32kB) Carveout 75/128MB (lfb 53MB) GART 8/32MB
(lfb 24MB) IRAM 20/255kB(lfb 232kB) cpu [85%,83%]@912 EMC 666 AVP 216
VDE 240 EDP limit -1 Temperatures CPU 90.1 Board 77.9
root@colibri-t20:~# cat /sys/devices/system/cpu/cpu0/cpufreq/throttle
1
root@colibri-t20:~# cat /sys/bus/i2c/devices/4-004c/temp2_os
115000
|
|
In order to allow integrating with external thermal throttling code add
a probe callback and remote over-temperature shutdown hooks.
|
|
Integrate remote over-temperature shutdown ROS pin handling.
|
|
Clean-up I2C platform data and bring it more in line with Colibri T30.
|
|
In addition to the critical temperature alarm limit this chip features
a second alarm limit called remote over-temperature shutdown ROS with
a separate pin configurable as trigger output. Implement this feature
and add platform data to allow configuring respective pin as output.
|
|
Rather than using hard-coded register indices and offsets define and
use an enumeration thereof.
|
|
Avoid the following issue on both /dev/ttyHS1 as well as /dev/ttyHS3:
[ 4419.708332] tegra_uart tegra_uart.1: Setting clk_src pll_m
[ 4419.714361] Failed to set parent pll_m for uartb (violates clock
limit 600000000)
[ 4427.469124] tegra_uart tegra_uart.3: Setting clk_src pll_m
[ 4427.476177] Failed to set parent pll_m for uartd (violates clock
limit 600000000)
|
|
Integrate spidev support straight from Colibri T20.
|
|
Instead of copying the boot loader frame buffer which currently neither
displays anything worth preserving nor even what it has in the right
resolution make sure both LVDS as well as HDMI frame buffers get
cleared during initialisation to avoid displaying random garbled stuff.
|
|
Add the following tested (e.g. framebuffer console and X) video modes:
- 1280x1024@60
- 1600x1200@60
- 1680x1050@60
- 1920x1080p
- 1920x1200
And the following portrait modes:
- 480x640
- 540x960
- 720x1280
The define TEGRA_FB_VGA in board-colibri_t20.h can be used to switch
between VGA and 800x480.
While at it clean-up some defines and includes.
|
|
Clean-up I2C platform data.
|
|
Validate pin-muxing for latest Colibri T30 v1.1a and v1.1b module
hardware.
|
|
Clean-up kernel configuration and bring it more in line with Colibri T20.
|
|
Add the following tested (e.g. framebuffer console and X) video modes:
- 1280x1024@60
- 1600x1200@60
- 1680x1050@60
- 1920x1080p
- 1920x1200
And the following portrait modes:
- 480x640
- 540x960
- 720x1280
The define TEGRA_FB_VGA in board-colibri_t20.h can be used to switch
between VGA and 800x480.
While at it fix rename of CAMERA_INTERFACE to COLIBRI_T20_VI as well.
|