[U-Boot] [PATCH v11 00/10] usb: Extend ehci and ohci generic driver

patrice.chotard at st.com patrice.chotard at st.com
Mon Jul 24 11:46:24 UTC 2017


From: Patrice Chotard <patrice.chotard at st.com>

This series improves generic ehci and ohci drivers by addition of :
	_ error path during probe (clocks, resets and phy release)
	_ .remove callback
	_ add generic PHY framework for both generic ehci and ohci drivers
	_ add RESET and CLOCK framework for generic ohci driver

To implement these features, some new methods are needed in reset, clock and
in dm/core framework:
	_ add reset_request() and reset_assert_all() methods in RESET framework
	_ add clk_count() and clk_disable_all() methods in CLOCK framework
	_ add ofnode_count_phandle_with_args() and dev_count_phandle_with_args() in dm/core

This series has dependencies with series "[PATCH v8 0/6] Extend xhci-dwc3",
so must been merged after this indicated series.

v11:	_ fix issue in ehci (patch 7) and ohci (patch 10) drivers reported by Patrick DELAUNAY.
	  Generic PHY must be initialized only when found.
v10:	_ add dev_count_phandle_with_args() requested by Simon Glass
	_ fix some mirno remarks

v9:	_ rename reset_assert_all() in reset_release_all() as this function not 
	  only assert all resets but also free all of them
	_ rename clk_disable_all() in clk_release_all() as this function not 
	  only disable all clocks but also free all of them
	_ add a check in reset_release_all()/clk_disable_all() to verify if reset/clock 
	  has been previously requested before asserting/disabling and freeing it.

v8:	_ rework error path by propagating the initial error code until the end of probe()
	_ replace devm_kmalloc() with devm_kcalloc()
	_ fix cosmetics remarks

v7:	_ replace clk_count() and reset_count() methods by
	  ofnode_count_phandle_with_args() in patches 3, 4 and 5	

v6:	_ replace clk_get_by_index() by dev_read_phandle_with_args() in
	  clk_count() in patch 4
	_  add Reviewed-by Simon Glass for patch 2 and 5

v5:	_ rebase on top of dm/master requested by Simon Glass in order to use
	  livetree update
	_ replace fdtdec_parse_phandle_with_args() by dev_read_phandle_with_args() in patch 2

v4:	_ add clk_disable_all() and reset_assert_all() methods into CLOCK and
	  RESET framework as suggested by Simon Glass and Marek Vasut
	_ add reset_count() and clk_count() methods which returns respectively the 
	  number of resets and clocks declared into "resets" and "clocks" DT properties.
	  This allows to allocate the right amount of memory to keep resets and clocks
	  reference
	_ update the memory allocation for deasserted resets and enabled
	  clocks reference list. Replace lists by arrays.
	
v3:     _ keep enabled clocks and deasserted resets reference in list in order to 
	  disable clock or assert resets in error path or in .remove callback
	_ add missing commit message
	_ use struct generic_ehci * instead of struct udevice * as parameter for
	  ehci_release_resets() and ehci_release_clocks()
	_ test return value on generic_phy_get_by_index() and
	  generic_phy_init()
	_ split previous patch 5 in 3 independant patch for CLOCK, RESET and PHY support

v2:     _ add needed reset_request() in RESET framework
	_ add error path in ehci/ohci-generic to disable clocks and to assert
	resets
	_ add .remove callback with clocks, resets and phy release
	_ split the replacement of printf() by error() in an independant patch

Patrice Chotard (10):
  reset: add reset_request()
  reset: add reset_release_all()
  clk: add clk_release_all()
  dm: core: add ofnode_count_phandle_with_args()
  usb: host: ehci-generic: replace printf() by error()
  usb: host: ehci-generic: add error path and .remove callback
  usb: host: ehci-generic: add generic PHY support
  usb: host: ohci-generic: add CLOCK support
  usb: host: ohci-generic: add RESET support
  usb: host: ohci-generic: add generic PHY support

 drivers/clk/clk-uclass.c        |  26 +++++++
 drivers/core/of_access.c        |   7 ++
 drivers/core/ofnode.c           |  12 ++++
 drivers/reset/reset-uclass.c    |  34 ++++++++++
 drivers/usb/host/ehci-generic.c | 147 +++++++++++++++++++++++++++++++++-------
 drivers/usb/host/ohci-generic.c | 122 ++++++++++++++++++++++++++++++++-
 include/clk.h                   |  14 ++++
 include/dm/of_access.h          |  18 +++++
 include/dm/ofnode.h             |  17 +++++
 include/dm/read.h               |  25 +++++++
 include/reset.h                 |  27 ++++++++
 11 files changed, 424 insertions(+), 25 deletions(-)

-- 
1.9.1



More information about the U-Boot mailing list