24 Oct, 2016
1 commit
-
Socionext LD11 SoC (arch/arm64/boot/dts/socionext/uniphier-ld11.dtsi)
needs to handle 4 reset lines for EHCI.Signed-off-by: Masahiro Yamada
Signed-off-by: Greg Kroah-Hartman
15 Aug, 2016
1 commit
-
Allwinner A64 EHCI requires 4 clocks to be enabled.
Signed-off-by: Icenowy Zheng
Acked-by: Alan Stern
Signed-off-by: Greg Kroah-Hartman
09 Jun, 2016
1 commit
-
Add support for shared platform controllers by using
devm_reset_control_get_shared_by_index instead of
of_reset_control_get_by_index.Note we use the devm function because there is no
of_reset_control_get_shared_by_index, this also leads
to a nice cleanup of the cleanup code.This brings the ehci-platform reset handling code inline
with ohci-platform.Signed-off-by: Hans de Goede
Acked-by: Alan Stern
Signed-off-by: Greg Kroah-Hartman
08 Jun, 2016
1 commit
-
Some ehci compatible controllers have more than one reset signal lines,
e.g., Synopsys DWC USB2.0 Host-AHB Controller has two resets hreset_i_n
and phy_rst_i_n. Two more resets are added in this patch in order for
this kind of controller to use this driver directly.Signed-off-by: Jiancheng Xue
Acked-by: Alan Stern
Signed-off-by: Greg Kroah-Hartman
25 Jan, 2016
1 commit
-
Use to_platform_device() instead of open-coding it.
Signed-off-by: Geliang Tang
Signed-off-by: Greg Kroah-Hartman
04 Oct, 2015
2 commits
-
This enables USB on the ARM juno board when booted with
an ACPI kernel. The PNP id comes from the PNP/ACPI registry
and describes an EHCI controller without debug.Tested-by: Huang Shijie
Reviewed-by: Graeme Gregory
Reviewed-by: Hanjun Guo
Acked-by: Alan Stern
Signed-off-by: Jeremy Linton
Signed-off-by: Greg Kroah-Hartman -
If the ehci driver fails to configure the dma settings then display
a dev error instead of simply failing. This is triggered in an
ACPI world if the user fails to set the _CCA on the device.Tested-by: Huang Shijie
Reviewed-by: Graeme Gregory
Reviewed-by: Hanjun Guo
Acked-by: Alan Stern
Signed-off-by: Jeremy Linton
Signed-off-by: Greg Kroah-Hartman
06 Aug, 2015
1 commit
-
When using OF defined controllers the platform data struct is shared
between all devices, so it can't be used for device specific settings.
However it is currently used for the OF properties
needs-reset-on-resume and has-transaction-translator.To fix this issue move setting hcd->has_tt to the probe and
move pdata->reset_on_resume to the private data.Signed-off-by: Alban Bedel
Acked-by: Alan Stern
Signed-off-by: Greg Kroah-Hartman
03 Jun, 2015
1 commit
-
…/linux-phy into usb-next
Kishon writes:
phy: for 4.2 merge window
*) new Broadcom SATA3 PHY driver for Broadcom STB SoCs
*) new phy API to get PHY by index which is used in EHCI and
OHCI controller drivers
*) support specifying supply at port level used for multi-port PHYs
*) sparse warning fixes in miphy PHYs
*) fix pm_runtime issues in twl4030 driverSigned-off-by: Kishon Vijay Abraham I <kishon@ti.com>
25 May, 2015
1 commit
-
Some EHCI controllers have a Transaction Translator built into
the root hub. Support this feature in device tree when using
the ehci-platform driver by adding a feature flag for it.This is needed to get USB working on NXP LPC18xx/43xx platforms.
Signed-off-by: Joachim Eastwood
Acked-by: Alan Stern
Signed-off-by: Greg Kroah-Hartman
12 May, 2015
1 commit
-
Getting phys by index instead of phy names so that we do
not have to create a naming scheme when multiple phys
are presentSigned-off-by: Arun Ramamurthy
Reviewed-by: Ray Jui
Reviewed-by: Scott Branden
Acked-by: Alan Stern
Signed-off-by: Kishon Vijay Abraham I
25 Jan, 2015
2 commits
-
Added support for cases where one controller is connected
to multiple phys.Signed-off-by: Arun Ramamurthy
Reviewed-by: Ray Jui
Reviewed-by: Scott Branden
Tested-by: Scott Branden
Acked-by: Alan Stern
Signed-off-by: Greg Kroah-Hartman -
ehci-octeon driver used a 64-bit dma_mask. With removal of ehci-octeon
and usage of ehci-platform ehci dma_mask is now limited to 32 bits
(coerced in ehci_platform_probe).Provide a flag in ehci platform data to allow use of 64 bits for
dma_mask.Cc: David Daney
Cc: Alex Smith
Signed-off-by: Andreas Herrmann
Tested-by: Aaro Koskinen
Acked-by: Alan Stern
Signed-off-by: Greg Kroah-Hartman
10 Jan, 2015
2 commits
-
Instead rely on device tree information for ehci and ohci.
This was suggested with
http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=1401358203-60225-4-git-send-email-alex.smith%40imgtec.com"The device tree will *always* have correct ehci/ohci clock
configuration, so use it. This allows us to remove a big chunk of
platform configuration code from octeon-platform.c."More or less I rebased that patch on Alan's work to remove ehci-octeon
and ohci-octeon drivers.Cc: David Daney
Cc: Alex Smith
Cc: Alan Stern
Signed-off-by: Andreas Herrmann
Acked-by: Ralf Baechle
Tested-by: Aaro Koskinen
Signed-off-by: Greg Kroah-Hartman -
The Rockchip rk3288 EHCI controller doesn't properly detect
the case when a device is removed during suspend. Specifically,
when usb resume from suspend, the EHCI controller maintaining
the USB state (FLAG_CF is 1, Current Connect Status is 1),
but a USB device (like a USB camera on rk3288) may have been
disconnected actually.Let's add a quirk to force ehci to go into the
usb_root_hub_lost_power() path and reset after resume.
This should generally reset the whole controller and all
ports and initialize everything cleanly again, and bring
the devices back up.As part of this, rename the "hibernation" paramter of
ehci_resume() to force_reset since hibernation is simply
another case where we can't trust the autodetected status
and need to force a reset of devices.Signed-off-by: Wu Liang feng
Reviewed-by: Julius Werner
Reviewed-by: Doug Anderson
Reviewed-by: Tomasz Figa
Reviewed-by: Pawel Osciak
Reviewed-by: Sonny Rao
Acked-by: Alan Stern
Tested-by: Doug Anderson
Signed-off-by: Greg Kroah-Hartman
15 Dec, 2014
1 commit
-
Pull driver core update from Greg KH:
"Here's the set of driver core patches for 3.19-rc1.They are dominated by the removal of the .owner field in platform
drivers. They touch a lot of files, but they are "simple" changes,
just removing a line in a structure.Other than that, a few minor driver core and debugfs changes. There
are some ath9k patches coming in through this tree that have been
acked by the wireless maintainers as they relied on the debugfs
changes.Everything has been in linux-next for a while"
* tag 'driver-core-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (324 commits)
Revert "ath: ath9k: use debugfs_create_devm_seqfile() helper for seq_file entries"
fs: debugfs: add forward declaration for struct device type
firmware class: Deletion of an unnecessary check before the function call "vunmap"
firmware loader: fix hung task warning dump
devcoredump: provide a one-way disable function
device: Add dev__once variants
ath: ath9k: use debugfs_create_devm_seqfile() helper for seq_file entries
ath: use seq_file api for ath9k debugfs files
debugfs: add helper function to create device related seq_file
drivers/base: cacheinfo: remove noisy error boot message
Revert "core: platform: add warning if driver has no owner"
drivers: base: support cpu cache information interface to userspace via sysfs
drivers: base: add cpu_device_create to support per-cpu devices
topology: replace custom attribute macros with standard DEVICE_ATTR*
cpumask: factor out show_cpumap into separate helper function
driver core: Fix unbalanced device reference in drivers_probe
driver core: fix race with userland in device_add()
sysfs/kernfs: make read requests on pre-alloc files use the buffer.
sysfs/kernfs: allow attributes to request write buffer be pre-allocated.
fs: sysfs: return EGBIG on write if offset is larger than file size
...
08 Nov, 2014
1 commit
-
Sanity check on resource happening with devm_ioremap_resource().
Signed-off-by: Varka Bhadram
Acked-by: Alan Stern
Signed-off-by: Greg Kroah-Hartman
04 Nov, 2014
1 commit
-
ehci/ohci-platform just define .suspend/.resume functions for dev_pm_ops,
but in order to support both STR(suspend-to-ram) and hibernation, other
callbacks such as .freeze/.thaw are also required.Registering all required callbacks for both STR and hibernation can
be done by SIMPLE_DEV_PM_OPS macro function.Signed-off-by: Wonhong Kwon
Acked-by: Alan Stern
Signed-off-by: Greg Kroah-Hartman
20 Oct, 2014
1 commit
-
A platform_driver does not need to set an owner, it will be populated by the
driver core.Signed-off-by: Wolfram Sang
28 May, 2014
1 commit
-
On the Allwinner's A31 SoC the reset line connected to the EHCI IP has to
be deasserted for the EHCI block to be usable.Add support for an optional reset controller that will be deasserted on
power off and asserted on power on.Signed-off-by: Boris BREZILLON
Signed-off-by: Maxime Ripard
Reviewed-by: Hans de Goede
Acked-by: Alan Stern
Signed-off-by: Greg Kroah-Hartman
17 Apr, 2014
1 commit
-
Patch 'b8efdaf USB: EHCI: add check for wakeup/suspend race'
adds a check for possible race between suspend and wakeup interrupt,
and thereby it returns -EBUSY as error code if there's a wakeup
interrupt.
So the platform host controller should not proceed further with
its suspend callback, rather should return immediately to avoid
powering down the essential things, like phy.Signed-off-by: Vivek Gautam
Acked-by: Alan Stern
Cc: Hauke Mehrtens
Cc: Hans de Goede
Signed-off-by: Greg Kroah-Hartman
12 Feb, 2014
2 commits
-
The ehci-platform driver checks for misconfigurations in cases where
the Device Tree data specifies big-endian registers or descriptors but
the corresponding driver config settings have not been enabled. As
Jonas Gorski suggested, we may as well apply the same check to general
platform data too.This requires moving the code that sets the big-endian quirk flags
from the ehci_platform_reset() routine into ehci_platform_probe(), and
moving the checks out of the DT-specific "if" statement clause.The patch also changes the text of the error messages in an attempt to
make the nature of the error more clear.Signed-off-by: Alan Stern
Reported-by: Jonas Gorski
Acked-by: Hans de Goede
Signed-off-by: Greg Kroah-Hartman -
The initial versions of the devicetree enablement patches for ehci-platform
used "ehci-platform" as compatible string. However this was disliked by various
reviewers because the platform bus is a Linux invention and devicetree is
supposed to be OS agnostic. After much discussion I gave up, added a:
"depends on !PPC_OF" to Kconfig to avoid a known conflict with PPC-OF platforms
and went with the generic usb-ehci as requested.In retro-spect I should have chosen something different, the dts files for many
existing boards already claim to be compatible with "usb-ehci", ie they have:compatible = "ti,ehci-omap", "usb-ehci";
In theory this should not be a problem since the "ti,ehci-omap" entry takes
presedence, but in practice using a conflicting compatible string is an issue,
because it makes which driver gets used depend on driver registration order.This patch changes the compatible string claimed by ehci-platform to
"generic-ehci", avoiding the driver registration / module loading ordering
problems, and removes the "depends on !PPC_OF" workaround.Signed-off-by: Hans de Goede
Acked-by: Alan Stern
Tested-by: Kevin Hilman
Signed-off-by: Greg Kroah-Hartman
08 Feb, 2014
2 commits
-
This uses the already documented devicetree booleans for this, see:
Documentation/devicetree/bindings/usb/usb-ehci.txtSigned-off-by: Hans de Goede
Signed-off-by: Greg Kroah-Hartman -
Currently ehci-platform is only used in combination with devicetree when used
with some Via socs. By extending it to (optionally) get clks and a phy from
devicetree, and enabling / disabling those on power_on / off, it can be used
more generically. Specifically after this commit it can be used for the
ehci controller on Allwinner sunxi SoCs.Since ehci-platform is intended to handle any generic enough non pci ehci
device, add a "usb-ehci" compatibility string.There already is a usb-ehci device-tree bindings document, update this
with clks and phy bindings info.Although actually quite generic so far the via,vt8500 compatibilty string
had its own bindings document. Somehow we even ended up with 2 of them. Since
these provide no extra information over the generic usb-ehci documentation,
this patch removes them.The ehci-ppc-of.c driver also claims the usb-ehci compatibility string,
even though it mostly is ibm,usb-ehci-440epx specific. ehci-platform.c is
not needed on ppc platforms, so add a !PPC_OF dependency to it to avoid
2 drivers claiming the same compatibility string getting build on ppc.Signed-off-by: Hans de Goede
Acked-by: Alan Stern
Signed-off-by: Greg Kroah-Hartman
09 Dec, 2013
1 commit
-
Individual controller driver has different requirement for wakeup
setting, so move it from core to itself. In order to align with
current etting the default wakeup setting is enabled (except for
chipidea host).Pass compile test with below commands:
make O=outout/all allmodconfig
make -j$CPU_NUM O=outout/all drivers/usbSigned-off-by: Peter Chen
Acked-by: Alan Stern
Signed-off-by: Greg Kroah-Hartman
31 Oct, 2013
2 commits
-
Acked-by: Felipe Balbi
Acked-by: Nicolas Ferre
Signed-off-by: Russell King -
The correct way for a driver to specify the coherent DMA mask is
not to directly access the field in the struct device, but to use
dma_set_coherent_mask(). Only arch and bus code should access this
member directly.Convert all direct write accesses to using the correct API.
Acked-by: Felipe Balbi
Acked-by: Nicolas Ferre
Signed-off-by: Russell King
01 Aug, 2013
1 commit
-
Use the wrapper function for retrieving the platform data instead of
accessing dev->platform_data directly.Signed-off-by: Jingoo Han
Signed-off-by: Greg Kroah-Hartman
03 Jul, 2013
1 commit
-
Pull ARM SoC specific changes from Arnd Bergmann:
"These changes are all to SoC-specific code, a total of 33 branches on
17 platforms were pulled into this. Like last time, Renesas sh-mobile
is now the platform with the most changes, followed by OMAP and
EXYNOS.Two new platforms, TI Keystone and Rockchips RK3xxx are added in this
branch, both containing almost no platform specific code at all, since
they are using generic subsystem interfaces for clocks, pinctrl,
interrupts etc. The device drivers are getting merged through the
respective subsystem maintainer trees.One more SoC (u300) is now multiplatform capable and several others
(shmobile, exynos, msm, integrator, kirkwood, clps711x) are moving
towards that goal with this series but need more work.Also noteworthy is the work on PCI here, which is traditionally part
of the SoC specific code. With the changes done by Thomas Petazzoni,
we can now more easily have PCI host controller drivers as loadable
modules and keep them separate from the platform code in
drivers/pci/host. This has already led to the discovery that three
platforms (exynos, spear and imx) are actually using an identical PCIe
host controller and will be able to share a driver once support for
spear and imx is added."* tag 'soc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (480 commits)
ARM: integrator: let pciv3 use mem/premem from device tree
ARM: integrator: set local side PCI addresses right
ARM: dts: Add pcie controller node for exynos5440-ssdk5440
ARM: dts: Add pcie controller node for Samsung EXYNOS5440 SoC
ARM: EXYNOS: Enable PCIe support for Exynos5440
pci: Add PCIe driver for Samsung Exynos
ARM: OMAP5: voltagedomain data: remove temporary OMAP4 voltage data
ARM: keystone: Move CPU bringup code to dedicated asm file
ARM: multiplatform: always pick one CPU type
ARM: imx: select syscon for IMX6SL
ARM: keystone: select ARM_ERRATA_798181 only for SMP
ARM: imx: Synertronixx scb9328 needs to select SOC_IMX1
ARM: OMAP2+: AM43x: resolve SMP related build error
dmaengine: edma: enable build for AM33XX
ARM: edma: Add EDMA crossbar event mux support
ARM: edma: Add DT and runtime PM support to the private EDMA API
dmaengine: edma: Add TI EDMA device tree binding
arm: add basic support for Rockchip RK3066a boards
arm: add debug uarts for rockchip rk29xx and rk3xxx series
arm: Add basic clocks for Rockchip rk3066a SoCs
...
11 Jun, 2013
1 commit
-
Sometimes there is a need to initialize some non-standard registers mapped to
the EHCI region before accessing the standard EHCI registers. Add pre_setup()
method with 'struct usb_hcd *' parameter to be called just before ehci_setup()
to the 'ehci-platform' driver's platform data for this purpose...While at it, add the missing incomplete declaration of 'struct platform_device'
to ...The patch has been tested on the Marzen and BOCK-W boards.
Suggested-by: Alan Stern
Signed-off-by: Sergei Shtylyov
Acked-by: Kuninori Morimoto
Acked-by: Alan Stern
Signed-off-by: Simon Horman
22 May, 2013
1 commit
-
'vt8500_ehci_ids' is always compiled in. Hence use of
of_match_ptr is unnecessary.Signed-off-by: Sachin Kamat
Acked-by: Alan Stern
Signed-off-by: Greg Kroah-Hartman
17 May, 2013
1 commit
-
The driver core clears the driver data to NULL after device_release
or on probe failure, since commit 0998d0631001288a5974afc0b2a5f568bcdecb4d
(device-core: Ensure drvdata = NULL when no driver is bound).
Thus, it is not needed to manually clear the device driver data to NULL.Signed-off-by: Jingoo Han
Signed-off-by: Greg Kroah-Hartman
24 Apr, 2013
1 commit
-
Fix some of the initconst markings in the ehci driver(s).
Signed-off-by: Andi Kleen
Cc: Alan Stern
Signed-off-by: Greg Kroah-Hartman
29 Mar, 2013
1 commit
-
This lets us use the ehci-platform driver on platforms without special
requirements for their ehci controllers. In particular, this is true
for the vt8500/wm8x50 platforms, which currently have a separate
driver that causes problems with multiplatform configurations.Tested-by: Tony Prisk
Tested-by: Peter Vasil
Acked-by: Alan Stern
Signed-off-by: Arnd Bergmann
Signed-off-by: Greg Kroah-Hartman
23 Jan, 2013
1 commit
-
Convert all uses of devm_request_and_ioremap() to the newly introduced
devm_ioremap_resource() which provides more consistent error handling.devm_ioremap_resource() provides its own error messages so all explicit
error messages can be removed from the failure code paths.Signed-off-by: Thierry Reding
Acked-by: Alan Stern
Acked-by: Felipe Balbi
Signed-off-by: Greg Kroah-Hartman
22 Nov, 2012
3 commits
-
CONFIG_HOTPLUG is going away as an option so __devexit is no
longer needed.Signed-off-by: Bill Pemberton
Cc: Peter Korsgaard
Cc: Alexander Shishkin
Acked-by: Felipe Balbi
Cc: Li Yang
Cc: Alan Stern
Cc: Wan ZongShun
Cc: Ben Dooks
Cc: Kukjin Kim
Signed-off-by: Greg Kroah-Hartman -
CONFIG_HOTPLUG is going away as an option so __devinit is no longer
needed.Signed-off-by: Bill Pemberton
Cc: Peter Korsgaard
Cc: Alexander Shishkin
Acked-by: Felipe Balbi
Cc: Li Yang
Acked-by: Alan Stern
Cc: Geoff Levand
Cc: Wan ZongShun
Cc: Olav Kongas
Cc: Lennert Buytenhek
Cc: Ben Dooks
Cc: Kukjin Kim
Acked-by: Nicolas Ferre
Signed-off-by: Greg Kroah-Hartman -
CONFIG_HOTPLUG is going away as an option so __devexit_p is no longer
needed.Signed-off-by: Bill Pemberton
Cc: Peter Korsgaard
Cc: Alexander Shishkin
Acked-by: Felipe Balbi
Cc: Li Yang
Cc: Alan Stern
Cc: Wan ZongShun
Cc: Ben Dooks
Cc: Kukjin Kim
Acked-by: Nicolas Ferre
Acked-by: Peter Korsgaard
Signed-off-by: Greg Kroah-Hartman
12 Nov, 2012
1 commit
-
This patch (as1630) cleans up a few minor items resulting from the
split-up of the ehci-hcd driver:Remove the product_desc string from the ehci_driver_overrides
structure. All drivers will use the generic "EHCI Host
Controller" string. (This was requested by Felipe Balbi.)Allow drivers to pass a NULL pointer to ehci_init_driver()
if they don't have to override any settings.Remove a #define symbol that is no longer used from the
ChipIdea host driver.Rename overrides to pci_overrides in ehci-pci.c, for
consistency with ehci-platform.c.Mark the *_overrides structures as __initdata.
Signed-off-by: Alan Stern
Reviewed-by: Felipe Balbi
Signed-off-by: Greg Kroah-Hartman