From: Kamil Debski <k.debski@samsung.com>
To: linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org,
linux-usb@vger.kernel.org, devicetree@vger.kernel.org
Cc: kyungmin.park@samsung.com, kishon@ti.com, t.figa@samsung.com,
s.nawrocki@samsung.com, m.szyprowski@samsung.com,
gautam.vivek@samsung.com, mat.krawczuk@gmail.com,
yulgon.kim@samsung.com, p.paneri@samsung.com,
av.tikhomirov@samsung.com, jg1.han@samsung.com,
galak@codeaurora.org, matt.porter@linaro.org,
k.debski@samsung.com, tjakobi@math.uni-bielefeld.de,
stern@rowland.harvard.edu, sander@humilis.net
Subject: [PATCH v10 0/4] phy: Add new Exynos USB 2.0 PHY driver
Date: Thu, 06 Mar 2014 12:16:45 +0100 [thread overview]
Message-ID: <1394104609-28242-1-git-send-email-k.debski@samsung.com> (raw)
Hi,
This is the tenth version of this patchset. The only difference since v9
is correction in the documentation.
Best wishes,
Kamil Debski
--------------
Changes from v9:
1) phy: core: Add an exported of_phy_get function
- No changes since v9.
2) phy: core: Add devm_of_phy_get to phy-core
- No changes since v9.
3) phy: Add new Exynos USB 2.0 PHY driver
- Fixed missing callback in the documentation of the
samsung_usb2_phy_config structure.
4) phy: Add Exynos 5250 support to the Exynos USB 2.0 PHY
- No changes since v9.
--------------
Changes from v8:
1) phy: core: Add an exported of_phy_get function
- No changes since v8.
2) phy: core: Add devm_of_phy_get to phy-core
- No changes since v8.
3) phy: Add new Exynos USB 2.0 PHY driver
- Fix empty blank line at EOF errors
4) phy: Add Exynos 5250 support to the Exynos USB 2.0 PHY
- Fix empty blank line at EOF error
--------------
Changes from v7:
1) phy: core: Add an exported of_phy_get function
- No changes since v7.
2) phy: core: Add devm_of_phy_get to phy-core
- No changes since v7.
3) phy: Add new Exynos USB 2.0 PHY driver
- Fix checkpatch errors with code indentation and corrected whitespace.
4) phy: Add Exynos 5250 support to the Exynos USB 2.0 PHY
- Fix checkpatch errors with code indentation and corrected whitespace.
--------------
Changes from v6: (not including the change that controller patches were removed
form this patchset, also this patchset excludes S5PV210 support - it needs more
testing)
1) phy: core: Add an exported of_phy_get function
- No changes since v6.
2) phy: core: Add devm_of_phy_get to phy-core
- No changes since v6.
3) phy: Add new Exynos USB 2.0 PHY driver
- Changed the way clocks are supplied to the driver. Prior to version v7
there were reference clocks for every phy instance, now a single "ref"
clock was introduced.
- Updated documentation to match the aforementioned change.
- Add offset EXYNOS_*_UPHYCLK_PHYFSEL_OFFSET to the clock register content
defines.
- Corrected way clock register is modified. Instead of a simple write, a
proper read, modify, write sequence was introduced.
- Important stability fix - added udelay after PHY reset. This fixes a bug
causing instability in USB LAN adapters. Without the delay the DMA burst
mode was could not be enabled.
4) phy: Add Exynos 5250 support to the Exynos USB 2.0 PHY
- Changed handling of clocks to use a single "ref" clock.
----------------
Changes from v5:
1) phy: core: Add an exported of_phy_get function
- corrected behaviour of the modification when GENERIC_PHY is not enabled
by adding a stub of the of_phy_get function
2) phy: core: Add devm_of_phy_get to phy-core
- corrected behaviour of the modification when GENERIC_PHY is not enabled
by adding a stub of the devm_of_phy_get function
3) dts: Add usb2phy to Exynos 4
- no change
4) dts: Add usb2phy to Exynos 5250
- in the previous version, this patch included some phy-exynos5250-usb2.c code
by mistake, the code has been remove and added to the proper patch
5) phy: Add new Exynos USB PHY driver
- changed strings from Exynos 4212 to Exynos 4x12, as the Exynos 4212 driver is
actually a driver for the whole Exynos 4x12 family
- added documentation to the Exynos USB 2.0 PHY driver adaptaion layer
- corrected strings HSCI -> HSIC
- fixed a problem introduced by previous change - on Exynos 4x12 the HSIC did
not work on its own
- mode switch support was added to Exynos 4x12 (same io pins are used by host
and device)
- support for phy_set_bus_width introduced by Matt Porter was added
6) phy: Add support for S5PV210 to the Exynos USB PHY
- setting of clk register was fixed
7) phy: Add Exynos 5250 support to the Exynos USB 2.0 PHY
- supoprt was added for HSIC and device
8) usb: ehci-exynos: Change to use phy provided by the generic phy framework
- DT documentation was moved from usb-ehci.txt to exynos-usb.txt
----------------
Changes from v4:
1) phy: core: Add an exported of_phy_get function
- the new exported function of_phy_get was changed to take the phy's name as a
parameter instead of the index
2) phy: core: Add devm_of_phy_get to phy-core
- fixes made in the comments to devm_of_phy_get
3) phy: Add new Exynos USB PHY driver
- move the documentation from a new to an existing file - samsung-phy.txt
- fix typos and uppercase hex addresses
- add more explanations to Kconfig (checkpatch still complains, but I find it
hard to think what else could I add)
- add selects MFD_SYSCON as the driver needs it (Thank you, Tobias!)
- cleanup included headers in both *.c and .h files
- use BIT(x) macro instead of (1 << x)
- replaced HOST and DEV with PHY0 and PHY1 in phy-exynos4212-usb2.c, the
registers are described as PHYx in the documentation hence the decision to
leave the PHYx naming
- fixed typo in exynos4210_rate_to_clk reg -> *reg
- change hax_mode_switch and enabled type to bool
4) usb: ehci-s5p: Change to use phy provided by the generic phy framework
- Put the issue of phy->otg in order - since the new phy driver does not provide
this field. With the new driver the switch between host and device is done in
power_on of the respective host and device phys.
5) usb: s3c-hsotg: Use the new Exynos USB phy driver with the generic phy
framework
- fixed the example in the documentation
6) phy: Add support for S5PV210 to the Exynos USB PHY driver
- include files cleanup
- use BIT(x) macro instead of (1 << x)
7) phy: Add Exynos 5250 support to the Exynos USB 2.0 PHY driver
- include files cleanup
- use BIT(x) macro instead of (1 << x)
8) dts: Add usb2phy to Exynos 4
- no changes
9) dts: Add usb2phy to Exynos 5250
- no changes
----------------
Changes from v3:
- using PMU and system registers indirectly via syscon
- change labelling
- change Kconfig name
- fixed typos/stray whitespace
- move of_phy_provider_register() to the end of probe
- add a regular error return code to the rate_to_clk functions
- cleanup code and remove unused code
- change struct names to avoid collisions
- add mechanism to support multiple phys by the ehci driver
----------------
Changes from v2:
- rebase all patches to the usb-next branch
- fixes in the documentation file
- remove wrong entries in the phy node (ranges, and #address- & #size-cells)
- add clocks and clock-names as required properites
- rephrase a few sentences
- fixes in the ehci-exynos.c file
- move phy_name variable next to phy in exynos_ehci_hcd
- remove otg from exynos_ehci_hcd as it was no longer used
- move devm_phy_get after the Exynos5440 skip_phy check
- fixes in the s3c-hsotg.c file
- cosmetic fixes (remove empty line that was wrongfully added)
- fixes in the main driver
- remove cpu_type in favour for a boolean flag matched with the compatible
value
- rename files, structures, variables and Kconfig entires - change from simple
"uphy" to "usb2_phy"
- fix multiline comments style
- simplify #ifdefs in of_device_id
- fix Kconfig description
- change dev_info to dev_dbg where reasonable
- cosmetic changes (remove wrongful blank lines)
- remove unnecessary reference counting
----------------
Changes from v1:
- the changes include minor fixes of the hardware initialization of the PHY
module
- some other minor fixes were introduced
----------------------
Original cover letter:
Hi,
This patch adds a new drive for USB PHYs for Samsung SoCs. The driver is
using the Generic PHY Framework created by Kishon Vijay Abrahan I. It
can be found here https://lkml.org/lkml/2013/8/21/29. This patch adds
support to Exynos4 family of SoCs. Support for Exynos3 and Exynos5 is
planned to be added in the near future.
I welcome your comments.
----------------------
Kamil Debski (4):
phy: core: Add an exported of_phy_get function
phy: core: Add devm_of_phy_get to phy-core
phy: Add new Exynos USB 2.0 PHY driver
phy: Add Exynos 5250 support to the Exynos USB 2.0 PHY driver
.../devicetree/bindings/phy/samsung-phy.txt | 54 +++
Documentation/phy/samsung-usb2.txt | 135 +++++++
drivers/phy/Kconfig | 40 ++
drivers/phy/Makefile | 4 +
drivers/phy/phy-core.c | 76 +++-
drivers/phy/phy-exynos4210-usb2.c | 261 +++++++++++++
drivers/phy/phy-exynos4x12-usb2.c | 328 ++++++++++++++++
drivers/phy/phy-exynos5250-usb2.c | 404 ++++++++++++++++++++
drivers/phy/phy-samsung-usb2.c | 228 +++++++++++
drivers/phy/phy-samsung-usb2.h | 67 ++++
include/linux/phy/phy.h | 14 +
11 files changed, 1602 insertions(+), 9 deletions(-)
create mode 100644 Documentation/phy/samsung-usb2.txt
create mode 100644 drivers/phy/phy-exynos4210-usb2.c
create mode 100644 drivers/phy/phy-exynos4x12-usb2.c
create mode 100644 drivers/phy/phy-exynos5250-usb2.c
create mode 100644 drivers/phy/phy-samsung-usb2.c
create mode 100644 drivers/phy/phy-samsung-usb2.h
--
1.7.9.5
next reply other threads:[~2014-03-06 11:17 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-06 11:16 Kamil Debski [this message]
2014-03-06 11:16 ` [PATCH v10 1/4] phy: core: Add an exported of_phy_get function Kamil Debski
2014-03-07 19:34 ` Tobias Jakobi
2014-03-06 11:16 ` [PATCH v10 2/4] phy: core: Add devm_of_phy_get to phy-core Kamil Debski
2014-03-07 19:34 ` Tobias Jakobi
2014-03-08 7:22 ` Kishon Vijay Abraham I
2014-03-06 11:16 ` [PATCH v10 3/4] phy: Add new Exynos USB 2.0 PHY driver Kamil Debski
2014-03-07 19:35 ` Tobias Jakobi
2014-03-06 11:16 ` [PATCH v10 4/4] phy: Add Exynos 5250 support to the " Kamil Debski
2014-03-07 19:36 ` Tobias Jakobi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1394104609-28242-1-git-send-email-k.debski@samsung.com \
--to=k.debski@samsung.com \
--cc=av.tikhomirov@samsung.com \
--cc=devicetree@vger.kernel.org \
--cc=galak@codeaurora.org \
--cc=gautam.vivek@samsung.com \
--cc=jg1.han@samsung.com \
--cc=kishon@ti.com \
--cc=kyungmin.park@samsung.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=m.szyprowski@samsung.com \
--cc=mat.krawczuk@gmail.com \
--cc=matt.porter@linaro.org \
--cc=p.paneri@samsung.com \
--cc=s.nawrocki@samsung.com \
--cc=sander@humilis.net \
--cc=stern@rowland.harvard.edu \
--cc=t.figa@samsung.com \
--cc=tjakobi@math.uni-bielefeld.de \
--cc=yulgon.kim@samsung.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®