Shenwei Wang [Mon, 16 Feb 2015 16:27:37 +0000 (10:27 -0600)]
MLK-10210 WIFI: ath6kl: Fixed the issue that warning messages were printed when uninstalling ath6kl_sdio after iperf test.
When handing the command "ifconfig wlan0 down", the driver handler did
not notify the disconnected event to the upper layer stack cfg80211,
which would cause the relating resources unable to be released. A
notification of disconnet event to cfg80211 was added when the driver
was changed to the disconnect state.
Dong Aisheng [Wed, 11 Feb 2015 07:12:44 +0000 (15:12 +0800)]
MLK-10211 can: flexcan: fix resume failed issue
We can observe the following error during system resume.
dpm_run_callback(): platform_pm_resume+0x0/0x4c returns -110
PM: Device 2090000.can failed to resume: error -110
It is caused by the flexcan is in disable state and the clock is disabled
by default while the CAN is not up. During resume, the calling of
flexcan_chip_enable will obviously fail due to no clock.
The issue only happened when CAN device is not up. If CAN is up, clock is there
and no issue will happen.
Because the CAN is always in disabled state by default if it's not up.
We don't have to disable it again during suspend and enable it after resume.
This patch simply the suspend/resume to only enter/exit disabled mode if CAN
is up.
Sandor Yu [Thu, 5 Mar 2015 10:38:30 +0000 (18:38 +0800)]
MLK-10269: dts: Change sii902x hdmi bpp from 32 to 16
In imx6sl/sx dts, the lcdif display bpp is setting to 16,
and sii902x hdmi driver bpp is 32.
The sii902x driver will overwrite the display bpp when it loading,
but some module such as v4l2 output driver is misses bpp change event.
So align sii902x hdmi driver bpp with lcdif display bpp.
Bai Ping [Sat, 28 Feb 2015 11:19:56 +0000 (19:19 +0800)]
MLK-10271 cpufreq: imx6: improve busfreq operation when wehn setpoint lower than 396MHz
for i.MX6SX, according to the latest datasheet, added a 198MHz setpoint in cpufreq driver.
The 198MHz setpoint is NOT enough to support playing mp3,the system will stay at a higher
setpoint and high_bus_mode. So when having a setpoint lower than 396MHz, make sure when
the cpufreq is at 396MHz or lower, the busfreq is always in low_bus_mode to save more power.
Dong Aisheng [Fri, 6 Feb 2015 09:33:04 +0000 (17:33 +0800)]
MLK-10228 dts: imx6qdl-sabreauto: remove SDb WP pin which is not connect by default
SDb WP pin is not connected by default on MX6Q CPU2 board, so we removed it
in DTS file. BTW, SDb slot is designed for WiFi slot, it is ok to disable WP
for old CPU board also.
Peter Chen [Sun, 15 Feb 2015 07:44:43 +0000 (15:44 +0800)]
MLK-10279-2 usb: chipidea: imx: only do charger detection if we enable it
We should only do charger detection if both we have enabled
usb charger at kernel configuration and set usb charger enable
at dts. Otherwise, we will do useless things, like toggle dp.
Peter Chen [Sun, 15 Feb 2015 06:42:21 +0000 (14:42 +0800)]
MLK-10279-1 usb: common: otg-fsm: only signal connect after switching to peripheral
We should signal connect (pull up dp) after we have already
at peripheral mode, otherwise, the dp may be toggled due to
we reset controller or do disconnect during the initialization
for peripheral, then, the host may be confused during the
enumeration, eg, it finds the reset can't succeed, but the
device is still there, see below error message.
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
hub 1-0:1.0: cannot reset port 1 (err = -32)
hub 1-0:1.0: cannot reset port 1 (err = -32)
hub 1-0:1.0: cannot reset port 1 (err = -32)
hub 1-0:1.0: cannot reset port 1 (err = -32)
hub 1-0:1.0: cannot reset port 1 (err = -32)
hub 1-0:1.0: Cannot enable port 1. Maybe the USB cable is bad?
hub 1-0:1.0: cannot reset port 1 (err = -32)
hub 1-0:1.0: cannot reset port 1 (err = -32)
hub 1-0:1.0: cannot reset port 1 (err = -32)
hub 1-0:1.0: cannot reset port 1 (err = -32)
hub 1-0:1.0: cannot reset port 1 (err = -32)
hub 1-0:1.0: Cannot enable port 1. Maybe the USB cable is bad?
hub 1-0:1.0: cannot reset port 1 (err = -32)
hub 1-0:1.0: cannot reset port 1 (err = -32)
hub 1-0:1.0: cannot reset port 1 (err = -32)
hub 1-0:1.0: cannot reset port 1 (err = -32)
hub 1-0:1.0: cannot reset port 1 (err = -32)
hub 1-0:1.0: Cannot enable port 1. Maybe the USB cable is bad?
hub 1-0:1.0: cannot reset port 1 (err = -32)
hub 1-0:1.0: cannot reset port 1 (err = -32)
hub 1-0:1.0: cannot reset port 1 (err = -32)
hub 1-0:1.0: cannot reset port 1 (err = -32)
hub 1-0:1.0: cannot reset port 1 (err = -32)
hub 1-0:1.0: Cannot enable port 1. Maybe the USB cable is bad?
hub 1-0:1.0: unable to enumerate USB device on port 1
The PL310 integrated on i.MX6 series and VF610 are revision r3p1 and
later. Per ARM PL310 errata document, 588369 is fixed in r2p0 and
727915 is fixed in r3p1. Neither is needed for i.MX6 or VF610. So
let's drop them.
Robby Cai [Sun, 15 Feb 2015 06:00:14 +0000 (14:00 +0800)]
MLK-10248 video: ipuv3-fb: fix hang up with cmdline option for CLAA WVGA
The kernel boot stops at "Starting kernel ..." if assign cmdline
"video=mxcfb0:dev=lcd,if=RGB565".
The cause is that there's no 'mode_str' property for mxcfb0 in DTS file,
so of_property_read_string() does not touch it and 'mode_str' could be used
uninitialized in mxcfb_get_of_property(), where it's assigned to
plat_data->mode_str and then used uninitialized in fb_find_mode().
This may cause buffer overflow. This patch initializes 'mode_str' to NULL
to fix it.
Li Jun [Wed, 11 Feb 2015 10:32:33 +0000 (18:32 +0800)]
MLK-10243 usb: chipidea: udc: enable and disable BSV irq only for ID change
Since BSV irq is only used for B-device, this patch correct the setting of
BSVIE of otgsc only for case of ID change, that is:
- In otg fsm mode, ID change from 0 to 1 means otg state from A_IDLE to
B_IDLE; ID change from 1 to 0 means otg state from B_IDLE to A_IDLE, so
only disable BSVIE if the current state is B_IDLE(to be update to A_IDLE),
only enable BSVIE if the current state is A_IDLE(to be update to B_IDLE).
- In non-otg-fsm mode, it's already correct.
This fix the bug of MLK-10243.
Signed-off-by: Li Jun <jun.li@freescale.com> Signed-off-by: Peter Chen <peter.chen@freescale.com>
(cherry picked from commit c6151e8cc4a01128cbab4b26c09f859cfcd7ff39)
Han Xu [Wed, 11 Feb 2015 22:06:21 +0000 (16:06 -0600)]
MLK-10245: mtd: nand: may use minimum required ecc for 744 oobsize NAND
By default, NAND driver will choose the highest ecc strength that oob
could contain, in this case, for some 8K+744 NAND flash, the ecc
strength will be up to 52bit, which is beyond the i.MX6QDL BCH
capability (40bit).
This code change allows the NAND driver try to use minimum required ecc
strength if it failed to use the highest ecc, even without explicitly
claiming "fsl,use-minimum-ecc" in dts.
Sandor Yu [Wed, 11 Feb 2015 08:06:03 +0000 (16:06 +0800)]
MLK-10249: vadc: improve vadc video mode detected
After enable dispmix function, vadc driver 50%
failed to detect video mode.
Add video signal state check before read the result
of video mode detect, vadc driver detected correct video mode
increase to 95%.
Sandor Yu [Wed, 11 Feb 2015 08:12:36 +0000 (16:12 +0800)]
MLK-10232-1: vadc: Add vadc to generic pm domain
Vadc in the dispmix power domian, the register will been reset
when dispmix power off, add vadc to generic pm domain,
dispmix will not power off when vadc driver loading.
Richard Zhu [Thu, 5 Feb 2015 08:13:07 +0000 (16:13 +0800)]
MLK-10203-1 pci: imx: enable imx6qdl pcie support
enable imx6qdl pcie on imx_3.14 kernel
and add the pcie pm workaround for imx6qdl.
------
L2 can exit by 'reset' or Inband beacon (from remote EP)
toggling phy_powerdown has same effect as 'inband beacon'
So, toggle bit18 of GPR1, used as a workaround of errata
"PCIe PCIe does not support L2 Power Down"
WARNING: This is not official workaround for ERR005723.
Fortunately, we don't encounter issue with this workaround.
User should take own risk to use it.
Li Jun [Tue, 3 Feb 2015 05:40:47 +0000 (13:40 +0800)]
MLK-10179-1 usb: chipidea: add a flag for turn on vbus early for host
Some PHY of imx usb need power supply from vbus to make it work, if there
is no vbus, USB PHY will not in correct state when the controller starts to
work, for host, this requires vbus should be turned on before setting port
power(PP) of ehci, to work with this kind of USB PHY design, this patch adds
a flag CI_HDRC_IMX_VBUS_EARLY_ON, can be checked by host driver to turn on
vbus while start host.
Robin Gong [Tue, 10 Feb 2015 00:27:42 +0000 (08:27 +0800)]
MLK-10238-3: ARM: imx: gpc: correct the function and structure
Correct the function and structure since update the below patch
(24d70aa Revert "base: power: Add generic OF-based power domain look-up")
(dc092bc PM / Domains: Add generic OF-based PM domain look-up) Signed-off-by: Robin Gong <b38343@freescale.com>
(cherry picked from commit bddfa2a6ffa844d9a21a63dab974b993e4eccc41)
drivercore / platform: Convert to dev_pm_domain_attach|detach()
Previously only the ACPI PM domain was supported by the platform bus.
Let's convert to the common attach/detach functions for PM domains,
which currently means we are extending the support to include the
generic PM domain as well.
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> Tested-by: Philipp Zabel <p.zabel@pengutronix.de> Reviewed-by: Kevin Hilman <khilman@linaro.org> Reviewed-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
(cherry picked from commit cb51841397e8e5714cf82a7f91053f6e1fb80d1f)
(cherry picked from commit cd4edd4cb84f9dadb9e8f12b1e1f10bf2ef28749)
PM / Domains: Add APIs to attach/detach a PM domain for a device
To maintain scalability let's add common methods to attach and detach
a PM domain for a device, dev_pm_domain_attach|detach().
Typically dev_pm_domain_attach() shall be invoked from subsystem level
code at the probe phase to try to attach a device to its PM domain.
The reversed actions may be done a the remove phase and then by
invoking dev_pm_domain_detach().
When attachment succeeds, the attach function should assign its
corresponding detach function to a new ->detach() callback added in the
struct dev_pm_domain.
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> Tested-by: Philipp Zabel <p.zabel@pengutronix.de> Reviewed-by: Kevin Hilman <khilman@linaro.org> Reviewed-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
(cherry picked from commit 46420dd73b800f87a19af13af5883855cf38cb08)
(cherry picked from commit 451a5b00e51410adc16f8349ed753f7eced46bc5)
This patch introduces generic code to perform PM domain look-up using
device tree and automatically bind devices to their PM domains.
Generic device tree bindings are introduced to specify PM domains of
devices in their device tree nodes.
Backwards compatibility with legacy Samsung-specific PM domain bindings
is provided, but for now the new code is not compiled when
CONFIG_ARCH_EXYNOS is selected to avoid collision with legacy code.
This will change as soon as the Exynos PM domain code gets converted to
use the generic framework in further patch.
This patch was originally submitted by Tomasz Figa when he was employed
by Samsung.
PM / domains: Remove dev_irq_safe from genpd config
The genpd dev_irq_safe configuration somewhat overlaps with the runtime
PM pm_runtime_irq_safe() option. Also, currently genpd don't have a
good way to deal with these device. So, until we figured out if and how
to support this in genpd, let's remove the option to configure it.
Tushar Behera [Fri, 28 Mar 2014 05:20:21 +0000 (10:50 +0530)]
PM / domains: Add pd_ignore_unused to keep power domains enabled
Keep all power-domains already enabled by bootloader on, even if no
driver has claimed them. This is useful for debug and development, but
should not be needed on a platform with proper driver support.
Paul Gortmaker [Tue, 21 Jan 2014 21:23:10 +0000 (16:23 -0500)]
drivers/base: delete non-required instances of include <linux/init.h>
None of these files are actually using any __init type directives
and hence don't need to include <linux/init.h>. Most are just a
left over from __devinit and __cpuinit removal, or simply due to
code getting copied from one driver to the next.
Cc: Len Brown <len.brown@intel.com> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> Acked-by: Pavel Machek <pavel@ucw.cz> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Acked-by: Mark Brown <broonie@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 4272b9611c30f99f51590085998129480f2fe45e)
(cherry picked from commit 9680398849d6b7f74cf8874522c16064a3df535d)
Add support to leave PLL1 enabled since its required whenever ARM-PODF is
changed. With this patch PLL1 is set to bypassed mode (and enabled) whenever
ARM is sourced from step_clk.
Add support to leave PLL1 enabled since its required whenever ARM-PODF is
changed. With this patch PLL1 is set to bypassed mode (and enabled) whenever
ARM is sourced from step_clk.
Add support to leave PLL1 enabled since its required whenever ARM-PODF is
changed. With this patch PLL1 is set to bypassed mode (and enabled) whenever
ARM is sourced from step_clk.
Also change imx6dl.dtsi to use #defines instead of hard-coded numbers for
busfreq clocks.
Shengjiu Wang [Mon, 9 Feb 2015 10:19:38 +0000 (18:19 +0800)]
MLK-10214-2: regmap: rbtree: Fix the shift issue.
The right shift should be changed to left shift. Lower register
address correspond to LSB of the cache_present, if right shift
old cache_present, the valid bits is moved out, then the new
cache_present is not correct.
Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
The SDMA driver doesn't support DMA_PAUSE and DMA_RESUME commands.
So this patch use TRIGGER_START for TRIGGER_RESUME and TRIGGER_SUSPEND
for TRIGGER_STOP as a work around so that Audio can normally stop
and restart its corresponding DMA channels.
Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
We've got a race condition bewteen the interrupt handler mxsfb_irq_handler()
and the function mxsfb_wait_for_vsync() on the flag host->wait4vsync.
If a CUR_FRAME_DONE interrupt comes and we just finish setting host->wait4vsync
to be 1 in mxsfb_wait_for_vsync() before we go to the interrupt handler, we are
likely to see the VSYNC_EDGE interrupt status bit asserted in the interrupt
handler for the CUR_FRAME_DONE interrupt, disable the not yet enabled VSYNC_EDGE
interrupt and finally clear host->wait4vsync.
Then, we go back to mxsfb_wait_for_vsync() and enable the VSYNC_EDGE interrupt
with host->wait4vsync=0. This may leave the VSYNC_EDGE interrupt enabled all
the time and never get a chance to be disabled in the interrupt handler.
So, we are deemed to hang up because the uncleared VSYNC_EDGE interrupt status
bit will cause the CPU to be trapped forever, according to SoC designer's words.
This patch corrects the interrupt handling to handle only the interrupts which
are acknowledged by checking both the interrupt enablement bits and the status
bits but not the status bits only. This may avoid any bogus interrupt from
being handled.
Dan Douglass [Thu, 20 Feb 2014 17:25:56 +0000 (11:25 -0600)]
ENGR00292341 imx6sl hwrng
Add hwrng support for i.MX6SL.
1. Add RNG driver. This driver originated as fsl-rngc.c. It
has been modified to support device tree. The name has been
changed since it supports both b and c variants of RNG.
2. Added clock and compatible info to the device tree data.
3. Added the entry in the options in the Kconfig for hwrng.
Signed-off-by: Dan Douglass <dan.douglass@freescale.com> Signed-off-by: Victoria Milhoan <vicki.milhoan@freescale.com>
(cherry picked from commit 586166b87eee2e5ec40331032aed8c8eaec884f3)
Xianzhong [Fri, 6 Feb 2015 06:58:38 +0000 (14:58 +0800)]
MGS-504 imx: i.MX6DL gpu3d_core_clk should be 528M instead of 396M
This patch is refined from the previous commit 20d89c9c909:
-Update the parent of gpu2d_core for mx6dl.
-Update the parent of gpu3d_shader and gpu3d_core for mx6dl.
-Update the clock of gpu3d_shader and gpu3d_core for mx6dl.
The code change is cherry-picked from patch 00e75bcba16d.
Signed-off-by: Loren Huang <b02279@freescale.com> Signed-off-by: Xianzhong <b07117@freescale.com> Acked-by: Jason Liu
(cherry picked from commit e63222bdba7c2de063c6367017ccd6a1d1d3cc22)
ENGR00299939-3 USB: imx6x: Add dummy LDO2p5 regulator for VBUS wakeup
LDO2p5 cannot be disabled in low power idle mode when the USB driver
enables VBUS wakeup. To identify when LDO2p5 can be disabled add a dummy
regulator that the USB driver will enable when VBUS wakeup is required.
Bai Ping [Fri, 30 Jan 2015 10:56:40 +0000 (18:56 +0800)]
MLK-10188 arm: imx: Add dummy LDO2p5 regulator for VBUS wakeup
LDO2p5 cannot be disabled in low power idle mode when the USB driver
enables VBUS wakeup. To identify when LDO2p5 can be disabled add a dummy
regulator that the USB driver will enable when VBUS wakeup is required.
This patch is copied from commit 7d849e4d9ebca3c as code the structure has
changed too many. directly cherry-pick has too many conflicts to resolve
conflict: arch/arm/match-imx/match-imx6sx.c
Some patches have not been moved from 3.10 to 3.14. Rewrite the logic
as what the pre-commit has done and resolve the conflict.
Sandor Yu [Mon, 2 Feb 2015 05:54:23 +0000 (13:54 +0800)]
MLK-10192: dts: Move sii902x hdmi function to imx6sx sdb lcdif1 dts
-Sii902x hdmi daughter connect to lcdif1 interface,
move this function to lcdif1 dts.
-Sii902x hdmi driver share the reset pin with ov5640 driver,
one driver will been reset by the other driver,
so move sii902x reset pin configure to licdif1 dts.
ENGR00279980 ubi: attach: do not return -EINVAL if the mtd->numeraseregions is 1
If the master mtd does not have any slave mtd partitions,
and its numeraseregions is one(only has one erease block), and
we attach the master mtd with : ubiattach -m 0 -d 0
We will meet the error:
-------------------------------------------------------
root@freescale ~$ ubiattach /dev/ubi_ctrl -m 0 -d 0
UBI: attaching mtd0 to ubi0
UBI error: io_init: multiple regions, not implemented
ubiattach: error!: cannot attach mtd0
error 22 (Invalid argument)
-------------------------------------------------------
In fact, if there is only one "erase block", we should not
prevent the attach.
Sandor Yu [Fri, 30 Jan 2015 09:25:40 +0000 (17:25 +0800)]
MLK-10182: cam :Module can't load/unload twice without camera connected
If no camera connected, ov5640 driver loading failed,
but the driver have register subdev by v4l2_async_register_subdev.
v4l2_async_unregister_subdev function in remove function
and not been called when module unloading.
Same subdev can not register twice, v4l2 async driver will print
error message in the second module loading.
Move v4l2_async_register_subdev function after ov5640 is succeed
found to fix the issue.
Currently wpa_supplicant in yocto rootfs does not work properly due to RFKILL
feature and Yocto upgrade.
It causes the WiFi in new Yocto rootfs unable to get ip address via DHCP.
The root cause is still unkown.
This patch temporarily disable RFKILL feature to make WiFi work first.
Current there's no user of RFKILL in Yocto rootfs.
We will enable it again if needed after the issue is fixed.
Dong Aisheng [Fri, 8 Nov 2013 07:48:23 +0000 (15:48 +0800)]
ENGR00286971-1 imx6q: add sanity check for getting gpio for flexcan
This is used to avoid a warning:
WARNING: at /home/b29397/work/projects/linux-2.6-imx/drivers/gpio/gpiolib.c:126
gpio_to_desc+0x30/0x44()
invalid GPIO -517
Modules linked in:
....
gpiod_request: invalid GPIO
Sandor Yu [Fri, 23 Jan 2015 06:18:01 +0000 (14:18 +0800)]
MLK-10137:csi: Return physical address in querybuffer call
GST application want to use physical address even video buffer
allocated with type of V4L2_MEMORY_MMAP.
So add a trick in querybuffer function, if video buffer flags
is setting to V4L2_BUF_FLAG_MAPPED, overwirte m.offset with
physical address.
Bai Ping [Thu, 29 Jan 2015 11:09:39 +0000 (19:09 +0800)]
MLK-10175 arm: imx6: Skip gating QSPI2 clk when M4 is enabled
When the M4 core is enabled on i.MX6, the QSPI2 clk can't be gated,
otherwise, the M4 will hang. This patch add a check to make sure when
M4 is enabled, just skip the QSPI2 clk gating operations.
Li Jun [Wed, 10 Sep 2014 09:49:33 +0000 (17:49 +0800)]
ENGR00325832 usb: chipidea: usb vbus glitch check logic change
This patch changes the vbus glitch check to cover usb otg certification
case, so the possible cases of vbus rise:
- USB vbus can reach AVV(4.4v), valid vbus.
- USB vbus keeps above BSV(0.8v) but lower than AVV(4.4v) for
more than 300ms, we think it's valid vbus event, this can meet
usb otg certificataion case(B device can do connection in 1s when
vbus is 4.0v).
- USB vbus cannot be kept above BSV(0.8v) for more than 300ms,
it's a vbus glitch.
In case of vbus drop: if the vbus on flag is not set, it's a vbus glitch,
otherwise it's a valid vbus drop event.
Acked-by: Peter Chen <peter.chen@freescale.com> Signed-off-by: Li Jun <b47624@freescale.com>
(cherry picked from commit de5ab444839b6d1492d697256ea2b8a1dcaffc62)
We add vbus glitch handling for both BSV rise and drop interruptes.
If it is a vbus glitch (higher than BSV but cannot reach AVV), ignore it.
Signed-off-by: Peter Chen <peter.chen@freescale.com> Signed-off-by: Li Jun <b47624@freescale.com>
(cherry picked from commit 827f2fe71e6222882930db7e89460087cb3bce5b)
Shengjiu Wang [Tue, 27 Jan 2015 08:44:34 +0000 (16:44 +0800)]
MLK-10161-3: ARM: imx6sx: Add SPDIF_GCLK clock in clock tree
As spdif driver will register SPDIF clock to regmap, regmap will do
clk_prepare in init function, so SPDIF clock is prepared in probe, then its
root clock (pll clock) is prepared also, which cause the arm can't enter
low power mode.
Add SPDIF_GCLK in clock tree which share same gate bits with SPDIF clock.
Its root clock is ipg clock, and register it to regmap, then the issue can be
fixed.
Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
Shengjiu Wang [Tue, 27 Jan 2015 08:43:17 +0000 (16:43 +0800)]
MLK-10161-2: ARM: imx6sl: Add SPDIF_GCLK clock in clock tree
As spdif driver will register SPDIF clock to regmap, regmap will do
clk_prepare in init function, so SPDIF clock is prepared in probe, then its
root clock (pll clock) is prepared also, which cause the arm can't enter
low power mode.
Add SPDIF_GCLK in clock tree which share same gate bits with SPDIF clock.
Its root clock is ipg clock, and register it to regmap, then the issue can be
fixed.
Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
Shengjiu Wang [Tue, 27 Jan 2015 08:24:53 +0000 (16:24 +0800)]
MLK-10161-1: ARM: imx6q: Add SPDIF_GCLK clock in clock tree
As spdif driver will register SPDIF clock to regmap, regmap will do
clk_prepare in init function, so SPDIF clock is prepared in probe, then its
root clock (pll clock) is prepared also, which cause the arm can't enter
low power mode.
Add SPDIF_GCLK in clock tree which share same gate bits with SPDIF clock.
Its root clock is ipg clock, and register it to regmap, then the issue can be
fixed.
Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
Li Jun [Tue, 27 Jan 2015 09:11:14 +0000 (17:11 +0800)]
MLK-10101-4 usb: add otg_fsm pointer in usb_bus
Add otg_fsm pointer in struct of usb_bus for access otg_fsm via bus.
Original way was to put it in usb_otg, then usb host can access otg_fsm via
hcd->usb_phy->otg->fsm, since usb_phy will not be the future direction, instead
phy is prefered, so this way may not work. It's more direct and simple to put
it in usb_bus.
Li Jun [Sun, 28 Sep 2014 05:55:01 +0000 (13:55 +0800)]
MLK-9618-1 doc: usb: chipidea: select gadget drivers for otg compliance test
This patch adds guide for selecting available gadget drivers for otg and EH
compliance tests.
Acked-by: Peter Chen <peter.chen@freescale.com> Signed-off-by: Li Jun <b47624@freescale.com>
(cherry picked from commit 520cac9e4fe938887dd45b5b4df6c8e35e125a59)
Li Jun [Mon, 1 Sep 2014 07:44:15 +0000 (15:44 +0800)]
MLK-9617-2 usb: gadget: set bcdOTG of OTG descriptor for gadget drivers
This patch sets bcdOTG field of OTG descriptor for below 3 gadget drivers:
- ether
- mass storage
- serial
OTG and EH supplement release number in binary-coded decimal(i.e. 2.0 is 0200H).
Acked-by: Peter Chen <peter.chen@freescale.com> Signed-off-by: Li Jun <b47624@freescale.com>
(cherry picked from commit a426ace68acd9b770ce3a609f92029782b8ca1d1)
Li Jun [Thu, 9 Jan 2014 02:25:55 +0000 (10:25 +0800)]
MLK-9617-1 usb: otg: update otg descriptor definition for OTG and EH 2.0
Add one field bcdOTG for OTG and EH supplement release number in OTG
descriptor according to On-The-Go and Embedded Host Supplement to the
USB Revision 2.0 Specification Revision 2.0 version 1.1a.
Acked-by: Peter Chen <peter.chen@freescale.com> Signed-off-by: Li Jun <b47624@freescale.com>
(cherry picked from commit 1bf5e829100a2922826818bd8cbb18ee81452cfc)
The default TPL is for USB OTG & EH compliance test, the supported
class is: mass storage, hub, and hid.
Besides, we add one match criterion that matching targeted device
through class at interface descriptor.
Tested-by: Li Jun <b47624@freescale.com> Signed-off-by: Peter Chen <peter.chen@freescale.com>
(cherry picked from commit 483c071d989ceb36cacf76e1e3e779c67e5b8280)
Li Jun [Mon, 22 Sep 2014 08:19:59 +0000 (16:19 +0800)]
ENGR00331016-5 usb: chipidea: otg: clear b_bus_req when vbus is off
In case of b_peripheral --> b_wait_acon --> b_idle due to vbus off
in b_wait_acon state, b_bus_req cannot be cleared in b_idle state,
which result in b device will do data pulse because b_bus_req is set.
This patch fix this issue by clear the input variable b_bus_req when
vbus is off.
Acked-by: Peter Chen <peter.chen@freescale.com> Signed-off-by: Li Jun <b47624@freescale.com>
(cherry picked from commit bc600546bf9193f1a39186ad4c07a5fd497c7bfd)
Since BSV irq is enabled for B-device all the time, so B_SESS_VLD timer
is not required, and also no need to check BSV status when B_ASE0_BRST
timer timeout.
Acked-by: Peter Chen <peter.chen@freescale.com> Signed-off-by: Li Jun <b47624@freescale.com>
(cherry picked from commit a7d0b864b613c555add9ea864eb8c163e1d3362e)
Li Jun [Tue, 27 Jan 2015 07:01:57 +0000 (15:01 +0800)]
MLK-10101-3 usb: chipidea: otg: enable BSV irq when OTG B-device in host mode
When B-device in host mode, if Vbus is off by A-device or A-device is removed,
B-device should update charger status correctly. This patch enables BSV irq
for B-device in all states, so the charger connection and removal can be early
handled by BSV change irq.
Li Jun [Tue, 27 Jan 2015 03:30:35 +0000 (11:30 +0800)]
MLK-10101-2 usb: chipidea: otg: delay to enter low power mode for a_host
There is 2s delay for controller resume from usb wakeup case already,
in OTG fsm mode, A-dev can start a new session via sys input file(means
not via usb wakeup), in this case, A-dev still need the 2s delay for
host root hub access registers, otherwise system will hang due to access
register at low power mode.
Peter Chen [Fri, 3 Jan 2014 05:45:30 +0000 (13:45 +0800)]
ENGR00292408-2 usb: chipidea: imx: enable different wakeup setting
We have different wakeup setting for different roles:
For peripheral-only mode, we may only enable vbus wakeup.
The Micro-AB cable should not be considered as wakeup source.
For host-only mode, the ID change or vbus change should not be
considered as wakeup source.
For OTG mode, all wakeup setting should be considered as wakeup
source.