mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-11 15:37:23 +00:00
usb: dwc3: Cache ref_clk pointer in struct dwc3
Cache ref_clk clock pointer in struct dwc3 . This is a preparatory patch for subsequent backports from Linux kernel which configure GFLADJ register content based on the ref_clk rate and therefore need access to the ref_clk pointer. It is possible to extract the clock pointer from existing clk_bulk list of already claimed clock, no need to call clk_get*() again. Reviewed-by: Sean Anderson <seanga2@gmail.com> Signed-off-by: Marek Vasut <marex@denx.de>
This commit is contained in:
parent
55a95f8f58
commit
8ae84e6453
2 changed files with 12 additions and 0 deletions
|
@ -668,6 +668,7 @@ struct dwc3_scratchpad_array {
|
|||
* @event_buffer_list: a list of event buffers
|
||||
* @gadget: device side representation of the peripheral controller
|
||||
* @gadget_driver: pointer to the gadget driver
|
||||
* @ref_clk: reference clock
|
||||
* @regs: base address for our registers
|
||||
* @regs_size: address space size
|
||||
* @nr_scratch: number of scratch buffers
|
||||
|
@ -766,6 +767,8 @@ struct dwc3 {
|
|||
struct usb_gadget gadget;
|
||||
struct usb_gadget_driver *gadget_driver;
|
||||
|
||||
struct clk *ref_clk;
|
||||
|
||||
void __iomem *regs;
|
||||
size_t regs_size;
|
||||
|
||||
|
|
|
@ -59,12 +59,21 @@ static int dwc3_generic_probe(struct udevice *dev,
|
|||
struct dwc3_generic_plat *plat = dev_get_plat(dev);
|
||||
struct dwc3 *dwc3 = &priv->dwc3;
|
||||
struct dwc3_glue_data *glue = dev_get_plat(dev->parent);
|
||||
int __maybe_unused index;
|
||||
ofnode __maybe_unused node;
|
||||
|
||||
dwc3->dev = dev;
|
||||
dwc3->maximum_speed = plat->maximum_speed;
|
||||
dwc3->dr_mode = plat->dr_mode;
|
||||
#if CONFIG_IS_ENABLED(OF_CONTROL)
|
||||
dwc3_of_parse(dwc3);
|
||||
|
||||
node = dev_ofnode(dev->parent);
|
||||
index = ofnode_stringlist_search(node, "clock-names", "ref");
|
||||
if (index < 0)
|
||||
index = ofnode_stringlist_search(node, "clock-names", "ref_clk");
|
||||
if (index >= 0)
|
||||
dwc3->ref_clk = &glue->clks.clks[index];
|
||||
#endif
|
||||
|
||||
/*
|
||||
|
|
Loading…
Reference in a new issue