Backlight: Modify the backlight interface
With the introduction of new PWM Framework, access to any PWM driver
should be done through the Framework. So, Modify the Backlight Interface
to use the PWM Framework APIs.
Signed-off-by: Natarajan Sugumar <sugumar@ti.com>
Signed-off-by: Philip, Avinash <avinashphilip@ti.com>
With the introduction of new PWM Framework, access to any PWM driver
should be done through the Framework. So, Modify the Backlight Interface
to use the PWM Framework APIs.
Signed-off-by: Natarajan Sugumar <sugumar@ti.com>
Signed-off-by: Philip, Avinash <avinashphilip@ti.com>
arm:omap:pwm - Platform support for PWMSS
AM335x SOC is having 3 instances of PWMSS, each will be having single
module instances of ePWM, eCAP & eQEP. This patch adds platform support
for ePWM & eCAP modules. Initializes the semaphore for common
configuration space access protection.
Time base module clock enabled for EHRPWM.
Signed-off-by: Philip, Avinash <avinashphilip@ti.com>
AM335x SOC is having 3 instances of PWMSS, each will be having single
module instances of ePWM, eCAP & eQEP. This patch adds platform support
for ePWM & eCAP modules. Initializes the semaphore for common
configuration space access protection.
Time base module clock enabled for EHRPWM.
Signed-off-by: Philip, Avinash <avinashphilip@ti.com>
arm:omap:am33xx - enabled PWM in defconfig
eHRPWM and eCAP enabled in am335x config file.
Signed-off-by: Philip, Avinash <avinashphilip@ti.com>
eHRPWM and eCAP enabled in am335x config file.
Signed-off-by: Philip, Avinash <avinashphilip@ti.com>
arm:omap:pwm - eCAP & ePWM driver in AM335X
Unline with DA850, where each PWM module has individual clock,
AM335x SOC will be having common clock for ePWM, eCAP & eQEP which comes
under PWMSS instances. Clock gating is happening at configuration space
in PWMSS.
This patch modified eCAP & ePWM driver to support AM335X SOC as follows
1. Updated the clk_get() arguments to access common functional clock in
accordance with platform device id.
2. In AM335X SOC, PWMSS has a common config space for eCAP, ePWM & eQEP.
The clock gating to individual module has done from common config
space.So each module drivers should be able to access the common
configuration space independently. This patch provides a method to
access this common configuration space across each modules
independently. This method involves remapping the common config space
only on the first module in PWMSS. All the other modules in PWMSS uses
this remapped address to access the common configuration space. Clock
gating can be controlled on this common configuration space from
respective module. Protection mechanism is provided by
semaphore. Configuratin space unmapping is happening when the last
module is removed.
3. Config file support added for AM33XX_SOC
Signed-off-by: Philip, Avinash <avinashphilip@ti.com>
Unline with DA850, where each PWM module has individual clock,
AM335x SOC will be having common clock for ePWM, eCAP & eQEP which comes
under PWMSS instances. Clock gating is happening at configuration space
in PWMSS.
This patch modified eCAP & ePWM driver to support AM335X SOC as follows
1. Updated the clk_get() arguments to access common functional clock in
accordance with platform device id.
2. In AM335X SOC, PWMSS has a common config space for eCAP, ePWM & eQEP.
The clock gating to individual module has done from common config
space.So each module drivers should be able to access the common
configuration space independently. This patch provides a method to
access this common configuration space across each modules
independently. This method involves remapping the common config space
only on the first module in PWMSS. All the other modules in PWMSS uses
this remapped address to access the common configuration space. Clock
gating can be controlled on this common configuration space from
respective module. Protection mechanism is provided by
semaphore. Configuratin space unmapping is happening when the last
module is removed.
3. Config file support added for AM33XX_SOC
Signed-off-by: Philip, Avinash <avinashphilip@ti.com>
pwm: - Platform data is placed in common position
Platform_driver_data for eHRPWM module is put to common place to access
the structure irrespective of architecture.
Signed-off-by: Philip, Avinash <avinashphilip@ti.com>
Platform_driver_data for eHRPWM module is put to common place to access
the structure irrespective of architecture.
Signed-off-by: Philip, Avinash <avinashphilip@ti.com>
eCAP:PWM: Add device driver support for eCAP module
OMAPL138/DA850 contains three instances of eCAP module.
Each eCAP module has one dedicated pin that can be used either
in capture mode(input) or in PWM mode.
This patch adds eCAP driver support for PWM signal generation.
Signed-off-by: Natarajan Sugumar <sugumar@ti.com>
Signed-off-by: Philip, Avinash <avinashphilip@ti.com>
OMAPL138/DA850 contains three instances of eCAP module.
Each eCAP module has one dedicated pin that can be used either
in capture mode(input) or in PWM mode.
This patch adds eCAP driver support for PWM signal generation.
Signed-off-by: Natarajan Sugumar <sugumar@ti.com>
Signed-off-by: Philip, Avinash <avinashphilip@ti.com>
eHRPWM: Add device driver support for ehrpwm module
eHRPWM module can be used to generate wide range of complex
PWM waveforms. Apart from conventional PWM generation, eHRPWM
module supports advanced features such as Trip Zone and Dead Band.
This patch adds device driver support for eHRPWM module.
Signed-off-by: Natarajan Sugumar <sugumar@ti.com>
Signed-off-by: Philip, Avinash <avinashphilip@ti.com>
eHRPWM module can be used to generate wide range of complex
PWM waveforms. Apart from conventional PWM generation, eHRPWM
module supports advanced features such as Trip Zone and Dead Band.
This patch adds device driver support for eHRPWM module.
Signed-off-by: Natarajan Sugumar <sugumar@ti.com>
Signed-off-by: Philip, Avinash <avinashphilip@ti.com>
PWM: Add cpu frequency transition support for PWM devices
Implement a generic frequency transition callback for PWM
devices. Generic PWM framework notifies all the PWM devices
currently being used about the frequency transition.
Signed-off-by: Natarajan Sugumar <sugumar@ti.com>
Signed-off-by: Philip, Avinash <avinashphilip@ti.com>
Implement a generic frequency transition callback for PWM
devices. Generic PWM framework notifies all the PWM devices
currently being used about the frequency transition.
Signed-off-by: Natarajan Sugumar <sugumar@ti.com>
Signed-off-by: Philip, Avinash <avinashphilip@ti.com>
PWM: Add helper APIs and sysfs entries to the PWM Frame Work
1. Add pwm_duty_percent and pwm_frequency attributes to the SYSFS interface
of the PWM Framework. Since, PWM waveform is characterized mainly by
percent duty and the frequency, it is pretty much useful to have these
attributes.
2. Also, period_ns and duty_ns variables have been added to
the pwm_device structure as it might be needed by the PWM driver
functions.
Signed-off-by: Natarajan Sugumar <sugumar@ti.com>
Signed-off-by: Philip, Avinash <avinashphilip@ti.com>
1. Add pwm_duty_percent and pwm_frequency attributes to the SYSFS interface
of the PWM Framework. Since, PWM waveform is characterized mainly by
percent duty and the frequency, it is pretty much useful to have these
attributes.
2. Also, period_ns and duty_ns variables have been added to
the pwm_device structure as it might be needed by the PWM driver
functions.
Signed-off-by: Natarajan Sugumar <sugumar@ti.com>
Signed-off-by: Philip, Avinash <avinashphilip@ti.com>
PWM: Implement a generic PWM framework
Updates the existing PWM-related functions to support multiple and/or
hotplugged PWM devices, and adds a sysfs interface.
spin_lock protection added.
Signed-off-by: Bill Gatliff <bgat@billgatliff.com>
Signed-off-by: Philip, Avinash <avinashphilip@ti.com>
Updates the existing PWM-related functions to support multiple and/or
hotplugged PWM devices, and adds a sysfs interface.
spin_lock protection added.
Signed-off-by: Bill Gatliff <bgat@billgatliff.com>
Signed-off-by: Philip, Avinash <avinashphilip@ti.com>
arm:omap:am335x : update MCASP hwmod data
This adds update existing mcasp0 data & adds missing mcasp1 hwmod data
Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
This adds update existing mcasp0 data & adds missing mcasp1 hwmod data
Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
arm:omap:am335x: correct TPCC hwmod data
This patch adds missing TPTC hwmod data like addr space, 1 mpu irq, etc
Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
This patch adds missing TPTC hwmod data like addr space, 1 mpu irq, etc
Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
update lpj only if frequency has changed
During scaling up of cpu frequency, loops_per_jiffy
is updated upon invoking PRECHANGE notifier.
If setting to new frequency fails in cpufreq driver,
lpj is left at incorrect value.
Hence update lpj only if cpu frequency is changed,
i.e. upon invoking POSTCHANGE notifier.
Penalty would be that during time period between
changing cpu frequency & invocation of POSTCHANGE
notifier, udelay(x) may not gurantee minimal delay
of 'x' us for frequency scaling up operation.
Perhaps a better solution would be to define
CPUFREQ_ABORTCHANGE & handle accordingly, but then
it would be more intrusive (using ABORTCHANGE may
help drivers also; if any has registered notifier
and expect POST for a PRECHANGE, their needs can
be taken care using ABORT)
Signed-off-by: Afzal Mohammed <afzal@ti.com>
Signed-off-by: Dave Jones <davej@redhat.com>
During scaling up of cpu frequency, loops_per_jiffy
is updated upon invoking PRECHANGE notifier.
If setting to new frequency fails in cpufreq driver,
lpj is left at incorrect value.
Hence update lpj only if cpu frequency is changed,
i.e. upon invoking POSTCHANGE notifier.
Penalty would be that during time period between
changing cpu frequency & invocation of POSTCHANGE
notifier, udelay(x) may not gurantee minimal delay
of 'x' us for frequency scaling up operation.
Perhaps a better solution would be to define
CPUFREQ_ABORTCHANGE & handle accordingly, but then
it would be more intrusive (using ABORTCHANGE may
help drivers also; if any has registered notifier
and expect POST for a PRECHANGE, their needs can
be taken care using ABORT)
Signed-off-by: Afzal Mohammed <afzal@ti.com>
Signed-off-by: Dave Jones <davej@redhat.com>
cpufreq:userspace: fix cpu_cur_freq updation
CPU frequency is guranteed to be changed on notifier callback with
CPUFREQ_POSTCHANGE. Notifier callback with CPUFREQ_PRECHANGE does
not gurantee a change in frequency; after it, if cpufreq driver is
unable to change CPU to new frequency. This results in wrong
information being fed to user (if setting CPU frequency fails)
upon doing like,
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
Hence in userspace governer update cpu_cur_freq only if notifier
has been called with POSTCHANGE.
Signed-off-by: Afzal Mohammed <afzal@ti.com>
Signed-off-by: Dave Jones <davej@redhat.com>
CPU frequency is guranteed to be changed on notifier callback with
CPUFREQ_POSTCHANGE. Notifier callback with CPUFREQ_PRECHANGE does
not gurantee a change in frequency; after it, if cpufreq driver is
unable to change CPU to new frequency. This results in wrong
information being fed to user (if setting CPU frequency fails)
upon doing like,
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
Hence in userspace governer update cpu_cur_freq only if notifier
has been called with POSTCHANGE.
Signed-off-by: Afzal Mohammed <afzal@ti.com>
Signed-off-by: Dave Jones <davej@redhat.com>
regulator: TPS65910: VDD1 error handling
Proper error handling w.r.t I2C transactions
for setting & getting voltage for VDD1
Signed-off-by: Afzal Mohammed <afzal@ti.com>
Proper error handling w.r.t I2C transactions
for setting & getting voltage for VDD1
Signed-off-by: Afzal Mohammed <afzal@ti.com>
arm:omap:am33xx: Enable TPS65910 regulator
Enable TPS65910 regulator
Signed-off-by: Afzal Mohammed <afzal@ti.com>
Enable TPS65910 regulator
Signed-off-by: Afzal Mohammed <afzal@ti.com>
arm:omap:am33xx: enable cpufreq
Enable cpufreq by default, also select ondemand and
user space governer, with userspace as default
Signed-off-by: Afzal Mohammed <afzal@ti.com>
Enable cpufreq by default, also select ondemand and
user space governer, with userspace as default
Signed-off-by: Afzal Mohammed <afzal@ti.com>
arm:omap:am33xx: dpll mpu clock config helpers
Add set_rate & round_rate for MPU PLL, this is
required to configure MPU PLL for CPUFREQ
Signed-off-by: Afzal Mohammed <afzal@ti.com>
Add set_rate & round_rate for MPU PLL, this is
required to configure MPU PLL for CPUFREQ
Signed-off-by: Afzal Mohammed <afzal@ti.com>
arm:omap:am33xx: MPU regulator
TPS65910 VDD1 SMPS is connected to MPU.
Add dummy entries for other regulators.
TODO: Replace dummy regulator entries
with proper ones as required.
Signed-off-by: Afzal Mohammed <afzal@ti.com>
TPS65910 VDD1 SMPS is connected to MPU.
Add dummy entries for other regulators.
TODO: Replace dummy regulator entries
with proper ones as required.
Signed-off-by: Afzal Mohammed <afzal@ti.com>
arm:omap:am33xx: OPP table
OPP table for MPU voltage domain
Signed-off-by: Afzal Mohammed <afzal@ti.com>
OPP table for MPU voltage domain
Signed-off-by: Afzal Mohammed <afzal@ti.com>
cpufreq: OMAP: am33xx support
am33xx mpu pll clock name is "dpll_mpu_ck",
same as that of omap44xx()
Signed-off-by: Afzal Mohammed <afzal@ti.com>
am33xx mpu pll clock name is "dpll_mpu_ck",
same as that of omap44xx()
Signed-off-by: Afzal Mohammed <afzal@ti.com>
cpufreq: OMAP: voltage scaling
DVFS capability added, voltage scaled as per the
OPP for new frequency. Increase voltage first for
going to higher OPP, and decrease frequency first
for transition to lower OPP.
If regulator is not found, fail cpufreq init.
Signed-off-by: Afzal Mohammed <afzal@ti.com>
DVFS capability added, voltage scaled as per the
OPP for new frequency. Increase voltage first for
going to higher OPP, and decrease frequency first
for transition to lower OPP.
If regulator is not found, fail cpufreq init.
Signed-off-by: Afzal Mohammed <afzal@ti.com>
arm:omap:am33xx : update TSC hwmod data
This patch adds missing fields of hwmod data for TSC
Signed-off-by: Patil, Rachna <rachna@ti.com>
This patch adds missing fields of hwmod data for TSC
Signed-off-by: Patil, Rachna <rachna@ti.com>
arm:omap:gpio - Handle Clocks properly in Suspend/Resume
Clocks were not enabled/disabled during suspend-resume. This patch
corrects the same.
Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
Clocks were not enabled/disabled during suspend-resume. This patch
corrects the same.
Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
arm:omap:gpio - add proper #if check for am335x
few #if check for am335x were missing. This patch adds the same.
Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
few #if check for am335x were missing. This patch adds the same.
Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
arm:omap:am33xx : correct gpio hwmod data
GPIO IP in am335x doesnt support Wakeup. Also, fix incorrect prcm
clock entries for GPIO 2 & 3.
Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
GPIO IP in am335x doesnt support Wakeup. Also, fix incorrect prcm
clock entries for GPIO 2 & 3.
Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
arm:omap:hsmmc - remove invalid bus power setting
SD bus Power was setup at a wrong sequence inside irq code. This Commit
removes the same.
Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
SD bus Power was setup at a wrong sequence inside irq code. This Commit
removes the same.
Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
arm:omap:edma - replace edm_info with more relevant edma_cc
Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
ARM: edma: use kzalloc()
Use kzalloc rather than kmalloc followed by memset with 0
This considers some simple cases that are common and easy to validate
Note in particular that there are no ...s in the rule, so all of the
matched code has to be contiguous
The semantic patch that makes this output is available
in scripts/coccinelle/api/alloc/kzalloc-simple.cocci.
More information about semantic patching is available at
http://coccinelle.lip6.fr/
Signed-off-by: Thomas Meyer <thomas@m3y3r.de>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
Use kzalloc rather than kmalloc followed by memset with 0
This considers some simple cases that are common and easy to validate
Note in particular that there are no ...s in the rule, so all of the
matched code has to be contiguous
The semantic patch that makes this output is available
in scripts/coccinelle/api/alloc/kzalloc-simple.cocci.
More information about semantic patching is available at
http://coccinelle.lip6.fr/
Signed-off-by: Thomas Meyer <thomas@m3y3r.de>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
arm: edma: check irq2ctlr() result
If irq2ctlr() fails return IRQ_NONE.
Also as it can fail make 'ctlr' signed.
The semantic patch that finds this problem (many false-positive results):
(http://coccinelle.lip6.fr/)
// <smpl>
@ r1 @
identifier f;
@@
int f(...) { ... }
@@
identifier r1.f;
type T;
unsigned T x;
@@
*x = f(...)
...
*x > 0
Signed-off-by: Kulikov Vasiliy <segooon@gmail.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
If irq2ctlr() fails return IRQ_NONE.
Also as it can fail make 'ctlr' signed.
The semantic patch that finds this problem (many false-positive results):
(http://coccinelle.lip6.fr/)
// <smpl>
@ r1 @
identifier f;
@@
int f(...) { ... }
@@
identifier r1.f;
type T;
unsigned T x;
@@
*x = f(...)
...
*x > 0
Signed-off-by: Kulikov Vasiliy <segooon@gmail.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
arm: edma: use BIT() wherever possible
This patch replaces occurences of (1 << x) with
BIT(x) as it makes for much better reading.
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
This patch replaces occurences of (1 << x) with
BIT(x) as it makes for much better reading.
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
arm: edma: fix coding style issue related to usage of braces
In the edma driver, there are couple of instances where braces
are used for a single statement 'if' construct.
There are other instances where 'else' part of the if-else construct
does not use braces even if the 'if' part is a multi-line statement.
This patch fixes both.
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
In the edma driver, there are couple of instances where braces
are used for a single statement 'if' construct.
There are other instances where 'else' part of the if-else construct
does not use braces even if the 'if' part is a multi-line statement.
This patch fixes both.
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
arm: edma: use a more intuitive name for edma_info
'edma_info' structure inside the edma driver represents
a single instance of edma channel controller. Call it
'edma_cc' instead. This also avoids readers confusing
it with an instance of edma_soc_info structre which
carries the platform data for a single channel controller
instance.
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
'edma_info' structure inside the edma driver represents
a single instance of edma channel controller. Call it
'edma_cc' instead. This also avoids readers confusing
it with an instance of edma_soc_info structre which
carries the platform data for a single channel controller
instance.
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
arm: am33xx: Add CPSW MII mac select support
This patch fixes missing configuration for MII interface
configuration in device control register. MII mode selection
should be done depending up on the board/phy type.
This was missing in linux, however without this also it was
working as it was configured in uboot. This is required in
linux also in order to remove any dependency on uboot.
Signed-off-by: Chandan Nath <chandan.nath@ti.com>
This patch fixes missing configuration for MII interface
configuration in device control register. MII mode selection
should be done depending up on the board/phy type.
This was missing in linux, however without this also it was
working as it was configured in uboot. This is required in
linux also in order to remove any dependency on uboot.
Signed-off-by: Chandan Nath <chandan.nath@ti.com>
arm:omap:nand - Add support for suspend/resume
suspend/resume entry points added in NAND driver by disabling/enabling
the clocks for NAND controller and ELM module.
controller clock member is added to omap_nand_info and
omap_nand_platform_data structure.
On suspend waiting for ongoing mtd operation to finish on
mtd->suspend().
Signed-off-by: Philip, Avinash <avinashphilip@ti.com>
suspend/resume entry points added in NAND driver by disabling/enabling
the clocks for NAND controller and ELM module.
controller clock member is added to omap_nand_info and
omap_nand_platform_data structure.
On suspend waiting for ongoing mtd operation to finish on
mtd->suspend().
Signed-off-by: Philip, Avinash <avinashphilip@ti.com>
usb: musb: ti81xx: auto vbus control across host and device mode
Automatically control vbus using timer. Set the session bit periodically in a timer
context when nothing is connected to usb port. If mini-A is connected then Vbus will
get switched on and if mini-B is connected then Vbus will nto be driven.
Kill the timer when a device is attached in host mode or port is connected to external
host and revive the timer as soon as disconnect happens.
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Automatically control vbus using timer. Set the session bit periodically in a timer
context when nothing is connected to usb port. If mini-A is connected then Vbus will
get switched on and if mini-B is connected then Vbus will nto be driven.
Kill the timer when a device is attached in host mode or port is connected to external
host and revive the timer as soon as disconnect happens.
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
usb: musb: ti81xx: allow board file to set usb mode for each port
Used existing .mode field of board_data for setting usb mode for both
usb ports. usb0 mode is taken from board_mode[0:3] and usb1 mode is
from board_mode[4:7] bits. As mode can take values only from 0 to 3
so this is safe.
This board mode is later used and corretly set in each port's musb
platform_data's mode.
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Used existing .mode field of board_data for setting usb mode for both
usb ports. usb0 mode is taken from board_mode[0:3] and usb1 mode is
from board_mode[4:7] bits. As mode can take values only from 0 to 3
so this is safe.
This board mode is later used and corretly set in each port's musb
platform_data's mode.
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
usb: musb: bring back if_h/p/o_enabled()
musb driver now has only OTG mode to build for and all #ifdefferies for HOST
,PERIPHERAL and OTG have been cleaned up.
Bringing back the if_host/peripheral/otg_enabled() at all #ifdef places to make
the driver work for host or peripheral only based on board_mode.
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
musb driver now has only OTG mode to build for and all #ifdefferies for HOST
,PERIPHERAL and OTG have been cleaned up.
Bringing back the if_host/peripheral/otg_enabled() at all #ifdef places to make
the driver work for host or peripheral only based on board_mode.
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
usb: musb: cleanup the phy programming
Currently the phy_power is only done for one port and so add id field so that the
same function can be used for both ports.
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Currently the phy_power is only done for one port and so add id field so that the
same function can be used for both ports.
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
video: da8xx-fb: Follow reset sequence specified in specification
Follow below specified disable and reset sequence specified in
functional specification:
Steps for disabling the raster:
1)clear raster enable bit of raster control register.
2)Wait for interrupt done.
3)Set the software reset bit high.
Steps for enabling the raster:
1)Set the software reset back to low.
2)Set raster enable bit back to high.
Signed-off-by: Manjunathappa, Prakash <prakash.pm@ti.com>
Follow below specified disable and reset sequence specified in
functional specification:
Steps for disabling the raster:
1)clear raster enable bit of raster control register.
2)Wait for interrupt done.
3)Set the software reset bit high.
Steps for enabling the raster:
1)Set the software reset back to low.
2)Set raster enable bit back to high.
Signed-off-by: Manjunathappa, Prakash <prakash.pm@ti.com>
arm: am33xx: add GPIO backlight control hookup to LCD FB driver
Patch adds hookup to toggle GPIO backlight from da8xx-fb LCD frame
buffer driver.
Signed-off-by: Manjunathappa, Prakash <prakash.pm@ti.com>
Patch adds hookup to toggle GPIO backlight from da8xx-fb LCD frame
buffer driver.
Signed-off-by: Manjunathappa, Prakash <prakash.pm@ti.com>
video: da8xx-fb: Interface clock cleanup
Patch does interface clock cleanup in driver suspend and remove
callbacks.
Signed-off-by: Manjunathappa, Prakash <prakash.pm@ti.com>
Patch does interface clock cleanup in driver suspend and remove
callbacks.
Signed-off-by: Manjunathappa, Prakash <prakash.pm@ti.com>
input: TSC: Add support for suspend/resume
This patch adds support for suspend and resume
in touchscreen ti_tscadc
Signed-off-by: Patil, Rachna <rachna@ti.com>
This patch adds support for suspend and resume
in touchscreen ti_tscadc
Signed-off-by: Patil, Rachna <rachna@ti.com>
ARM: OMAP: PRCM: Don't register PRCM chain handler for AM33XX
AM33XX does not support PRCM interrupts for IO/WKUP events.
Since the current PRCM chain handler expects only these two
events, don't register it for AM33XX.
We might revisit this once the PRCM chain handler code is
enhanced to take care of other events like DPLL needing to be
recalibrated.
Note: This fixes the following crash in USB during kernel boot
[ 2.131963] Unhandled fault: external abort on non-linefetch
(0x1008) at 0xc880a460
[ 2.139960] Internal error: : 1008 [#1]
[ 2.143954] Modules linked in:
[ 2.147143] CPU: 0 Not tainted (3.2.0-rc6-12008-g363a774)
[ 2.154057] PC is at __musb_readb+0xc/0x14
[ 2.158329] LR is at otg_timer+0x2c/0x13c
...
This was due to the PRCM_IRQENABLE register for OMAP3 being at
the same offset as USB_CLKCTRL on AM33XX.
Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
AM33XX does not support PRCM interrupts for IO/WKUP events.
Since the current PRCM chain handler expects only these two
events, don't register it for AM33XX.
We might revisit this once the PRCM chain handler code is
enhanced to take care of other events like DPLL needing to be
recalibrated.
Note: This fixes the following crash in USB during kernel boot
[ 2.131963] Unhandled fault: external abort on non-linefetch
(0x1008) at 0xc880a460
[ 2.139960] Internal error: : 1008 [#1]
[ 2.143954] Modules linked in:
[ 2.147143] CPU: 0 Not tainted (3.2.0-rc6-12008-g363a774)
[ 2.154057] PC is at __musb_readb+0xc/0x14
[ 2.158329] LR is at otg_timer+0x2c/0x13c
...
This was due to the PRCM_IRQENABLE register for OMAP3 being at
the same offset as USB_CLKCTRL on AM33XX.
Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
arm:omap:am33xx: fix for CPSW module build
module build adds _module for related config_xxx and hence checking
only for config_xxx is not sufficent. this patch adds check for
CONFIG_TLK110_WORKAROUND_MODULE also.
Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
module build adds _module for related config_xxx and hence checking
only for config_xxx is not sufficent. this patch adds check for
CONFIG_TLK110_WORKAROUND_MODULE also.
Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
ARM: OMAP: AM33XX: Basic suspend resume support
Add support for basic suspend-resume.
Currently DeepSlee1 mode of the processor is used
as the suspend state.
Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
Add support for basic suspend-resume.
Currently DeepSlee1 mode of the processor is used
as the suspend state.
Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
ARM: OMAP: Don't do anything in sram_init for now
Needs to be merged with 45cd51a8e934bd996963a6de582ae43947c7ff28
(arm:omap: Add SRAM support for AM33xx)
Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
Needs to be merged with 45cd51a8e934bd996963a6de582ae43947c7ff28
(arm:omap: Add SRAM support for AM33xx)
Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
ARM: OMAP: Covert to device_initcall
The power management code for AM33XX is a late_initcall.
The PM features depend on mailbox for IPC being available.
In preparation for this, convert the mailbox init to a
device_initcall.
Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
The power management code for AM33XX is a late_initcall.
The PM features depend on mailbox for IPC being available.
In preparation for this, convert the mailbox init to a
device_initcall.
Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
cpsw: Merge cpsw modules to build as single driver
Merge 2 cpsw drivers (cpsw_ale & cpsw) as one so as to avoid module
build issues.
Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
Merge 2 cpsw drivers (cpsw_ale & cpsw) as one so as to avoid module
build issues.
Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
cpsw: fix for change MAC address using ifconfig
When MAC address is changed using ifconfig, driver MAC address is
not changes as pointer holding the new MAC address is not utilised.
Changed the driver code to utilize the new MAC address and change
the MAC address in driver if it is a valid MAC address.
Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
When MAC address is changed using ifconfig, driver MAC address is
not changes as pointer holding the new MAC address is not utilised.
Changed the driver code to utilize the new MAC address and change
the MAC address in driver if it is a valid MAC address.
Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
arm:omap:am33xx: Don't register McBSP
...since AM33XX doesn't have any instance of McBSP
Note: This needs to be merged with the commit
08037c12036110c79b8fa2adf486aefaee
(arm:omap:am33xx: Don't register non-existent...)
Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
...since AM33XX doesn't have any instance of McBSP
Note: This needs to be merged with the commit
08037c12036110c79b8fa2adf486aefaee
(arm:omap:am33xx: Don't register non-existent...)
Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
arm:omap:am33xx: Enable cpuidle in the defconfig
Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
arm:omap:am33xx: Basic cpuidle support
Add basic cpuidle support for AM33XX family of SoC.
Right now only two idle states (WFI and WFI+SR) are
supported. The latency/residency numbers chosen will
be fine-tuned based on power measurements on actual
hardware.
Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
Add basic cpuidle support for AM33XX family of SoC.
Right now only two idle states (WFI and WFI+SR) are
supported. The latency/residency numbers chosen will
be fine-tuned based on power measurements on actual
hardware.
Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
arm:omap:am335x: Add cpuidle related board data
Add board specific cpuidle hookup for AM335x EVM
Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
Add board specific cpuidle hookup for AM335x EVM
Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
arm:omap:am33xx: Drop support for SERIAL_8250
After commit 8a60585159067f110075ef8ffda13abd94826daf
(ARM: OMAP2+: UART: cleanup 8250 console driver support)
the omap-serial driver no longer depends on 8250 support.
The omap-serial driver has been the default of AM33XX
for some time now. We can now drop the support for
SERIAL_8250 from the defconfig.
Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
After commit 8a60585159067f110075ef8ffda13abd94826daf
(ARM: OMAP2+: UART: cleanup 8250 console driver support)
the omap-serial driver no longer depends on 8250 support.
The omap-serial driver has been the default of AM33XX
for some time now. We can now drop the support for
SERIAL_8250 from the defconfig.
Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
arm:omap: Add SRAM support for AM33xx
Just creates a gen_pool of 64KB which points to
OCMC RAM in AM33xx. A subsequent patch will add
code for copying the suspend code to SRAM
Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
Just creates a gen_pool of 64KB which points to
OCMC RAM in AM33xx. A subsequent patch will add
code for copying the suspend code to SRAM
Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
arm:omap:am33xx: Enable MBOX in defconfig
Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
arm:omap: Fix a bug in SRAM init code
Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
arm:omap:am33xx: HWMOD updates
1. Set the no idle flags for the OCMC to avoid issues in
sram init code which does not explicitly enable the clocks
2. Add reset line info for wkup_m3 and keep the reset asserted
Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
1. Set the no idle flags for the OCMC to avoid issues in
sram init code which does not explicitly enable the clocks
2. Add reset line info for wkup_m3 and keep the reset asserted
Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
omap: mailbox: Add an API for flushing the FIFO
On some platforms like AM33XX, the mailbox module is a
one-way communication between certain processors.
In these scenarios, the initiator (eg. MPU) is completely
responsible for FIFO maintenance and interrupt generation.
The initiator needs a mechanism to flush the FIFO to avoid
overflows or when going to suspend. Without the FIFO being
flushed, the IP block doesn't get disabled thereby blocking
system suspend.
This patch adds an API which the suspend code can invoke
to flush the FIFO and successfully enter suspend state.
Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
On some platforms like AM33XX, the mailbox module is a
one-way communication between certain processors.
In these scenarios, the initiator (eg. MPU) is completely
responsible for FIFO maintenance and interrupt generation.
The initiator needs a mechanism to flush the FIFO to avoid
overflows or when going to suspend. Without the FIFO being
flushed, the IP block doesn't get disabled thereby blocking
system suspend.
This patch adds an API which the suspend code can invoke
to flush the FIFO and successfully enter suspend state.
Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
omap: mailbox: Add support for AM33XX SoC
While at it, remove some unnecessary #if statements
Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
While at it, remove some unnecessary #if statements
Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
omap: mailbox: Fix the address calculation macros
Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
arm:omap:am33xx: Register mailbox hwmod
Add the base address for mailbox and register
the hwmod for the same
Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
Add the base address for mailbox and register
the hwmod for the same
Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
arm:omap:am33xx: Don't register non-existent or unused devices
Remove some of the platform devices which either do
not exist or are not being used right now.
Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
Remove some of the platform devices which either do
not exist or are not being used right now.
Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
video: da8xx-fb: reset LCDC only if functional clock changes with DVFS
LCDC functional clock may or may not be derived from CPU/MPU DPLL,
For example,
AM335x => Separate independent DPLL for LCDC
Davinci => Same DPLL as MPU
So, on platforms where LCDC functional clock is not derived from CPU/MPU
PLL it is not required to reset LCDC module as its functional clock does
not change with DVFS.
This patch adds check to do reset only if functional clock changes
between pre and post notifier callbacks with DVFS.
Signed-off-by: Manjunathappa, Prakash <prakash.pm@ti.com>
LCDC functional clock may or may not be derived from CPU/MPU DPLL,
For example,
AM335x => Separate independent DPLL for LCDC
Davinci => Same DPLL as MPU
So, on platforms where LCDC functional clock is not derived from CPU/MPU
PLL it is not required to reset LCDC module as its functional clock does
not change with DVFS.
This patch adds check to do reset only if functional clock changes
between pre and post notifier callbacks with DVFS.
Signed-off-by: Manjunathappa, Prakash <prakash.pm@ti.com>
arm:omap:am335x - Add support for UART 2
Support for UART 2 is added. UART 2 is tested for working in Profile 3
by passing kernel boot args from u-boot as setenv bootargs
'console=ttyO2,115200n8......'
Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
Support for UART 2 is added. UART 2 is tested for working in Profile 3
by passing kernel boot args from u-boot as setenv bootargs
'console=ttyO2,115200n8......'
Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
Merge to hwmod data patch
arm:omap:omap: export omap_ctrl_writel()
export omap_ctrl_writel() so that it can be used by others which are
built as module.
When we are here, add mising export include
Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
export omap_ctrl_writel() so that it can be used by others which are
built as module.
When we are here, add mising export include
Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
video: da8xx-fb: Add debug message on sync and underflow error
Patch adds useful debug message on LCDC syn and underflow error.
Signed-off-by: Manjunathappa, Prakash <prakash.pm@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Patch adds useful debug message on LCDC syn and underflow error.
Signed-off-by: Manjunathappa, Prakash <prakash.pm@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
usb: musb: Fix for handling overcurrent condition in host mode
The overcurrent situation can occur in 2 scenarios
a) when usb device connected directly to musb root-port and device draw the
more current, further the VBUS_ERROR is generated and root-hub port change
status need to be notified to hub driver to handle over-current situation.
b) when usb device connected thrugh HUB, the hub status change will be
notified by hub through interrupt transfer and handled approperiately by HUB
driver.
This patch fixes (a), where root hub status change was not notified to hub driver.
Signed-off-by: Ravi B <ravibabu@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
The overcurrent situation can occur in 2 scenarios
a) when usb device connected directly to musb root-port and device draw the
more current, further the VBUS_ERROR is generated and root-hub port change
status need to be notified to hub driver to handle over-current situation.
b) when usb device connected thrugh HUB, the hub status change will be
notified by hub through interrupt transfer and handled approperiately by HUB
driver.
This patch fixes (a), where root hub status change was not notified to hub driver.
Signed-off-by: Ravi B <ravibabu@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
arm:omap:am335x: Enable Oprofile support on AM335x
This enables support for oProfile on AM335x.
Enabling Oprofile does not impact kernel performance since
Oprofile is dormant unless a profiling session is initiated.
Signed-off-by: Jeff Lance <j-lance1@ti.com>
Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
This enables support for oProfile on AM335x.
Enabling Oprofile does not impact kernel performance since
Oprofile is dormant unless a profiling session is initiated.
Signed-off-by: Jeff Lance <j-lance1@ti.com>
Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
OMAP: clock: am33xx specific API handling
Jitter correction for AM33XX is not present.
Handle revelant clock API's properly.
Signed-off-by: Afzal Mohammed <afzal@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Jitter correction for AM33XX is not present.
Handle revelant clock API's properly.
Signed-off-by: Afzal Mohammed <afzal@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
mfd: TPS65910: Make usable even if interrupt unused
TPS65910 can be used even if interrupt is unused.
Hence let probe succeed in case interrupt can't be
configured and let Kernel only to complain about it
Signed-off-by: Afzal Mohammed <afzal@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
TPS65910 can be used even if interrupt is unused.
Hence let probe succeed in case interrupt can't be
configured and let Kernel only to complain about it
Signed-off-by: Afzal Mohammed <afzal@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
regulator: TPS65910: Create an array for reg init data
Create an array of fixed size for the platform to pass regulator
initalization data through.
Passing an array of pointers to init data also allows more flexible
definition of init data as well as prevents reading past the end of the
array should the platform define an incorrectly sized array.
Signed-off-by: Kyle Manna <kyle.manna@fuel7.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Create an array of fixed size for the platform to pass regulator
initalization data through.
Passing an array of pointers to init data also allows more flexible
definition of init data as well as prevents reading past the end of the
array should the platform define an incorrectly sized array.
Signed-off-by: Kyle Manna <kyle.manna@fuel7.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
regulator: TPS65910: Move regulator defs to header
Move the regulator defintions to the header so that platform board file
can use them to configure specific regulators.
Signed-off-by: Kyle Manna <kyle.manna@fuel7.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Move the regulator defintions to the header so that platform board file
can use them to configure specific regulators.
Signed-off-by: Kyle Manna <kyle.manna@fuel7.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
mfd: TPS65910: Move linux/gpio.h include to header
The tps65910.h file depends on linux/gpio.h. Move the include from the
source file to the tps65910.h header file.
Signed-off-by: Kyle Manna <kyle.manna@fuel7.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
The tps65910.h file depends on linux/gpio.h. Move the include from the
source file to the tps65910.h header file.
Signed-off-by: Kyle Manna <kyle.manna@fuel7.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
mfd: TPS65910: Fix typo that clobbers genirq
Fix a typo that clobbers other interrupts in an unobvious way.
Signed-off-by: Kyle Manna <kyle.manna@fuel7.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Fix a typo that clobbers other interrupts in an unobvious way.
Signed-off-by: Kyle Manna <kyle.manna@fuel7.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
mfd: TPS65910: Add I2C slave address macros
Add I2C slave addresses to the header file so that platform definitions
can use them.
Signed-off-by: Kyle Manna <kyle.manna@fuel7.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Add I2C slave addresses to the header file so that platform definitions
can use them.
Signed-off-by: Kyle Manna <kyle.manna@fuel7.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
mfd: TPS65910: Handle non-existent devices
Attempt to read the first register of the device, if there is no
device return -ENODEV
Signed-off-by: Kyle Manna <kyle.manna@fuel7.com>
Signed-off-by: Afzal Mohammed <afzal@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Attempt to read the first register of the device, if there is no
device return -ENODEV
Signed-off-by: Kyle Manna <kyle.manna@fuel7.com>
Signed-off-by: Afzal Mohammed <afzal@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
am335x: tsl2550: Add ambient light sensor support
This patch enables the TAOS, ambient light sensor of am335x
Also adds the tsl2550, ambient light sensor configuration to
default am335x_evm_defconfig kernel configuration
Signed-off-by: AnilKumar Ch <anilkumar@ti.com>
This patch enables the TAOS, ambient light sensor of am335x
Also adds the tsl2550, ambient light sensor configuration to
default am335x_evm_defconfig kernel configuration
Signed-off-by: AnilKumar Ch <anilkumar@ti.com>
am335x: Add TI TMP275 temperature sensor support
This patch enables the TI's temperature sensor - TMP275 on
am335x chip
Also adds the tmp275 to default kernel configuration
am335x_evm_defconfig
Signed-off-by: AnilKumar Ch <anilkumar@ti.com>
This patch enables the TI's temperature sensor - TMP275 on
am335x chip
Also adds the tmp275 to default kernel configuration
am335x_evm_defconfig
Signed-off-by: AnilKumar Ch <anilkumar@ti.com>
am335x: lis33ldlh: Add accelerometer support to AM335X
This patch adds lis33ldlh support to AM335X. lis33ldlh is connected
via I2C to am335x and I2C address is 0x18.
Also adds lis33ldlh, accelerometer to default kernel configuration
am335x_evm_defconfig
Signed-off-by: AnilKumar Ch <anilkumar@ti.com>
This patch adds lis33ldlh support to AM335X. lis33ldlh is connected
via I2C to am335x and I2C address is 0x18.
Also adds lis33ldlh, accelerometer to default kernel configuration
am335x_evm_defconfig
Signed-off-by: AnilKumar Ch <anilkumar@ti.com>
lis3lv02d: Add STMicroelectronics lis33ldlh digital
accelerometer
This patch adds support for lis33ldlh digital accelerometer to the
lis3lv02d driver family. Adds ID field for detecting the lis33ldlh
module, based on this ID field lis3lv02d driver will export the
lis33ldlh module functionality.
Also exports g_range parameter to user space for run-time value
change. User must give 2/4/8 value depends on requirement.
Signed-off-by: AnilKumar Ch <anilkumar@ti.com>
accelerometer
This patch adds support for lis33ldlh digital accelerometer to the
lis3lv02d driver family. Adds ID field for detecting the lis33ldlh
module, based on this ID field lis3lv02d driver will export the
lis33ldlh module functionality.
Also exports g_range parameter to user space for run-time value
change. User must give 2/4/8 value depends on requirement.
Signed-off-by: AnilKumar Ch <anilkumar@ti.com>
arm:omap:am33xx: Create an alias for sgx/gfx clock
GFX/SGX driver has specific requriement for clock naming
convention, due to legacy platform support.
So create an alias for the clock "gfx_fclk" --> "sgx_ck".
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
GFX/SGX driver has specific requriement for clock naming
convention, due to legacy platform support.
So create an alias for the clock "gfx_fclk" --> "sgx_ck".
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
arm:omap:am33xx: Create an alias for pruss clock
PRUSS driver has specific requriement for clock naming
convention, due to legacy platform support.
So create an alias for the clock "icss_uart_gclk" --> "pruss".
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
PRUSS driver has specific requriement for clock naming
convention, due to legacy platform support.
So create an alias for the clock "icss_uart_gclk" --> "pruss".
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
video:da8xx: Replace dma_alloc_coherent tp get_free_pages
dma-alloc_coherent supports limited memory allocation, which leads
to failure some time, and always without CONSISTENT_DMA_SIZE defination.
For safe allocation, change dma_alloc_coherent to get_free_pages and
mark the pages as reserved.
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
dma-alloc_coherent supports limited memory allocation, which leads
to failure some time, and always without CONSISTENT_DMA_SIZE defination.
For safe allocation, change dma_alloc_coherent to get_free_pages and
mark the pages as reserved.
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
ARM:omap:am33xx: CPSW removes dmtimer re enabling
This patch is added to remove unwanted dmtimer re enabling
code after reseting timer status register. Also, some additional
cleanup is done in this patch.
Signed-off-by: Chandan Nath <chandan.nath@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
This patch is added to remove unwanted dmtimer re enabling
code after reseting timer status register. Also, some additional
cleanup is done in this patch.
Signed-off-by: Chandan Nath <chandan.nath@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
am335x-evm: beta evm bringup changes for wlan and bt
* Fix a wrong gpio pin used for bluetooth enable on the beta evm.
was using gpio0_17 while it should be gpio3_21
* Add a 70 msec delay after turning wlan on to allow for all voltages
to settle down before starting sdio activity
Signed-off-by: Eyal Reizer <eyalr@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
* Fix a wrong gpio pin used for bluetooth enable on the beta evm.
was using gpio0_17 while it should be gpio3_21
* Add a 70 msec delay after turning wlan on to allow for all voltages
to settle down before starting sdio activity
Signed-off-by: Eyal Reizer <eyalr@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
ARM:omap:am33xx: Implement CPSW interrupt pacing functionality
CPSW module includes an interrupt pacing block that can
be programmed to throttle the rate at which interrupts are
generated. This patch implements interrupt pacing logic that can
be controlled through the ethtool interface(only rx_coalesce_usecs
param is honored)
Signed-off-by: Chandan Nath <chandan.nath@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
CPSW module includes an interrupt pacing block that can
be programmed to throttle the rate at which interrupts are
generated. This patch implements interrupt pacing logic that can
be controlled through the ethtool interface(only rx_coalesce_usecs
param is honored)
Signed-off-by: Chandan Nath <chandan.nath@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
ARM:omap:am33xx: routing CPSW interrupts via Timer
This patch is added to route CPSW interrupts through ICSS module.
CPSW CPSW_RX and CPSW_TX interrupts are not directly used from CPSW
and instead they are routed through Timer module. This is done as an
software workaround for enabling interrupt pacing feature. As interrupt
Pacing works on C0_RX_PULSE interrupt connection to A8 INTC, which is
not connected to Cortex A8 interrupt controller directly due to hw issue,
it prevents interrupt pacing to work in AM33xx EVM. Therefore, Timer
capture module is used to pickup these interrupts and routed to A8 INTC.
Signed-off-by: Chandan Nath <chandan.nath@ti.com>
Signed-off-by: Afzal Mohammed <afzal@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
This patch is added to route CPSW interrupts through ICSS module.
CPSW CPSW_RX and CPSW_TX interrupts are not directly used from CPSW
and instead they are routed through Timer module. This is done as an
software workaround for enabling interrupt pacing feature. As interrupt
Pacing works on C0_RX_PULSE interrupt connection to A8 INTC, which is
not connected to Cortex A8 interrupt controller directly due to hw issue,
it prevents interrupt pacing to work in AM33xx EVM. Therefore, Timer
capture module is used to pickup these interrupts and routed to A8 INTC.
Signed-off-by: Chandan Nath <chandan.nath@ti.com>
Signed-off-by: Afzal Mohammed <afzal@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
ARM:OMAP:AM33XX: Add PROFIBUS support
Added PROFIBUS pinmux settings
Signed-off-by: Amit Shah <amit.shah@ti.com>
Signed-off-by: Amit Shah <amit.shah@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Added PROFIBUS pinmux settings
Signed-off-by: Amit Shah <amit.shah@ti.com>
Signed-off-by: Amit Shah <amit.shah@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
ARM:OMAP:AM33XX:pruss:Add platform specific changes for AM33XX in UIO PRUSS driver.
Added AM33XX dependency for UIO_PRUSS driver to build in Kconfig.
ICSS memory map base and length were added in am33xx.h
Other PRU specific resources like ICSS IRQs for AM33XX,
uio_pruss driver register were added to devices.c
Signed-off-by: Amit Shah <amit.shah@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Added AM33XX dependency for UIO_PRUSS driver to build in Kconfig.
ICSS memory map base and length were added in am33xx.h
Other PRU specific resources like ICSS IRQs for AM33XX,
uio_pruss driver register were added to devices.c
Signed-off-by: Amit Shah <amit.shah@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
ARM:DA850:pruss: Add platform specific changes for DA850 in UIO PRUSS driver
PRU specific resources like RAM base address, PRUSS clock, IRQs for DA8XX, uio_pruss driver register were added.
Signed-off-by: Amit Shah <amit.shah@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
PRU specific resources like RAM base address, PRUSS clock, IRQs for DA8XX, uio_pruss driver register were added.
Signed-off-by: Amit Shah <amit.shah@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
ARM:OMAP:AM33XX:pruss: Disable SRAM support in UIO_PRUSS
Disable SRAM export in UIO till consolidated SRAM support available for AM33XX
Signed-off-by: Amit Shah <amit.shah@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Disable SRAM export in UIO till consolidated SRAM support available for AM33XX
Signed-off-by: Amit Shah <amit.shah@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
ARM:OMAP:AM33XX: Add AM33XX_IRQ_GPMC0 as gpmc_irq for AM33XX
uio_pruss driver was unable to load due to gpmc driver bug wherein the gpmc_irq for AM33XX was being set to INT_34XX_GPMC_IRQ.
Signed-off-by: Amit Shah <amit.shah@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
uio_pruss driver was unable to load due to gpmc driver bug wherein the gpmc_irq for AM33XX was being set to INT_34XX_GPMC_IRQ.
Signed-off-by: Amit Shah <amit.shah@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
AM335XEVM: Volume Keys Support Added.
1. GPIO Keys Support Enabled for volume up/down push bottons.
2. Correction in Matrix Keypad for DB boot mode.
Signed-off-by: Goutam Kumar <goutam.kumar@ti.com>
Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
1. GPIO Keys Support Enabled for volume up/down push bottons.
2. Correction in Matrix Keypad for DB boot mode.
Signed-off-by: Goutam Kumar <goutam.kumar@ti.com>
Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
AM335XEVM: Matrix GPIO Keypad support added
This patch adds support for GPIO based Matric(2 x 3) Keypad.
Signed-off-by: Goutam Kumar <goutam.kumar@ti.com>
Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
Signed-off-by: Patil, Rachna <rachna@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
This patch adds support for GPIO based Matric(2 x 3) Keypad.
Signed-off-by: Goutam Kumar <goutam.kumar@ti.com>
Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
Signed-off-by: Patil, Rachna <rachna@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
am335x-evm: wl12xx pin mux detection between rev1.0 and rev1.1
* WLAN and Bluetooth enable pins are different between alpha(rev1.0) and
beta (rev1.1a) boards.
Use the right pin muxing based on the header read from eeprom.
* Add the BT and WLAN enable pins to the wl12xx platform data so they can
be used by external modules
Signed-off-by: Eyal Reizer <eyalr@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
* WLAN and Bluetooth enable pins are different between alpha(rev1.0) and
beta (rev1.1a) boards.
Use the right pin muxing based on the header read from eeprom.
* Add the BT and WLAN enable pins to the wl12xx platform data so they can
be used by external modules
Signed-off-by: Eyal Reizer <eyalr@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
board-am335xevm: changes for working with catalog wl1271 com6m module
* The catalog COM6M module is using a 38.4Mhz crystal
* Do not activate the BT enable pin during boot. this is done from the
appliaction when BT is brought up.
Signed-off-by: Eyal Reizer <eyalr@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
* The catalog COM6M module is using a 38.4Mhz crystal
* Do not activate the BT enable pin during boot. this is done from the
appliaction when BT is brought up.
Signed-off-by: Eyal Reizer <eyalr@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
am335x_evm_defconfig: do not activate bluetooth modules
Turn off the bluetooth realted modules in the default defconfig
file as we switch to using a compat package which is bluetooth
certifiable.
Signed-off-by: Eyal Reizer <eyalr@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Turn off the bluetooth realted modules in the default defconfig
file as we switch to using a compat package which is bluetooth
certifiable.
Signed-off-by: Eyal Reizer <eyalr@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>