History log of /arch/arm/mach-omap2/mux.h
Revision Date Author Comments
9b91bd81fa40b4765e24721d970c26ae2e1d8b0d 16-Feb-2014 Paul Bolle <pebolle@tiscali.nl> ARM: OMAP2+: remove OMAP_PACKAGE_ZAC and OMAP_PACKAGE_ZAF

The Kconfig symbols OMAP_PACKAGE_ZAC and OMAP_PACKAGE_ZAF were added in
v2.6.36. They have never been used. Setting them has no effect. These
symbols can safely be removed.

Signed-off-by: Paul Bolle <pebolle@tiscali.nl>
[tony@atomide.com: updated to remove also the related mux.h entries]
Signed-off-by: Tony Lindgren <tony@atomide.com>
d6db0e7fa1de9559e09c141367740ecd97eb2fe6 26-Nov-2013 Tony Lindgren <tony@atomide.com> ARM: OMAP2+: Remove legacy mux code for omap2

This is no longer needed as pins can be muxed using
pinctrl-single.

Signed-off-by: Tony Lindgren <tony@atomide.com>
d623a0e19dcbc4e44a8db047158815d7f8c2b839 07-Oct-2013 Tony Lindgren <tony@atomide.com> ARM: dts: Fix pinctrl mask for omap3

The wake-up interrupt bit is available on omap3/4/5 processors
unlike what we claim. Without fixing it we cannot use it on
omap3 and the system configured for wake-up events will just
hang on wake-up.

Cc: Grygorii Strashko <grygorii.strashko@ti.com>
Cc: BenoƮt Cousson <bcousson@baylibre.com>
Cc: devicetree@vger.kernel.org
Signed-off-by: Tony Lindgren <tony@atomide.com>
c99eb41c3eac3d66530960d896d59bfe806e5c04 30-May-2013 Tony Lindgren <tony@atomide.com> ARM: OMAP2+: Remove legacy mux data for omap4

We can now boot with devicetree and muxing can be done
with pinctrl-single.c.

Signed-off-by: Tony Lindgren <tony@atomide.com>
421e84509980206fb3b3bc039bc05bae1dd41c7b 27-Nov-2012 Oleg Matcovschi <oleg.matcovschi@ti.com> OMAP2+: mux: Fixed gpio mux mode analysis

OMAP_MODE_GPIO() macro verified only OMAP_MUX_MODE4.
It is not correct for following platforms:
2430 - gpio mux mode 3
44xx - gpio mux mode 3
54xx - gpio mux mode 6

Patch reserves first 3 bits in partition flags for storing gpio mux
mode in same format as stored in control pad register.
Modified OMAP_MODE_GPIO() macro to handle all possible cases of gpio mux mode.
Modified omap_mux_init() flags of omap34xx to include OMAP_MUX_GPIO_IN_MODE4.

Signed-off-by: Oleg Matcovschi <oleg.matcovschi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
36b547aa20d1cf0d62bace7b8a9928aa33de36cd 26-Jul-2012 Michael Jones <michael.jones@matrix-vision.de> omap2: mux: remove comment for nonexistent member

remove comment for nonexistent member

Signed-off-by: Michael Jones <michael.jones@matrix-vision.de>
Signed-off-by: Tony Lindgren <tony@atomide.com>
91930652a23de0873a157aa1d9962cb878d64451 05-Jun-2012 Govindraj.R <govindraj.raja@ti.com> OMAP2+: UART: Add mechanism to probe uart pins and configure rx wakeup

The commit (bce492c0 ARM: OMAP2+: UART: Fix incorrect population of
default uart pads) removed default uart pads that where getting populated
and which was making rx pin wakeup capable. If uart pads were used in
different mode by any other module then it would fail since the default
pads took over all the uart pins forcefully. With removal of default pads
the rx_pad wakeup for console uart while waking up from off mode is broken.

Utilise the mux api available to probe the availability of mux pins
in uart mode and probe for availability of uart pin in mux mode0
if uart is available as uart pin itself then configure rx pin
as wakeup capable.

This patch itself doesn't cater to all boards. Boards using uart rx wakeup
mechanism should ensure the usage of omap_serial_init_port by configuring
required uart ports and pass necessary mux data, till then this probing of
uart pins can cater to enabling of rx pad wakeup to most of the boards.

This patch can also throw some boot warning from _omap_mux_get_by_name
if pin is requested for availability is not present while dynamically probing
the uart pins availability such boot warnings can be addressed only when board
files are patched with omap_serial_init_port calls passing the right pads
needed for a given port.

Discussion Threads for reference:
http://www.spinics.net/lists/linux-omap/msg69859.html
http://www.spinics.net/lists/linux-omap/msg68659.html

Cc: Felipe Balbi <balbi@ti.com>
Cc: Kevin Hilman <khilman@ti.com>
Cc: Russ Dill <russ.dill@gmail.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Ameya Palande <ameya.palande@ti.com>
Signed-off-by: Govindraj.R <govindraj.raja@ti.com>
[tony@atomide.com: updated to fix compile when CONFIG_OMAP_MUX is not set]
Signed-off-by: Tony Lindgren <tony@atomide.com>
cc4915d8a0bbe6825eb9fc2c687a0151441af7db 23-Feb-2012 Tony Lindgren <tony@atomide.com> ARM: OMAP2+: Fix board_mux section type conflict when OMAP_MUX is not set

Otherwise we can get:

arch/arm/mach-omap2/mux.h:249:31: error: board_mux causes a section type conflict

Signed-off-by: Tony Lindgren <tony@atomide.com>
21a42c92750446008dc0847a78aba5459e3b6b5a 04-May-2011 Colin Cross <ccross@android.com> ARM: omap4: Pass core and wakeup mux tables to omap4_mux_init

OMAP4 contains two separate instances of the padconf registers,
one in the core system config and one in the wakeup system config.
Pass in two tables to apply the correct values to each instance.

Signed-off-by: Colin Cross <ccross@android.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
8aee6039465c9887af6a4babfa5b52f8bc96b43d 11-Mar-2011 Tony Lindgren <tony@atomide.com> omap2+: mux: Add macro for configuring static with omap_hwmod_mux_init

Add macro for defining static pins in the board file.

We can now start implementing pin multiplexing in the platform init
code for devices that call omap_hwmod_mux_init. Currently that is
only implemented for serial.c.

Signed-off-by: Tony Lindgren <tony@atomide.com>
86c79bf45f380c6efd907e95f993146b2b975232 11-Mar-2011 R Sricharan <r.sricharan@ti.com> omap2+: mux: Remove the use of IDLE flag

Currently OMAP_DEVICE_PAD_IDLE flag is used to mux pins
dynamically. This can be simplified by using the enabled
state variable of each pad. This also fixes the issue of
the static pads not getting muxed after idling and
disable/enable state transitions.

Signed-off-by: sricharan <r.sricharan@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
029268e4c124a38b11ae965849ea2dfef724a568 11-Mar-2011 Tony Lindgren <tony@atomide.com> omap2+: Add separate list for dynamic pads to mux

This avoids going through the list unnecessarily when
idling devices for runtime PM.

Based on an earlier patch by sricharan <r.sricharan@ti.com>.

Signed-off-by: sricharan <r.sricharan@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
40e44399301b6dbd997408a184140b79b77f632d 23-Dec-2010 Tony Lindgren <tony@atomide.com> omap2+: Add struct omap_board_data and use it for platform level serial init

This is needed to pass board specific data such as pads used to the
platform level driver init code.

Signed-off-by: Tony Lindgren <tony@atomide.com>
8d9af88f55be89fa4c897ded3204ef12c947731e 23-Dec-2010 Tony Lindgren <tony@atomide.com> omap2+: Allow hwmod state changes to mux pads based on the state changes

Allow hwmod state changes to mux pads based on the state changes.

By default, only enable and disable the pads. In some rare cases
dynamic remuxing for the idles states is needed, this can be done
by passing the enable, idle, and off pads from board-*.c file along
with OMAP_DEVICE_PAD_REMUX flag.

Thanks to Paul Walmsley <paul@booyaka.com> for the comments on the
hwmod related changes.

Signed-off-by: Tony Lindgren <tony@atomide.com>
9796b323b5a1940f9ec62c3a6cf7e442bf540d53 23-Dec-2010 Tony Lindgren <tony@atomide.com> omap2+: Add support for hwmod specific muxing of devices

This allows adding hwmod specific pads dynamically during the
platform device init.

Note that we don't currently have the hwmod specific signals
listed in the hwmod data, but struct omap_hwmod_mux_info will
make that possible if necessary.

Signed-off-by: Tony Lindgren <tony@atomide.com>
7203f8a48bb63015ebe58a6f2a38aec1cb208b9d 02-Dec-2010 Aaro Koskinen <Aaro.Koskinen@nokia.com> arm: mach-omap2: remove NULL board_mux from board files

If CONFIG_OMAP_MUX is not enabled, we can define board_mux in the header
file instead of forcing every single board to define it.

Signed-off-by: Aaro Koskinen <aaro.koskinen@nokia.com>
[tony@atomide.com: updated for combined board-zoom files]
Signed-off-by: Tony Lindgren <tony@atomide.com>
a7722d8796c3431163943c30af7a90d87c43180a 24-Sep-2010 Benoit Cousson <b-cousson@ti.com> OMAP4: mux: Add CBS package data for OMAP4430 ES2

Please note that the full muxmodes are re-defined for ES2 instead
of using the subset. There are 81 differences among 204 pins.
The subset fixup will have to iterate over the whole list for each
subset entry, which can lead to an important number of iteration.
On the other hand, it will take much more memory at boot time.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Anand Gadiyar <gadiyar@ti.com>
a041a52c4d2b82e25de2267bce5f4dc3d2179b2a 10-Aug-2010 Benoit Cousson <b-cousson@ti.com> OMAP4: mux: Add CBL package data for OMAP4430 ES1

Add data for OMAP4430 generated from HW pinout & register database.
The data set is split in two partitions for both core and wkup.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
112485e9c543b17fc08daea56c7a558b415d06af 16-Aug-2010 Benoit Cousson <b-cousson@ti.com> OMAP: mux: Add support for control module split in several partitions

Starting on OMAP4, the pin mux configuration is located in two
different partitions of the control module (CODE_PAD and WKUP_PAD).
The first one is inside the core power domain whereas the second
one is inside the wakeup.
- Add the capability to add any number of partition during board init
time depending of Soc partitioning.
- Add some init flags as well in order to avoid explicit Soc version
check inside the mux core code.
- Add a comment with mux0 mode on top of omap_mux/board/<partition>
if the current mux mode is not the default one.

Thanks to Tony Lindgren <tony@atomide.com> for the following improvements:
- Add omap_mux_get for getting the partition data so platform level
device code can use it.
- Fix the rx51 board code to use the new API.
- Do not store the partition for each mux entry. Look up the partition
for debugfs instead.

Thanks to Dan Murphy <dmurphy@ti.com> for testing on OMAP4 and reporting
a couple of bugs.
Thanks to Anand Gadiyar <gadiyar@ti.com> for testing on OMAP3 zoom and
bug report.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tested-by: Murphy Dan <dmurphy@ti.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: Anand Gadiyar <gadiyar@ti.com>
5a3b2f7a5a79082dd3a5f2294cbd85fc3b173d98 02-Oct-2010 Tony Lindgren <tony@atomide.com> omap: Fix omap_mux_init_signal not to trash muxname

Otherwise the muxname passed to the function will get truncated.

Based on an earlier patch by rockefeller.lin@innocomm.com.

Reported-by: rockefeller.lin@innocomm.com
Signed-off-by: Tony Lindgren <tony@atomide.com>
89ba1092296bc455bfd59db608ae1954861f5911 05-Jul-2010 Tony Lindgren <tony@atomide.com> omap: mux: Add data for 2430

Add data for 2430. Big thanks to Paul Walmsley <paul@pwsan.com>
for generating usable mux data out of TRMs.

Cc: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
fc44046167f08f3887e9685efc95f817a5ff45a1 05-Jul-2010 Tony Lindgren <tony@atomide.com> omap: mux: Add data for 2420

Add data for 2420. Big thanks to Paul Walmsley <paul@pwsan.com>
for generating usable mux data out of TRMs.

Cc: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
ac3dbeefb8e9108874ab12ba103603893985f4ec 05-Jul-2010 Tony Lindgren <tony@atomide.com> omap: mux: Allow compiling in new mux code on all mach-omap2 systems

Allow compiling in new mux code on all mach-omap2 systems

Signed-off-by: Tony Lindgren <tony@atomide.com>
6dd8a6824af530449112a38c0fa0f95c1a086fc5 05-Jul-2010 Tony Lindgren <tony@atomide.com> omap: mux: Renumber package defines to make room for older 24xx packages

Only POP and SIP are known to exist for 2420, 2430 seems to only have
SIP package available.

Signed-off-by: Tony Lindgren <tony@atomide.com>
a8eb7ca0cbb41c9cd379b8d2a2a5efb503aa65e9 12-Feb-2010 Tony Lindgren <tony@atomide.com> omap3: Replace ARCH_OMAP34XX with ARCH_OMAP3

Replace ARCH_OMAP34XX with ARCH_OMAP3

Signed-off-by: Tony Lindgren <tony@atomide.com>
d4bb72e50a0c4b6790dec127a38fd06d06e561cc 20-Jan-2010 Tony Lindgren <tony@atomide.com> omap: Fix functions for dynamic remuxing of pins

Make the omap_mux_read and write available for board code,
and rename omap_mux_set_board_signals into omap_mux_write_array.
Also add the related prototypes and comments into mux.h.

In some cases we want to change the signals dynamically,
mostly for power management.

Note that we cannot use the signal names as they are set
__init to save memory.

Signed-off-by: Tony Lindgren <tony@atomide.com>
662c8b55d26abeabc0b125f922dfa66338a046ae 12-Dec-2009 Tony Lindgren <tony@atomide.com> omap: mux: Add 36xx CBP package support

Add 36xx CBP package support

Cc: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
ddaa912a2164d7ce7a03fcb384ed37e712bb4549 12-Dec-2009 Tony Lindgren <tony@atomide.com> omap: mux: Add new style pin multiplexing data for 34xx

Add new style mux data for 34xx. This should also
work with 3630 easily by adding the processor subset
and ball data.

Note that this data is __initdata, and gets optimized
out except for the GPIO pins if CONFIG_OMAP_MUX
is not set.

Also note that this data uses omap3630 naming for
the SDMMC registers instead of 34xx naming with just
MMC.

Cc: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
15ac7afe515631ec36966b1cf632a87276536f57 12-Dec-2009 Tony Lindgren <tony@atomide.com> omap: mux: Add new style pin multiplexing code for omap3

Initially only for 34xx. This code allows us to:

- Make the code more generic as the omap internal signal
names can stay the same across omap generations for some
devices

- Map mux registers to GPIO registers that is needed for
dynamic muxing of pins during off-idle

- Override bootloader mux values via kernel cmdline using
omap_mux=some.signa1=0x1234,some.signal2=0x1234

- View and set the mux registers via debugfs if
CONFIG_DEBUG_FS is enabled

Cc: Mike Rapoport <mike@compulab.co.il>
Cc: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>