History log of /arch/arm/mach-davinci/board-dm644x-evm.c
Revision Date Author Comments
4bbef1da789cbd89f57734975e6a211a42b382f5 13-Mar-2014 Arnd Bergmann <arnd@arndb.de> ARM: davinci: make dm644x-evm phy fixup conditional

We cannot call phy_register_fixup_for_uid() if CONFIG_PHYLIB
is not built into the kernel, and we should not enforce that
to be built into vmlinux either, because one might want to
disable the entire network stack.

This change uses a compile-time condition on CONFIG_PHYLIB
to remove the call in the cases where it cannot work.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Sekhar Nori <nsekhar@ti.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Cc: davinci-linux-open-source@linux.davincidsp.com
67f5185cad24b3c3d9ab07508dfcab55cdab02de 30-Jan-2014 Ivan Khoronzhuk <ivan.khoronzhuk@ti.com> ARM: davinci: aemif: get rid of davinci-nand driver dependency on aemif

The problem that the set timings code contains the call of Davinci
platform function davinci_aemif_setup_timing() which is not
accessible if kernel is built for another platform like Keystone.

The Keysone platform is going to use TI AEMIF driver.
If TI AEMIF is used we don't need to set timings and bus width.
It is done by AEMIF driver.

To get rid of davinci-nand driver dependency on aemif platform code
we moved aemif code to davinci platform.

The platform AEMIF code (aemif.c) has to be removed once Davinci
will be converted to DT and use ti-aemif.c driver.

Acked-by: Brian Norris <computersforpeace@gmail.com>
Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@ti.com>
[nsekhar@ti.com: fixed checkpatch error and a build breakage due to
missing include, rebased onto l2-mtd/master]
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
25f73ed5c67d17ecf8cefd560f55211cce726086 27-Sep-2013 Vivien Didelot <vivien.didelot@savoirfairelinux.com> misc: (at24) move header to linux/platform_data/

This patch moves the at24.h header from include/linux/i2c to
include/linux/platform_data and updates existing support accordingly.

It also fixes the following checkpatch warning:

WARNING: please, no space before tabs
#436: FILE: include/linux/platform_data/at24.h:31:
+ * ^Iu8 *mac_addr = ethernet_pdata->mac_addr;$

Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
834acb2af6e8255a026c754fac3d1bc3f32b0c1a 18-Aug-2013 Philip Avinash <avinashphilip@ti.com> ARM: davinci: board: gpio device creation

Create GPIO device for existing DaVinci boards.

While at it, group related header files together.

Signed-off-by: Philip Avinash <avinashphilip@ti.com>
Signed-off-by: Lad, Prabhakar <prabhakar.csengg@gmail.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
[nsekhar@ti.com: remove soc bits from this patch and
simplify commit message]
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
fcf7157ba3b50e57653544421250ebbe81a33d81 19-Jun-2013 Manjunathappa, Prakash <prakash.pm@ti.com> ARM: davinci: serial: get rid of davinci_uart_config

"struct davinci_uart_config" was introduced to specify
UART ports brought out or enabled on the board. But
none of the boards use it for that purpose and we are
not going to add anymore board files, so remove the
structure.

Signed-off-by: Manjunathappa, Prakash <prakash.pm@ti.com>
Suggested-by: Sekhar Nori <nsekhar@ti.com>
[nsekhar@ti.com: split patch to remove davinci_serial_setup_clk()
changes.]
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
acd36357edc08649e85ff15dc4ed62353c912eff 16-Aug-2013 Sekhar Nori <nsekhar@ti.com> ARM: davinci: nand: specify ecc strength

Starting with kernel v3.5, it is mandatory
to specify ECC strength when using hardware
ECC. Without this, kernel panics with a warning
of the sort:

Driver must set ecc.strength when using hardware ECC
------------[ cut here ]------------
kernel BUG at drivers/mtd/nand/nand_base.c:3519!

Fix this by specifying ECC strength for the boards
which were missing this.

Reported-by: Holger Freyther <holger@freyther.de>
Cc: <stable@vger.kernel.org> #v3.5+
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Signed-off-by: Kevin Hilman <khilman@linaro.org>
89cdbba84157a41404ee2de30142d839596eece9 12-Apr-2013 Lad, Prabhakar <prabhakar.csengg@gmail.com> [media] ARM: daVinci: dm644x/dm355/dm365: replace V4L2_STD_525_60/625_50 with V4L2_STD_NTSC/PAL

This patch replaces V4L2_STD_525_60/625_50 with V4L2_STD_NTSC/PAL
respectively as this are the proper video standards.

Signed-off-by: Lad, Prabhakar <prabhakar.csengg@gmail.com>
Reported-by: Hans Verkuil <hans.verkuil@cisco.com>
Acked-by: Sekhar Nori <nsekhar@ti.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
d7ca4c755a82eda8f0fc4f72c52130056b28c7d2 28-Mar-2013 Manjunathappa, Prakash <prakash.pm@ti.com> ARM: davinci: mmc: derive version information from device name

Remove specifying mmc controller IP version information via platform
data, instead specify device name so that driver derives it from
platform_device_id table. Also change the clock node name to match
the changed dev_id.
Tested on da850-evm to make sure driver loads without clk_get failures.

Signed-off-by: Manjunathappa, Prakash <prakash.pm@ti.com>
Reviewed-by: Sekhar Nori <nsekhar@ti.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Chris Ball <cjb@laptop.org>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
a0a56db9771f57667daff41cfa2546dad1abe6d9 31-Mar-2013 Lad, Prabhakar <prabhakar.csengg@gmail.com> ARM: davinci: use is IS_ENABLED macro

This patches replaces #if defined() by IS_ENABLED macro, which provides
better readability.

Signed-off-by: Lad, Prabhakar <prabhakar.csengg@gmail.com>
Cc: Sekhar Nori <nsekhar@ti.com>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>
Cc: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
ef2d41b19b8100ce63eabba9ee87953aa685921a 15-Feb-2013 Hans Verkuil <hans.verkuil@cisco.com> [media] davinci: remove VPBE_ENC_DV_PRESET and rename VPBE_ENC_CUSTOM_TIMINGS

Remove VPBE_ENC_DV_PRESET (the DV_PRESET API is no longer supported) and
VPBE_ENC_CUSTOM_TIMINGS is renamed to VPBE_ENC_DV_TIMINGS since the old
"CUSTOM_TIMINGS" name is deprecated in favor of "DV_TIMINGS".

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Acked-by: Lad, Prabhakar <prabhakar.lad@ti.com>
Acked-by: Sekhar Nori <nsekhar@ti.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
6bb27d7349db51b50c40534710fe164ca0d58902 08-Nov-2012 Stephen Warren <swarren@nvidia.com> ARM: delete struct sys_timer

Now that the only field in struct sys_timer is .init, delete the struct,
and replace the machine descriptor .timer field with the initialization
function itself.

This will enable moving timer drivers into drivers/clocksource without
having to place a public prototype of each struct sys_timer object into
include/linux; the intent is to create a single of_clocksource_init()
function that determines which timer driver to initialize by scanning
the device dtree, much like the proposed irqchip_init() at:
http://www.spinics.net/lists/arm-kernel/msg203686.html

Includes mach-omap2 fixes from Igor Grinberg.

Tested-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
caff80c35f923806b7e5ef312dce41663b5e99b9 20-Nov-2012 Lad, Prabhakar <prabhakar.lad@ti.com> [media] davinci: vpbe: pass different platform names to handle different ip's

The vpbe driver can handle different platforms DM644X, DM36X and
DM355. To differentiate between this platforms venc_type/vpbe_type
was passed as part of platform data which was incorrect. The correct
way to differentiate to handle this case is by passing different
platform names.
This patch creates platform_device_id[] array supporting different
platforms and assigns id_table to the platform driver, and finally
in the probe gets the actual device by using platform_get_device_id()
and gets the appropriate driver data for that platform.
Taking this approach will also make the DT transition easier.

Signed-off-by: Lad, Prabhakar <prabhakar.lad@ti.com>
Signed-off-by: Manjunath Hadli <manjunath.hadli@ti.com>
Acked-by: Sekhar Nori <nsekhar@ti.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
9ad90238bf4faa488680cf6dddf0d2b137960cc8 10-Sep-2012 Wei Yongjun <yongjun_wei@trendmicro.com.cn> ARM: davinci: dm644x evm: move pointer dereference below NULL check

Pointer dereference should be moved below the NULL test.

spatch with a semantic match is used to found this.
(http://coccinelle.lip6.fr/)

Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
b6f1ffed9d8a830ab94fd3fc6182e2fc8c77cba0 02-Aug-2012 m-karicheri2@ti.com <m-karicheri2@ti.com> ARM: davinci: convert platform code to use clk_prepare/clk_unprepare

As a first step towards migrating davinci platforms to use common clock
framework, replace all instances of clk_enable() with clk_prepare_enable()
and clk_disable() with clk_disable_unprepare(). Until the platform is
switched to use the CONFIG_HAVE_CLK_PREPARE Kconfig variable, this just
adds a might_sleep() call and would work without any issues.

This will make it easy later to switch to common clk based implementation
of clk driver from DaVinci specific driver.

Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
Reviewed-by: Mike Turquette <mturquette@linaro.org>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
e32087bcc4daa29fd30cf7742ef9b522625a1690 03-Oct-2012 Lad, Prabhakar <prabhakar.lad@ti.com> [media] davinci: vpbe: replace V4L2_OUT_CAP_CUSTOM_TIMINGS with V4L2_OUT_CAP_DV_TIMINGS

This patch replaces V4L2_OUT_CAP_CUSTOM_TIMINGS macro with
V4L2_OUT_CAP_DV_TIMINGS. As V4L2_OUT_CAP_CUSTOM_TIMINGS is being phased
out.

Signed-off-by: Lad, Prabhakar <prabhakar.lad@ti.com>
Signed-off-by: Manjunath Hadli <manjunath.hadli@ti.com>
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
Acked-by: Sekhar Nori <nsekhar@ti.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
368640827c0be2582d836cd74ae2cff03e6bfc02 01-Oct-2012 Hans Verkuil <hans.verkuil@cisco.com> [media] dm644x: replace the obsolete preset API by the timings API

This patch replaces the preset API by the timings API, and
appropriate changes in board file.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Lad, Prabhakar <prabhakar.lad@ti.com>
Signed-off-by: Manjunath Hadli <manjunath.hadli@ti.com>
Acked-by: Sekhar Nori <nsekhar@ti.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
ec2a0833e5157fab6cac5f57a49b2f31eb418a39 24-Aug-2012 Arnd Bergmann <arnd@arndb.de> ARM: davinci: move platform_data definitions

Platform data for device drivers should be defined in
include/linux/platform_data/*.h, not in the architecture
and platform specific directories.

This moves such data out of the davinci include directories

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Acked-by: Nicolas Pitre <nico@linaro.org>
Acked-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Acked-by: Felipe Balbi <balbi@ti.com>
Cc: Sekhar Nori <nsekhar@ti.com>
Cc: Kevin Hilman <khilman@ti.com>
Cc: "Ben Dooks" <ben-linux@fluff.org>
Cc: "Wolfram Sang" <w.sang@pengutronix.de>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Chris Ball <cjb@laptop.org>
Cc: David Woodhouse <dwmw2@infradead.org>
Cc: Grant Likely <grant.likely@secretlab.ca>
Cc: Alan Stern <stern@rowland.harvard.edu>
Cc: Liam Girdwood <lrg@ti.com>
Cc: davinci-linux-open-source@linux.davincidsp.com
3aa3e8407ae9023c5ff59bf5c81fc2553c31eb70 26-Apr-2012 Shawn Guo <shawn.guo@linaro.org> ARM: davinci: use machine specific hook for late init

Cc: Kevin Hilman <khilman@ti.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Acked-by: Sekhar Nori <nsekhar@ti.com>
d5be5f549c9d619fe3e16160c453a72f718284de 23-Feb-2012 Manjunath Hadli <manjunath.hadli@ti.com> ARM: davinci: dm644x evm: add support for VPBE display

This patch adds support for V4L2 video display to DM6446 EVM.

Support for SD and ED modes is provided, along with composite
and component outputs.

Signed-off-by: Manjunath Hadli <manjunath.hadli@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
af946f269973cda86d7263ac9f2dad659773545c 23-Feb-2012 Manjunath Hadli <manjunath.hadli@ti.com> ARM: davinci: dm644x: add support for v4l2 video display

Add functions to register various video devices like venc, osd,
vpbe and the v4l2 display driver for dm644x.

Change dm644x_init_video() to make room for display related
configuration. Register the vpfe or vpbe devices only if valid
display configuration is provided to make sure boards without
video support dont erroneously register video devices.

Signed-off-by: Manjunath Hadli <manjunath.hadli@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
12db9588ff811ae43a476b1234b27323055ab3ad 21-Dec-2011 Manjunath Hadli <manjunath.hadli@ti.com> ARM: davinci: dm644x: don't force vpfe registeration on all boards

Move all vpfe platform device registrations to the board specific
file.

This removes registration of vpfe platform devices on boards which
do not use vpfe.

Signed-off-by: Manjunath Hadli <manjunath.hadli@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
314d7389608831202f5b445d9154e30161935630 21-Dec-2011 Manjunath Hadli <manjunath.hadli@ti.com> ARM: davinci: dm644x: fix inconsistent variable naming

Add dm644x_ prefix to names of v4l2 variables in dm644x.c
Add dm644xevm_ prefix to names of v4l2 variables in board-dm644x-evm.c.

This makes the code consistent with rest of these files.

Signed-off-by: Manjunath Hadli <manjunath.hadli@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
39c6d2d1d743b8c925abae7043acc35e6cdc0051 21-Dec-2011 Manjunath Hadli <manjunath.hadli@ti.com> ARM: davinci: create new common platform header for davinci

Remove individual platform header files for dm365, dm355, dm644x
and dm646x and consolidate it into a single and common
header file davinci.h placed in arch/arm/mach-davinci.

This reduces the pollution in the include/mach and is consistent
with Russell's suggestions as part of his "pet peaves" mail.
(See #4 in: http://lists.infradead.org/pipermail/linux-arm-kernel/2011-November/071516.html)

While at it, fix the forward declaration of spi_board_info,
and include the right header file instead.

The further patches in the series take advantage of this consolidation
for easy implementation of IO_ADDRESS elimination.

Signed-off-by: Manjunath Hadli <manjunath.hadli@ti.com>
[nsekhar@ti.com: make davinci.h the first local include file,
fix forward declaration of spi_board_info and add back Deep Root
Systems, LLC copyright]
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
f6f97588a42373a0181215a5f70958756f2492c2 20-Jan-2012 Sekhar Nori <nsekhar@ti.com> ARM: davinci: update mdio bus name

Commit 5a05a8200a4359ef2bfe9094c137dee35cfdd516 ("davinci_emac:
use an unique MDIO bus name") introduced during the v3.3 merge
window updated the davinci mdio bus name to make it unique.

Update the bus name in board files which use DaVinci MDIO bus
to match the new name. Without this PHY is not detected with
error like:

PHY 0:01 not found
net eth0: could not connect to phy 0:01

Tested on DM365 and DA850 EVMs.

Cc: Florian Fainelli <florian@openwrt.org>
Cc: David S. Miller <davem@davemloft.net>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
c6121ddd1f75278ab77504af2914d07831558672 05-Dec-2011 Sekhar Nori <nsekhar@ti.com> ARM: 7190/1: restart: davinci: use new restart hook

Rather than using DaVinci specific davinci_soc_info based
restart hook, use the restart hook available in the machine
descriptor instead.

Tested on DM365 and AM18x EVMs.

v2:
Changed to use restart hook in machine descriptor
per Russell's comment.

Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
dc28094b905a872f8884f1f1c48ca86b3b78583a 31-Jul-2011 Paul Gortmaker <paul.gortmaker@windriver.com> arm: Add export.h to ARM specific files as required.

These files all make use of one of the EXPORT_SYMBOL variants
or the THIS_MODULE macro. So they will need <linux/export.h>

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
bb9ebd4e714385a2592a482845865ef2d58b2868 01-Jun-2011 Brian Norris <computersforpeace@gmail.com> mtd: nand: rename NAND_USE_FLASH_BBT

Recall the recently added prefix requirements:
* "NAND_" for flags in nand.h, used in nand_chip.options
* "NAND_BBT_" for flags in bbm.h, used in nand_chip.bbt_options
or in nand_bbt_descr.options

Thus, I am changing NAND_USE_FLASH_BBT to NAND_BBT_USE_FLASH.

Again, this flag is found in bbm.h and so should NOT be used in the
"nand_chip.options" field.

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
a40f73419f02e40555f692785ea1c1813d5b4c12 01-Jun-2011 Brian Norris <computersforpeace@gmail.com> mtd: nand: consolidate redundant flash-based BBT flags

This patch works with the following three flags from two headers (nand.h
and bbm.h):
(1) NAND_USE_FLASH_BBT (nand.h)
(2) NAND_USE_FLASH_BBT_NO_OOB (nand.h)
(3) NAND_BBT_NO_OOB (bbm.h)

These flags are all related and interdependent, yet they were in
different headers. Flag (2) is simply the combination of (1) and (3) and
can be eliminated.

This patch accomplishes the following:
* eliminate NAND_USE_FLASH_BBT_NO_OOB (i.e., flag (2))
* move NAND_USE_FLASH_BBT (i.e., flag (1)) to bbm.h

It's important to note that because (1) and (3) are now both found in
bbm.h, they should NOT be used in the "nand_chip.options" field.

I removed a small section from the mtdnand DocBook because it referes to
NAND_USE_FLASH_BBT in nand.h, which has been moved to bbm.h.

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
e7e5601458a49fdcb1b49b4696e7530c25f86f25 06-Jul-2011 Nicolas Pitre <nicolas.pitre@linaro.org> ARM: mach-davinci: convert boot_params to atag_offset

Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
f68deabf3dc6c13fb80ec28575d0153c59f7ecce 06-Jul-2011 Nicolas Pitre <nicolas.pitre@linaro.org> ARM: mach-davinci: move from ARM_DMA_ZONE_SIZE to mdesc->dma_zone_size

Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
60d97a840175d3becb2e6de36537a5cdfc0ec3a9 13-Mar-2011 Sergei Shtylyov <sshtylyov@ru.mvista.com> davinci: DM644x EVM: register MUSB device earlier

The MUSB driver doesn't see its platform device on DM644x EVM board anymore
since commit 73b089b052a69020b953312a624a6e1eb5b81fab (usb: musb: split davinci
to its own platform_driver) because the new probe is called as subsys_initcall()
now, and the device is registered later than that by the board code. Move the
registration to davinci_evm_init() -- it's safe to do so because the MUSB core
device still gets initialized as fs_initcall() -- which is late enough for the
I2C GPIO expander (which controls VBUS) to be initialized.

Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Acked-by: Felipe Balbi <balbi@ti.com>
Tested-by: Sekhar Nori <nsekhar@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
6451d7783ba5ff24eb1a544eaa6665b890f30466 15-Oct-2010 Nicolas Pitre <nicolas.pitre@linaro.org> arm: remove machine_desc.io_pg_offst and .phys_io

Since we're now using addruart to establish the debug mapping, we can
remove the io_pg_offst and phys_io members of struct machine_desc.

The various declarations were removed using the following script:

grep -rl MACHINE_START arch/arm | xargs \
sed -i '/MACHINE_START/,/MACHINE_END/ { /\.\(phys_io\|io_pg_offst\)/d }'

[ Initial patch was from Jeremy Kerr, example script from Russell King ]

Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
Acked-by: Eric Miao <eric.miao at canonical.com>
782f2d782771484bb951be1c394ca2128ed7774e 15-Sep-2010 Cyril Chemparathy <cyril@ti.com> davinci: cleanup mdio arch code and switch to phy_id

This patch removes davinci architecture code that has now been rendered
useless by the previous patches in the MDIO separation series.

In addition, the earlier phy_mask definitions have been replaced with
corresponding phy_id definitions.

Signed-off-by: Cyril Chemparathy <cyril@ti.com>
Tested-by: Michael Williamson <michael.williamson@criticallink.com>
Tested-by: Caglar Akyuz <caglarakyuz@gmail.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
fe69c82d0862f54b1a5aa5ece046468b4e76b40c 09-Aug-2010 Sekhar Nori <nsekhar@ti.com> davinci: dm644x evm: setup NAND flash timing

The DM644x EVM nand flash timing was earlier being
done as a special case in the NAND driver itself.

With the NAND driver now capable of progamming the
AEMIF interface using timing data passed from the
platform, the timing values are being moved into
their rightful place in the EVM specific board file.

The values being programmed match what was being done
earlier and thus do not represent any change in
performance/functionality.

Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Acked-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
bd808947040ba53b2b0e52dde598a9414fb27bba 07-May-2010 Cyril Chemparathy <cyril@ti.com> Davinci: aintc/cpintc - use ioremap()

This patch implements the following:

- interrupt initialization uses ioremap() instead of passing a virtual address
via davinci_soc_info.

- machine definitions directly point to cp_intc_init() or davinci_irq_init()

- davinci_intc_type and davinci_intc_base now get initialized in controller
specific init functions instead of davinci_common_init()

- minor fix in davinci_irq_init() to use intc_irq_num instead of
DAVINCI_N_AINTC_IRQ

Signed-off-by: Cyril Chemparathy <cyril@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
7a9978a1e2225507025a8b90b4289d506a416bd9 21-Apr-2010 Sergei Shtylyov <sshtylyov@ru.mvista.com> DaVinci: move IDE platform device to its proper place

The IDE platform device is registered in three different places (2 board files
for DM644x and in dm646x.c for DM646x) while both the IDE base address and the
IDE IRQ are the same for both SoCs -- therefore, the proper place for the IDE
platform seems to be in devices.c. Merge the IDE platform data and registration
code and create davinci_init_ide() in place of dm646x_init_ide()...

Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
7034217467abe91b5bc63fc2993bb8eec1cf3c9f 16-Apr-2010 Sergei Shtylyov <sshtylyov@ru.mvista.com> DaVinci: move AEMIF #define's to the proper headers

Currently each DaVinci board file #define's its own version of the EMIFA base
addresses (all named DAVINCI_ASYNC_EMIF_*_BASE), which leads to duplication.
Move these #define's to the SoC specific headers, changing their prefixes from
'DAVINCI' to the 'DM355', 'DM644X', and 'DM646X' since all these base addresses
are SoC specific...

And while at it, rename DM646X_ASYNC_EMIF_DATA_CE0_BASE to
DM646X_ASYNC_EMIF_CS2_SPACE_BASE in order to match the DM646x datasheet.

Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
28552c2eae472a0a52d1cdb02eb32766c7f690e1 26-Feb-2010 Kevin Hilman <khilman@deeprootsystems.com> davinci: misc cleanups from sparse

- Convert data/functions to static
- include headers for missing declarations
- pointer cleanups: struct foo *__iomem f --> struct foo __iomem *f;

Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
00642f6616a0d1893ab1dcfec4d833210f310e95 11-Jan-2010 Philby John <pjohn@in.mvista.com> Add SDA and SCL pin numbers to i2c platform data

Patch adds SDA and SCL pin numbers to the i2c platform data
structure for Davinci DM355 and DM6446. This at present is
used for i2c bus recovery.
TODO: Add SDA and SCL pin number information to include all
Davinci platforms such as dm355-leopard, dm365, dm646x, da8xx etc.

Signed-off-by: Philby John <pjohn@in.mvista.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
077639f443294a25b16e4040ca06a1611700a4ae 13-Oct-2009 Vaibhav Hiremath <hvaibhav@ti.com> Davinci VPFE Capture: Take i2c adapter id through platform data

The I2C adapter ID is actually depends on Board and may vary, Davinci
uses id=1, but in case of AM3517 id=3.

So modified respective davinci board files.

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
355fb4e3ea590976819c03070bf2c9491aede258 30-Oct-2009 Sergei Shtylyov <sshtylyov@ru.mvista.com> DaVinci: rename setup_usb() to davinci_setup_usb()

Rename setup_usb() into davinci_setup_usb(). While at it:

- move its declaration from <mach/common.h> to more fitting <mach/usb.h>;
- teach it to handle values of the 'mA' parameter greater than 510 and thus
pass 1000 instead of 500 for the power switches capable of sourcing over 1 A;
- teach it to handle odd values of the 'potpgt_ms' parameter...

Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
42d399e4189346b495fec8a9a267e8b7f744ee48 02-Oct-2009 Sergei Shtylyov <sshtylyov@ru.mvista.com> DaVinci: remove unneeded #include's

There have accumulated quite a lot of them after the code reorganizations...

In several cases I had to replace #include <linux/dma-mapping.h> which wasn't
needed directly but happened to #include <linux/err.h> which was needed.

Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
ab8e8df87421574fe053bf1770353af5b24a2bbb 16-Sep-2009 Muralidharan Karicheri <m-karicheri2@ti.com> davinci: DM644x platform changes for vpfe capture

DM644x platform and board setup

This adds platform and board setup changes required to support
vpfe capture driver on DM644x

Tested video capture on DM6446 with tvp514x driver

Reviewed-by: Hans Verkuil <hverkuil@xs4all.nl>
Reviewed-by: Laurent Pinchart <laurent.pinchart@skynet.be>
Reviewed-by: David Brownell <david-b@pacbell.net>
Signed-off-by: Muralidharan Karicheri <m-karicheri2@ti.com>
Signed-off-by: Denys Dmytriyenko <denis@denix.org>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
1a7ff8ff6eebfa732ca2abe00a0878136bfb2d01 25-Aug-2009 Chaithrika U S <chaithrika@ti.com> davinci: audio: move tlv320aic33 i2c setup into board files

Tested on DM6446, DM355, DM6447, DA850 EVMs.

Signed-off-by: Chaithrika U S <chaithrika@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
61aa07328d8e70d95a1e2325288df52a1e92a694 15-Jul-2009 Kevin Hilman <khilman@deeprootsystems.com> davinci: audio clocks: use struct device instead of clock names

There is no need to pass clock name strings in platform_data.
Instead, setup clkdev nodes to have correct ASoC device names.

Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
25acf553aeed86f93f2cf39227b59fc6eb3e8c78 05-Jun-2009 Chaithrika U S <chaithrika@ti.com> davinci: ASoC: Add the platform devices for ASP

1) Registers the platform devices for ASP on dm355, dm644x and dm646x
so that the machine driver can probe to get ASP related platform
data.
2) Move towards definition of the asp clocks using physical name(for
dm355 and dm644x)
3) Add platform data to board specific files.

Signed-off-by: Naresh Medisetty <naresh@ti.com>
Signed-off-by: Chaithrika U S <chaithrika@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
6608168486973a33d24d27b25fc94d4743c1a1e5 08-Jul-2009 Jaswinder Singh Rajput <jaswinder@kernel.org> ARM: includecheck fix: board-dm644x-evm.c

fix the following 'make includecheck' warning:

arch/arm/mach-davinci/board-dm644x-evm.c: mach/common.h is included more than once.

Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
Acked-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
b14dc0f9942a9c318c6c49f29511d88b3642e2d0 15-Apr-2009 Mark A. Greer <mgreer@mvista.com> davinci: Factor out emac mac address handling

Factor out the code to extract that mac address from
i2c eeprom.

Signed-off-by: Mark A. Greer <mgreer@mvista.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
972412b648dcf0c4303dca7e515d5c24ce3cd1d5 15-Apr-2009 Mark A. Greer <mgreer@mvista.com> davinci: Move emac platform_data to SoC-specific files

Since most of the emac platform_data is really SoC specific
and not board specific, move it to the SoC-specific files.
Put a pointer to the platform_data in the soc_info structure
so the board-specific code can set some of the platform_data
if it needs to.

Signed-off-by: Mark A. Greer <mgreer@mvista.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
79c3c0b729647a6246c120408f36e6804dab244e 15-Apr-2009 Mark A. Greer <mgreer@mvista.com> davinci: Encapsulate SoC-specific data in a structure

Create a structure to encapsulate SoC-specific information.
This will assist in generalizing code so it can be used by
different SoCs that have similar hardware but with minor
differences such as having a different base address.

The idea is that the code for each SoC fills out a structure
with the correct information. The board-specific code then
calls the SoC init routine which in turn will call a common
init routine that makes a copy of the structure, maps in I/O
regions, etc.

After initialization, code can get a pointer to the structure
by calling davinci_get_soc_info(). Eventually, the common
init routine will make a copy of all of the data pointed to
by the structure so the original data can be made __init_data.
That way the data for SoC's that aren't being used won't consume
memory for the entire life of the kernel.

The structure will be extended in subsequent patches but
initially, it holds the map_desc structure for any I/O
regions the SoC/board wants statically mapped.

Signed-off-by: Mark A. Greer <mgreer@mvista.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
ac7b75b5bbbfd60b752869a22daa3be99b5b4f99 07-May-2009 Kevin Hilman <khilman@deeprootsystems.com> davinci: EMAC platform support

Add SoC and platform-specific data and init for DaVinci EMAC network
driver.

Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2dbf56aeb7986b54651c93ed171877e8179289bc 12-May-2009 Kevin Hilman <khilman@deeprootsystems.com> davinci: MMC platform support

Add SoC and platform-specific data and init for MMC driver.

Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
a029b706d3b2d3a139bdeae84131d9a0f35f6478 07-May-2009 Kevin Hilman <khilman@mvista.com> [ARM] 5506/1: davinci: DMA_32BIT_MASK --> DMA_BIT_MASK(32)

As per commit 284901a90a9e0b812ca3f5f852cbbfb60d10249d, use
DMA_BIT_MASK(n)

Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
3e9c18e1dc71b9a0fac302e2defe99d850ad3d79 15-Apr-2009 David Brownell <dbrownell@users.sourceforge.net> davinci: DM644x: NAND: update partitioning

Update NAND partitioning for the dm6446 evm, unmasking the hidden
data at the beginning and letting the kernel be updated from Linux.

- This is boot-compatible with TI's software (U-Boot 1.20 and both
the 2.6.10 and 2.6.18 kernels), in terms of startup and loading
kernels from flash.

- In the same way, it's also boot-compatible with mainline U-Boot,
which stores U-Boot params in block 0 not block 16.

- It's not quite compatible with systems that previously used NAND
partitions to hold (filesystem) data. The compatibilities are a
bit different based on which kernel was used previously
+ Users of TI/MV kernels no longer see mtd2 "params"
(mainline u-boot env is in a different place)
* Filesystem is now mtd2 ... vs mtd3
+ Users of GIT kernels now see mtd0 and mtd1 partitions
* Filesystem partition starts 640 KBytes earlier
* Filesystem is now mtd2 ... vs mtd0
* Linux now *uses* the flash-resident BBT
* Removes annoying slowdown/hiccup during boot
* Potentially ~64KB less space available with TI/MV kernels

If you *used* NAND partitions from Linux, there is no solution that's
fully compatible with all previous kernels in those respects ... ergo
this "best compromise". It'd be good to back back up the filesystem
data; or, carry your own backwards-compatibility patch for awhile.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
d0e47fba054a55e0066c6ae2c807d98d086af5a9 14-Apr-2009 Kevin Hilman <khilman@deeprootsystems.com> davinci: update DM644x support in preparation for more SoCs

Rework DM644x code into SoC specific and board specific parts.
This is also to generalize the structure a bit so it's easier to add
support for new SoCs in the DaVinci family.

Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
73d3c68f09e608be983013dc8b3e49aebe89298c 14-Apr-2009 Kevin Hilman <khilman@deeprootsystems.com> davinci: DM644x: rename board file

Rename DM6446 EVM board file, no functional changes. Code is updated
and reworked in following patch.

Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>