Commit Graph

16979 Commits

Author SHA1 Message Date
Matt Sealey
f6ecf7665b drag mxc_v4l2_output video overlay code into the modern world (BSP 10.11.01)
drag mxc_ipuv3_fb with it (remove final efikamx specific stuff)
update some IPU stuff and ioctls for it all to interoperate

notes:
	that line_length bug is still there, I really can't find why it's 0...
	doesn't register because the platform_device isn't in a/a/p-mxc/devices.?
2010-12-18 01:09:45 -06:00
Matt Sealey
f63b8eb795 Bring IPU up to latest BSP, including these fixes:
ENGR00133954 ipuv3: remove FB_SYNC_EXT flag
ENGR00133034 ipuv3: fix black flash issue during high resolution video playback
ENGR00134076 ipuv3: should not set burst size again
ENGR00133345 IPUv3 VDI:Support bottom field first setting
ENGR00131660 ipuv3: left stripe output column should be set to zero

This actually fixes the clock sync problem with the AOC HDMI monitor we have (perfectly
working display but "input not support" floating around). Happily, the boot splash
actually works, too (previously it would not work until the second set of the display
when GDM booted). Hopefully IPU support is nice and stable now.
2010-12-14 00:45:28 -06:00
Matt Sealey
6f660227c7 siihdmi: add hdmi hotplug event handler (only registers the event, doesn't do anything yet) 2010-12-13 09:11:52 -06:00
Matt Sealey
9f8576bec1 experimental: more generic sii hdmi driver 2010-12-11 15:46:40 -06:00
Matt Sealey
79dbe9115f fs: unionfs 2.5.7 for linux 2.6.31.14 2010-12-07 07:10:30 -06:00
Matt Sealey
b761b6b198 dev_get_platdata is static 2010-12-06 00:32:03 -06:00
Matt Sealey
b3a91a785b spi_imx: add dev_get_platdata from more recent kernels 2010-12-06 00:09:27 -06:00
David Brownell
0db6265609 spi: handle TX-only/RX-only
Support two new half-duplex SPI implementation restrictions, for links
that talk to TX-only or RX-only devices.  (Existing half-duplex flavors
support both transfer directions, just not at the same time.)

Move spi_async() into the spi.c core, and stop inlining it.  Then make
that function perform error checks and reject messages that demand more
than the underlying controller can support.

Based on a patch from Marek Szyprowski which did this only for the
bitbanged GPIO driver.

Cc: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2010-12-03 05:46:21 -06:00
Feng Tang
8c63257607 spi: enable spi_board_info to be registered after spi_master
Currently spi_register_board_info() has to be called before its related
spi_master be registered, otherwise these board info will be just ignored.

This patch will remove this order limit, it adds a global spi master list
like the existing global board info listr. Whenever a board info or a
spi_master is registered, the spi master list or board info list
will be scanned, and a new spi device will be created if there is a
master-board info match.

Signed-off-by: Feng Tang <feng.tang@intel.com>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
2010-12-03 05:42:53 -06:00
Anton Vorontsov
38962b9aff spi: prefix modalias with "spi:"
This makes it consistent with other buses (platform, i2c, vio, ...).  I'm
not sure why we use the prefixes, but there must be a reason.

This was easy enough to do it, and I did it.

Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
Cc: David Brownell <dbrownell@users.sourceforge.net>
Cc: David Woodhouse <dwmw2@infradead.org>
Cc: Grant Likely <grant.likely@secretlab.ca>
Cc: Jean Delvare <khali@linux-fr.org>
Cc: Ben Dooks <ben-linux@fluff.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Dmitry Torokhov <dtor@mail.ru>
Cc: Samuel Ortiz <sameo@openedhand.com>
Cc: "John W. Linville" <linville@tuxdriver.com>
Acked-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2010-12-03 05:36:50 -06:00
Anton Vorontsov
ee15db82e8 spi: add support for device table matching
With this patch spi drivers can use standard spi_driver.id_table and
MODULE_DEVICE_TABLE() mechanisms to bind against the devices.  Just like
we do with I2C drivers.

This is useful when a single driver supports several variants of devices
but it is not possible to detect them in run-time (like non-JEDEC chips
probing in drivers/mtd/devices/m25p80.c), and when platform_data usage is
overkill.

This patch also makes life a lot easier on OpenFirmware platforms, since
with OF we extensively use proper device IDs in modaliases.

Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
Cc: David Brownell <dbrownell@users.sourceforge.net>
Cc: David Woodhouse <dwmw2@infradead.org>
Cc: Grant Likely <grant.likely@secretlab.ca>
Cc: Jean Delvare <khali@linux-fr.org>
Cc: Ben Dooks <ben-linux@fluff.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2010-12-03 05:33:34 -06:00
hartleys
66552f8908 spi: move bitbang txrx utility functions to private header
A number of files in drivers/spi fail checkincludes.pl due to the double
include of <linux/spi/spi_bitbang.h>.

The first include is needed to get the struct spi_bitbang definition and
the spi_bitbang_* function prototypes.

The second include happens after defining EXPAND_BITBANG_TXRX to get the
inlined bitbang_txrx_* utility functions.

The <linux/spi/spi_bitbang.h> header is also included by a number of other
spi drivers, as well as some arch/ code, in order to use struct spi_bitbang
and the associated functions.

To fix the double include, and remove any potential confusion about it, move
the inlined bitbang_txrx_* functions to a new private header in drivers/spi
and also remove the need to define EXPAND_BITBANG_TXRX.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
2010-12-03 00:01:39 -06:00
Matt Sealey
9ad9fdb991 CONFIG_USB_STATIC_IRAM fixes: actually make it build
* usb abi changes broke it
* FSL never added use_iram to urb struct ever so it never compiled in the first place
* cleanup memcpy usage so it's more readable (breaks 80 column limit but..)

Not enabled in any config. PROBABLY DOESN'T WORK. But at least it can be built and tested now.
2010-11-18 18:30:18 -06:00
Marcin Juszkiewicz
1f4b4131ac rename hex_to_bin to get compat-wireless working 2010-11-13 09:54:37 -06:00
Kees Cook
bbfc380c69 syslog: distinguish between /proc/kmsg and syscalls
This allows the LSM to distinguish between syslog functions originating
from /proc/kmsg access and direct syscalls.  By default, the commoncaps
will now no longer require CAP_SYS_ADMIN to read an opened /proc/kmsg
file descriptor.  For example the kernel syslog reader can now drop
privileges after opening /proc/kmsg, instead of staying privileged with
CAP_SYS_ADMIN.  MAC systems that implement security_syslog have unchanged
behavior.

Signed-off-by: Kees Cook <kees.cook@canonical.com>
2010-11-13 09:54:07 -06:00
Matt Sealey
680823c4d7 Revert "swap: Add flag to identify block swap devices"
This reverts commit f206359542.
2010-09-10 10:40:32 -05:00
Nitin Gupta
f206359542 swap: Add flag to identify block swap devices
Added SWP_BLKDEV flag to distinguish block and regular file backed
swap devices. We could also check if a swap is entire block device,
rather than a file, by:
S_ISBLK(swap_info_struct->swap_file->f_mapping->host->i_mode)
but, I think, simply checking this flag is more convenient.

Signed-off-by: Nitin Gupta <ngupta@vflare.org>
Acked-by: Linus Torvalds <torvalds@linux-foundation.org>
Acked-by: Nigel Cunningham <nigel@tuxonice.net>
Acked-by: Pekka Enberg <penberg@cs.helsinki.fi>
Reviewed-by: Minchan Kim <minchan.kim@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-09-10 10:28:52 -05:00
Kay Sievers
cb725fa003 Driver Core: devtmpfs: use sys_mount()
Signed-off-by: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-08-27 16:48:48 -05:00
Kay Sievers
a2accdb1d3 Driver Core: devtmpfs - kernel-maintained tmpfs-based /dev
Devtmpfs lets the kernel create a tmpfs instance called devtmpfs
very early at kernel initialization, before any driver-core device
is registered. Every device with a major/minor will provide a
device node in devtmpfs.

Devtmpfs can be changed and altered by userspace at any time,
and in any way needed - just like today's udev-mounted tmpfs.
Unmodified udev versions will run just fine on top of it, and will
recognize an already existing kernel-created device node and use it.
The default node permissions are root:root 0600. Proper permissions
and user/group ownership, meaningful symlinks, all other policy still
needs to be applied by userspace.

If a node is created by devtmps, devtmpfs will remove the device node
when the device goes away. If the device node was created by
userspace, or the devtmpfs created node was replaced by userspace, it
will no longer be removed by devtmpfs.

If it is requested to auto-mount it, it makes init=/bin/sh work
without any further userspace support. /dev will be fully populated
and dynamic, and always reflect the current device state of the kernel.
With the commonly used dynamic device numbers, it solves the problem
where static devices nodes may point to the wrong devices.

It is intended to make the initial bootup logic simpler and more robust,
by de-coupling the creation of the inital environment, to reliably run
userspace processes, from a complex userspace bootstrap logic to provide
a working /dev.

Signed-off-by: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Jan Blunck <jblunck@suse.de>
Tested-By: Harald Hoyer <harald@redhat.com>
Tested-By: Scott James Remnant <scott@ubuntu.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-08-27 16:23:54 -05:00
Matt Sealey
f809f20763 ext3: barrier=1 default. superblock uptodate fix. jbd commit interval 5->15s. 2010-08-25 20:21:51 -05:00
Matt Sealey
ac1b2eb6ff RT3070 driver update
1) remove mainline (net/wireless/usb versions) from config since they don't do anything but associate
2) port drivers/staging/ ralink drivers from Linus' tree to here
   includes update to hexdump.c and kernel.h for hex_to_bin (replaces nibble, ABI change)
   includes update to ralink driver source to modify usb_alloc/free_coherent to old usb_buffer_alloc/free
   add it to the defconfig

You will need to grab the "Firmware RT28XX/RT30XX USB series" firmware (v 22 or above) from

http://www.ralink.com.tw/support.php?s=2

Unzip the zip file, inside is a license and rt2870.bin (an 8192 byte file). Copy this to
/lib/firmware/rt3070.bin (note the name change!) and the driver should load and work. Tested
with multiple pings, traceroutes, file copies (SCP and CIFS), YouTube..
2010-08-24 13:14:49 -05:00
Richard Zhu
b6c9ffc709 ENGR00125052-1 Common codes changes when enable the eMMC44 DDR
The modifications of linux kernel common codes
when enable the eMMC44 DDR mode

Signed-off-by: Richard Zhu <r65037@freescale.com>
2010-08-10 11:51:52 -05:00
Robby Cai
8208b24706 ENGR00125175 Add pxp_dma.h into include/linux/KBuild
Add pxp_dma.h into KBuild

Signed-off-by: Robby Cai <R63905@freescale.com>
2010-08-10 11:51:41 -05:00
Danny Nold
ff97ec543b ENGR00124814-1 fb: Add i.MX EPDC fb driver
Added basic EPDC driver, including support for PXP conversions (rotation,
auto-waveform selection, CSC).  Self-clock gating also supported.

Signed-off-by: Danny Nold <dannynold@freescale.com>
2010-08-10 11:51:36 -05:00
Robby Cai
9c91622d90 ENGR00125034 [MX50] Add PxP DMA-Engine and PxP client driver
Use Common DMA-Engine framework to implement ePXP driver
Use a dma client driver to access ePxP staff.

Signed-off-by: Danny Nold <dannynold@freescale.com>
Signed-off-by: Robby Cai <R63905@freescale.com>
2010-08-10 11:51:35 -05:00
Danny Nold
2ac9e0c059 ENGR00124812-1: Support Maxim E-Ink PMIC
Added new regulator driver to control voltage supplies for
E-Ink panel.

Signed-off-by: Danny Nold <dannynold@freescale.com>
2010-08-10 11:51:34 -05:00
mark gutman
0fbba7a43f ENGR00124942 MX51: YUV422 output for 720P data
Ignore UGDE using for non YUYV output formats

Signed-off-by: Mark Gutman <r58412@freescale.com>
2010-08-10 11:51:33 -05:00
Hu hui
8917d92d1a ENGR00124963 USB: add vbus enable/disable
support imx53 evk board OTG and Host1 vbus active
and inactive to low the power consume, fix fsl_otg.c
build failt, add vbus power control function pointer
in struct fsl_usb2_platform_data.

Signed-off-by: Hu hui <b29976@freescale.com>
2010-08-10 11:51:32 -05:00
Liu Ying
ab9b6e2c7a ENGR00124569 IPUv3:Change for support VDI in IPU lib
1) Support select VDI input channel buffer ioctrl.
2) Add VDI input channels' EOF interrupt.

Signed-off-by: Liu Ying <b17645@freescale.com>
2010-08-10 11:51:13 -05:00
mark gutman
e65a92ffe5 ENGR00119736 MX51: YUV422 output for 720P data
The support for YUV422 different combinations are added
	The YUV422 is supported for DI1 interface for 720P frames with 16bits bus  only:
	di1_primary video=mxcdi1fb:YUYV16,720P60
	To define required YUV422 format use one of:
	YUYV16
	YVYU16
	UYVY16
	VYUY16

	Signed-off-by: Mark Gutman <r58412@freescale.com>
2010-08-10 11:51:06 -05:00
Anton Vorontsov
c1771bf6cb ahci: Add platform driver
This can be used for AHCI-compatible interfaces implemented inside
System-On-Chip solutions, or AHCI devices connected via localbus.

Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2010-08-10 11:51:04 -05:00
Shaohua Li
1a42e346d6 [libata] add DMA setup FIS auto-activate feature
Hopefully results in fewer on-the-wire FIS's and no breakage.  We'll see!

Signed-off-by: Shaohua Li <shaohua.li@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2010-08-10 11:50:50 -05:00
Jason Chen
4fd83bff23 ENGR00124023 v4l2 output:modify the operation of ic-bypass mode
/unit_test//unit_tests/mxc_v4l2_output.out -iw 1920 -ih 1080 -ow 1920
-oh 1080 -d 3 -l 600 -fr 80 /dev/shm/1920_1080_E18_c2.yuv

Error information:
It report the following error:
video4linux video16: unable to update buffer 0 address rc=-13

Fix above issue by modify the operation of ic-bypass mode.

Signed-off-by: Jason Chen <b02280@freescale.com>
2010-08-10 11:50:48 -05:00
Jason Chen
07d5c4bc52 ENGR00123512 ipu: fix ipu lib compile error
Fix ipu lib compile error after 4-stripes resize patch pushed.

Signed-off-by: Jason Chen <b02280@freescale.com>
2010-08-10 11:50:25 -05:00
mark gutman
b70ba43911 ENGR00123294 MX53: 4 stripes algorithm for support resizing for big screen
The updated algorithm allows output frame size up to 2048x2048

Signed-off-by: Mark Gutman <Mark.Gutman@freescale.com>
2010-08-10 11:50:24 -05:00
Anton Vorontsov
8e982ef543 phylib: Move workqueue initialization to a proper place
commit 541cd3ee00a4fe975b22fac6a3bc846bacef37f7 ("phylib: Fix deadlock
on resume") caused TI DaVinci EMAC ethernet driver to oops upon resume:

 PM: resume of devices complete after 237.098 msecs
 Restarting tasks ... done.
 kernel BUG at kernel/workqueue.c:354!
 Unable to handle kernel NULL pointer dereference at virtual address 00000000
 [...]
 Backtrace:
 [<c002c598>] (__bug+0x0/0x2c) from [<c0052a54>] (queue_delayed_work_on+0x74/0xf8)
 [<c00529e0>] (queue_delayed_work_on+0x0/0xf8) from [<c0052b30>] (queue_delayed_work+0x2c/0x30)

The oops pops up because TI DaVinci EMAC driver detaches PHY on
suspend and attaches it back on resume. Attaching makes phylib call
phy_start_machine() that initializes a workqueue. On the other hand,
PHY's resume routine will call phy_start_machine() again, and that
will cause the oops since we just destroyed the already scheduled
workqueue.

This patch fixes the issue by moving workqueue initialization to
phy_device_create().

p.s. We don't see this oops with ucc_geth and gianfar drivers because
they perform a fine-grained suspend, i.e. they just stop the PHYs
without detaching.

Reported-by: Sekhar Nori <nsekhar@ti.com>
Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
Tested-by: Sekhar Nori <nsekhar@ti.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2010-08-10 11:50:22 -05:00
Anton Vorontsov
d78f3d35b3 phylib: Properly reinitialize PHYs after hibernation
Since hibernation assumes power loss, we should fully reinitialize
PHYs (including platform fixups), as if PHYs were just attached.

This patch factors phy_init_hw() out of phy_attach_direct(), then
converts mdio_bus to dev_pm_ops and adds an appropriate restore()
callback.

Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2010-08-10 11:50:21 -05:00
Anish Trivedi
1ecce52493 ENGR00123280 MX5x SRTC: Add ioctls for time set notification
Implement RTC_READ_TIME_47BIT and RTC_WAIT_FOR_TIME_SET ioctls.
Updates based on review comments.

Signed-off-by: Anish Trivedi <anish@freescale.com>
2010-08-10 11:50:19 -05:00
Liu Ying
46fcac840e ENGR00122216-2 Support LDB driver
This patch adds LDB driver support.

Signed-off-by: Liu Ying <b17645@freescale.com>
2010-08-10 11:50:18 -05:00
Niu Xule
dcb6d4440a ENGR00123078-1 MX28: Add L2 Switch resources definition
L2 Switch resources definition for MX28

Signed-off-by: Niu Xule <b23300@freescale.com>
2010-08-10 11:50:16 -05:00
Patrick Turley
0b7e7c7578 ENGR00122964 Second pass at unified i.MX23/i.MX28 NAND Flash driver
Deleted the old drivers.

Broke the driver into separate files, for readability and to isolate
hardware dependencies.

Fixed bad block problems in the boot area for the i.MX23.

At this writing, UBI can't handle MTDs larger than 2GiB. If the
general use partition is larger than 2GiB, the driver will create
sub-partitions, none of which are larger than 2GiB.

Updated the default configs for the i.MX23 and i.MX28.

Other, miscellaneous changes.

Signed-off-by: Patrick Turley <patrick.turley@freescale.com>
2010-08-10 11:49:55 -05:00
Patrick Turley
fcb50ee09c ENGR00122629 Unified i.MX23/i.MX28 NAND Flash Driver
This driver unifies the i.MX23 and i.MX28 NAND Flash drivers into a single
driver that supports both SoC's.

Signed-off-by: Patrick Turley <patrick.turley@freescale.com>
2010-08-10 11:49:42 -05:00
Frank Li
0c13648cb8 ENGR00122124 iMX23 enable USB otg pin detect
iMX23 evk RevC using gpio as usb id.
usb_id pin is conflict with mmcsd detection pin

Signed-off-by: Frank Li <Frank.Li@freescale.com>
2010-08-10 11:48:53 -05:00
Frank Li
1f1c8202e8 ENGR00121497-2 MX28 USB 100mA current draw
Add USB 100mA limitation feature for mx28 to mach usb 2.0 current requirment

Signed-off-by: Frank Li <Frank.li@freescale.com>
2010-08-10 11:48:51 -05:00
Albert Chen
28827b46d3 ENGR00117742-1 add usb support for mx28
add usb support for mx28
	include usb host and usb device

Signed-off-by: Albert Chen <r65187@freescale.com>
2010-08-10 11:47:35 -05:00
Jason
f61cc66aea ENGR00117744-2 i.MX28 EVK ENET(Single) support
FEC driver support for i.MX28

Signed-off-by:Jason Liu <r64343@freescale.com>
2010-08-10 11:47:31 -05:00
Liu Ying
6f8c313e76 ENGR00119169 V4L2 capture:enable CSI after PRP channels are setup
To preview with V4L2 overlay and capture at the same time may fail.
This patch implements workaround for this issue by enabling CSI after
PRP channels are setup.

Signed-off-by: Liu Ying <b17645@freescale.com>
2010-08-10 11:47:00 -05:00
Sammy He
3ac11765fb ENGR00120615-1 Add IPU_CSC_UPDATE case for ipu ioctl
Add IPU_CSC_UPDATE case for ipu ioctl.

Signed-off-by: Sammy He <r62914@freescale.com>
2010-08-10 11:46:58 -05:00
Rob Herring
2e5bce78c9 ENGR00120393-1 imx: Add iram allocator functions
Add iram allocation functions using GENERIC_ALLOCATOR. The
allocation size is 4KB multiples to guarantee alignment.

Signed-off-by: Rob Herring <r.herring@freescale.com>
2010-08-10 11:46:51 -05:00
Jason Chen
d8b8e1e7d9 ENGR00120428 v4l2 output: jitter after blank/unblank fb
blank/unblank fb during v4l2 playback, unblank will cause current buffer
of display channel to be 1. This patch make the sequence of select
display buffer correct.

Signed-off-by: Jason Chen <b02280@freescale.com>
2010-08-10 11:46:38 -05:00