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>
usb: musb: cppi41: Workaround fix for Tx fifo flush during disconnect
Unable to flush musb Tx endpoint fifo during disconnect while i/o
in progress. The workaround is to set only fifoflush bit and clear
other bits in tx-csr register.
Signed-off-by: Ravi B <ravibabu@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Unable to flush musb Tx endpoint fifo during disconnect while i/o
in progress. The workaround is to set only fifoflush bit and clear
other bits in tx-csr register.
Signed-off-by: Ravi B <ravibabu@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
can: d_can: Add D_CAN config to am335x_evm_defconfig
This patch adds the D_CAN and dependent modules configurations
to am335x_evm_defconfig
Dependent modules are:
CONFIG_CAN_RAW
CONFIG_CAN_BCM
Signed-off-by: AnilKumar Ch <anilkumar@ti.com>
This patch adds the D_CAN and dependent modules configurations
to am335x_evm_defconfig
Dependent modules are:
CONFIG_CAN_RAW
CONFIG_CAN_BCM
Signed-off-by: AnilKumar Ch <anilkumar@ti.com>
can: d_can: Add platform data for am33xx device
This patch adds the platform data needed by the driver. Add the
resources to the difference d_can instances.
Initialization of message ram is necessary to read/write the
message object from/into the message RAM
Signed-off-by: AnilKumar Ch <anilkumar@ti.com>
This patch adds the platform data needed by the driver. Add the
resources to the difference d_can instances.
Initialization of message ram is necessary to read/write the
message object from/into the message RAM
Signed-off-by: AnilKumar Ch <anilkumar@ti.com>
can: d_can: Add support for Bosch D_CAN controller
Bosch D_CAN controller is a full-CAN implementation which is compliant
to CAN protocol version 2.0 part A and B. Bosch D_CAN user manual can be
obtained from:
http://www.semiconductors.bosch.de/media/en/pdf/ipmodules_1/can/
d_can_users_manual_111.pdf
This patch adds the support for D_CAN controller.
The following are the design choices made while writing the controller
driver:
1. Interface Register set IF1 has be used for transmit and IF2 is used for
receive message objects.
2. Out of the total Message objects available, half of it are kept aside for
RX purposes and the rest for TX purposes.
3. NAPI implementation is such that both the TX and RX paths functions
in polling mode.
This patch adds the dcan driver support to am335x chip. This patch also adds
the can loopback mode from canutils.
Signed-off-by: AnilKumar Ch <anilkumar@ti.com>
Bosch D_CAN controller is a full-CAN implementation which is compliant
to CAN protocol version 2.0 part A and B. Bosch D_CAN user manual can be
obtained from:
http://www.semiconductors.bosch.de/media/en/pdf/ipmodules_1/can/
d_can_users_manual_111.pdf
This patch adds the support for D_CAN controller.
The following are the design choices made while writing the controller
driver:
1. Interface Register set IF1 has be used for transmit and IF2 is used for
receive message objects.
2. Out of the total Message objects available, half of it are kept aside for
RX purposes and the rest for TX purposes.
3. NAPI implementation is such that both the TX and RX paths functions
in polling mode.
This patch adds the dcan driver support to am335x chip. This patch also adds
the can loopback mode from canutils.
Signed-off-by: AnilKumar Ch <anilkumar@ti.com>
arm:omap:cpsw: Enable/Disable gig support for different evm rev
This patch is added to enable cpsw gigabit mode support for beta
evm and disable gigabit support for alpha EVMs. Please note that
phy_register_fixup_for_uid() function cannot be used to configure
phydev->supported as it is not register configuration and that needs
to be configured after phy->connect.
Signed-off-by: Chandan Nath <chandan.nath@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
This patch is added to enable cpsw gigabit mode support for beta
evm and disable gigabit support for alpha EVMs. Please note that
phy_register_fixup_for_uid() function cannot be used to configure
phydev->supported as it is not register configuration and that needs
to be configured after phy->connect.
Signed-off-by: Chandan Nath <chandan.nath@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
arm:omap:am33xx: Reverting gigabit disabling support
This patch is added to revert back gigabit disable changes.
Due to hw issue gigabit support was disabled in alpha revision
and now this will be handled with respect to evm revision which
will be pushed after this patch.
Signed-off-by: Chandan Nath <chandan.nath@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
This patch is added to revert back gigabit disable changes.
Due to hw issue gigabit support was disabled in alpha revision
and now this will be handled with respect to evm revision which
will be pushed after this patch.
Signed-off-by: Chandan Nath <chandan.nath@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
arm:omap3:am33xx: HACK for bypassing RTC hwmod
Temp patch to avoid rtc clock getting reset
Needs to be investigated
Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Temp patch to avoid rtc clock getting reset
Needs to be investigated
Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
usb: musb_core: kill all global and static variables
This needed for dual instances support.
Changes include:
- Move fifo_mode, orig_dma_mask, otg_timer, first to musb struct
- Killed option for use_dma
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
This needed for dual instances support.
Changes include:
- Move fifo_mode, orig_dma_mask, otg_timer, first to musb struct
- Killed option for use_dma
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
ARM: plat-omap: Fix warnings
Fix,
arch/arm/plat-omap/sram.c: In function 'omap3_sram_restore_context':
arch/arm/plat-omap/sram.c:330:3: warning: initialization makes pointer from integer without a cast
arch/arm/mach-omap2/pm34xx.c: In function 'omap_push_sram_idle':
arch/arm/mach-omap2/pm34xx.c:848:22: warning: initialization makes pointer from integer without a cast
arch/arm/mach-omap2/pm34xx.c:851:28: warning: initialization makes pointer from integer without a cast
Signed-off-by: Afzal Mohammed <afzal@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Fix,
arch/arm/plat-omap/sram.c: In function 'omap3_sram_restore_context':
arch/arm/plat-omap/sram.c:330:3: warning: initialization makes pointer from integer without a cast
arch/arm/mach-omap2/pm34xx.c: In function 'omap_push_sram_idle':
arch/arm/mach-omap2/pm34xx.c:848:22: warning: initialization makes pointer from integer without a cast
arch/arm/mach-omap2/pm34xx.c:851:28: warning: initialization makes pointer from integer without a cast
Signed-off-by: Afzal Mohammed <afzal@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
musb: ti81xx: kill global and static variable for multi instance
Moved global variable "otg_workaround" and static variable "last_timer"
to "struct musb".
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Moved global variable "otg_workaround" and static variable "last_timer"
to "struct musb".
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
rcu: avoid build error for third-party modules
The initial definition of __kfree_rcu() checked a static inline function
argument to see if it was a compile-time constant. Apparently not all
compilers are willing to put up with this at all optimization levels.
Add a nasty comment and remove the warning, relying on the fact that
__kfree_rcu() is called only from kfree_rcu(), which always passes in
a compile-time constant.
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
The initial definition of __kfree_rcu() checked a static inline function
argument to see if it was a compile-time constant. Apparently not all
compilers are willing to put up with this at all optimization levels.
Add a nasty comment and remove the warning, relying on the fact that
__kfree_rcu() is called only from kfree_rcu(), which always passes in
a compile-time constant.
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
usb: defconfig: add back VIDEO support
Also enabled missing CONFIG_OTG and CONFIG_USB_SUSPEND.
Also added the changes required for new config look in v3.2
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Also enabled missing CONFIG_OTG and CONFIG_USB_SUSPEND.
Also added the changes required for new config look in v3.2
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
usb: ether_gadget: fix insmod panic after fsg rmmod
Fixes kernel panic seen during g_ether.ko module insertion performed
after the FSG gadget rmmod.
Ether gadget doesn't reset the usb_ep(s) during initialization and
so was getting the previous gadget's usb_ep->desc data.
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Fixes kernel panic seen during g_ether.ko module insertion performed
after the FSG gadget rmmod.
Ether gadget doesn't reset the usb_ep(s) during initialization and
so was getting the previous gadget's usb_ep->desc data.
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
arm:omap:am335x: Corrects cpsw sa_lo and sa_hi offset
This patch is added to correct register offset of cpgmac
sl1 source low register address and cpgmac sl2 source high
register address. The register offset were 0x21c, 0x220 and
0x31c, 0x320. Instead they are corrected as 0x220, 0x224 and
0x320, 0x324. This is corrected by adding missing P1_TS_SEQ_MTYPE
register in cpsw_slave_reg structure.
Signed-off-by: Chandan Nath <chandan.nath@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
This patch is added to correct register offset of cpgmac
sl1 source low register address and cpgmac sl2 source high
register address. The register offset were 0x21c, 0x220 and
0x31c, 0x320. Instead they are corrected as 0x220, 0x224 and
0x320, 0x324. This is corrected by adding missing P1_TS_SEQ_MTYPE
register in cpsw_slave_reg structure.
Signed-off-by: Chandan Nath <chandan.nath@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
arm:omap:am335x: CPSW autonegotiates to 10 mbps for beaglebone
This patch is added as an workaround for cpsw in case of beaglebone
board to autonegotiates to 10 mbps speed even if it is connected to
100 mbps link. The reason for this is to overcome hardware issue of
100 mbps speed. However, CPSW works fine for both 10 and 100 mbps
speed in case of am335x evm.
Signed-off-by: Chandan Nath <chandan.nath@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
This patch is added as an workaround for cpsw in case of beaglebone
board to autonegotiates to 10 mbps speed even if it is connected to
100 mbps link. The reason for this is to overcome hardware issue of
100 mbps speed. However, CPSW works fine for both 10 and 100 mbps
speed in case of am335x evm.
Signed-off-by: Chandan Nath <chandan.nath@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
arm:omap:am33xx: TLK110 PHY support
This patch adds support for TLK110 PHY. This include some
additional phy register configuration for 1.0 phy version.
Signed-off-by: Chandan Nath <chandan.nath@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
This patch adds support for TLK110 PHY. This include some
additional phy register configuration for 1.0 phy version.
Signed-off-by: Chandan Nath <chandan.nath@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
arm:omap:am335x: Enable JTAG clock by default
Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
arm:debug: Add a config option for enabling JTAG clock
In a power aware system all unused clocks should be disabled.
However we might want to enable the JTAG clock alone for debugger
connectivity if such an option exists.
Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
In a power aware system all unused clocks should be disabled.
However we might want to enable the JTAG clock alone for debugger
connectivity if such an option exists.
Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
musb:host: removing warning message while unable to flush txfifo
changing the warning statement to debug when the tx fifo
was unable to flush.
Signed-off-by: Ravi B <ravibabu@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
changing the warning statement to debug when the tx fifo
was unable to flush.
Signed-off-by: Ravi B <ravibabu@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
musb:gadget: use pio mode for zero byte transfer in gadget mode
The cppi41 txdma is unable to transfer zero byte length, this
workaround uses pio mode to transfer zero byte length.
Signed-off-by: Ravi B <ravibabu@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
The cppi41 txdma is unable to transfer zero byte length, this
workaround uses pio mode to transfer zero byte length.
Signed-off-by: Ravi B <ravibabu@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Enable bit15 in the maccontrol register for 100Mbps.
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
arm:omap:am33xx: Add eeprom board detection logic for beaglebone
In case of wrong EEPROM ID, or if device fails to read/detect the
board fall back to BeagleBone board.
Also, add support for BeagleBone version detection and support for
old boards.
Difference in BeagleBone variants.
* Have different dev_cfg structures and setup functions for new, old
beaglebone boards setup pin mux accordingly
* Fall back to older Bone boards if EEPROM reads are incorrect or empty
* Read version field of EEPROM config to call correct setup_beaglebone
function according to board version
Signed-off-by: Steve Kipisz <s-kipisz2@ti.com>
Signed-off-by: Joel A Fernandes <joelagnel@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
In case of wrong EEPROM ID, or if device fails to read/detect the
board fall back to BeagleBone board.
Also, add support for BeagleBone version detection and support for
old boards.
Difference in BeagleBone variants.
* Have different dev_cfg structures and setup functions for new, old
beaglebone boards setup pin mux accordingly
* Fall back to older Bone boards if EEPROM reads are incorrect or empty
* Read version field of EEPROM config to call correct setup_beaglebone
function according to board version
Signed-off-by: Steve Kipisz <s-kipisz2@ti.com>
Signed-off-by: Joel A Fernandes <joelagnel@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
arm:omap:am33xx: IA EVM low level debug
Low level debug support for IA EVM, it uses UART3
(numbering as per TRM). This is referred as UART4
by software, software UART numbering starts from 1.
Signed-off-by: Afzal Mohammed <afzal@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Low level debug support for IA EVM, it uses UART3
(numbering as per TRM). This is referred as UART4
by software, software UART numbering starts from 1.
Signed-off-by: Afzal Mohammed <afzal@ti.com>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>