]> rtime.felk.cvut.cz Git - zynq/linux.git/log
zynq/linux.git
11 years agoxilinx: arm: i2c: add support for graceful exit xilinx-14.5-build-trd
Suneel Garapati [Tue, 16 Apr 2013 06:42:11 +0000 (12:12 +0530)]
xilinx: arm: i2c: add support for graceful exit

Changes the blocking completion call to non-blocking
using the timeout variant of wait_for_completion.

Signed-off-by: Suneel Garapati <suneelg@xilinx.com>
Tested-by: Radhey Shyam Pandey <radheys@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
11 years agozynq: dts: Remove xylon snipset
Michal Simek [Wed, 17 Apr 2013 05:34:14 +0000 (07:34 +0200)]
zynq: dts: Remove xylon snipset

It is available already available in trd dts
and none is using this file.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
11 years agoarm: zynq: Enable Cortex-A9 Errata
Srikanth Thokala [Mon, 15 Apr 2013 13:47:21 +0000 (19:17 +0530)]
arm: zynq: Enable Cortex-A9 Errata

This patch enables the ARM Cortex-A9 errata.  Here are the list of errata:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
               +                  +                                                +
Xilinx Answer  +  ARM Errata No.  +                 Description                    +
Record No.     +                  +                                                +
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    47549      +      742231      + System Deadlock can occur in SMP Mode when the +
               +                  + Same Cache Line is Accessed by Both CPUs & ACP +
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    47547      +      754322      + Following an ASID Switch, Faulty MMU Transla-  +
               +                  + tions can occur                                +
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    47550      +      764369      + Cache Line Maintenance Operations by MVA might +
               +                  + not Succeed on an Inner Shareable Memory Region+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    -----      +      742230      + DMB operation may be faulty                    +
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    -----      +      743622      + Faulty hazard checking in the Store Buffer may +
               +                  + lead to data corruption                        +
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    -----      +      754327      + No automatic Store Buffer drain                +
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    52031      +      775420      + A data cache maintenance operation which aborts+
               +                  + might lead to deadlock                         +
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    -----      +      720789      + TLBIASIDIS and TLBIMVAIS operations can broad  +
               +                  + cast a faulty ASID                             +
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    -----      +      751472      + Interrupted ICIALLUIS may prevent completion of+
               +                  + broadcasted operation                          +
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Signed-off-by: Srikanth Thokala <sthokal@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
11 years agonet: xemacps: Remove warning on round_rate failure
Soren Brinkmann [Fri, 12 Apr 2013 16:25:53 +0000 (09:25 -0700)]
net: xemacps: Remove warning on round_rate failure

Assume that we deal with an input clock which is adjusted by different
means than the CCF when clk_round_rate() fails and remove the warning
message.
This allows warning free usage of an EMIO clock source w/o a CCF clock
driver on cost of that we don't detect an actual failing call to
clk_round_rate() which I think is rather unlikely to happen.

Signed-off-by: Soren Brinkmann <soren.brinkmann@xilinx.com>
Tested-by: Anirudha Sarangi <anirudh@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
11 years agonet: xemacps: Merge if-blocks
Soren Brinkmann [Fri, 12 Apr 2013 16:25:52 +0000 (09:25 -0700)]
net: xemacps: Merge if-blocks

Merging two if-blocks which checked identical conditionals.

Signed-off-by: Soren Brinkmann <soren.brinkmann@xilinx.com>
Tested-by: Anirudha Sarangi <anirudh@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
11 years agoxilinx_emacps: Log severe errors, fix tx_packets
Thomas Betker [Mon, 8 Apr 2013 20:05:40 +0000 (22:05 +0200)]
xilinx_emacps: Log severe errors, fix tx_packets

Certain severe error conditions (which should never occur) should be
logged, in particular since the driver does not take actions to
recover; see 16.3.10 in the TRM. Some kind of dev_err() already used to
exist in previous driver versions, but got lost somehow:
o In xemacps_rx_poll(), log rx_status.HRESPNOK.
o In xemacps_tx_poll(), log tx_status.HRESPNOK and .BUFEXH.

Note: Some rx_status and tx_status error conditions are not covered by
statistics registers. There also used to be some code to increment the
net_device_stats counters, but I have refrained from re-adding it:
o rx_status.HRESPNOK: rx_errors, rx_fifo_errors
o rx_status.RXOVR:    rx_errors, rx_fifo_errors
o tx_status.HRESPNOK: tx_errors, tx_fifo_errors
o tx_status.BUFEXH:   tx_errors, tx_fifo_errors

In xemacps_tx_poll(), increment tx_packets and tx_bytes even if the
transmission failed. This is expected by SNMP (see ifOutUcastPkts in
RFC 2863: "The total number of packets that higher-level protocols
requested be transmitted, ..., including those that were discarded or
not sent."), and other Ethernet drivers also seem to handle it this way.

Note: In order to decide if an error occurred, we would need to check
the ERR bits of all buffers of a (multi-fragment) packet, not just the
last buffer; it is actually easier to drop this altogether, though.

Signed-off-by: Thomas Betker <thomas.betker@rohde-schwarz.com>
Tested-by: Anirudha Sarangi <anirudh@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
11 years agoxilinx_emacps: Fix rx_errors and tx_errors
Thomas Betker [Mon, 8 Apr 2013 20:05:39 +0000 (22:05 +0200)]
xilinx_emacps: Fix rx_errors and tx_errors

Some minor improvements in xemacps_update_stats():
o Count RXRESERR in rx_missed_errors.
o Count RXOR only in rx_fifo_errors, not twice in rx_fifo_errors and
  rx_over_errors (the latter are bundled with frame errors).
o Do not count SNGLCOLL and MULTICOLL in tx_errors (only in collisions)
  because the packets were successfully transmitted after all.

Signed-off-by: Thomas Betker <thomas.betker@rohde-schwarz.com>
Tested-by: Anirudha Sarangi <anirudh@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
11 years agoxilinx_emacps: Read statistics registers only once
Thomas Betker [Mon, 8 Apr 2013 20:05:38 +0000 (22:05 +0200)]
xilinx_emacps: Read statistics registers only once

Statistics registers are clear-on-read, so xemacps_update_stats() must
take care to read each of them only once -- extra reads will usually
return 0, leading to inconsistencies.

Signed-off-by: Thomas Betker <thomas.betker@rohde-schwarz.com>
Tested-by: Anirudha Sarangi <anirudh@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
11 years agoxilinx_emacps: Fix handling of skb fragments (3/3)
Thomas Betker [Sat, 6 Apr 2013 09:56:41 +0000 (11:56 +0200)]
xilinx_emacps: Fix handling of skb fragments (3/3)

When a Tx packet is fragmented, the controller sets USED=1 only in the
first buffer. This means that xemacps_tx_poll() cannot "preserve" the
USED bit (which may be 0), but must set USED=1 explicitly once the
packet has been transmitted.

Signed-off-by: Thomas Betker <thomas.betker@rohde-schwarz.com>
Tested-by: Anirudha Sarangi <anirudh@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
11 years agoxilinx_emacps: Fix handling of skb fragments (2/3)
Thomas Betker [Sat, 6 Apr 2013 09:56:40 +0000 (11:56 +0200)]
xilinx_emacps: Fix handling of skb fragments (2/3)

In xemacps_start_xmit(), we cannot set tx_skb[].skb = NULL for a
fragment because xemacps_clean_rings() uses skb as a flag to call
dma_unmap_single().

Instead, we simply increment the skb's user count by skb_get() so that
dev_kfree_skb() can [and must] be called multiple times.

Note that the last dev_kfree_skb() in xemacps_clean_rings() will be
called after the last dma_unmap_single(), even if there is a wrap in
the middle of the packet; i.e., the socket buffer will be valid until
all DMA regions are unmapped.

Signed-off-by: Thomas Betker <thomas.betker@rohde-schwarz.com>
Tested-by: Anirudha Sarangi <anirudh@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
11 years agoxilinx_emacps: Fix handling of skb fragments (1/3)
Thomas Betker [Sat, 6 Apr 2013 09:56:39 +0000 (11:56 +0200)]
xilinx_emacps: Fix handling of skb fragments (1/3)

xemacps_clean_rings() needs to know the fragment length for unmapping
a Tx skb fragment -- skb->len is only correct for the first fragment.

For this, we add a field 'len' to 'struct ring_info'. We employ this
field for Rx packets as well, if only to avoid using the constant
XEMACPS_RX_BUF_SIZE everywhere.

Note: We also fix a minor issue with the tx_bytes statistics counter in
xemacps_tx_poll(); it was found when dropping the 'leninbd' variable
(which is no longer needed).

Signed-off-by: Thomas Betker <thomas.betker@rohde-schwarz.com>
Tested-by: Anirudha Sarangi <anirudh@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
11 years agoxilinx_emacps: Fix locking issues
Anirudha Sarangi [Fri, 12 Apr 2013 17:37:55 +0000 (23:07 +0530)]
xilinx_emacps: Fix locking issues

The existing driver has locking issues. This patch fixes them.
The locking issues/warnings are mainly because some of the routines
are trying to acquire tx and rx locks both. Acquiring of both locks
was implemented because net_ctrl register was getting accessed on
both tx and rx paths and also in the timer handler meant to provide
a workaround for the Rx path sillicon issue. To maintain a consistent
net_ctrl register, some of the routines had to acquire both locks.
To fix this, this patch provides one more lock that is used only for
the net_ctrl register. This provides a much cleaner locking mechanism.
Also, after much analysis it was figured out that, some of the APIs
(e.g. xemacps_close and ethtool APIs) do not need any locks.
Some of the locking related warnings were because of these APIs
acquiring both the locks. This patch addresses them.

Signed-off-by: Anirudha Sarangi <anirudh@xilinx.com>
Tested-by: Soren Brinkmann <soren.brinkmann@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
11 years agoarm: configs: Zynq Base TRD defconfig added
Radhey Shyam Pandey [Fri, 12 Apr 2013 10:53:01 +0000 (16:23 +0530)]
arm: configs: Zynq Base TRD defconfig added

Enables Staging.
Selects AXI-VDMA client driver.
Selects imageon driver for ADV7611.

Signed-off-by: Radhey Shyam Pandey <radheys@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
11 years agoarm : dts : Zynq Base TRD dts added
Radhey Shyam Pandey [Fri, 12 Apr 2013 10:53:00 +0000 (16:23 +0530)]
arm : dts : Zynq Base TRD dts added

Added additional parameters required for Zynq Base TRD.
Built on top of zynq-zc702 dts.
a)I2c entries added for ADV7511 ,IPMI eeprom and
some entries related to i2c slaves on FMC card .
b)UIO entries for Video IP's .
c)Xylon framebuffer.

Signed-off-by: Radhey Shyam Pandey <radheys@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
11 years agodrivers: staging: imageon configures ADV7611 chip
Radhey Shyam Pandey [Fri, 12 Apr 2013 10:52:59 +0000 (16:22 +0530)]
drivers: staging: imageon configures ADV7611 chip

Imageon driver provides platform data for initializing ADV7611
hdmi-in chip.
It configures ADV7611 using V4L2 sub-dev kernel API.
Uses request_firmware API to read EDID from fileystem.
Configured as loadable module and inserted into kernel
when filesystem and mdev(userspace handler) is up.

Signed-off-by: Radhey Shyam Pandey <radheys@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
11 years agodrivers: staging: Client driver for AXI VDMA engine.
Radhey Shyam Pandey [Fri, 12 Apr 2013 10:52:58 +0000 (16:22 +0530)]
drivers: staging: Client driver for AXI VDMA engine.

Provides handle to user-space application to configures
xilinx axi-vdma driver.
Uses DMA Engine API to perform functions like DMA channel
allocation,configuration and device control.

Signed-off-by: Radhey Shyam Pandey <radheys@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
11 years agovideo: fb: xylonfb: Refresh rate bug fix
Davor Joja [Fri, 12 Apr 2013 08:51:16 +0000 (14:21 +0530)]
video: fb: xylonfb: Refresh rate bug fix

Fixed bug in calculation of display refresh rate when working in no EDID mode.
Added usage of VESA timings with reduced blanking period when getting video
mode timing parameters from kernel.

Signed-off-by: Davor Joja <davor.joja@logicbricks.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
11 years agoxilinx_emacps: Fixes bug in skb handling for fragmented packets xilinx-v14.5
Anirudha Sarangi [Wed, 3 Apr 2013 17:37:02 +0000 (23:07 +0530)]
xilinx_emacps: Fixes bug in skb handling for fragmented packets

The existing driver has a bug related to skb handling for fragmented
Tx packets. This patch fixes it.

Signed-off-by: Anirudha Sarangi <anirudh@xilinx.com>
11 years agoxilinx_emacps: Fix bug in the logic for fragmented packets
Anirudha Sarangi [Wed, 3 Apr 2013 17:37:01 +0000 (23:07 +0530)]
xilinx_emacps: Fix bug in the logic for fragmented packets

The existing driver has a bug for freeing up Tx BDs for fragmented
Tx packets. This patch fixes it.

Signed-off-by: Anirudha Sarangi <anirudh@xilinx.com>
11 years agoxilinx_emacps: Increase the number of Tx/Rx
Anirudha Sarangi [Wed, 3 Apr 2013 17:37:00 +0000 (23:07 +0530)]
xilinx_emacps: Increase the number of Tx/Rx

This patch increases the number of BDs on the Tx/Rx path to a
reasonable value of 256 (existing is 32). This is required and may
ensure better/efficient processing under heavy traffic (the existing
napi weigth is 64).

Signed-off-by: Anirudha Sarangi <anirudh@xilinx.com>
11 years agoxilinx_emacps: Add support for gmii to rgmii
Anirudha Sarangi [Wed, 3 Apr 2013 17:36:59 +0000 (23:06 +0530)]
xilinx_emacps: Add support for gmii to rgmii

This patch adds support for the gmii to rgmii converter IP in the PL.
This Xilinx IP appears on the mdio interface along with the regular PHY.
It possesses a PHY address to be accessible on the mdio bus. The IP appears
in the device tree under the mdio node. This patch reads the mdio node
and on finding the presence of this converter takes appropriate
action assuming it as a dummy PHY. After the regular PHY autoneg, the
driver writes the spped/duplex settings to the appropriate register
in the dummy PHY to ensure proper gmii to rgmii conversion.

Signed-off-by: Anirudha Sarangi <anirudh@xilinx.com>
11 years agoxilinx_emacps: Fixes a potential bug for PEEP
Anirudha Sarangi [Wed, 3 Apr 2013 17:36:58 +0000 (23:06 +0530)]
xilinx_emacps: Fixes a potential bug for PEEP

This patch fixes a very minor bug that can show up when someone
tests the Ethernet interface on PEEP. The bug is related to PHY
handling. This patch fixes it.

Signed-off-by: Anirudha Sarangi <anirudh@xilinx.com>
11 years agoxilinx: dts: phy-mode entry is added in the
Anirudha Sarangi [Wed, 3 Apr 2013 17:36:57 +0000 (23:06 +0530)]
xilinx: dts: phy-mode entry is added in the

This patch adds a new property "phy-mode" for all relevant device trees
under the EmacPs node. This is done to ensure that the driver can
handle varying type of PHY interfaces in a flexible way.

Signed-off-by: Anirudha Sarangi <anirudh@xilinx.com>
11 years agoxilinx_emacps: Add support for EMIO
Anirudha Sarangi [Wed, 3 Apr 2013 17:36:56 +0000 (23:06 +0530)]
xilinx_emacps: Add support for EMIO

The existing implementation was hardcoding the PHY interface as
RGMII (MIO case). This patch makes the implementation flexible by
assuming that the information regarding the PHY interface will come
from the device tree. This will ensure that the driver takes care of
both MIO (RGMII) and EMIO (GMII) cases.

Signed-off-by: Anirudha Sarangi <anirudh@xilinx.com>
11 years agoxilinx_emacps: Fixes the Tx timeout handling
Anirudha Sarangi [Wed, 3 Apr 2013 17:36:55 +0000 (23:06 +0530)]
xilinx_emacps: Fixes the Tx timeout handling

The existing tx timeout handler was resulting a kernel crash when
invoked for tx timeout case. The tx timeout handler was trying to
allocate coherent memory for the BDs which was resulting in an error
case for scheduling while atomic.
This patch fixes it by using work queues for Tx timeout handling.

Signed-off-by: Anirudha Sarangi <anirudh@xilinx.com>
11 years agoxilinx_emacps: Changes spin-lock
Anirudha Sarangi [Wed, 3 Apr 2013 17:36:54 +0000 (23:06 +0530)]
xilinx_emacps: Changes spin-lock

The existing implementation had a single lock for tx and rx paths.
This resulted in creating dependencies between tx and rx paths. For
example a Rx interrupt had to wait for the start_xmit routine to
finish. This could also result in potential locking issues as
reported by running on Qemu.
This patch uses two locks(one each for tx and rx paths) instead
of a single lock. This patch avoids to the extent possible not to
disable IRQs (avoids spin-lock-irqsave) and instead uses spin-lock-bh.
This effectively makes the Tx and Rx paths independent of each other.
This patch addresses all concerns (because of this new implementation)
related to inadvertent corruption of registers.

Signed-off-by: Anirudha Sarangi <anirudh@xilinx.com>
11 years agoxilinx_emacps: Process the Tx done interrupt
Anirudha Sarangi [Wed, 3 Apr 2013 17:36:53 +0000 (23:06 +0530)]
xilinx_emacps: Process the Tx done interrupt

The releasing of the Tx BDs after Tx done interrupts earlier used to
happen in the interrupt context. This patch changes it to ensure that
the Tx done BD releasing happens in a bottom half(tasklet).

Signed-off-by: Anirudha Sarangi <anirudh@xilinx.com>
11 years agoxilinx_emacps: Adds support for fragmented
Anirudha Sarangi [Wed, 3 Apr 2013 17:36:52 +0000 (23:06 +0530)]
xilinx_emacps: Adds support for fragmented

This patch alters the features parameter in ndev to add support
for fragmented packets. It also adds support for scatter-gather
packets.

Signed-off-by: Anirudha Sarangi <anirudh@xilinx.com>
11 years agoxilinx_emacps: Remove unused hash-defines
Anirudha Sarangi [Wed, 3 Apr 2013 17:36:51 +0000 (23:06 +0530)]
xilinx_emacps: Remove unused hash-defines

This patch removes the unused hash-defines related to SLCR divisors
and SLCR address offsets.

Signed-off-by: Anirudha Sarangi <anirudh@xilinx.com>
11 years agoarm: dt: zynq-zc702: Fix ucd9248 nodes
Soren Brinkmann [Wed, 3 Apr 2013 22:25:34 +0000 (15:25 -0700)]
arm: dt: zynq-zc702: Fix ucd9248 nodes

Commit 'arm: zynq: fix indentation and formatting' (sha1:
3a48d14c4fbb1a08ae659fed98091667a9778b53) wrongly added '0x' prefixes to
the reg properties of ucd9248 nodes.
Rectify this issue by removing the wrongly added prefixes.

Signed-off-by: Soren Brinkmann <soren.brinkmann@xilinx.com>
11 years agousb: gadget: Select AXI USB gadget driver for Zynq
Subbaraya Sundeep Bhatta [Wed, 3 Apr 2013 15:43:18 +0000 (21:13 +0530)]
usb: gadget: Select AXI USB gadget driver for Zynq

Select AXI USB gadget driver for Zynq to use in Zynq PL.

Signed-off-by: Subbaraya Sundeep Bhatta <sbhatta@xilinx.com>
11 years agousb: gadget: Code cleanup
Subbaraya Sundeep Bhatta [Wed, 3 Apr 2013 14:56:20 +0000 (20:26 +0530)]
usb: gadget: Code cleanup

Code cleanup for checkpatch.

Signed-off-by: Subbaraya Sundeep Bhatta <sbhatta@xilinx.com>
11 years agousb: gadget: Updated to support 3.8 kernel
Subbaraya Sundeep Bhatta [Wed, 3 Apr 2013 14:56:19 +0000 (20:26 +0530)]
usb: gadget: Updated to support 3.8 kernel

- Defined gadget max_speed
- Modified xudc_start for new bind function
- Changed endpoint names

The endpoint names are parsed in udc framework and
the addresses are assigned based on that. In 3.6 kernel,
the ednpoint address are denoted by a single variable
and hence we get proper address to the driver.
Now the endpoints are differentiated based on direction
and we always get endpoint address as 1 (for 2 endpoints)
and we fail accessing the EP RAM address for ep2

Signed-off-by: Subbaraya Sundeep Bhatta <sbhatta@xilinx.com>
11 years agousb: gadget: Updated to support little endian systems.
Subbaraya Sundeep Bhatta [Wed, 3 Apr 2013 14:56:18 +0000 (20:26 +0530)]
usb: gadget: Updated to support little endian systems.

Updated to support little endian systems.
Cleaned up the code for setup packet handling.

Signed-off-by: Subbaraya Sundeep Bhatta <sbhatta@xilinx.com>
11 years agomicroblaze: Fix uaccess_ok macro
Michal Simek [Thu, 28 Mar 2013 15:42:44 +0000 (16:42 +0100)]
microblaze: Fix uaccess_ok macro

Fix access_ok macro no to permit
case where user will try to access
the last address space which is equal
to segment address.

Example:
segment addr = 0xbfff ffff
address = 0xbfff fff0
size = 0x10

Current wrong implementation
0xbfff ffff >= (0xbfff fff0 | 0x10 | (0xbfff fff0 + 0x10))
0xbfff ffff >= (0xbfff fff0        | 0xc000 0000)
0xbfff ffff >= 0xf000 0000
return 0 which is access failed even the combination is valid.
because get_fs().seq returns the last valid address.

This patch fix this problem.

Size equals to zero is valid access.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
11 years agoarm: zynq: Do not use PHYS_OFFSET for multi platfrom kernel
Michal Simek [Tue, 2 Apr 2013 09:45:42 +0000 (11:45 +0200)]
arm: zynq: Do not use PHYS_OFFSET for multi platfrom kernel

CONFIG_ARM_PATCH_PHYS_VIRT is always yes that's why
CONFIG_PHYS_OFFSET is not setup anymore.

Detect where kernel runs and if runs from zero then
reserve memory which is not DMAable.

This patch also fix the problem with rootfs on MMC card
where this fault is report:
mmc0: Timeout waiting for hardware interrupt.
mmcblk0: error -110 transferring data, sector 1574716, nr 136,
 cmd response 0x900, card status 0xb00
mmcblk0: retrying using single block read

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Tested-by: Michael Przybylski <michaeljprzybylski@gmail.com>
Tested-by: Lars-Peter Clausen <lars@metafoo.de>
11 years agoarm: zynq: Gracefully handle missing OCM
Soren Brinkmann [Wed, 20 Mar 2013 17:24:15 +0000 (10:24 -0700)]
arm: zynq: Gracefully handle missing OCM

Although, OCM is always part of the system, it might be unavailable due
to an erroneous DT. Handle this cases gracefully instead of crashing the
system.

Signed-off-by: Soren Brinkmann <soren.brinkmann@xilinx.com>
11 years agowatchdog: Remove additional compatibility string
Michal Simek [Thu, 28 Mar 2013 15:41:49 +0000 (16:41 +0100)]
watchdog: Remove additional compatibility string

Device-tree bsp generate proper compatible string
and all IPs are backward compatible to 1.00.a version.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
11 years agoxilinx: dts: Update the memory amount for zc706
Jagannadha Sutradharudu Teki [Thu, 28 Mar 2013 09:49:07 +0000 (02:49 -0700)]
xilinx: dts: Update the memory amount for zc706

Updated the actual memory amount used by zc706 board.

This changes is follow-up on memory amount in previous patch.
"Xilinx: ARM: Added zc706 device tree and compatibility"
(sha1: 082f42fd30e07bb35100c435199f56adef932875)

Signed-off-by: Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
11 years agousb: xilinxps_udc: Fixed zero length packet issue with control endpoint.
Naveen Mamindlapalli [Mon, 25 Mar 2013 11:35:19 +0000 (17:05 +0530)]
usb: xilinxps_udc: Fixed zero length packet issue with control endpoint.

Fixed sending a separate zero length packet for control IN endpoint. The
ZLT bit in dQH takes care of it. Configured control OUT endpoint not to
wait for zero length packet from the host controller. See USB 2.0 section
5.5.3 for more details.

Signed-off-by: Naveen Mamindlapalli <naveenm@xilinx.com>
11 years agotty: xuartps: Store baud rate in driver data
Soren Brinkmann [Tue, 19 Mar 2013 20:10:24 +0000 (13:10 -0700)]
tty: xuartps: Store baud rate in driver data

Store the current baudrate in struct xuartps.
This data is used in some parts of the driver
but was never initialized correctly.

Signed-off-by: Soren Brinkmann <soren.brinkmann@xilinx.com>
11 years agomedia: video: adv7511: Driver update for 3.8 kernel
Davor Joja [Thu, 21 Mar 2013 12:25:11 +0000 (05:25 -0700)]
media: video: adv7511: Driver update for 3.8 kernel

Driver updated for compiling on 3.8 kernel version.
Linux coding style errors and most of warnings.

Signed-off-by: Davor Joja <davor.joja@logicbricks.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
11 years agovideo: fb: xylonfb: Fix driver coding style
Davor Joja [Thu, 21 Mar 2013 12:10:57 +0000 (05:10 -0700)]
video: fb: xylonfb: Fix driver coding style

Fixed bug in Kconfig for selecting FB mode helpers.
Linux coding style errors and most of warnings.

Signed-off-by: Davor Joja <davor.joja@logicbricks.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
11 years agozynq: pcie: Removed sparse warnings
Srikanth Thokala [Tue, 19 Mar 2013 12:18:47 +0000 (17:48 +0530)]
zynq: pcie: Removed sparse warnings

Removes sparse warnings and cleans up code.

Signed-off-by: Srikanth Thokala <sthokal@xilinx.com>
11 years agousb: xilinxps_udc: Update the driver to use usb_endpoint_descriptor inside the struct...
Naveen Mamindlapalli [Tue, 19 Mar 2013 11:59:16 +0000 (17:29 +0530)]
usb: xilinxps_udc: Update the driver to use usb_endpoint_descriptor inside the struct usb_ep.

Update the driver to use usb_endpoint_descriptor inside the struct usb_ep.
Remove redundant pointer to struct usb_endpoint_descriptor.

Signed-off-by: Naveen Mamindlapalli <naveenm@xilinx.com>
11 years agousb: xilinxps_udc: Added checking for full speed gadget.
Naveen Mamindlapalli [Tue, 19 Mar 2013 11:59:17 +0000 (17:29 +0530)]
usb: xilinxps_udc: Added checking for full speed gadget.

Added checking for full speed gadget. The controller supports
both high speed and full speed in device mode.

Signed-off-by: Naveen Mamindlapalli <naveenm@xilinx.com>
11 years agousb: xilinxps_udc: Added s/w workaround for USB disconnect detection
Naveen Mamindlapalli [Wed, 20 Mar 2013 07:36:44 +0000 (13:06 +0530)]
usb: xilinxps_udc: Added s/w workaround for USB disconnect detection

Added s/w workaround for USB disconnect detection as mentioned in
AR# 47538. See http://www.xilinx.com/support/answers/47538.htm for
more details. This fix is not applicable for OTG mode as there is
no callback registered for B session end event.

Signed-off-by: Naveen Mamindlapalli <naveenm@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
11 years agousb: xilinxps_otg: Removed unused function declaration.
Naveen Mamindlapalli [Tue, 19 Mar 2013 11:23:21 +0000 (16:53 +0530)]
usb: xilinxps_otg: Removed unused function declaration.

Removed unused function declaration.

Signed-off-by: Naveen Mamindlapalli <naveenm@xilinx.com>
11 years agodma: Rename xilinx dmatest to axidmatest
Michal Simek [Tue, 19 Mar 2013 10:22:42 +0000 (11:22 +0100)]
dma: Rename xilinx dmatest to axidmatest

The reason is that there is standard dmatest in dma folder
a because of the design of these xilinx proprietary tests
without binding that ends in duplicating filenames
just because of the same driver name.

Warning log:
WARNING: at fs/sysfs/dir.c:536 sysfs_add_one+0x78/0x98()
sysfs: cannot create duplicate filename '/module/dmatest/parameters/iterations'

Renaming driver to different name caused that kernel
will use different module name.

~ # ls /sys/module/ | grep dma
axidmatest
cdmatest
dmatest
vdmatest

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
11 years agoadv7511: Support for ADV7511 HDMI transmitter
Davor Joja [Mon, 18 Mar 2013 12:39:56 +0000 (13:39 +0100)]
adv7511: Support for ADV7511 HDMI transmitter

Cisco V4L2 driver for ADV7511 HDMI transmitter.

Driver changes against original version:
- fixed compiling issues
- fixed race conditions
- added OFDT support for greater flexibility and configurability on different hw platforms

Signed-off-by: Davor Joja <davor.joja@logicbricks.com>
11 years ago[media] adv7604: Move adv7604_{read,write}_reg out of CONFIG_VIDEO_ADV_DEBUG section
Lars-Peter Clausen [Thu, 7 Mar 2013 09:43:43 +0000 (10:43 +0100)]
[media] adv7604: Move adv7604_{read,write}_reg out of CONFIG_VIDEO_ADV_DEBUG section

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
11 years ago[media] adv7604: Add adv7611 support
Lars-Peter Clausen [Fri, 18 Jan 2013 15:14:39 +0000 (16:14 +0100)]
[media] adv7604: Add adv7611 support

This patch adds support for the Analog Devices ADV7611 HDMI receiver.
The adv7611 is quite similar to the adv7604. It has only one instead of four
HDMI inputs and no analog frontend though. Also some register bits have been
shuffled around, but large parts of their register maps are compatible.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
11 years ago[media] v4l: Helper function for obtaining timestamps
Sakari Ailus [Sat, 15 Sep 2012 10:51:47 +0000 (07:51 -0300)]
[media] v4l: Helper function for obtaining timestamps

v4l2_get_timestamp() produces a monotonic timestamp but unlike
ktime_get_ts(), it uses struct timeval instead of struct timespec, saving
the drivers the conversion job when getting timestamps for v4l2_buffer's
timestamp field.

Signed-off-by: Sakari Ailus <sakari.ailus@iki.fi>
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
11 years agovideo: fb: xylonfb: Driver version 2.0
Davor Joja [Fri, 8 Mar 2013 15:15:49 +0000 (07:15 -0800)]
video: fb: xylonfb: Driver version 2.0

Added support for logiCVC IP version 3.0 functionality with YUV and Alpha layers.
FB console available on top of the 8bpp YUV CLUT layer.
YUV supported formats 4:2:2 (16 bpp) and 4:4:4 (32 bpp), alpha layer format is 8bpp.
Added miscellaneous module.
Miscellaneous interface implements ADV7511 control functions working on top of Cisco adv7511 V4L2 driver.
logiCVC dynamic configuration to preferred resolution of connected display, according to EDID.
Improved driver configuration from kernel configuration menu and DTS file.

Signed-off-by: Davor Joja <davor.joja@logicbricks.com>
11 years agomicroblaze: intc: set the default irq_domain
Dan Christensen [Sun, 17 Mar 2013 09:48:56 +0000 (04:48 -0500)]
microblaze: intc: set the default irq_domain

Register the irq_domain created during initialization as the default so
that device drivers can pass NULL to irq_create_mapping and get a
virtual irq to pass to request_irq.

Signed-off-by: Dan Christensen <opello@opello.org>
11 years agoMerge commit 'v3.8' into master-next
Michal Simek [Fri, 15 Mar 2013 17:39:09 +0000 (18:39 +0100)]
Merge commit 'v3.8' into master-next

ARM Zynq:
Start to use ARM MULTI option (side-effect remove mach-zynq/include folder)
Use smp_operations

Drivers:
Remove mainline clk driver and use origin one.
Remove __devinit, __devexit, __definitdata, __devexit_p, __exit_p from
all drivers

dma:
DMA: PL330: Remove controller clock enable/disable
(sha1: faf6fbc6f2ca3b34bf464a8bb079a998e571957c)
DMA: PL330: Remove redundant runtime_suspend/resume functions
(sha1: 7c71b8eb268ee38235f7e924d943ea9d90e59469)

Nand:
"mtd: kill MTD_NAND_VERIFY_WRITE"
(sha1: 657f28f8811c92724db10d18bbbec70d540147d6)

USB ehci:
USB: EHCI: remove ehci_port_power() routine
(sha1: c73cee717e7d5da0698acb720ad1219646fe4f46)

USB gadget:
usb: gadget: remove global variable composite in composite.c
(sha1: ffe0b335062505a98d7296dae2c2a197713f87e0)
usb: gadget: Clear usb_endpoint_descriptor inside the struct usb_ep on disable
(sha1: f9c56cdd3905c96c600456203637bd7ec8ec6383)
usb: gadget: rename usb_gadget_driver::speed to max_speed
(sha1: 7177aed44f515d949f587170e0e177ce17e74793)
usb: udc: Fix gadget driver's speed check in various UDC drivers
(sha1: bfe0658b402dab3d6fbef4b7bd81a46d0e68eb86)
USB: use usb_endpoint_maxp() instead of le16_to_cpu()
(sha1: 29cc88979a8818cd8c5019426e945aed118b400e)

USB otg:
usb: move children to struct usb_port
(sha1: ff823c79a5c33194c2e5594f7c4686ea3547910c)

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
11 years agocfi: Remove CFI_MFR_NMX and use CFI_MFR_INTEL instead
Michal Simek [Fri, 15 Mar 2013 14:59:14 +0000 (15:59 +0100)]
cfi: Remove CFI_MFR_NMX and use CFI_MFR_INTEL instead

Do not define already defined macro.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
11 years agoarm: zynq: fix indentation and formatting
Chris Kohn [Thu, 14 Mar 2013 23:04:16 +0000 (16:04 -0700)]
arm: zynq: fix indentation and formatting

use tabs consistently for indentation

Signed-off-by: Christian Kohn <christian.kohn@xilinx.com>
11 years agousb: gadget: usbps_udc: Enable kernel module
Michal Simek [Fri, 15 Mar 2013 10:31:17 +0000 (11:31 +0100)]
usb: gadget: usbps_udc: Enable kernel module

Enable option to compile kernel module.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
11 years agoxilinx: vdma: External frame sync issue
Srikanth Thokala [Thu, 14 Mar 2013 03:00:34 +0000 (20:00 -0700)]
xilinx: vdma: External frame sync issue

This fixes external frame sync issue.

Signed-off-by: SrikanthT <sthokal@xilinx.com>
Signed-off-by: Radhey Shyam Pandey <radheys@xilinx.com>
11 years agousb: gadget: Renamed endpoint names
Subbaraya Sundeep Bhatta [Thu, 14 Mar 2013 10:49:32 +0000 (16:19 +0530)]
usb: gadget: Renamed endpoint names

Renamed endpoint names since they generally need to include
endpoint numbers.
ep-a -> ep-1
.
.
ep-g -> ep-7

Signed-off-by: Subbaraya Sundeep Bhatta <sbhatta@xilinx.com>
11 years agousb: gadget: Renamed udc_reinit function
Subbaraya Sundeep Bhatta [Thu, 14 Mar 2013 10:49:31 +0000 (16:19 +0530)]
usb: gadget: Renamed udc_reinit function

Renamed to maintain consistency
udc_reinit -> xudc_reinit

Signed-off-by: Subbaraya Sundeep Bhatta <sbhatta@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
11 years agousb: gadget: Changed variable names to use small case
Subbaraya Sundeep Bhatta [Thu, 14 Mar 2013 10:49:29 +0000 (16:19 +0530)]
usb: gadget: Changed variable names to use small case

Modified variable names to small case as per coding guidelines

Signed-off-by: Subbaraya Sundeep Bhatta <sbhatta@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
11 years agousb: gadget: Added macros to avoid magic values
Subbaraya Sundeep Bhatta [Thu, 14 Mar 2013 10:49:28 +0000 (16:19 +0530)]
usb: gadget: Added macros to avoid magic values

Added macros and updated functions to use macros instead
of magic values.

Signed-off-by: Subbaraya Sundeep Bhatta <sbhatta@xilinx.com>
11 years agousb: gadget: Updated usb_gadget_unregister_driver function
Subbaraya Sundeep Bhatta [Thu, 14 Mar 2013 10:49:25 +0000 (16:19 +0530)]
usb: gadget: Updated usb_gadget_unregister_driver function

Updated usb_gadget_unregister_driver function to stop the device
prior to unbinding

Signed-off-by: Subbaraya Sundeep Bhatta <sbhatta@xilinx.com>
11 years agousb: gadget: Replaced IO functions
Subbaraya Sundeep Bhatta [Thu, 14 Mar 2013 10:49:24 +0000 (16:19 +0530)]
usb: gadget: Replaced IO functions

in_be32 -> udc->read_fn
out_be32 -> udc->write_fn
IO functions are called based on IP Endianess

Signed-off-by: Subbaraya Sundeep Bhatta <sbhatta@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
11 years agousb: gadget: Updated as per latest usb gadget framework-cont
Subbaraya Sundeep Bhatta [Thu, 14 Mar 2013 10:49:27 +0000 (16:19 +0530)]
usb: gadget: Updated as per latest usb gadget framework-cont

- Added xusb_release function
- Renamed usb_gadget_register_driver -> xudc_start
- Renamed usb_gadget_unregister_driver -> xudc_stop
- Modified xudb_udc_ops structure to include xudc_start and xudc_stop
- Modified controller structure to include xusb_release

Signed-off-by: Subbaraya Sundeep Bhatta <sbhatta@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
11 years agousb: gadget: Updated as per latest usb gadget framework-init
Subbaraya Sundeep Bhatta [Thu, 14 Mar 2013 10:49:26 +0000 (16:19 +0530)]
usb: gadget: Updated as per latest usb gadget framework-init

Modified usb_of_probe, xudc_init, usb_of_remove and
xusb_remove functions as per latest usb gadget framework

Signed-off-by: Subbaraya Sundeep Bhatta <sbhatta@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
11 years agousb: gadget: Minor code cleanups
Subbaraya Sundeep Bhatta [Thu, 14 Mar 2013 10:49:23 +0000 (16:19 +0530)]
usb: gadget: Minor code cleanups

- Remove trailing spaces
- Add tabs
- Line over 80 characters

Signed-off-by: Subbaraya Sundeep Bhatta <sbhatta@xilinx.com>
11 years agousb: gadget: Added required header files
Subbaraya Sundeep Bhatta [Thu, 14 Mar 2013 10:49:34 +0000 (16:19 +0530)]
usb: gadget: Added required header files

Added required header files.
Replaced : SA_RESTART -> IRQF_SHARED

Signed-off-by: Subbaraya Sundeep Bhatta <sbhatta@xilinx.com>
11 years agousb: gadget: Removed NO_IRQ
Subbaraya Sundeep Bhatta [Thu, 14 Mar 2013 10:49:33 +0000 (16:19 +0530)]
usb: gadget: Removed NO_IRQ

Updated usb_of_probe not to use NO_IRQ

Signed-off-by: Subbaraya Sundeep Bhatta <sbhatta@xilinx.com>
11 years agousb: gadget: Replaced of_platform_driver with platform_driver
Subbaraya Sundeep Bhatta [Thu, 14 Mar 2013 10:49:22 +0000 (16:19 +0530)]
usb: gadget: Replaced of_platform_driver with platform_driver

of_platform_driver -> platform_driver

Signed-off-by: Subbaraya Sundeep Bhatta <sbhatta@xilinx.com>
11 years agonet: ethernet: axienet: Added memory barriers to remove potential issues
Srikanth Thokala [Wed, 13 Mar 2013 14:28:10 +0000 (19:58 +0530)]
net: ethernet: axienet: Added memory barriers to remove potential issues

This patch puts a write memory barrier to ensure successful BD update
before starting the DMA transmit engine. Similarly, a read memory barrier
is required to ensures that the relevant BD status fields are updated
before the SW processes them.

Signed-off-by: Srikanth Thokala <sthokal@xilinx.com>
11 years agonet: ethernet: axienet: Support for RGMII
Srikanth Thokala [Wed, 13 Mar 2013 14:28:09 +0000 (19:58 +0530)]
net: ethernet: axienet: Support for RGMII

This patch adds support for the RGMII. The h/w configuration
parameter C_PHY_TYPE, which represents the interface configured in
the design, is used to differentiate various interfaces supported
by AXI Ethernet.

Signed-off-by: Srikanth Thokala <sthokal@xilinx.com>
11 years agoarm: zynq: Do not use isa dma infrastructure and remove old pl330 driver
Michal Simek [Tue, 12 Mar 2013 12:05:13 +0000 (13:05 +0100)]
arm: zynq: Do not use isa dma infrastructure and remove old pl330 driver

- Disable ISA_DMA_API and remove appropriate headers
- Update defconfig and enable mainline pl330 driver
- Remove old pl330 driver with configuration option

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
11 years agoarm: zynq: Added dts entry for Zynq PL330 amba device.
Naveen Mamindlapalli [Tue, 12 Mar 2013 07:49:51 +0000 (13:19 +0530)]
arm: zynq: Added dts entry for Zynq PL330 amba device.

Added dts entry for Zynq PL330 amba device.

Signed-off-by: Naveen Mamindlapalli <naveenm@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
11 years agoDMA: PL330: Added support for Zynq PL330 interrupt configuration.
Naveen Mamindlapalli [Tue, 12 Mar 2013 07:49:48 +0000 (13:19 +0530)]
DMA: PL330: Added support for Zynq PL330 interrupt configuration.

Added support for Zynq PL330 interrupt configuration. Zynq supports
8 DMA interrupts and 1 DMA abort interrupt. The device tree needs
to generate all the interrupts.

Signed-off-by: Naveen Mamindlapalli <naveenm@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
11 years agoclk: zynq: Added PL330 DMA clock.
Naveen Mamindlapalli [Tue, 12 Mar 2013 07:49:50 +0000 (13:19 +0530)]
clk: zynq: Added PL330 DMA clock.

Added PL330 DMA clock.

Signed-off-by: Naveen Mamindlapalli <naveenm@xilinx.com>
11 years agodmatest: Fixed alignment issue with PL330 DMA driver for Zynq.
Naveen Mamindlapalli [Tue, 12 Mar 2013 08:25:39 +0000 (13:55 +0530)]
dmatest: Fixed alignment issue with PL330 DMA driver for Zynq.

Fixed alignment issue with PL330 DMA driver for Zynq. This takes
care of MFIFO alignment issues. This needs to be taken care by the
PL330 driver.

Signed-off-by: Naveen Mamindlapalli <naveenm@xilinx.com>
11 years agoarm: amba: Increased number of irqs to handle Zynq PL330 interrupts.
Naveen Mamindlapalli [Tue, 12 Mar 2013 07:49:49 +0000 (13:19 +0530)]
arm: amba: Increased number of irqs to handle Zynq PL330 interrupts.

Increased number of irqs to handle PL330 DMA interrupts. There are
total 9 interrupts supported by Zynq PL330 DMA block.

Signed-off-by: Naveen Mamindlapalli <naveenm@xilinx.com>
11 years agoarm: smp: Remove xilinx ancient hack in common code
Michal Simek [Tue, 12 Mar 2013 11:02:22 +0000 (12:02 +0100)]
arm: smp: Remove xilinx ancient hack in common code

No reason to hack common code.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
11 years agousb: c67x00: trivial: Clean coding style
Michal Simek [Tue, 12 Mar 2013 11:11:05 +0000 (12:11 +0100)]
usb: c67x00: trivial: Clean coding style

Remove trailing white spaces.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
11 years agoarm: zynq: Remove slcr.h
Michal Simek [Tue, 12 Mar 2013 11:05:35 +0000 (12:05 +0100)]
arm: zynq: Remove slcr.h

It is controversial patch because xilinx_devcfg
contains some externs which shouldn't contain
but we can live with this for now because that driver
needs to be changed anyway.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
11 years agoarm: zynq: Move xilinx_system_reset to common.c
Michal Simek [Tue, 12 Mar 2013 11:04:23 +0000 (12:04 +0100)]
arm: zynq: Move xilinx_system_reset to common.c

Move this function out of header.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
11 years agoarm: zynq: Fix compilation warning in suspend code
Michal Simek [Mon, 11 Mar 2013 13:23:27 +0000 (14:23 +0100)]
arm: zynq: Fix compilation warning in suspend code

This should be the part of this patch:
"arm: zynq: Suspend support"
(sha1: 74c679a6809cda93ac7de54fe2ae632974c25409)

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
11 years agoconfigs: Update zynq defconfig to reflect changes
Michal Simek [Mon, 11 Mar 2013 13:10:40 +0000 (14:10 +0100)]
configs: Update zynq defconfig to reflect changes

- enable SMC
- gpio changes because of dynamic irq allocation
- enable xilinx dma drivers + test modules

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
11 years agousb: xilinxps_udc: Added support for Test Mode feature
Naveen Mamindlapalli [Fri, 8 Mar 2013 14:45:29 +0000 (20:15 +0530)]
usb: xilinxps_udc: Added support for Test Mode feature

The test mode is used for compliance testing of USB devices.
All the devices must support this feature for compliance.

As part of this feature, the host sends SET_FEATURE command
with TEST_MODE feature and device needs to enable that test mode.
The exit from TEST_MODE is to power cycle the device.

There are 5 test modes as given below.
1. Test_SE0_NAK
2. Test_J
3. Test_K
4. Test_Packet
5. Test_Force_Enable

For more information, refer to "section 7.1.20 Test Mode Support" of USB 2.0 spec.

Signed-off-by: Naveen Mamindlapalli <naveenm@xilinx.com>
11 years agousb: xilinxps_udc: Fixed USB MSC error recovery test failure
Naveen Mamindlapalli [Fri, 8 Mar 2013 14:46:19 +0000 (20:16 +0530)]
usb: xilinxps_udc: Fixed USB MSC error recovery test failure

Fixed USB mass storage class error recovery test failure as part of
compliance testing using windows USBCV.

If the CBW is not valid, the device shall STALL the Bulk-In pipe.
Also, the device shall either STALL the Bulk-Out pipe, or the device
shall accept and discard any Bulk-Out data. The device shall maintain
this state until a Reset Recovery.

Signed-off-by: Naveen Mamindlapalli <naveenm@xilinx.com>
11 years agousb: xilinxps_udc: Fixed kernel crash during gadget driver unloading.
Naveen Mamindlapalli [Fri, 8 Mar 2013 14:46:18 +0000 (20:16 +0530)]
usb: xilinxps_udc: Fixed kernel crash during gadget driver unloading.

Fixed kernel crash when unloading the gadget driver. The crash is
happening because of accessing otg related pointers when otg driver
is not probed. The USB controller driver is in peripheral mode.

Signed-off-by: Naveen Mamindlapalli <naveenm@xilinx.com>
11 years agousb: xilinxps_udc: Fixed USB halt endpoint support.
Naveen Mamindlapalli [Fri, 8 Mar 2013 14:46:17 +0000 (20:16 +0530)]
usb: xilinxps_udc: Fixed USB halt endpoint support.

Fixed USB halt endpoint support as part of compliance testing
using Windows USBCV tool. The halt endpoint test is
working with g_mass_storage and g_ether gadget. It fails with
g_zero because of g_zero queuing some BULK requests and DCD is
checking whether endpoint request queue is empty before halting.

Signed-off-by: Naveen Mamindlapalli <naveenm@xilinx.com>
11 years agomicroblaze: pcie: Fix section mismatch errors
Srikanth Thokala [Fri, 8 Mar 2013 12:29:14 +0000 (17:59 +0530)]
microblaze: pcie: Fix section mismatch errors

This patch fix section mismatch errors.

WARNING: vmlinux.o(.text+0x81d4): Section mismatch in reference from
the function pcibios_allocate_bus_resources() to the function .init.text:reparent_resources()
The function pcibios_allocate_bus_resources() references
the function __init reparent_resources().
This is often because pcibios_allocate_bus_resources lacks a __init
annotation or the annotation of reparent_resources is wrong.

WARNING: vmlinux.o(.text+0x88d8): Section mismatch in reference from
the function pcibios_finish_adding_to_bus() to the function .devinit.text:pcibios_claim_one_bus()
The function pcibios_finish_adding_to_bus() references
the function __devinit pcibios_claim_one_bus().
This is often because pcibios_finish_adding_to_bus lacks a __devinit
annotation or the annotation of pcibios_claim_one_bus is wrong.

WARNING: vmlinux.o(.text+0x8df0): Section mismatch in reference from
the function fixup_xilinx_axipcie_bridge() to the variable .devinit.data:xilinx_axipcie_match
The function fixup_xilinx_axipcie_bridge() references
the variable __devinitdata xilinx_axipcie_match.
This is often because fixup_xilinx_axipcie_bridge lacks a __devinitdata
annotation or the annotation of xilinx_axipcie_match is wrong.

Signed-off-by: Srikanth Thokala <sthokal@xilinx.com>
11 years agomicroblaze: pcie: Fix rescan issues
Srikanth Thokala [Fri, 8 Mar 2013 12:29:13 +0000 (17:59 +0530)]
microblaze: pcie: Fix rescan issues

This commit addresses following issues:
.  Initially, end point is up and running. When a reset is triggered,
   it clears the bridge-enable bit (it resets on transition from link
   up to down) resulting in failure of rescan.
.  Link is not up (EP is in reset state), during kernel boot.  Then EP
   comes to normal state and Link is up (after kernel boot). User
   cannot issue rescan, as the root port device entry doesn't
   list in /sys/bus/pci.

Signed-off-by: Srikanth Thokala <sthokal@xilinx.com>
11 years agouio: Add two platform uio drivers to one
Michal Simek [Mon, 4 Mar 2013 15:59:36 +0000 (16:59 +0100)]
uio: Add two platform uio drivers to one

- Remove Userspace I/O platform driver without IRQ support
- Add support for uio drivers without IRQ
- Remove code duplication from OF binding

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
11 years agozynq: Synchronize zed board DTS
Michal Simek [Thu, 7 Mar 2013 13:13:47 +0000 (14:13 +0100)]
zynq: Synchronize zed board DTS

Synchronize it with the latest device-tree BSP.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
11 years agozynq: slcr: Remove sparse warning
Michal Simek [Thu, 7 Mar 2013 12:42:27 +0000 (13:42 +0100)]
zynq: slcr: Remove sparse warning

zynq_slcr_base should be declared in the header.
Let's add it.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
11 years agoarm: zynq: Suspend support
Soren Brinkmann [Tue, 5 Mar 2013 17:58:50 +0000 (09:58 -0800)]
arm: zynq: Suspend support

Adding initial suspend support to the Zynq architecture. The
required suspend functions are implemented and suspend is at least
partially working.
Clock gating and PLL bypassing heavily depend on device drivers.
It's likely that drivers/HW not implementing proper suspend
and resume callbacks break when a suspend is triggered.
During suspend DRAM is put into self-refresh and all DDR related clocks
are stopped and the DDR PLL is bypassed.

Signed-off-by: Soren Brinkmann <soren.brinkmann@xilinx.com>
11 years agomemory:zynq-smc: Use default timing when DTS property is not found
Jason Wu [Thu, 7 Mar 2013 02:18:13 +0000 (12:18 +1000)]
memory:zynq-smc: Use default timing when DTS property is not found

If any of the NAND flash timing is missing from the DTS, us the default
NAND flash timing. The default flash timing is for 2Gb Numonyx
MT29F2G08ABAEAWP NAND flash.

Signed-off-by: Jason Wu <huanyu@xilinx.com>
11 years agomemory:zynq-smc: Update DTS property for SMC timing
Jason Wu [Thu, 7 Mar 2013 02:18:12 +0000 (12:18 +1000)]
memory:zynq-smc: Update DTS property for SMC timing

Using the default dts property generated by device tree generator.

Signed-off-by: Jason Wu <huanyu@xilinx.com>
11 years agoxilinx: dts: Update zc706 dts with PLLs
Andrei Simion [Thu, 7 Mar 2013 06:13:09 +0000 (22:13 -0800)]
xilinx: dts: Update zc706 dts with PLLs

Missing PLL entries in the zc706 dts caused kernel boot to hang.

Signed-off-by: Andrei Simion <andrei.simion@xilinx.com>
Acked-by: Soren Brinkmann <soren.brinkmann@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
11 years agousb: xusbps: Reuse struct device_node across all usb devices
Soren Brinkmann [Thu, 7 Mar 2013 01:16:43 +0000 (17:16 -0800)]
usb: xusbps: Reuse struct device_node across all usb devices

The DT has only a single node for USB, but the driver creates several
platform devices, dependent on the USB driver mode. So, synchronize
the struct device_node pointers across those devices to refer to the
only DT node for USB.

Signed-off-by: Soren Brinkmann <soren.brinkmann@xilinx.com>