Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d438ae57 authored by Philipp Zabel's avatar Philipp Zabel Committed by Russell King
Browse files

[ARM] 5080/1: touch PSSR_OTGPH only on pxa27x in ohci-pxa27x and pxa27x_udc



and include pxa2xx-regs.h as build fix since PSSR definitions
moved from pxa-regs.h into pxa2xx-regs.h.

Note: This change is temporary as pxa27x processor specific
code will be finally moved elsewhere (both drivers should
support pxa3xx, too).

Signed-off-by: default avatarPhilipp Zabel <philipp.zabel@gmail.com>
Acked-by: default avatarEric Miao <eric.y.miao@gmail.com>
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent 69eaf23a
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -38,7 +38,7 @@
#include <linux/usb.h>
#include <linux/usb/ch9.h>
#include <linux/usb/gadget.h>

#include <asm/arch/pxa2xx-regs.h> /* FIXME: for PSSR */
#include <asm/arch/udc.h>

#include "pxa27x_udc.h"
@@ -2359,6 +2359,7 @@ static int pxa_udc_resume(struct platform_device *_dev)
	 * Software must configure the USB OTG pad, UDC, and UHC
	 * to the state they were in before entering sleep mode.
	 */
	if (cpu_is_pxa27x())
		PSSR |= PSSR_OTGPH;

	return 0;
+0 −8
Original line number Diff line number Diff line
@@ -484,12 +484,4 @@ static inline struct pxa_udc *to_gadget_udc(struct usb_gadget *gadget)
#define ep_warn(ep, fmt, arg...) \
	dev_warn(ep->dev->dev, "%s:%s:" fmt, EPNAME(ep), __func__, ## arg)

/*
 * Cannot include pxa-regs.h, as register names are similar.
 * So PSSR is redefined here. This should be removed once UDC registers will
 * be gone from pxa-regs.h.
 */
#define PSSR		__REG(0x40F00004)	/* Power Manager Sleep Status */
#define PSSR_OTGPH	(1 << 6)		/* OTG Peripheral Hold */

#endif /* __LINUX_USB_GADGET_PXA27X_H */
+2 −1
Original line number Diff line number Diff line
@@ -27,6 +27,7 @@
#include <asm/mach-types.h>
#include <asm/hardware.h>
#include <asm/arch/pxa-regs.h>
#include <asm/arch/pxa2xx-regs.h> /* FIXME: for PSSR */
#include <asm/arch/ohci.h>

#define PXA_UHC_MAX_PORTNUM    3
@@ -104,7 +105,7 @@ static int pxa27x_start_hc(struct device *dev)
	UHCHIE = (UHCHIE_UPRIE | UHCHIE_RWIE);

	/* Clear any OTG Pin Hold */
	if (PSSR & PSSR_OTGPH)
	if (cpu_is_pxa27x() && (PSSR & PSSR_OTGPH))
		PSSR |= PSSR_OTGPH;

	return 0;