Age | Commit message (Collapse) | Author |
|
A MSI controller of LS1043a v1.0 only includes one MSIR and
is assigned one GIC interrupt. In order to support affinity,
LS1043a v1.1 MSI is assigned 4 MSIRs and 4 GIC interrupts.
But the MSIR has the different offset and only supports 8 MSIs.
The bits between variable bit_start and bit_end in structure
ls_scfg_msir are used to show 8 MSI interrupts. msir_irqs and
msir_base are added to describe the difference of MSI between
LS1043a v1.1 and other SoCs.
Signed-off-by: Minghuan Lian <Minghuan.Lian@nxp.com>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
|
|
LS1046a includes 4 MSIRs, each MSIR is assigned a dedicate GIC
SPI interrupt and provides 32 MSI interrupts. Compared to previous
MSI, LS1046a's IBS(interrupt bit select) shift is changed to 2 and
total MSI interrupt number is changed to 128.
The patch adds structure 'ls_scfg_msir' to describe MSIR setting and
'ibs_shift' to store the different value between the SoCs.
Signed-off-by: Minghuan Lian <Minghuan.Lian@nxp.com>
Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
|
|
The patch is to fix typo of the Layerscape SCFG MSI dts compatible
strings. "1" is replaced by "l".
Signed-off-by: Minghuan Lian <Minghuan.Lian@nxp.com>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
|
|
Signed-off-by: yinbo.zhu <yinbo.zhu@nxp.com>
|
|
remove the powerpc configures for fix ls1021atwr compiled issue.
Signed-off-by: yinbo.zhu <yinbo.zhu@nxp.com>
|
|
CONFIG_USB_EHCI_FSL is not dependent on FSL_SOC, it can be built on
non-PPC platforms.
Signed-off-by: Rajesh Bhagat <rajesh.bhagat@nxp.com>
|
|
Signed-off-by: yinbo.zhu <yinbo.zhu@nxp.com>
|
|
Write fladj register adjusts (micro)frame length to appropriate
value thus avoiding USB 2.0 devices to time-out over a longer run
Signed-off-by: Nikhil Badola <nikhil.badola@freescale.com>
Signed-off-by: yinbo.zhu <yinbo.zhu@nxp.com>
|
|
Make sure that saving and restoration of usb phy
registers only happen in case of deep-sleep, and
not for any other feature like sleep, etc. Also
export pm_suspend_state() and set_pm_suspend_state()
Signed-off-by: Ramneek Mehresh <ramneek.mehresh@freescale.com>
|
|
Compile out USB clk functions for PPC platforms as there is no usb clk
specific initialization on any of these platforms
Signed-off-by: Nikhil Badola <nikhil.badola@freescale.com>
Signed-off-by: yinbo.zhu <yinbo.zhu@nxp.com>
|
|
Introduce FSL_USB2_PHY_UTMI_DUAL in gadget driver for setting
phy in SOCs with utmi dual phy
Signed-off-by: Nikhil Badola <nikhil.badola@freescale.com>
|
|
Copy of_node property only for host mode so as to fix gadget mode
kernel dump messages
Signed-off-by: Ramneek Mehresh <ramneek.mehresh@freescale.com>
|
|
Save usb controller and phy registers for deep-sleep
Signed-off-by: Ramneek Mehresh <ramneek.mehresh@freescale.com>
|
|
Change the position of delay introduced by erratum A005697 workaround
Signed-off-by: Ramneek Mehresh <ramneek.mehresh@freescale.com>
Signed-off-by: Nikhil Badola <nikhil.badola@freescale.com>
Signed-off-by: yinbo.zhu <yinbo.zhu@nxp.com>
|
|
External ULPI phy registers are not to be restored
during normal sleep when phy power is not cut-off.
In addition, phy saving/restoration needs to happen only
during deep-sleep
Signed-off-by: Ramneek Mehresh <ramneek.mehresh@freescale.com>
Signed-off-by: yinbo.zhu <yinbo.zhu@nxp.com>
|
|
usb ip driver needs to save and restore all registers including
phy registers across deep-sleep. This is required since latest
changes in u-boot code doesn't re-init usb phy anymore during
deep-sleep resume
Signed-off-by: Ramneek Mehresh <ramneek.mehresh@freescale.com>
Signed-off-by: Suresh Gupta <suresh.gupta@freescale.com>
Signed-off-by: Nikhil Badola <nikhil.badola@freescale.com>
Signed-off-by: yinbo.zhu <yinbo.zhu@nxp.com>
|
|
Pass device-tree usb node offset to each usb device structure.
This is required by rcpm driver to get mask setting for
ip exception register to make/remove usb as wake-up source
for sleep/deep-sleep
Signed-off-by: Ramneek Mehresh <ramneek.mehresh@freescale.com>
Signed-off-by: yinbo.zhu <yinbo.zhu@nxp.com>
|
|
Set USB_EN bit to select ULPI phy for USB controller version 2.5
Signed-off-by: Nikhil Badola <nikhil.badola@freescale.com>
Signed-off-by: yinbo.zhu <yinbo.zhu@nxp.com>
|
|
Remove USB errata checking code from driver. Applicability of erratum
is retrieved by reading corresponding property in device tree.
This property is written during device tree fixup.
Signed-off-by: Ramneek Mehresh <ramneek.mehresh@freescale.com>
Signed-off-by: Nikhil Badola <nikhil.badola@freescale.com>
Signed-off-by: yinbo.zhu <yinbo.zhu@nxp.com>
|
|
remove dwc3_frame_length_adjustment for fix crash issue.
Signed-off-by: yinbo.zhu <yinbo.zhu@nxp.com>
|
|
Change raw read/write accessors to ioread/writebe32
for big endian registers
Signed-off-by: Nikhil Badola <nikhil.badola@freescale.com>
Signed-off-by: yinbo.zhu <yinbo.zhu@nxp.com>
|
|
Remove compilation errors from USB EHCI gadget driver
Signed-off-by: Nikhil Badola <nikhil.badola@freescale.com>
|
|
Saves and Restores USB register context when the system
goes to deep sleep and resumes from it. This is required
only when USB controller and phys are OFF during Deep
Sleep
Signed-off-by: Nikhil Badola <nikhil.badola@freescale.com>
Signed-off-by: Ramneek Mehresh <ramneek.mehresh@freescale.com>
Signed-off-by: yinbo.zhu <yinbo.zhu@nxp.com>
|
|
PHY_CLK_VALID bit is de-featured for all controller
versions before 2.4, and is only to be used for
internal UTMI phy
Signed-off-by: Ramneek Mehresh <ramneek.mehresh@freescale.com>
Signed-off-by: yinbo.zhu <yinbo.zhu@nxp.com>
|
|
PHY_CLK_VALID bit for UTMI PHY in USBDR does not set even
if PHY is providing valid clock. Workaround for this
involves resetting of PHY and check PHY_CLK_VALID bit
multiple times. If PHY_CLK_VALID bit is still not set even
after 5 retries, it would be safe to deaclare that PHY
clock is not available.
This erratum is applicable for USBDR less then ver 2.4.
Signed-off-by: Suresh Gupta <B42813@freescale.com>
Signed-off-by: yinbo.zhu <yinbo.zhu@nxp.com>
|
|
USB erratum-A006918 workaround tries to start internal PHY inside
uboot (when PLL fails to lock). However, if the workaround also
fails, then USB initialization is also stopped inside Linux.
Erratum-A006918 workaround failure creates "fsl,erratum_a006918"
node in device-tree. Presence of this node in device-tree is
used to stop USB controller initialization in Linux
Signed-off-by: Ramneek Mehresh <ramneek.mehresh@freescale.com>
Signed-off-by: Suresh Gupta <suresh.gupta@freescale.com>
Signed-off-by: yinbo.zhu <yinbo.zhu@nxp.com>
|
|
Move synchronization delay b/w host and gadget drv from
fsl_udc_resume() to fsl_otg_start_gadget() to prevent
msleep() getting called from inside interrupt context.
Gadget resume always gets called from inside interrupt
context except during ID change.
Signed-off-by: Ramneek Mehresh <ramneek.mehresh@freescale.com>
Signed-off-by: yinbo.zhu <yinbo.zhu@nxp.com>
|
|
Change have_hcd variable to remove/suspend host driver on
completion of otg initialization for otg auto detect
Signed-off-by: Ramneek Mehresh <ramneek.mehresh@freescale.com>
Signed-off-by: yinbo.zhu <yinbo.zhu@nxp.com>
|
|
Add workqueue to add/remove host driver (outside interrupt context)
upon each id change
Signed-off-by: Li Yang <leoli@freescale.com>
Signed-off-by: Ramneek Mehresh <ramneek.mehresh@freescale.com>
Signed-off-by: yinbo.zhu <yinbo.zhu@nxp.com>
|
|
Resolve synchronization issue between host and gadget drivers
upon role-reversal
Signed-off-by: Ramneek Mehresh <ramneek.mehresh@freescale.com>
Signed-off-by: yinbo.zhu <yinbo.zhu@nxp.com>
|
|
To enable USB wakeup feature,
* Add a interrupt flag IRQF_NO_SUSPEND to avoid the USB interrupt
disabled when suspending.
* Set the USB module as a wakeup source.
Signed-off-by: Zhao Chenhui <chenhui.zhao@freescale.com>
Signed-off-by: Li Yang <leoli@freescale.com>
Signed-off-by: yinbo.zhu <yinbo.zhu@nxp.com>
|
|
Endpoint name being statically defined cannot be NULL
hence checking name's first two character with "ep" for
endpoint validity
Signed-off-by: Nikhil Badola <nikhil.badola@freescale.com>
|
|
complete handler is replaced by usb_gadget_giveback_request by
below commit,Which removed the sanity check which was added
for fsl specific gadget driver.usb: gadget: Refactor request
completion
Signed-off-by: Rajesh Bhagat <rajesh.bhagat@nxp.com>
Signed-off-by: yinbo.zhu <yinbo.zhu@nxp.com>
|
|
Correct NULL pointer checking for endpoint descriptor
before it gets dereferenced
Signed-off-by: Nikhil Badola <nikhil.badola@freescale.com>
|
|
Remove unused variable td_complete
Signed-off-by: Nikhil Badola <nikhil.badola@freescale.com>
|
|
Check memory resource existence before releasing it to avoid NULL
pointer dereference
Signed-off-by: Nikhil Badola <nikhil.badola@freescale.com>
|
|
Turn on cache snooping hardware in usb gadget for PPC 64-bit Kernel
Signed-off-by: Nikhil Badola <nikhil.badola@freescale.com>
Signed-off-by: yinbo.zhu <yinbo.zhu@nxp.com>
|
|
Signed-off-by: Suresh Gupta <suresh.gupta@freescale.com>
|
|
Resolves kernel crash issue when a USB flash drive is inserted
into USB1 port with USB2 port configured as otg
Signed-off-by: Ramneek Mehresh <ramneek.mehresh@freescale.com>
Signed-off-by: yinbo.zhu <yinbo.zhu@nxp.com>
|
|
Turn on cache snooping hardware for 64-bit Kernel
Signed-off-by: Suresh Gupta <suresh.gupta@freescale.com>
|
|
Make call to fsl_otg_event for each id change event
Signed-off-by: Ramneek Mehresh <ramneek.mehresh@freescale.com>
|
|
Add mechanism to start host driver from inside fsl_otg_event
upon each id change interrupt
Signed-off-by: Ramneek Mehresh <ramneek.mehresh@freescale.com>
|
|
Add controller version based ULPI and UTMI phy initialization for
otg driver
Signed-off-by: Shengzhou Liu <Shengzhou.Liu@freescale.com>
Signed-off-by: Ramneek Mehresh <ramneek.mehresh@freescale.com>
|
|
Write fladj register adjusts (micro)frame length to appropriate
value thus avoiding USB 2.0 devices to time-out over a longer run
Signed-off-by: Nikhil Badola <nikhil.badola@freescale.com>
Signed-off-by: yinbo.zhu <yinbo.zhu@nxp.com>
|
|
Add support for USB3 snooping by asserting bits
in register DWC3_GSBUSCFG0 for data and descriptor.
Signed-off-by: Changming Huang <jerry.huang@nxp.com>
Signed-off-by: Rajesh Bhagat <rajesh.bhagat@nxp.com>
Signed-off-by: yinbo.zhu <yinbo.zhu@nxp.com>
|
|
requests.
This is required for better performance, and performs below tuning:
1. Enable burst length set, and define it as 4/8/16.
2. Set burst request limit to 16 requests.
Signed-off-by: Nikhil Badola <nikhil.badola@freescale.com>
Signed-off-by: Rajesh Bhagat <rajesh.bhagat@freescale.com>
Signed-off-by: yinbo.zhu <yinbo.zhu@nxp.com>
|
|
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: yinbo.zhu <yinbo.zhu@nxp.com>
|
|
Signed-off-by: yinbo.zhu <yinbo.zhu@nxp.com>
|
|
Starting from MC 10.2.x, max burst size value has decreased from
0xFFFF to 0xF7FF. Update the check in the driver.
Signed-off-by: Bogdan Purcareata <bogdan.purcareata@nxp.com>
|
|
Fix an issue where we weren't freeing the allocated pointer,
but rather the 16-byte aligned address based on it.
Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com>
|