usb: Add support for txfifo threshold
CONFIG_USB_EHCI_TXFIFO_THRESH enables setting of the txfilltuning field in the EHCI controller on reset. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Remy Bohmer <linux@bohmer.net> Signed-off-by: Tom Warren <twarren@nvidia.com>
This commit is contained in:
parent
1920172ec8
commit
9ab4ce223c
3
README
3
README
@ -1125,6 +1125,9 @@ The following options need to be configured:
|
|||||||
May be defined to allow interrupt polling
|
May be defined to allow interrupt polling
|
||||||
instead of using asynchronous interrupts
|
instead of using asynchronous interrupts
|
||||||
|
|
||||||
|
CONFIG_USB_EHCI_TXFIFO_THRESH enables setting of the
|
||||||
|
txfilltuning field in the EHCI controller on reset.
|
||||||
|
|
||||||
- USB Device:
|
- USB Device:
|
||||||
Define the below if you wish to use the USB console.
|
Define the below if you wish to use the USB console.
|
||||||
Once firmware is rebuilt from a serial console issue the
|
Once firmware is rebuilt from a serial console issue the
|
||||||
|
@ -255,6 +255,13 @@ static int ehci_reset(void)
|
|||||||
#endif
|
#endif
|
||||||
ehci_writel(reg_ptr, tmp);
|
ehci_writel(reg_ptr, tmp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef CONFIG_USB_EHCI_TXFIFO_THRESH
|
||||||
|
cmd = ehci_readl(&hcor->or_txfilltuning);
|
||||||
|
cmd &= ~TXFIFO_THRESH(0x3f);
|
||||||
|
cmd |= TXFIFO_THRESH(CONFIG_USB_EHCI_TXFIFO_THRESH);
|
||||||
|
ehci_writel(&hcor->or_txfilltuning, cmd);
|
||||||
|
#endif
|
||||||
out:
|
out:
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -80,7 +80,11 @@ struct ehci_hcor {
|
|||||||
uint32_t or_ctrldssegment;
|
uint32_t or_ctrldssegment;
|
||||||
uint32_t or_periodiclistbase;
|
uint32_t or_periodiclistbase;
|
||||||
uint32_t or_asynclistaddr;
|
uint32_t or_asynclistaddr;
|
||||||
uint32_t _reserved_[9];
|
uint32_t _reserved_0_;
|
||||||
|
uint32_t or_burstsize;
|
||||||
|
uint32_t or_txfilltuning;
|
||||||
|
#define TXFIFO_THRESH(p) ((p & 0x3f) << 16)
|
||||||
|
uint32_t _reserved_1_[6];
|
||||||
uint32_t or_configflag;
|
uint32_t or_configflag;
|
||||||
#define FLAG_CF (1 << 0) /* true: we'll support "high speed" */
|
#define FLAG_CF (1 << 0) /* true: we'll support "high speed" */
|
||||||
uint32_t or_portsc[CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS];
|
uint32_t or_portsc[CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS];
|
||||||
|
Loading…
Reference in New Issue
Block a user